Revision 1.0
VU Divide Instructions
77
Reciprocal Table Lookup
The results are computed by a table lookup using 10 bits of precision. The
input is shifted up to remove leading 0’s (or 1’s) (actually, the first
non-leading digit is also removed, since we know what it is) and the next 10
bits are used to index into the reciprocal table. The 16 bits in the table at this
index are used to construct the result, which is obtained by shifting down an
appropriate number of bits and possibly complementing (for negative
input).
For
rcp
, the radix point of the output is shifted right compared to the input.
For example, for double precision
rcp
, with input format
S15.16
, the
output result will be
S16.15
, requiring the result to be multiplied by
2
in
order to maintain the same format.
For
rsq
, the radix point moves to the left by one-half the number of integer
bits. Think of it this way:
and:
vrcpl,
vrsql
low
low
lookup source and previous, write result
Type
vt
[
element
]
vd
[
vs
]
input
a
2
k
=
table
1
a
2
k
-------------------
=
Summary of Contents for Ultra64
Page 2: ...2 ...
Page 10: ...10 ...
Page 12: ...12 Figure 6 2 buildtask Operation 137 ...
Page 14: ...14 ...
Page 80: ...80 Vector Unit Instructions vmadm dres_int dres_int vconst 3 vmadn dres_frac vconst vconst 0 ...
Page 104: ...104 RSP Coprocessor 0 ...
Page 150: ...150 Advanced Information ...
Page 155: ...Revision 1 0 155 ...
Page 248: ...248 Exceptions None ...
Page 251: ...Revision 1 0 251 Exceptions None ...
Page 254: ...254 Exceptions None ...
Page 257: ...Revision 1 0 257 Exceptions None ...
Page 293: ...Revision 1 0 293 Exceptions None ...
Page 316: ...316 Exceptions None ...