[0/11] Separate PowerPC architecture bits from ISA flags that use command line options

Message ID Zxv0OVEWD7l-DZ27@cowardly-lion.the-meissners.org
Headers
Series Separate PowerPC architecture bits from ISA flags that use command line options |

Message

Michael Meissner Oct. 25, 2024, 7:40 p.m. UTC
  These patches are a clean up in the PowerPC port to move architecture bits that
are not user ISA options from rs6000_isa_flags to a new targt variable
rs6000_arch_flags.  The intention is to remove switches that are currently isa
options, but the user should not be using this particular option. For example,
we want users to use -mcpu=power10 and not just -mpower10.

There are 11 patches in this series.  I have tested these patches on both
little endian and big endian systems and there are no regressions.  Can I apply
these patches to the trunk?  I don't see the need to backport these changes to
the earlier branches, but if desired I can do that.

The patches are:

Patch #1: This patch sets up the infrastructure to have a separate architecture
flags.  It moves the target_clones attribute to use this new architecture
flags.  The generation of ".machine" now also uses this table.

Patch #2: For newer PowerPC architectures, the architecture flags are used for
defining '_ARCH_PWR<n>' instead of the isa flags.  The -mpower10 and -mpower11
options are removed.

Patch #3: The code is restructured so that -mvsx does not convert the processor
to power7.  Thus using -mvsx is not allowed unless the user uses -mcpu=power7
or later.

Patch #4: Change uses of TARGET_POPCNTB to TARGET_POWER5.

Patch #5: Change uses of TARGET_FPRND to TARGET_POWER5X.

Patch #6: Change uses of TARGET_CMPB to TARGET_POWER6.

Patch #7: Change uses of TARGET_POPCNTD to TARGET_POWER7.

Patch #8: Change uses of TARGET_MODULO to TARGET_POWER9.

Patch #9: Rework tests that use -mvsx to raise the cpu to power7 to explicitly
add an appropriate #pragma to force the code generation to a power7.

Patch #10: Add support for a -mcpu=future option.

Patch #11: Make -mtune=future (and -mcpu=future without an explicit -mtune=
option) automatically schedudle insns like -mtune=power10 or -mtune=power11.
  

Comments

Michael Meissner Nov. 8, 2024, 7:59 p.m. UTC | #1
I have posted a new version of the patches at:
https://gcc.gnu.org/pipermail/gcc-patches/2024-November/668177.html