Lines Matching +full:single +full:- +full:shot
9 * dividend -- the thing being divided
10 * divisor -- how many ways to divide it
12 * N -- how many bits per iteration we try to get
14 * WORDSIZE -- how many bits altogether we're talking about:
17 * TOPBITS -- how many bits are in the top "decade" of a number:
18 * define(TOPBITS, eval( WORDSIZE - N*((WORDSIZE-1)/N) ) )
20 * Q -- the partial quotient under development -- initially 0
21 * R -- the remainder so far -- initially == the dividend
22 * ITER -- number of iterations of the main division loop which will
25 * V -- the current comparand -- initially divisor*2ˆ(ITER*N-1)
27 * current estimate for non-large dividend is
29 * a large dividend is one greater than 2ˆ(31-TOPBITS) and takes a
47 * $1 -- the current depth, 1<=$1<=N
48 * $2 -- the current accumulation of quotient bits
49 * N -- max depth
52 * R -- current remainder
53 * Q -- current quotient
54 * V -- current comparand
55 * cc -- set on current value of R
78 add Q, ($2*2-1), Q
79 ',` DEVELOP_QUOTIENT_BITS( incr($1), `eval(2*$2-1)')
135 sethi %hi(1<<(WORDSIZE-TOPBITS-1)),T
140 ! Here, the dividend is >= 2ˆ(31-N) or so. We must be careful here,
141 ! as our usual N-at-a-shot divide step will cause overflow and havoc.
158 ! This means that R has the high-order bit set.
174 ! do single-bit divide steps
178 ! and are only done if R >= 0. Because both R and V may have the high-
229 ! non-restoring fixup if remainder < 0, otherwise annulled
240 ` neg %o2,%o2 ! Q <- -Q
241 ',` neg %o3,%o3 ! R <- -R
244 retl ! leaf-routine return
246 ` mov %o2,%o0 ! quotient <- Q
247 ',` mov %o3,%o0 ! remainder <- R