[PATCH v2 2/2][ARM] Improve max_cond_insns setting for Cortex cores

Kyrill Tkachov kyrylo.tkachov@foss.arm.com
Tue Dec 3 17:56:00 GMT 2019


On 12/3/19 1:45 PM, Wilco Dijkstra wrote:
> Hi,
>
> Part 2, split off from 
> https://gcc.gnu.org/ml/gcc-patches/2019-11/msg00399.html
>
> To enable cores to use the correct max_cond_insns setting, use the 
> core-specific
> tuning when a CPU/tune is selected unless -mrestrict-it is explicitly set.
>
> On Cortex-A57 this gives 1.1% performance gain on SPECINT2006 as well as a
> 0.4% codesize reduction.
>
> Bootstrapped on armhf. OK for commit?
>
Ok.

Thanks,

Kyrill


> ChangeLog:
>
> 2019-12-03  Wilco Dijkstra  <wdijkstr@arm.com>
>
>         * config/arm/arm.c (arm_option_override_internal):
>         Use max_cond_insns from CPU tuning unless -mrestrict-it is used.
> --
>
> diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
> index 
> daebe76352d62ad94556762b4e3bc3d0532ad411..5ed9046988996e56f754c5588e4d25d5ecdd6b03 
> 100644
> --- a/gcc/config/arm/arm.c
> +++ b/gcc/config/arm/arm.c
> @@ -3041,6 +3041,11 @@ arm_option_override_internal (struct 
> gcc_options *opts,
>    if (!TARGET_THUMB2_P (opts->x_target_flags) || !arm_arch_notm)
>      opts->x_arm_restrict_it = 0;
>
> +  /* Use the IT size from CPU specific tuning unless -mrestrict-it is 
> used.  */
> +  if (!opts_set->x_arm_restrict_it
> +      && (opts_set->x_arm_cpu_string || opts_set->x_arm_tune_string))
> +    opts->x_arm_restrict_it = 0;
> +
>    /* Enable -munaligned-access by default for
>       - all ARMv6 architecture-based processors when compiling for a 
> 32-bit ISA
>       i.e. Thumb2 and ARM state only.



More information about the Gcc-patches mailing list