diff options
author | Kyrylo Tkachov <kyrylo.tkachov@arm.com> | 2014-11-18 09:33:25 +0000 |
---|---|---|
committer | Kyrylo Tkachov <ktkachov@gcc.gnu.org> | 2014-11-18 09:33:25 +0000 |
commit | e8c430897708622510974ecff782d3ac8cac1d1b (patch) | |
tree | d916cbc1cd3c172ccf908a67c905cf1dd99df20f /gcc | |
parent | ddcfa953fc03ed582dfac5c51870fb3df27b6aff (diff) | |
download | gcc-e8c430897708622510974ecff782d3ac8cac1d1b.zip gcc-e8c430897708622510974ecff782d3ac8cac1d1b.tar.gz gcc-e8c430897708622510974ecff782d3ac8cac1d1b.tar.bz2 |
[ARM] Handle simple SImode PLUS and MINUS cases in rtx costs
* config/arm/arm.c (arm_new_rtx_costs, case PLUS, MINUS):
Add cost of alu.arith in simple SImode case.
From-SVN: r217692
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/arm/arm.c | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b303164..95f5fa3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index a4212d1..f9c82a5 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -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; } |