Lines Matching defs:DstTy

250 LLT LegalizerHelper::extractGCDType(SmallVectorImpl<Register> &Parts, LLT DstTy,
253 LLT GCDTy = getGCDType(getGCDType(SrcTy, NarrowTy), DstTy);
258 LLT LegalizerHelper::buildLCMMergePieces(LLT DstTy, LLT NarrowTy, LLT GCDTy,
261 LLT LCMTy = getLCMType(DstTy, NarrowTy);
351 LLT DstTy = MRI.getType(DstReg);
356 if (DstTy == LCMTy) {
362 if (DstTy.isScalar() && LCMTy.isScalar()) {
368 unsigned NumDefs = LCMTy.getSizeInBits() / DstTy.getSizeInBits();
372 UnmergeDefs[I] = MRI.createGenericVirtualRegister(DstTy);
1068 LLT DstTy = MRI.getType(DstReg);
1113 const auto Oeq = BuildLibcall(OeqLibcall, OeqPred, DstTy);
1117 const auto Uno = BuildLibcall(UnoLibcall, UnoPred, DstTy);
1135 BuildLibcall(OeqLibcall, CmpInst::getInversePredicate(OeqPred), DstTy);
1140 BuildLibcall(UnoLibcall, CmpInst::getInversePredicate(UnoPred), DstTy);
1424 LLT DstTy = MRI.getType(DstReg);
1434 if (DstTy.isVector())
1435 ImplicitTy = LLT::vector(DstTy.getElementCount(), ImplicitTy);
1450 if (DstTy.isVector())
1551 LLT DstTy = MRI.getType(DstReg);
1552 if (DstTy.isVector())
1555 if (8 * LoadMI.getMemSize().getValue() != DstTy.getSizeInBits()) {
2080 auto [DstReg, DstTy, Src1Reg, Src1Ty] = MI.getFirst2RegLLTs();
2081 if (DstTy.isVector())
2085 const int DstSize = DstTy.getSizeInBits();
2092 unsigned PartSize = DstTy.getSizeInBits() / NumSrc;
2106 Register NextResult = I + 1 == NumOps && WideTy == DstTy ? DstReg :
2117 else if (DstTy.isPointer())
2184 if (DstTy.getSizeInBits() == WideDstTy.getSizeInBits()) {
2208 LLT DstTy = MRI.getType(Dst0Reg);
2209 if (!DstTy.isScalar())
2235 unsigned DstSize = DstTy.getSizeInBits();
2279 const LLT GCDTy = getGCDType(WideTy, DstTy);
2281 const int PartsPerRemerge = DstTy.getSizeInBits() / GCDTy.getSizeInBits();
2286 const int PartsPerUnmerge = WideTy.getSizeInBits() / DstTy.getSizeInBits();
2297 MIB.addDef(MRI.createGenericVirtualRegister(DstTy));
2327 auto [DstReg, DstTy, SrcReg, SrcTy] = MI.getFirst2RegLLTs();
2331 if (SrcTy.isVector() || DstTy.isVector())
2347 if (DstTy.isPointer())
2382 if (DstTy != SrcTy.getElementType())
3468 auto [Dst, DstTy, Src, SrcTy] = MI.getFirst2RegLLTs();
3473 if (DstTy.isVector()) {
3474 int NumDstElt = DstTy.getNumElements();
3477 LLT DstEltTy = DstTy.getElementType();
3519 if (DstTy.isVector()) {
3521 getUnmergePieces(SrcRegs, MIRBuilder, Src, DstTy.getElementType());
3564 auto [Dst, DstTy, SrcVec, SrcVecTy, Idx, IdxTy] = MI.getFirst3RegLLTs();
3700 auto [Dst, DstTy, SrcVec, SrcVecTy, Val, ValTy, Idx, IdxTy] =
3702 LLT VecTy = DstTy;
3777 auto [DstReg, DstTy, SrcReg, SrcTy] = MI.getFirst2RegLLTs();
3816 LLT DstTy = MRI.getType(ShuffleMI->getReg(0));
3821 CastTy.getScalarSizeInBits() != DstTy.getScalarSizeInBits() ||
3822 CastTy.getElementCount() != DstTy.getElementCount())
3863 LLT DstTy = MRI.getType(Dst);
3865 ElementCount DstTyEC = DstTy.getElementCount();
3870 if (DstTy == CastTy)
3873 if (DstTy.getSizeInBits() != CastTy.getSizeInBits())
3877 unsigned DstEltSize = DstTy.getElementType().getSizeInBits();
3927 LLT DstTy = MRI.getType(Dst);
3931 if (DstTy == CastTy)
3934 if (DstTy.getSizeInBits() != CastTy.getSizeInBits())
3937 ElementCount DstTyEC = DstTy.getElementCount();
3945 unsigned DstEltSize = DstTy.getElementType().getSizeInBits();
3971 LLT DstTy = MRI.getType(DstReg);
3990 LLT LoadTy = DstTy;
3994 if (MemStoreSizeInBits > DstTy.getSizeInBits()) {
4011 if (DstTy != LoadTy)
4057 if (MemTy != DstTy)
4062 return reduceLoadStoreWidth(LoadMI, 0, DstTy.getElementType());
4071 unsigned AnyExtSize = PowerOf2Ceil(DstTy.getSizeInBits());
4086 if (AnyExtTy == DstTy)
4088 else if (AnyExtTy.getSizeInBits() != DstTy.getSizeInBits()) {
4092 assert(DstTy.isPointer() && "expected pointer");
4591 LLT DstTy = MRI.getType(DstReg);
4592 Register TmpRes = MRI.createGenericVirtualRegister(DstTy);
4594 auto MIBSz = MIRBuilder.buildConstant(DstTy, DstTy.getScalarSizeInBits() - SizeInBits);
4989 LLT DstTy = MRI.getType(MI.getOperand(0).getReg());
4992 if (TypeIdx != 1 || NarrowTy == DstTy)
5003 (NarrowTy.getSizeInBits() % DstTy.getSizeInBits() != 0))
5006 // This is most likely DstTy (smaller then register size) packed in SrcTy
5009 // (register size) pieces first. Then unpack each of NarrowTy pieces to DstTy.
5011 // %1:_(DstTy), %2, %3, %4 = G_UNMERGE_VALUES %0:_(SrcTy)
5014 // %1:_(DstTy), %2 = G_UNMERGE_VALUES %5:_(NarrowTy) - sequence of bits in reg
5015 // %3:_(DstTy), %4 = G_UNMERGE_VALUES %6:_(NarrowTy)
5035 auto [DstReg, DstTy, SrcReg, SrcTy] = MI.getFirst2RegLLTs();
5039 assert(DstTy.isVector() && NarrowTy.isVector() && "Expected vector types");
5040 assert((DstTy.getScalarType() == NarrowTy.getScalarType()) && "bad type");
5051 if ((DstTy.getSizeInBits() % NarrowTy.getSizeInBits() != 0) ||
5054 // %2:_(DstTy) = G_CONCAT_VECTORS %0:_(SrcTy), %1:_(SrcTy)
5061 // %2:_(DstTy) = G_CONCAT_VECTORS %9:_(NarrowTy), %10, %11
5073 unsigned NumNarrowTyPieces = DstTy.getNumElements() / NumNarrowTyElts;
5088 (DstTy.getSizeInBits() % NarrowTy.getSizeInBits() != 0))
5091 // This is most likely SrcTy (smaller then register size) packed in DstTy
5094 // (register size) pieces first. Then merge each of NarrowTy pieces to DstTy.
5096 // %0:_(DstTy) = G_MERGE_VALUES %1:_(SrcTy), %2, %3, %4
5100 // %0:_(DstTy) = G_MERGE_VALUES %5:_(NarrowTy), %6 - reg sequence
5102 unsigned NumParts = DstTy.getNumElements() / NarrowTy.getNumElements();
5471 auto [DstReg, DstTy, SrcReg, SrcTy] = MI.getFirst2RegLLTs();
5479 if (extractGCDType(SrcVRegs, DstTy, SrcNarrowTy, SrcReg) != SrcNarrowTy)
5499 auto [DstReg, DstTy, Src1Reg, Src1Ty, Src2Reg, Src2Ty] =
5503 if (DstTy != Src1Ty)
5505 if (DstTy != Src2Ty)
5508 if (!isPowerOf2_32(DstTy.getNumElements()))
5514 DstTy.changeElementCount(DstTy.getElementCount().divideCoefficientBy(2));
5640 auto [DstReg, DstTy, SrcReg, SrcTy] = RdxMI.getFirst2RegLLTs();
5655 if (DstTy != NarrowTy)
5691 MIRBuilder.buildInstr(RdxMI.getOpcode(), {DstTy}, {SplitSrcs[Part]})
5709 .buildInstr(ScalarOpc, {DstTy}, {Acc, PartialReductions[Part]})
5721 auto [DstReg, DstTy, ScalarReg, ScalarTy, SrcReg, SrcTy] =
5723 if (!NarrowTy.isScalar() || TypeIdx != 2 || DstTy != ScalarTy ||
5724 DstTy != NarrowTy)
5877 LLT DstTy = MRI.getType(DstReg);
5878 if (DstTy.isVector())
5883 const unsigned DstEltSize = DstTy.getScalarSizeInBits();
6135 auto [DstReg, DstTy, CondReg, CondTy] = MI.getFirst2RegLLTs();
6138 DstTy.getElementCount() != MoreTy.getElementCount())
6232 LLT DstTy = MRI.getType(MI.getOperand(0).getReg());
6235 if (coefficient % DstTy.getNumElements() != 0)
6238 coefficient = coefficient / DstTy.getNumElements();
6286 auto [DstReg, DstTy, SrcReg, SrcTy] = MI.getFirst2RegLLTs();
6290 LLT DestEltTy = DstTy.getElementType();
6358 auto [DstTy, Src1Ty, Src2Ty] = MI.getFirst3LLTs();
6360 unsigned NumElts = DstTy.getNumElements();
6363 if (DstTy.isVector() && Src1Ty.isVector() &&
6364 DstTy.getNumElements() != Src1Ty.getNumElements()) {
6372 if (DstTy != Src1Ty || DstTy != Src2Ty)
6765 LLT DstTy = MRI.getType(DstReg);
6773 if (!extractParts(MI.getOperand(1).getReg(), DstTy, NarrowTy, LeftoverTy,
6778 if (!extractParts(MI.getOperand(2).getReg(), DstTy, NarrowTy, Unused,
6795 insertParts(DstReg, DstTy, NarrowTy, DstRegs,
6810 LLT DstTy = MRI.getType(DstReg);
6811 if (DstTy.isVector())
6815 LLT GCDTy = extractGCDType(Parts, DstTy, NarrowTy, SrcReg);
6816 LLT LCMTy = buildLCMMergePieces(DstTy, NarrowTy, GCDTy, Parts, MI.getOpcode());
6835 LLT DstTy = MRI.getType(DstReg);
6841 if (!extractParts(MI.getOperand(2).getReg(), DstTy, NarrowTy, LeftoverTy,
6846 if (!extractParts(MI.getOperand(3).getReg(), DstTy, NarrowTy, Unused,
6862 insertParts(DstReg, DstTy, NarrowTy, DstRegs,
6875 auto [DstReg, DstTy, SrcReg, SrcTy] = MI.getFirst2RegLLTs();
6888 B.buildCTLZ_ZERO_UNDEF(DstTy, UnmergeSrc.getReg(0)) :
6889 B.buildCTLZ(DstTy, UnmergeSrc.getReg(0));
6890 auto C_NarrowSize = B.buildConstant(DstTy, NarrowSize);
6891 auto HiIsZeroCTLZ = B.buildAdd(DstTy, LoCTLZ, C_NarrowSize);
6892 auto HiCTLZ = B.buildCTLZ_ZERO_UNDEF(DstTy, UnmergeSrc.getReg(1));
6908 auto [DstReg, DstTy, SrcReg, SrcTy] = MI.getFirst2RegLLTs();
6921 B.buildCTTZ_ZERO_UNDEF(DstTy, UnmergeSrc.getReg(1)) :
6922 B.buildCTTZ(DstTy, UnmergeSrc.getReg(1));
6923 auto C_NarrowSize = B.buildConstant(DstTy, NarrowSize);
6924 auto LoIsZeroCTTZ = B.buildAdd(DstTy, HiCTTZ, C_NarrowSize);
6925 auto LoCTTZ = B.buildCTTZ_ZERO_UNDEF(DstTy, UnmergeSrc.getReg(0));
6941 auto [DstReg, DstTy, SrcReg, SrcTy] = MI.getFirst2RegLLTs();
6947 auto LoCTPOP = MIRBuilder.buildCTPOP(DstTy, UnmergeSrc.getReg(0));
6948 auto HiCTPOP = MIRBuilder.buildCTPOP(DstTy, UnmergeSrc.getReg(1));
7002 auto [DstReg, DstTy, SrcReg, SrcTy] = MI.getFirst2RegLLTs();
7005 if (isSupported({TargetOpcode::G_CTLZ_ZERO_UNDEF, {DstTy, SrcTy}})) {
7007 auto CtlzZU = MIRBuilder.buildCTLZ_ZERO_UNDEF(DstTy, SrcReg);
7011 auto LenConst = MIRBuilder.buildConstant(DstTy, Len);
7035 auto MIBPop = MIRBuilder.buildCTPOP(DstTy, Op);
7036 MIRBuilder.buildSub(MI.getOperand(0), MIRBuilder.buildConstant(DstTy, Len),
7049 auto [DstReg, DstTy, SrcReg, SrcTy] = MI.getFirst2RegLLTs();
7052 if (isSupported({TargetOpcode::G_CTTZ_ZERO_UNDEF, {DstTy, SrcTy}})) {
7055 auto CttzZU = MIRBuilder.buildCTTZ_ZERO_UNDEF(DstTy, SrcReg);
7058 CmpInst::ICMP_EQ, DstTy.changeElementSize(1), SrcReg, Zero);
7059 auto LenConst = MIRBuilder.buildConstant(DstTy, Len);
7289 LLT DstTy = MRI.getType(Dst);
7292 uint32_t DstTySize = DstTy.getSizeInBits();
7293 uint32_t DstTyScalarSize = DstTy.getScalarSizeInBits();
7313 LLT ZExtResTy = DstTy.changeElementCount(
7314 DstTy.getElementCount().divideCoefficientBy(2));
7344 LLT DstTy = MRI.getType(DstReg);
7347 if (DstTy.isVector() && isPowerOf2_32(DstTy.getNumElements()) &&
7348 isPowerOf2_32(DstTy.getScalarSizeInBits()) &&
7361 if (DstTy.getScalarSizeInBits() * 2 < SrcTy.getScalarSizeInBits())
7362 InterTy = SplitSrcTy.changeElementSize(DstTy.getScalarSizeInBits() * 2);
7364 InterTy = SplitSrcTy.changeElementSize(DstTy.getScalarSizeInBits());
7371 DstTy.changeElementSize(InterTy.getScalarSizeInBits()), SplitSrcs);
7374 if (DstTy.getScalarSizeInBits() * 2 < SrcTy.getScalarSizeInBits())
7388 auto [Dst, DstTy, Src, SrcTy, Amt, AmtTy] = MI.getFirst3RegLLTs();
7399 auto [Dst, DstTy, Src, SrcTy, Amt, AmtTy] = MI.getFirst3RegLLTs();
7401 unsigned EltSizeInBits = DstTy.getScalarSizeInBits();
7408 if (LI.isLegalOrCustom({RevRot, {DstTy, SrcTy}}) &&
7416 if ((IsFShLegal = LI.isLegalOrCustom({FShOpc, {DstTy, AmtTy}})) ||
7417 LI.isLegalOrCustom({RevFsh, {DstTy, AmtTy}})) {
7428 Amt = MIRBuilder.buildNeg(DstTy, Amt).getReg(0);
7444 ShVal = MIRBuilder.buildInstr(ShOpc, {DstTy}, {Src, ShAmt}).getReg(0);
7447 MIRBuilder.buildInstr(RevShiftOpc, {DstTy}, {Src, RevAmt}).getReg(0);
7453 ShVal = MIRBuilder.buildInstr(ShOpc, {DstTy}, {Src, ShAmt}).getReg(0);
7456 auto Inner = MIRBuilder.buildInstr(RevShiftOpc, {DstTy}, {Src, One});
7458 MIRBuilder.buildInstr(RevShiftOpc, {DstTy}, {Inner, RevAmt}).getReg(0);
7596 auto [Dst, DstTy, Src, SrcTy] = MI.getFirst2RegLLTs();
7599 auto True = MIRBuilder.buildFConstant(DstTy, 1.0);
7600 auto False = MIRBuilder.buildFConstant(DstTy, 0.0);
7609 if (DstTy == LLT::scalar(32))
7616 if (DstTy == LLT::scalar(64))
7623 auto [Dst, DstTy, Src, SrcTy] = MI.getFirst2RegLLTs();
7630 auto True = MIRBuilder.buildFConstant(DstTy, -1.0);
7631 auto False = MIRBuilder.buildFConstant(DstTy, 0.0);
7640 if (DstTy == S32) {
7666 auto [Dst, DstTy, Src, SrcTy] = MI.getFirst2RegLLTs();
7672 if (DstTy != S32 && DstTy != S64)
7679 APInt TwoPExpInt = APInt::getSignMask(DstTy.getSizeInBits());
7685 MachineInstrBuilder FPTOSI = MIRBuilder.buildFPTOSI(DstTy, Src);
7691 MachineInstrBuilder ResLowBits = MIRBuilder.buildFPTOSI(DstTy, FSub);
7692 MachineInstrBuilder ResHighBit = MIRBuilder.buildConstant(DstTy, TwoPExpInt);
7693 MachineInstrBuilder Res = MIRBuilder.buildXor(DstTy, ResLowBits, ResHighBit);
7706 auto [Dst, DstTy, Src, SrcTy] = MI.getFirst2RegLLTs();
7711 if (SrcTy.getScalarType() != S32 || DstTy.getScalarType() != S64)
7731 Sign = MIRBuilder.buildSExt(DstTy, Sign);
7738 R = MIRBuilder.buildZExt(DstTy, R);
7745 auto Shl = MIRBuilder.buildShl(DstTy, R, SubExponent);
7746 auto Srl = MIRBuilder.buildLShr(DstTy, R, ExponentSub);
7752 R = MIRBuilder.buildSelect(DstTy, CmpGt, Shl, Srl);
7754 auto XorSign = MIRBuilder.buildXor(DstTy, R, Sign);
7755 auto Ret = MIRBuilder.buildSub(DstTy, XorSign, Sign);
7762 auto ZeroDstTy = MIRBuilder.buildConstant(DstTy, 0);
7771 auto [Dst, DstTy, Src, SrcTy] = MI.getFirst2RegLLTs();
7774 unsigned SatWidth = DstTy.getScalarSizeInBits();
7823 auto FpToInt = MIRBuilder.buildFPTOSI(DstTy, Min);
7825 DstTy.changeElementSize(1), Src, Src);
7826 MIRBuilder.buildSelect(Dst, IsZero, MIRBuilder.buildConstant(DstTy, 0),
7835 auto FpToInt = IsSigned ? MIRBuilder.buildFPTOSI(DstTy, Src)
7836 : MIRBuilder.buildFPTOUI(DstTy, Src);
7844 DstTy, ULT, MIRBuilder.buildConstant(DstTy, MinInt), FpToInt);
7853 MIRBuilder.buildSelect(Dst, OGT, MIRBuilder.buildConstant(DstTy, MaxInt),
7861 DstTy, OGT, MIRBuilder.buildConstant(DstTy, MaxInt), Max);
7863 DstTy.changeElementSize(1), Src, Src);
7864 MIRBuilder.buildSelect(Dst, IsZero, MIRBuilder.buildConstant(DstTy, 0), Min);
7987 auto [DstTy, SrcTy] = MI.getFirst2LLTs();
7991 if (DstTy.getScalarType() == S16 && SrcTy.getScalarType() == S64)
8040 LLT DstTy = MRI.getType(Dst);
8042 LLT CmpTy = DstTy.changeElementSize(1);
8051 auto Zero = MIRBuilder.buildConstant(DstTy, 0);
8058 auto BC = TLI.getBooleanContents(DstTy.isVector(), /*isFP=*/false);
8061 auto One = MIRBuilder.buildConstant(DstTy, 1);
8062 auto SelectZeroOrOne = MIRBuilder.buildSelect(DstTy, IsGT, One, Zero);
8064 auto MinusOne = MIRBuilder.buildConstant(DstTy, -1);
8069 // Extend boolean results to DstTy, which is at least i2, before subtracting
8072 MIRBuilder.getBoolExtOp(DstTy.isVector(), /*isFP=*/false);
8073 IsGT = MIRBuilder.buildInstr(BoolExtOp, {DstTy}, {IsGT});
8074 IsLT = MIRBuilder.buildInstr(BoolExtOp, {DstTy}, {IsLT});
8084 auto [Dst, DstTy, Src0, Src0Ty, Src1, Src1Ty] = MI.getFirst3RegLLTs();
8228 auto [DstReg, DstTy, Src0Reg, Src0Ty] = MI.getFirst2RegLLTs();
8231 LLT WideTy = LLT::scalar(DstTy.getSizeInBits());
8240 Register NextResult = I + 1 == NumOps && WideTy == DstTy ? DstReg :
8249 if (DstTy.isPointer()) {
8251 DstTy.getAddressSpace())) {
8268 LLT DstTy = MRI.getType(Dst0Reg);
8269 if (DstTy.isPointer())
8281 const unsigned DstSize = DstTy.getSizeInBits();
8377 auto [DstReg, DstTy, Src0Reg, Src0Ty, Src1Reg, Src1Ty] =
8384 LLT EltTy = DstTy.getScalarType();
8406 if (DstTy.isScalar())
8416 auto [Dst, DstTy, Vec, VecTy, Mask, MaskTy, Passthru, PassthruTy] =
8571 auto [DstReg, DstTy, SrcReg, SrcTy] = MI.getFirst2RegLLTs();
8577 unsigned DstSize = DstTy.getSizeInBits();
8600 if (DstTy.isScalar() &&
8602 (SrcTy.isVector() && DstTy == SrcTy.getElementType()))) {
8628 LLT DstTy = MRI.getType(Src);
8632 if (DstTy.isVector() && !InsertTy.isPointer()) {
8633 LLT EltTy = DstTy.getElementType();
8638 (Offset + InsertSize <= DstTy.getSizeInBits())) {
8660 for (; Idx < DstTy.getNumElements(); ++Idx) {
8671 (DstTy.isVector() && DstTy.getElementType() != InsertTy))
8675 if ((DstTy.isPointer() &&
8676 DL.isNonIntegralAddressSpace(DstTy.getAddressSpace())) ||
8683 LLT IntDstTy = DstTy;
8685 if (!DstTy.isScalar()) {
8686 IntDstTy = LLT::scalar(DstTy.getSizeInBits());
8702 DstTy.getSizeInBits(), Offset + InsertTy.getSizeInBits(), Offset);
9073 auto [DstReg, DstTy, SrcReg, SrcTy] = MI.getFirst2RegLLTs();
9106 APInt InvertionMask = APInt::getAllOnes(DstTy.getScalarSizeInBits());
9116 MIRBuilder.buildICmp(CmpInst::Predicate::ICMP_NE, DstTy, AsInt, Abs);
9118 auto Res = MIRBuilder.buildConstant(DstTy, 0);
9120 LLT DstTyCopy = DstTy;
9128 appendToRes(MIRBuilder.buildICmp(CmpInst::Predicate::ICMP_ULT, DstTy, Abs,
9133 appendToRes(MIRBuilder.buildICmp(CmpInst::Predicate::ICMP_ULT, DstTy, AsInt,
9138 auto Cmp = MIRBuilder.buildICmp(CmpInst::Predicate::ICMP_ULT, DstTy, Abs,
9140 auto And = MIRBuilder.buildAnd(DstTy, Cmp, Sign);
9151 appendToRes(MIRBuilder.buildICmp(CmpInst::Predicate::ICMP_EQ, DstTy,
9160 appendToRes(MIRBuilder.buildICmp(CmpInst::Predicate::ICMP_EQ, DstTy,
9164 MIRBuilder.buildICmp(CmpInst::Predicate::ICMP_EQ, DstTy, Abs, ZeroC));
9166 appendToRes(MIRBuilder.buildICmp(CmpInst::Predicate::ICMP_EQ, DstTy,
9177 MIRBuilder.buildICmp(CmpInst::Predicate::ICMP_ULT, DstTy, VMinusOne,
9180 SubnormalRes = MIRBuilder.buildAnd(DstTy, SubnormalRes, Sign);
9186 appendToRes(MIRBuilder.buildICmp(CmpInst::Predicate::ICMP_EQ, DstTy,
9190 MIRBuilder.buildICmp(CmpInst::Predicate::ICMP_EQ, DstTy, Abs, InfC));
9194 appendToRes(MIRBuilder.buildICmp(CmpInst::Predicate::ICMP_EQ, DstTy,
9204 MIRBuilder.buildICmp(CmpInst::Predicate::ICMP_UGT, DstTy, Abs, InfC));
9207 appendToRes(MIRBuilder.buildICmp(CmpInst::Predicate::ICMP_UGE, DstTy, Abs,
9213 MIRBuilder.buildICmp(CmpInst::Predicate::ICMP_UGT, DstTy, Abs, InfC);
9214 auto IsNotQnan = MIRBuilder.buildICmp(CmpInst::Predicate::ICMP_ULT, DstTy,
9216 appendToRes(MIRBuilder.buildAnd(DstTy, IsNan, IsNotQnan));
9228 MIRBuilder.buildICmp(CmpInst::Predicate::ICMP_ULT, DstTy, ExpMinusOne,
9231 NormalRes = MIRBuilder.buildAnd(DstTy, NormalRes, Sign);
9234 DstTy, Sign, MIRBuilder.buildConstant(DstTy, InvertionMask));
9235 NormalRes = MIRBuilder.buildAnd(DstTy, NormalRes, PosSign);
9247 auto [DstReg, DstTy, MaskReg, MaskTy, Op1Reg, Op1Ty, Op2Reg, Op2Ty] =
9250 bool IsEltPtr = DstTy.isPointerOrPointerVector();
9252 LLT ScalarPtrTy = LLT::scalar(DstTy.getScalarSizeInBits());
9253 LLT NewTy = DstTy.changeElementType(ScalarPtrTy);
9256 DstTy = NewTy;
9271 MIRBuilder.buildSExtOrTrunc(DstTy.getScalarType(), MaskElt).getReg(0);
9273 if (DstTy.isVector()) {
9275 auto ShufSplat = MIRBuilder.buildShuffleSplat(DstTy, MaskElt);
9280 MaskTy = DstTy;
9281 } else if (!DstTy.isVector()) {
9286 if (MaskTy.getSizeInBits() != DstTy.getSizeInBits()) {
9294 auto Or = MIRBuilder.buildOr(DstTy, NewOp1, NewOp2);
9325 LLT DstTy = MRI.getType(MI.getOperand(0).getReg());
9328 MIRBuilder.buildConstant(DstTy, DstTy.getScalarSizeInBits() - 1);
9329 auto Shift = MIRBuilder.buildAShr(DstTy, OpReg, ShiftAmt);
9330 auto Add = MIRBuilder.buildAdd(DstTy, OpReg, Shift);
9384 LLT DstTy = MRI.getType(SrcReg);
9388 if (DstTy.getSizeInBits() > SrcTy.getSizeInBits())
9803 LLT DstTy = MRI.getType(Dst);
9804 StorePtr = MIB.buildPtrAdd(DstTy, Dst, Offset).getReg(0);
9909 LLT DstTy = MRI.getType(Dst);
9911 MIB.buildConstant(LLT::scalar(DstTy.getSizeInBits()), CurrOffset);
9912 StorePtr = MIB.buildPtrAdd(DstTy, Dst, Offset).getReg(0);