Message ID | 20220527023636.2224696-1-vineetg@rivosinc.com |
---|---|
State | New |
Headers | show |
Series | [v3] RISC-V/testsuite: constraint some of tests to hard_float | expand |
Committed, thanks! On Fri, May 27, 2022 at 10:37 AM Vineet Gupta <vineetg@rivosinc.com> wrote: > > 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 <vineetg@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 >
On Thu, 26 May 2022, Vineet Gupta wrote: > 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. Sorry to miss it and thank you for the fix! Maciej
On 5/29/22 20:50, Kito Cheng via Gcc-patches wrote: > Committed, thanks! Can this be backported to gcc-12 please. Thx, -Vineet > On Fri, May 27, 2022 at 10:37 AM Vineet Gupta <vineetg@rivosinc.com> wrote: >> >> 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 <vineetg@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 >> >
> On 5/29/22 20:50, Kito Cheng via Gcc-patches wrote: > > Committed, thanks! > > Can this be backported to gcc-12 please. I want to say yes but 9ddd44b58649d1d ("RISC-V: Provide `fmin'/`fmax' RTL pattern") only existing in the trunk, and gcc.target/riscv/pr105666.c part has fixed[1] during backport, anyway that remind me there is another patch for the testcase [1], and back port for that to gcc 12 branch [1] https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=e919fae01b89fa6d7fc742d140bb15dc2600becb;hp=682d238f32a2aca993747f9c1ddf2b6f4c5fb536 [2] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=b18e5d7e5f9df69759f0fbc2bed91d5e51313e79
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
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 <vineetg@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(+)