Encoding:

POOL32F

010101

ft

fs

0

fmt

RECIP

01001000

POOL32FXf

111011

6

5

5

1

1

8

6

Format:

RECIP.fmt 

Reciprocal Approximation

RECIP.S   ft, fs

microMIPS

Reciprocal Approximation

RECIP.D   ft, fs

microMIPS

Reciprocal Approximation

Purpose:

Reciprocal Approximation

To approximate the reciprocal of an FP value (quickly).

Description:

 FPR[ft] = 1.0 / FPR[fs]

The reciprocal of the value in FPR fs is approximated and placed into FPR ft. The operand and result are values in format fmt.

The numeric accuracy of this operation is implementation dependent. It does not meet the accuracy specified by the

IEEE 754 Floating Point standard. The computed result differs from the both the exact result and the IEEE-mandated representation of the exact result by no more than one unit in the least-significant place (ULP).

It is implementation dependent whether the result is affected by the current rounding mode in FCSR.

Restrictions:

The fields fs and ft must specify FPRs valid for operands of type fmt. If the fields are not valid, the result is UNPREDICTABLE.

The operand must be a value in format fmt; if it is not, the result is UNPREDICTABLE and the value of the operand

FPR becomes UNPREDICTABLE.

Availability and Compatibility:

RECIP.S and RECIP.D: Required in all versions of MIPS64 since MIPS64 Release 1. Not available in MIPS32

Release 1. Required in MIPS32 Release 2 and all subsequent versions of MIPS32. When required, required whenever

FPU is present, whether a 32-bit or 64-bit FPU, whether in 32-bit or 64-bit FP Register Mode (FIRF64=0 or 1,

StatusFR=0 or 1).

Operation:

StoreFPR(ft, fmt, 1.0 / valueFPR(fs, fmt))

Exceptions:

Coprocessor Unusable, Reserved Instruction

Floating Point Exceptions:

Inexact, Division-by-zero, Unimplemented Op, Invalid Op, Overflow, Underflow