COP1 010001 |
fmt |
0 00000 |
fs |
fd |
CVT.D 100001 |
6 |
5 |
5 |
5 |
5 |
6 |
CVT.D.fmt |
Floating Point Convert to Double Floating Point | |
CVT.D.S fd, fs |
MIPS32 |
Floating Point Convert to Double Floating Point |
CVT.D.W fd, fs |
MIPS32 |
Floating Point Convert to Double Floating Point |
CVT.D.L fd, fs |
MIPS64, MIPS32 Release 2 |
Floating Point Convert to Double Floating Point |
Floating Point Convert to Double Floating Point
To convert an FP or fixed point value to double FP.
FPR[fd] = convert_and_round(FPR[fs])
The value in FPR fs, in format fmt, is converted to a value in double floating point format and rounded according to the current rounding mode in FCSR. The result is placed in FPR fd. If fmt is S or W, then the operation is always exact.
The fields fs and fd must specify valid FPRs, fs for type fmt and fd for double floating point. 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.
For CVT.D.L, the result of this instruction is UNPREDICTABLE if the processor is executing in the FR=0 32-bit
FPU register model.
StoreFPR (fd, D, ConvertFmt(ValueFPR(fs, fmt), fmt, D))
Coprocessor Unusable, Reserved Instruction
Invalid Operation, Unimplemented Operation, Inexact