[gcc(refs/users/meissner/heads/work186)] Update ChangeLog.*

2024-11-16 Thread Michael Meissner via Gcc-cvs
https://gcc.gnu.org/g:b822fba1413b1cd01f2c8331ed639f88e54f2c50

commit b822fba1413b1cd01f2c8331ed639f88e54f2c50
Author: Michael Meissner 
Date:   Sat Nov 16 19:11:51 2024 -0500

Update ChangeLog.*

Diff:
---
 gcc/ChangeLog.meissner | 13 +
 1 file changed, 13 insertions(+)

diff --git a/gcc/ChangeLog.meissner b/gcc/ChangeLog.meissner
index 5657110e7a6a..397dc8184bc9 100644
--- a/gcc/ChangeLog.meissner
+++ b/gcc/ChangeLog.meissner
@@ -164,6 +164,19 @@ gcc/testsuite/
* gcc.target/powerpc/pr87496-1.c: Update options to use
-mdejagnu-cpu=power6 to get the appropriate error message.
 
+ Branch work186, patch #74 
+
+Vector pair test only runs in 64-bits
+
+In 32-bit mode, the vector pair load and stores are not generated, even if
+-mcpu=future is used.  Only run the future-3.c in 64-bit mode.
+
+2024-11-16  Michael Meissner  
+
+gcc/testsuite/
+
+   * gcc.target/powerpc/future-3.c: Limit test to 64-bit.
+
  Branch work186, patch #73 
 
 Use vector pair load/store for memcpy with -mcpu=future


[gcc(refs/users/meissner/heads/work186)] Update ChangeLog.*

2024-11-16 Thread Michael Meissner via Gcc-cvs
https://gcc.gnu.org/g:c361001019bc64668ac7187e91a670042109d7b9

commit c361001019bc64668ac7187e91a670042109d7b9
Author: Michael Meissner 
Date:   Sat Nov 16 00:48:16 2024 -0500

Update ChangeLog.*

Diff:
---
 gcc/ChangeLog.meissner | 127 +
 1 file changed, 127 insertions(+)

diff --git a/gcc/ChangeLog.meissner b/gcc/ChangeLog.meissner
index 49826411141c..5657110e7a6a 100644
--- a/gcc/ChangeLog.meissner
+++ b/gcc/ChangeLog.meissner
@@ -1,3 +1,130 @@
+ Branch work186, patch #91 
+
+Use architecture flags for defining _ARCH_PWR macros.
+
+For the newer architectures, this patch changes GCC to define the _ARCH_PWR
+macros using the new architecture flags instead of relying on isa options like
+-mpower10.
+
+The -mpower8-internal, -mpower10, -mpower11, and -mfuture options were removed.
+The -mpower11 and -mfuture options were removed completely, since they were 
just
+added in GCC 15. The other two options were marked as WarnRemoved, and the
+various ISA bits were removed.
+
+TARGET_POWER8, TARGET_POWER10, TARGET_POWER11, and TARGET_FUTURE were 
re-defined
+to use the architeture bits instead of the ISA bits.
+
+There are other internal isa bits that aren't removed with this patch because
+the built-in function support uses those bits.
+
+I have built both big endian and little endian bootstrap compilers and there
+were no regressions.
+
+Can I install this patch on the GCC 15 trunk?
+
+2024-11-16  Michael Meissner  
+
+gcc/
+
+   * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros) Add support to
+   use architecture flags instead of ISA flags for setting most of the
+   _ARCH_PWR* macros.
+   (rs6000_cpu_cpp_builtins): Update rs6000_target_modify_macros call.
+   * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Remove
+   OPTION_MASK_POWER8.
+   (ISA_3_1_MASKS_SERVER): Remove OPTION_MASK_POWER10.
+   (POWER11_MASKS_SERVER): Remove OPTION_MASK_POWER11.
+   (FUTURE_MASKS_SERVER): Remove OPTION_MASK_FUTURE.
+   (POWERPC_MASKS): Remove OPTION_MASK_POWER8, OPTION_MASK_POWER10,
+   OPTION_MASK_POWER11, and OPTION_MASK_FUTURE.
+   * config/rs6000/rs6000-protos.h (rs6000_target_modify_macros): Update
+   declaration.
+   (rs6000_target_modify_macros_ptr): Likewise.
+   * config/rs6000/rs6000.cc (rs6000_target_modify_macros_ptr): Likewise.
+   (rs6000_option_override_internal): Use architecture flags instead of ISA
+   flags.
+   (rs6000_opt_masks): Remove -mpower10, -mpower11, and -mfuture which are
+   no longer in the ISA flags.
+   (rs6000_pragma_target_parse): Use architecture flags as well as ISA
+   flags.
+   * config/rs6000/rs6000.h (TARGET_POWER5): Redefine to use architecture
+   flags.
+   (TARGET_POWER5X): Likewise.
+   (TARGET_POWER6): Likewise.
+   (TARGET_POWER7): Likewise.
+   (TARGET_POWER8): Likewise.
+   (TARGET_POWER9): Likewise.
+   (TARGET_POWER10): New macro.
+   (TARGET_POWER11): Likewise.
+   (TARGET_FUTRE): Likewise.
+   * config/rs6000/rs6000.opt (-mpower8-internal): Remove ISA flag bits.
+   (-mpower10): Likewise.
+   (-mpower11): Likewise.
+   (-mfuture): Likewise.
+
+ Branch work186, patch #90 
+
+Add rs6000 architecture masks.
+
+This patch begins the journey to move architecture bits that are not user ISA
+options from rs6000_isa_flags to a new targt variable rs6000_arch_flags.  The
+intention is to remove switches that are currently isa options, but the user
+should not be using this particular option. For example, we want users to use
+-mcpu=power10 and not just -mpower10.
+
+This patch also changes the target_clones support to use an architecture mask
+instead of isa bits.
+
+This patch also switches the handling of .machine to use architecture masks if
+they exist (power4 through power11).  All of the other PowerPCs will continue 
to
+use the existing code for setting the .machine option.
+
+I have built both big endian and little endian bootstrap compilers and there
+were no regressions.
+
+In addition, I constructed a test case that used every archiecture define (like
+_ARCH_PWR4, etc.) and I also looked at the .machine directive generated.  I ran
+this test for all supported combinations of -mcpu, big/little endian, and 32/64
+bit support.  Every single instance generated exactly the same code with the
+patches installed compared to the compiler before installing the patches.
+
+The only difference in this patch compared to the first version posted on
+November 6th is that I the correct attribution and copyright year (i.e. that I
+created rs6000-arch.def in 2024).
+
+Can I install this patch on the GCC 15 trunk?
+
+2024-11-16  Michael Meissner  
+
+gcc/
+
+   * config/rs6000/default64.h (TARGET_CPU_DEFAULT): Set default cpu name.
+   * config/rs6000/rs6000-arch.def: New file.
+   * confi

[gcc(refs/users/meissner/heads/work186)] Update ChangeLog.*

2024-11-16 Thread Michael Meissner via Gcc-cvs
https://gcc.gnu.org/g:ae4999cc96fb6122d8054f79d1d33d76dd9954a7

commit ae4999cc96fb6122d8054f79d1d33d76dd9954a7
Author: Michael Meissner 
Date:   Sat Nov 16 00:01:52 2024 -0500

Update ChangeLog.*

Diff:
---
 gcc/ChangeLog.meissner | 89 ++
 1 file changed, 89 insertions(+)

diff --git a/gcc/ChangeLog.meissner b/gcc/ChangeLog.meissner
index e1242ca98867..a712a5abf213 100644
--- a/gcc/ChangeLog.meissner
+++ b/gcc/ChangeLog.meissner
@@ -1,3 +1,92 @@
+ Branch work186, patch #73 
+
+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-11-16  Michael Meissner  
+
+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.
+   * gcc/config/rs6000/rs6000.cc (rs6000_machine_from_flags): Disable
+   -mblock-ops-vector-pair from influcing .machine selection.
+
+gcc/testsuite/
+
+   * gcc.target/powerpc/future-3.c: New test.
+
+ Branch work186, patch #72 
+
+Add -mcpu=future tests.
+
+This patch adds simple tests for -mcpu=future.
+
+2024-11-16  Michael Meissner  
+
+gcc/testsuite/
+
+   * gcc.target/powerpc/future-1.c: New test.
+   * gcc.target/powerpc/future-2.c: Likewise.
+
+ Branch work186, patch #71 
+
+Add -mcpu=future tuning support.
+
+This patch makes -mtune=future use the same tuning decision as -mtune=power11.
+
+2024-11-16  Michael Meissner  
+
+gcc/
+
+   * config/rs6000/power10.md (all reservations): Add future as an
+   alterntive to power10 and power11.
+
+ Branch work186, patch #70 
+
+Add support for -mcpu=future
+
+This patch adds the support that can be used in developing GCC support for
+future PowerPC processors.
+
+2024-11-16  Michael Meissner  
+
+   * config.gcc (powerpc*-*-*): Add support for --with-cpu=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/driver-rs6000.cc (asm_names): Likewise.
+   * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): If
+   -mcpu=future, define _ARCH_FUTURE.
+   * config/rs6000/rs6000-cpus.def (FUTURE_MASKS_SERVER): New macro.
+   (POWERPC_MASKS): Add OPTION_MASK_FUTURE.
+   (future cpu): Define.
+   * config/rs6000/rs6000-opts.h (enum processor_type): Add
+   PROCESSOR_FUTURE.
+   * config/rs6000/rs6000-tables.opt: Regenerate.
+   * config/rs6000/rs6000.cc (power10_cost): Update comment.
+   (get_arch_flags): Add support for future processor.
+   (rs6000_option_override_internal): Likewise.
+   (rs6000_machine_from_flags): Likewise.
+   (rs6000_reassociation_width): Likewise.
+   (rs6000_adjust_cost): Likewise.
+   (rs6000_issue_rate): Likewise.
+   (rs6000_sched_reorder): Likewise.
+   (rs6000_sched_reorder2): Likewise.
+   (rs6000_register_move_cost): Likewise.
+   (rs6000_opt_masks): Add -mfuture.
+   * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
+   * config/rs6000/rs6000.md (cpu attribute): Likewise.
+   * config/rs6000/rs6000.opt (-mfuture): New internal option.
+
  Branch work186, patch #64 
 
 Change TARGET_MODULO to TARGET_POWER9.


[gcc(refs/users/meissner/heads/work186)] Update ChangeLog.*

2024-11-15 Thread Michael Meissner via Gcc-cvs
https://gcc.gnu.org/g:e09abf06ad4cf771097df10a77a4eabb5184d116

commit e09abf06ad4cf771097df10a77a4eabb5184d116
Author: Michael Meissner 
Date:   Sat Nov 16 00:09:50 2024 -0500

Update ChangeLog.*

Diff:
---
 gcc/ChangeLog.meissner | 39 +++
 1 file changed, 39 insertions(+)

diff --git a/gcc/ChangeLog.meissner b/gcc/ChangeLog.meissner
index a712a5abf213..49826411141c 100644
--- a/gcc/ChangeLog.meissner
+++ b/gcc/ChangeLog.meissner
@@ -1,3 +1,42 @@
+ Branch work186, patch #80 
+
+Do not allow -mvsx to boost processor to power7.
+
+This patch restructures the code so that -mvsx for example will not silently
+convert the processor to power7.  The user must now use -mcpu=power7 or higher.
+This means if the user does -mvsx and the default processor does not have VSX
+support, it will be an error.
+
+I have built both big endian and little endian bootstrap compilers and there
+were no regressions.
+
+I updated the 2 tests that used -mvsx to raise the cpu to power7, and the test
+case that checks if -mno-vsx produces the expected warning.
+
+Note, Peter had some questions about one of the tests in the previous version 
of
+the patch.  The test is still the same in this patch.  But the code for
+preventing -mvsx is different from the previous patch, and I wanted to get that
+patch for review before stage1 closes.
+
+Can I install this patch on the GCC 15 trunk?
+
+2024-11-16  Michael Meissner  
+
+gcc/
+
+   * config/rs6000/rs6000.cc (rs6000_option_override_internal): Check if
+   the user asked for VSX instructions whether the cpu was at least power7.
+
+gcc/testsuite/
+
+   * gcc.target/powerpc/ppc-target-4.c: Rewrite the test to add cpu=power7
+   when we need to add VSX support.  Add test for adding cpu=power7 no-vsx
+   to generate only Altivec instructions.
+   * gcc.target/powerpc/pr115688.c: Add cpu=power7 in target __attribute__
+   when requesting VSX instructions.
+   * gcc.target/powerpc/pr87496-1.c: Update options to use
+   -mdejagnu-cpu=power6 to get the appropriate error message.
+
  Branch work186, patch #73 
 
 Use vector pair load/store for memcpy with -mcpu=future


[gcc(refs/users/meissner/heads/work186)] Update ChangeLog.*

2024-11-15 Thread Michael Meissner via Gcc-cvs
https://gcc.gnu.org/g:505f92e8e2609a8e60d8e70b35da86d39dc50780

commit 505f92e8e2609a8e60d8e70b35da86d39dc50780
Author: Michael Meissner 
Date:   Fri Nov 15 22:52:37 2024 -0500

Update ChangeLog.*

Diff:
---
 gcc/ChangeLog.meissner | 147 +
 1 file changed, 147 insertions(+)

diff --git a/gcc/ChangeLog.meissner b/gcc/ChangeLog.meissner
index d3fe88717646..e1242ca98867 100644
--- a/gcc/ChangeLog.meissner
+++ b/gcc/ChangeLog.meissner
@@ -1,3 +1,150 @@
+ Branch work186, patch #64 
+
+Change TARGET_MODULO to TARGET_POWER9.
+
+This patch changes TARGET_MODULO to TARGET_POWER9.  The -mmodulo switch is not
+being changed, just the name of the macros used to determine if the PowerPC
+processor supports ISA 3.0 (Power9).
+
+2024-11-15  Michael Meissner  
+
+gcc/
+
+   * gcc/config/rs6000/rs6000-builtin.cc (rs6000_builtin_is_supported):
+   Change TARGET_MODULO to TARGET_POWER9.
+   * gcc/config/rs6000/rs6000.cc (rs6000_option_override_internal):
+   Likewise.
+   * gcc/config/rs6000/rs6000.h (TARGET_CTZ): Likewise.
+   (TARGET_EXTSWSLI): Likewise.
+   (TARGET_MADDLD): Likewise.
+   (TARGET_POWER9): New macro.
+   * gcc/config/rs6000/rs6000.md (enabled attribute): Change TARGET_MODULO
+   to TARGET_POWER9.
+   (mod3): Likewise.
+   (umod3): Likewise.
+   (divide/modulo peephole2): Likewise.
+
+ Branch work186, patch #63 
+
+Change TARGET_POPCNTD to TARGET_POWER7.
+
+This patch changes TARGET_POPCNTD to TARGET_POWER7.  The -mpopcntd switch is 
not
+being changed, just the name of the macros used to determine if the PowerPC
+processor supports ISA 2.6 (Power7).
+
+2024-11-15  Michael Meissner  
+
+gcc/
+
+   * gcc/config/rs6000/dfp.md (cmp_internal1): Change TARGET_POPCNTD
+   to TARGET_POWER7.
+   * gcc/config/rs6000/rs6000-builtin.cc (rs6000_builtin_is_supported):
+   Likewise.
+   * gcc/config/rs6000/rs6000-string.cc (expand_block_compare): Likewise.
+   * gcc/config/rs6000/rs6000.cc (rs6000_hard_regno_mode_ok_uncached):
+   Likewise.
+   (rs6000_option_override_internal): Likewise.
+   (rs6000_rtx_costs): Likewise.
+   * gcc/config/rs6000/rs6000.h (TARGET_LDBRX): Likewise.
+   (TARGET_FCFID): Likewise.
+   (TARGET_LFIWZX): Likewise.
+   (TARGET_FCFIDS): Likewise.
+   (TARGET_FCFIDU): Likewise.
+   (TARGET_FCFIDUS): Likewise.
+   (TARGET_FCTIDUZ): Likewise.
+   (TARGET_FCTIWUZ): Likewise.
+   (TARGET_FCTIDUZ): Likewise.
+   (TARGET_POWER7): New macro.
+   (TARGET_EXTRA_BUILTINS): Change TARGET_POPCNTD to TARGET_POWER7.
+   (CTZ_DEFINED_VALUE_AT_ZERO): Likewise.
+   * gcc/config/rs6000/rs6000.md (enabled attribute): Likewise.
+   (lrintsi2): Likewise.
+   (lrintsi): Likewise.
+   (lrintsi_di): Likewise.
+   (cmpmemsi): Likewise.
+   (bpermd_): Likewise.
+   (addg6s): Likewise.
+   (cdtbcd): Likewise.
+   (cbcdtd): Likewise.
+   (div_): Likewise.
+
+ Branch work186, patch #62 
+
+Change TARGET_CMPB to TARGET_POWER6.
+
+This patch changes TARGET_CMPB to TARGET_POWER6.  The -mcmpb switch is not 
being
+changed, just the name of the macros used to determine if the PowerPC processor
+supports ISA 2.5 (Power6).
+
+2024-11-15  Michael Meissner  
+
+gcc/
+
+   * gcc/config/rs6000/rs6000-builtin.cc (rs6000_builtin_is_supported):
+   Change TARGET_CMPB to TARGET_POWER6.
+   * gcc/config/rs6000/rs6000.cc (rs6000_option_override_internal):
+   Likewise.
+   (rs6000_rtx_costs): Likewise.
+   (rs6000_emit_parity): Likewise.
+   * gcc/config/rs6000/rs6000.h (TARGET_FCFID): Likewise.
+   (TARGET_LFIWAX): Likewise.
+   (TARGET_POWER6): New macro.
+   (TARGET_EXTRA_BUILTINS): Change TARGET_CMPB to TARGET_POWER6.
+   * gcc/config/rs6000/rs6000.md (enabled attribute): Likewise.
+   (parity2_cmp): Likewise.
+   (cmpb3): Likewise.
+   (copysign3): Likewise.
+   (copysign3_fcpsgn): Likewise.
+   (cmpstrnsi): Likewise.
+   (cmpstrsi): Likewise.
+
+ Branch work186, patch #61 
+
+Change TARGET_FPRND to TARGET_POWER5X.
+
+This patch changes TARGET_POWER5X to TARGET_POWER5.  The -mfprnd switch is not
+being changed, just the name of the macros used to determine if the PowerPC
+processor supports ISA 2.4 (Power5x).
+
+2024-11-15  Michael Meissner  
+
+gcc/
+
+   * gcc/config/rs6000/rs6000.cc (rs6000_option_override_internal):
+   Change TARGET_FPRND to TARGET_POWER5X.
+   * gcc/config/rs6000/rs6000.h (TARGET_POWERP5X): New macro.
+   * gcc/config/rs6000/rs6000.md (fmod3): Change TARGET_FPRND to
+   TARGET_POWER5X.
+   (remainder3): Likewise.
+   (fctiwuz_): Likewise.
+   (ceil2): Likewise.
+   (floor2): Likewise.
+   (round2): Likewise.
+
+===

[gcc(refs/users/meissner/heads/work186)] Update ChangeLog.*

2024-11-15 Thread Michael Meissner via Gcc-cvs
https://gcc.gnu.org/g:9d2bdd9137dfdd282eb4c9c60a6c8c582e97b198

commit 9d2bdd9137dfdd282eb4c9c60a6c8c582e97b198
Author: Michael Meissner 
Date:   Fri Nov 15 12:06:21 2024 -0500

Update ChangeLog.*

Diff:
---
 gcc/ChangeLog.meissner | 20 
 1 file changed, 20 insertions(+)

diff --git a/gcc/ChangeLog.meissner b/gcc/ChangeLog.meissner
index c16cb19021b7..e7f6c2a6d579 100644
--- a/gcc/ChangeLog.meissner
+++ b/gcc/ChangeLog.meissner
@@ -1,3 +1,23 @@
+ Branch work186, patch #53 
+
+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-11-15  Michael Meissner  
+
+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.
+
  Branch work186, patch #52 
 
 Add -mcpu=future tests.


[gcc(refs/users/meissner/heads/work186)] Update ChangeLog.*

2024-11-15 Thread Michael Meissner via Gcc-cvs
https://gcc.gnu.org/g:69a0f14191878da0a9c23cd3c91068c0924096ca

commit 69a0f14191878da0a9c23cd3c91068c0924096ca
Author: Michael Meissner 
Date:   Fri Nov 15 11:58:33 2024 -0500

Update ChangeLog.*

Diff:
---
 gcc/ChangeLog.meissner | 62 ++
 1 file changed, 62 insertions(+)

diff --git a/gcc/ChangeLog.meissner b/gcc/ChangeLog.meissner
index e1d440886800..c16cb19021b7 100644
--- a/gcc/ChangeLog.meissner
+++ b/gcc/ChangeLog.meissner
@@ -1,3 +1,65 @@
+ Branch work186, patch #52 
+
+Add -mcpu=future tests.
+
+This patch adds simple tests for -mcpu=future.
+
+2024-11-15  Michael Meissner  
+
+gcc/testsuite/
+
+   * gcc.target/powerpc/future-1.c: New test.
+   * gcc.target/powerpc/future-2.c: Likewise.
+
+ Branch work186, patch #51 
+
+Add -mcpu=future tuning support.
+
+This patch makes -mtune=future use the same tuning decision as -mtune=power11.
+
+2024-11-15  Michael Meissner  
+
+gcc/
+
+   * config/rs6000/power10.md (all reservations): Add future as an
+   alterntive to power10 and power11.
+
+ Branch work186, patch #50 
+
+Add support for -mcpu=future
+
+This patch adds the support that can be used in developing GCC support for
+future PowerPC processors.
+
+2024-11-15  Michael Meissner  
+
+   * config.gcc (powerpc*-*-*): Add support for --with-cpu=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/driver-rs6000.cc (asm_names): Likewise.
+   * config/rs6000/rs6000-arch.def: Add future cpu.
+   * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): If
+   -mcpu=future, define _ARCH_FUTURE.
+   * config/rs6000/rs6000-cpus.def (FUTURE_MASKS_SERVER): New macro.
+   (future cpu): Define.
+   * config/rs6000/rs6000-opts.h (enum processor_type): Add
+   PROCESSOR_FUTURE.
+   * config/rs6000/rs6000-tables.opt: Regenerate.
+   * config/rs6000/rs6000.cc (power10_cost): Update comment.
+   (get_arch_flags): Add support for future processor.
+   (rs6000_option_override_internal): Likewise.
+   (rs6000_machine_from_flags): Likewise.
+   (rs6000_reassociation_width): Likewise.
+   (rs6000_adjust_cost): Likewise.
+   (rs6000_issue_rate): Likewise.
+   (rs6000_sched_reorder): Likewise.
+   (rs6000_sched_reorder2): Likewise.
+   (rs6000_register_move_cost): Likewise.
+   * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
+   (TARGET_POWER11): New macro.
+   * config/rs6000/rs6000.md (cpu attribute): Likewise.
+
  Branch work186, patch #41 
 
 Use architecture flags for defining _ARCH_PWR macros.


[gcc(refs/users/meissner/heads/work186)] Update ChangeLog.*

2024-11-15 Thread Michael Meissner via Gcc-cvs
https://gcc.gnu.org/g:c189f33bdc97c19028a2620bb29bf3d094f85bcb

commit c189f33bdc97c19028a2620bb29bf3d094f85bcb
Author: Michael Meissner 
Date:   Fri Nov 15 11:40:18 2024 -0500

Update ChangeLog.*

Diff:
---
 gcc/ChangeLog.meissner | 123 +
 1 file changed, 123 insertions(+)

diff --git a/gcc/ChangeLog.meissner b/gcc/ChangeLog.meissner
index 7085dc9802a7..e1d440886800 100644
--- a/gcc/ChangeLog.meissner
+++ b/gcc/ChangeLog.meissner
@@ -1,3 +1,126 @@
+ Branch work186, patch #41 
+
+Use architecture flags for defining _ARCH_PWR macros.
+
+For the newer architectures, this patch changes GCC to define the _ARCH_PWR
+macros using the new architecture flags instead of relying on isa options like
+-mpower10.
+
+The -mpower8-internal, -mpower10, and -mpower11 options were removed.  The
+-mpower11 option was removed completely, since it was just added in GCC 15.  
The
+other two options were marked as WarnRemoved, and the various ISA bits were
+removed.
+
+TARGET_POWER8 and TARGET_POWER10 were re-defined to use the architeture bits
+instead of the ISA bits.
+
+There are other internal isa bits that aren't removed with this patch because
+the built-in function support uses those bits.
+
+I have built both big endian and little endian bootstrap compilers and there
+were no regressions.
+
+Can I install this patch on the GCC 15 trunk?
+
+2024-11-15  Michael Meissner  
+
+gcc/
+
+   * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros) Add support to
+   use architecture flags instead of ISA flags for setting most of the
+   _ARCH_PWR* macros.
+   (rs6000_cpu_cpp_builtins): Update rs6000_target_modify_macros call.
+   * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Remove
+   OPTION_MASK_POWER8.
+   (ISA_3_1_MASKS_SERVER): Remove OPTION_MASK_POWER10.
+   (POWER11_MASKS_SERVER): Remove OPTION_MASK_POWER11.
+   (POWERPC_MASKS): Remove OPTION_MASK_POWER8, OPTION_MASK_POWER10, and
+   OPTION_MASK_POWER11.
+   * config/rs6000/rs6000-protos.h (rs6000_target_modify_macros): Update
+   declaration.
+   (rs6000_target_modify_macros_ptr): Likewise.
+   * config/rs6000/rs6000.cc (rs6000_target_modify_macros_ptr): Likewise.
+   (rs6000_option_override_internal): Use architecture flags instead of ISA
+   flags.
+   (rs6000_opt_masks): Remove -mpower10 and -mpower11, which are no longer
+   in the ISA flags.
+   (rs6000_pragma_target_parse): Use architecture flags as well as ISA
+   flags.
+   * config/rs6000/rs6000.h (TpARGET_POWER5): New macro.
+   (TARGET_POWER5X): Likewise.
+   (TARGET_POWER6): Likewise.
+   (TARGET_POWER7): Likewise.
+   (TARGET_POWER8): Likewise.
+   (TARGET_POWER9): Likewise.
+   (TARGET_POWER10): Likewise.
+   (TARGET_POWER11): Likewise.
+   * config/rs6000/rs6000.opt (-mpower8-internal): Remove ISA flag bits.
+   (-mpower10): Likewise.
+   (-mpower11): Likewise.
+
+ Branch work186, patch #40 
+
+Add rs6000 architecture masks.
+
+This patch begins the journey to move architecture bits that are not user ISA
+options from rs6000_isa_flags to a new targt variable rs6000_arch_flags.  The
+intention is to remove switches that are currently isa options, but the user
+should not be using this particular option. For example, we want users to use
+-mcpu=power10 and not just -mpower10.
+
+This patch also changes the target_clones support to use an architecture mask
+instead of isa bits.
+
+This patch also switches the handling of .machine to use architecture masks if
+they exist (power4 through power11).  All of the other PowerPCs will continue 
to
+use the existing code for setting the .machine option.
+
+I have built both big endian and little endian bootstrap compilers and there
+were no regressions.
+
+In addition, I constructed a test case that used every archiecture define (like
+_ARCH_PWR4, etc.) and I also looked at the .machine directive generated.  I ran
+this test for all supported combinations of -mcpu, big/little endian, and 32/64
+bit support.  Every single instance generated exactly the same code with the
+patches installed compared to the compiler before installing the patches.
+
+The only difference in this patch compared to the first version posted on
+November 6th is that I the correct attribution and copyright year (i.e. that I
+created rs6000-arch.def in 2024).
+
+Can I install this patch on the GCC 15 trunk?
+
+2024-11-15  Michael Meissner  
+
+gcc/
+
+   * config/rs6000/default64.h (TARGET_CPU_DEFAULT): Set default cpu name.
+   * config/rs6000/rs6000-arch.def: New file.
+   * config/rs6000/rs6000.cc (struct clone_map): Switch to using
+   architecture masks instead of ISA masks.
+   (rs6000_clone_map): Likewise.
+   (rs6000_print_isa_options): Add an architecture flags argument, change
+   all callers.
+ 

[gcc(refs/users/meissner/heads/work186)] Update ChangeLog.*

2024-11-15 Thread Michael Meissner via Gcc-cvs
https://gcc.gnu.org/g:bd0913fd7db754c1a63baa34a2ecbda497d92de4

commit bd0913fd7db754c1a63baa34a2ecbda497d92de4
Author: Michael Meissner 
Date:   Fri Nov 15 10:46:09 2024 -0500

Update ChangeLog.*

Diff:
---
 gcc/ChangeLog.meissner | 233 ++---
 1 file changed, 28 insertions(+), 205 deletions(-)

diff --git a/gcc/ChangeLog.meissner b/gcc/ChangeLog.meissner
index 842a7726a645..7085dc9802a7 100644
--- a/gcc/ChangeLog.meissner
+++ b/gcc/ChangeLog.meissner
@@ -1,53 +1,4 @@
- Branch work186, patch #21 
-
-Add -mcpu=future tuning support.
-
-This patch makes -mtune=future use the same tuning decision as -mtune=power11.
-
-2024-11-15  Michael Meissner  
-
-gcc/
-
-   * config/rs6000/power10.md (all reservations): Add future as an
-   alterntive to power10 and power11.
-
- Branch work186, patch #20 
-
-Add support for -mcpu=future
-
-This patch adds the support that can be used in developing GCC support for
-future PowerPC processors.
-
-2024-11-15  Michael Meissner  
-
-   * config.gcc (powerpc*-*-*): Add support for --with-cpu=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/driver-rs6000.cc (asm_names): Likewise.
-   * config/rs6000/rs6000-arch.def: Add future cpu.
-   * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): If
-   -mcpu=future, define _ARCH_FUTURE.
-   * config/rs6000/rs6000-cpus.def (FUTURE_MASKS_SERVER): New macro.
-   (future cpu): Define.
-   * config/rs6000/rs6000-opts.h (enum processor_type): Add
-   PROCESSOR_FUTURE.
-   * config/rs6000/rs6000-tables.opt: Regenerate.
-   * config/rs6000/rs6000.cc (power10_cost): Update comment.
-   (get_arch_flags): Add support for future processor.
-   (rs6000_option_override_internal): Likewise.
-   (rs6000_machine_from_flags): Likewise.
-   (rs6000_reassociation_width): Likewise.
-   (rs6000_adjust_cost): Likewise.
-   (rs6000_issue_rate): Likewise.
-   (rs6000_sched_reorder): Likewise.
-   (rs6000_sched_reorder2): Likewise.
-   (rs6000_register_move_cost): Likewise.
-   * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
-   (TARGET_POWER11): New macro.
-   * config/rs6000/rs6000.md (cpu attribute): Likewise.
-
- Branch work186, patch #12 
+ Branch work186, patch #35 
 
 Do not allow -mvsx to boost processor to power7.
 
@@ -59,13 +10,8 @@ support, it will be an error.
 I have built both big endian and little endian bootstrap compilers and there
 were no regressions.
 
-In addition, I constructed a test case that used every archiecture define (like
-_ARCH_PWR4, etc.) and I also looked at the .machine directive generated.  I ran
-this test for all supported combinations of -mcpu, big/little endian, and 32/64
-bit support.  Every single instance generated exactly the same code with the
-patches installed compared to the compiler before installing the patches.
-
-I updated the 2 tests that used -mvsx to raise the cpu to power7.
+I updated the 2 tests that used -mvsx to raise the cpu to power7, and the test
+case that checks if -mno-vsx produces the expected warning.
 
 Can I install this patch on the GCC 15 trunk?
 
@@ -73,146 +19,20 @@ Can I install this patch on the GCC 15 trunk?
 
 gcc/
 
-   * config/rs6000/rs6000.cc (report_architecture_mismatch): New function.
-   Report an error if the user used an option such as -mvsx when the
-   default processor would not allow the option.
-   (rs6000_option_override_internal): Move some ISA checking code into
-   report_architecture_mismatch.
+   * config/rs6000/rs6000.cc (rs6000_option_override_internal): Check if
+   the user asked for VSX instructions whether the cpu was at least power7.
 
 gcc/testsuite/
 
* gcc.target/powerpc/ppc-target-4.c: Rewrite the test to add cpu=power7
when we need to add VSX support.  Add test for adding cpu=power7 no-vsx
to generate only Altivec instructions.
-   * gcc.target/powerpc/pr115688.c: Add -mdejagnu-cpu=power6 when
-   requesting VSX instructions.
-   * gcc.target/powerpc/pr87496-1.c: Update optins to use
+   * gcc.target/powerpc/pr115688.c: Add cpu=power7 in target __attribute__
+   when requesting VSX instructions.
+   * gcc.target/powerpc/pr87496-1.c: Update options to use
-mdejagnu-cpu=power6 to get the appropriate error message.
 
- Branch work186, patch #11 
-
-Use architecture flags for defining _ARCH_PWR macros.
-
-For the newer architectures, this patch changes GCC to define the _ARCH_PWR
-macros using the new architecture flags instead of relying on isa options li

[gcc(refs/users/meissner/heads/work186)] Update ChangeLog.*

2024-11-14 Thread Michael Meissner via Gcc-cvs
https://gcc.gnu.org/g:81b2cdf680f510a230b88c8f86e1caffb9ef71cd

commit 81b2cdf680f510a230b88c8f86e1caffb9ef71cd
Author: Michael Meissner 
Date:   Fri Nov 15 00:57:55 2024 -0500

Update ChangeLog.*

Diff:
---
 gcc/ChangeLog.meissner | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/gcc/ChangeLog.meissner b/gcc/ChangeLog.meissner
index b119fcae6a40..842a7726a645 100644
--- a/gcc/ChangeLog.meissner
+++ b/gcc/ChangeLog.meissner
@@ -84,8 +84,10 @@ gcc/testsuite/
* gcc.target/powerpc/ppc-target-4.c: Rewrite the test to add cpu=power7
when we need to add VSX support.  Add test for adding cpu=power7 no-vsx
to generate only Altivec instructions.
-   * gcc.target/powerpc/pr115688.c: Add cpu=power7 when requesting VSX
-   instructions.
+   * gcc.target/powerpc/pr115688.c: Add -mdejagnu-cpu=power6 when
+   requesting VSX instructions.
+   * gcc.target/powerpc/pr87496-1.c: Update optins to use
+   -mdejagnu-cpu=power6 to get the appropriate error message.
 
  Branch work186, patch #11 


[gcc(refs/users/meissner/heads/work186)] Update ChangeLog.*

2024-11-14 Thread Michael Meissner via Gcc-cvs
https://gcc.gnu.org/g:f79eae4896f752e695fe555c911791da5cb9bec1

commit f79eae4896f752e695fe555c911791da5cb9bec1
Author: Michael Meissner 
Date:   Thu Nov 14 23:47:43 2024 -0500

Update ChangeLog.*

Diff:
---
 gcc/ChangeLog.meissner | 20 +---
 1 file changed, 9 insertions(+), 11 deletions(-)

diff --git a/gcc/ChangeLog.meissner b/gcc/ChangeLog.meissner
index 4c21bfdabe10..b119fcae6a40 100644
--- a/gcc/ChangeLog.meissner
+++ b/gcc/ChangeLog.meissner
@@ -4,7 +4,7 @@ Add -mcpu=future tuning support.
 
 This patch makes -mtune=future use the same tuning decision as -mtune=power11.
 
-2024-11-14  Michael Meissner  
+2024-11-15  Michael Meissner  
 
 gcc/
 
@@ -18,7 +18,7 @@ Add support for -mcpu=future
 This patch adds the support that can be used in developing GCC support for
 future PowerPC processors.
 
-2024-11-14  Michael Meissner  
+2024-11-15  Michael Meissner  
 
* config.gcc (powerpc*-*-*): Add support for --with-cpu=future.
* config/rs6000/aix71.h (ASM_CPU_SPEC): Add support for -mcpu=future.
@@ -69,7 +69,7 @@ I updated the 2 tests that used -mvsx to raise the cpu to 
power7.
 
 Can I install this patch on the GCC 15 trunk?
 
-2024-11-14  Michael Meissner  
+2024-11-15  Michael Meissner  
 
 gcc/
 
@@ -79,8 +79,6 @@ gcc/
(rs6000_option_override_internal): Move some ISA checking code into
report_architecture_mismatch.
 
-2024-11-06  Michael Meissner  
-
 gcc/testsuite/
 
* gcc.target/powerpc/ppc-target-4.c: Rewrite the test to add cpu=power7
@@ -113,7 +111,7 @@ were no regressions.
 
 Can I install this patch on the GCC 15 trunk?
 
-2024-11-14  Michael Meissner  
+2024-11-15  Michael Meissner  
 
 gcc/
 
@@ -220,7 +218,7 @@ This patch changes TARGET_MODULO to TARGET_POWER9.  The 
-mmodulo switch is not
 being changed, just the name of the macros used to determine if the PowerPC
 processor supports ISA 3.0 (Power9).
 
-2024-11-14  Michael Meissner  
+2024-11-15  Michael Meissner  
 
 gcc/
 
@@ -246,7 +244,7 @@ This patch changes TARGET_POPCNTD to TARGET_POWER7.  The 
-mpopcntd switch is not
 being changed, just the name of the macros used to determine if the PowerPC
 processor supports ISA 2.6 (Power7).
 
-2024-11-14  Michael Meissner  
+2024-11-15  Michael Meissner  
 
 gcc/
 
@@ -293,7 +291,7 @@ This patch changes TARGET_CMPB to TARGET_POWER6.  The 
-mcmpb switch is not being
 changed, just the name of the macros used to determine if the PowerPC processor
 supports ISA 2.5 (Power6).
 
-2024-11-14  Michael Meissner  
+2024-11-15  Michael Meissner  
 
 gcc/
 
@@ -324,7 +322,7 @@ This patch changes TARGET_POWER5X to TARGET_POWER5.  The 
-mfprnd switch is not
 being changed, just the name of the macros used to determine if the PowerPC
 processor supports ISA 2.4 (Power5x).
 
-2024-11-14  Michael Meissner  
+2024-11-15  Michael Meissner  
 
 gcc/
 
@@ -348,7 +346,7 @@ This patch changes TARGET_POPCNTB to TARGET_POWER5.  The 
-mpopcntb switch is not
 being changed in this patch, just the name of the macros used to determine if
 the PowerPC processor supports ISA 2.2 (Power5).
 
-2024-11-14  Michael Meissner  
+2024-11-15  Michael Meissner  
 
 gcc/


[gcc(refs/users/meissner/heads/work186)] Update ChangeLog.*

2024-11-14 Thread Michael Meissner via Gcc-cvs
https://gcc.gnu.org/g:8c6b674e36d5918fda788bb26b5bceb1bdb484f2

commit 8c6b674e36d5918fda788bb26b5bceb1bdb484f2
Author: Michael Meissner 
Date:   Thu Nov 14 23:44:04 2024 -0500

Update ChangeLog.*

Diff:
---
 gcc/ChangeLog.meissner | 214 +
 1 file changed, 214 insertions(+)

diff --git a/gcc/ChangeLog.meissner b/gcc/ChangeLog.meissner
index 23f7f779b59c..4c21bfdabe10 100644
--- a/gcc/ChangeLog.meissner
+++ b/gcc/ChangeLog.meissner
@@ -1,3 +1,217 @@
+ Branch work186, patch #21 
+
+Add -mcpu=future tuning support.
+
+This patch makes -mtune=future use the same tuning decision as -mtune=power11.
+
+2024-11-14  Michael Meissner  
+
+gcc/
+
+   * config/rs6000/power10.md (all reservations): Add future as an
+   alterntive to power10 and power11.
+
+ Branch work186, patch #20 
+
+Add support for -mcpu=future
+
+This patch adds the support that can be used in developing GCC support for
+future PowerPC processors.
+
+2024-11-14  Michael Meissner  
+
+   * config.gcc (powerpc*-*-*): Add support for --with-cpu=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/driver-rs6000.cc (asm_names): Likewise.
+   * config/rs6000/rs6000-arch.def: Add future cpu.
+   * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): If
+   -mcpu=future, define _ARCH_FUTURE.
+   * config/rs6000/rs6000-cpus.def (FUTURE_MASKS_SERVER): New macro.
+   (future cpu): Define.
+   * config/rs6000/rs6000-opts.h (enum processor_type): Add
+   PROCESSOR_FUTURE.
+   * config/rs6000/rs6000-tables.opt: Regenerate.
+   * config/rs6000/rs6000.cc (power10_cost): Update comment.
+   (get_arch_flags): Add support for future processor.
+   (rs6000_option_override_internal): Likewise.
+   (rs6000_machine_from_flags): Likewise.
+   (rs6000_reassociation_width): Likewise.
+   (rs6000_adjust_cost): Likewise.
+   (rs6000_issue_rate): Likewise.
+   (rs6000_sched_reorder): Likewise.
+   (rs6000_sched_reorder2): Likewise.
+   (rs6000_register_move_cost): Likewise.
+   * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
+   (TARGET_POWER11): New macro.
+   * config/rs6000/rs6000.md (cpu attribute): Likewise.
+
+ Branch work186, patch #12 
+
+Do not allow -mvsx to boost processor to power7.
+
+This patch restructures the code so that -mvsx for example will not silently
+convert the processor to power7.  The user must now use -mcpu=power7 or higher.
+This means if the user does -mvsx and the default processor does not have VSX
+support, it will be an error.
+
+I have built both big endian and little endian bootstrap compilers and there
+were no regressions.
+
+In addition, I constructed a test case that used every archiecture define (like
+_ARCH_PWR4, etc.) and I also looked at the .machine directive generated.  I ran
+this test for all supported combinations of -mcpu, big/little endian, and 32/64
+bit support.  Every single instance generated exactly the same code with the
+patches installed compared to the compiler before installing the patches.
+
+I updated the 2 tests that used -mvsx to raise the cpu to power7.
+
+Can I install this patch on the GCC 15 trunk?
+
+2024-11-14  Michael Meissner  
+
+gcc/
+
+   * config/rs6000/rs6000.cc (report_architecture_mismatch): New function.
+   Report an error if the user used an option such as -mvsx when the
+   default processor would not allow the option.
+   (rs6000_option_override_internal): Move some ISA checking code into
+   report_architecture_mismatch.
+
+2024-11-06  Michael Meissner  
+
+gcc/testsuite/
+
+   * gcc.target/powerpc/ppc-target-4.c: Rewrite the test to add cpu=power7
+   when we need to add VSX support.  Add test for adding cpu=power7 no-vsx
+   to generate only Altivec instructions.
+   * gcc.target/powerpc/pr115688.c: Add cpu=power7 when requesting VSX
+   instructions.
+
+ Branch work186, patch #11 
+
+Use architecture flags for defining _ARCH_PWR macros.
+
+For the newer architectures, this patch changes GCC to define the _ARCH_PWR
+macros using the new architecture flags instead of relying on isa options like
+-mpower10.
+
+The -mpower8-internal, -mpower10, and -mpower11 options were removed.  The
+-mpower11 option was removed completely, since it was just added in GCC 15.  
The
+other two options were marked as WarnRemoved, and the various ISA bits were
+removed.
+
+TARGET_POWER8 and TARGET_POWER10 were re-defined to use the architeture bits
+instead of the ISA bits.
+
+There are other internal isa bits that aren't removed with this patch because
+the built-in function support uses thos

[gcc(refs/users/meissner/heads/work186)] Update ChangeLog.*

2024-11-14 Thread Michael Meissner via Gcc-cvs
https://gcc.gnu.org/g:67e4c2848c8fce5874286ebaf3b53c50bc9e8793

commit 67e4c2848c8fce5874286ebaf3b53c50bc9e8793
Author: Michael Meissner 
Date:   Thu Nov 14 23:04:02 2024 -0500

Update ChangeLog.*

Diff:
---
 gcc/ChangeLog.meissner | 137 +
 1 file changed, 46 insertions(+), 91 deletions(-)

diff --git a/gcc/ChangeLog.meissner b/gcc/ChangeLog.meissner
index c1b29fd68f37..23f7f779b59c 100644
--- a/gcc/ChangeLog.meissner
+++ b/gcc/ChangeLog.meissner
@@ -2,58 +2,50 @@
 
 Change TARGET_MODULO to TARGET_POWER9.
 
-This patch changes TARGET_MODULO to TARGET_POWER9 and OPTION_MASK_MODULO to
-OPTION_MASK_POWER9.  The -mmodulo switch is not being changed, just the name of
-the macros used to determine if the PowerPC processor supports ISA 3.0 
(Power9).
+This patch changes TARGET_MODULO to TARGET_POWER9.  The -mmodulo switch is not
+being changed, just the name of the macros used to determine if the PowerPC
+processor supports ISA 3.0 (Power9).
 
 2024-11-14  Michael Meissner  
 
 gcc/
 
* gcc/config/rs6000/rs6000-builtin.cc (rs6000_builtin_is_supported):
-   Change TARGET_MODULO to TARGET_POWER9.  Change OPTION_MASK_MODULO to
-   OPTION_MASK_POWER9.
-   * gcc/config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
-   * gcc/config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Likewise.
-   (POWERPC_MASKS): Likewise.
+   Change TARGET_MODULO to TARGET_POWER9.
* gcc/config/rs6000/rs6000.cc (rs6000_option_override_internal):
Likewise.
-   (rs6000_opt_masks): Likewise.
* gcc/config/rs6000/rs6000.h (TARGET_CTZ): Likewise.
(TARGET_EXTSWSLI): Likewise.
(TARGET_MADDLD): Likewise.
-   * gcc/config/rs6000/rs6000.md (enabled attribute): Likewise.
+   (TARGET_POWER9): New macro.
+   * gcc/config/rs6000/rs6000.md (enabled attribute): Change TARGET_MODULO
+   to TARGET_POWER9.
(mod3): Likewise.
(umod3): Likewise.
(divide/modulo peephole2): Likewise.
-   * gcc/config/rs6000/rs6000.opt (-mmodulo): Likewise.
 
  Branch work186, patch #4 
 
 Change TARGET_POPCNTD to TARGET_POWER7.
 
-This patch changes TARGET_POPCNTD to TARGET_POWER7 and OPTION_MASK_POPCNTD to
-OPTION_MASK_POWER7.  The -mpopcntd switch is not being changed, just the name 
of
-the macros used to determine if the PowerPC processor supports ISA 2.6 
(Power7).
+This patch changes TARGET_POPCNTD to TARGET_POWER7.  The -mpopcntd switch is 
not
+being changed, just the name of the macros used to determine if the PowerPC
+processor supports ISA 2.6 (Power7).
 
 2024-11-14  Michael Meissner  
 
 gcc/
 
* gcc/config/rs6000/dfp.md (cmp_internal1): Change TARGET_POPCNTD
-   to TARGET_POWER7.  Change OPTION_MASK_POPCNTD to OPTION_MASK_POWER7.
+   to TARGET_POWER7.
* gcc/config/rs6000/rs6000-builtin.cc (rs6000_builtin_is_supported):
Likewise.
-   * gcc/config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
-   * gcc/config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_EMBEDDED): Likewise.
-   (ISA_2_6_MASKS_SERVER): Likewise.
-   (POWERPC_MASKS): Likewise.
* gcc/config/rs6000/rs6000-string.cc (expand_block_compare): Likewise.
-   * gcc/config/rs6000/rs6000.cc (rs6000_opt_masks): Likewise.
-   (rs6000_hard_regno_mode_ok_uncached): Likewise.
+   * gcc/config/rs6000/rs6000.cc (rs6000_hard_regno_mode_ok_uncached):
+   Likewise.
(rs6000_option_override_internal): Likewise.
(rs6000_rtx_costs): Likewise.
-   (rs6000_opt_masks): Likewise.
+   (rs6000_emit_popcount): Likewise.
* gcc/config/rs6000/rs6000.h (TARGET_LDBRX): Likewise.
(TARGET_FCFID): Likewise.
(TARGET_LFIWZX): Likewise.
@@ -63,13 +55,13 @@ gcc/
(TARGET_FCTIDUZ): Likewise.
(TARGET_FCTIWUZ): Likewise.
(TARGET_FCTIDUZ): Likewise.
-   (TARGET_EXTRA_BUILTINS): Likewise.
+   (TARGET_POWER7): New macro.
+   (TARGET_EXTRA_BUILTINS): Change TARGET_POPCNTD to TARGET_POWER7.
(CTZ_DEFINED_VALUE_AT_ZERO): Likewise.
* gcc/config/rs6000/rs6000.md (enabled attribute): Likewise.
(ctz2): Likewise.
-   (ffs2): Likewise.
-   (popcntb2): Likewise.
-   (lrintsi): Likewise.
+   (popcntd2): Likewise.
+   (lrintsi2): Likewise.
(lrintsi): Likewise.
(lrintsi_di): Likewise.
(cmpmemsi): Likewise.
@@ -78,125 +70,88 @@ gcc/
(cdtbcd): Likewise.
(cbcdtd): Likewise.
(div_): Likewise.
-   * gcc/config/rs6000/rs6000.opt (-mpopcntd): Likewise.
 
  Branch work186, patch #3 
 
 Change TARGET_CMPB to TARGET_POWER6.
 
-This patch changes TARGET_CMPB to TARGET_POWER6 and OPTION_MASK_CMPB to
-OPTION_MASK_POWER6.  The -mcmpb switch is not being changed, just the name of
-the macros used to determine if the PowerPC processor supports ISA 2.5 
(Power6).
+This p

[gcc(refs/users/meissner/heads/work186)] Update ChangeLog.*

2024-11-14 Thread Michael Meissner via Gcc-cvs
https://gcc.gnu.org/g:578f73b983bf04e1ee7724548e298ad4487bdd22

commit 578f73b983bf04e1ee7724548e298ad4487bdd22
Author: Michael Meissner 
Date:   Thu Nov 14 14:50:10 2024 -0500

Update ChangeLog.*

Diff:
---
 gcc/ChangeLog.meissner | 233 +
 1 file changed, 233 insertions(+)

diff --git a/gcc/ChangeLog.meissner b/gcc/ChangeLog.meissner
index 81b644bdeb4f..c1b29fd68f37 100644
--- a/gcc/ChangeLog.meissner
+++ b/gcc/ChangeLog.meissner
@@ -1,5 +1,238 @@
+ Branch work186, patch #5 
+
+Change TARGET_MODULO to TARGET_POWER9.
+
+This patch changes TARGET_MODULO to TARGET_POWER9 and OPTION_MASK_MODULO to
+OPTION_MASK_POWER9.  The -mmodulo switch is not being changed, just the name of
+the macros used to determine if the PowerPC processor supports ISA 3.0 
(Power9).
+
+2024-11-14  Michael Meissner  
+
+gcc/
+
+   * gcc/config/rs6000/rs6000-builtin.cc (rs6000_builtin_is_supported):
+   Change TARGET_MODULO to TARGET_POWER9.  Change OPTION_MASK_MODULO to
+   OPTION_MASK_POWER9.
+   * gcc/config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
+   * gcc/config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Likewise.
+   (POWERPC_MASKS): Likewise.
+   * gcc/config/rs6000/rs6000.cc (rs6000_option_override_internal):
+   Likewise.
+   (rs6000_opt_masks): Likewise.
+   * gcc/config/rs6000/rs6000.h (TARGET_CTZ): Likewise.
+   (TARGET_EXTSWSLI): Likewise.
+   (TARGET_MADDLD): Likewise.
+   * gcc/config/rs6000/rs6000.md (enabled attribute): Likewise.
+   (mod3): Likewise.
+   (umod3): Likewise.
+   (divide/modulo peephole2): Likewise.
+   * gcc/config/rs6000/rs6000.opt (-mmodulo): Likewise.
+
+ Branch work186, patch #4 
+
+Change TARGET_POPCNTD to TARGET_POWER7.
+
+This patch changes TARGET_POPCNTD to TARGET_POWER7 and OPTION_MASK_POPCNTD to
+OPTION_MASK_POWER7.  The -mpopcntd switch is not being changed, just the name 
of
+the macros used to determine if the PowerPC processor supports ISA 2.6 
(Power7).
+
+2024-11-14  Michael Meissner  
+
+gcc/
+
+   * gcc/config/rs6000/dfp.md (cmp_internal1): Change TARGET_POPCNTD
+   to TARGET_POWER7.  Change OPTION_MASK_POPCNTD to OPTION_MASK_POWER7.
+   * gcc/config/rs6000/rs6000-builtin.cc (rs6000_builtin_is_supported):
+   Likewise.
+   * gcc/config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
+   * gcc/config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_EMBEDDED): Likewise.
+   (ISA_2_6_MASKS_SERVER): Likewise.
+   (POWERPC_MASKS): Likewise.
+   * gcc/config/rs6000/rs6000-string.cc (expand_block_compare): Likewise.
+   * gcc/config/rs6000/rs6000.cc (rs6000_opt_masks): Likewise.
+   (rs6000_hard_regno_mode_ok_uncached): Likewise.
+   (rs6000_option_override_internal): Likewise.
+   (rs6000_rtx_costs): Likewise.
+   (rs6000_opt_masks): Likewise.
+   * gcc/config/rs6000/rs6000.h (TARGET_LDBRX): Likewise.
+   (TARGET_FCFID): Likewise.
+   (TARGET_LFIWZX): Likewise.
+   (TARGET_FCFIDS): Likewise.
+   (TARGET_FCFIDU): Likewise.
+   (TARGET_FCFIDUS): Likewise.
+   (TARGET_FCTIDUZ): Likewise.
+   (TARGET_FCTIWUZ): Likewise.
+   (TARGET_FCTIDUZ): Likewise.
+   (TARGET_EXTRA_BUILTINS): Likewise.
+   (CTZ_DEFINED_VALUE_AT_ZERO): Likewise.
+   * gcc/config/rs6000/rs6000.md (enabled attribute): Likewise.
+   (ctz2): Likewise.
+   (ffs2): Likewise.
+   (popcntb2): Likewise.
+   (lrintsi): Likewise.
+   (lrintsi): Likewise.
+   (lrintsi_di): Likewise.
+   (cmpmemsi): Likewise.
+   (bpermd_): Likewise.
+   (addg6s): Likewise.
+   (cdtbcd): Likewise.
+   (cbcdtd): Likewise.
+   (div_): Likewise.
+   * gcc/config/rs6000/rs6000.opt (-mpopcntd): Likewise.
+
+ Branch work186, patch #3 
+
+Change TARGET_CMPB to TARGET_POWER6.
+
+This patch changes TARGET_CMPB to TARGET_POWER6 and OPTION_MASK_CMPB to
+OPTION_MASK_POWER6.  The -mcmpb switch is not being changed, just the name of
+the macros used to determine if the PowerPC processor supports ISA 2.5 
(Power6).
+
+2024-11-14  Michael Meissner  
+
+gcc/
+
+   * gcc/config/rs6000/rs6000-builtin.cc (rs6000_builtin_is_supported):
+   Change TARGET_CMPB to TARGET_POWER6.  Change OPTION_MASK_CMPB to
+   OPTION_MASK_POWER6.
+   * gcc/config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
+   * gcc/config/rs6000/rs6000-cpus.def (ISA_2_5_MASKS_EMBEDDED): Likewise.
+   (POWERPC_MASKS): Likewise.
+   (476 cpu definition): Likewise.
+   (476fp cpu definition): Likewise.
+   (a2 cpu definition): Likewise.
+   (power6 cpu definition): Likewise.
+   * gcc/config/rs6000/rs6000.cc (rs6000_clone_map): Likewise.
+   (rs6000_option_override_internal): Likewise.
+   (rs6000_rtx_costs): Likewise.
+   (rs6000