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)
786 /// instructions (udiv and sdiv). It is called by the visitors to those integer
872 if (*C2 != 0) { // avoid X udiv 0
959 // X udiv 2^C -> X >> C
970 // X udiv C, where C >= signbit
979 // X udiv (C1 << N), where C1 is "1<<C2" --> X >> (N+C2)
999 // \brief Recursively visits the possible right hand operands of a udiv
1001 // replace the udiv with something simpler. If we find that an operand is not
1002 // able to simplify the udiv, we abort the entire transformation.
1014 // X udiv C, where C >= signbit
1020 // X udiv (C1 << N), where C1 is "1<<C2" --> X >> (N+C2)
1055 // (x lshr C1) udiv C2 --> x udiv (C2 << C1)
1074 // (zext A) udiv (zext B) --> zext (A udiv B)
1081 // (LHS udiv (select (select (...)))) -> (LHS >> (select (select (...))))
1103 // Otherwise, we insert it before the UDiv and record it so that we may
1157 // unsigned inputs), turn this into a udiv.
1162 // X sdiv Y -> X udiv Y, iff X and Y don't have sign bit set
1169 // X sdiv (1 << Y) -> X udiv (1 << Y) ( -> X u>> Y)
1171 // INT_MIN, and X sdiv INT_MIN == X udiv INT_MIN == 0 if X doesn't have