* gcc.dg/arm-vfp1.c: Remove test for fnegs.
authorMark Mitchell <mark@codesourcery.com>
Tue, 10 May 2005 16:54:36 +0000 (16:54 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Tue, 10 May 2005 16:54:36 +0000 (16:54 +0000)
From-SVN: r99528

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/arm-vfp1.c

index ce6b01fb07bbee4651e7568cb5616dc7923a668b..52a0e37b6ffbef8950e7e6ceccc3e18d95bf6b0c 100644 (file)
@@ -1,3 +1,7 @@
+2005-05-10  Mark Mitchell  <mark@codesourcery.com>
+
+       * gcc.dg/arm-vfp1.c: Remove test for fnegs.
+
 2005-05-10  Bob Wilson  <bob.wilson@acm.org>
 
        * gcc.dg/const-elim-1.c: Remove xfail for xtensa-*-*.
index 5898e8027e62c935bde4d4806465fe502e663279..4cc90e043c004dd0ad018b9839e53366fa318b49 100644 (file)
@@ -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" } } */