aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernd Schmidt <bernds@codesourcery.com>2010-08-02 10:21:05 +0000
committerBernd Schmidt <bernds@gcc.gnu.org>2010-08-02 10:21:05 +0000
commit13cc4787bfdee0fa3d1cfe7b73f9d2492eb3320c (patch)
tree12db45237df8470dca9c93bde56bb72387839586
parent3711941045eb2d1723b3530560fe866ee5a82485 (diff)
downloadgcc-13cc4787bfdee0fa3d1cfe7b73f9d2492eb3320c.zip
gcc-13cc4787bfdee0fa3d1cfe7b73f9d2492eb3320c.tar.gz
gcc-13cc4787bfdee0fa3d1cfe7b73f9d2492eb3320c.tar.bz2
arm.c (arm_rtx_costs_1): Remove second clause from the if statement which adds extra costs to...
* config/arm/arm.c (arm_rtx_costs_1): Remove second clause from the if statement which adds extra costs to frame-related expressions. From-SVN: r162816
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/config/arm/arm.c10
2 files changed, 7 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f0c2969..7d6a3de 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 9073702..4e2ff8a 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -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)
{