Home | History | Annotate | Download | only in InstCombine

Lines Matching full:udiv

10 // This file implements the visit functions for mul, fmul, sdiv, udiv, fdiv,
310 (BO->getOpcode() != Instruction::UDiv &&
318 (BO->getOpcode() == Instruction::UDiv ||
331 if (BO->getOpcode() == Instruction::UDiv)
800 /// instructions (udiv and sdiv). It is called by the visitors to those integer
886 if (*C2 != 0) { // avoid X udiv 0
973 // X udiv 2^C -> X >> C
984 // X udiv C, where C >= signbit
993 // X udiv (C1 << N), where C1 is "1<<C2" --> X >> (N+C2)
1013 // \brief Recursively visits the possible right hand operands of a udiv
1015 // replace the udiv with something simpler. If we find that an operand is not
1016 // able to simplify the udiv, we abort the entire transformation.
1028 // X udiv C, where C >= signbit
1034 // X udiv (C1 << N), where C1 is "1<<C2" --> X >> (N+C2)
1069 // (x lshr C1) udiv C2 --> x udiv (C2 << C1)
1088 // (zext A) udiv (zext B) --> zext (A udiv B)
1095 // (LHS udiv (select (select (...)))) -> (LHS >> (select (select (...))))
1117 // Otherwise, we insert it before the UDiv and record it so that we may
1187 // unsigned inputs), turn this into a udiv.
1192 // X sdiv Y -> X udiv Y, iff X and Y don't have sign bit set
1199 // X sdiv (1 << Y) -> X udiv (1 << Y) ( -> X u>> Y)
1201 // INT_MIN, and X sdiv INT_MIN == X udiv INT_MIN == 0 if X doesn't have