OSDN Git Service

* gcc.dg/arm-vfp1.c: Remove test for fnegs.
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 10 May 2005 16:54:36 +0000 (16:54 +0000)
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 10 May 2005 16:54:36 +0000 (16:54 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99528 138bc75d-0d04-0410-961f-82ee72b054a4

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

index ce6b01f..52a0e37 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 5898e80..4cc90e0 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" } } */