Lines Matching defs:DstSub
419 unsigned &DstSub) {
422 DstSub = MI->getOperand(0).getSubReg();
427 DstSub = tri.composeSubRegIndices(MI->getOperand(0).getSubReg(),
459 unsigned SrcSub = 0, DstSub = 0;
460 if (!isMoveInstr(TRI, MI, Src, Dst, SrcSub, DstSub))
462 Partial = SrcSub || DstSub;
469 std::swap(SrcSub, DstSub);
476 // Eliminate DstSub on a physreg.
477 if (DstSub) {
478 Dst = TRI.getSubReg(Dst, DstSub);
480 DstSub = 0;
496 if (SrcSub && DstSub) {
498 if (Src == Dst && SrcSub != DstSub)
501 NewRC = TRI.getCommonSuperRegClass(SrcRC, SrcSub, DstRC, DstSub,
505 } else if (DstSub) {
507 SrcIdx = DstSub;
508 NewRC = TRI.getMatchingSuperRegClass(DstRC, SrcRC, DstSub);
534 assert(!(Dst.isPhysical() && DstSub) && "Cannot have a physical SubIdx");
553 unsigned SrcSub = 0, DstSub = 0;
554 if (!isMoveInstr(TRI, MI, Src, Dst, SrcSub, DstSub))
560 std::swap(SrcSub, DstSub);
570 // DstSub could be set for a physreg from INSERT_SUBREG.
571 if (DstSub)
572 Dst = TRI.getSubReg(Dst, DstSub);
584 TRI.composeSubRegIndices(DstIdx, DstSub);