Lines Matching refs:C3
1860 Constant *C3 = ConstantExpr::getTrunc(YC, I.getType());
1861 C3 = ConstantExpr::getAnd(C3, AndRHS);
1862 return BinaryOperator::CreateAnd(NewCast, C3);
2201 // Fold (icmp ult/ule (A + C1), C3) | (icmp ult/ule (A + C2), C3)
2202 // --> (icmp ult/ule ((A & ~(C1 ^ C2)) + max(C1, C2)), C3)
2204 // [MAX_UINT-C1+1, MAX_UINT-C1+1+C3] and [MAX_UINT-C2+1, MAX_UINT-C2+1+C3]
2206 // 1) C1 and C2 is unsigned greater than C3.
2522 // ((V|C3)&C1) | ((V|C4)&C2) --> (V|C3|C4)&(C1|C2)
2523 // iff (C1&C2) == 0 and (C3&~C1) == 0 and (C4&~C2) == 0.
2524 ConstantInt *C3 = nullptr, *C4 = nullptr;
2525 if (match(A, m_Or(m_Value(V1), m_ConstantInt(C3))) &&
2526 (C3->getValue() & ~C1->getValue()).isNullValue() &&
2529 V2 = Builder.CreateOr(V1, ConstantExpr::getOr(C3, C4), "bitfield");
3129 // ((X^C1) >> C2) ^ C3 -> (X>>C2) ^ ((C1>>C2)^C3)
3137 // fold (C1 >> C2) ^ C3
3138 ConstantInt *C2 = Op0CI, *C3 = RHSC;
3140 FoldConst ^= C3->getValue();