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

Reply via email to