Chapter 2. Programming Model
2-47
Instruction Set Summary
All single-precision arithmetic instructions are performed using a double-precision format.
The oating-point architecture is a single-pass implementation for double-precision
products. In most cases, a single-precision instruction using only single-precision
operands, in double-precision format, has the same latency as its double-precision
equivalent.
2.3.4.2.2 Floating-Point Multiply-Add Instructions
These instructions combine multiply and add operations without an intermediate rounding
operation. The oating-point multiply-add instructions are summarized in Table 2-25.
Table 2-25. Floating-Point Multiply-Add Instructions
2.3.4.2.3 Floating-Point Rounding and Conversion Instructions
The Floating Round to Single-Precision (
frsp
) instruction is used to truncate a 64-bit
double-precision number to a 32-bit single-precision oating-point number. The
oating-point convert instructions convert a 64-bit double-precision oating-point number
to a 32-bit signed integer number.
Examples of uses of these instructions to perform various conversions can be found in
Appendix D, òFloating-Point Models,ó in
The Programming Environments Manual
.
Table 2-26. Floating-Point Rounding and Conversion Instructions
Name
Mnemonic
Syntax
Floating Multiply-Add (Double-Precision)
fmadd
(
fmadd.
)
fr
D
,fr
A
,fr
C
,fr
B
Floating Multiply-Add Single
fmadds
(
fmadds.
)
fr
D
,fr
A
,fr
C
,fr
B
Floating Multiply-Subtract (Double-Precision)
fmsub
(
fmsub.
)
fr
D
,fr
A
,fr
C
,fr
B
Floating Multiply-Subtract Single
fmsubs
(
fmsubs.
)
fr
D
,fr
A
,fr
C
,fr
B
Floating Negative Multiply-Add (Double-Precision)
fnmadd
(
fnmadd.
)
fr
D
,fr
A
,fr
C
,fr
B
Floating Negative Multiply-Add Single
fnmadds
(
fnmadds.
)
fr
D
,fr
A
,fr
C
,fr
B
Floating Negative Multiply-Subtract (Double-Precision)
fnmsub
(
fnmsub.
)
fr
D
,fr
A
,fr
C
,fr
B
Floating Negative Multiply-Subtract Single
fnmsubs
(
fnmsubs.
)
fr
D
,fr
A
,fr
C
,fr
B
Name
Mnemonic
Syntax
Floating Round to Single
frsp
(
frsp.
)
fr
D
,fr
B
Floating Convert to Integer Word
fctiw
(
fctiw.
)
fr
D
,fr
B
Floating Convert to Integer Word with Round toward Zero
fctiwz
(
fctiwz.
)
fr
D
,fr
B