Searched refs:Quotient (Results 1 - 12 of 12) sorted by relevance

/external/llvm/lib/Support/
H A DScaledNumber.cpp69 uint64_t Quotient = Dividend64 / Divisor; local
72 // If Quotient needs to be shifted, leave the rounding to getAdjusted().
73 if (Quotient > UINT32_MAX)
74 return getAdjusted<uint32_t>(Quotient, Shift);
77 return getRounded<uint32_t>(Quotient, Shift, Remainder >= getHalf(Divisor));
103 uint64_t Quotient = Dividend / Divisor; local
107 while (!(Quotient >> 63) && Dividend) {
113 // Get the next bit of Quotient.
114 Quotient <<= 1;
116 Quotient |
[all...]
H A DAPInt.cpp1663 APInt *Quotient, APInt *Remainder)
1767 if (Quotient) {
1768 // Set up the Quotient value's memory.
1769 if (Quotient->BitWidth != LHS.BitWidth) {
1770 if (Quotient->isSingleWord())
1771 Quotient->VAL = 0;
1773 delete [] Quotient->pVal;
1774 Quotient->BitWidth = LHS.BitWidth;
1775 if (!Quotient->isSingleWord())
1776 Quotient
[all...]
/external/llvm/unittests/Transforms/Utils/
H A DIntegerDivision.cpp49 Instruction* Quotient = dyn_cast<Instruction>(cast<User>(Ret)->getOperand(0)); local
50 EXPECT_TRUE(Quotient && Quotient->getOpcode() == Instruction::Sub);
79 Instruction* Quotient = dyn_cast<Instruction>(cast<User>(Ret)->getOperand(0)); local
80 EXPECT_TRUE(Quotient && Quotient->getOpcode() == Instruction::PHI);
170 Instruction* Quotient = dyn_cast<Instruction>(cast<User>(Ret)->getOperand(0)); local
171 EXPECT_TRUE(Quotient && Quotient->getOpcode() == Instruction::Sub);
200 Instruction* Quotient local
[all...]
/external/llvm/lib/Transforms/Utils/
H A DBypassSlowDivision.cpp39 PHINode *Quotient; member in struct:__anon12573::DivPhiNodes
43 : Quotient(InQuotient), Remainder(InRemainder) {}
207 J->replaceAllUsesWith(Value.Quotient);
H A DIntegerDivision.cpp82 // Remainder = Dividend - Quotient*Divisor
89 Value *Quotient = Builder.CreateUDiv(Dividend, Divisor); local
90 Value *Product = Builder.CreateMul(Divisor, Quotient);
93 if (Instruction *UDiv = dyn_cast<Instruction>(Quotient))
455 Value *Quotient = generateSignedDivisionCode(Div->getOperand(0), local
457 Div->replaceAllUsesWith(Quotient);
472 Value *Quotient = generateUnsignedDivisionCode(Div->getOperand(0), local
475 Div->replaceAllUsesWith(Quotient);
/external/mesa3d/src/gallium/drivers/radeon/
H A DAMDGPUISelLowering.cpp223 // Quotient = mulhu(Tmp0, Num)
224 SDValue Quotient = DAG.getNode(ISD::MULHU, DL, VT, Tmp0, Num); local
226 // Num_S_Remainder = Quotient * Den
227 SDValue Num_S_Remainder = DAG.getNode(ISD::UMULO, DL, VT, Quotient, Den);
249 // Quotient_A_One = Quotient + 1
250 SDValue Quotient_A_One = DAG.getNode(ISD::ADD, DL, VT, Quotient,
253 // Quotient_S_One = Quotient - 1
254 SDValue Quotient_S_One = DAG.getNode(ISD::SUB, DL, VT, Quotient,
257 // Div = (Tmp1 == 0 ? Quotient : Quotient_A_One)
259 Quotient, Quotient_A_On
[all...]
/external/llvm/lib/Transforms/InstCombine/
H A DInstCombineMulDivRem.cpp91 /// \brief True if C2 is a multiple of C1. Quotient contains C2/C1.
92 static bool IsMultiple(const APInt &C1, const APInt &C2, APInt &Quotient, argument
107 APInt::sdivrem(C1, C2, Quotient, Remainder);
109 APInt::udivrem(C1, C2, Quotient, Remainder);
821 APInt Quotient(C1->getBitWidth(), /*Val=*/0ULL, IsSigned);
824 if (IsMultiple(*C2, *C1, Quotient, IsSigned)) {
826 I.getOpcode(), X, ConstantInt::get(X->getType(), Quotient));
832 if (IsMultiple(*C1, *C2, Quotient, IsSigned)) {
834 Instruction::Mul, X, ConstantInt::get(X->getType(), Quotient));
847 APInt Quotient(C
[all...]
H A DInstructionCombining.cpp1054 APInt Quotient(Scale), Remainder(Scale); // Init ensures right bitwidth.
1055 APInt::sdivrem(CI->getValue(), Scale, Quotient, Remainder);
1060 Op = ConstantInt::get(CI->getType(), Quotient);
/external/llvm/include/llvm/ADT/
H A DAPInt.h181 unsigned rhsWords, APInt *Quotient, APInt *Remainder);
942 static void udivrem(const APInt &LHS, const APInt &RHS, APInt &Quotient,
945 static void sdivrem(const APInt &LHS, const APInt &RHS, APInt &Quotient,
/external/llvm/lib/Analysis/
H A DScalarEvolution.cpp695 // Computes the Quotient and Remainder of the division of Numerator by
698 const SCEV *Denominator, const SCEV **Quotient,
707 *Quotient = D.One;
713 *Quotient = D.Zero;
720 *Quotient = Numerator;
728 *Quotient = Numerator;
730 divide(SE, *Quotient, Op, &Q, &R);
731 *Quotient = Q;
736 *Quotient = D.Zero;
746 *Quotient
697 divide(ScalarEvolution &SE, const SCEV *Numerator, const SCEV *Denominator, const SCEV **Quotient, const SCEV **Remainder) argument
916 const SCEV *Denominator, *Quotient, *Remainder, *Zero, *One; member in struct:__anon11729::SCEVDivision
[all...]
/external/llvm/lib/Target/AMDGPU/
H A DAMDGPUISelLowering.cpp924 // which is s0.f = Quotient, s1.f = Denominator, s2.f = Numerator. The
1776 // Quotient = mulhu(Tmp0, Num)
1777 SDValue Quotient = DAG.getNode(ISD::MULHU, DL, VT, Tmp0, Num); local
1779 // Num_S_Remainder = Quotient * Den
1780 SDValue Num_S_Remainder = DAG.getNode(ISD::MUL, DL, VT, Quotient, Den);
1802 // Quotient_A_One = Quotient + 1
1803 SDValue Quotient_A_One = DAG.getNode(ISD::ADD, DL, VT, Quotient,
1806 // Quotient_S_One = Quotient - 1
1807 SDValue Quotient_S_One = DAG.getNode(ISD::SUB, DL, VT, Quotient,
1810 // Div = (Tmp1 == 0 ? Quotient
[all...]
/external/llvm/lib/Transforms/Scalar/
H A DLoopStrengthReduce.cpp3590 if (const SCEV *Quotient = getExactSDiv(AR, FactorS, SE, true)) {
3593 F.ScaledReg = Quotient;

Completed in 285 milliseconds