Martin Guy <martinwguy@yahoo.it> PR target/37668
authorMartin Guy <martinwguy@yahoo.it>
Wed, 10 Dec 2008 14:57:18 +0000 (15:57 +0100)
committerRichard Earnshaw <rearnsha@gcc.gnu.org>
Wed, 10 Dec 2008 14:57:18 +0000 (14:57 +0000)
Martin Guy <martinwguy@yahoo.it>
PR target/37668
* arm.c (arm_size_rtx_costs, case NEG): Don't fall through if the
result will be in an FPU register.

From-SVN: r142647

gcc/ChangeLog
gcc/config/arm/arm.c

index d7e8767..57a235a 100644 (file)
@@ -1,3 +1,9 @@
+2008-12-10  Martin Guy <martinwguy@yahoo.it>
+
+       PR target/37668
+       * arm.c (arm_size_rtx_costs, case NEG): Don't fall through if the
+       result will be in an FPU register.
+
 2008-12-10  Eric Botcazou  <ebotcazou@adacore.com>
 
        PR target/37170
index a1cef0b..497564a 100644 (file)
@@ -5281,7 +5281,11 @@ arm_size_rtx_costs (rtx x, int code, int outer_code, int *total)
 
     case NEG:
       if (TARGET_HARD_FLOAT && GET_MODE_CLASS (mode) == MODE_FLOAT)
-       *total = COSTS_N_INSNS (1);
+       {
+         *total = COSTS_N_INSNS (1);
+         return false;
+       }
+
       /* Fall through */
     case NOT:
       *total = COSTS_N_INSNS (ARM_NUM_REGS (mode));