Skip to content

Commit 9bba67e

Browse files
committed
[RISCV] Mark the RVA23S64 and RVA23U64 profiles as non-experimental
All of the extensions used by these profile are themselves non-experimental, and RVA23 was just ratified <https://riscv.org/announcements/2024/10/risc-v-announces-ratification-of-the-rva23-profile-standard/>. <https://github.com/riscv/riscv-profiles/blob/main/src/rva23-profile.adoc> We lack a way of expressing `Ss1p13` (supervisor architecture 1.13), but this is a problem we have for RVA22 (Ss1p12) and RVA20 (Ss1p11) so I don't feel it's a blocker.
1 parent 1164bd7 commit 9bba67e

File tree

7 files changed

+18
-17
lines changed

7 files changed

+18
-17
lines changed

clang/test/Driver/print-supported-extensions-riscv.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -191,12 +191,12 @@
191191
// CHECK-NEXT: rva20u64
192192
// CHECK-NEXT: rva22s64
193193
// CHECK-NEXT: rva22u64
194+
// CHECK-NEXT: rva23s64
195+
// CHECK-NEXT: rva23u64
194196
// CHECK-NEXT: rvi20u32
195197
// CHECK-NEXT: rvi20u64
196198
// CHECK-EMPTY:
197199
// CHECK-NEXT: Experimental Profiles
198-
// CHECK-NEXT: rva23s64
199-
// CHECK-NEXT: rva23u64
200200
// CHECK-NEXT: rvb23s64
201201
// CHECK-NEXT: rvb23u64
202202
// CHECK-NEXT: rvm23u32

clang/test/Driver/riscv-profiles.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@
111111
// RVA22S64: "-target-feature" "+svinval"
112112
// RVA22S64: "-target-feature" "+svpbmt"
113113

114-
// RUN: %clang --target=riscv64 -### -c %s 2>&1 -march=rva23u64 -menable-experimental-extensions \
114+
// RUN: %clang --target=riscv64 -### -c %s 2>&1 -march=rva23u64 \
115115
// RUN: | FileCheck -check-prefix=RVA23U64 %s
116116
// RVA23U64: "-target-feature" "+m"
117117
// RVA23U64: "-target-feature" "+a"
@@ -148,7 +148,7 @@
148148
// RVA23U64: "-target-feature" "+zvfhmin"
149149
// RVA23U64: "-target-feature" "+zvkt"
150150

151-
// RUN: %clang --target=riscv64 -### -c %s 2>&1 -march=rva23s64 -menable-experimental-extensions \
151+
// RUN: %clang --target=riscv64 -### -c %s 2>&1 -march=rva23s64 \
152152
// RUN: | FileCheck -check-prefix=RVA23S64 %s
153153
// RVA23S64: "-target-feature" "+m"
154154
// RVA23S64: "-target-feature" "+a"
@@ -323,6 +323,6 @@
323323
// RUN: not %clang --target=riscv64 -### -c %s 2>&1 -march=rva22u64zfa | FileCheck -check-prefix=INVALID-ADDITIONAL %s
324324
// INVALID-ADDITIONAL: error: invalid arch name 'rva22u64zfa', additional extensions must be after separator '_'
325325

326-
// RUN: not %clang --target=riscv64 -### -c %s 2>&1 -march=rva23u64 | FileCheck -check-prefix=EXPERIMENTAL-NOFLAG %s
327-
// EXPERIMENTAL-NOFLAG: error: invalid arch name 'rva23u64'
328-
// EXPERIMENTAL-NOFLAG: requires '-menable-experimental-extensions' for profile 'rva23u64'
326+
// RUN: not %clang --target=riscv32 -### -c %s 2>&1 -march=rvm23u32 | FileCheck -check-prefix=EXPERIMENTAL-NOFLAG %s
327+
// EXPERIMENTAL-NOFLAG: error: invalid arch name 'rvm23u32'
328+
// EXPERIMENTAL-NOFLAG: requires '-menable-experimental-extensions' for profile 'rvm23u32'

llvm/docs/RISCVUsage.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@ ISA naming string. Currently supported profiles:
8282
* ``rva20s64``
8383
* ``rva22u64``
8484
* ``rva22s64``
85+
* ``rva23u64``
86+
* ``rva23s64``
8587

8688
Note that you can also append additional extension names to be enabled, e.g.
8789
``rva20u64_zicond`` will enable the ``zicond`` extension in addition to those
@@ -91,8 +93,6 @@ Profiles that are not yet ratified cannot be used unless
9193
``-menable-experimental-extensions`` (or equivalent for other tools) is
9294
specified. This applies to the following profiles:
9395

94-
* ``rva23u64``
95-
* ``rva23s64``
9696
* ``rvb23u64``
9797
* ``rvb23s64``
9898
* ``rvm23u32``

llvm/docs/ReleaseNotes.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,7 @@ Changes to the RISC-V Backend
184184
* The `Smmpm`, `Smnpm`, `Ssnpm`, `Supm`, and `Sspm` pointer masking extensions
185185
are no longer marked as experimental.
186186
* The `Sha` extension is now supported.
187+
* The RVA23U64 and RVA23S64 profiles are no longer marked as experimental.
187188

188189
Changes to the WebAssembly Backend
189190
----------------------------------

llvm/lib/Target/RISCV/RISCVProfiles.td

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,8 +161,8 @@ def RVA20U64 : RISCVProfile<"rva20u64", RVA20U64Features>;
161161
def RVA20S64 : RISCVProfile<"rva20s64", RVA20S64Features>;
162162
def RVA22U64 : RISCVProfile<"rva22u64", RVA22U64Features>;
163163
def RVA22S64 : RISCVProfile<"rva22s64", RVA22S64Features>;
164-
def RVA23U64 : RISCVExperimentalProfile<"rva23u64", RVA23U64Features>;
165-
def RVA23S64 : RISCVExperimentalProfile<"rva23s64", RVA23S64Features>;
164+
def RVA23U64 : RISCVProfile<"rva23u64", RVA23U64Features>;
165+
def RVA23S64 : RISCVProfile<"rva23s64", RVA23S64Features>;
166166
def RVB23U64 : RISCVExperimentalProfile<"rvb23u64", RVB23U64Features>;
167167
def RVB23S64 : RISCVExperimentalProfile<"rvb23s64", RVB23S64Features>;
168168
def RVM23U32 : RISCVExperimentalProfile<"rvm23u32", RVM23U32Features>;

llvm/test/CodeGen/RISCV/attributes.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -291,8 +291,8 @@
291291
; RUN: llc -mtriple=riscv64 -mattr=+rva20s64 %s -o - | FileCheck --check-prefix=RVA20S64 %s
292292
; RUN: llc -mtriple=riscv64 -mattr=+rva22u64 %s -o - | FileCheck --check-prefix=RVA22U64 %s
293293
; RUN: llc -mtriple=riscv64 -mattr=+rva22s64 %s -o - | FileCheck --check-prefix=RVA22S64 %s
294-
; RUN: llc -mtriple=riscv64 -mattr=+experimental-rva23u64 %s -o - | FileCheck --check-prefix=RVA23U64 %s
295-
; RUN: llc -mtriple=riscv64 -mattr=+experimental-rva23s64 %s -o - | FileCheck --check-prefix=RVA23S64 %s
294+
; RUN: llc -mtriple=riscv64 -mattr=+rva23u64 %s -o - | FileCheck --check-prefix=RVA23U64 %s
295+
; RUN: llc -mtriple=riscv64 -mattr=+rva23s64 %s -o - | FileCheck --check-prefix=RVA23S64 %s
296296
; RUN: llc -mtriple=riscv64 -mattr=+experimental-rvb23u64 %s -o - | FileCheck --check-prefix=RVB23U64 %s
297297
; RUN: llc -mtriple=riscv64 -mattr=+experimental-rvb23s64 %s -o - | FileCheck --check-prefix=RVB23S64 %s
298298
; RUN: llc -mtriple=riscv32 -mattr=+experimental-rvm23u32 %s -o - | FileCheck --check-prefix=RVM23U32 %s

llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -774,8 +774,8 @@ TEST(ParseArchString,
774774
TEST(ParseArchString,
775775
RejectsExperimentalProfilesIfEnableExperimentalExtensionsNotSet) {
776776
EXPECT_EQ(
777-
toString(RISCVISAInfo::parseArchString("rva23u64", false).takeError()),
778-
"requires '-menable-experimental-extensions' for profile 'rva23u64'");
777+
toString(RISCVISAInfo::parseArchString("rvm23u32", false).takeError()),
778+
"requires '-menable-experimental-extensions' for profile 'rvm23u32'");
779779
}
780780

781781
TEST(ToFeatures, IIsDroppedAndExperimentalExtensionsArePrefixed) {
@@ -1136,12 +1136,12 @@ Supported Profiles
11361136
rva20u64
11371137
rva22s64
11381138
rva22u64
1139+
rva23s64
1140+
rva23u64
11391141
rvi20u32
11401142
rvi20u64
11411143
11421144
Experimental Profiles
1143-
rva23s64
1144-
rva23u64
11451145
rvb23s64
11461146
rvb23u64
11471147
rvm23u32

0 commit comments

Comments
 (0)