]> gcc.gnu.org Git - gcc.git/commit
Add -mcpu=future support.
authorMichael Meissner <meissner@linux.ibm.com>
Thu, 29 Feb 2024 07:04:33 +0000 (02:04 -0500)
committerMichael Meissner <meissner@linux.ibm.com>
Thu, 29 Feb 2024 07:04:33 +0000 (02:04 -0500)
commit0f40394a0f9441f34be32ea2a0b976b55fa10f7d
tree5cde2465a8f255c2b07b9818e416ba508839f7ed
parent3bf2b9ada3cf0bcdab1ce9779ddb1a9ad078908c
Add -mcpu=future support.

This patch adds support for -mcpu=future.  At the current time, no new
instructions are implemented.  The tuning for the future processor is exactly
the same as for power10.

If -mcpu=future is used, the macro _ARCH_PWR_FUTURE will be defined.

In order to use -mcpu=future, you will need an assembler that supports the
-mfuture option.

2024-02-29  Michael Meissner  <meissner@linux.ibm.com>

gcc/

* config.gcc (powerpc*-*-*, rs6000-*-*): Add support for a potential
future processor.
* config/rs6000/aix71.h (ASM_CPU_SPEC): Likewise.
* config/rs6000/aix72.h (ASM_CPU_SPEC): Likewise.
* config/rs6000/aix73.h (ASM_CPU_SPEC): Likewise.
* config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define
_ARCH_PWR_FUTURE if -mcpu=future.
* config/rs6000/rs6000-cpus.def (ISA_FUTURE_MASKS_SERVER): New macro.
(POWERPC_MASKS): Add support for -mcpu=future.
(future cpu): Add future cpu.
* config/rs6000/rs6000-opts.h (PROCESSOR_FUTURE): New macro.
* config/rs6000/rs6000-tables.opt: Regenerate.
* config/rs6000/rs6000.cc (rs6000_machine_from_flags): If -mcpu=future,
emit .machine future.
(rs6000_opt_masks): Add support for the future ISA bits.
* config/rs6000/rs6000.h (ASM_CPU_SPEC): Add support for the future
processor.
* config/rs6000/rs6000.opt (-mfuture): New internal ISA bit for a
potential future cpu.
* doc/invoke.texi (PowerPC options): Document -mcpu=future.
12 files changed:
gcc/config.gcc
gcc/config/rs6000/aix71.h
gcc/config/rs6000/aix72.h
gcc/config/rs6000/aix73.h
gcc/config/rs6000/rs6000-c.cc
gcc/config/rs6000/rs6000-cpus.def
gcc/config/rs6000/rs6000-opts.h
gcc/config/rs6000/rs6000-tables.opt
gcc/config/rs6000/rs6000.cc
gcc/config/rs6000/rs6000.h
gcc/config/rs6000/rs6000.opt
gcc/doc/invoke.texi
This page took 0.057631 seconds and 5 git commands to generate.