https://gcc.gnu.org/g:f3a1dcd7eae79994ad592ba3245deec657e60588

commit f3a1dcd7eae79994ad592ba3245deec657e60588
Author: Michael Meissner <meiss...@linux.ibm.com>
Date:   Wed Jul 24 12:55:44 2024 -0400

    Modify how arch flags are set.
    
    2024-07-24  Michael Meissner  <meiss...@linux.ibm.com>
    
    gcc/
    
            * config/rs6000/rs6000.cc (get_arch_flags): Modify how arch flags 
are
            set.
            * config/rs6000/rs6000.h (ARCH_FLAGS_*): Delete.

Diff:
---
 gcc/config/rs6000/rs6000.cc | 55 +++++++++++++++++++++++++++++++--------------
 gcc/config/rs6000/rs6000.h  | 10 ---------
 2 files changed, 38 insertions(+), 27 deletions(-)

diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
index 4550fd44036e..17f98607905f 100644
--- a/gcc/config/rs6000/rs6000.cc
+++ b/gcc/config/rs6000/rs6000.cc
@@ -1824,27 +1824,48 @@ rs6000_cpu_name_lookup (const char *name)
 static HOST_WIDE_INT
 get_arch_flags (int cpu_index)
 {
-  if (cpu_index < 0)
-    return 0;
+  HOST_WIDE_INT ret = 0;
 
-  enum processor_type processor = processor_target_table[cpu_index].processor;
+  if (cpu_index >= 0)
+    switch (processor_target_table[cpu_index].processor)
+      {
+      case PROCESSOR_POWER11:
+       ret |= ARCH_MASK_POWER11;
+       /* fall through.  */
 
-  switch (processor)
-    {
-    case PROCESSOR_POWER4:  return ARCH_FLAGS_POWER4;
-    case PROCESSOR_POWER5:  return ARCH_FLAGS_POWER5;
-    case PROCESSOR_POWER6:  return ARCH_FLAGS_POWER6;
-    case PROCESSOR_POWER7:  return ARCH_FLAGS_POWER7;
-    case PROCESSOR_POWER8:  return ARCH_FLAGS_POWER8;
-    case PROCESSOR_POWER9:  return ARCH_FLAGS_POWER9;
-    case PROCESSOR_POWER10: return ARCH_FLAGS_POWER10;
-    case PROCESSOR_POWER11: return ARCH_FLAGS_POWER11;
+      case PROCESSOR_POWER10:
+       ret |= ARCH_MASK_POWER10;
+       /* fall through.  */
 
-    default:
-      break;
-    }
+      case PROCESSOR_POWER9:
+       ret |= ARCH_MASK_POWER9;
+       /* fall through.  */
 
-  return 0;
+      case PROCESSOR_POWER8:
+       ret |= ARCH_MASK_POWER8;
+       /* fall through.  */
+
+      case PROCESSOR_POWER7:
+       ret |= ARCH_MASK_POWER7;
+       /* fall through.  */
+
+      case PROCESSOR_POWER6:
+       ret |= ARCH_MASK_POWER6;
+       /* fall through.  */
+
+      case PROCESSOR_POWER5:
+       ret |= ARCH_MASK_POWER5;
+       /* fall through.  */
+
+      case PROCESSOR_POWER4:
+       ret |= ARCH_MASK_POWER4;
+       break;
+
+      default:
+       break;
+      }
+
+  return ret;
 }
 
 
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index 548ef9c0fa50..dbc844a7da10 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -2508,16 +2508,6 @@ enum arch_bits {
 #define ARCH_MASK_POWER10      (HOST_WIDE_INT_1 << ARCH_ENUM_POWER10)
 #define ARCH_MASK_POWER11      (HOST_WIDE_INT_1 << ARCH_ENUM_POWER11)
 
-/* Flags to set the architecture bits for a given cpu.  */
-#define ARCH_FLAGS_POWER4      ARCH_MASK_POWER4
-#define ARCH_FLAGS_POWER5      (ARCH_FLAGS_POWER4  | ARCH_MASK_POWER5)
-#define ARCH_FLAGS_POWER6      (ARCH_FLAGS_POWER5  | ARCH_MASK_POWER6)
-#define ARCH_FLAGS_POWER7      (ARCH_FLAGS_POWER6  | ARCH_MASK_POWER7)
-#define ARCH_FLAGS_POWER8      (ARCH_FLAGS_POWER7  | ARCH_MASK_POWER8)
-#define ARCH_FLAGS_POWER9      (ARCH_FLAGS_POWER8  | ARCH_MASK_POWER9)
-#define ARCH_FLAGS_POWER10     (ARCH_FLAGS_POWER9  | ARCH_MASK_POWER10)
-#define ARCH_FLAGS_POWER11     (ARCH_FLAGS_POWER10 | ARCH_MASK_POWER11)
-
 /* We used to use -mpower8-internal and -mpower10 as an ISA bit, switch to use
    an architecture bit.  */
 #define TARGET_POWER8          ((rs6000_arch_flags & ARCH_MASK_POWER8)  != 0)

Reply via email to