[gcc(refs/users/meissner/heads/work168-tar)] Update ChangeLog.*

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

commit aca81acacb06caf3031674541bd83bd6a70776ac
Author: Michael Meissner 
Date:   Tue Jun 11 18:24:20 2024 -0400

Update ChangeLog.*

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

diff --git a/gcc/ChangeLog.tar b/gcc/ChangeLog.tar
index ec645be708f2..e1609221b2c7 100644
--- a/gcc/ChangeLog.tar
+++ b/gcc/ChangeLog.tar
@@ -1,3 +1,15 @@
+ Branch work168-tar, patch #203 
+
+Add -mlrspr.
+
+2024-06-11  Michael Meissner  
+
+gcc/
+
+   * config/rs6000/rs6000.cc (rs6000_hard_regno_mode_ok_uncached): Add
+   support for -mlrspr.
+   * config/rs6000/rs6000.opt (-mlrspr): New debug option.
+
  Branch work168-tar, patch #202 
 
 Add options for modes in SPR registers.


[gcc(refs/users/meissner/heads/work168-tar)] Update ChangeLog.*

2024-06-10 Thread Michael Meissner via Gcc-cvs
https://gcc.gnu.org/g:34c54380d9e75419800af47d5c0a26b1bb045bd1

commit 34c54380d9e75419800af47d5c0a26b1bb045bd1
Author: Michael Meissner 
Date:   Mon Jun 10 18:01:50 2024 -0400

Update ChangeLog.*

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

diff --git a/gcc/ChangeLog.tar b/gcc/ChangeLog.tar
index a69b0f59eac..ec645be708f 100644
--- a/gcc/ChangeLog.tar
+++ b/gcc/ChangeLog.tar
@@ -1,3 +1,21 @@
+ Branch work168-tar, patch #202 
+
+Add options for modes in SPR registers.
+
+2024-06-10  Michael Meissner  
+
+gcc/
+
+   * config/rs6000/rs6000.cc (rs6000_hard_regno_mode_ok_uncached): Add
+   support for -m{cc,qi,hi,si,sf,df}spr.
+   (rs6000_debug_reg_global): Print out SPR mode options.
+   * config/rs6000/rs6000.opt (-mccspr): New option.
+   (-mqispr): Likewise.
+   (-mhispr): Likewise.
+   (-msispr): Likewise.
+   (-msfspr): Likewise.
+   (-mdfspr): Likewise.
+
  Branch work168-tar, patch #201 
 
 Add support for the TAR register.


[gcc(refs/users/meissner/heads/work168-tar)] Update ChangeLog.*

2024-06-04 Thread Michael Meissner via Gcc-cvs
https://gcc.gnu.org/g:42f6f1cdec43877fd0532acd297deba0aec5c3c2

commit 42f6f1cdec43877fd0532acd297deba0aec5c3c2
Author: Michael Meissner 
Date:   Tue Jun 4 14:29:19 2024 -0400

Update ChangeLog.*

Diff:
---
 gcc/ChangeLog.tar | 248 +-
 1 file changed, 247 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog.tar b/gcc/ChangeLog.tar
index c512209738a..a69b0f59eac 100644
--- a/gcc/ChangeLog.tar
+++ b/gcc/ChangeLog.tar
@@ -1,6 +1,252 @@
+ Branch work168-tar, patch #201 
+
+Add support for the TAR register.
+
+2024-06-04  Michael Meissner  
+
+gcc/
+
+   * config/rs6000/constraints.md (h constraint): Add TAR register to the
+   documentation.
+   (wt constraint): New constraint.
+   * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Document that we
+   do not explicitly add -mtar for power9.
+   (OTHER_POWER10_MASKS): Add -mtar.
+   (POWERPC_MASKS): Likewise.
+   * config/rs6000/rs6000.cc (rs6000_reg_names): Add TAR register support.
+   (alt_reg_names): Likewise.
+   (rs6000_hard_regno_mode_ok_uncached): Likewise.
+   (rs6000_debug_reg_global): Print the register class that wt maps too.
+   (rs6000_init_hard_regno_mode_ok): Add TAR register support.
+   (rs6000_option_override_internal): Restrict -mtar to power9 and above.
+   (rs6000_conditional_register_usage): Add TAR register support.
+   (print_operand): Likewise.
+   (rs6000_debugger_regno): Likewise.
+   (rs6000_opt_masks): Add support for -mtar.
+   * config/rs6000/rs6000.h (FIRST_PSEUDO_REGISTER): Add TAR register
+   support.
+   (FIXED_REGISTERS): Likewise.
+   (CALL_REALLY_USED_REGISTERS): Likewise.
+   (REG_ALLOC_ORDER): Likewise.
+   (enum reg_class): Likewise.
+   (REG_CLASS_NAMES): Likewise.
+   (REG_CLASS_CONTENTS): Likewise.
+   (enum r6000_reg_class_enum): Add support for the wt constraint.
+   * config/rs6000/rs6000.md (TAR_REGNO): New constant.
+   (mov_internal): Add TAR register support.
+   (call_indirect_nonlocal_sysv): Likewise.
+   (call_value_indirect_nonlocal_sysv): Likewise.
+   (call_indirect_aix): Likewise.
+   (call_value_indirect_aix): Likewise.
+   (call_indirect_elfv2): Likewise.
+   (call_indirect_pcrel): Likewise.
+   (call_value_indirect_elfv2): Likewise.
+   (call_value_indirect_pcrel): Likewise.
+   (*sibcall_indirect_nonlocal_sysv): Likewise.
+   (sibcall_value_indirect_nonlocal_sysv): Likewise.
+   (indirect_jump): Likewise.
+   (@indirect_jump_nospec): Likewise.
+   (@tablejump_insn_normal): Likewise.
+   (@tablejump_insn_nospec): Likewise.
+   * config/rs6000/rs6000.opt (-mtar): New option.
+
+gcc/testsuite/
+
+   * gcc.target/powerpc/ppc-switch-1.c: Update test for the TAR register.
+   * gcc.target/powerpc/pr51513.c: Likewise.
+   * gcc.target/powerpc/safe-indirect-jump-2.c: Likewise.
+   * gcc.target/powerpc/safe-indirect-jump-3.c: Likewise.
+   * gcc.target/powerpc/tar-register.c: New test.
+
+ Branch work168-tar, patch #200 
+
+Restrict SPR to appropriate integer modes.
+
+In preparation for the patches to add support for the TAR register, I 
restricted
+the modes that special purpose registers (SPRs) could hold to be appropriate
+sized scalar integers.  I have discovered occasionally when GCC has run out of
+registers, it will use the SPRs to hold values instead of spilling them to the
+stack.  The LR/CTR registers can hold 8/16/32-bit values and on 64-bit systems,
+they can also hold 64-bit values.  The VRSAVE and VSCR registers can only hold
+32-bit values.
+
+2024-06-04  Michael Meissner  
+
+gcc/
+
+   * config/rs6000/rs6000.cc (rs6000_hard_regno_mode_ok_uncached): Restrict
+   SPR registers to only hold scalar integer modes of an appropriate size.
+   * config/rs6000/rs6000.md (movcc_): Remove alternatives that move
+   values to/from the SPRs.
+   (movsf_hardfloat): Likewise.
+   (movsd_hardfloat): Likewise.
+   (mov_softfloat): Likewise.
+   (mov_softfloat32): Likewise.
+   (mov_hardfloat64): Likewise.
+   (*mov_softfloat64): Likewise.
+
+ Branch work168-tar, patch #11 from work168 branch 

+
+Add -mcpu=future tuning support.
+
+This patch makes -mtune=future use the same tuning decision as -mtune=power11.
+
+2024-06-03  Michael Meissner  
+
+gcc/
+
+   * config/rs6000/power10.md (all reservations): Add future as an
+   alterntive to power10 and power11.
+
+ Branch work168-tar, patch #10 from work168 branch 

+
+Add -mcpu=future support.
+
+This patch adds the future option to the -mcpu= and -mtune= switches.
+
+This patch treats the future like a power11 in terms of costs and reassociation
+width.
+
+This patch issues a ".machine future" to the