Commit 9ddd44b58649d1d ("RISC-V: Provide `fmin'/`fmax' RTL pattern") added tests which check for hard float instructions which obviously fails on soft-float ABI builds.
And my recent commit b646d7d279ae ("RISC-V: Inhibit FP <--> int register moves via tune param") is guilty of same crime. So constraint with "dg-require-effective-target hard_float" This reduces bunch of new RV failures. | ========= Summary of gcc testsuite ========= | | # of unexpected case / # of unique unexpected case | | gcc | g++ | gfortran | | rv64imac/ lp64/ medlow | 134 / 22 | 0 / 0 | - | BEFORE | rv64imac/ lp64/ medlow | 22 / 9 | 0 / 0 | - | AFTER | gcc/testsuite/Changelog: * gcc.target/riscv/fmax.c: Add dg-require-effective-target hard_float. * gcc.target/riscv/fmaxf.c: Ditto. * gcc.target/riscv/fmin.c: Ditto. * gcc.target/riscv/fminf.c: Ditto. * gcc.target/riscv/smax-ieee.c: Ditto. * gcc.target/riscv/smax.c: Ditto. * gcc.target/riscv/smaxf-ieee.c: Ditto. * gcc.target/riscv/smaxf.c: Ditto. * gcc.target/riscv/smin-ieee.c: Ditto. * gcc.target/riscv/smin.c: Ditto. * gcc.target/riscv/sminf-ieee.c: Ditto. * gcc.target/riscv/sminf.c: Ditto. * gcc.target/riscv/pr105666.c: Ditto. Signed-off-by: Vineet Gupta <vine...@rivosinc.com> --- v3: Added fix to pr105666.c as well. v2: Fixed the SoB snafu in v1 --- gcc/testsuite/gcc.target/riscv/fmax.c | 1 + gcc/testsuite/gcc.target/riscv/fmaxf.c | 1 + gcc/testsuite/gcc.target/riscv/fmin.c | 1 + gcc/testsuite/gcc.target/riscv/fminf.c | 1 + gcc/testsuite/gcc.target/riscv/pr105666.c | 1 + gcc/testsuite/gcc.target/riscv/smax-ieee.c | 1 + gcc/testsuite/gcc.target/riscv/smax.c | 1 + gcc/testsuite/gcc.target/riscv/smaxf-ieee.c | 1 + gcc/testsuite/gcc.target/riscv/smaxf.c | 1 + gcc/testsuite/gcc.target/riscv/smin-ieee.c | 1 + gcc/testsuite/gcc.target/riscv/smin.c | 1 + gcc/testsuite/gcc.target/riscv/sminf-ieee.c | 1 + gcc/testsuite/gcc.target/riscv/sminf.c | 1 + 13 files changed, 13 insertions(+) diff --git a/gcc/testsuite/gcc.target/riscv/fmax.c b/gcc/testsuite/gcc.target/riscv/fmax.c index c71d35c9f9dc..e1b7fa8f918c 100644 --- a/gcc/testsuite/gcc.target/riscv/fmax.c +++ b/gcc/testsuite/gcc.target/riscv/fmax.c @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target hard_float } */ /* { dg-options "-fno-finite-math-only -fsigned-zeros -fno-signaling-nans -dp" } */ double diff --git a/gcc/testsuite/gcc.target/riscv/fmaxf.c b/gcc/testsuite/gcc.target/riscv/fmaxf.c index f9980166887a..8da0513dc8f6 100644 --- a/gcc/testsuite/gcc.target/riscv/fmaxf.c +++ b/gcc/testsuite/gcc.target/riscv/fmaxf.c @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target hard_float } */ /* { dg-options "-fno-finite-math-only -fsigned-zeros -fno-signaling-nans -dp" } */ float diff --git a/gcc/testsuite/gcc.target/riscv/fmin.c b/gcc/testsuite/gcc.target/riscv/fmin.c index 9634abd19af8..01993d49bc21 100644 --- a/gcc/testsuite/gcc.target/riscv/fmin.c +++ b/gcc/testsuite/gcc.target/riscv/fmin.c @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target hard_float } */ /* { dg-options "-fno-finite-math-only -fsigned-zeros -fno-signaling-nans -dp" } */ double diff --git a/gcc/testsuite/gcc.target/riscv/fminf.c b/gcc/testsuite/gcc.target/riscv/fminf.c index 9a3687be3092..32ce363e10d8 100644 --- a/gcc/testsuite/gcc.target/riscv/fminf.c +++ b/gcc/testsuite/gcc.target/riscv/fminf.c @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target hard_float } */ /* { dg-options "-fno-finite-math-only -fsigned-zeros -fno-signaling-nans -dp" } */ float diff --git a/gcc/testsuite/gcc.target/riscv/pr105666.c b/gcc/testsuite/gcc.target/riscv/pr105666.c index 904f3bc0763f..dd996eec8efc 100644 --- a/gcc/testsuite/gcc.target/riscv/pr105666.c +++ b/gcc/testsuite/gcc.target/riscv/pr105666.c @@ -6,6 +6,7 @@ spilling to stack. */ /* { dg-do compile } */ +/* { dg-require-effective-target hard_float } */ /* { dg-options "-march=rv64g -ffast-math" } */ #define NITER 4 diff --git a/gcc/testsuite/gcc.target/riscv/smax-ieee.c b/gcc/testsuite/gcc.target/riscv/smax-ieee.c index 3a98aeb45add..2dbccefe2f4d 100644 --- a/gcc/testsuite/gcc.target/riscv/smax-ieee.c +++ b/gcc/testsuite/gcc.target/riscv/smax-ieee.c @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target hard_float } */ /* { dg-options "-ffinite-math-only -fsigned-zeros -dp" } */ double diff --git a/gcc/testsuite/gcc.target/riscv/smax.c b/gcc/testsuite/gcc.target/riscv/smax.c index d806c632faed..1092cc49f25e 100644 --- a/gcc/testsuite/gcc.target/riscv/smax.c +++ b/gcc/testsuite/gcc.target/riscv/smax.c @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target hard_float } */ /* { dg-options "-ffinite-math-only -fno-signed-zeros -dp" } */ double diff --git a/gcc/testsuite/gcc.target/riscv/smaxf-ieee.c b/gcc/testsuite/gcc.target/riscv/smaxf-ieee.c index 6cf23d789b6e..31b9bfa4d91e 100644 --- a/gcc/testsuite/gcc.target/riscv/smaxf-ieee.c +++ b/gcc/testsuite/gcc.target/riscv/smaxf-ieee.c @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target hard_float } */ /* { dg-options "-ffinite-math-only -fsigned-zeros -dp" } */ float diff --git a/gcc/testsuite/gcc.target/riscv/smaxf.c b/gcc/testsuite/gcc.target/riscv/smaxf.c index d6a7a7f84cf7..aa1f22b45a17 100644 --- a/gcc/testsuite/gcc.target/riscv/smaxf.c +++ b/gcc/testsuite/gcc.target/riscv/smaxf.c @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target hard_float } */ /* { dg-options "-ffinite-math-only -fno-signed-zeros -dp" } */ float diff --git a/gcc/testsuite/gcc.target/riscv/smin-ieee.c b/gcc/testsuite/gcc.target/riscv/smin-ieee.c index c0a148c37cf1..ea36c2de89fe 100644 --- a/gcc/testsuite/gcc.target/riscv/smin-ieee.c +++ b/gcc/testsuite/gcc.target/riscv/smin-ieee.c @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target hard_float } */ /* { dg-options "-ffinite-math-only -fsigned-zeros -dp" } */ double diff --git a/gcc/testsuite/gcc.target/riscv/smin.c b/gcc/testsuite/gcc.target/riscv/smin.c index e325e9a1c7cc..d07a0fdc1525 100644 --- a/gcc/testsuite/gcc.target/riscv/smin.c +++ b/gcc/testsuite/gcc.target/riscv/smin.c @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target hard_float } */ /* { dg-options "-ffinite-math-only -fno-signed-zeros -dp" } */ double diff --git a/gcc/testsuite/gcc.target/riscv/sminf-ieee.c b/gcc/testsuite/gcc.target/riscv/sminf-ieee.c index 353e7a18704a..427617af08f1 100644 --- a/gcc/testsuite/gcc.target/riscv/sminf-ieee.c +++ b/gcc/testsuite/gcc.target/riscv/sminf-ieee.c @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target hard_float } */ /* { dg-options "-ffinite-math-only -fsigned-zeros -dp" } */ float diff --git a/gcc/testsuite/gcc.target/riscv/sminf.c b/gcc/testsuite/gcc.target/riscv/sminf.c index f0ba7b43bdf9..7df223e8bcad 100644 --- a/gcc/testsuite/gcc.target/riscv/sminf.c +++ b/gcc/testsuite/gcc.target/riscv/sminf.c @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target hard_float } */ /* { dg-options "-ffinite-math-only -fno-signed-zeros -dp" } */ float -- 2.32.0