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