Skip to content

Commit 05b3d26

Browse files
authored
[clang][RISCV] Bump RVV intrinsic to version 1.0 (#116597)
The spec: https://github.com/riscv-non-isa/rvv-intrinsic-doc/releases/tag/v1.0.0-rc4 Also remove __riscv_v_intrinsic_overloading since it's no longer in spec, the overloading intrinsics should be also enabled when RVV intrinsics are defined.
1 parent b71038a commit 05b3d26

File tree

4 files changed

+9
-10
lines changed

4 files changed

+9
-10
lines changed

clang/docs/ReleaseNotes.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -852,6 +852,7 @@ RISC-V Support
852852
^^^^^^^^^^^^^^
853853

854854
- The option ``-mcmodel=large`` for the large code model is supported.
855+
- Bump RVV intrinsic to version 1.0, the spec: https://github.com/riscv-non-isa/rvv-intrinsic-doc/releases/tag/v1.0.0-rc4
855856

856857
CUDA/HIP Language Changes
857858
^^^^^^^^^^^^^^^^^^^^^^^^^

clang/lib/Basic/Targets/RISCV.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -218,8 +218,8 @@ void RISCVTargetInfo::getTargetDefines(const LangOptions &Opts,
218218

219219
if (ISAInfo->hasExtension("zve32x")) {
220220
Builder.defineMacro("__riscv_vector");
221-
// Currently we support the v0.12 RISC-V V intrinsics.
222-
Builder.defineMacro("__riscv_v_intrinsic", Twine(getVersionValue(0, 12)));
221+
// Currently we support the v1.0 RISC-V V intrinsics.
222+
Builder.defineMacro("__riscv_v_intrinsic", Twine(getVersionValue(1, 0)));
223223
}
224224

225225
auto VScale = getVScaleRange(Opts);

clang/test/Preprocessor/riscv-target-features.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -536,7 +536,7 @@
536536
// CHECK-V-EXT: __riscv_v 1000000{{$}}
537537
// CHECK-V-EXT: __riscv_v_elen 64
538538
// CHECK-V-EXT: __riscv_v_elen_fp 64
539-
// CHECK-V-EXT: __riscv_v_intrinsic 12000{{$}}
539+
// CHECK-V-EXT: __riscv_v_intrinsic 1000000{{$}}
540540
// CHECK-V-EXT: __riscv_v_min_vlen 128
541541
// CHECK-V-EXT: __riscv_vector 1
542542

@@ -1244,7 +1244,7 @@
12441244
// RUN: -o - | FileCheck --check-prefix=CHECK-ZVE32F-EXT %s
12451245
// CHECK-ZVE32F-EXT: __riscv_v_elen 32
12461246
// CHECK-ZVE32F-EXT: __riscv_v_elen_fp 32
1247-
// CHECK-ZVE32F-EXT: __riscv_v_intrinsic 12000{{$}}
1247+
// CHECK-ZVE32F-EXT: __riscv_v_intrinsic 1000000{{$}}
12481248
// CHECK-ZVE32F-EXT: __riscv_v_min_vlen 32
12491249
// CHECK-ZVE32F-EXT: __riscv_vector 1
12501250
// CHECK-ZVE32F-EXT: __riscv_zve32f 1000000{{$}}
@@ -1258,7 +1258,7 @@
12581258
// RUN: -o - | FileCheck --check-prefix=CHECK-ZVE32X-EXT %s
12591259
// CHECK-ZVE32X-EXT: __riscv_v_elen 32
12601260
// CHECK-ZVE32X-EXT: __riscv_v_elen_fp 0
1261-
// CHECK-ZVE32X-EXT: __riscv_v_intrinsic 12000{{$}}
1261+
// CHECK-ZVE32X-EXT: __riscv_v_intrinsic 1000000{{$}}
12621262
// CHECK-ZVE32X-EXT: __riscv_v_min_vlen 32
12631263
// CHECK-ZVE32X-EXT: __riscv_vector 1
12641264
// CHECK-ZVE32X-EXT: __riscv_zve32x 1000000{{$}}
@@ -1271,7 +1271,7 @@
12711271
// RUN: -o - | FileCheck --check-prefix=CHECK-ZVE64D-EXT %s
12721272
// CHECK-ZVE64D-EXT: __riscv_v_elen 64
12731273
// CHECK-ZVE64D-EXT: __riscv_v_elen_fp 64
1274-
// CHECK-ZVE64D-EXT: __riscv_v_intrinsic 12000{{$}}
1274+
// CHECK-ZVE64D-EXT: __riscv_v_intrinsic 1000000{{$}}
12751275
// CHECK-ZVE64D-EXT: __riscv_v_min_vlen 64
12761276
// CHECK-ZVE64D-EXT: __riscv_vector 1
12771277
// CHECK-ZVE64D-EXT: __riscv_zve32f 1000000{{$}}
@@ -1288,7 +1288,7 @@
12881288
// RUN: -o - | FileCheck --check-prefix=CHECK-ZVE64F-EXT %s
12891289
// CHECK-ZVE64F-EXT: __riscv_v_elen 64
12901290
// CHECK-ZVE64F-EXT: __riscv_v_elen_fp 32
1291-
// CHECK-ZVE64F-EXT: __riscv_v_intrinsic 12000{{$}}
1291+
// CHECK-ZVE64F-EXT: __riscv_v_intrinsic 1000000{{$}}
12921292
// CHECK-ZVE64F-EXT: __riscv_v_min_vlen 64
12931293
// CHECK-ZVE64F-EXT: __riscv_vector 1
12941294
// CHECK-ZVE64F-EXT: __riscv_zve32f 1000000{{$}}
@@ -1304,7 +1304,7 @@
13041304
// RUN: -o - | FileCheck --check-prefix=CHECK-ZVE64X-EXT %s
13051305
// CHECK-ZVE64X-EXT: __riscv_v_elen 64
13061306
// CHECK-ZVE64X-EXT: __riscv_v_elen_fp 0
1307-
// CHECK-ZVE64X-EXT: __riscv_v_intrinsic 12000{{$}}
1307+
// CHECK-ZVE64X-EXT: __riscv_v_intrinsic 1000000{{$}}
13081308
// CHECK-ZVE64X-EXT: __riscv_v_min_vlen 64
13091309
// CHECK-ZVE64X-EXT: __riscv_vector 1
13101310
// CHECK-ZVE64X-EXT: __riscv_zve32x 1000000{{$}}

clang/utils/TableGen/RISCVVEmitter.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -488,8 +488,6 @@ void RVVEmitter::createHeader(raw_ostream &OS) {
488488
}
489489
}
490490

491-
OS << "#define __riscv_v_intrinsic_overloading 1\n";
492-
493491
OS << "\n#ifdef __cplusplus\n";
494492
OS << "}\n";
495493
OS << "#endif // __cplusplus\n";

0 commit comments

Comments
 (0)