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

Reply via email to