• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/llvm/lib/Target/Hexagon/

Lines Matching refs:Hexagon

1 //===------- HexagonCopyToCombine.cpp - Hexagon Copy-To-Combine Pass ------===//
80 return "Hexagon Copy-To-Combine Pass";
125 "Hexagon Copy-To-Combine Pass", false, false)
130 case Hexagon::A2_tfr: {
138 return Hexagon::IntRegsRegClass.contains(DestReg) &&
139 Hexagon::IntRegsRegClass.contains(SrcReg);
142 case Hexagon::A2_tfrsi: {
158 return Hexagon::IntRegsRegClass.contains(DestReg) &&
162 case Hexagon::V6_vassign:
173 if (I.getOpcode() == Hexagon::TFRI64_V4 ||
174 I.getOpcode() == Hexagon::A2_tfrsi) {
191 case Hexagon::A2_tfr:
192 case Hexagon::A2_tfrsi:
193 case Hexagon::V6_vassign:
202 if (HiOpc == Hexagon::V6_vassign || LoOpc == Hexagon::V6_vassign)
230 if (Hexagon::IntRegsRegClass.contains(Reg))
231 return (Reg - Hexagon::R0) % 2 == 0;
232 if (Hexagon::HvxVRRegClass.contains(Reg))
233 return (Reg - Hexagon::V0) % 2 == 0;
446 if (Hexagon::DoubleRegsRegClass.contains(Reg)) {
449 } else if (Hexagon::IntRegsRegClass.contains(Reg))
452 for (unsigned Reg : Hexagon::IntRegsRegClass)
593 if (Hexagon::IntRegsRegClass.contains(LoRegDef)) {
594 SuperRC = &Hexagon::DoubleRegsRegClass;
595 SubLo = Hexagon::isub_lo;
596 } else if (Hexagon::HvxVRRegClass.contains(LoRegDef)) {
598 SuperRC = &Hexagon::HvxWRRegClass;
599 SubLo = Hexagon::vsub_lo;
663 BuildMI(*BB, InsertPt, DL, TII->get(Hexagon::CONST64), DoubleDestReg)
676 BuildMI(*BB, InsertPt, DL, TII->get(Hexagon::A2_combineii), DoubleDestReg)
683 BuildMI(*BB, InsertPt, DL, TII->get(Hexagon::A4_combineii), DoubleDestReg)
692 BuildMI(*BB, InsertPt, DL, TII->get(Hexagon::A2_combineii), DoubleDestReg)
699 BuildMI(*BB, InsertPt, DL, TII->get(Hexagon::A4_combineii), DoubleDestReg)
708 BuildMI(*BB, InsertPt, DL, TII->get(Hexagon::A2_combineii), DoubleDestReg)
714 BuildMI(*BB, InsertPt, DL, TII->get(Hexagon::A4_combineii), DoubleDestReg)
722 BuildMI(*BB, InsertPt, DL, TII->get(Hexagon::A2_combineii), DoubleDestReg)
729 BuildMI(*BB, InsertPt, DL, TII->get(Hexagon::A4_combineii), DoubleDestReg)
736 // First preference should be given to Hexagon::A2_combineii instruction
737 // as it can include U6 (in Hexagon::A4_combineii) as well.
740 BuildMI(*BB, InsertPt, DL, TII->get(Hexagon::A2_combineii), DoubleDestReg)
748 BuildMI(*BB, InsertPt, DL, TII->get(Hexagon::A4_combineii), DoubleDestReg)
756 BuildMI(*BB, InsertPt, DL, TII->get(Hexagon::A2_combineii), DoubleDestReg)
773 BuildMI(*BB, InsertPt, DL, TII->get(Hexagon::A4_combineir), DoubleDestReg)
781 BuildMI(*BB, InsertPt, DL, TII->get(Hexagon::A4_combineir), DoubleDestReg)
789 BuildMI(*BB, InsertPt, DL, TII->get(Hexagon::A4_combineir), DoubleDestReg)
796 BuildMI(*BB, InsertPt, DL, TII->get(Hexagon::A4_combineir), DoubleDestReg)
804 BuildMI(*BB, InsertPt, DL, TII->get(Hexagon::A4_combineir), DoubleDestReg)
821 BuildMI(*BB, InsertPt, DL, TII->get(Hexagon::A4_combineri), DoubleDestReg)
829 BuildMI(*BB, InsertPt, DL, TII->get(Hexagon::A4_combineri), DoubleDestReg)
837 BuildMI(*BB, InsertPt, DL, TII->get(Hexagon::A4_combineri), DoubleDestReg)
844 BuildMI(*BB, InsertPt, DL, TII->get(Hexagon::A4_combineri), DoubleDestReg)
853 BuildMI(*BB, InsertPt, DL, TII->get(Hexagon::A4_combineri), DoubleDestReg)
873 if (Hexagon::DoubleRegsRegClass.contains(DoubleDestReg)) {
874 NewOpc = Hexagon::A2_combinew;
875 } else if (Hexagon::HvxWRRegClass.contains(DoubleDestReg)) {
877 NewOpc = Hexagon::V6_vcombine;