Lines Matching defs:ShlImm

2625   uint64_t ShlImm = 0;
2627 if (isOpcWithIntImmediate(N->getOperand(0).getNode(), ISD::SHL, ShlImm)) {
2649 if (ShlImm >= VT.getSizeInBits()) {
2662 int immr = SrlImm - ShlImm;
2664 Imms = VT.getSizeInBits() - ShlImm - TruncBits - 1;
3105 uint64_t ShlImm;
3107 if (isOpcWithIntImmediate(AndOp0.getNode(), ISD::SHL, ShlImm)) {
3112 ShlImm)) {
3159 if (ShlImm != uint64_t(DstLSB) && !BiggerPattern)
3162 Src = getLeftShift(CurDAG, ShlOp0, ShlImm - DstLSB);
3168 static bool isSeveralBitsPositioningOpFromShl(const uint64_t ShlImm, SDValue Op,
3175 assert(isIntImmediateEq(Op.getOperand(1), ShlImm) &&
3176 "Op.getNode() should shift ShlImm to call this function");
3183 const uint64_t ShiftedAndImm = ((AndImm << ShlImm) >> ShlImm);
3185 // AndImm is a superset of (AllOnes >> ShlImm); in other words, AndImm
3189 // For example, xyz11111 (with {x,y,z} being 0 or 1) is fine if ShlImm >= 3;
3193 DstLSB = ShlImm;
3212 uint64_t ShlImm;
3213 if (!isOpcWithIntImmediate(Op.getNode(), ISD::SHL, ShlImm))
3219 if (isSeveralBitsPositioningOpFromShl(ShlImm, Op, Src, DstLSB, Width))
3225 if (ShlImm != uint64_t(DstLSB) && !BiggerPattern)
3228 Src = getLeftShift(CurDAG, Op.getOperand(0), ShlImm - DstLSB);
3342 uint64_t AndImm, ShlImm;
3386 if (isOpcWithIntImmediate(Dst.getNode(), ISD::SHL, ShlImm)) {
3388 EncodedShiftImm = AArch64_AM::getShifterImm(AArch64_AM::LSL, ShlImm);
3448 uint64_t ShlImm;
3449 if (isOpcWithIntImmediate(OrOpd0.getNode(), ISD::SHL, ShlImm)) {
3454 AArch64_AM::getShifterImm(AArch64_AM::LSL, ShlImm), DL, VT)};
3473 AArch64_AM::getShifterImm(AArch64_AM::LSL, ShlImm), DL, VT)};