Peter Bergner asked me to reorganize my V3 patch that separates the architecture bits (set via -mcpu=<xxx>) compared to the ISA bits that are based on options.
Here is the beginning of the V3 patch for reference: https://gcc.gnu.org/pipermail/gcc-patches/2024-November/668643.html As Peter has suggested, I reworked the patch so the the bits where I rename the target flags comes before the bit about separating the architecture bits. I also moved the -mcpu=future bits before the architecture bits as well. There are 4 separate patch sets (that might have separate patches within the patch sets). Each of the patch sets is a logical entity. The 4 patch sets are: 1: Rename the TARGET_<xxx> options so that they say TARGET_POWER5 instead of TARGET_POPCNTB. In this patch set, TARGET_POWER5 is a macro that references TARGET_POPCNTB. The 5 patches in this patch set rename each option in turn. 2: Add support for -mcpu=future. Because the architecture mask support is in the 4th patch set, this patch set adds a dummy switch -mfuture. 3: Make -mvsx not internally set -mcpu=power7. This has come up in several bugs. This is independent of the other patches, and can be omitted if desired. 4: The last patch set now provides the separation between the architecture bits and the ISA bits. It removes several of the dummy switches (-mpower10, -mpower11, -mfuture) that were added to support those processors, but users aren't supposed to use those options. This patch set is the first patch set. The are 5 patches within the patch set: 1: Use TARGET_POWER5 instead of TARGET_POPCNTB. Note, the -mpopcntb and -mno-popcntb options will control the population count and pairty instructions, but all other uses will now use TARGET_POWER5. 2: Use TARGET_POWER5X instead of TARGET_FPRND. 3: Use TARGET_POWER6 instead of TARGET_CMPB. 4: Use TARGET_POWER7 instead of TARGET_POWER7. Like TARGET_POWER5, the TARGET_POPCNTD condition is used to control the power7 population count instructions, but TARGET_POWER7 is used elsewhere. 5: Use TARGET_POWER9 instead of TARGET_MODULO. These patches have been tested on both little endiand and big endian systems. Can I check these changes into GCC 15? -- Michael Meissner, IBM PO Box 98, Ayer, Massachusetts, USA, 01432 email: meiss...@linux.ibm.com