MIPS R4000 Microprocessor User's Manual B-11
FPU Instruction Set Details
In the following pages, the notation FGR refers to the 32 General Purpose
registers FGR0 through FGR31 of the FPU, and FPR refers to the floating-
point registers of the FPU.
• When the FR bit in the Status register (SR(26)) equals zero, only
the even floating-point registers are valid and the 32 General
Purpose registers of the FPU are 32-bits wide.
• When the FR bit in the Status register (SR(26)) equals one, both
odd and even floating-point registers may be used and the 32
General Purpose registers of the FPU are 64-bits wide.
The following routines are used in the description of the floating-point
operations to retrieve the value of an FPR or to change the value of an FGR:
value ← ValueFPR(fpr,fmt)
if SR
26
= 1 then /* 64-bit wide FGRs */
case fmt of
S, W:
value ← FGR[fpr]
31...0
return
D, L:
value ← FGR[fpr]
return
endcase
elseif fpr
0
= 0 then /* valid specifier, 32-bit wide FGRs */
case fmt of
S, W:
value ← FGR[fpr]
return
D, L:
value ← FGR[fpr+1] || FGR[fpr]
return
endcase
else /* undefined result for odd 32-bit reg #s */
value ← undefined
endif