Encoding:

COP1

010001

fmt

0

00000

fs

fd

RSQRT1

011110

6

5

5

5

5

6

Format:

RSQRT1.fmt

Floating Point Reduced Precision Reciprocal Square Root (Sequence Step 1)

RSQRT1.S fd, fs

MIPS-3D

Floating Point Reduced Precision Reciprocal Square Root (Sequence Step 1)

RSQRT1.D fd, fs

MIPS-3D

Floating Point Reduced Precision Reciprocal Square Root (Sequence Step 1)

RSQRT1.PS fd, fs

MIPS-3D

Floating Point Reduced Precision Reciprocal Square Root (Sequence Step 1)

Purpose:

Floating Point Reduced Precision Reciprocal Square Root (Sequence Step 1)

To produce a reduced-precision reciprocal of the square root of one or two FP values

Description:

FPR[fd] = 1.0 / sqrt (FPR[fs])

The reciprocal of the positive square root of the value in FPR fs is approximated and placed in FPR fd. The operand and result are values in format S, D, or PS.

The numeric accuracy of this operation is implementation dependent;it does not meetthe accuracy specified by the

IEEE 754 Floating Point standard. A minimum accuracy of 14 bits is recommended for the S input data format, and

23 bits for the D data format.

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

In addition, if the input to this instruction is zero, the output is not infinity, but the maximum normalized value. This property is useful for 3D graphics applications. If the input is infinity, the output is zero.

This instruction is used as the first step of an instruction sequence that can be used to produce a full precision reciprocal square root value. See the description of RSQRT2.fmt for an example of how to use this instruction in a code sequence to produce a full precision reciprocal square root result.

Restrictions:

is UNPRE-The fields fs and fd must specify FPRs valid for operands of type fmt. If they are not valid,the result

DICTABLE. The format of the data in the specified operand register fs must be a value in format fmt; if it is not, the

result is UNPREDICTABLE and the value in the operand FPR becomes UNPREDICTABLE.

Operation:

StoreFPR(fd, fmt, (1.0 / SquareRoot(ValueFPR(fs, fmt)))ReducedPrecision)

Exceptions:

Coprocessor Unusable, Reserved Instruction

Floating Point Exceptions:

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