From: Kyrylo Tkachov Date: Thu, 19 May 2016 13:54:31 +0000 (+0000) Subject: [ARM] Fix costing of sign-extending load in rtx costs X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f65970cfd092c36035f7a3c683707c2604bcd4a3;p=gcc.git [ARM] Fix costing of sign-extending load in rtx costs * config/arm/arm.c (arm_new_rtx_costs, SIGN_EXTEND case): Don't add cost of inner memory when handling sign-extended loads. From-SVN: r236461 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4771d5ae1c7..42e6224c4a0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2016-05-19 Kyrylo Tkachov + + * config/arm/arm.c (arm_new_rtx_costs, SIGN_EXTEND case): + Don't add cost of inner memory when handling sign-extended + loads. + 2016-05-19 Ilya Enkovich PR rtl-optimization/71148 diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index c3f74dcd58f..12060ba569f 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -10762,8 +10762,6 @@ arm_new_rtx_costs (rtx x, enum rtx_code code, enum rtx_code outer_code, if ((arm_arch4 || GET_MODE (XEXP (x, 0)) == SImode) && MEM_P (XEXP (x, 0))) { - *cost = rtx_cost (XEXP (x, 0), VOIDmode, code, 0, speed_p); - if (mode == DImode) *cost += COSTS_N_INSNS (1);