Lines Matching refs:SrcTy
559 Register SrcReg, LLT SrcTy, LLT PartTy, in buildCopyToRegs() argument
562 assert(SrcTy != PartTy && "identical part types shouldn't reach here"); in buildCopyToRegs()
566 if (PartTy.isVector() == SrcTy.isVector() && in buildCopyToRegs()
567 PartTy.getScalarSizeInBits() > SrcTy.getScalarSizeInBits()) { in buildCopyToRegs()
573 if (SrcTy.isVector() && !PartTy.isVector() && in buildCopyToRegs()
574 TypeSize::isKnownGT(PartSize, SrcTy.getElementType().getSizeInBits())) { in buildCopyToRegs()
576 auto UnmergeToEltTy = B.buildUnmerge(SrcTy.getElementType(), SrcReg); in buildCopyToRegs()
582 if (SrcTy.isVector() && PartTy.isVector() && in buildCopyToRegs()
583 PartTy.getSizeInBits() == SrcTy.getSizeInBits() && in buildCopyToRegs()
584 ElementCount::isKnownLT(SrcTy.getElementCount(), in buildCopyToRegs()
592 LLT GCDTy = getGCDType(SrcTy, PartTy); in buildCopyToRegs()
599 if (SrcTy.isVector() && !PartTy.isVector() && in buildCopyToRegs()
600 SrcTy.getScalarSizeInBits() > PartTy.getSizeInBits()) { in buildCopyToRegs()
602 LLT::vector(SrcTy.getElementCount(), in buildCopyToRegs()
604 SrcTy.getNumElements())); in buildCopyToRegs()
612 LLT LCMTy = getCoverTy(SrcTy, PartTy); in buildCopyToRegs()
621 const unsigned SrcSize = SrcTy.getSizeInBits(); in buildCopyToRegs()
628 if (SrcTy.isScalar() && DstTy.isScalar()) { in buildCopyToRegs()
635 Register Undef = B.buildUndef(SrcTy).getReg(0); in buildCopyToRegs()
1370 static bool isCopyCompatibleType(LLT SrcTy, LLT DstTy) { in isCopyCompatibleType() argument
1371 if (SrcTy == DstTy) in isCopyCompatibleType()
1374 if (SrcTy.getSizeInBits() != DstTy.getSizeInBits()) in isCopyCompatibleType()
1377 SrcTy = SrcTy.getScalarType(); in isCopyCompatibleType()
1380 return (SrcTy.isPointer() && DstTy.isScalar()) || in isCopyCompatibleType()
1381 (DstTy.isPointer() && SrcTy.isScalar()); in isCopyCompatibleType()