Home | History | Annotate | Download | only in SelectionDAG

Lines Matching full:shamt

607       unsigned ShAmt = SA->getZExtValue();
611 if (ShAmt >= BitWidth)
614 // If this is ((X >>u C1) << ShAmt), see if we can simplify this into a
619 if (ShAmt && (NewMask & APInt::getLowBitsSet(BitWidth, ShAmt)) == 0) {
622 int Diff = ShAmt-C1;
636 if (SimplifyDemandedBits(InOp, NewMask.lshr(ShAmt),
646 if (ShAmt < InnerBits && NewMask.lshr(InnerBits) == 0 &&
649 if (!APInt(BitWidth, ShAmt).isIntN(ShTy.getSizeInBits()))
653 TLO.DAG.getConstant(ShAmt, ShTy));
670 if (InnerShAmt < ShAmt &&
672 NewMask.lshr(InnerBits - InnerShAmt + ShAmt) == 0 &&
673 NewMask.trunc(ShAmt) == 0) {
675 TLO.DAG.getConstant(ShAmt - InnerShAmt,
695 unsigned ShAmt = SA->getZExtValue();
700 if (ShAmt >= BitWidth)
703 // If this is ((X << C1) >>u ShAmt), see if we can simplify this into a
708 if (ShAmt && (NewMask & APInt::getHighBitsSet(VTSize, ShAmt)) == 0) {
711 int Diff = ShAmt-C1;
725 if (SimplifyDemandedBits(InOp, (NewMask << ShAmt),
729 KnownZero = KnownZero.lshr(ShAmt);
730 KnownOne = KnownOne.lshr(ShAmt);
732 APInt HighBits = APInt::getHighBitsSet(BitWidth, ShAmt);
748 unsigned ShAmt = SA->getZExtValue();
751 if (ShAmt >= BitWidth)
754 APInt InDemandedMask = (NewMask << ShAmt);
758 APInt HighBits = APInt::getHighBitsSet(BitWidth, ShAmt);
766 KnownZero = KnownZero.lshr(ShAmt);
767 KnownOne = KnownOne.lshr(ShAmt);
770 APInt SignBit = APInt::getSignBit(BitWidth).lshr(ShAmt);
800 unsigned ShAmt = ExVT.getScalarType().getSizeInBits();
804 TLO.DAG.ComputeNumSignBits(InOp) >= VTBits-ShAmt+1;
814 SDValue ShiftAmt = TLO.DAG.getConstant(BitWidth - ShAmt, ShiftAmtTy);
990 ConstantSDNode *ShAmt = dyn_cast<ConstantSDNode>(In.getOperand(1));
991 if (!ShAmt)
995 uint64_t ShVal = ShAmt->getZExtValue();
1002 HighBits = HighBits.lshr(ShAmt->getZExtValue()).trunc(BitWidth);
1004 if (ShAmt->getZExtValue() < BitWidth && !(HighBits & NewMask)) {
1055 SDValue ShAmt = TLO.DAG.getConstant(ShVal, Op.getValueType());
1058 Sign, ShAmt));
1252 const APInt &ShAmt
1255 ShAmt == Log2_32(N0.getValueType().getSizeInBits())) {
2649 unsigned ShAmt = d.countTrailingZeros();
2650 if (ShAmt) {
2652 SDValue Amt = DAG.getConstant(ShAmt, getShiftAmountTy(Op1.getValueType()));
2655 d = d.ashr(ShAmt);