Instructions Common to POWER, POWER2, and PowerPC |
Mnemonic |
Instruction |
Format |
Primary Op Code |
Extended Op Code |
and[.] |
AND |
X |
31 |
28 |
andc[.] |
AND with Complement |
X |
31 |
60 |
b[l][a] |
Branch |
I |
18 |
|
bc[l][a] |
Branch Conditional |
B |
16 |
|
cmp |
Compare |
X |
31 |
0 |
cmpi |
Compare Immediate |
D |
11 |
|
cmpl |
Compare Logical |
X |
31 |
32 |
cmpli |
Compare Logical Immediate |
D |
10 |
|
crand |
Condition Register AND |
XL |
19 |
257 |
crandc |
Condition Register AND with Complement |
XL |
19 |
129 |
creqv |
Condition Register Equivalent |
XL |
19 |
289 |
crnand |
Condition Register NAND |
XL |
19 |
225 |
crnor |
Condition Register NOR |
XL |
19 |
33 |
cror |
Condition Register OR |
XL |
19 |
449 |
crorc |
Condition Register OR with Complement |
XL |
19 |
417 |
crxor |
Condition Register XOR |
XL |
19 |
193 |
eciwx |
External Control in Word Indexed |
X |
31 |
310 |
ecowx |
External Control out Word Indexed |
X |
31 |
438 |
eqv[.] |
Equivalent |
X |
31 |
284 |
fabs[.] |
Floating Absolute Value |
X |
63 |
264 |
fcmpo |
Floating Compare Ordered |
X |
63 |
32 |
fcmpu |
Floating Compare Unordered |
XL |
63 |
0 |
fmr[.] |
Floating Move Register |
X |
63 |
72 |
fnabs[.] |
Floating Negative Absolute Value |
X |
63 |
136 |
fneg[.] |
Floating Negate |
X |
63 |
40 |
frsp[.] |
Floating Round to Single Precision |
X |
63 |
12 |
lbz |
Load Byte and Zero |
D |
34 |
|
lbzu |
Load Byte and Zero with Update |
D |
35 |
|
lbzux |
Load Byte and Zero with Update Indexed |
X |
31 |
119 |
lbzx |
Load Byte and Zero Indexed |
X |
31 |
87 |
lfd |
Load Floating-Point Double |
D |
50 |
|
lfdu |
Load Floating-Point Double with Update |
D |
51 |
|
lfdux |
Load Floating-Point Double with Update Indexed |
X |
31 |
631 |
lfdx |
Load Floating-Point Double Indexed |
X |
31 |
599 |
lfs |
Load Floating-Point Single |
D |
48 |
|
lfsu |
Load Floating-Point Single with Update |
D |
49 |
|
lfsux |
Load Floating-Point Single with Update Indexed |
X |
31 |
567 |
lfsx |
Load Floating-Point Single Indexed |
X |
31 |
535 |
lha |
Load Half Algebraic |
D |
42 |
|
lhau |
Load Half Algebraic with Update |
D |
43 |
|
lhaux |
Load Half Algebraic with Update Indexed |
X |
31 |
375 |
lhax |
Load Half Algebraic Indexed |
X |
31 |
343 |
lhbrx |
Load Half Byte-Reversed Indexed |
X |
31 |
790 |
lhz |
Load Half and Zero |
D |
40 |
|
lhzu |
Load Half and Zero with Update |
D |
41 |
|
lhzux |
Load Half and Zero with Update Indexed |
X |
31 |
331 |
lhzx |
Load Half and Zero Indexed |
X |
31 |
279 |
mcrf |
Move Condition Register Field |
XL |
19 |
0 |
mcrfs |
Move to Condition Register from FPSCR |
X |
63 |
64 |
mcrxr |
Move to Condition Register from XER |
X |
31 |
512 |
mfcr |
Move from Condition Register |
X |
31 |
19 |
mffs[.] |
Move from FPSCR |
X |
63 |
583 |
mfmsr |
Move from Machine State Register |
X |
31 |
83 |
mfspr |
Move from Special-Purpose Register |
X |
31 |
339 |
mfsr |
Move from Segment Register |
X |
31 |
595 |
mtcrf |
Move to Condition Register Fields |
XFX |
31 |
144 |
mtfsb0[.] |
Move to FPSCR Bit 0 |
X |
63 |
70 |
mtfsb1[.] |
Move to FPSCR Bit 1 |
X |
63 |
38 |
mtfsf[.] |
Move to FPSCR Fields |
XFL |
63 |
711 |
mtfsfi[.] |
Move to FPSCR Field Immediate |
X |
63 |
134 |
mtmsr |
Move to Machine State Register |
X |
31 |
146 |
mtspr |
Move to Special-Purpose Register |
X |
31 |
467 |
mtsr |
Move to Segment Register |
X |
31 |
210 |
nand[.] |
NAND |
X |
31 |
476 |
neg[o][.] |
Negate |
XO |
31 |
104 |
nor[.] |
NOR |
X |
31 |
124 |
or[.] |
OR |
X |
31 |
444 |
orc[.] |
OR with Complement |
X |
31 |
412 |
rfi |
Return from Interrupt |
X |
19 |
50 |
si |
Subtract Immediate |
D |
12 |
|
si. |
Subtract Immediate and Record |
D |
13 |
|
stb |
Store Byte |
D |
38 |
|
stbu |
Store Byte with Update |
D |
31 |
215 |
stbux |
Store Byte with Update Indexed |
X |
31 |
247 |
stbx |
Store Byte Indexed |
X |
31 |
215 |
stfd |
Store Floating-Point Double |
D |
54 |
|
stfdu |
Store Floating-Point Double with Update |
D |
55 |
|
stfdux |
Store Floating-Point Double with Update Indexed |
X |
31 |
759 |
stfdx |
Store Floating-Point Double Indexed |
X |
31 |
727 |
stfs |
Store Floating-Point Single |
D |
52 |
|
stfsu |
Store Floating-Point Single with Update |
D |
53 |
|
stfsux |
Store Floating-Point Single with Update Indexed |
X |
31 |
695 |
stfsx |
Store Floating-Point Single Indexed |
X |
31 |
663 |
sth |
Store Half |
D |
44 |
|
sthbrx |
Store Half Byte-Reverse Indexed |
X |
31 |
918 |
sthu |
Store Half with Update |
D |
45 |
|
sthux |
Store Half with Update Indexed |
X |
31 |
439 |
sthx |
Store Half Indexed |
X |
31 |
407 |
xor[.] |
XOR |
X |
31 |
316 |