Lines Matching full:divisor
28 du_int vn1, vn0; // Norm. divisor digits in udiv128by64to64default()
36 // Normalize the divisor. in udiv128by64to64default()
46 // Break divisor up into two 32-bit digits. in udiv128by64to64default()
104 utwords divisor; in __udivmodti4() local
105 divisor.all = b; in __udivmodti4()
108 if (divisor.all > dividend.all) { in __udivmodti4()
113 // When the divisor fits in 64 bits, we can use an optimized path. in __udivmodti4()
114 if (divisor.s.high == 0) { in __udivmodti4()
116 if (dividend.s.high < divisor.s.low) { in __udivmodti4()
119 divisor.s.low, &remainder.s.low); in __udivmodti4()
123 // After that dividend.s.high < divisor.s.low. in __udivmodti4()
124 quotient.s.high = dividend.s.high / divisor.s.low; in __udivmodti4()
125 dividend.s.high = dividend.s.high % divisor.s.low; in __udivmodti4()
127 divisor.s.low, &remainder.s.low); in __udivmodti4()
135 __builtin_clzll(divisor.s.high) - __builtin_clzll(dividend.s.high); in __udivmodti4()
136 divisor.all <<= shift; in __udivmodti4()
142 // if (dividend.all >= divisor.all) in __udivmodti4()
144 // dividend.all -= divisor.all; in __udivmodti4()
148 (ti_int)(divisor.all - dividend.all - 1) >> (n_utword_bits - 1); in __udivmodti4()
150 dividend.all -= divisor.all & s; in __udivmodti4()
151 divisor.all >>= 1; in __udivmodti4()