+2019-07-30 Jan Hubicka <jh@suse.cz>
+
+ Backport from mainline
+ 2019-07-23 Jan Hubicka <hubicka@ucw.cz>
+
+ * config/i386/i386.c (ix86_option_override_internal): Default
+ PARAM_AVOID_FMA_MAX_BITS to 256 for znver2.
+ * config/i386/x86-tune.def (X86_TUNE_AVOID_256FMA_CHAINS): Set
+ for ZNVER2.
+
2019-07-30 Jan Hubicka <jh@suse.cz>
Backport from mainline
opts->x_flag_cf_protection
= (cf_protection_level) (opts->x_flag_cf_protection | CF_SET);
- if (ix86_tune_features [X86_TUNE_AVOID_128FMA_CHAINS])
+ if (ix86_tune_features [X86_TUNE_AVOID_256FMA_CHAINS])
+ maybe_set_param_value (PARAM_AVOID_FMA_MAX_BITS, 256,
+ opts->x_param_values,
+ opts_set->x_param_values);
+ else if (ix86_tune_features [X86_TUNE_AVOID_128FMA_CHAINS])
maybe_set_param_value (PARAM_AVOID_FMA_MAX_BITS, 128,
opts->x_param_values,
opts_set->x_param_values);
smaller FMA chain. */
DEF_TUNE (X86_TUNE_AVOID_128FMA_CHAINS, "avoid_fma_chains", m_ZNVER)
+/* X86_TUNE_AVOID_256FMA_CHAINS: Avoid creating loops with tight 256bit or
+ smaller FMA chain. */
+DEF_TUNE (X86_TUNE_AVOID_256FMA_CHAINS, "avoid_fma256_chains", m_ZNVER2)
+
/*****************************************************************************/
/* AVX instruction selection tuning (some of SSE flags affects AVX, too) */
/*****************************************************************************/