[arm] xfail fp-uint64-convert-double tests

Message ID ork03axi6x.fsf@lxoliva.fsfla.org
State Accepted
Headers
Series [arm] xfail fp-uint64-convert-double tests |

Checks

Context Check Description
snail/gcc-patch-check success Github commit url

Commit Message

Alexandre Oliva Dec. 2, 2022, 9:34 a.m. UTC
  The FP emulation on ARM doesn't take rounding modes into account.  The
tests require hard_float, but that only tests for calls when adding
doubles.  There are arm targets that support hardware adds, but that
emulate conversions.

Regstraped on x86_64-linux-gnu, also tested with crosses to riscv64-elf
and arm-eabi.  Ok to install?

PS: I've pondered changing hard_float instead, but decided that could
impact other tests that rely on its current behavior.  Then I considered
adding a variant of hard_float that tested for conversions, but thought
that it was overkill.


for  gcc/testsuite/ChangeLog

	* gcc.dg/torture/fp-uint64-convert-double-1.c: Expect fail on
	arm-*-eabi*.
	* gcc.dg/torture/fp-uint64-convert-double-2.c: Likewise.
---
 .../gcc.dg/torture/fp-uint64-convert-double-1.c    |    2 +-
 .../gcc.dg/torture/fp-uint64-convert-double-2.c    |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
  

Comments

Jeff Law Dec. 5, 2022, 4:42 p.m. UTC | #1
On 12/2/22 02:34, Alexandre Oliva via Gcc-patches wrote:
> 
> The FP emulation on ARM doesn't take rounding modes into account.  The
> tests require hard_float, but that only tests for calls when adding
> doubles.  There are arm targets that support hardware adds, but that
> emulate conversions.
> 
> Regstraped on x86_64-linux-gnu, also tested with crosses to riscv64-elf
> and arm-eabi.  Ok to install?
> 
> PS: I've pondered changing hard_float instead, but decided that could
> impact other tests that rely on its current behavior.  Then I considered
> adding a variant of hard_float that tested for conversions, but thought
> that it was overkill.
> 
> 
> for  gcc/testsuite/ChangeLog
> 
> 	* gcc.dg/torture/fp-uint64-convert-double-1.c: Expect fail on
> 	arm-*-eabi*.
> 	* gcc.dg/torture/fp-uint64-convert-double-2.c: Likewise.
OK
jeff
  

Patch

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 0c7bf003e93ed..61cfa96374631 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,5 +1,5 @@ 
 /* PR84407 */
-/* { dg-do run } */
+/* { dg-do run { xfail { arm-*-eabi* } } } */
 /* { dg-require-effective-target fenv } */
 /* { dg-require-effective-target hard_float } */
 /* { dg-additional-options "-frounding-math -fexcess-precision=standard" } */
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 ac24b351a46d6..b32b28a329580 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,5 +1,5 @@ 
 /* PR84407 */
-/* { dg-do run } */
+/* { dg-do run { xfail { arm-*-eabi* } } } */
 /* { dg-require-effective-target fenv } */
 /* { dg-require-effective-target hard_float } */
 /* { dg-additional-options "-frounding-math" } */