Renesas M32R-FPU User Manual

Page of 192
3
3-47
M32R-FPU Software Manual (Rev.1.01)
INSTRUCTIONS
3.2 Instruction description
FMSUB
FMSUB
[Mnemonic]
FMSUB  Rdest,Rsrc1,Rsrc2
[Function]
Floating-point multiply and subtract
Rdest = Rdest - Rsrc1 * Rsrc2 ;
[Description]
This instruction is executed in the following 2 steps.
● 
Step 1
Multiply the floating-point single precision value stored in Rsrc1 by the floating-point single
precision value stored in Rsrc2.
The multiplication result is rounded toward 0 regardless of the value in the RM field of FPSR.
● 
Step 2
Subtract the result (rounded value) of Step 1 from the floating-point single precision value
stored in Rdest.
The subtraction result is rounded according to the RM field of FPSR.
The result of this operation is stored in Rdest. Exceptions are determined in both Step 1 and
Step 2. The DN bit of FPSR handles the conversion of denormalized numbers. The condition bit
(C) remains unchanged.
[EIT occurrence]
Floating-Point Exceptions (FPE)
• Unimplemented Operation Exception (UIPL)
• Invalid Operation Exception (IVLD)
• Overflow (OVF)
• Underflow (UDF)
• Inexact Exception (IXCT)
[Encoding]
floating-point Instructions
Floating-point multiply and subtract
[M32R-FPU Extended Instruction]
src1
1101
src2
0000
dest
0011
0000
0100
FMSUB  Rdest,Rsrc1,Rsrc2