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;