]> gcc.gnu.org Git - gcc.git/commit
Add -mcpu=future patches.
authorMichael Meissner <meissner@linux.ibm.com>
Wed, 14 Feb 2024 23:19:04 +0000 (18:19 -0500)
committerMichael Meissner <meissner@linux.ibm.com>
Wed, 14 Feb 2024 23:19:04 +0000 (18:19 -0500)
commit709fcf5351790fed0883262bfade422a03cb790c
tree2f37fb775ecafeafa3943a28eb96dcedfdb20710
parent3816dc30c5019d5ae5e70b5871cab0d8674d5763
Add -mcpu=future patches.

Late in the development of power10, we discovered that there were some issues
in using load vector pair and store vector pair instructions to do memory
copies, so the defaults were modified to not use these instructions.  This
patch re-enables using load and store vector pair instructions.

Previously the -mblock-ops-vector-pair switch was not set in POWERPC_MASKS.
This means the option was not reset if the cpu was changed via target
attributes or targt pragmas.  I added this mask to POWERPC_MASKS since the
option is set via -mcpu=future.

This patch uses the .machine directive to tell the assembler to use any
possible future instructions.

This patch makes -mcpu=future act like -mcpu=power10 in terms of tuning.  If
future patches changes the tuning, then this patch woucl be changed to use the
new tuning information.  Until there is different tuning, this patch does not
allow the user to explicitly use -mtune=future.

This patch passes -mfuture to the assembler if the user used -mcpu=future.

This patch defines _ARCH_PWR_FUTURE if -mcpu=future was used.

This patch prints that -mcpu=future was selected if you use the debugging
switch -mdebug=reg.

This patch adds the basic support for -mcpu=future, which is a framework to add
support for possible future PowerPCs.  This patch is only sets the future bit
in the ISA options.

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

gcc/

* config/rs6000/rs6000-cpus.def (ISA_FUTURE_MASKS_SERVER): Turn on
-mblock-ops-vector-pair for -mcpu=future.
(POWERPC_MASKS): Add -mblock-ops-vector-pair.

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

gcc/

* config/rs6000/rs6000.cc (rs6000_machine_from_flags): Output .machine
future if -mcpu=future.

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

gcc/

* config/rs6000/rs6000.cc (rs6000_option_override_internal): Make
-mtune=future become -mtune=power10.

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

gcc/

* config/rs6000/rs6000.h (ASM_CPU_SPEC): If -mcpu=future, pass -mfuture
to the assembler.

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

gcc/

* config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define
_ARCH_PWR_FUTURE if -mcpu=future.

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

gcc/

* config/rs6000/rs6000.cc (rs6000_opt_masks): Add entry to print out
-mfuture in the isa flags.

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

gcc/

* config/rs6000/rs6000-cpus.def (ISA_FUTURE_MASKS_SERVER): New option
bits for -mcpu=future.
(POWERPC_MASKS): Add -mfuture mask.
(future cpu): Add -mcpu=future.
* config/rs6000/rs6000-opts.h (PROCESSOR_FUTURE): New processor type.
* config/rs6000/rs6000-tables.opt (rs6000_cpu_opt_value): Likewise.
* config/rs6000/rs6000.md (cpu attribute): Likewise.
* config/rs6000/rs6000.opt (-mfuture): New insert mask for -mcpu=future.
* doc/invoke.texi (PowerPC options): Add -mcpu=future.
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.md
gcc/config/rs6000/rs6000.opt
gcc/doc/invoke.texi
This page took 0.06874 seconds and 6 git commands to generate.