[gcc(refs/users/meissner/heads/work182-dmf)] Use vector pair load/store for memcpy with -mcpu=future
Michael Meissner
meissner@gcc.gnu.org
Tue Oct 22 20:21:17 GMT 2024
https://gcc.gnu.org/g:61cba9696d41e2c30311a8a36c7c58fab7da1b01
commit 61cba9696d41e2c30311a8a36c7c58fab7da1b01
Author: Michael Meissner <meissner@linux.ibm.com>
Date: Tue Oct 22 16:15:45 2024 -0400
Use vector pair load/store for memcpy with -mcpu=future
In the development for the power10 processor, GCC did not enable using the load
vector pair and store vector pair instructions when optimizing things like
memory copy. This patch enables using those instructions if -mcpu=future is
used.
2024-10-22 Michael Meissner <meissner@linux.ibm.com>
gcc/
* config/rs6000/rs6000-cpus.def (ISA_FUTURE_MASKS_SERVER): Enable using
load vector pair and store vector pair instructions for memory copy
operations.
(POWERPC_MASKS): Make the bit for enabling using load vector pair and
store vector pair operations set and reset when the PowerPC processor is
changed.
Diff:
---
gcc/config/rs6000/rs6000-cpus.def | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/gcc/config/rs6000/rs6000-cpus.def b/gcc/config/rs6000/rs6000-cpus.def
index e73d9ef51f8d..74151be40484 100644
--- a/gcc/config/rs6000/rs6000-cpus.def
+++ b/gcc/config/rs6000/rs6000-cpus.def
@@ -86,7 +86,8 @@
#define POWER11_MASKS_SERVER ISA_3_1_MASKS_SERVER
-#define FUTURE_MASKS_SERVER POWER11_MASKS_SERVER
+#define FUTURE_MASKS_SERVER (POWER11_MASKS_SERVER \
+ | OPTION_MASK_BLOCK_OPS_VECTOR_PAIR)
/* Flags that need to be turned off if -mno-vsx. */
#define OTHER_VSX_VECTOR_MASKS (OPTION_MASK_EFFICIENT_UNALIGNED_VSX \
@@ -116,6 +117,7 @@
/* Mask of all options to set the default isa flags based on -mcpu=<xxx>. */
#define POWERPC_MASKS (OPTION_MASK_ALTIVEC \
+ | OPTION_MASK_BLOCK_OPS_VECTOR_PAIR \
| OPTION_MASK_CMPB \
| OPTION_MASK_CRYPTO \
| OPTION_MASK_DFP \
More information about the Gcc-cvs
mailing list