Lines Matching defs:DstRegs
325 /// Pack values \p SrcRegs to cover the vector type result \p DstRegs.
327 mergeVectorRegsToResultRegs(MachineIRBuilder &B, ArrayRef<Register> DstRegs,
330 LLT LLTy = MRI.getType(DstRegs[0]);
337 assert(DstRegs.size() == 1);
338 return B.buildConcatVectors(DstRegs[0], SrcRegs);
345 assert(DstRegs.size() == 1);
347 DstRegs[0], B.buildMergeLikeInstr(LCMTy, SrcRegs));
358 std::copy(DstRegs.begin(), DstRegs.end(), PadDstRegs.begin());
361 for (int I = DstRegs.size(); I != NumDst; ++I)
365 return B.buildDeleteTrailingVectorElements(DstRegs[0], UnmergeSrcReg);
554 /// \p SrcTy) to the types in \p DstRegs (of type \p PartTy). \p ExtendOp should
558 static void buildCopyToRegs(MachineIRBuilder &B, ArrayRef<Register> DstRegs,
568 assert(DstRegs.size() == 1);
569 B.buildInstr(ExtendOp, {DstRegs[0]}, {SrcReg});
577 for (int i = 0, e = DstRegs.size(); i != e; ++i)
578 B.buildAnyExt(DstRegs[i], UnmergeToEltTy.getReg(i));
587 Register DstReg = DstRegs.front();
595 B.buildUnmerge(DstRegs, SrcReg);
603 LLT::scalar(PartTy.getScalarSizeInBits() * DstRegs.size() /
606 B.buildUnmerge(DstRegs, Ext);
611 LLT DstTy = MRI.getType(DstRegs[0]);
615 assert(DstRegs.size() == 1);
616 B.buildPadVectorWithUndefElements(DstRegs[0], SrcReg);
646 B.buildUnmerge(DstRegs, UnmergeSrc);