https://gcc.gnu.org/g:de47c5206f95dc76f1c087cbd212aad11b810315
commit de47c5206f95dc76f1c087cbd212aad11b810315 Author: Michael Meissner <[email protected]> Date: Mon Nov 24 21:30:29 2025 -0500 Update ChangeLog.* Diff: --- gcc/ChangeLog.meissner | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) diff --git a/gcc/ChangeLog.meissner b/gcc/ChangeLog.meissner index f35a8cbac9e6..4a715215abdf 100644 --- a/gcc/ChangeLog.meissner +++ b/gcc/ChangeLog.meissner @@ -1,3 +1,87 @@ +==================== Branch work229, patch #2 ==================== + +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. + +I have tested these patches on both big endian and little endian PowerPC +servers, with no regressions. Can I check these patchs into the trunk? + +2025-11-14 Michael Meissner <[email protected]> + +gcc/ + + * config/rs6000/rs6000-cpus.def (FUTURE_MASKS_SERVER): Enable using load + vector pair and store vector pair instructions for memory copy + operations. + (POWERPC_MASKS): Make the option for enabling using load vector pair and + store vector pair operations set and reset when the PowerPC processor is + changed. + * gcc/config/rs6000/rs6000.cc (rs6000_machine_from_flags): Disable + -mblock-ops-vector-pair from influencing .machine selection. + +gcc/testsuite/ + + * gcc.target/powerpc/future-3.c: New test. + +==================== Branch work229, patch #1 ==================== + +Add -mcpu=future. + +I originally made a more complicated patch (V5) on September 22nd, 2025 +that tried to do infrastructure cleanup as well as adding -mcpu=future. +This patch is a more limited patch in that it just adds the +-mcpu=future patch, and it does not do the other infrastructure work. + +I submitted version 6 of the patch on November 6th. + +However, in that patch, I forgot to add code to set the .machine +directive to "future" if the user did -mcpu=future and I submitted +version 7 on November 7th. + +This is version 8 of the -mcpu=future patch. It goes back to the old +method of adding -mcpu=<xxx> options by adding a new ISA bit for that +processor. + +If the user uses -mcpu=future, -mfuture is passed to the assembler. + +I added support so the configuration option --with-cpu=future is used, +it will set the default cpu type. + +Can I check this patch into the GCC trunk? I have built bootstrap +builds on both a little endian Power10 system and a big endian Power9 +system and there were no regressions. On the little endian Power10 +system, I built the last run using the --with-cpu=future configuration +option. + +2025-11-14 Michael Meissner <[email protected]> + +gcc/ + + * config.gcc (powerpc*-*-*): Add support for -mcpu=future. + * config/rs6000/aix71.h (ASM_CPU_SPEC): Add support for -mcpu=future. + * 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_FUTURE if -mcpu=future. + * config/rs6000/rs6000-cpus.def (FUTURE_MASKS_SERVER): New macros. + (POWERPC_MASKS): Add OPTION_MASK_FUTURE. + * config/rs6000/rs6000-tables.opt: Regenerate. + (future processor): Add -mcpu=future. + * config/rs6000/rs6000-opts.h (PROCESSOR_FUTURE): Define as power11. + * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add support for -mcpu=future. + * config/rs6000/rs6000.opt (-mfuture): New option. + * doc/invoke.texi (IBM RS/6000 and PowerPC Options): Document + -mcpu=future. + +gcc/testsuite/ + + * gcc.target/powerpc/future-1.c: New test. + * gcc.target/powerpc/future-2.c: Likewise. + ==================== Branch work229, baseline ==================== 2025-11-21 Michael Meissner <[email protected]>
