Hehe, you are late a little bit, let rewrite this with riscv-ext.def
On Tue, May 13, 2025 at 11:56 AM Jiawei <jia...@iscas.ac.cn> wrote: > > The augmented hypervisor series extensions 'sha'[1] is a new profile-defined > extension series that captures the full set of features that are mandated to > be supported along with the 'H' extension. > > [1] > https://github.com/riscv/riscv-profiles/blob/main/src/rva23-profile.adoc#rva23s64-profile > > gcc/ChangeLog: > > * common/config/riscv/riscv-common.cc: New extensions. > > gcc/testsuite/ChangeLog: > > * gcc.target/riscv/arch-55.c: New test. > > --- > gcc/common/config/riscv/riscv-common.cc | 17 +++++++++++++++++ > gcc/testsuite/gcc.target/riscv/arch-55.c | 9 +++++++++ > 2 files changed, 26 insertions(+) > create mode 100644 gcc/testsuite/gcc.target/riscv/arch-55.c > > diff --git a/gcc/common/config/riscv/riscv-common.cc > b/gcc/common/config/riscv/riscv-common.cc > index d3240f79240..8a2e22a1d57 100644 > --- a/gcc/common/config/riscv/riscv-common.cc > +++ b/gcc/common/config/riscv/riscv-common.cc > @@ -254,6 +254,15 @@ static const riscv_implied_info_t riscv_implied_info[] = > return false; > }}, > > + {"sha", "h"}, > + {"sha", "shcounterenw"}, > + {"sha", "shgatpa"}, > + {"sha", "shtvala"}, > + {"sha", "shvstvala"}, > + {"sha", "shvstvecd"}, > + {"sha", "shvsatpa"}, > + {"sha", "ssstateen"}, > + > {"smaia", "ssaia"}, > {"smstateen", "ssstateen"}, > {"smepmp", "zicsr"}, > @@ -451,6 +460,14 @@ static const struct riscv_ext_version > riscv_ext_version_table[] = > > {"sdtrig", ISA_SPEC_CLASS_NONE, 1, 0}, > > + {"sha", ISA_SPEC_CLASS_NONE, 1, 0}, > + {"shcounterenw", ISA_SPEC_CLASS_NONE, 1, 0}, > + {"shgatpa", ISA_SPEC_CLASS_NONE, 1, 0}, > + {"shtvala", ISA_SPEC_CLASS_NONE, 1, 0}, > + {"shvsatpa", ISA_SPEC_CLASS_NONE, 1, 0}, > + {"shvstvala", ISA_SPEC_CLASS_NONE, 1, 0}, > + {"shvstvecd", ISA_SPEC_CLASS_NONE, 1, 0}, > + > {"smaia", ISA_SPEC_CLASS_NONE, 1, 0}, > {"smepmp", ISA_SPEC_CLASS_NONE, 1, 0}, > {"smstateen", ISA_SPEC_CLASS_NONE, 1, 0}, > diff --git a/gcc/testsuite/gcc.target/riscv/arch-55.c > b/gcc/testsuite/gcc.target/riscv/arch-55.c > new file mode 100644 > index 00000000000..50461f33946 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/arch-55.c > @@ -0,0 +1,9 @@ > +/* { dg-do compile } */ > +/* { dg-options "-march=rv64g_sha -mabi=lp64d" } */ > + > +void foo(){} > + > +/* { dg-final { scan-assembler ".attribute arch, \"rv64i2p1_m2p0_a2p1_f2p2" > +"_d2p2_h1p0_zicsr2p0_zifencei2p0_zmmul1p0_zaamo1p0_zalrsc1p0_sha1p0" > +"_shcounterenw1p0_shgatpa1p0_shtvala1p0_shvsatpa1p0_shvstvala1p0_shvstvecd1p0" > +"_ssstateen1p0_a1p0\"" } } */ > -- > 2.43.0 >