Lines Matching refs:Hexagon
1 //===------- HexagonCopyToCombine.cpp - Hexagon Copy-To-Combine Pass ------===//
15 #include "Hexagon.h"
37 #define DEBUG_TYPE "hexagon-copy-combine"
76 return "Hexagon Copy-To-Combine Pass";
110 INITIALIZE_PASS(HexagonCopyToCombine, "hexagon-copy-combine",
111 "Hexagon Copy-To-Combine Pass", false, false)
117 case Hexagon::TFR: {
123 return Hexagon::IntRegsRegClass.contains(DestReg) &&
124 Hexagon::IntRegsRegClass.contains(SrcReg);
127 case Hexagon::TFRI: {
134 return Hexagon::IntRegsRegClass.contains(DestReg) &&
138 case Hexagon::TFRI_V4: {
150 return Hexagon::IntRegsRegClass.contains(DestReg);
161 return I->getOpcode() == Hexagon::TFRI &&
165 return I->getOpcode() == Hexagon::TFRI &&
174 assert((HighRegInst->getOpcode() == Hexagon::TFR ||
175 HighRegInst->getOpcode() == Hexagon::TFRI ||
176 HighRegInst->getOpcode() == Hexagon::TFRI_V4) &&
177 (LowRegInst->getOpcode() == Hexagon::TFR ||
178 LowRegInst->getOpcode() == Hexagon::TFRI ||
179 LowRegInst->getOpcode() == Hexagon::TFRI_V4) &&
195 if ((HighRegInst->getOpcode() == Hexagon::TFRI_V4 ||
197 (LowRegInst->getOpcode() == Hexagon::TFRI_V4 ||
206 Hexagon::IntRegsRegClass.contains(Reg));
207 return (Reg - Hexagon::R0) % 2 == 0;
403 if (Hexagon::DoubleRegsRegClass.contains(Reg)) {
407 } else if (Hexagon::IntRegsRegClass.contains(Reg))
527 TRI->getMatchingSuperReg(LoRegDef, Hexagon::subreg_loreg,
528 &Hexagon::DoubleRegsRegClass);
566 BuildMI(*BB, InsertPt, DL, TII->get(Hexagon::COMBINE_Ii), DoubleDestReg)
573 BuildMI(*BB, InsertPt, DL, TII->get(Hexagon::COMBINE_iI_V4), DoubleDestReg)
583 BuildMI(*BB, InsertPt, DL, TII->get(Hexagon::COMBINE_Ii), DoubleDestReg)
591 BuildMI(*BB, InsertPt, DL, TII->get(Hexagon::COMBINE_iI_V4), DoubleDestReg)
599 BuildMI(*BB, InsertPt, DL, TII->get(Hexagon::COMBINE_Ii), DoubleDestReg)
616 BuildMI(*BB, InsertPt, DL, TII->get(Hexagon::COMBINE_Ir_V4), DoubleDestReg)
624 BuildMI(*BB, InsertPt, DL, TII->get(Hexagon::COMBINE_Ir_V4), DoubleDestReg)
641 BuildMI(*BB, InsertPt, DL, TII->get(Hexagon::COMBINE_rI_V4), DoubleDestReg)
650 BuildMI(*BB, InsertPt, DL, TII->get(Hexagon::COMBINE_rI_V4), DoubleDestReg)
669 BuildMI(*BB, InsertPt, DL, TII->get(Hexagon::COMBINE_rr), DoubleDestReg)