IBM 750GX Computer Accessories User Manual


 
User’s Manual
IBM PowerPC 750GX and 750GL RISC Microprocessor
Programming Model
Page 96 of 377
gx_02.fm.(1.2)
March 27, 2006
Double-precision arithmetic instructions, except those involving multiplication (fmul, fmadd, fmsub, fnmadd,
fnmsub) execute with the same latency as their single-precision equivalents. For additional details on
floating-point performance, see Chapter 6, Instruction Timing, on page 209.
Floating-Point Multiply/Add Instructions
These instructions combine multiply and add operations without an intermediate rounding operation. The
floating-point multiply/add instructions are summarized in Table 2-13.
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 floating-point number. The floating-point convert instructions convert a 64-bit
double-precision floating-point number to a 32-bit signed integer number.
Table 2-12. Floating-Point Arithmetic Instructions
Name Mnemonic Syntax
Floating Add (Double-Precision) fadd (fadd.) frD,frA,frB
Floating Add Single fadds (fadds.) frD,frA,frB
Floating Subtract (Double-Precision) fsub (fsub.) frD,frA,frB
Floating Subtract Single fsubs (fsubs.) frD,frA,frB
Floating Multiply (Double-Precision) fmul (fmul.) frD,frA,frC
Floating Multiply Single fmuls (fmuls.) frD,frA,frC
Floating Divide (Double-Precision) fdiv (fdiv.) frD,frA,frB
Floating Divide Single fdivs (fdivs.) frD,frA,frB
Floating Reciprocal Estimate Single
1
fres (fres.) frD,frB
Floating Reciprocal Square Root Estimate
1
frsqrte (frsqrte.) frD,frB
Floating Select
1
fsel (fsel.) frD,frA,frC,frB
1.
The fres, frsqrte, and fsel instructions are optional in the PowerPC Architecture.
Table 2-13. Floating-Point Multiply/Add Instructions
Name Mnemonic Syntax
Floating Multiply/Add (Double-Precision) fmadd (fmadd.) frD,frA,frC,frB
Floating Multiply/Add Single fmadds (fmadds.) frD,frA,frC,frB
Floating Multiply/Subtract (Double-Precision) fmsub (fmsub.) frD,frA,frC,frB
Floating Multiply/Subtract Single fmsubs (fmsubs.) frD,frA,frC,frB
Floating Negative Multiply/Add (Double-Precision) fnmadd (fnmadd.) frD,frA,frC,frB
Floating Negative Multiply/Add Single fnmadds (fnmadds.) frD,frA,frC,frB
Floating Negative Multiply/Subtract (Double-Preci-
sion)
fnmsub (fnmsub.) frD,frA,frC,frB
Floating Negative Multiply/Subtract Single fnmsubs (fnmsubs.) frD,frA,frC,frB