From 0450a8fba64afaf96eb0c1eba0fdfa137a4a1054 Mon Sep 17 00:00:00 2001 From: mmitchel Date: Tue, 10 May 2005 16:54:36 +0000 Subject: [PATCH 1/1] * gcc.dg/arm-vfp1.c: Remove test for fnegs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99528 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/testsuite/ChangeLog | 4 ++++ gcc/testsuite/gcc.dg/arm-vfp1.c | 9 ++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index ce6b01fb07b..52a0e37b6ff 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2005-05-10 Mark Mitchell + + * gcc.dg/arm-vfp1.c: Remove test for fnegs. + 2005-05-10 Bob Wilson * gcc.dg/const-elim-1.c: Remove xfail for xtensa-*-*. diff --git a/gcc/testsuite/gcc.dg/arm-vfp1.c b/gcc/testsuite/gcc.dg/arm-vfp1.c index 5898e8027e6..4cc90e043c0 100644 --- a/gcc/testsuite/gcc.dg/arm-vfp1.c +++ b/gcc/testsuite/gcc.dg/arm-vfp1.c @@ -14,7 +14,14 @@ void test_sf() { /* { dg-final { scan-assembler "fabss" } } */ f1 = fabsf (f1); /* negsf2_vfp */ - /* { dg-final { scan-assembler "fnegs" } } */ + /* There is no test for "fnegs" because the compiler will use an + integer operation instead to implement this operation. Adding + complexity to the operand (e.g., "-(f1 + f2)") doesn't change the + situation, as the compiler still wants the result in an integer + register before writing it back to memory. If we used an ABI that + required passing floating-point values in VFP registers that + would likely persuade the compiler to keep the value in the VFP + registers. */ f1 = -f1; /* addsf3_vfp */ /* { dg-final { scan-assembler "fadds" } } */ -- 2.11.0