Lines Matching refs:Remainder
1663 APInt *Quotient, APInt *Remainder) in divide() argument
1685 if ((Remainder?4:3)*n+2*m+1 <= 128) { in divide()
1689 if (Remainder) in divide()
1695 if (Remainder) in divide()
1718 if (Remainder) in divide()
1800 if (Remainder) { in divide()
1802 if (Remainder->BitWidth != RHS.BitWidth) { in divide()
1803 if (Remainder->isSingleWord()) in divide()
1804 Remainder->VAL = 0; in divide()
1806 delete [] Remainder->pVal; in divide()
1807 Remainder->BitWidth = RHS.BitWidth; in divide()
1808 if (!Remainder->isSingleWord()) in divide()
1809 Remainder->pVal = getClearedMemory(Remainder->getNumWords()); in divide()
1811 Remainder->clearAllBits(); in divide()
1818 if (Remainder->isSingleWord()) in divide()
1819 Remainder->VAL = tmp; in divide()
1821 Remainder->pVal[0] = tmp; in divide()
1823 assert(!Remainder->isSingleWord() && "Remainder APInt not large enough"); in divide()
1825 Remainder->pVal[i] = in divide()
1919 APInt Remainder(1,0); in urem() local
1920 divide(*this, lhsWords, RHS, rhsWords, nullptr, &Remainder); in urem()
1921 return Remainder; in urem()
1936 APInt &Quotient, APInt &Remainder) { in udivrem() argument
1945 Remainder = APInt(LHS.BitWidth, RemVal); in udivrem()
1958 Remainder = 0; // 0 % Y ===> 0 in udivrem()
1963 Remainder = LHS; // X % Y ===> X, iff X < Y in udivrem()
1970 Remainder = 0; // X % X ===> 0; in udivrem()
1979 Remainder = APInt(LHS.getBitWidth(), lhsValue % rhsValue); in udivrem()
1984 divide(LHS, lhsWords, RHS, rhsWords, &Quotient, &Remainder); in udivrem()
1988 APInt &Quotient, APInt &Remainder) { in sdivrem() argument
1991 APInt::udivrem(-LHS, -RHS, Quotient, Remainder); in sdivrem()
1993 APInt::udivrem(-LHS, RHS, Quotient, Remainder); in sdivrem()
1996 Remainder = -Remainder; in sdivrem()
1998 APInt::udivrem(LHS, -RHS, Quotient, Remainder); in sdivrem()
2001 APInt::udivrem(LHS, RHS, Quotient, Remainder); in sdivrem()