Lines Matching defs:ShiftC
2461 const APInt *ShiftC;
2462 if (match(Op0, m_OneUse(m_SExt(m_AShr(m_Value(X), m_APInt(ShiftC))))) &&
2463 ShiftC->ult(Width)) {
2464 if (*C == APInt::getLowBitsSet(Width, Width - ShiftC->getZExtValue())) {
2466 // and (sext (ashr X, ShiftC)), C --> lshr (sext X), ShiftC
2468 Constant *ShAmtC = ConstantInt::get(Ty, ShiftC->zext(Width));
2474 // and (ashr X, ShiftC), C --> lshr X, ShiftC
2475 if (match(Op0, m_AShr(m_Value(X), m_APInt(ShiftC))) && ShiftC->ult(Width) &&
2476 C->isMask(Width - ShiftC->getZExtValue()))
2477 return BinaryOperator::CreateLShr(X, ConstantInt::get(Ty, *ShiftC));
2574 // (ShiftC << X) & C --> X == (log2(C) - log2(ShiftC)) ? C : 0
2575 // (ShiftC >> X) & C --> X == (log2(ShiftC) - log2(C)) ? C : 0
2577 match(Op0, m_OneUse(m_LogicalShift(m_Power2(ShiftC), m_Value(X))))) {
2578 int Log2ShiftC = ShiftC->exactLogBase2();