Commit b3e3b900 by Wilco Dijkstra Committed by Wilco Dijkstra

[ARM] Improve max_cond_insns setting for Cortex cores

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.

    gcc/
	* config/arm/arm.c (arm_option_override_internal):
	Use max_cond_insns from CPU tuning unless -mrestrict-it is used.

From-SVN: r278968
parent 09a214ac
2019-12-04 Wilco Dijkstra <wdijkstr@arm.com> 2019-12-04 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.
2019-12-04 Wilco Dijkstra <wdijkstr@arm.com>
* config/aarch64/aarch64.c * config/aarch64/aarch64.c
(thunderxt88_tunings): Use AARCH64_FUSE_ALU_BRANCH. (thunderxt88_tunings): Use AARCH64_FUSE_ALU_BRANCH.
(thunderx_tunings): Likewise. (thunderx_tunings): Likewise.
...@@ -3044,6 +3044,11 @@ arm_option_override_internal (struct gcc_options *opts, ...@@ -3044,6 +3044,11 @@ arm_option_override_internal (struct gcc_options *opts,
if (!TARGET_THUMB2_P (opts->x_target_flags) || !arm_arch_notm) if (!TARGET_THUMB2_P (opts->x_target_flags) || !arm_arch_notm)
opts->x_arm_restrict_it = 0; 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 /* Enable -munaligned-access by default for
- all ARMv6 architecture-based processors when compiling for a 32-bit ISA - all ARMv6 architecture-based processors when compiling for a 32-bit ISA
i.e. Thumb2 and ARM state only. i.e. Thumb2 and ARM state only.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment