Lines Matching refs:Amt
5190 LegalizerHelper::narrowScalarShiftByConstant(MachineInstr &MI, const APInt &Amt, in narrowScalarShiftByConstant() argument
5197 if (Amt.isZero()) { in narrowScalarShiftByConstant()
5209 if (Amt.ugt(VTBits)) { in narrowScalarShiftByConstant()
5211 } else if (Amt.ugt(NVTBits)) { in narrowScalarShiftByConstant()
5214 MIRBuilder.buildConstant(AmtTy, Amt - NVTBits)); in narrowScalarShiftByConstant()
5215 } else if (Amt == NVTBits) { in narrowScalarShiftByConstant()
5219 Lo = MIRBuilder.buildShl(NVT, InL, MIRBuilder.buildConstant(AmtTy, Amt)); in narrowScalarShiftByConstant()
5221 MIRBuilder.buildShl(NVT, InH, MIRBuilder.buildConstant(AmtTy, Amt)); in narrowScalarShiftByConstant()
5223 NVT, InL, MIRBuilder.buildConstant(AmtTy, -Amt + NVTBits)); in narrowScalarShiftByConstant()
5227 if (Amt.ugt(VTBits)) { in narrowScalarShiftByConstant()
5229 } else if (Amt.ugt(NVTBits)) { in narrowScalarShiftByConstant()
5231 MIRBuilder.buildConstant(AmtTy, Amt - NVTBits)); in narrowScalarShiftByConstant()
5233 } else if (Amt == NVTBits) { in narrowScalarShiftByConstant()
5237 auto ShiftAmtConst = MIRBuilder.buildConstant(AmtTy, Amt); in narrowScalarShiftByConstant()
5241 NVT, InH, MIRBuilder.buildConstant(AmtTy, -Amt + NVTBits)); in narrowScalarShiftByConstant()
5247 if (Amt.ugt(VTBits)) { in narrowScalarShiftByConstant()
5250 } else if (Amt.ugt(NVTBits)) { in narrowScalarShiftByConstant()
5252 MIRBuilder.buildConstant(AmtTy, Amt - NVTBits)); in narrowScalarShiftByConstant()
5255 } else if (Amt == NVTBits) { in narrowScalarShiftByConstant()
5260 auto ShiftAmtConst = MIRBuilder.buildConstant(AmtTy, Amt); in narrowScalarShiftByConstant()
5264 NVT, InH, MIRBuilder.buildConstant(AmtTy, -Amt + NVTBits)); in narrowScalarShiftByConstant()
5293 Register Amt = MI.getOperand(2).getReg(); in narrowScalarShift() local
5294 LLT ShiftAmtTy = MRI.getType(Amt); in narrowScalarShift()
5306 if (auto VRegAndVal = getIConstantVRegValWithLookThrough(Amt, MRI)) { in narrowScalarShift()
5320 auto AmtExcess = MIRBuilder.buildSub(ShiftAmtTy, Amt, NewBits); in narrowScalarShift()
5321 auto AmtLack = MIRBuilder.buildSub(ShiftAmtTy, NewBits, Amt); in narrowScalarShift()
5324 auto IsShort = MIRBuilder.buildICmp(ICmpInst::ICMP_ULT, CondTy, Amt, NewBits); in narrowScalarShift()
5325 auto IsZero = MIRBuilder.buildICmp(ICmpInst::ICMP_EQ, CondTy, Amt, Zero); in narrowScalarShift()
5331 auto LoS = MIRBuilder.buildShl(HalfTy, InL, Amt); in narrowScalarShift()
5334 auto HiOr = MIRBuilder.buildShl(HalfTy, InH, Amt); in narrowScalarShift()
5352 auto HiS = MIRBuilder.buildInstr(MI.getOpcode(), {HalfTy}, {InH, Amt}); in narrowScalarShift()
5354 auto LoOr = MIRBuilder.buildLShr(HalfTy, InL, Amt); in narrowScalarShift()
6802 auto [Dst, DstTy, Src, SrcTy, Amt, AmtTy] = MI.getFirst3RegLLTs(); in lowerRotateWithReverseRotate()
6806 auto Neg = MIRBuilder.buildSub(AmtTy, Zero, Amt); in lowerRotateWithReverseRotate()
6813 auto [Dst, DstTy, Src, SrcTy, Amt, AmtTy] = MI.getFirst3RegLLTs(); in lowerRotate()
6840 return buildFunnelShift(FShOpc, Dst, Src, Amt); in lowerRotate()
6842 Amt = MIRBuilder.buildNeg(DstTy, Amt).getReg(0); in lowerRotate()
6843 return buildFunnelShift(RevFsh, Dst, Src, Amt); in lowerRotate()
6856 auto NegAmt = MIRBuilder.buildSub(AmtTy, Zero, Amt); in lowerRotate()
6857 auto ShAmt = MIRBuilder.buildAnd(AmtTy, Amt, BitWidthMinusOneC); in lowerRotate()
6866 auto ShAmt = MIRBuilder.buildURem(AmtTy, Amt, BitWidthC); in lowerRotate()