Lines Matching refs:zext
151 const SCEVZeroExtendExpr *ZExt = cast<SCEVZeroExtendExpr>(this);
152 const SCEV *Op = ZExt->getOperand();
153 OS << "(zext " << *Op->getType() << " " << *Op << " to "
154 << *ZExt->getType() << ")";
769 APInt MultiplyFactor = OddFactorial.zext(W+1);
849 // trunc(zext(x)) --> zext(x) if widening or trunc(x) if narrowing
913 // zext(zext(x)) --> zext(x)
926 // zext(trunc(x)) --> zext(x) or x or trunc(x)
1174 // sext(zext(x)) --> zext(x)
1187 // If the input value is provably positive, build a zext instead.
1363 // Next try a zext cast. If the cast is folded, use it.
1364 const SCEV *ZExt = getZeroExtendExpr(Op, Ty);
1365 if (!isa<SCEVZeroExtendExpr>(ZExt))
1366 return ZExt;
1385 // Absent any other information, use the zext cast value.
1386 return ZExt;
2280 B = B.zext(ABW);
2282 A = A.zext(BBW);
3463 if (const SCEVZeroExtendExpr *ZExt = dyn_cast<SCEVZeroExtendExpr>(S)) {
3464 ConstantRange X = getUnsignedRange(ZExt->getOperand());
3465 return setUnsignedRange(ZExt,
3604 if (const SCEVZeroExtendExpr *ZExt = dyn_cast<SCEVZeroExtendExpr>(S)) {
3605 ConstantRange X = getSignedRange(ZExt->getOperand());
3606 return setSignedRange(ZExt,
3780 // use zext(trunc(x)) as the SCEV expression.
3868 // re-apply the zext.
3874 // using an add, which is equivalent, and re-apply the zext.
3876 if (Trunc.zext(getTypeSizeInBits(UTy)) == CI->getValue() &&
3949 case Instruction::ZExt:
5597 APInt AD = A.lshr(Mult2).zext(BW + 1); // AD = A / D
5604 APInt Result = (I * B.lshr(Mult2).zext(BW + 1)).urem(Mod);