Lines Matching defs:ShAmtC
1477 // trunc iN (ShOp >> ShAmtC) to i[N - ShAmtC] < 0 --> ShOp < 0
1478 // trunc iN (ShOp >> ShAmtC) to i[N - ShAmtC] > -1 --> ShOp > -1
1480 const APInt *ShAmtC;
1483 match(X, m_Shr(m_Value(ShOp), m_APInt(ShAmtC))) &&
1484 DstBits == SrcBits - ShAmtC->getZExtValue()) {
2520 // icmp slt/ult (ashr exact X, ShAmtC), C
2521 // --> icmp slt/ult X, (C - 1) << ShAmtC) + 1
2526 // When ShAmtC can be shifted losslessly:
2527 // icmp PRED (ashr exact X, ShAmtC), C --> icmp PRED X, (C << ShAmtC)
2528 // icmp slt/ult (ashr X, ShAmtC), C --> icmp slt/ult X, (C << ShAmtC)
2534 // icmp sgt (ashr X, ShAmtC), C --> icmp sgt X, ((C + 1) << ShAmtC) - 1
2541 // icmp ugt (ashr X, ShAmtC), C --> icmp ugt X, ((C + 1) << ShAmtC) - 1
2542 // 'C + 1 << ShAmtC' can overflow as a signed number, so the 2nd
2566 // icmp ult (lshr X, ShAmtC), C --> icmp ult X, (C << ShAmtC)
2567 // icmp ugt (lshr exact X, ShAmtC), C --> icmp ugt X, (C << ShAmtC)
2573 // icmp ugt (lshr X, ShAmtC), C --> icmp ugt X, ((C + 1) << ShAmtC) - 1