Encoding:

COP1

010001

fmt

10110

ft

fs

fd

MULR.PS

011010

6

5

5

5

5

6

Format:

MULR.PS fd, fs, ft

MIPS-3D

Floating Point Reduction Multiply

Purpose:

Floating Point Reduction Multiply

To perform a reduction multiply on two paired-single floating point values

Description:

FPR[fd].PL = FPR[ft].PU ∗ FPR[ft].PL; FPR[fd].PU = FPR[fs].PU ∗ FPR[fs].PL

The paired-single values in FPR ft are multiplied together and the result putin the lower paired-single position of

FPR fd. Similarly, the paired-single values in FPR fs are multiplied together and the result put in the upper paired-single position of FPR fd. The two results are calculated to infinite precision and rounded by using the current rounding mode in FCSR. The operands and result are values in format PS.

Any generated exceptions in the two independent adds are OR’ed together. Cause bits are ORed into the Flag bits if no exception is taken.

Restrictions:

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

DICTABLE.

is UNPREDICTABLE and the values in theThe operands must be values in format PS. If they are not,the result operand FPRs become UNPREDICTABLE.

The result of ADDR.PS is UNPREDICTABLE if the processor is executing in 16 FP registers mode.

Operation:

lower = ValueFPR(ft, PS)31..0 × ValueFPR(ft, PS)63..32
upper = ValueFPR(fs, PS)31..0 × ValueFPR(fs, PS)63..32
StoreFPR (fd, PS, upper || lower)

Exceptions:

Coprocessor Unusable, Reserved Instruction

Floating Point Exceptions:

Unimplemented Operation, Invalid Operation, Overflow, Inexact, Underflow