Home | History | Annotate | Download | only in InstCombine

Lines Matching refs:lshr

64 ///      %F = lshr i128 %E, 64
88 // lshr iff we know that the bits we would otherwise be shifting in are
139 case Instruction::LShr: {
144 // We can always fold lshr(c1)+lshr(c2) -> lshr(c1+c2).
147 // We can always turn lshr(c)+shl(c) -> and(c2).
152 // We can always turn lshr(c1)+shl(c2) -> lshr(c3)+and(c4), but it isn't
231 // We turn shl(c)+lshr(c) -> and(c2) if the input doesn't already have
253 case Instruction::LShr: {
259 // We can always fold lshr(c1)+lshr(c2) -> lshr(c1+c2).
271 // We turn lshr(c)+shl(c) -> and(c2) if the input doesn't already have
284 // We turn lshr(c1)+shl(c2) -> lshr(c3)+and(c4), but only when we know that
318 // cast of lshr(shl(x,c1),c2) as well as other more complex cases.
389 assert(I.getOpcode() == Instruction::LShr && "Unknown logical shift");
390 MaskV = MaskV.lshr(Op1->getZExtValue());
568 if (I.getOpcode() == Instruction::LShr &&
583 assert(ShiftOp->getOpcode() == Instruction::LShr ||
594 if (I.getOpcode() == Instruction::LShr &&
599 BinaryOperator *NewLShr = BinaryOperator::Create(Instruction::LShr,
642 if (I.getOpcode() == Instruction::LShr &&