Important: The information in this document is obsolete and should not be used for new development.
Instructions
- Note
- Throughout the tables that follow, in the Exceptions column, I = invalid; X = inexact; O = overflow; U = underflow; D = divide by zero. In the Instructions column, * = append dot (.) to instruction name to update CR1.
Table F-5 FPSCR instructions Instruction Description SRC DST Exceptions mcrfs
DST,
SRCDST <-- (SRC) FPSCR field CR field - - - - - mffs*
DSTDST <-- (FPSCR) FPSCR FPR - - - - - mtfsf*
DST,
SRCDST <-- SRC FPR FPSCR field - - - - - mtfsfi*
DST,
nDST <-- n 16-bit signed int FPSCR field - - - - - mtfsb1*
DSTDST <-- 1 -- FPSCR bit - - - - - mtfsb0*
DSTDST <-- 0 -- FPSCR bit - - - - -
Table F-6 Load instructions Instruction Description SRC DST Exceptions lfd
DST,
n(GPR)DST <-- (n + (GPR)) Memory FPR - - - - -
lfdu
DST,
n(GPR)DST <-- (n + (GPR))
GPR <-- n + (GPR)Memory FPR - - - - -
lfdx
DST,
GPR1,
GPR2DST <-- ((GPR1) + (GPR2)) Memory FPR - - - - -
lfdux
DST,
GPR1,
GPR2DST <-- ((GPR1) + (GPR2))
GPR1 <-- (GPR1) + (GPR2)Memory FPR - - - - -
lfs
DST,
n(GPR)DST <-- (n + (GPR)) [80] Memory FPR - - - - -
lfsu
DST,
n(GPR)DST <-- (n + (GPR))
GPR <-- n + (GPR)Memory FPR - - - - -
lfsx
DST,
GPR1,
GPR2DST <-- ((GPR1) + (GPR2)) Memory FPR - - - - -
lfsux
DST,
GPR1,
GPR2DST <-- ((GPR1) + (GPR2))
GPR1 <-- (GPR1) + (GPR2)Memory FPR - - - - -
Table F-7 Store instructions Instruction Description SRC DST Exceptions stfd
SRC,
n(GPR)n + (GPR)<-- (SRC) FPR Memory - - - - - stfdu
SRC,
n(GPR)n + (GPR)<-- (SRC)
GPR <-- n + (GPR)FPR Memory - - - - - stfdx
SRC,
GPR1,
GPR2(GPR1) + (GPR2)<-- (SRC) FPR Memory - - - - - stfdux
SRC,
GPR1,
GPR2(GPR1) + (GPR2)<-- (SRC)
GPR1 <-- (GPR1) + (GPR2)FPR Memory - - - - - stfs
SRC,
n(GPR)n + (GPR)<-- (SRC) [82] FPR Memory - - - - - stfsu
SRC,
n(GPR)n + (GPR)<-- (SRC)
GPR <-- n + (GPR)FPR Memory - - - - - stfsx
SRC,
GPR1,
GPR2(GPR1) + (GPR2)<-- (SRC) FPR Memory - - - - - stfsux
SRC,
GPR1,
GPR2(GPR1) + (GPR2)<-- (SRC)
GPR1 <-- (GPR1) + (GPR2)FPR Memory - - - - -
Table F-8 Conversions to integer format Instruction Description SRC DST Exceptions fctiw
* DST,
SRCDST <-- (SRC) rounded to 32-bit int FPR GPR I X - - - fctiwz
* DST,
SRCDST <-- (SRC) truncated to 32-bit int FPR GPR I X - - -
Table F-9 Conversions from double to single format Instruction Description SRC DST Exceptions frsp
* DST,
SRCDST <-- (SRC) rounded to single format FPR FPR I X O U -
Table F-10 Comparison instructions Instruction Description SRC DST Exceptions fcmpo
DST,
SRC1,
SRC2DST <-- (SRC1) compare (SRC2) FPRs CR field I - - - - fcmpu
DST,
SRC1,
SRC2DST <-- (SRC1) compare (SRC2) FPRs CR field - - - - -
Table F-11 Arithmetic instructions Instruction Description SRC DST Exceptions fadd
* DST,
SRC1,
SRC2DST <-- (SRC1) + (SRC2) FPRs FPR I X O U - fsub
* DST,
SRC1,
SRC2DST <-- (SRC1) - (SRC2) FPRs FPR I X O U - fmul
* DST,
SRC1,
SRC2DST <-- (SRC1) (SRC2) FPRs FPR I X O U - fdiv
* DST,
SRC1,
SRC2DST <-- (SRC1) / (SRC2) FPRs FPR I X O U D
Table F-12 Multiply-add instructions Instruction Description SRC DST Exceptions fmadd
* DST,
SRC1,
SRC2,
SRC3DST <-- (SRC1) (SRC2)
+ (SRC3)FPRs FPR I X O U - fmsub
* DST,
SRC1,
SRC2,
SRC3DST <-- (SRC1) (SRC2)
- (SRC3)FPRs FPR I X O U - fnmadd
* DST,
SRC1,
SRC2,
SRC3DST <-- - ((SRC1) (SRC2) + (SRC3)) FPRs FPR I X O U - fnmsub
* DST,
SRC1,
SRC2,
SRC3DST <-- - ((SRC1) (SRC2) - (SRC3)) FPRs FPR I X O U -
Table F-13 Move instructions Instruction Description SRC DST Exceptions fabs
* DST,
SRCDST <-- |(SRC)| FPR FPR - - - - - fmr
* DST,
SRCDST <-- (SRC) FPR FPR - - - - - fneg
* DST,
SRCDST <-- - (SRC) FPR FPR - - - - - fnabs
* DST,
SRCDST <-- - |(SRC)| FPR FPR - - - - -
[80] Converts single to double format automatically.
[82] Converts double to single automatically.