[PATCH][AArch64] Fix Cortex-A53 shift costs

Wilco Dijkstra wdijkstr@arm.com
Mon Apr 27 14:05:00 GMT 2015


ping

> -----Original Message-----
> From: Wilco Dijkstra [mailto:wdijkstr@arm.com]
> Sent: 05 March 2015 14:49
> To: gcc-patches@gcc.gnu.org
> Subject: [PATCH][AArch64] Fix Cortex-A53 shift costs
> 
> 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.
> 
> ---
>  gcc/config/arm/aarch-cost-tables.h | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> 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.  */
> --
> 1.9.1




More information about the Gcc-patches mailing list