https://gcc.gnu.org/g:48f7791835b495c254452a20d4d06bc9bedd7cae

commit 48f7791835b495c254452a20d4d06bc9bedd7cae
Author: Michael Meissner <meiss...@linux.ibm.com>
Date:   Tue Jul 30 16:45:47 2024 -0400

    Add more processors to arch flags.
    
    2024-07-30  Michael Meissner  <meiss...@linux.ibm.com>
    
            * config/rs6000/rs6000-arch.def: Add support for 476, a2, and cell
            processors.
            * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Use arch
            flags for power4, power5, and power6.
            * config/rs6000/rs6000.cc (get_arch_flags): Add 476, a2, and cell
            processors.

Diff:
---
 gcc/config/rs6000/rs6000-arch.def | 3 +++
 gcc/config/rs6000/rs6000-c.cc     | 6 +++---
 gcc/config/rs6000/rs6000.cc       | 4 ++++
 3 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/gcc/config/rs6000/rs6000-arch.def 
b/gcc/config/rs6000/rs6000-arch.def
index 6725736076da..96f176775b59 100644
--- a/gcc/config/rs6000/rs6000-arch.def
+++ b/gcc/config/rs6000/rs6000-arch.def
@@ -37,6 +37,9 @@
    the appropriate architecture flags based on the actual processor
    enumeration.  */
 
+ARCH_EXPAND(PPC476,  "476")
+ARCH_EXPAND(PPCA2,   "a2")
+ARCH_EXPAND(CELL,    "cell")
 ARCH_EXPAND(POWER4,  "power4")
 ARCH_EXPAND(POWER5,  "power5")
 ARCH_EXPAND(POWER6,  "power6")
diff --git a/gcc/config/rs6000/rs6000-c.cc b/gcc/config/rs6000/rs6000-c.cc
index a8a6a956874f..27f18f48e837 100644
--- a/gcc/config/rs6000/rs6000-c.cc
+++ b/gcc/config/rs6000/rs6000-c.cc
@@ -420,13 +420,13 @@ rs6000_target_modify_macros (bool define_p, HOST_WIDE_INT 
flags,
     rs6000_define_or_undefine_macro (define_p, "_ARCH_PPCGR");
   if ((flags & OPTION_MASK_POWERPC64) != 0)
     rs6000_define_or_undefine_macro (define_p, "_ARCH_PPC64");
-  if ((flags & OPTION_MASK_MFCRF) != 0)
+  if ((arch_flags & ARCH_MASK_POWER4) != 0)
     rs6000_define_or_undefine_macro (define_p, "_ARCH_PWR4");
-  if ((flags & OPTION_MASK_POPCNTB) != 0)
+  if ((arch_flags & ARCH_MASK_POWER5) != 0)
     rs6000_define_or_undefine_macro (define_p, "_ARCH_PWR5");
   if ((flags & OPTION_MASK_FPRND) != 0)
     rs6000_define_or_undefine_macro (define_p, "_ARCH_PWR5X");
-  if ((flags & OPTION_MASK_CMPB) != 0)
+  if ((arch_flags & ARCH_MASK_POWER6) != 0)
     rs6000_define_or_undefine_macro (define_p, "_ARCH_PWR6");
   if ((arch_flags & ARCH_MASK_POWER7) != 0)
     rs6000_define_or_undefine_macro (define_p, "_ARCH_PWR7");
diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc
index 19adc66cc801..f9ccaa67e619 100644
--- a/gcc/config/rs6000/rs6000.cc
+++ b/gcc/config/rs6000/rs6000.cc
@@ -1851,14 +1851,18 @@ get_arch_flags (int cpu_index)
        /* fall through.  */
 
       case PROCESSOR_POWER6:
+      case PROCESSOR_PPCA2:
        ret |= ARCH_MASK_POWER6;
        /* fall through.  */
 
+      case PROCESSOR_PPC476:
       case PROCESSOR_POWER5:
        ret |= ARCH_MASK_POWER5;
        /* fall through.  */
 
+      case PROCESSOR_CELL:
       case PROCESSOR_POWER4:
+      case PROCESSOR_PPCE6500:
        ret |= ARCH_MASK_POWER4;
        break;

Reply via email to