Lines Matching refs:Divisor

6036     APInt Divisor = C->getAPIntValue();  in BuildExactSDIV()  local
6037 unsigned Shift = Divisor.countr_zero(); in BuildExactSDIV()
6039 Divisor.ashrInPlace(Shift); in BuildExactSDIV()
6044 APInt Factor = Divisor; in BuildExactSDIV()
6045 while ((t = Divisor * Factor) != 1) in BuildExactSDIV()
6046 Factor *= APInt(Divisor.getBitWidth(), 2) - t; in BuildExactSDIV()
6086 SDValue TargetLowering::BuildSDIVPow2(SDNode *N, const APInt &Divisor, in BuildSDIVPow2() argument
6097 TargetLowering::BuildSREMPow2(SDNode *N, const APInt &Divisor, in BuildSREMPow2() argument
6116 SDNode *N, const APInt &Divisor, SelectionDAG &DAG, in buildSDIVPow2WithCMov() argument
6118 unsigned Lg2 = Divisor.countr_zero(); in buildSDIVPow2WithCMov()
6143 if (Divisor.isNonNegative()) in buildSDIVPow2WithCMov()
6193 const APInt &Divisor = C->getAPIntValue(); in BuildSDIV() local
6194 SignedDivisionByConstantInfo magics = SignedDivisionByConstantInfo::get(Divisor); in BuildSDIV()
6198 if (Divisor.isOne() || Divisor.isAllOnes()) { in BuildSDIV()
6200 NumeratorFactor = Divisor.getSExtValue(); in BuildSDIV()
6204 } else if (Divisor.isStrictlyPositive() && magics.Magic.isNegative()) { in BuildSDIV()
6207 } else if (Divisor.isNegative() && magics.Magic.isStrictlyPositive()) { in BuildSDIV()
6366 const APInt& Divisor = C->getAPIntValue(); in BuildUDIV() local
6372 if (Divisor.isOne()) { in BuildUDIV()
6377 UnsignedDivisionByConstantInfo::get(Divisor, LeadingZeros); in BuildUDIV()
6381 assert(magics.PreShift < Divisor.getBitWidth() && in BuildUDIV()
6383 assert(magics.PostShift < Divisor.getBitWidth() && in BuildUDIV()
7629 APInt Divisor = CN->getAPIntValue(); in expandDIVREMByConstant() local
7630 unsigned BitWidth = Divisor.getBitWidth(); in expandDIVREMByConstant()
7637 if (Divisor.uge(HalfMaxPlus1)) in expandDIVREMByConstant()
7651 if (Divisor.ule(1)) in expandDIVREMByConstant()
7656 if (!Divisor[0]) { in expandDIVREMByConstant()
7657 TrailingZeros = Divisor.countr_zero(); in expandDIVREMByConstant()
7658 Divisor.lshrInPlace(TrailingZeros); in expandDIVREMByConstant()
7669 if (HalfMaxPlus1.urem(Divisor).isOne()) { in expandDIVREMByConstant()
7725 DAG.getConstant(Divisor.trunc(HBitWidth), dl, HiLoVT)); in expandDIVREMByConstant()
7738 APInt MulFactor = Divisor.zext(BitWidth + 1); in expandDIVREMByConstant()
10687 SDValue Divisor = Node->getOperand(1); in expandREM() local
10690 Result = DAG.getNode(DivRemOpc, dl, VTs, Dividend, Divisor).getValue(1); in expandREM()
10695 SDValue Divide = DAG.getNode(DivOpc, dl, VT, Dividend, Divisor); in expandREM()
10696 SDValue Mul = DAG.getNode(ISD::MUL, dl, VT, Divide, Divisor); in expandREM()