Home | History | Annotate | Download | only in Hexagon

Lines Matching full:srcreg

598       unsigned SrcReg, bool KillSrc) const {
600 if (Hexagon::IntRegsRegClass.contains(SrcReg, DestReg)) {
601 BuildMI(MBB, I, DL, get(Hexagon::A2_tfr), DestReg).addReg(SrcReg);
604 if (Hexagon::DoubleRegsRegClass.contains(SrcReg, DestReg)) {
605 BuildMI(MBB, I, DL, get(Hexagon::A2_tfrp), DestReg).addReg(SrcReg);
608 if (Hexagon::PredRegsRegClass.contains(SrcReg, DestReg)) {
611 DestReg).addReg(SrcReg).addReg(SrcReg);
615 Hexagon::IntRegsRegClass.contains(SrcReg)) {
617 if(SrcReg == RI.getSubReg(DestReg, Hexagon::subreg_loreg)) {
624 Hexagon::subreg_loreg))).addReg(SrcReg);
631 Hexagon::IntRegsRegClass.contains(SrcReg)) {
632 BuildMI(MBB, I, DL, get(Hexagon::A2_tfrrcr), DestReg).addReg(SrcReg);
635 if (Hexagon::PredRegsRegClass.contains(SrcReg) &&
638 addReg(SrcReg, getKillRegState(KillSrc));
641 if (Hexagon::IntRegsRegClass.contains(SrcReg) &&
644 addReg(SrcReg, getKillRegState(KillSrc));
647 if (Hexagon::PredRegsRegClass.contains(SrcReg) &&
650 addReg(SrcReg, getKillRegState(KillSrc));
653 if (Hexagon::VectorRegsRegClass.contains(SrcReg, DestReg)) {
655 addReg(SrcReg, getKillRegState(KillSrc));
658 if (Hexagon::VecDblRegsRegClass.contains(SrcReg, DestReg)) {
660 addReg(HRI.getSubReg(SrcReg, Hexagon::subreg_hireg),
662 addReg(HRI.getSubReg(SrcReg, Hexagon::subreg_loreg),
666 if (Hexagon::VecPredRegsRegClass.contains(SrcReg, DestReg)) {
668 addReg(SrcReg).
669 addReg(SrcReg, getKillRegState(KillSrc));
672 if (Hexagon::VecPredRegsRegClass.contains(SrcReg) &&
678 Hexagon::VectorRegsRegClass.contains(SrcReg)) {
682 if (Hexagon::VecPredRegs128BRegClass.contains(SrcReg, DestReg)) {
685 addReg(HRI.getSubReg(SrcReg, Hexagon::subreg_hireg),
689 addReg(HRI.getSubReg(SrcReg, Hexagon::subreg_loreg),
698 << " = " << PrintReg(SrcReg, &HRI) << '\n';
705 MachineBasicBlock::iterator I, unsigned SrcReg, bool isKill, int FI,
719 .addReg(SrcReg, getKillRegState(isKill)).addMemOperand(MMO);
723 .addReg(SrcReg, getKillRegState(isKill)).addMemOperand(MMO);
727 .addReg(SrcReg, getKillRegState(isKill)).addMemOperand(MMO);
785 unsigned SrcReg = MI->getOperand(1).getReg();
787 if (SrcReg != DstReg)
788 copyPhysReg(MBB, MI, DL, DstReg, SrcReg, MI->getOperand(1).isKill());
794 unsigned SrcReg = MI->getOperand(1).getReg();
796 unsigned SrcSubLo = HRI.getSubReg(SrcReg, Hexagon::subreg_loreg);
804 unsigned SrcReg = MI->getOperand(1).getReg();
806 unsigned SrcSubHi = HRI.getSubReg(SrcReg, Hexagon::subreg_hireg);
815 unsigned SrcReg = MI->getOperand(2).getReg();
816 unsigned SrcSubHi = HRI.getSubReg(SrcReg, Hexagon::subreg_hireg);
817 unsigned SrcSubLo = HRI.getSubReg(SrcReg, Hexagon::subreg_loreg);
1286 /// \p SrcReg and \p SrcReg2 if having two register operands, and the value it
1290 unsigned &SrcReg, unsigned &SrcReg2, int &Mask, int &Value) const {
1310 SrcReg = MI->getOperand(1).getReg();
1319 SrcReg = MI->getOperand(1).getReg();
1328 SrcReg = MI->getOperand(1).getReg();
2839 unsigned DstReg, SrcReg, Src1Reg, Src2Reg;
2866 SrcReg = MI->getOperand(1).getReg();
2869 isIntRegForSubInst(SrcReg) && MI->getOperand(2).isImm() &&
2877 SrcReg = MI->getOperand(1).getReg();
2878 if (isIntRegForSubInst(DstReg) && isIntRegForSubInst(SrcReg))
3172 unsigned DstReg, SrcReg, Src1Reg, Src2Reg;
3185 SrcReg = MI->getOperand(1).getReg();
3189 if (Hexagon::IntRegsRegClass.contains(SrcReg) &&
3190 HRI.getStackRegister() == SrcReg &&
3195 if (isIntRegForSubInst(SrcReg) &&
3204 SrcReg = MI->getOperand(1).getReg();
3205 if (isIntRegForSubInst(DstReg) && isIntRegForSubInst(SrcReg) &&
3223 SrcReg = MI->getOperand(1).getReg();
3224 if (isIntRegForSubInst(DstReg) && isIntRegForSubInst(SrcReg) &&
3232 SrcReg = MI->getOperand(1).getReg();
3233 if (isIntRegForSubInst(DstReg) && isIntRegForSubInst(SrcReg) &&
3241 SrcReg = MI->getOperand(1).getReg();
3243 Hexagon::IntRegsRegClass.contains(SrcReg) &&
3244 HRI.getStackRegister() == SrcReg &&
3270 SrcReg = MI->getOperand(0).getReg();
3272 if ((Hexagon::PredRegsRegClass.contains(SrcReg) &&
3273 (Hexagon::P0 == SrcReg)) &&
3284 SrcReg = MI->getOperand(0).getReg();
3285 if (Hexagon::PredRegsRegClass.contains(SrcReg) && (Hexagon::P0 == SrcReg))
3386 SrcReg = MI->getOperand(1).getReg();
3389 if (Hexagon::IntRegsRegClass.contains(SrcReg) &&
3390 HRI.getStackRegister() == SrcReg && MI->getOperand(2).isImm() &&
3394 if ((DstReg == SrcReg) && MI->getOperand(2).isImm() &&
3399 if (isIntRegForSubInst(SrcReg) && MI->getOperand(2).isImm() &&
3419 SrcReg = MI->getOperand(1).getReg();
3420 if (isIntRegForSubInst(DstReg) && isIntRegForSubInst(SrcReg) &&
3429 SrcReg = MI->getOperand(1).getReg();
3430 if (isIntRegForSubInst(DstReg) && isIntRegForSubInst(SrcReg))
3450 SrcReg = MI->getOperand(1).getReg();
3452 Hexagon::PredRegsRegClass.contains(SrcReg) && Hexagon::P0 == SrcReg &&
3459 SrcReg = MI->getOperand(1).getReg();
3461 Hexagon::P0 == DstReg && isIntRegForSubInst(SrcReg) &&
3481 SrcReg = MI->getOperand(1).getReg();
3482 if (isDblRegForSubInst(DstReg, HRI) && isIntRegForSubInst(SrcReg) &&
3490 SrcReg = MI->getOperand(2).getReg();
3491 if (isDblRegForSubInst(DstReg, HRI) && isIntRegForSubInst(SrcReg) &&
3502 SrcReg = MI->getOperand(1).getReg();
3503 if (isIntRegForSubInst(DstReg) && isIntRegForSubInst(SrcReg))