https://gcc.gnu.org/g:2920fb64d02df44fe4221464730c858d89b1ee9e
commit 2920fb64d02df44fe4221464730c858d89b1ee9e Author: Michael Meissner <meiss...@linux.ibm.com> Date: Wed Jul 31 15:44:49 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";