Open as PDF
Double-Precision Floating-Point Square-Root Reciprocal Approximation RSQRDP
3-201 Instruction SetSPRU733
Double-Precision Floating-Point Square-Root Reciprocal Approximation
Syntax RSQRDP (.unit) src2, dst
.unit = .S1 or .S2
Compatibility C67x and C67x+ CPU
31 29 28 27 23 22 18 17 13 12 11 6 5 4 3 2 1 0
creg z dst src2 reserved x 1 0 1 1 1 0 1 0 0 0 s p
3 1 5 5 5 1 1 1
Opcode map field used... For operand type... Unit
Description The 64-bit double-precision floating-point square-root reciprocal approxima-
tion value of src2 is placed in dst. The operand is read in one cycle by using
the src1 port for the 32 LSBs and the src2 port for the 32 MSBs.
The RSQRDP instruction provides the correct exponent, and the mantissa is
accurate to the eighth binary position (therefore, mantissa error is less
). This estimate can be used as a seed value for an algorithm to
compute the reciprocal square root to greater accuracy.
The Newton-Rhapson algorithm can further extend the mantissa’s precision:
x[n + 1] = x[n](1.5 − (v/2) × x[n] × x[n])
where v = the number whose reciprocal square root is to be found.
x, the seed value for the algorithm is given by RSQRDP. For each iteration
the accuracy doubles. Thus, with one iteration, the accuracy is 16 bits in the
mantissa; with the second iteration, the accuracy is 32 bits; with the third itera-
tion, the accuracy is the full 52 bits.
Execution if (cond) sqrcp(src2) → dst