[committed][RISC-V] Testsuite adjustments after recent threading change
Jeffrey Law <[email protected]>
| Newsgroups | gmane.comp.gcc.patches |
|---|---|
| Message-ID | <[email protected]> |
The recent changes to the threader are causing us to pick up threads that were previously missed/ignored. Those threads change the structure of the loops and result in additional rounding mode changes (outside the loop). I'm not 100% convinced the change is profitable for these cases, but regardless this turns off the threader so that the tests continue to check for the basic behavior of tracking rounding modes. Verified this fixes the recent regressions on riscv32-elf and riscv64-elf. Pushing to the trunk. jeff
riscv-testsuite.patch
(text/plain, 10.3 KB)
commit 5b648c42c11d243c7a93492c46dfd20b174294a8 Author: Jeff Law <[email protected]> Date: Tue Aug 18 09:21:26 2026 -0600 [RISC-V] Testsuite adjustments after recent threading change The recent changes to the threader are causing us to pick up threads that were previously missed/ignored. Those threads change the structure of the loops and result in additional rounding mode changes (outside the loop). I'm not 100% convinced the change is profitable for these cases, but regardless this turns off the threader so that the tests continue to check for the basic behavior of tracking rounding modes. Verified this fixes the recent regressions on riscv32-elf and riscv64-elf. Pushing to the trunk. gcc/testsuite * gcc.target/riscv/rvv/base/float-point-dynamic-frm-12.c: Disable jump threading. * gcc.target/riscv/rvv/base/float-point-dynamic-frm-13.c: Likewise. * gcc.target/riscv/rvv/base/float-point-dynamic-frm-14.c: Likewise. * gcc.target/riscv/rvv/base/float-point-dynamic-frm-15.c: Likewise. * gcc.target/riscv/rvv/base/float-point-dynamic-frm-48.c: Likewise. * gcc.target/riscv/rvv/base/float-point-dynamic-frm-49.c: Likewise. * gcc.target/riscv/rvv/base/float-point-dynamic-frm-50.c: Likewise. * gcc.target/riscv/rvv/base/float-point-dynamic-frm-52.c: Likewise. * gcc.target/riscv/rvv/base/float-point-dynamic-frm-54.c: Likewise. * gcc.target/riscv/rvv/base/float-point-dynamic-frm-55.c: Likewise. * gcc.target/riscv/rvv/base/float-point-dynamic-frm-57.c: Likewise. * gcc.target/riscv/rvv/base/float-point-dynamic-frm-58.c: Likewise. * gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-39.c: Likewise. * gcc.target/riscv/rvv/vsetvl/vlmax_complex_loop-2.c: Likewise. * gcc.target/riscv/rvv/vsetvl/vlmax_conflict-13.c: Likewise. diff --git a/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-12.c b/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-12.c index 320332974ed..99b2b3befe8 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-12.c +++ b/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-12.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-march=rv64gcv -mabi=lp64 -O3" } */ +/* { dg-options "-march=rv64gcv -mabi=lp64 -O3 -fno-thread-jumps" } */ #include "riscv_vector.h" diff --git a/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-13.c b/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-13.c index 1216793425a..57cad049e0c 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-13.c +++ b/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-13.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-march=rv64gcv -mabi=lp64 -O3" } */ +/* { dg-options "-march=rv64gcv -mabi=lp64 -O3 -fno-thread-jumps" } */ #include "riscv_vector.h" diff --git a/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-14.c b/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-14.c index d84e4704f47..c1e65d3ed44 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-14.c +++ b/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-14.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-march=rv64gcv -mabi=lp64 -O3" } */ +/* { dg-options "-march=rv64gcv -mabi=lp64 -O3 -fno-thread-jumps" } */ #include "riscv_vector.h" diff --git a/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-15.c b/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-15.c index 3a75398a4d9..e2d671014e4 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-15.c +++ b/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-15.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-march=rv64gcv -mabi=lp64 -O3" } */ +/* { dg-options "-march=rv64gcv -mabi=lp64 -O3 -fno-thread-jumps" } */ #include "riscv_vector.h" diff --git a/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-48.c b/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-48.c index 3b8fb158286..7e578427350 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-48.c +++ b/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-48.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-march=rv64gcv -mabi=lp64 -O3 -fno-unroll-loops" } */ +/* { dg-options "-march=rv64gcv -mabi=lp64 -O3 -fno-unroll-loops -fno-thread-jumps" } */ #include "riscv_vector.h" diff --git a/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-49.c b/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-49.c index b2cbbd7b0f4..b58486f034c 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-49.c +++ b/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-49.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-march=rv64gcv -mabi=lp64 -O3 -fno-unroll-loops" } */ +/* { dg-options "-march=rv64gcv -mabi=lp64 -O3 -fno-unroll-loops -fno-thread-jumps" } */ #include "riscv_vector.h" diff --git a/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-50.c b/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-50.c index f8d7c77497a..62e23b6769b 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-50.c +++ b/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-50.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-march=rv64gcv -mabi=lp64 -O3 -fno-unroll-loops" } */ +/* { dg-options "-march=rv64gcv -mabi=lp64 -O3 -fno-unroll-loops -fno-thread-jumps" } */ #include "riscv_vector.h" diff --git a/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-52.c b/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-52.c index 1579392fa18..3721fb1f203 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-52.c +++ b/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-52.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-march=rv64gcv -mabi=lp64 -O3 -fno-unroll-loops" } */ +/* { dg-options "-march=rv64gcv -mabi=lp64 -O3 -fno-unroll-loops -fno-thread-jumps" } */ #include "riscv_vector.h" diff --git a/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-54.c b/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-54.c index be569b9cc34..20fb44e3c1e 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-54.c +++ b/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-54.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-march=rv64gcv -mabi=lp64 -O3" } */ +/* { dg-options "-march=rv64gcv -mabi=lp64 -O3 -fno-thread-jumps" } */ #include "riscv_vector.h" diff --git a/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-55.c b/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-55.c index efbc59b45f7..12198f2ce92 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-55.c +++ b/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-55.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-march=rv64gcv -mabi=lp64 -O3" } */ +/* { dg-options "-march=rv64gcv -mabi=lp64 -O3 -fno-thread-jumps" } */ #include "riscv_vector.h" diff --git a/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-57.c b/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-57.c index d4b5ed0bae7..eb700c2fa0e 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-57.c +++ b/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-57.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-march=rv64gcv -mabi=lp64 -O3" } */ +/* { dg-options "-march=rv64gcv -mabi=lp64 -O3 -fno-thread-jumps" } */ #include "riscv_vector.h" diff --git a/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-58.c b/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-58.c index d6568321dfc..6247ff9be76 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-58.c +++ b/gcc/testsuite/gcc.target/riscv/rvv/base/float-point-dynamic-frm-58.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-march=rv64gcv -mabi=lp64 -O3" } */ +/* { dg-options "-march=rv64gcv -mabi=lp64 -O3 -fno-thread-jumps" } */ #include "riscv_vector.h" diff --git a/gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-39.c b/gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-39.c index 950c0f6dbf4..a503db4e684 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-39.c +++ b/gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_back_prop-39.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-mrvv-vector-bits=scalable -march=rv32gcv -mabi=ilp32 -fno-tree-vectorize" } */ +/* { dg-options "-mrvv-vector-bits=scalable -march=rv32gcv -mabi=ilp32 -fno-tree-vectorize -fno-thread-jumps" } */ #include "riscv_vector.h" diff --git a/gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_complex_loop-2.c b/gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_complex_loop-2.c index c9bd44799e8..06ab6e53490 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_complex_loop-2.c +++ b/gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_complex_loop-2.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-mrvv-vector-bits=scalable -march=rv32gcv -mabi=ilp32 -fno-tree-vectorize" } */ +/* { dg-options "-mrvv-vector-bits=scalable -march=rv32gcv -mabi=ilp32 -fno-tree-vectorize -fno-thread-jumps" } */ #include "riscv_vector.h" diff --git a/gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_conflict-13.c b/gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_conflict-13.c index 9914507cfa3..32873717216 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_conflict-13.c +++ b/gcc/testsuite/gcc.target/riscv/rvv/vsetvl/vlmax_conflict-13.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-mrvv-vector-bits=scalable -march=rv32gcv -mabi=ilp32 -fno-tree-vectorize -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-options "-mrvv-vector-bits=scalable -march=rv32gcv -mabi=ilp32 -fno-tree-vectorize -fno-schedule-insns -fno-schedule-insns2 -fno-thread-jumps" } */ #include "riscv_vector.h"