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
+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
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.