Seems CI still fail: https://github.com/ewlu/gcc-precommit-ci/issues/3282#issue-3030037257
Executing on host: /home/ewlu/precommit-08/_work/gcc-precommit-ci/gcc-precommit-ci/riscv-gnu-toolchain/build/build-gcc-newlib-stage2/gcc/xgcc -B/home/ewlu/pre commit-08/_work/gcc-precommit-ci/gcc-precommit-ci/riscv-gnu-toolchain/build/build-gcc-newlib-stage2/gcc/ /home/ewlu/precommit-08/_work/gcc-precommit-ci/gcc-p recommit-ci/riscv-gnu-toolchain/gcc/gcc/testsuite/gcc.target/riscv/predef-19.c -march=rv32gc -mabi=ilp32d -mcmodel=medlow -fdiagnostics-plain-output -O0 -O2 -march=rv64i_zve32x -mabi=lp64 -mcmodel=medlow -misa-spec=2.2 -S -o predef-19.s (timeout = 600) spawn -ignore SIGHUP /home/ewlu/precommit-08/_work/gcc-precommit-ci/gcc-precommit-ci/riscv-gnu-toolchain/build/build-gcc-newlib-stage2/gcc/xgcc -B/home/ewlu/p recommit-08/_work/gcc-precommit-ci/gcc-precommit-ci/riscv-gnu-toolchain/build/build-gcc-newlib-stage2/gcc/ /home/ewlu/precommit-08/_work/gcc-precommit-ci/gcc- precommit-ci/riscv-gnu-toolchain/gcc/gcc/testsuite/gcc.target/riscv/predef-19.c -march=rv32gc -mabi=ilp32d -mcmodel=medlow -fdiagnostics-plain-output -O0 -O2 -march=rv64i_zve32x -mabi=lp64 -mcmodel=medlow -misa-spec=2.2 -S -o predef-19.s cc1: sorry, unimplemented: Currently the 'V' implementation requires the 'M' extension compiler exited with status 1 FAIL: gcc.target/riscv/predef-19.c -O0 (test for excess errors) Excess errors: cc1: sorry, unimplemented: Currently the 'V' implementation requires the 'M' extension On Wed, Apr 30, 2025 at 11:05 AM Jerry Zhang Jian <jerry.zhangj...@sifive.com> wrote: > > The Zve32x extension depends on the Zicsr extension. > Currently, enabling Zve32x alone does not automatically imply Zicsr in GCC. > > gcc/ChangeLog: > * common/config/riscv/riscv-common.cc: Add Zve32x depends on Zicsr > > gcc/testsuite/ChangeLog: > * gcc.target/riscv/predef-19.c: set the march to rv64i_zve32x > instead of rv64gc_zve32x to avoid Zicsr implied by g > > Signed-off-by: Jerry Zhang Jian <jerry.zhangj...@sifive.com> > --- > gcc/common/config/riscv/riscv-common.cc | 1 + > gcc/testsuite/gcc.target/riscv/predef-19.c | 34 ++-------------------- > 2 files changed, 4 insertions(+), 31 deletions(-) > > diff --git a/gcc/common/config/riscv/riscv-common.cc > b/gcc/common/config/riscv/riscv-common.cc > index 15df22d5377..145a0f2bd95 100644 > --- a/gcc/common/config/riscv/riscv-common.cc > +++ b/gcc/common/config/riscv/riscv-common.cc > @@ -137,6 +137,7 @@ static const riscv_implied_info_t riscv_implied_info[] = > {"zve64f", "f"}, > {"zve64d", "d"}, > > + {"zve32x", "zicsr"}, > {"zve32x", "zvl32b"}, > {"zve32f", "zve32x"}, > {"zve32f", "zvl32b"}, > diff --git a/gcc/testsuite/gcc.target/riscv/predef-19.c > b/gcc/testsuite/gcc.target/riscv/predef-19.c > index 2b90702192b..c2e12b6040c 100644 > --- a/gcc/testsuite/gcc.target/riscv/predef-19.c > +++ b/gcc/testsuite/gcc.target/riscv/predef-19.c > @@ -1,5 +1,5 @@ > /* { dg-do compile } */ > -/* { dg-options "-O2 -march=rv64gc_zve32x -mabi=lp64d -mcmodel=medlow > -misa-spec=2.2" } */ > +/* { dg-options "-O2 -march=rv64i_zve32x -mabi=lp64 -mcmodel=medlow > -misa-spec=2.2" } */ > > int main () { > > @@ -15,40 +15,12 @@ int main () { > #error "__riscv_i" > #endif > > -#if !defined(__riscv_c) > -#error "__riscv_c" > -#endif > - > #if defined(__riscv_e) > #error "__riscv_e" > #endif > > -#if !defined(__riscv_a) > -#error "__riscv_a" > -#endif > - > -#if !defined(__riscv_m) > -#error "__riscv_m" > -#endif > - > -#if !defined(__riscv_f) > -#error "__riscv_f" > -#endif > - > -#if !defined(__riscv_d) > -#error "__riscv_d" > -#endif > - > -#if defined(__riscv_v) > -#error "__riscv_v" > -#endif > - > -#if defined(__riscv_zvl128b) > -#error "__riscv_zvl128b" > -#endif > - > -#if defined(__riscv_zvl64b) > -#error "__riscv_zvl64b" > +#if !defined(__riscv_zicsr) > +#error "__riscv_zicsr" > #endif > > #if !defined(__riscv_zvl32b) > -- > 2.49.0 >