On 1/4/23 3:20 AM, Kewen.Lin via Gcc-patches wrote:
diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
index 88c865b6b4b..6fa084c0807 100644
--- a/gcc/config/rs6000/rs6000.cc
+++ b/gcc/config/rs6000/rs6000.cc
@@ -4378,9 +4378,15 @@ rs6000_option_override_internal (bool global_init_p)
        rs6000_isa_flags &= ~OPTION_MASK_MMA;
      }

-  if (TARGET_POWER10
-      && (rs6000_isa_flags_explicit & OPTION_MASK_P10_FUSION) == 0)
-    rs6000_isa_flags |= OPTION_MASK_P10_FUSION;
+  /* Enable power10 fusion if we are tuning for power10, even if we aren't
+     generating power10 instructions.  */
+  if (!(rs6000_isa_flags_explicit & OPTION_MASK_P10_FUSION))
+    {
+      if (processor_target_table[tune_index].processor == PROCESSOR_POWER10)

You can use (rs6000_tune == PROCESSOR_POWER10) at this point.
-Pat

+       rs6000_isa_flags |= OPTION_MASK_P10_FUSION;
+      else
+       rs6000_isa_flags &= ~OPTION_MASK_P10_FUSION;
+    }


Reply via email to