https://gcc.gnu.org/g:816307fad902b82fd4ed6079b9113057b7496252
commit 816307fad902b82fd4ed6079b9113057b7496252 Author: Michael Meissner <meiss...@linux.ibm.com> Date: Tue Jul 30 18:05:54 2024 -0400 Remove arch flags power4 and power5. Use const HOST_WIDE_INT for arch masks. 2024-07-30 Michael Meissner <meiss...@linux.ibm.com> * config/rs6000/rs6000-arch.def: Remove power4 and power5 architecture masks. * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Use arch flags for power6. * config/rs6000/rs6000-opts.h (ARCH_MASK_*): Encode the masks as const HOST_WIDE_INT and not as an enumeratio. * config/rs6000/rs6000.cc (get_arch_flags): Drop power4 and power5 arch flags support. (rs6000_machine_from_flags): Likewise. Diff: --- gcc/config/rs6000/rs6000-arch.def | 2 -- gcc/config/rs6000/rs6000-c.cc | 2 +- gcc/config/rs6000/rs6000-opts.h | 9 ++++----- gcc/config/rs6000/rs6000.cc | 12 ++---------- 4 files changed, 7 insertions(+), 18 deletions(-) diff --git a/gcc/config/rs6000/rs6000-arch.def b/gcc/config/rs6000/rs6000-arch.def index 6725736076da..d317200016a2 100644 --- a/gcc/config/rs6000/rs6000-arch.def +++ b/gcc/config/rs6000/rs6000-arch.def @@ -37,8 +37,6 @@ the appropriate architecture flags based on the actual processor enumeration. */ -ARCH_EXPAND(POWER4, "power4") -ARCH_EXPAND(POWER5, "power5") ARCH_EXPAND(POWER6, "power6") ARCH_EXPAND(POWER7, "power7") ARCH_EXPAND(POWER8, "power8") diff --git a/gcc/config/rs6000/rs6000-c.cc b/gcc/config/rs6000/rs6000-c.cc index a8a6a956874f..7d0b24b7c09e 100644 --- a/gcc/config/rs6000/rs6000-c.cc +++ b/gcc/config/rs6000/rs6000-c.cc @@ -426,7 +426,7 @@ rs6000_target_modify_macros (bool define_p, HOST_WIDE_INT flags, 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-opts.h b/gcc/config/rs6000/rs6000-opts.h index 9a52a1d4b147..c7764e66cd03 100644 --- a/gcc/config/rs6000/rs6000-opts.h +++ b/gcc/config/rs6000/rs6000-opts.h @@ -80,15 +80,14 @@ enum { ARCH_ENUM_LAST }; -/* Create an architecture mask for the newer architectures (power7 and +/* Create an architecture mask for the newer architectures (power6 and up).. */ #undef ARCH_EXPAND -#define ARCH_EXPAND(PROC, NAME) ARCH_MASK_ ## PROC = 1 << ARCH_ENUM_ ## PROC, +#define ARCH_EXPAND(PROC, NAME) \ + static const HOST_WIDE_INT ARCH_MASK_ ## PROC \ + = HOST_WIDE_INT_1 << ARCH_ENUM_ ## PROC; -enum { #include "rs6000-arch.def" - ARCH_MASK_ZERO = 0 -}; #undef ARCH_EXPAND diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc index 19adc66cc801..bccf30a44b20 100644 --- a/gcc/config/rs6000/rs6000.cc +++ b/gcc/config/rs6000/rs6000.cc @@ -1852,14 +1852,6 @@ get_arch_flags (int cpu_index) 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: @@ -5937,9 +5929,9 @@ rs6000_machine_from_flags (void) return "power7"; if ((arch_flags & ARCH_MASK_POWER6) != 0) return "power6"; - if ((arch_flags & ARCH_MASK_POWER5) != 0) + if ((flags & (ISA_2_4_MASKS & ~ISA_2_1_MASKS)) != 0) return "power5"; - if ((arch_flags & ARCH_MASK_POWER4) != 0) + if ((flags & ISA_2_1_MASKS) != 0) return "power4"; if ((flags & OPTION_MASK_POWERPC64) != 0) return "ppc64";