Lines Matching defs:ShAmt
638 auto NewInnerShift = [&](unsigned ShAmt) {
639 InnerShift->setOperand(1, ConstantInt::get(ShType, ShAmt));
923 const unsigned ShAmt = ShAmtAPInt->getZExtValue();
924 if (ShAmt == 1)
927 // X/Y are zexts from `ShAmt`-sized ints.
928 if (X->getType()->getScalarSizeInBits() != ShAmt ||
929 Y->getType()->getScalarSizeInBits() != ShAmt)
932 // Make sure that `Add` is only used by `I` and `ShAmt`-truncates.
939 if (!Trunc || Trunc->getType()->getScalarSizeInBits() > ShAmt)
955 // be ShAmt-sized truncs, or the lshr itself.
1683 unsigned ShAmt = ShAmtAPInt->getZExtValue();
1690 ShAmt == BitWidth - X->getType()->getScalarSizeInBits())
1699 if (ShlAmt < ShAmt) {
1701 Constant *ShiftDiff = ConstantInt::get(Ty, ShAmt - ShlAmt);
1706 if (ShlAmt > ShAmt) {
1708 Constant *ShiftDiff = ConstantInt::get(Ty, ShlAmt - ShAmt);
1717 unsigned AmtSum = ShAmt + ShOp1->getZExtValue();
1728 ShAmt = std::min(ShAmt, SrcTy->getScalarSizeInBits() - 1);
1729 Value *NewSh = Builder.CreateAShr(X, ConstantInt::get(SrcTy, ShAmt));
1733 if (ShAmt == BitWidth - 1) {
1747 MulC->logBase2() == ShAmt &&
1748 (ShAmt < BitWidth - 1))) /* Minus 1 for the sign bit */ {
1753 Builder.CreateAShr(X, ConstantInt::get(Ty, ShAmt), "", I.isExact()));