From 66ce512c25b3b5fd56de09239f9fd61577f90dd1 Mon Sep 17 00:00:00 2001 From: bernds Date: Mon, 2 Aug 2010 10:21:05 +0000 Subject: [PATCH] * config/arm/arm.c (arm_rtx_costs_1): Remove second clause from the 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 | 3 +++ gcc/config/arm/arm.c | 10 ++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f0c2969830c..7d6a3de7bc3 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 * config/arm/arm.c (COSTS_N_INSNS): Remove definition. diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 9073702b379..4e2ff8af56d 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) { -- 2.11.0