Lines Matching refs:AndCst
224 /// If AndCst is non-null, then the loaded value is masked with that constant
228 CmpInst &ICI, ConstantInt *AndCst) {
314 if (AndCst) Elt = ConstantExpr::getAnd(Elt, AndCst);
1143 case Instruction::And: // (icmp pred (and X, AndCST), RHS)
1146 ConstantInt *AndCST = cast<ConstantInt>(LHSI->getOperand(1));
1157 (!AndCST->isNegative() && RHSV.isNonNegative())) {
1160 ConstantExpr::getZExt(AndCST, Cast->getSrcTy()));
1176 ConstantExpr::getTrunc(AndCST, Ty));
1194 Type *AndTy = AndCST->getType(); // Type of the and.
1209 AndCST->getValue()) == 0)
1235 NewAndCST = ConstantExpr::getLShr(AndCST, ShAmt);
1237 NewAndCST = ConstantExpr::getShl(AndCST, ShAmt);
1255 NS = Builder->CreateShl(AndCST, Shift->getOperand(1));
1258 NS = Builder->CreateLShr(AndCST, Shift->getOperand(1));
1269 // Replace ((X & AndCST) > RHSV) with ((X & AndCST) != 0), if any
1270 // bit set in (X & AndCST) will produce a result greater than RHSV.
1272 unsigned NTZ = AndCST->getValue().countTrailingZeros();
1273 if ((NTZ < AndCST->getBitWidth()) &&
1274 APInt::getOneBitSet(AndCST->getBitWidth(), NTZ).ugt(RHSV))