Home | History | Annotate | Download | only in InstCombine

Lines Matching defs:Cond

70   //    "select cond, X, 0" can simplify to "X".
299 // div/rem X, (Cond ? 0 : Y) -> div/rem X, Y
304 // div/rem X, (Cond ? Y : 0) -> div/rem X, Y
379 // Handle cases involving: [su]div X, (select Cond, Y, Z)
476 // udiv X, (Select Cond, C1, C2) --> Select Cond, (shr X, C1), (shr X, C2)
478 { Value *Cond; const APInt *C1, *C2;
479 if (match(Op1, m_Select(m_Value(Cond), m_Power2(C1), m_Power2(C2)))) {
489 return SelectInst::Create(Cond, TSI, FSI);
590 // Handle cases involving: rem X, (select Cond, Y, Z)
636 // urem X, (select Cond, 2^C1, 2^C2) -->
637 // select Cond, (and X, C1-1), (and X, C2-1)
639 { Value *Cond; const APInt *C1, *C2;
640 if (match(Op1, m_Select(m_Value(Cond), m_Power2(C1), m_Power2(C2)))) {
643 return SelectInst::Create(Cond, TrueAnd, FalseAnd);
725 // Handle cases involving: rem X, (select Cond, Y, Z)