Hello All: Common infrastructure using generic code for pair mem fusion of different targets.
Implements additional interface virtual function implementation required for rs6000 target. Tested for aarch64-linux-gnu. Thanks & Regards Ajit aarch64: Additional interface function implementation. Common infrastructure using generic code for pair mem fusion of different targets. Implements additional interface virtual function implementation required for rs6000 target. 2024-06-02 Ajit Kumar Agarwal <aagar...@linux.ibm.com> gcc/ChangeLog: * config/aarch64/aarch64-ldp-fusion.cc: Add target specific implementation of additional virtual functions added in pair_fusion struct. --- gcc/config/aarch64/aarch64-ldp-fusion.cc | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gcc/config/aarch64/aarch64-ldp-fusion.cc b/gcc/config/aarch64/aarch64-ldp-fusion.cc index 0af927231d3..784cdc3937c 100644 --- a/gcc/config/aarch64/aarch64-ldp-fusion.cc +++ b/gcc/config/aarch64/aarch64-ldp-fusion.cc @@ -104,6 +104,29 @@ struct aarch64_pair_fusion : public pair_fusion bool load_p) override final; rtx destructure_pair (rtx regs[2], rtx pattern, bool load_p) override final; + + bool should_handle_unordered_insns (rtl_ssa::insn_info *, + rtl_ssa::insn_info *) override final + { + return true; + } + + bool fuseable_store_p (rtl_ssa::insn_info *, + rtl_ssa::insn_info *) override final + { + return true; + } + + bool fuseable_load_p (rtl_ssa::insn_info *) override final + { + return true; + } + + void set_multiword_subreg (rtl_ssa::insn_info *, rtl_ssa::insn_info *, + bool) override final + { + return; + } }; bool -- 2.43.0