[gcc(refs/users/meissner/heads/work161-dmf)] Use vector pair load/store for memcpy with -mcpu=future

Michael Meissner meissner@gcc.gnu.org
Tue Mar 5 18:40:07 GMT 2024


https://gcc.gnu.org/g:f44d4fce9ef7486129fddb9a1278d8f103c986a2

commit f44d4fce9ef7486129fddb9a1278d8f103c986a2
Author: Michael Meissner <meissner@linux.ibm.com>
Date:   Tue Mar 5 13:39:46 2024 -0500

    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-03-05  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 | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gcc/config/rs6000/rs6000-cpus.def b/gcc/config/rs6000/rs6000-cpus.def
index 77170915615..8da1d560e49 100644
--- a/gcc/config/rs6000/rs6000-cpus.def
+++ b/gcc/config/rs6000/rs6000-cpus.def
@@ -92,6 +92,7 @@
 
 /* Flags for a potential future processor that may or may not be made.  */
 #define ISA_FUTURE_MASKS_SERVER	(ISA_POWER11_MASKS_SERVER               \
+				 | OPTION_MASK_BLOCK_OPS_VECTOR_PAIR	\
 				 | OPTION_MASK_FUTURE)
 
 /* Flags that need to be turned off if -mno-vsx.  */
@@ -123,6 +124,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