Lines Matching refs:magics
2848 APInt::ms magics = Divisor.magic(); in BuildSDIV() local
2856 DAG.getConstant(magics.m, dl, VT)); in BuildSDIV()
2861 DAG.getConstant(magics.m, dl, VT)).getNode(), 1); in BuildSDIV()
2865 if (Divisor.isStrictlyPositive() && magics.m.isNegative()) { in BuildSDIV()
2870 if (Divisor.isNegative() && magics.m.isStrictlyPositive()) { in BuildSDIV()
2876 if (magics.s > 0) { in BuildSDIV()
2879 DAG.getConstant(magics.s, dl, getShiftAmountTy(Q.getValueType(), DL))); in BuildSDIV()
2911 APInt::mu magics = Divisor.magicu(); in BuildUDIV() local
2917 if (magics.a != 0 && !Divisor[0]) { in BuildUDIV()
2925 magics = Divisor.lshr(Shift).magicu(Shift); in BuildUDIV()
2926 assert(magics.a == 0 && "Should use cheap fixup now"); in BuildUDIV()
2933 Q = DAG.getNode(ISD::MULHU, dl, VT, Q, DAG.getConstant(magics.m, dl, VT)); in BuildUDIV()
2937 DAG.getConstant(magics.m, dl, VT)).getNode(), 1); in BuildUDIV()
2943 if (magics.a == 0) { in BuildUDIV()
2944 assert(magics.s < Divisor.getBitWidth() && in BuildUDIV()
2948 DAG.getConstant(magics.s, dl, getShiftAmountTy(Q.getValueType(), DL))); in BuildUDIV()
2960 DAG.getConstant(magics.s - 1, dl, in BuildUDIV()