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)