]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
backport: i386.c (ix86_option_override_internal): Default PARAM_AVOID_FMA_MAX_BITS...
authorJan Hubicka <jh@suse.cz>
Tue, 30 Jul 2019 08:10:22 +0000 (10:10 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Tue, 30 Jul 2019 08:10:22 +0000 (08:10 +0000)
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.

From-SVN: r273901

gcc/ChangeLog
gcc/config/i386/i386.c
gcc/config/i386/x86-tune.def

index c70358bf4ac550f82fd3cc860ee9f8f764b5bc42..d6fd8f5a054f495699b6bc2067fd19b19c2eae3a 100644 (file)
@@ -1,3 +1,13 @@
+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
index 9288fc4b17c175d2149ce80d1cd55c50fa30ab66..83b6708da0201a35fec0d11bfd2e2fcc2f3605c9 100644 (file)
@@ -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);
index 01e49867dfbd2e60910ad667900b7af8f0017797..fd59a842658bc1520796f400c853467df8f49faa 100644 (file)
@@ -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)     */
 /*****************************************************************************/