From: Jan Hubicka Date: Tue, 30 Jul 2019 08:10:22 +0000 (+0200) Subject: backport: i386.c (ix86_option_override_internal): Default PARAM_AVOID_FMA_MAX_BITS... X-Git-Tag: releases/gcc-9.2.0~97 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c2db11bbb9bac5b81552bdeb13f7008fceff35c2;p=thirdparty%2Fgcc.git backport: i386.c (ix86_option_override_internal): Default PARAM_AVOID_FMA_MAX_BITS to 256 for znver2. Backport from mainline 2019-07-23 Jan Hubicka * 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. From-SVN: r273901 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c70358bf4ac5..d6fd8f5a054f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2019-07-30 Jan Hubicka + + Backport from mainline + 2019-07-23 Jan Hubicka + + * 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 Backport from mainline diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 9288fc4b17c1..83b6708da020 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -4817,7 +4817,11 @@ ix86_option_override_internal (bool main_args_p, 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); diff --git a/gcc/config/i386/x86-tune.def b/gcc/config/i386/x86-tune.def index 01e49867dfbd..fd59a842658b 100644 --- a/gcc/config/i386/x86-tune.def +++ b/gcc/config/i386/x86-tune.def @@ -431,6 +431,10 @@ DEF_TUNE (X86_TUNE_USE_GATHER, "use_gather", 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) */ /*****************************************************************************/