These tests validate fp conversions with various rounding modes which would not work on soft-float ABIs.
On -march=rv64imac/-mabi=lp64 this reduces 5 unique failures (overall 35 due to multi flag combination builds) gcc/testsuite/Changelog: * gcc.dg/torture/fp-double-convert-float-1.c: Add dg-require-effective-target hard_float. * gcc.dg/torture/fp-int-convert-timode-3.c: Ditto. * gcc.dg/torture/fp-int-convert-timode-4.c: Ditto. * gcc.dg/torture/fp-uint64-convert-double-1.c: Ditto. * gcc.dg/torture/fp-uint64-convert-double-2.c: Ditto. Signed-off-by: Vineet Gupta <vine...@rivosinc.com> --- gcc/testsuite/gcc.dg/torture/fp-double-convert-float-1.c | 1 + gcc/testsuite/gcc.dg/torture/fp-int-convert-timode-3.c | 1 + gcc/testsuite/gcc.dg/torture/fp-int-convert-timode-4.c | 1 + gcc/testsuite/gcc.dg/torture/fp-uint64-convert-double-1.c | 1 + gcc/testsuite/gcc.dg/torture/fp-uint64-convert-double-2.c | 1 + 5 files changed, 5 insertions(+) diff --git a/gcc/testsuite/gcc.dg/torture/fp-double-convert-float-1.c b/gcc/testsuite/gcc.dg/torture/fp-double-convert-float-1.c index ec23274ea989..1c28a9e101eb 100644 --- a/gcc/testsuite/gcc.dg/torture/fp-double-convert-float-1.c +++ b/gcc/testsuite/gcc.dg/torture/fp-double-convert-float-1.c @@ -1,6 +1,7 @@ /* PR57245 */ /* { dg-do run } */ /* { dg-require-effective-target fenv } */ +/* { dg-require-effective-target hard_float } */ /* { dg-additional-options "-frounding-math" } */ #include <fenv.h> diff --git a/gcc/testsuite/gcc.dg/torture/fp-int-convert-timode-3.c b/gcc/testsuite/gcc.dg/torture/fp-int-convert-timode-3.c index 707d539335fe..6f9a8d3f0d3e 100644 --- a/gcc/testsuite/gcc.dg/torture/fp-int-convert-timode-3.c +++ b/gcc/testsuite/gcc.dg/torture/fp-int-convert-timode-3.c @@ -3,6 +3,7 @@ /* { dg-do run } */ /* { dg-require-effective-target int128 } */ /* { dg-require-effective-target fenv } */ +/* { dg-require-effective-target hard_float } */ /* { dg-options "-frounding-math" } */ #include <fenv.h> diff --git a/gcc/testsuite/gcc.dg/torture/fp-int-convert-timode-4.c b/gcc/testsuite/gcc.dg/torture/fp-int-convert-timode-4.c index 09600f909031..15f478d15e24 100644 --- a/gcc/testsuite/gcc.dg/torture/fp-int-convert-timode-4.c +++ b/gcc/testsuite/gcc.dg/torture/fp-int-convert-timode-4.c @@ -3,6 +3,7 @@ /* { dg-do run } */ /* { dg-require-effective-target int128 } */ /* { dg-require-effective-target fenv } */ +/* { dg-require-effective-target hard_float } */ /* { dg-options "-frounding-math" } */ #include <fenv.h> diff --git a/gcc/testsuite/gcc.dg/torture/fp-uint64-convert-double-1.c b/gcc/testsuite/gcc.dg/torture/fp-uint64-convert-double-1.c index fadad8c31981..0c7bf003e93e 100644 --- a/gcc/testsuite/gcc.dg/torture/fp-uint64-convert-double-1.c +++ b/gcc/testsuite/gcc.dg/torture/fp-uint64-convert-double-1.c @@ -1,6 +1,7 @@ /* PR84407 */ /* { dg-do run } */ /* { dg-require-effective-target fenv } */ +/* { dg-require-effective-target hard_float } */ /* { dg-additional-options "-frounding-math -fexcess-precision=standard" } */ #include <fenv.h> diff --git a/gcc/testsuite/gcc.dg/torture/fp-uint64-convert-double-2.c b/gcc/testsuite/gcc.dg/torture/fp-uint64-convert-double-2.c index 952f96b33c92..ac24b351a46d 100644 --- a/gcc/testsuite/gcc.dg/torture/fp-uint64-convert-double-2.c +++ b/gcc/testsuite/gcc.dg/torture/fp-uint64-convert-double-2.c @@ -1,6 +1,7 @@ /* PR84407 */ /* { dg-do run } */ /* { dg-require-effective-target fenv } */ +/* { dg-require-effective-target hard_float } */ /* { dg-additional-options "-frounding-math" } */ #include <fenv.h> -- 2.32.0