Lines Matching refs:Divisor
5695 APInt Divisor = C->getAPIntValue(); in BuildExactSDIV() local
5696 unsigned Shift = Divisor.countTrailingZeros(); in BuildExactSDIV()
5698 Divisor.ashrInPlace(Shift); in BuildExactSDIV()
5703 APInt Factor = Divisor; in BuildExactSDIV()
5704 while ((t = Divisor * Factor) != 1) in BuildExactSDIV()
5705 Factor *= APInt(Divisor.getBitWidth(), 2) - t; in BuildExactSDIV()
5745 SDValue TargetLowering::BuildSDIVPow2(SDNode *N, const APInt &Divisor, in BuildSDIVPow2() argument
5756 TargetLowering::BuildSREMPow2(SDNode *N, const APInt &Divisor, in BuildSREMPow2() argument
5809 const APInt &Divisor = C->getAPIntValue(); in BuildSDIV() local
5810 SignedDivisionByConstantInfo magics = SignedDivisionByConstantInfo::get(Divisor); in BuildSDIV()
5814 if (Divisor.isOne() || Divisor.isAllOnes()) { in BuildSDIV()
5816 NumeratorFactor = Divisor.getSExtValue(); in BuildSDIV()
5820 } else if (Divisor.isStrictlyPositive() && magics.Magic.isNegative()) { in BuildSDIV()
5823 } else if (Divisor.isNegative() && magics.Magic.isStrictlyPositive()) { in BuildSDIV()
5955 const APInt& Divisor = C->getAPIntValue(); in BuildUDIV() local
5957 UnsignedDivisionByConstantInfo::get(Divisor); in BuildUDIV()
5962 if (magics.IsAdd && !Divisor[0]) { in BuildUDIV()
5963 PreShift = Divisor.countTrailingZeros(); in BuildUDIV()
5966 UnsignedDivisionByConstantInfo::get(Divisor.lshr(PreShift), PreShift); in BuildUDIV()
5971 if (!magics.IsAdd || Divisor.isOne()) { in BuildUDIV()
5972 assert(magics.ShiftAmount < Divisor.getBitWidth() && in BuildUDIV()
9511 SDValue Divisor = Node->getOperand(1); in expandREM() local
9514 Result = DAG.getNode(DivRemOpc, dl, VTs, Dividend, Divisor).getValue(1); in expandREM()
9519 SDValue Divide = DAG.getNode(DivOpc, dl, VT, Dividend, Divisor); in expandREM()
9520 SDValue Mul = DAG.getNode(ISD::MUL, dl, VT, Divide, Divisor); in expandREM()