https://gcc.gnu.org/g:c8a3a625126a05f3e88fc9a73b327710d964814c
commit c8a3a625126a05f3e88fc9a73b327710d964814c Author: Michael Meissner <meiss...@linux.ibm.com> Date: Wed Jul 31 13:25:40 2024 -0400 Set .machine from the architecture flags This patch switches the handling of .machine to use architecture masks if they exist (power4 through power11). All of the other PowerPCs will continue to use the existing code for setting the .machine option. 2024-07-31 Michael Meissner <meiss...@linux.ibm.com> gcc/ * config/rs6000/rs6000 (rs6000_machine_from_flags): Set .machine from the architecture flags. Diff: --- gcc/config/rs6000/rs6000.cc | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc index 0b113b68eff9..bd84b880fdc7 100644 --- a/gcc/config/rs6000/rs6000.cc +++ b/gcc/config/rs6000/rs6000.cc @@ -5990,27 +5990,28 @@ rs6000_machine_from_flags (void) return "ppc64"; #endif + HOST_WIDE_INT arch_flags = rs6000_arch_flags; HOST_WIDE_INT flags = rs6000_isa_flags; /* Disable the flags that should never influence the .machine selection. */ flags &= ~(OPTION_MASK_PPC_GFXOPT | OPTION_MASK_PPC_GPOPT | OPTION_MASK_ISEL | OPTION_MASK_ALTIVEC); - if ((flags & (POWER11_MASKS_SERVER & ~ISA_3_1_MASKS_SERVER)) != 0) + if ((arch_flags & ARCH_MASK_POWER11) != 0) return "power11"; - if ((flags & (ISA_3_1_MASKS_SERVER & ~ISA_3_0_MASKS_SERVER)) != 0) + if ((arch_flags & ARCH_MASK_POWER10) != 0) return "power10"; - if ((flags & (ISA_3_0_MASKS_SERVER & ~ISA_2_7_MASKS_SERVER)) != 0) + if ((arch_flags & ARCH_MASK_POWER9) != 0) return "power9"; - if ((flags & (ISA_2_7_MASKS_SERVER & ~ISA_2_6_MASKS_SERVER)) != 0) + if ((arch_flags & ARCH_MASK_POWER8) != 0) return "power8"; - if ((flags & (ISA_2_6_MASKS_SERVER & ~ISA_2_5_MASKS_SERVER)) != 0) + if ((arch_flags & ARCH_MASK_POWER7) != 0) return "power7"; - if ((flags & (ISA_2_5_MASKS_SERVER & ~ISA_2_4_MASKS)) != 0) + if ((arch_flags & ARCH_MASK_POWER6) != 0) return "power6"; - if ((flags & (ISA_2_4_MASKS & ~ISA_2_1_MASKS)) != 0) + if ((arch_flags & ARCH_MASK_POWER5) != 0) return "power5"; - if ((flags & ISA_2_1_MASKS) != 0) + if ((arch_flags & ARCH_MASK_POWER4) != 0) return "power4"; if ((flags & OPTION_MASK_POWERPC64) != 0) return "ppc64";