Lines Matching defs:ShAmt
762 unsigned ShAmt = MaxSA->getZExtValue();
766 if (NumSignBits > ShAmt && (NumSignBits - ShAmt) >= (UpperDemandedBits))
1448 unsigned ShAmt = SA->getZExtValue();
1449 if (ShAmt == 0)
1452 // If this is ((X >>u C1) << ShAmt), see if we can simplify this into a
1457 if (!DemandedBits.intersects(APInt::getLowBitsSet(BitWidth, ShAmt))) {
1462 int Diff = ShAmt - C1;
1481 if (ShAmt < InnerBits && DemandedBits.getActiveBits() <= InnerBits &&
1484 if (!APInt(BitWidth, ShAmt).isIntN(ShTy.getSizeInBits()))
1488 TLO.DAG.getConstant(ShAmt, dl, ShTy));
1504 if (InnerShAmt < ShAmt && InnerShAmt < InnerBits &&
1506 (InnerBits - InnerShAmt + ShAmt) &&
1507 DemandedBits.countTrailingZeros() >= ShAmt) {
1509 TLO.DAG.getConstant(ShAmt - InnerShAmt, dl, ShiftVT);
1519 APInt InDemandedMask = DemandedBits.lshr(ShAmt);
1524 Known.Zero <<= ShAmt;
1525 Known.One <<= ShAmt;
1527 Known.Zero.setLowBits(ShAmt);
1531 if ((ShAmt < DemandedBits.getActiveBits()) &&
1540 unsigned ShAmt = MaxSA->getZExtValue();
1544 if (NumSignBits > ShAmt && (NumSignBits - ShAmt) >= (UpperDemandedBits))
1556 unsigned ShAmt = SA->getZExtValue();
1557 if (ShAmt == 0)
1560 // If this is ((X << C1) >>u ShAmt), see if we can simplify this into a
1565 if (!DemandedBits.intersects(APInt::getHighBitsSet(BitWidth, ShAmt))) {
1570 int Diff = ShAmt - C1;
1582 APInt InDemandedMask = (DemandedBits << ShAmt);
1587 InDemandedMask.setLowBits(ShAmt);
1594 Known.Zero.lshrInPlace(ShAmt);
1595 Known.One.lshrInPlace(ShAmt);
1597 Known.Zero.setHighBits(ShAmt);
1622 unsigned ShAmt = SA->getZExtValue();
1623 if (ShAmt == 0)
1626 APInt InDemandedMask = (DemandedBits << ShAmt);
1631 InDemandedMask.setLowBits(ShAmt);
1635 if (DemandedBits.countLeadingZeros() < ShAmt)
1642 Known.Zero.lshrInPlace(ShAmt);
1643 Known.One.lshrInPlace(ShAmt);
1647 if (Known.Zero[BitWidth - ShAmt - 1] ||
1648 DemandedBits.countLeadingZeros() >= ShAmt) {
1662 if (Known.One[BitWidth - ShAmt - 1])
1664 Known.One.setHighBits(ShAmt);
2137 SDValue ShAmt = TLO.DAG.getConstant(ShVal, dl, VT);
2139 TLO.DAG.getNode(ISD::SHL, dl, VT, Sign, ShAmt));
3529 if (ConstantSDNode *ShAmt = isConstOrConstSplat(N0.getOperand(1))) {
3531 ShAmt->getAPIntValue() == Log2_32(N0.getScalarValueSizeInBits())) {
6506 SDValue ShAmt, InvShAmt;
6512 ShAmt = DAG.getNode(ISD::UREM, DL, ShVT, Z, BitWidthC);
6513 InvShAmt = DAG.getNode(ISD::SUB, DL, ShVT, BitWidthC, ShAmt);
6514 ShX = DAG.getNode(ISD::SHL, DL, VT, X, IsFSHL ? ShAmt : InvShAmt);
6515 ShY = DAG.getNode(ISD::SRL, DL, VT, Y, IsFSHL ? InvShAmt : ShAmt);
6522 ShAmt = DAG.getNode(ISD::AND, DL, ShVT, Z, Mask);
6527 ShAmt = DAG.getNode(ISD::UREM, DL, ShVT, Z, BitWidthC);
6528 InvShAmt = DAG.getNode(ISD::SUB, DL, ShVT, Mask, ShAmt);
6533 ShX = DAG.getNode(ISD::SHL, DL, VT, X, ShAmt);
6539 ShY = DAG.getNode(ISD::SRL, DL, VT, Y, ShAmt);
6584 SDValue ShAmt = DAG.getNode(ISD::AND, DL, ShVT, Op1, BitWidthMinusOneC);
6585 ShVal = DAG.getNode(ShOpc, DL, VT, Op0, ShAmt);
6592 SDValue ShAmt = DAG.getNode(ISD::UREM, DL, ShVT, Op1, BitWidthC);
6593 ShVal = DAG.getNode(ShOpc, DL, VT, Op0, ShAmt);
6594 SDValue HsAmt = DAG.getNode(ISD::SUB, DL, ShVT, BitWidthMinusOneC, ShAmt);
6614 SDValue ShAmt = Node->getOperand(2);
6615 EVT ShAmtVT = ShAmt.getValueType();
6623 SDValue SafeShAmt = DAG.getNode(ISD::AND, dl, ShAmtVT, ShAmt,
6631 Tmp2 = DAG.getNode(ISD::FSHL, dl, VT, ShOpHi, ShOpLo, ShAmt);
6634 Tmp2 = DAG.getNode(ISD::FSHR, dl, VT, ShOpHi, ShOpLo, ShAmt);
6641 SDValue AndNode = DAG.getNode(ISD::AND, dl, ShAmtVT, ShAmt,