https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101865

--- Comment #3 from Segher Boessenkool <segher at gcc dot gnu.org> ---
The current code reads

  if ((flags & OPTION_MASK_DIRECT_MOVE) != 0)
    rs6000_define_or_undefine_macro (define_p, "_ARCH_PWR8");
  if ((flags & OPTION_MASK_MODULO) != 0)
    rs6000_define_or_undefine_macro (define_p, "_ARCH_PWR9");
  if ((flags & OPTION_MASK_POWER10) != 0)
    rs6000_define_or_undefine_macro (define_p, "_ARCH_PWR10");

Only the p10 one here is (maybe?) correct, all the other defines depend
on flags that can be (directly or indirectly) disabled.  This is not limited
to just these three, of course.  The reason this showed up for p8 is that it
shows up with a reasonable choice of flags.

Reply via email to