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
>

Reply via email to