Lines Matching refs:Num

243                                  Value *Num, Value *Den) const;
245 Value *Num, Value *Den,
250 Value *Num, Value *Den,
254 Value *Num, Value *Den, unsigned NumBits,
259 Value *Num, Value *Den) const;
262 Value *Num, Value *Den) const;
281 Value *optimizeWithRsq(IRBuilder<> &Builder, Value *Num, Value *Den,
285 Value *optimizeWithRcp(IRBuilder<> &Builder, Value *Num, Value *Den,
287 Value *optimizeWithFDivFast(IRBuilder<> &Builder, Value *Num, Value *Den,
290 Value *visitFDivElement(IRBuilder<> &Builder, Value *Num, Value *Den,
903 IRBuilder<> &Builder, Value *Num, Value *Den, const FastMathFlags DivFMF,
911 const ConstantFP *CLHS = dyn_cast<ConstantFP>(Num);
945 AMDGPUCodeGenPrepareImpl::optimizeWithRcp(IRBuilder<> &Builder, Value *Num,
953 if (const ConstantFP *CLHS = dyn_cast<ConstantFP>(Num)) {
991 return Builder.CreateFMul(Num, Recip);
995 return Builder.CreateFMul(Num, Recip);
1009 IRBuilder<> &Builder, Value *Num, Value *Den, float ReqdAccuracy) const {
1018 if (const ConstantFP *CNum = dyn_cast<ConstantFP>(Num)) {
1030 return Builder.CreateIntrinsic(Intrinsic::amdgcn_fdiv_fast, {}, {Num, Den});
1034 IRBuilder<> &Builder, Value *Num, Value *Den, FastMathFlags DivFMF,
1039 optimizeWithRsq(Builder, Num, RsqOp, DivFMF, SqrtFMF, FDivInst);
1044 Value *Rcp = optimizeWithRcp(Builder, Num, Den, DivFMF, FDivInst);
1052 Value *FDivFast = optimizeWithFDivFast(Builder, Num, Den, ReqdDivAccuracy);
1056 return emitFrexpDiv(Builder, Num, Den, DivFMF);
1091 Value *Num = FDiv.getOperand(0);
1128 extractValues(Builder, NumVals, Num);
1193 int AMDGPUCodeGenPrepareImpl::getDivNumBits(BinaryOperator &I, Value *Num,
1197 unsigned LHSSignBits = ComputeNumSignBits(Num, DL, 0, AC, &I);
1206 unsigned DivBits = Num->getType()->getScalarSizeInBits() - SignBits;
1215 BinaryOperator &I, Value *Num,
1218 unsigned SSBits = Num->getType()->getScalarSizeInBits();
1219 // If Num bits <= 24, assume 0 signbits.
1221 int DivBits = getDivNumBits(I, Num, Den, AtLeast, IsSigned);
1224 return expandDivRem24Impl(Builder, I, Num, Den, DivBits, IsDiv, IsSigned);
1228 IRBuilder<> &Builder, BinaryOperator &I, Value *Num, Value *Den,
1231 Num = Builder.CreateTrunc(Num, I32Ty);
1240 JQ = Builder.CreateXor(Num, Den);
1250 Value *IA = Num;
1305 Res = Builder.CreateSub(Num, Rem);
1330 Value *Num,
1498 BinaryOperator &I, Value *Num,
1500 if (!ExpandDiv64InIR && divHasSpecialOptimization(I, Num, Den))
1508 int NumDivBits = getDivNumBits(I, Num, Den, 32, IsSigned);
1514 Narrowed = expandDivRem24Impl(Builder, I, Num, Den, NumDivBits,
1517 Narrowed = expandDivRem32(Builder, I, Num, Den);
1521 return IsSigned ? Builder.CreateSExt(Narrowed, Num->getType()) :
1522 Builder.CreateZExt(Narrowed, Num->getType());
1567 Value *Num = I.getOperand(0);
1576 Value *NumEltN = Builder.CreateExtractElement(Num, N);
1604 NewDiv = expandDivRem32(Builder, I, Num, Den);
1606 NewDiv = shrinkDivRem64(Builder, I, Num, Den);