https://gcc.gnu.org/g:92eb0f0e330ba1b78a339846c0840534bcc11c4c
commit 92eb0f0e330ba1b78a339846c0840534bcc11c4c Author: Michael Meissner <meiss...@linux.ibm.com> Date: Wed Jul 31 13:03:39 2024 -0400 Add gp, gfx to arch flags. 2024-07-31 Michael Meissner <meiss...@linux.ibm.com> gcc/ * config/rs6000/rs6000-arch.def (ARCH_MASK_GP): Add gp. (ARCH_MASK_GFX): Add gfx. * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Use arch masks for gp and gfx. * config/rs6000/rs6000.cc (get_arch_flags): Add support for gp and gfx. Diff: --- gcc/config/rs6000/rs6000-arch.def | 2 ++ gcc/config/rs6000/rs6000-c.cc | 4 ++-- gcc/config/rs6000/rs6000.cc | 10 +++++++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/gcc/config/rs6000/rs6000-arch.def b/gcc/config/rs6000/rs6000-arch.def index e5b6e9581331..91bd2f638cf3 100644 --- a/gcc/config/rs6000/rs6000-arch.def +++ b/gcc/config/rs6000/rs6000-arch.def @@ -37,6 +37,8 @@ the appropriate architecture flags based on the actual processor enumeration. */ +ARCH_EXPAND(GPOPT, "gpopt") +ARCH_EXPAND(GFXOPT, "gfxopt") ARCH_EXPAND(POWER4, "power4") ARCH_EXPAND(POWER5, "power5") ARCH_EXPAND(POWER5X, "power5+") diff --git a/gcc/config/rs6000/rs6000-c.cc b/gcc/config/rs6000/rs6000-c.cc index d7b1625f0867..63cf580b20b4 100644 --- a/gcc/config/rs6000/rs6000-c.cc +++ b/gcc/config/rs6000/rs6000-c.cc @@ -414,9 +414,9 @@ rs6000_target_modify_macros (bool define_p, HOST_WIDE_INT flags, /* rs6000_isa_flags and rs6000_arch_flags based options. */ rs6000_define_or_undefine_macro (define_p, "_ARCH_PPC"); - if ((flags & OPTION_MASK_PPC_GPOPT) != 0) + if ((arch_flags & ARCH_MASK_GPOPT) != 0) rs6000_define_or_undefine_macro (define_p, "_ARCH_PPCSQ"); - if ((flags & OPTION_MASK_PPC_GFXOPT) != 0) + if ((arch_flags & ARCH_MASK_GFXOPT) != 0) rs6000_define_or_undefine_macro (define_p, "_ARCH_PPCGR"); if ((flags & OPTION_MASK_POWERPC64) != 0) rs6000_define_or_undefine_macro (define_p, "_ARCH_PPC64"); diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc index c89a6ea8e792..17c22dc59117 100644 --- a/gcc/config/rs6000/rs6000.cc +++ b/gcc/config/rs6000/rs6000.cc @@ -1827,7 +1827,9 @@ get_arch_flags (int cpu_index) { HOST_WIDE_INT ret = 0; - const HOST_WIDE_INT ARCH_COMBO_POWER4 = ARCH_MASK_POWER4; + const HOST_WIDE_INT ARCH_COMBO_POWER4 = (ARCH_MASK_POWER4 + | ARCH_MASK_GPOPT + | ARCH_MASK_GFXOPT); const HOST_WIDE_INT ARCH_COMBO_POWER5 = ARCH_MASK_POWER5 | ARCH_COMBO_POWER4; const HOST_WIDE_INT ARCH_COMBO_POWER5X = ARCH_MASK_POWER5X | ARCH_COMBO_POWER5; const HOST_WIDE_INT ARCH_COMBO_POWER6 = ARCH_MASK_POWER6 | ARCH_COMBO_POWER5X; @@ -1888,6 +1890,12 @@ get_arch_flags (int cpu_index) if (TARGET_CMPB) ret |= ARCH_MASK_POWER6; + + if (TARGET_PPC_GPOPT) + ret |= ARCH_MASK_GPOPT; + + if (TARGET_PPC_GFXOPT) + ret |= ARCH_MASK_GFXOPT; break; }