[gcc(refs/users/meissner/heads/dmf001)] Update ChangeLog.meissner.
Michael Meissner
meissner@gcc.gnu.org
Mon Oct 10 21:52:07 GMT 2022
https://gcc.gnu.org/g:e79b6684d4f2074fcfcb72d0010bb4c0789b77f8
commit e79b6684d4f2074fcfcb72d0010bb4c0789b77f8
Author: Michael Meissner <meissner@linux.ibm.com>
Date: Mon Oct 10 17:51:42 2022 -0400
Update ChangeLog.meissner.
2022-10-10 Michael Meissner <meissner@linux.ibm.com>
gcc/
* ChangeLog.meissner: Update.
Diff:
---
gcc/ChangeLog.meissner | 107 +++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 107 insertions(+)
diff --git a/gcc/ChangeLog.meissner b/gcc/ChangeLog.meissner
index a0706e92964..dc19dd754a6 100644
--- a/gcc/ChangeLog.meissner
+++ b/gcc/ChangeLog.meissner
@@ -1,3 +1,110 @@
+==================== dmf001, patch #3
+
+Add initial DMR register support for XOmode.
+
+2022-10-10 Michael Meissner <meissner@linux.ibm.com>
+
+gcc/
+
+ * config/rs6000/mma.md (movxo_p10): Rename from movxo, and limit its use
+ to non-DMF systems.
+ (movxo_dmf): New insn.
+ (mma_<acc>): NOP prime/de-prime usage when -mdmf is used.
+ * config/rs6000/rs6000.cc (rs6000_hard_regno_mode_ok_uncached): Allow
+ XOmode in DMR registers or Altivec registers if -mdmf.
+ (rs6000_setup_reg_addr_masks): Add support to allow TDOmode in DMF
+ registers, and also in Altivec registers if -mdmf. TDOmode registers
+ can do offset addressing but not indexed addressing.
+ (rs6000_init_hard_regno_mode_ok): Add support for TDOmode.
+ (reg_offset_addressing_ok_p): Likewise.
+ (rs6000_emit_move): Warn about using SUBREGs with TDOmode.
+ (rs6000_preferred_reload_class): DMF registers can't be loaded or
+ stored. With -mdmf, XOmode can go in Altivec registers. TDOmode needs
+ to use VSX registers for load/store.
+ (rs6000_compute_pressure_classes): Add DMF registers to the pressure
+ classses.
+ (rs6000_split_multireg_move): If -mdmf, we don't need to prime or
+ de-prime the acculators. Add initial support for TDOmode.
+ (rs6000_invalid_conversion): Warn about converting __dmr types.
+ * config/rs6000/rs6000.h (DMF_REG_CLASS_P): New macro.
+
+==================== dmf001, patch #2
+
+Add initial DMR register support.
+
+2022-10-07 Michael Meissner <meissner@linux.ibm.com>
+
+gcc/
+
+ * config/rs6000/constraints.md (wD): New constraint.
+ * config/rs6000/predicates.md (dmf_operand): New predicate.
+ * config/rs6000/rs6000-modes.def (TDOmode): New opaque mode.
+ * config/rs6000/rs6000.cc (rs6000_reg_type): Add support for DMF
+ registers.
+ (rs6000_reload_reg_type): Likewise.
+ (LAST_RELOAD_REG_CLASS): Likewise.
+ (reload_reg_map): Likewise.
+ (addr_mask_type): Grow to 16 bits.
+ (RELOAD_REG_NO_MEMORY): New RELOAD_REG macro.
+ (rs6000_reg_names): Add DMR registers.
+ (alt_reg_names): Likewise.
+ (rs6000_hard_regno_nregs_internal): Add support for DMF registers.
+ (rs6000_hard_regno_mode_ok_uncached): Likewise.
+ (rs6000_modes_tieable_p): Likewise.
+ (rs6000_debug_addr_mask): Likewise.
+ (rs6000_debug_reg_global): Likewise.
+ (rs6000_setup_reg_addr_masks): Likewise.
+ (rs6000_init_hard_regno_mode_ok): Likewise.
+ * config/rs6000/rs6000.h (UNITS_PER_DMF_WORD): New macro.
+ (FIRST_PSEUDO_REGISTER): Add support for DMF registers.
+ (FIXED_REGISTERS): Likewise.
+ (CALL_REALLY_USED_REGISTERS): Likewise.
+ (REG_ALLOC_ORDER): Likewise.
+ (DMF_REGNO_P): New macro.
+ (enum reg_class): Likewise.
+ (REG_CLASS_NAMES): Likewise.
+ (REG_CLASS_CONTENTS): Likewise.
+ (REGISTER_NAMES): Likewise.
+ (ADDITIONAL_REGISTER_NAMES): Likewise.
+ * config/rs6000/rs6000.md (FIRST_DMF_REGNO): New constant.
+ (LAST_DMF_REGNO): New constant.
+ (isa attribute): Add dmf and mma_fpr attributes.
+ (enabled attribute): Add support for dmf and mma_fpr attributes.
+
+==================== dmf001, patch #3
+
+Add -mcpu=future/-mdmf instrastructure.
+
+2022-10-07 Michael Meissner <meissner@linux.ibm.com>
+
+gcc/
+
+ * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define
+ __DMF__ if dmf support is enabled.
+ * config/rs6000/rs6000-cpus.def (ISA_FUTURE_MASKS): New macro.
+ (POWERPC_MASKS): Add -mblock-ops-vector-pair and -mdmf.
+ (future cpu): Add -mcpu=future and -mtune=future support.
+ * config/rs6000/rs6000-opts.h (processor_type): Add PROCESSOR_FUTURE.
+ * config/rs6000/rs6000-tables.op: Regenerate.
+ * config/rs6000/rs6000.cc (rs6000_option_override_internal): Add
+ -mcpu=future and -mtune=future support, but for now make them mostly
+ equivalent to power10. Add -mdmf checking.
+ (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 -mdmf.
+ * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -mcpu=future support.
+ * config/rs6000/rs6000.md (cpu attribute): Add future.
+ (isa attribute): Add dmf.
+ (enabled attribute): Likewise.
+ * config/rs6000/rs6000.opt (-mdmf): New option.
+
+==================== dmf001, base line
+
2022-10-06 Michael Meissner <meissner@linux.ibm.com>
Clone branch
More information about the Gcc-cvs
mailing list