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. 2024-02-14 Michael Meissner <meiss...@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. --- 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 a47075f8249..ed934e0213e 100644 --- a/gcc/config/rs6000/rs6000-cpus.def +++ b/gcc/config/rs6000/rs6000-cpus.def @@ -90,6 +90,7 @@ /* Flags for a potential future processor that may or may not be delivered. */ #define ISA_FUTURE_MASKS_SERVER (ISA_3_1_MASKS_SERVER \ + | OPTION_MASK_BLOCK_OPS_VECTOR_PAIR \ | OPTION_MASK_FUTURE) /* Flags that need to be turned off if -mno-power9-vector. */ @@ -127,6 +128,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 \ -- 2.43.0 -- Michael Meissner, IBM PO Box 98, Ayer, Massachusetts, USA, 01432 email: meiss...@linux.ibm.com