The current test value check is incorrect which is exposed on -march=rv64gcv_zvl256b
Confirm on X86 also abort: [jzzhong@rios-cad121:/work/home/jzzhong/work/insn]$./a.out ------33.000000,4078.000000,45001776.000000,63369904.000000--- Aborted (core dumped) Adapt the value check according to X86 result. Pushed as it is obvious. gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/autovec/reduc/reduc_run-9.c: Fix bug. --- .../gcc.target/riscv/rvv/autovec/reduc/reduc_run-9.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/reduc/reduc_run-9.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/reduc/reduc_run-9.c index a0d59040ce8..0f95e61ee47 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/reduc/reduc_run-9.c +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/reduc/reduc_run-9.c @@ -1,5 +1,4 @@ /* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "--param=riscv-autovec-preference=scalable -ffast-math -fno-vect-cost-model" } */ #define N 0x1100 @@ -14,8 +13,8 @@ main (void) if (add_loop (x, 0, 33) != 33 || add_loop (x, 11, 30) != 4078 - || add_loop (x, 0x100, 45) != 45001773 - || add_loop (x, 0x11f, 300) != 63369900) + || add_loop (x, 0x100, 45) != 45001776 + || add_loop (x, 0x11f, 300) != 63369904) __builtin_abort (); return 0; -- 2.36.3