Home | History | Annotate | Download | only in InstCombine

Lines Matching refs:LShr

961     // Similarly for signed comparisons with lshr.
965 // Otherwise, all lshr and most exact ashr's are equivalent to a udiv/sdiv
1004 if (Shr->getOpcode() == Instruction::LShr)
1005 Comp = Comp.lshr(ShAmtVal);
1033 /// FoldICmpCstShrCst - Handle "(icmp eq/ne (ashr/lshr const2, A), const1)" ->
1087 if (IsAShr ? AP1 == AP2.ashr(Shift) : AP1 == AP2.lshr(Shift))
1302 } else if (ShiftOpcode == Instruction::LShr) {
1361 if (Shift->getOpcode() == Instruction::LShr) {
1376 // (icmp pred (and (or (lshr X, Y), X), 1), 0) -->
1381 Value *X, *Y, *LShr;
1386 if (match(Or, m_Or(m_Value(LShr), m_Value(X))) &&
1387 match(LShr, m_LShr(m_Specific(X), m_Value(Y)))) {
1393 if (LShr->hasOneUse())
1404 LShr->getName(),
1644 case Instruction::LShr: // (icmp pred (shr X, ShAmt), CI)
2819 // (icmp eq/ne (ashr/lshr const2, A), const1)
3470 case Instruction::LShr:
3615 // For lshr and ashr pairs.
3647 // Transform "icmp eq (trunc (lshr(X, cst1)), cst" to