aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>2014-11-18 09:33:25 +0000
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>2014-11-18 09:33:25 +0000
commite8c430897708622510974ecff782d3ac8cac1d1b (patch)
treed916cbc1cd3c172ccf908a67c905cf1dd99df20f /gcc
parentddcfa953fc03ed582dfac5c51870fb3df27b6aff (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/config/arm/arm.c5
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;
}