Floating-point Parallel Reciprocal Approximation Instructionfprcpa
Instruction Type F
Format
(qp) fprcpa.sf f1, p2 = f2, f3
Description
If PR qp is 0, PR p2 is cleared and f1 remains unchanged.
If PR qp is 1, the following will occur:
Each half of the significand of FR f1 is either set to an approximation (with a relative error < 2-8.886) of the reciprocal of the corresponding half of FR f3, or set to the IEEE-754 mandated response for the quotient FR f2/FR f3 of the corresponding half — if that half of FR f2 or of FR f3 is in the set {-Infinity, -0, +0, +Infinity, NaN}.
If either half of FR f1 is set to the IEEE-754 mandated quotient, or is set to an approximation of the reciprocal which may cause the Newton-Raphson iterations to fail to produce the correct IEEE-754 divide result, then PR p2 is set to 0, otherwise it is set to 1.
For correct IEEE divide results, when PR p2 is cleared, user software is expected to compute the quotient (FR f2/FR f3) for each half (using the non-parallel frcpa instruction), and merge the results into FR f1, keeping PR p2 cleared.
The exponent field of FR f1 is set to the biased exponent for 2.063 (0x1003E) and the sign field of FR f1 is set to positive (0).
If either FR f2 or FR f3 is a NaTVal, FR f1 is set to NaTVal instead of the computed result, and PR p2 is cleared.
fabs - Floating-point Absolute Value Instruction
fadd - Floating-point Add Instruction
famax - Floating-point Absolute Maximum Instruction
famin - Floating-point Absolute Minimum Instruction
fand - Floating-point AND Instruction
fchkf - Floating-point Check Flags Instruction
fclass - Floating-point Class Instruction
fclrf - Floating-point Clear Flags Instruction
fcmp - Floating-point Compare Instruction
fcvt.xf - Convert Signed Integer to Floating-point Instruction
Floating-Point Arithmetic Instructions
Floating-Point Memory Access Instructions
Floating-Point Non-Arithmetic Instructions
Floating-Point Pseudo-Operations
Floating-Point Register Transfer Instructions
Floating-Point Status Register (FPSR) Status Field Instructions
fma - Floating-point Multiply Add Instruction
fmax - Floating-point Maximum Instruction
fmerge - Floating-point Merge Instruction
fmin - Floating-point Minimum Instruction
fmpy - Floating-point Multiply Instruction
fms - Floating-point Multiply Subtract Instruction
fneg - Floating-point Negate Instruction
fnma - Floating-point Negative Multiply Add Instruction
fnmpy - Floating-point Negative Multiply Instruction
fnorm - Floating-point Normalize Instruction
for - Floating-point OR Instruction
fpabs - Floating-point Parallel Absolute Value Instruction
fpack - Floating-point Pack Instruction
fpamax - Floating-point Parallel Absolute Value Maximum Instruction
fpamin - Floating-point Parallel Absolute Value Minimum Instruction
fpcmp - Floating-point Parallel Compare Instruction
fpcvt.fx - Convert Parallel Floating-point to Integer Instruction
fcvt.xuf - Convert Unsigned Integer to Floating-point Instruction
fpma - Floating-point Parallel Multiply Add Instruction
fpmax - Floating-point Parallel Maximum Instruction
fpmin - Floating-point Parallel Minimum Instruction
fpmerge - Floating-point Parallel Merge Instructions
fpmpy - Floating-point Parallel Multiply Instruction
fpms - Floating-point Parallel Multiply Subtract Instruction
fpneg - Floating-point Parallel Negate Instruction
fpnegabs - Floating-point Parallel Negate Absolute Value Instruction
fpnma - Floating-point Parallel Negative Multiply Add Instruction
fpnmpy - Floating-point Parallel Negative Multiply Instruction
fprsqrta - Floating-point Parallel Reciprocal Square Root Approximation Instruction
frcpa - Floating-point Reciprocal Approximation Instruction
frsqrta - Floating-point Reciprocal Square Root Approximation Instruction
fselect - Floating-point Select Instruction
fsetc - Floating-point Set Controls Instruction
fsub - Floating-point Subtract Instruction
fswap - Floating-point Swap Instruction
fsxt - Floating-point Sign Extend Instruction
fwb - Flush Write Buffers Instruction
fxor - Floating-point Exclusive Or Instruction
getf - Get Floating-point Value or Exponent or Significand Instruction
Integer Multiply and Add (in FP Unit) Instructions
ldf - Floating-point Load Instruction
ldfp - Floating-point Load Pair Instruction
mov fr - Move Floating-point Register Instruction
padd - Parallel Add Instruction
Parallel Arithmetic Instructions
Parallel Data Arrangement Instructions
pavg - Parallel Average Instruction
pavgsub - Parallel Average Subtract Instruction
pcmp - Parallel Compare Instruction
pmax - Parallel Maximum Instruction
pmin - Parallel Minimum Instruction
pmpy - Parallel Multiply Instruction
pmpyshr - Parallel Multiply and Shift Right Instruction
psad1 - Parallel Sum of Absolute Difference Instruction
pshl - Parallel Shift Left Instruction
pshladd - Parallel Shift Left and Add Instruction
pshr - Parallel Shift Right Instruction
pshradd - Parallel Shift Right and Add Instruction
psub - Parallel Subtract Instruction
setf - Set Floating-point Value, Exponent, or Significand Instruction