https://gcc.gnu.org/g:89229d955d806ffd69734a85a5c2ed18009a8998
commit 89229d955d806ffd69734a85a5c2ed18009a8998 Author: Michael Meissner <[email protected]> Date: Mon Dec 8 18:56:59 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 efe3ac778c33..b74f952aeb0f 100644 --- a/gcc/ChangeLog.meissner +++ b/gcc/ChangeLog.meissner @@ -1,3 +1,87 @@ +==================== Branch work231, patch #1 ==================== + +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-12-08 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 work231, patch #1 ==================== + +Add -mcpu=future. + +This patch adds support for a new PowerPC cpu (future). Until it is announced, +the features of future processors may be changed. These patches allow people to +use the new features of processors being developed. If/when the a processor is +announced that has the features, future GCC revisions will be modified to add +support for that new machine. + +If the features provided by -mcpu=future are incorporated into an official +PowerPC server, this option will be renamed to the official name for that +platform. + +This is version 10 of the -mcpu=future patch. + +If the user uses -mcpu=future, -mfuture is passed to the assembler. + +I added support so that if GCC is configured with the --with-cpu=future option +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-12-08 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 macro. + (POWERPC_MASKS): Add OPTION_MASK_FUTURE. + (rs6000_cpu_opt_value): New entry for 'future' via the RS6000_CPU macro. + * config/rs6000/rs6000-opts.h (PROCESSOR_FUTURE): New macro. + * config/rs6000/rs6000-tables.opt: Regenerate. + * config/rs6000/rs6000.cc (rs6000_machine_from_flags) If -mcpu=future, + set the .machine directive to "future". + (rs6000_opt_masks): Add entry for -mfuture. + * 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 work231, baseline ==================== 2025-12-08 Michael Meissner <[email protected]>
