Lines Matching +full:high +full:- +full:dynamic

8  *   dividend -- the thing being divided
9 * divisor -- how many ways to divide it
11 * N -- how many bits per iteration we try to get
13 * WORDSIZE -- how many bits altogether we're talking about:
16 * TOPBITS -- how many bits are in the top "decade" of a number:
19 * Q -- the partial quotient under development -- initially 0
20 * R -- the remainder so far -- initially == the dividend
21 * ITER -- number of iterations of the main division loop which will
24 * V -- the current comparand -- initially divisor*2ˆ(ITER*4-1)
26 * current estimate for non-large dividend is
28 * a large dividend is one greater than 2ˆ(31-4 ) and takes a
36 * $1 -- the current depth, 1<=$1<=4
37 * $2 -- the current accumulation of quotient bits
38 * 4 -- max depth
40 * Dynamic input:
41 * %o3 -- current remainder
42 * %o2 -- current quotient
43 * %o5 -- current comparand
44 * cc -- set on current value of %o3
45 * Dynamic output:
76 sethi %hi(1<<(32-4 -1)),%g1
81 ! Here, the %o0 is >= 2ˆ(31-4) or so. We must be careful here,
82 ! as our usual 4-at-a-shot divide step will cause overflow and havoc.
99 ! This means that %o3 has the high-order bit set.
101 sll %g1,4 ,%g1 ! high order bit
115 ! do single-bit divide steps
119 ! and are only done if %o3 >= 0. Because both %o3 and %o5 may have the high-
189 add %o2, (7*2-1), %o2
204 add %o2, (5*2-1), %o2
224 add %o2, (3*2-1), %o2
239 add %o2, (1*2-1), %o2
243 !depth 2, accumulated bits -1
248 !depth 3, accumulated bits -1
253 !depth 4, accumulated bits -1
259 add %o2, (-1*2+1), %o2
264 add %o2, (-1*2-1), %o2
268 !depth 4, accumulated bits -3
274 add %o2, (-3*2+1), %o2
279 add %o2, (-3*2-1), %o2
283 !depth 3, accumulated bits -3
288 !depth 4, accumulated bits -5
294 add %o2, (-5*2+1), %o2
299 add %o2, (-5*2-1), %o2
303 !depth 4, accumulated bits -7
309 add %o2, (-7*2+1), %o2
314 add %o2, (-7*2-1), %o2
321 ! non-restoring fixup if remainder < 0, otherwise annulled
327 neg %o3,%o3 ! %o3 <- -%o3
329 retl ! leaf-routine return
330 mov %o3,%o0 ! remainder <- %o3