[ARM] Handle simple SImode PLUS and MINUS cases in rtx costs
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>
Tue, 18 Nov 2014 09:33:25 +0000 (09:33 +0000)
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>
Tue, 18 Nov 2014 09:33:25 +0000 (09:33 +0000)
* config/arm/arm.c (arm_new_rtx_costs, case PLUS, MINUS):
Add cost of alu.arith in simple SImode case.

From-SVN: r217692

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

index b303164e248249f9d46a3c83c14b3312470a6faf..95f5fa308b5f97c810fe969ce1dfdfa5942ba914 100644 (file)
@@ -1,3 +1,8 @@
+2014-11-18  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/arm/arm.c (arm_new_rtx_costs, case PLUS, MINUS):
+       Add cost of alu.arith in simple SImode case.
+
 2014-11-18  Jiong Wang  <jiong.wang@arm.com>
 
        * lra-eliminations.c (update_reg_eliminate): Relax gcc_assert for fixed
index a4212d1d916419b61dbc6cc240fba10d9c5b1901..f9c82a5e5b11c2046bcc135d045778144d7daa06 100644 (file)
@@ -9822,6 +9822,8 @@ arm_new_rtx_costs (rtx x, enum rtx_code code, enum rtx_code outer_code,
              *cost += rtx_cost (XEXP (x, 1), code, 1, speed_p);
              return true;
            }
+         else if (speed_p)
+           *cost += extra_cost->alu.arith;
 
          return false;
        }
@@ -10057,6 +10059,9 @@ arm_new_rtx_costs (rtx x, enum rtx_code code, enum rtx_code outer_code,
              *cost += rtx_cost (XEXP (x, 0), PLUS, 0, speed_p);
              return true;
            }
+         else if (speed_p)
+           *cost += extra_cost->alu.arith;
+
          return false;
        }