IBM PPC440X5 Computer Hardware User Manual


 
User’s Manual
Preliminary PPC440x5 CPU Core
instalfa.fm.
September 12, 2002
Page 525 of 589
Table A-1 summarizes the PPC440x5 instruction set, including required extended mnemonics. All
mnemonics are listed alphabetically, without regard to whether the mnemonic is realized in hardware or soft-
ware. When an instruction supports multiple hardware mnemonics (for example, b, ba, bl, bla are all forms of
b), the instruction is alphabetized under the root form. The hardware instructions are described in detail in
Chapter 9, “Instruction Set,” which is also alphabetized under the root form. Section 9 also describes the
instruction operands and notation.
Programming Note: Bit 4 of the BO instruction field provides a hint about the most likely
outcome of a conditional branch. (See Branch Prediction on page 65 for
a detailed description of branch prediction.) Assemblers should set
BO
4
= 0 unless a specific reason exists otherwise. In the BO field values
specified in Table A-1, BO
4
= 0 has always been assumed. The
assembler must enable the programmer to specify branch prediction. To
do this, the assembler supports suffixes for the conditional branch
mnemonics:
+ Predict branch to be taken.
Predict branch not to be taken.
For example, bc also could be coded as bc+ or bc–, and bne also could
be coded bne+ or bne–. These alternate codings set BO
4
= 1 only if the
requested prediction differs from the standard prediction. See Branch
Prediction on page 65 for more information.
Table A-1. PPC440x5 Instruction Syntax Summary
Mnemonic Operands Function
Other Registers
Changed
Page
add
RT, RA, RB
Add (RA) to (RB).
Place result in RT.
255
add.
CR[CR0]
addo
XER[SO, OV]
addo.
CR[CR0]
XER[SO, OV]
addc
RT, RA, RB
Add (RA) to (RB).
Place result in RT.
Place carry-out in XER[CA].
256
addc.
CR[CR0]
addco
XER[SO, OV]
addco.
CR[CR0]
XER[SO, OV]
adde
RT, RA, RB
Add XER[CA], (RA), (RB).
Place result in RT.
Place carry-out in XER[CA].
257
adde.
CR[CR0]
addeo
XER[SO, OV]
addeo.
CR[CR0]
XER[SO, OV]
addi
RT, RA, IM
Add EXTS(IM) to (RA|0).
Place result in RT.
258
addic
RT, RA, IM
Add EXTS(IM) to (RA|0).
Place result in RT.
Place carry-out in XER[CA].
259
addic.
RT, RA, IM
Add EXTS(IM) to (RA|0).
Place result in RT.
Place carry-out in XER[CA].
CR[CR0] 260