diff mbox

[AArch64] Fix Cortex-A53 shift costs

Message ID 000101d0840f$b71a89d0$254f9d70$@com
State New
Headers show

Commit Message

Wilco May 1, 2015, 1:07 p.m. UTC
> Marcus Shawcroft wrote:
> On 5 March 2015 at 14:49, Wilco Dijkstra <wdijkstr@arm.com> wrote:
> > This patch fixes the shift costs for Cortex-A53 so they are more accurate - immediate shifts
> use
> > SBFM/UBFM which takes 2 cycles, register controlled shifts take 1 cycle. Bootstrap and
> regression
> > OK.
> >
> > ChangeLog:
> > 2015-03-05  Wilco Dijkstra  <wdijkstr@arm.com>
> >
> >         * gcc/config/arm/aarch-cost-tables.h (cortexa53_extra_costs):
> >         Make Cortex-A53 shift costs more accurate.
> 
> OK /Marcus

Kyrill, could you check this in please? Patch attached

Wilco

2015-05-01  Wilco Dijkstra  <wdijkstr@arm.com>

	* gcc/config/arm/aarch-cost-tables.h (cortexa53_extra_costs):
	Make Cortex-A53 shift costs more accurate.
---
 gcc/config/arm/aarch-cost-tables.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Kyrylo Tkachov May 1, 2015, 1:09 p.m. UTC | #1
On 01/05/15 14:07, Wilco Dijkstra wrote:
>> Marcus Shawcroft wrote:
>> On 5 March 2015 at 14:49, Wilco Dijkstra <wdijkstr@arm.com> wrote:
>>> This patch fixes the shift costs for Cortex-A53 so they are more accurate - immediate shifts
>> use
>>> SBFM/UBFM which takes 2 cycles, register controlled shifts take 1 cycle. Bootstrap and
>> regression
>>> OK.
>>>
>>> ChangeLog:
>>> 2015-03-05  Wilco Dijkstra  <wdijkstr@arm.com>
>>>
>>>          * gcc/config/arm/aarch-cost-tables.h (cortexa53_extra_costs):
>>>          Make Cortex-A53 shift costs more accurate.
>> OK /Marcus
> Kyrill, could you check this in please? Patch attached

Hi Wilco,

I've committed this with r222678.

Cheers,
Kyrill

>
> Wilco
>
> 2015-05-01  Wilco Dijkstra  <wdijkstr@arm.com>
>
> 	* gcc/config/arm/aarch-cost-tables.h (cortexa53_extra_costs):
> 	Make Cortex-A53 shift costs more accurate.
>
>
diff mbox

Patch

diff --git a/gcc/config/arm/aarch-cost-tables.h b/gcc/config/arm/aarch-cost-tables.h
index 05e96a9..6bb8ede 100644
--- a/gcc/config/arm/aarch-cost-tables.h
+++ b/gcc/config/arm/aarch-cost-tables.h
@@ -130,12 +130,12 @@  const struct cpu_cost_table cortexa53_extra_costs =
     0,			/* arith.  */
     0,			/* logical.  */
     COSTS_N_INSNS (1),	/* shift.  */
-    COSTS_N_INSNS (2),	/* shift_reg.  */
+    0,			/* shift_reg.  */
     COSTS_N_INSNS (1),	/* arith_shift.  */
-    COSTS_N_INSNS (2),	/* arith_shift_reg.  */
+    COSTS_N_INSNS (1),	/* arith_shift_reg.  */
     COSTS_N_INSNS (1),	/* log_shift.  */
-    COSTS_N_INSNS (2),	/* log_shift_reg.  */
-    0,			/* extend.  */
+    COSTS_N_INSNS (1),	/* log_shift_reg.  */
+    COSTS_N_INSNS (1),	/* extend.  */
     COSTS_N_INSNS (1),	/* extend_arith.  */
     COSTS_N_INSNS (1),	/* bfi.  */
     COSTS_N_INSNS (1),	/* bfx.  */