OSDN Git Service

* config/arm/arm.c (arm_rtx_costs_1): Remove second clause from the
authorbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 2 Aug 2010 10:21:05 +0000 (10:21 +0000)
committerbernds <bernds@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 2 Aug 2010 10:21:05 +0000 (10:21 +0000)
if statement which adds extra costs to frame-related expressions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162816 138bc75d-0d04-0410-961f-82ee72b054a4

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

index f0c2969..7d6a3de 100644 (file)
@@ -85,6 +85,9 @@
        * config/arm/ldmstm.md: New file.
        * config/arm/arm-ldmstm.ml: New file.
 
+       * config/arm/arm.c (arm_rtx_costs_1): Remove second clause from the
+       if statement which adds extra costs to frame-related expressions.
+
 2010-08-02  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
 
        * config/arm/arm.c (COSTS_N_INSNS): Remove definition.
index 9073702..4e2ff8a 100644 (file)
@@ -6646,12 +6646,10 @@ arm_rtx_costs_1 (rtx x, enum rtx_code outer, int* total, bool speed)
         since then they might not be moved outside of loops.  As a compromise
         we allow integration with ops that have a constant as their second
         operand.  */
-      if ((REG_OR_SUBREG_REG (XEXP (x, 0))
-          && ARM_FRAME_RTX (REG_OR_SUBREG_RTX (XEXP (x, 0)))
-          && GET_CODE (XEXP (x, 1)) != CONST_INT)
-         || (REG_OR_SUBREG_REG (XEXP (x, 0))
-             && ARM_FRAME_RTX (REG_OR_SUBREG_RTX (XEXP (x, 0)))))
-       *total = 4;
+      if (REG_OR_SUBREG_REG (XEXP (x, 0))
+         && ARM_FRAME_RTX (REG_OR_SUBREG_RTX (XEXP (x, 0)))
+         && GET_CODE (XEXP (x, 1)) != CONST_INT)
+       *total = COSTS_N_INSNS (1);
 
       if (mode == DImode)
        {