[ARM] Fix costing of sign-extending load in rtx costs
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>
Thu, 19 May 2016 13:54:31 +0000 (13:54 +0000)
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>
Thu, 19 May 2016 13:54:31 +0000 (13:54 +0000)
* 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

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

index 4771d5ae1c7dbd941bfcb668680736e9c09eee91..42e6224c4a0cc228ba714203d3d73822c68062fa 100644 (file)
@@ -1,3 +1,9 @@
+2016-05-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * 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  <ilya.enkovich@intel.com>
 
        PR rtl-optimization/71148
index c3f74dcd58f9a1cfef2f9022d07aecc89868cb68..12060ba569f99e4447ec5705fdeee7cd081ab6f1 100644 (file)
@@ -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);