ISA Reference Tables
These are from 3.0B p1145 Appendix C, and are based on Anton Blanchard's microwatt decode1.vhdl
Major opcodes
decodes using f_in.insn(31 downto 26)
opcode | unit | internal op | in1 | in2 | in3 | out | CR in | CR out | inv A | inv out | cry in | cry out | ldst len | BR | sgn ext | upd | rsrv | 32b | sgn | rc | lk | sgl pipe | comment | form | CONDITIONS | unofficial | comment2 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
12 | ALU | OP_ADD | RA | CONST_SI | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 1 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | addic | D | |||
13 | ALU | OP_ADD | RA | CONST_SI | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 1 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | ONE | 0 | 0 | addic. | D | |||
14 | ALU | OP_ADD | RA_OR_ZERO | CONST_SI | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | addi | D | |||
15 | ALU | OP_ADD | RA_OR_ZERO | CONST_SI_HI | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | addis | D | |||
28 | LOGICAL | OP_AND | RS | CONST_UI | NONE | RA | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | ONE | 0 | 0 | andi. | D | |||
29 | LOGICAL | OP_AND | RS | CONST_UI_HI | NONE | RA | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | ONE | 0 | 0 | andis. | D | |||
18 | BRANCH | OP_B | NONE | CONST_LI | NONE | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 1 | 0 | b | I | |||
16 | BRANCH | OP_BC | SPR | CONST_BD | NONE | SPR | BI | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 1 | 0 | bc | B | |||
11 | ALU | OP_CMP | RA | CONST_SI | NONE | NONE | NONE | BF | 1 | 0 | ONE | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 1 | NONE | 0 | 0 | cmpi | D | |||
10 | ALU | OP_CMP | RA | CONST_UI | NONE | NONE | NONE | BF | 1 | 0 | ONE | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | cmpli | D | |||
34 | LDST | OP_LOAD | RA_OR_ZERO | CONST_SI | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is1B | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | lbz | D | |||
35 | LDST | OP_LOAD | RA_OR_ZERO | CONST_SI | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is1B | 0 | 0 | 1 | 0 | 0 | 0 | NONE | 0 | 1 | lbzu | D | |||
50 | LDST | OP_LOAD | RA_OR_ZERO | CONST_SI | NONE | FRT | NONE | NONE | 0 | 0 | ZERO | 0 | is8B | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | lfd | D | |||
51 | LDST | OP_LOAD | RA | CONST_SI | NONE | FRT | NONE | NONE | 0 | 0 | ZERO | 0 | is8B | 0 | 0 | 1 | 0 | 0 | 0 | NONE | 0 | 1 | lfdu | D | |||
48 | LDST | OP_LOAD | RA_OR_ZERO | CONST_SI | NONE | FRT | NONE | NONE | 0 | 0 | ZERO | 0 | is4B | 0 | 0 | 0 | 0 | 1 | 0 | NONE | 0 | 1 | lfs | D | |||
49 | LDST | OP_LOAD | RA | CONST_SI | NONE | FRT | NONE | NONE | 0 | 0 | ZERO | 0 | is4B | 0 | 0 | 1 | 0 | 1 | 0 | NONE | 0 | 1 | lfsu | D | |||
42 | LDST | OP_LOAD | RA_OR_ZERO | CONST_SI | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is2B | 0 | 1 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | lha | D | |||
43 | LDST | OP_LOAD | RA_OR_ZERO | CONST_SI | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is2B | 0 | 1 | 1 | 0 | 0 | 0 | NONE | 0 | 1 | lhau | D | |||
40 | LDST | OP_LOAD | RA_OR_ZERO | CONST_SI | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is2B | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | lhz | D | |||
41 | LDST | OP_LOAD | RA_OR_ZERO | CONST_SI | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is2B | 0 | 0 | 1 | 0 | 0 | 0 | NONE | 0 | 1 | lhzu | D | |||
32 | LDST | OP_LOAD | RA_OR_ZERO | CONST_SI | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is4B | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | lwz | D | |||
33 | LDST | OP_LOAD | RA_OR_ZERO | CONST_SI | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is4B | 0 | 0 | 1 | 0 | 0 | 0 | NONE | 0 | 1 | lwzu | D | |||
56 | LDST | OP_LOAD | RA_OR_ZERO | CONST_DQ | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is8B | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | lq | DQ | FIXME: should probably be is16B and RTp | ||
7 | MUL | OP_MUL_L64 | RA | CONST_SI | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 1 | NONE | 0 | 0 | mulli | D | |||
24 | LOGICAL | OP_OR | RS | CONST_UI | NONE | RA | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | ori | D | |||
25 | LOGICAL | OP_OR | RS | CONST_UI_HI | NONE | RA | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | oris | D | |||
20 | SHIFT_ROT | OP_RLC | RA | CONST_SH32 | RS | RA | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 1 | 0 | RC_ONLY | 0 | 0 | rlwimi | M | |||
21 | SHIFT_ROT | OP_RLC | NONE | CONST_SH32 | RS | RA | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 1 | 0 | RC_ONLY | 0 | 0 | rlwinm | M | |||
23 | SHIFT_ROT | OP_RLC | NONE | RB | RS | RA | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 1 | 0 | RC_ONLY | 0 | 0 | rlwnm | M | |||
38 | LDST | OP_STORE | RA_OR_ZERO | CONST_SI | RS | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | is1B | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | stb | D | |||
39 | LDST | OP_STORE | RA_OR_ZERO | CONST_SI | RS | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | is1B | 0 | 0 | 1 | 0 | 0 | 0 | NONE | 0 | 1 | stbu | D | |||
54 | LDST | OP_STORE | RA_OR_ZERO | CONST_SI | FRS | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | is8B | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | stfd | D | |||
55 | LDST | OP_STORE | RA | CONST_SI | FRS | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | is8B | 0 | 0 | 1 | 0 | 0 | 0 | NONE | 0 | 1 | stfdu | D | |||
52 | LDST | OP_STORE | RA_OR_ZERO | CONST_SI | FRS | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | is4B | 0 | 0 | 0 | 0 | 1 | 0 | NONE | 0 | 1 | stfs | D | |||
53 | LDST | OP_STORE | RA | CONST_SI | FRS | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | is4B | 0 | 0 | 1 | 0 | 1 | 0 | NONE | 0 | 1 | stfsu | D | |||
44 | LDST | OP_STORE | RA_OR_ZERO | CONST_SI | RS | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | is2B | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | sth | D | |||
45 | LDST | OP_STORE | RA_OR_ZERO | CONST_SI | RS | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | is2B | 0 | 0 | 1 | 0 | 0 | 0 | NONE | 0 | 1 | sthu | D | |||
36 | LDST | OP_STORE | RA_OR_ZERO | CONST_SI | RS | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | is4B | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | stw | D | |||
37 | LDST | OP_STORE | RA_OR_ZERO | CONST_SI | RS | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | is4B | 0 | 0 | 1 | 0 | 0 | 0 | NONE | 0 | 1 | stwu | D | |||
8 | ALU | OP_ADD | RA | CONST_SI | NONE | RT | NONE | NONE | 1 | 0 | ONE | 1 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | subfic | D | |||
2 | TRAP | OP_TRAP | RA | CONST_SI | NONE | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | tdi | D | |||
3 | TRAP | OP_TRAP | RA | CONST_SI | NONE | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 1 | 0 | NONE | 0 | 1 | twi | D | |||
26 | LOGICAL | OP_XOR | RS | CONST_UI | NONE | RA | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | xori | D | |||
27 | LOGICAL | OP_XOR | RS | CONST_UI_HI | NONE | RA | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | xoris | D |
Minor opcode 19
decodes using f_in.insn(5 downto 1)
SPDX-License-Header: CC-BY-4 |
|||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
derived from microwatt decode1.vhdl |
with thanks and gratitude (IBM | OPF) | |||||||||||||||||||||||
opcode | unit | internal op | in1 | in2 | in3 | out | CR in | CR out | inv A | inv out | cry in | cry out | ldst len | BR | sgn ext | upd | rsrv | 32b | sgn | rc | lk | sgl pipe | comment | form | CONDITIONS |
0b00010 | ALU | OP_ILLEGAL | NONE | NONE | NONE | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 1 | add pcis not implemented yet | DX |
decodes using f_in.insn(10 downto 1)
SPDX-License-Header: CC-BY-4 |
|||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
derived from microwatt decode1.vhdl |
with thanks and gratitude (IBM | OPF) | |||||||||||||||||||||||||
opcode | unit | internal op | in1 | in2 | in3 | out | CR in | CR out | inv A | inv out | cry in | cry out | ldst len | BR | sgn ext | upd | rsrv | 32b | sgn | rc | lk | sgl pipe | comment | form | CONDITIONS | unofficial | comment2 |
0000000000 | CR | OP_MCRF | NONE | NONE | NONE | NONE | BFA | BF | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | mcrf | XL | |||
0100000001 | CR | OP_CROP | NONE | NONE | NONE | NONE | BA_BB | BT | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | crand | XL | |||
0010000001 | CR | OP_CROP | NONE | NONE | NONE | NONE | BA_BB | BT | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | crandc | XL | |||
0100100001 | CR | OP_CROP | NONE | NONE | NONE | NONE | BA_BB | BT | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | creqv | XL | |||
0011100001 | CR | OP_CROP | NONE | NONE | NONE | NONE | BA_BB | BT | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | crnand | XL | |||
0000100001 | CR | OP_CROP | NONE | NONE | NONE | NONE | BA_BB | BT | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | crnor | XL | |||
0111000001 | CR | OP_CROP | NONE | NONE | NONE | NONE | BA_BB | BT | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | cror | XL | |||
0110100001 | CR | OP_CROP | NONE | NONE | NONE | NONE | BA_BB | BT | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | crorc | XL | |||
0011000001 | CR | OP_CROP | NONE | NONE | NONE | NONE | BA_BB | BT | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | crxor | XL | |||
1000010000 | BRANCH | OP_BCREG | SPR | SPR | NONE | SPR | BI | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 1 | 0 | bcctr | XL | |||
0000010000 | BRANCH | OP_BCREG | SPR | SPR | NONE | SPR | BI | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 1 | 0 | bclr | XL | |||
1000110000 | BRANCH | OP_BCREG | SPR | SPR | NONE | SPR | BI | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 1 | 0 | bctar | XL | |||
0010010110 | ALU | OP_ISYNC | NONE | NONE | NONE | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | isync | XL | |||
0001010010 | TRAP | OP_RFID | SPR | SPR | NONE | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | rfscv | XL | |||
0000010010 | TRAP | OP_RFID | SPR | SPR | NONE | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | rfid | XL | |||
0100010010 | TRAP | OP_RFID | SPR | SPR | NONE | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | hrfid | XL | |||
-----00010 | ALU | OP_ADD | CIA | CONST_DXHI4 | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | addpcis | DX | |||
----000011 | ALU | OP_MINMAX | RA_OR_ZERO | RB | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | minmax | MM | 1 | unofficial until submitted and approved/renumbered by the opf isa wg |
Minor opcode 30
decodes using f_in.insn(4 downto 1)
SPDX-License-Header: CC-BY-4 |
|||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
derived from microwatt decode1.vhdl |
with thanks and gratitude (IBM | OPF) | |||||||||||||||||||||||
opcode | unit | internal op | in1 | in2 | in3 | out | CR in | CR out | inv A | inv out | cry in | cry out | ldst len | BR | sgn ext | upd | rsrv | 32b | sgn | rc | lk | sgl pipe | comment | form | CONDITIONS |
010- | SHIFT_ROT | OP_RLC | NONE | CONST_SH | RS | RA | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC_ONLY | 0 | 0 | rldic | MD | |
000- | SHIFT_ROT | OP_RLCL | NONE | CONST_SH | RS | RA | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC_ONLY | 0 | 0 | rldicl | MD | |
001- | SHIFT_ROT | OP_RLCR | NONE | CONST_SH | RS | RA | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC_ONLY | 0 | 0 | rldicr | MD | |
011- | SHIFT_ROT | OP_RLC | RA | CONST_SH | RS | RA | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC_ONLY | 0 | 0 | rldimi | MD | |
1000 | SHIFT_ROT | OP_RLCL | NONE | RB | RS | RA | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC_ONLY | 0 | 0 | rldcl | MDS | |
1001 | SHIFT_ROT | OP_RLCR | NONE | RB | RS | RA | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC_ONLY | 0 | 0 | rldcr | MDS |
Minor opcode 31
decodes using f_in.insn(10 downto 1)
SPDX-License-Header: CC-BY-4 |
|||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
derived from microwatt decode1.vhdl |
with thanks and gratitude (IBM | OPF) | |||||||||||||||||||||||||
opcode | unit | internal op | in1 | in2 | in3 | out | CR in | CR out | inv A | inv out | cry in | cry out | ldst len | BR | sgn ext | upd | rsrv | 32b | sgn | rc | lk | sgl pipe | comment | form | CONDITIONS | unofficial | comment2 |
0b0100001010 | ALU | OP_ADD | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | add | XO | |||
0b1100001010 | ALU | OP_ADD | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | addo | XO | |||
0b0000001010 | ALU | OP_ADD | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 1 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | addc | XO | |||
0b1000001010 | ALU | OP_ADD | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 1 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | addco | XO | |||
0b0010001010 | ALU | OP_ADD | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | CA | 1 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | adde | XO | |||
0b1010001010 | ALU | OP_ADD | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | CA | 1 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | addeo | XO | |||
0b0010101010 | ALU | OP_ADD | RA | RB | NONE | RT | NONE | NONE | 0 | 0 | OV | 1 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | addex | Z23 | |||
0b0011101010 | ALU | OP_ADD | RA | CONST_M1 | NONE | RT | NONE | CR0 | 0 | 0 | CA | 1 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | addme | XO | |||
0b1011101010 | ALU | OP_ADD | RA | CONST_M1 | NONE | RT | NONE | CR0 | 0 | 0 | CA | 1 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | addmeo | XO | |||
0b0011001010 | ALU | OP_ADD | RA | NONE | NONE | RT | NONE | CR0 | 0 | 0 | CA | 1 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | addze | XO | |||
0b1011001010 | ALU | OP_ADD | RA | NONE | NONE | RT | NONE | CR0 | 0 | 0 | CA | 1 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | addzeo | XO | |||
0b0001001010 | ALU | OP_ADDG6S | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | addg6s | XO | |||
0b0000011100 | LOGICAL | OP_AND | RS | RB | NONE | RA | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | and | X | |||
0b0000111100 | LOGICAL | OP_AND | RS | RB | NONE | RA | NONE | CR0 | 1 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | andc | X | |||
0b0011011011 | LOGICAL | OP_BYTEREV | RS | NONE | NONE | RA | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | brh | X | 0 | ||
0b0010011011 | LOGICAL | OP_BYTEREV | RS | NONE | NONE | RA | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | brw | X | 0 | ||
0b0010111011 | LOGICAL | OP_BYTEREV | RS | NONE | NONE | RA | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | brd | X | 0 | ||
0b0100111010 | ALU | OP_CBCDTD | RS | NONE | NONE | RA | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | cbcdtd | X | |||
0b0100011010 | ALU | OP_CDTBCD | RS | NONE | NONE | RA | NONE | NONE | 1 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | cdtbcd | X | |||
0b0011011100 | LOGICAL | OP_CFUGE | RS | RB | NONE | RA | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | cfuged | X | 0 | ||
0b0011111100 | LOGICAL | OP_BPERM | RS | RB | NONE | RA | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | bpermd | X | |||
0b0000000000 | ALU | OP_CMP | RA | RB | NONE | NONE | NONE | BF | 1 | 0 | ONE | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 1 | NONE | 0 | 0 | cmp | X | |||
0b0111111100 | LOGICAL | OP_CMPB | RS | RB | NONE | RA | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | cmpb | X | |||
0b0011100000 | ALU | OP_CMPEQB | RA | RB | NONE | NONE | NONE | BF | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | cmpeqb | X | |||
0b0000100000 | ALU | OP_CMP | RA | RB | NONE | NONE | NONE | BF | 1 | 0 | ONE | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | cmpl | X | |||
0b0011000000 | RA | RB | NONE | NONE | NONE | BF | cmprb | X | |||||||||||||||||||
0b0000111010 | LOGICAL | OP_CNTZ | RS | NONE | NONE | RA | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | cntlzd | X | |||
0b0000111011 | LOGICAL | OP_CNTZ | RS | RB | NONE | RA | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | cntlzdm | X | 0 | ||
0b0000011010 | LOGICAL | OP_CNTZ | RS | NONE | NONE | RA | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 1 | 0 | RC | 0 | 0 | cntlzw | X | |||
0b1000111010 | LOGICAL | OP_CNTZ | RS | NONE | NONE | RA | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | cnttzd | X | |||
0b1000111011 | LOGICAL | OP_CNTZ | RS | RB | NONE | RA | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | cnttzdm | X | 0 | ||
0b1000011010 | LOGICAL | OP_CNTZ | RS | NONE | NONE | RA | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 1 | 0 | RC | 0 | 0 | cnttzw | X | |||
0b1011110011 | RT | darn | X | ||||||||||||||||||||||||
0b0001010110 | ALU | OP_NOP | NONE | NONE | NONE | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | dcbf | X | |||
0b0000110110 | ALU | OP_NOP | NONE | NONE | NONE | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | dcbst | X | |||
0b0100010110 | ALU | OP_NOP | NONE | NONE | NONE | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | dcbt | X | |||
0b0011110110 | ALU | OP_NOP | NONE | NONE | NONE | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | dcbtst | X | |||
0b1111110110 | LDST | OP_DCBZ | RA_OR_ZERO | RB | NONE | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | dcbz | X | |||
0b0110001001 | DIV | OP_DIVE | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | divdeu | XO | |||
0b1110001001 | DIV | OP_DIVE | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | divdeuo | XO | |||
0b0110001011 | DIV | OP_DIVE | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 1 | 0 | RC | 0 | 0 | divweu | XO | |||
0b1110001011 | DIV | OP_DIVE | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 1 | 0 | RC | 0 | 0 | divweuo | XO | |||
0b0110101001 | DIV | OP_DIVE | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 1 | RC | 0 | 0 | divde | XO | |||
0b1110101001 | DIV | OP_DIVE | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 1 | RC | 0 | 0 | divdeo | XO | |||
0b0110101011 | DIV | OP_DIVE | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 1 | 1 | RC | 0 | 0 | divwe | XO | |||
0b1110101011 | DIV | OP_DIVE | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 1 | 1 | RC | 0 | 0 | divweo | XO | |||
0b0111001001 | DIV | OP_DIV | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | divdu | XO | |||
0b1111001001 | DIV | OP_DIV | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | divduo | XO | |||
0b0111001011 | DIV | OP_DIV | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 1 | 0 | RC | 0 | 0 | divwu | XO | |||
0b1111001011 | DIV | OP_DIV | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 1 | 0 | RC | 0 | 0 | divwuo | XO | |||
0b0111101001 | DIV | OP_DIV | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 1 | RC | 0 | 0 | divd | XO | |||
0b1111101001 | DIV | OP_DIV | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 1 | RC | 0 | 0 | divdo | XO | |||
0b0111101011 | DIV | OP_DIV | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 1 | 1 | RC | 0 | 0 | divw | XO | |||
0b1111101011 | DIV | OP_DIV | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 1 | 1 | RC | 0 | 0 | divwo | XO | |||
0b1101010110 | ALU | OP_NOP | NONE | NONE | NONE | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | eieio | X | |||
0b0100011100 | LOGICAL | OP_XOR | RS | RB | NONE | RA | NONE | CR0 | 0 | 1 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | eqv | X | |||
0b1110111010 | ALU | OP_EXTS | RS | NONE | NONE | RA | NONE | CR0 | 0 | 0 | ZERO | 0 | is1B | 0 | 0 | 0 | 0 | 0 | 0 | RC_ONLY | 0 | 0 | extsb | X | |||
0b1110011010 | ALU | OP_EXTS | RS | NONE | NONE | RA | NONE | CR0 | 0 | 0 | ZERO | 0 | is2B | 0 | 0 | 0 | 0 | 0 | 0 | RC_ONLY | 0 | 0 | extsh | X | |||
0b1111011010 | ALU | OP_EXTS | RS | NONE | NONE | RA | NONE | CR0 | 0 | 0 | ZERO | 0 | is4B | 0 | 0 | 0 | 0 | 0 | 0 | RC_ONLY | 0 | 0 | extsw | X | |||
0b1101111010 | SHIFT_ROT | OP_EXTSWSLI | NONE | CONST_SH | RS | RA | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC_ONLY | 0 | 0 | extswsli | XS | |||
0b1101111011 | SHIFT_ROT | OP_EXTSWSLI | NONE | CONST_SH | RS | RA | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC_ONLY | 0 | 0 | extswsli | XS | |||
0b1111010110 | ALU | OP_ICBI | NONE | NONE | NONE | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | icbi | X | |||
0b0000010110 | ALU | OP_NOP | NONE | NONE | NONE | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | icbt | X | |||
0b0000001111 | CR | OP_ISEL | RA_OR_ZERO | RB | NONE | RT | BC | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | isel | A | |||
0b0000101111 | CR | OP_ISEL | RA_OR_ZERO | RB | NONE | RT | BC | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | isel | A | |||
0b0001001111 | CR | OP_ISEL | RA_OR_ZERO | RB | NONE | RT | BC | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | isel | A | |||
0b0001101111 | CR | OP_ISEL | RA_OR_ZERO | RB | NONE | RT | BC | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | isel | A | |||
0b0010001111 | CR | OP_ISEL | RA_OR_ZERO | RB | NONE | RT | BC | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | isel | A | |||
0b0010101111 | CR | OP_ISEL | RA_OR_ZERO | RB | NONE | RT | BC | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | isel | A | |||
0b0011001111 | CR | OP_ISEL | RA_OR_ZERO | RB | NONE | RT | BC | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | isel | A | |||
0b0011101111 | CR | OP_ISEL | RA_OR_ZERO | RB | NONE | RT | BC | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | isel | A | |||
0b0100001111 | CR | OP_ISEL | RA_OR_ZERO | RB | NONE | RT | BC | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | isel | A | |||
0b0100101111 | CR | OP_ISEL | RA_OR_ZERO | RB | NONE | RT | BC | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | isel | A | |||
0b0101001111 | CR | OP_ISEL | RA_OR_ZERO | RB | NONE | RT | BC | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | isel | A | |||
0b0101101111 | CR | OP_ISEL | RA_OR_ZERO | RB | NONE | RT | BC | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | isel | A | |||
0b0110001111 | CR | OP_ISEL | RA_OR_ZERO | RB | NONE | RT | BC | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | isel | A | |||
0b0110101111 | CR | OP_ISEL | RA_OR_ZERO | RB | NONE | RT | BC | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | isel | A | |||
0b0111001111 | CR | OP_ISEL | RA_OR_ZERO | RB | NONE | RT | BC | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | isel | A | |||
0b0111101111 | CR | OP_ISEL | RA_OR_ZERO | RB | NONE | RT | BC | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | isel | A | |||
0b1000001111 | CR | OP_ISEL | RA_OR_ZERO | RB | NONE | RT | BC | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | isel | A | |||
0b1000101111 | CR | OP_ISEL | RA_OR_ZERO | RB | NONE | RT | BC | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | isel | A | |||
0b1001001111 | CR | OP_ISEL | RA_OR_ZERO | RB | NONE | RT | BC | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | isel | A | |||
0b1001101111 | CR | OP_ISEL | RA_OR_ZERO | RB | NONE | RT | BC | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | isel | A | |||
0b1010001111 | CR | OP_ISEL | RA_OR_ZERO | RB | NONE | RT | BC | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | isel | A | |||
0b1010101111 | CR | OP_ISEL | RA_OR_ZERO | RB | NONE | RT | BC | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | isel | A | |||
0b1011001111 | CR | OP_ISEL | RA_OR_ZERO | RB | NONE | RT | BC | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | isel | A | |||
0b1011101111 | CR | OP_ISEL | RA_OR_ZERO | RB | NONE | RT | BC | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | isel | A | |||
0b1100001111 | CR | OP_ISEL | RA_OR_ZERO | RB | NONE | RT | BC | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | isel | A | |||
0b1100101111 | CR | OP_ISEL | RA_OR_ZERO | RB | NONE | RT | BC | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | isel | A | |||
0b1101001111 | CR | OP_ISEL | RA_OR_ZERO | RB | NONE | RT | BC | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | isel | A | |||
0b1101101111 | CR | OP_ISEL | RA_OR_ZERO | RB | NONE | RT | BC | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | isel | A | |||
0b1110001111 | CR | OP_ISEL | RA_OR_ZERO | RB | NONE | RT | BC | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | isel | A | |||
0b1110101111 | CR | OP_ISEL | RA_OR_ZERO | RB | NONE | RT | BC | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | isel | A | |||
0b1111001111 | CR | OP_ISEL | RA_OR_ZERO | RB | NONE | RT | BC | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | isel | A | |||
0b1111101111 | CR | OP_ISEL | RA_OR_ZERO | RB | NONE | RT | BC | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | isel | A | |||
0b0000110100 | LDST | OP_LOAD | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is1B | 0 | 0 | 0 | 1 | 0 | 0 | NONE | 0 | 1 | lbarx | X | |||
0b1101010101 | LDST | OP_LOAD | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is1B | 0 | 0 | cix | 0 | 0 | 0 | NONE | 0 | 0 | lbzcix | X | |||
0b0001110111 | LDST | OP_LOAD | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is1B | 0 | 0 | 1 | 0 | 0 | 0 | NONE | 0 | 1 | lbzux | X | |||
0b0001010111 | LDST | OP_LOAD | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is1B | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | lbzx | X | |||
0b0001010100 | LDST | OP_LOAD | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is8B | 0 | 0 | 0 | 1 | 0 | 0 | NONE | 0 | 1 | ldarx | X | |||
0b1000010100 | LDST | OP_LOAD | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is8B | 1 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | ldbrx | X | |||
0b1101110101 | LDST | OP_LOAD | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is8B | 0 | 0 | cix | 0 | 0 | 0 | NONE | 0 | 0 | ldcix | X | |||
0b0000110101 | LDST | OP_LOAD | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is8B | 0 | 0 | 1 | 0 | 0 | 0 | NONE | 0 | 1 | ldux | X | |||
0b0000010101 | LDST | OP_LOAD | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is8B | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | ldx | X | |||
0b1001010111 | LDST | OP_LOAD | RA_OR_ZERO | RB | NONE | FRT | NONE | NONE | 0 | 0 | ZERO | 0 | is8B | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | lfdx | X | |||
0b1001110111 | LDST | OP_LOAD | RA | RB | NONE | FRT | NONE | NONE | 0 | 0 | ZERO | 0 | is8B | 0 | 0 | 1 | 0 | 0 | 0 | NONE | 0 | 0 | lfdux | X | |||
0b1101010111 | LDST | OP_LOAD | RA_OR_ZERO | RB | NONE | FRT | NONE | NONE | 0 | 0 | ZERO | 0 | is4B | 0 | 1 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | lfiwax | X | |||
0b1101110111 | LDST | OP_LOAD | RA_OR_ZERO | RB | NONE | FRT | NONE | NONE | 0 | 0 | ZERO | 0 | is4B | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | lfiwzx | X | |||
0b1000010111 | LDST | OP_LOAD | RA_OR_ZERO | RB | NONE | FRT | NONE | NONE | 0 | 0 | ZERO | 0 | is4B | 0 | 0 | 0 | 0 | 1 | 0 | NONE | 0 | 0 | lfsx | X | |||
0b1000110111 | LDST | OP_LOAD | RA | RB | NONE | FRT | NONE | NONE | 0 | 0 | ZERO | 0 | is4B | 0 | 0 | 1 | 0 | 1 | 0 | NONE | 0 | 0 | lfsux | X | |||
0b0001110100 | LDST | OP_LOAD | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is2B | 0 | 0 | 0 | 1 | 0 | 0 | NONE | 0 | 1 | lharx | X | |||
0b0101110111 | LDST | OP_LOAD | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is2B | 0 | 1 | 1 | 0 | 0 | 0 | NONE | 0 | 1 | lhaux | X | |||
0b0101010111 | LDST | OP_LOAD | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is2B | 0 | 1 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | lhax | X | |||
0b1100010110 | LDST | OP_LOAD | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is2B | 1 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | lhbrx | X | |||
0b1100110101 | LDST | OP_LOAD | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is2B | 0 | 0 | cix | 0 | 0 | 0 | NONE | 0 | 0 | lhzcix | X | |||
0b0100110111 | LDST | OP_LOAD | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is2B | 0 | 0 | 1 | 0 | 0 | 0 | NONE | 0 | 1 | lhzux | X | |||
0b0100010111 | LDST | OP_LOAD | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is2B | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | lhzx | X | |||
0b0100010100 | LDST | OP_LOAD | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is8B | 0 | 0 | 0 | 1 | 0 | 0 | NONE | 0 | 1 | lqarx | X | FIXME: should probably be is16B and RTp | ||
0b0000010100 | LDST | OP_LOAD | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is4B | 0 | 0 | 0 | 1 | 0 | 0 | NONE | 0 | 1 | lwarx | X | |||
0b0101110101 | LDST | OP_LOAD | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is4B | 0 | 1 | 1 | 0 | 0 | 0 | NONE | 0 | 1 | lwaux | X | |||
0b0101010101 | LDST | OP_LOAD | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is4B | 0 | 1 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | lwax | X | |||
0b1000010110 | LDST | OP_LOAD | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is4B | 1 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | lwbrx | X | |||
0b1100010101 | LDST | OP_LOAD | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is4B | 0 | 0 | cix | 0 | 0 | 0 | NONE | 0 | 0 | lwzcix | X | |||
0b0000110111 | LDST | OP_LOAD | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is4B | 0 | 0 | 1 | 0 | 0 | 0 | NONE | 0 | 1 | lwzux | X | |||
0b0000010111 | LDST | OP_LOAD | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is4B | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | lwzx | X | |||
0b1000000000 | mcrxr | X | |||||||||||||||||||||||||
0b1001000000 | ALU | OP_MCRXRX | NONE | NONE | NONE | NONE | NONE | BF | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | mcrxrx | X | |||
0b0000010011 | CR | OP_MFCR | NONE | NONE | NONE | RT | WHOLE_REG | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | mfcr/mfocrf | XFX | |||
0b0001010011 | TRAP | OP_MFMSR | NONE | NONE | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | mfmsr | X | |||
0b0101010011 | SPR | OP_MFSPR | SPR | NONE | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | mfspr | XFX | |||
0b0100001001 | DIV | OP_MOD | RA | RB | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | modud | X | |||
0b0100001011 | DIV | OP_MOD | RA | RB | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 1 | 0 | NONE | 0 | 0 | moduw | X | |||
0b1100001001 | DIV | OP_MOD | RA | RB | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 1 | NONE | 0 | 0 | modsd | X | |||
0b1100001011 | DIV | OP_MOD | RA | RB | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 1 | 1 | NONE | 0 | 0 | modsw | X | |||
0b0010010000 | CR | OP_MTCRF | RS | NONE | NONE | NONE | WHOLE_REG | WHOLE_REG | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | mtcrf/mtocrf | XFX | |||
0b0010110010 | TRAP | OP_MTMSRD | RS | NONE | NONE | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | mtmsrd | X | |||
0b0010010010 | TRAP | OP_MTMSR | RS | NONE | NONE | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | mtmsr | X | |||
0b0111010011 | SPR | OP_MTSPR | RS | NONE | NONE | SPR | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | mtspr | XFX | |||
0b0001001001 | MUL | OP_MUL_H64 | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 1 | RC_ONLY | 0 | 0 | mulhd | XO | |||
0b0000001001 | MUL | OP_MUL_H64 | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC_ONLY | 0 | 0 | mulhdu | XO | |||
0b0001001011 | MUL | OP_MUL_H32 | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 1 | 1 | RC_ONLY | 0 | 0 | mulhw | XO | |||
0b0000001011 | MUL | OP_MUL_H32 | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 1 | 0 | RC_ONLY | 0 | 0 | mulhwu | XO | |||
0b1001001001 | MUL | OP_MUL_H64 | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 1 | RC_ONLY | 0 | 0 | mulhd | XO | |||
0b1000001001 | MUL | OP_MUL_H64 | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC_ONLY | 0 | 0 | mulhdu | XO | |||
0b1001001011 | MUL | OP_MUL_H32 | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 1 | 1 | RC_ONLY | 0 | 0 | mulhw | XO | |||
0b1000001011 | MUL | OP_MUL_H32 | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 1 | 0 | RC_ONLY | 0 | 0 | mulhwu | XO | |||
0b0011101001 | MUL | OP_MUL_L64 | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 1 | RC | 0 | 0 | mulld | XO | |||
0b1011101001 | MUL | OP_MUL_L64 | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 1 | RC | 0 | 0 | mulldo | XO | |||
0b0011101011 | MUL | OP_MUL_L64 | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 1 | 1 | RC | 0 | 0 | mullw | XO | |||
0b1011101011 | MUL | OP_MUL_L64 | RA | RB | NONE | RT | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 1 | 1 | RC | 0 | 0 | mullwo | XO | |||
0b0111011100 | LOGICAL | OP_AND | RS | RB | NONE | RA | NONE | CR0 | 0 | 1 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | nand | X | |||
0b0001101000 | ALU | OP_ADD | RA | NONE | NONE | RT | NONE | CR0 | 1 | 0 | ONE | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | neg | XO | |||
0b1001101000 | ALU | OP_ADD | RA | NONE | NONE | RT | NONE | CR0 | 1 | 0 | ONE | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | nego | XO | |||
0b0001111100 | LOGICAL | OP_OR | RS | RB | NONE | RA | NONE | CR0 | 0 | 1 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | nor | X | |||
0b0110111100 | LOGICAL | OP_OR | RS | RB | NONE | RA | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | or | X | |||
0b0110011100 | LOGICAL | OP_OR | RS | RB | NONE | RA | NONE | CR0 | 1 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | orc | X | |||
0b0010011100 | LOGICAL | OP_PDEP | RS | RB | NONE | RA | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | pdepd | X | 0 | ||
0b0010111100 | LOGICAL | OP_PEXT | RS | RB | NONE | RA | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | pextd | X | 0 | ||
0b0001111010 | LOGICAL | OP_POPCNT | RS | NONE | NONE | RA | NONE | NONE | 0 | 0 | ZERO | 0 | is1B | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | popcntb | X | |||
0b0111111010 | LOGICAL | OP_POPCNT | RS | NONE | NONE | RA | NONE | NONE | 0 | 0 | ZERO | 0 | is8B | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | popcntd | X | |||
0b0101111010 | LOGICAL | OP_POPCNT | RS | NONE | NONE | RA | NONE | NONE | 0 | 0 | ZERO | 0 | is4B | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | popcntw | X | |||
0b0010111010 | LOGICAL | OP_PRTY | RS | NONE | NONE | RA | NONE | NONE | 0 | 0 | ZERO | 0 | is8B | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | prtyd | X | |||
0b0010011010 | LOGICAL | OP_PRTY | RS | NONE | NONE | RA | NONE | NONE | 0 | 0 | ZERO | 0 | is4B | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | prtyw | X | |||
0b0010000000 | CR | OP_SETB | NONE | NONE | NONE | RT | BFA | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | setb | X | |||
0b0110000000 | CR | OP_SETBC | NONE | NONE | NONE | RT | BI | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | setbc | X | 0 | ||
0b0110100000 | CR | OP_SETBC | NONE | NONE | NONE | RT | BI | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | setbcr | X | 0 | ||
0b0111000000 | CR | OP_SETBC | NONE | NONE | NONE | RT | BI | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | setnbc | X | 0 | ||
0b0111100000 | CR | OP_SETBC | NONE | NONE | NONE | RT | BI | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | setnbcr | X | 0 | ||
0b0111110010 | MMU | OP_TLBIE | NONE | NONE | NONE | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | slbia | X | |||
0b0000011011 | SHIFT_ROT | OP_SHL | NONE | RB | RS | RA | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC_ONLY | 0 | 0 | sld | X | |||
0b0000011000 | SHIFT_ROT | OP_SHL | NONE | RB | RS | RA | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 1 | 0 | RC_ONLY | 0 | 0 | slw | X | |||
0b1100011010 | SHIFT_ROT | OP_SHR | NONE | RB | RS | RA | NONE | CR0 | 0 | 0 | ZERO | 1 | NONE | 0 | 0 | 0 | 0 | 0 | 1 | RC_ONLY | 0 | 0 | srad | X | |||
0b1100111010 | SHIFT_ROT | OP_SHR | NONE | CONST_SH | RS | RA | NONE | CR0 | 0 | 0 | ZERO | 1 | NONE | 0 | 0 | 0 | 0 | 0 | 1 | RC_ONLY | 0 | 0 | sradi | XS | |||
0b1100111011 | SHIFT_ROT | OP_SHR | NONE | CONST_SH | RS | RA | NONE | CR0 | 0 | 0 | ZERO | 1 | NONE | 0 | 0 | 0 | 0 | 0 | 1 | RC_ONLY | 0 | 0 | sradi | XS | |||
0b1100011000 | SHIFT_ROT | OP_SHR | NONE | RB | RS | RA | NONE | CR0 | 0 | 0 | ZERO | 1 | NONE | 0 | 0 | 0 | 0 | 1 | 1 | RC_ONLY | 0 | 0 | sraw | X | |||
0b1100111000 | SHIFT_ROT | OP_SHR | NONE | CONST_SH32 | RS | RA | NONE | CR0 | 0 | 0 | ZERO | 1 | NONE | 0 | 0 | 0 | 0 | 1 | 1 | RC_ONLY | 0 | 0 | srawi | X | |||
0b1000011011 | SHIFT_ROT | OP_SHR | NONE | RB | RS | RA | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC_ONLY | 0 | 0 | srd | X | |||
0b1000011000 | SHIFT_ROT | OP_SHR | NONE | RB | RS | RA | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 1 | 0 | RC_ONLY | 0 | 0 | srw | X | |||
0b1111010101 | LDST | OP_STORE | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | is1B | 0 | 0 | cix | 0 | 0 | 0 | NONE | 0 | 1 | stbcix | X | |||
0b1010110110 | LDST | OP_STORE | RA_OR_ZERO | RB | RS | NONE | NONE | CR0 | 0 | 0 | ZERO | 0 | is1B | 0 | 0 | 0 | 1 | 0 | 0 | ONE | 0 | 1 | stbcx | X | |||
0b0011110111 | LDST | OP_STORE | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | is1B | 0 | 0 | 1 | 0 | 0 | 0 | NONE | 0 | 1 | stbux | X | |||
0b0011010111 | LDST | OP_STORE | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | is1B | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | stbx | X | |||
0b1010010100 | LDST | OP_STORE | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | is8B | 1 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | stdbrx | X | |||
0b1111110101 | LDST | OP_STORE | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | is8B | 0 | 0 | cix | 0 | 0 | 0 | NONE | 0 | 1 | stdcix | X | |||
0b0011010110 | LDST | OP_STORE | RA_OR_ZERO | RB | RS | NONE | NONE | CR0 | 0 | 0 | ZERO | 0 | is8B | 0 | 0 | 0 | 1 | 0 | 0 | ONE | 0 | 1 | stdcx | X | |||
0b0010110101 | LDST | OP_STORE | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | is8B | 0 | 0 | 1 | 0 | 0 | 0 | NONE | 0 | 1 | stdux | X | |||
0b0010010101 | LDST | OP_STORE | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | is8B | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | stdx | X | |||
0b1011010111 | LDST | OP_STORE | RA_OR_ZERO | RB | FRS | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | is8B | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | stfdx | X | |||
0b1011110111 | LDST | OP_STORE | RA | RB | FRS | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | is8B | 0 | 0 | 1 | 0 | 0 | 0 | NONE | 0 | 0 | stfdux | X | |||
0b1111010111 | LDST | OP_STORE | RA_OR_ZERO | RB | FRS | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | is4B | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | stfiwx | X | |||
0b1010010111 | LDST | OP_STORE | RA | RB | FRS | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | is4B | 0 | 0 | 0 | 0 | 1 | 0 | NONE | 0 | 0 | stfsx | X | |||
0b1010110111 | LDST | OP_STORE | RA | RB | FRS | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | is4B | 0 | 0 | 1 | 0 | 1 | 0 | NONE | 0 | 0 | stfsux | X | |||
0b1110010110 | LDST | OP_STORE | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | is2B | 1 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | sthbrx | X | |||
0b1110110101 | LDST | OP_STORE | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | is2B | 0 | 0 | cix | 0 | 0 | 0 | NONE | 0 | 1 | sthcix | X | |||
0b1011010110 | LDST | OP_STORE | RA_OR_ZERO | RB | RS | NONE | NONE | CR0 | 0 | 0 | ZERO | 0 | is2B | 0 | 0 | 0 | 1 | 0 | 0 | ONE | 0 | 1 | sthcx | X | |||
0b0110110111 | LDST | OP_STORE | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | is2B | 0 | 0 | 1 | 0 | 0 | 0 | NONE | 0 | 1 | sthux | X | |||
0b0110010111 | LDST | OP_STORE | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | is2B | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | sthx | X | |||
0b0010110110 | LDST | OP_STORE | RA_OR_ZERO | RB | RS | NONE | NONE | CR0 | 0 | 0 | ZERO | 0 | is8B | 0 | 0 | 0 | 1 | 0 | 0 | ONE | 0 | 1 | stqcx | X | FIXME: should probably be is16B and RSp | ||
0b1010010110 | LDST | OP_STORE | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | is4B | 1 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | stwbrx | X | |||
0b1110010101 | LDST | OP_STORE | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | is4B | 0 | 0 | cix | 0 | 0 | 0 | NONE | 0 | 1 | stwcix | X | |||
0b0010010110 | LDST | OP_STORE | RA_OR_ZERO | RB | RS | NONE | NONE | CR0 | 0 | 0 | ZERO | 0 | is4B | 0 | 0 | 0 | 1 | 0 | 0 | ONE | 0 | 1 | stwcx | X | |||
0b0010110111 | LDST | OP_STORE | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | is4B | 0 | 0 | 1 | 0 | 0 | 0 | NONE | 0 | 1 | stwux | X | |||
0b0010010111 | LDST | OP_STORE | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | is4B | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | stwx | X | |||
0b0000101000 | ALU | OP_ADD | RA | RB | NONE | RT | NONE | CR0 | 1 | 0 | ONE | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | subf | XO | |||
0b1000101000 | ALU | OP_ADD | RA | RB | NONE | RT | NONE | CR0 | 1 | 0 | ONE | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | subfo | XO | |||
0b0000001000 | ALU | OP_ADD | RA | RB | NONE | RT | NONE | CR0 | 1 | 0 | ONE | 1 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | subfc | XO | |||
0b1000001000 | ALU | OP_ADD | RA | RB | NONE | RT | NONE | CR0 | 1 | 0 | ONE | 1 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | subfco | XO | |||
0b0010001000 | ALU | OP_ADD | RA | RB | NONE | RT | NONE | CR0 | 1 | 0 | CA | 1 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | subfe | XO | |||
0b1010001000 | ALU | OP_ADD | RA | RB | NONE | RT | NONE | CR0 | 1 | 0 | CA | 1 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | subfeo | XO | |||
0b0011101000 | ALU | OP_ADD | RA | CONST_M1 | NONE | RT | NONE | CR0 | 1 | 0 | CA | 1 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | subfme | XO | |||
0b1011101000 | ALU | OP_ADD | RA | CONST_M1 | NONE | RT | NONE | CR0 | 1 | 0 | CA | 1 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | subfmeo | XO | |||
0b0011001000 | ALU | OP_ADD | RA | NONE | NONE | RT | NONE | CR0 | 1 | 0 | CA | 1 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | subfze | XO | |||
0b1011001000 | ALU | OP_ADD | RA | NONE | NONE | RT | NONE | CR0 | 1 | 0 | CA | 1 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | subfzeo | XO | |||
0b1001010110 | ALU | OP_NOP | NONE | NONE | NONE | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | sync | X | |||
0b0001000100 | TRAP | OP_TRAP | RA | RB | NONE | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | td | X | |||
0b0000000100 | TRAP | OP_TRAP | RA | RB | NONE | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 1 | 0 | NONE | 0 | 1 | tw | X | |||
0b0100110010 | MMU | OP_TLBIE | NONE | RB | NONE | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | tlbie | X | |||
0b0100010010 | MMU | OP_TLBIE | NONE | RB | NONE | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | tlbiel | X | |||
0b1000110110 | ALU | OP_NOP | NONE | NONE | NONE | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | tlbsync | X | |||
0b0000011110 | ALU | OP_NOP | NONE | NONE | NONE | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | wait | X | |||
0b0100111100 | LOGICAL | OP_XOR | RS | RB | NONE | RA | NONE | CR0 | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 0 | xor | X |
Minor opcode 58
decodes using f_in.insn(1 downto 0)
SPDX-License-Header: CC-BY-4 |
|||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
derived from microwatt decode1.vhdl |
with thanks and gratitude (IBM | OPF) | |||||||||||||||||||||||
opcode | unit | internal op | in1 | in2 | in3 | out | CR in | CR out | inv A | inv out | cry in | cry out | ldst len | BR | sgn ext | upd | rsrv | 32b | sgn | rc | lk | sgl pipe | comment | form | CONDITIONS |
0 | LDST | OP_LOAD | RA_OR_ZERO | CONST_DS | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is8B | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | ld | DS | |
1 | LDST | OP_LOAD | RA_OR_ZERO | CONST_DS | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is8B | 0 | 0 | 1 | 0 | 0 | 0 | NONE | 0 | 1 | ldu | DS | |
2 | LDST | OP_LOAD | RA_OR_ZERO | CONST_DS | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | is4B | 0 | 1 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | lwa | DS |
Minor opcode 62
decodes using f_in.insn(1 downto 0)
SPDX-License-Header: CC-BY-4 |
|||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
derived from microwatt decode1.vhdl |
with thanks and gratitude (IBM | OPF) | |||||||||||||||||||||||||
opcode | unit | internal op | in1 | in2 | in3 | out | CR in | CR out | inv A | inv out | cry in | cry out | ldst len | BR | sgn ext | upd | rsrv | 32b | sgn | rc | lk | sgl pipe | comment | form | CONDITIONS | unofficial | comment2 |
0 | LDST | OP_STORE | RA_OR_ZERO | CONST_DS | RS | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | is8B | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | std | DS | |||
1 | LDST | OP_STORE | RA_OR_ZERO | CONST_DS | RS | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | is8B | 0 | 0 | 1 | 0 | 0 | 0 | NONE | 0 | 1 | stdu | DS | |||
2 | LDST | OP_STORE | RA_OR_ZERO | CONST_DS | RS | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | is8B | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | stq | DS | FIXME: should probably be is16B and RSp |
Extra opcodes
These can match against the (full) row[0] spec: nmigen Case supports "-" as "don't care"
opcode | unit | internal op | in1 | in2 | in3 | out | CR in | CR out | inv A | inv out | cry in | cry out | ldst len | BR | sgn ext | upd | rsrv | 32b | sgn | rc | lk | sgl pipe | comment | form | CONDITIONS | unofficial | comment2 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
000000---------------0100000000- | NONE | OP_ATTN | NONE | NONE | NONE | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | RC | 0 | 1 | attn | NONE | 0 | service processor "attention" | |
01100000000000000000000000000000 | NONE | OP_NOP | NONE | NONE | NONE | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | nop | D | 0 | ||
000001---------------0000000011- | NONE | OP_SIM_CONFIG | NONE | NONE | NONE | RT | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 1 | sim_cfg | NONE | 1 | should be removed--conflicts with ISA v3.1 prefix and SVP64 prefix | |
010001------------------------1- | TRAP | OP_SC | NONE | NONE | NONE | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | sc | SC | |||
010001------------------------01 | TRAP | OP_SC | NONE | NONE | NONE | NONE | NONE | NONE | 0 | 0 | ZERO | 0 | NONE | 0 | 0 | 0 | 0 | 0 | 0 | NONE | 0 | 0 | scv | SC |
SPRs
Special Purpose Registers. These are listed in 3.0B Table 18 p971.
Idx | SPR | priv_mtspr | priv_mfspr | len |
---|---|---|---|---|
1 | XER | no | no | 64 |
3 | DSCR | no | no | 64 |
8 | LR | no | no | 64 |
9 | CTR | no | no | 64 |
13 | AMR | no | no | 64 |
17 | DSCR_priv | yes | yes | 64 |
18 | DSISR | yes | yes | 32 |
19 | DAR | yes | yes | 64 |
22 | DEC | yes | yes | 64 |
26 | SRR0 | yes | yes | 64 |
27 | SRR1 | yes | yes | 64 |
28 | CFAR | yes | yes | 64 |
29 | AMR_priv | yes | yes | 64 |
48 | PIDR | yes | yes | 32 |
61 | IAMR | yes | yes | 64 |
128 | TFHAR | no | no | 64 |
129 | TFIAR | no | no | 64 |
130 | TEXASR | no | no | 64 |
131 | TEXASRU | no | no | 32 |
136 | CTRL | - | no | 32 |
144 | TIDR | yes | yes | 64 |
152 | CTRL_priv | yes | - | 32 |
153 | FSCR | yes | yes | 64 |
157 | UAMOR | yes | yes | 64 |
158 | GSR | yes | - | 0 |
159 | PSPB | yes | yes | 32 |
176 | DPDES | hypv | yes | 64 |
180 | DAWR0 | hypv | hypv | 64 |
186 | RPR | hypv | hypv | 64 |
187 | CIABR | hypv | hypv | 64 |
188 | DAWRX0 | hypv | hypv | 32 |
190 | HFSCR | hypv | hypv | 64 |
256 | VRSAVE | no | no | 32 |
259 | SPRG3 | - | no | 64 |
268 | TB | - | no | 64 |
269 | TBU | - | no | 32 |
272 | SPRG0_priv | yes | yes | 64 |
273 | SPRG1_priv | yes | yes | 64 |
274 | SPRG2_priv | yes | yes | 64 |
275 | SPRG3_priv | yes | yes | 64 |
283 | CIR | - | yes | 32 |
284 | TBL | hypv | - | 32 |
285 | TBU_hypv | hypv | - | 32 |
286 | TBU40 | hypv | - | 64 |
287 | PVR | - | yes | 32 |
304 | HSPRG0 | hypv | hypv | 64 |
305 | HSPRG1 | hypv | hypv | 64 |
306 | HDSISR | hypv | hypv | 32 |
307 | HDAR | hypv | hypv | 64 |
308 | SPURR | hypv | yes | 64 |
309 | PURR | hypv | yes | 64 |
310 | HDEC | hypv | hypv | 64 |
313 | HRMOR | hypv | hypv | 64 |
314 | HSRR0 | hypv | hypv | 64 |
315 | HSRR1 | hypv | hypv | 64 |
318 | LPCR | hypv | hypv | 64 |
319 | LPIDR | hypv | hypv | 32 |
336 | HMER | hypv | hypv | 64 |
337 | HMEER | hypv | hypv | 64 |
338 | PCR | hypv | hypv | 64 |
339 | HEIR | hypv | hypv | 32 |
349 | AMOR | hypv | hypv | 64 |
446 | TIR | - | yes | 64 |
464 | PTCR | hypv | hypv | 64 |
704 | SVSTATE | no | no | 64 |
705 | SVSHAPE0 | no | no | 32 |
706 | SVSHAPE1 | no | no | 32 |
707 | SVSHAPE2 | no | no | 32 |
708 | SVSHAPE3 | no | no | 32 |
720 | PRTBL | yes | yes | 64 |
721 | SVSRR0 | yes | yes | 64 |
727 | SVCTX0 | yes | yes | 64 |
728 | SVCTX1 | yes | yes | 64 |
729 | SVCTX2 | yes | yes | 64 |
730 | SVCTX3 | yes | yes | 64 |
731 | SVCTX4 | yes | yes | 64 |
732 | SVCTX5 | yes | yes | 64 |
733 | SVCTX6 | yes | yes | 64 |
734 | SVCTX7 | yes | yes | 64 |
768 | SIER | - | no | 64 |
769 | MMCR2 | no | no | 64 |
770 | MMCRA | no | no | 64 |
771 | PMC1 | no | no | 32 |
772 | PMC2 | no | no | 32 |
773 | PMC3 | no | no | 32 |
774 | PMC4 | no | no | 32 |
775 | PMC5 | no | no | 32 |
776 | PMC6 | no | no | 32 |
779 | MMCR0 | no | no | 64 |
780 | SIAR | - | no | 64 |
781 | SDAR | - | no | 64 |
782 | MMCR1 | - | no | 64 |
784 | SIER_priv | yes | yes | 64 |
785 | MMCR2_priv | yes | yes | 64 |
786 | MMCRA_priv | yes | yes | 64 |
787 | PMC1_priv | yes | yes | 32 |
788 | PMC2_priv | yes | yes | 32 |
789 | PMC3_priv | yes | yes | 32 |
790 | PMC4_priv | yes | yes | 32 |
791 | PMC5_priv | yes | yes | 32 |
792 | PMC6_priv | yes | yes | 32 |
795 | MMCR0_priv | yes | yes | 64 |
796 | SIAR_priv | yes | yes | 64 |
797 | SDAR_priv | yes | yes | 64 |
798 | MMCR1_priv | yes | yes | 64 |
800 | BESCRS | no | no | 64 |
801 | BESCRSU | no | no | 32 |
802 | BESCRR | no | no | 64 |
803 | BESCRRU | no | no | 32 |
804 | EBBHR | no | no | 64 |
805 | EBBRR | no | no | 64 |
806 | BESCR | no | no | 64 |
808 | reserved808 | no | no | 0 |
809 | reserved809 | no | no | 0 |
810 | reserved810 | no | no | 0 |
811 | reserved811 | no | no | 0 |
815 | TAR | no | no | 64 |
816 | ASDR | hypv | hypv | 64 |
823 | PSSCR | yes | yes | 64 |
848 | IC | hypv | yes | 64 |
850 | KAIVB | no | no | 64 |
849 | VTB | hypv | yes | 64 |
855 | PSSCR_hypv | hypv | hypv | 64 |
896 | PPR | no | no | 64 |
898 | PPR32 | no | no | 32 |
1023 | PIR | - | yes | 32 |
Fields
These are in machine-readable format that may be parsed with the following program: power_fields.py
The table can be downloaded in plain text format here: fields.text
# 1.6.1 I-FORM
|0 |6 |30|31 |
| PO | LI |AA|LK |
# 1.6.2 B-FORM
|0 |6 |11 |16 |30|31 |
| PO | BO| BI | BD |AA|LK |
# 1.6.2.1 BM-FORM
|0 |6 |10 |15 |22 |23 |31|
| PO | RS | me | sh | me | XO |Rc|
# 1.6.2.2 BM2-FORM
|0 |6 |11 |16 |21 |26 |27 31|
| PO | RT | RA | RB |bm |L | XO |
| PO | RT | RA | RB |RC |nh | XO |
# 1.6.2.2 CRB-FORM
|0 |6 |9 |11 |14 | 16 |19 |26 | 31|
| PO | BF | msk|BFA | msk | BFB | // | XO | / |
| PO | BF | msk|BFA | msk | BFB | TLI | XO |TLI|
# 1.6.2.3 CW-FORM
|0 |6 |9 |11|12 |16 |19 |22 |26 |31|
| PO | RA |M |fmsk |BF |XO |fmap | XO |
| PO | BT |M |fmsk |BF |XO |fmap | XO |
| PO | BF | |M |fmsk |BF |XO |fmap | XO |
# 1.6.2.3 CW2-FORM
|0 |6 |9 |11|12 |16 |19 |22 |26 |31|
| PO | RT |M |fmsk |BFA |XO |fmap | XO |Rc|
# 1.6.3 SC-FORM
|0 |6 |11 |16 |20 |27 |30 |31 |
| PO | ///| ///| // | LEV | //| 1| / |
# 1.6.4 D-FORM
|0 |6 |9 |10 |11 |16 |31 |
| PO | RT | RA| D |
| PO | RT | RA| SI |
| PO | RS | RA| D |
| PO | RS | RA| UI |
| PO | BF | / | L | RA| SI |
| PO | BF | / | L | RA| UI |
| PO | TO | RA| SI |
| PO | FRT | RA| D |
| PO | FRS | RA| D |
# 1.6.5 DS-FORM
|0 |6 |11 |16 |30 |31 |
| PO | RT | RA | DS | XO |
| PO | RS | RA | DS | XO |
| PO | RSp | RA | DS | XO |
| PO | FRTp | RA | DS | XO |
| PO | FRSp | RA | DS | XO |
# 1.6.6 DQ-FORM
|0 |6 |11 |16 |28|29 |31 |
| PO | RTp | RA | DQ | PT |
| PO | S | RA | DQ |SX| XO |
| PO | T | RA | DQ |TX| XO |
# V3.0B 1.6.6 DX-FORM
|0 |6 |11 |16 |26 |31
| PO | RT| d1| d0| XO|d2
| PO | FRS| d1| d0| XO|d2
| PO | FRS| D | XO|D
# 1.6.7 X-FORM
|0 |6 |7|8|9 |10 |11|12|13 |15|16|17 |20|21 |31 |
| PO | RT | RA | /// | XO | / |
| PO | RT | RA | RB | XO | / |
| PO | RT | RA | RB | XO |EH |
| PO | RT | RA | NB | XO | / |
| PO | RT | /|SR | /// | XO | / |
| PO | RT | /// | RB | XO | / |
| PO | RT | /// | RB | XO | 1 |
| PO | RT | /// | /// | XO | / |
| PO | RT | BI | /// | XO | / |
| PO | RS | RA | RB | XO |Rc |
| PO | RT | RA | RB | XO |Rc |
| PO | RS | RA | RB | XO | 1 |
| PO | RS | RA | RB | XO | / |
| PO | RS | RA | NB | XO | / |
| PO | RS | RA | SH | XO |Rc |
| PO | RS | RA | /// | XO |Rc |
| PO | RS | RA | /// | XO | / |
| PO | RS | /|SR | /// | XO | / |
| PO | RS | /// | RB | XO | / |
| PO | RS | /// | /// | XO | / |
| PO | RS | /// |L1| /// | XO | / |
| PO | TH | RA | RB | XO | / |
| PO | BF |/ | L | RA | RB | XO | / |
| PO | BF |// | FRA | FRB | XO | / |
| PO | BF |// | BFA | // | /// | XO | / |
| PO | BF |// | /// |W | U |/ | XO |Rc |
| PO | BF |// | /// | /// | XO | / |
| PO | TH | RA | RB | XO | / |
| PO | /| CT | /// | /// | XO | / |
| PO | /| CT | RA | RB | XO | / |
| PO | /// | L2 | RA | RB | XO | / |
| PO | /// | L2 | /// | RB | XO | / |
| PO | /// | L2 | /// | /// | XO | / |
| PO | /// | L2 | /| E | /// | XO | / |
| PO | TO | RA | RB | XO | / |
| PO | FRT | RA | RB | XO | / |
| PO | FRT | FRA | FRB | XO | / |
| PO | FRTp | RA | RB | XO | / |
| PO | FRT | /// | FRB | XO |Rc |
| PO | FRT | /// | FRBp | XO |Rc |
| PO | FRT | /// | /// | XO |Rc |
| PO | FRTp | /// | FRB | XO |Rc |
| PO | FRTp | /// | FRBp | XO |Rc |
| PO | FRTp | FRA | FRBp | XO |Rc |
| PO | FRTp | FRAp | FRBp | XO |Rc |
| PO | BF |// | FRA | FRBp | XO | / |
| PO | BF |// | FRAp | FRBp | XO | / |
| PO | FRT |S | | FRB | XO |Rc |
| PO | FRTp |S | | FRBp | XO |Rc |
| PO | FRS | RA | RB | XO | / |
| PO | FRSp | RA | RB | XO | / |
| PO | BT | /// | /// | XO |Rc |
| PO | BT | BA | BFB // | XO | 1 |
| PO | /// | RA | RB | XO | / |
| PO | /// | /// | RB | XO | / |
| PO | /// | /// | /// | XO | / |
| PO | /// | /// | E|/// | XO | / |
| PO | //|IH | /// | /// | XO | / |
| PO | A|// | /// | /// | XO | 1 |
| PO | A|// |R | /// | /// | XO | 1 |
| PO | /// | RA | RB | XO | 1 |
| PO | /// |WC | /// | /// | XO | / |
| PO | /// |T | RA | RB | XO | / |
| PO | VRT | RA | RB | XO | / |
| PO | VRS | RA | RB | XO | / |
| PO | MO | /// | /// | XO | / |
| PO | RT | /// |L3 | /// | XO | / |
| PO | FRT | FRA | FRB | XO | Rc |
| PO | FRT | FRA | RB | XO | Rc |
| PO | RT | /// | FRB | XO | Rc |
| PO | FRT | /// | RB | XO | Rc |
| PO | FRT | IT | /// | RB | XO | Rc |
# 1.6.7.1 DCT-FORM
|0 |6 |11 |16 |21 |26 |31 |
| PO | FRT | FRA | FRB | // | XO | Rc |
# 1.6.8 XL-FORM
|0 |6 |9 |11 |14 |16 |19|20|21 |31 |
| PO | BT | BA | BB | XO | / |
| PO | BO | BI | /// |BH | XO |LK |
| PO | | /// |S | XO | / |
| PO | BF |// |BFA |// | /// | XO | / |
| PO | /// | XO | / |
| PO | OC | XO | / |
# 1.6.9 XFX-FORM
|0 |6 |11|12 |20|21 |31 |
| PO | RT | spr | XO | / |
| PO | RT | tbr | XO | / |
| PO | RT |0 | /// | XO | / |
| PO | RT |1 | FXM |/ | XO | / |
| PO | RT | dcr | XO | / |
| PO | RT | pmrn | XO | / |
| PO | RT | BHRBE | XO | / |
| PO | DUI | DUIS | XO | / |
| PO | RS |0 | FXM |/ | XO | / |
| PO | RS |1 | FXM |/ | XO | / |
| PO | RS | spr | XO | / |
| PO | RS | dcr | XO | / |
| PO | RS | pmrn | XO | / |
# 1.6.10 XFL-FORM
|0 |6|7 |15|16 |21 |31 |
| PO |L| FLM |W |FRB | XO |Rc |
# 1.6.11 XX1-FORM
|0 |6 |11 |16 |21 |31 |
| PO | T | RA | RB | XO |TX |
| PO | S | RA | RB | XO |SX |
# 1.6.12 XX2-FORM
|0 |6 |9 |11 |14 |16 |21 |30|31 |
| PO | T | /// | B |XO |BX|TX |
| PO | T | /// |UIM | B |XO |BX|TX |
| PO | BF | //| /// | B |XO |BX| / |
# 1.6.13 XX3-FORM
|0 |6 |9 |11 |16 |21 |22 |24 |29|30|31 |
| PO | T | A | B | XO |AX|BX|TX |
| PO | T | A | B |Rc | XO |AX|BX|TX |
| PO | BF | // | A | B | XO |AX|BX|/ |
| PO | T | A | B |XO |SHW | XO |AX|BX|TX |
| PO | T | A | B |XO |DM | XO |AX|BX|TX |
# 1.6.14 XX4-FORM
|0 |6 |11 |16 |21 |26 |28|29 |30|31 |
| PO | T | A | B | C | XO |CX|AX |BX|TX |
# 1.6.15 XS-FORM
|0 |6 |11 |16 |21 |30|31 |
| PO | RS | RA | sh | XO |sh|Rc |
# 1.6.16 XO-FORM
|0 |6 |11 |13 |16 |21 |22 |31 |
| PO | RT | RA | RB | OE | XO | Rc |
| PO | RT | RA | RB | / | XO | Rc |
| PO | RT | RA | RB | / | XO | / |
| PO | RT | RA | /// | OE | XO | Rc |
| PO | RT | IT | CVM | FRB | OE | XO | Rc |
# 1.6.17 A-FORM
|0 |6 |11 |16 |21 |26 |31 |
| PO | FRT | FRA | FRB | FRC | XO |Rc |
| PO | FRT | FRA | FRB | /// | XO |Rc |
| PO | FRT | FRA | /// | FRC | XO |Rc |
| PO | FRT | /// | FRB | /// | XO |Rc |
| PO | RT | RA | RB | BC | XO | /|
| PO | RT | RA | RB | SH | XO |Rc |
# 1.6.18 M-FORM
|0 |6 |11 |16 |21 |26 |31|
| PO | RS | RA | RB | MB | ME |Rc|
| PO | RS | RA | SH | MB | ME |Rc|
# 1.6.19 MD-FORM
|0 |6 |11 |16 |21 |27|30|31|
| PO | RS | RA | sh | mb |XO|sh|Rc|
| PO | RS | RA | sh | me |XO|sh|Rc|
# 1.6.20 MDS-FORM
|0 |6 |11 |16 |21 |27 |31|
| PO | RS | RA | RB | mb | XO |Rc|
| PO | RS | RA | RB | me | XO |Rc|
# 1.6.21 VA-FORM
|0 |6 |11 |16 |21|22 |25|26 |31|
| PO | RT | RA | RB | RC | XO |
| PO | VRT | VRA | VRB | VRC | XO |
| PO | VRT | VRA | VRB | /|SHB | XO |
| PO | VRT | VRA | VRB | /|BFA|/ | XO |
# 1.6.21.1 VA2-FORM
|0 |6 |11 |16 |21 |24|26 |31 |
| PO | RT | RA | RB | RC | XO | Rc |
# 1.6.22 VC-FORM
|0 |6 |11 |16 |21|22 |31|
| PO | VRT | VRA | VRB |Rc| XO |
# 1.6.23 VX-FORM
|0 |6 |11 |16 |21 |31|
| PO | VRT | VRA | VRB | XO |
| PO | VRT | /// | VRB | XO |
| PO | VRT | UIM | VRB | XO |
| PO | VRT | / UIM | VRB | XO |
| PO | VRT | // UIM | VRB | XO |
| PO | VRT | /// UIM | VRB | XO |
| PO | VRT | SIM | ///| XO |
| PO | VRT | ///| | XO |
| PO | |/// | VRB | XO |
# 1.6.24 EVX-FORM
|0 |6 |9 |11 |16 |21 |31|
| PO | RS | RA | RB | XO |
| PO | RS | RA | UI | XO |
| PO | RT | ///| RB | XO |
| PO | RT | RA | RB | XO |
| PO | RT | RA | ///| XO |
| PO | RT | UI | RB | XO |
| PO | BF|//| RA | RB | XO |
| PO | RT | RA | UI | XO |
| PO | RT | SI | ///| XO |
# 1.6.25 EVS-FORM
|0 |6 |11 |16 |21 |29 |31 |
| PO | RT| RA | RB | XO |BFA |
# 1.6.26 Z22-FORM
|0 |6 |9 |11 |16 |22 |31 |
| PO | BF|//| FRA | DCM | XO | / |
| PO | BF|//| FRAp | DCM | XO | / |
| PO | BF|//| FRA | DGM | XO | / |
| PO | BF|//| FRAp | DGM | XO | / |
| PO | FRT | FRA | SH | XO |Rc |
| PO | FRTp| FRAp | SH | XO |Rc |
# 1.6.27 Z23-FORM
|0 |6 |11 |15 |16 |21 |23 |31 |
| PO | FRT | TE | FRB |RMC| XO |Rc |
| PO | FRTp| TE | FRBp |RMC| XO |Rc |
| PO | FRT | FRA | FRB |RMC| XO |Rc |
| PO | RT | RA | RB |SH | XO |Rc |
| PO | RS | RA | RB |SH | XO |Rc |
| PO | FRT | RA | RB |SH | XO |Rc |
| PO | FRS | RA | RB |SH | XO |Rc |
| PO | RT | RA | RB |CY | XO |Rc |
| PO | FRTp| FRA | FRBp |RMC| XO |Rc |
| PO | FRTp| FRAp | FRBp |RMC| XO |Rc |
| PO | FRT | /// | R | FRB |RMC| XO |Rc |
| PO | FRTp| /// | R | FRBp |RMC| XO |Rc |
# 1.6.29 SVI-FORM
|0 |6 |11 |16 |21 |23 |24|25|26 31|
| PO | SVG|rmm | SVd |ew |SVyx|mm|sk| XO |
# 1.6.30 SVL-FORM
|0 |6 |11 |16 |23 |24 |25 |26 |31 |
| PO | RT | RA | SVi |ms |vs |vf | XO |Rc |
| PO | RT | / | SVi |/ |/ |vf | XO |Rc |
# 1.6.31 SVC-FORM
|0 |6 |9 |11 |
| PO | SCi | SCm | SCi |
# 1.6.32 SVR-FORM
|0 |6 |9 |11 | 15 |
| PO | SCi | SCm | SRb | SRi |
# 1.6.33 SVD-FORM
|0 |6 |11 |16 |21 |31 |
| PO | RT | RA| RC | SVD |
| PO | RS | RA| RC | SVD |
| PO | FRT | RA| RC | SVD |
| PO | FRS | RA| RC | SVD |
# 1.6.34 SVDS-FORM
|0 |6 |11 |16 |21 |30 |31 |
| PO | RT | RA | RC | SVDS | XO |
| PO | RS | RA | RC | SVDS | XO |
# 1.6.35 SVM-FORM
|0 |6 |11 |16 |21 |25 |26 |31 |
| PO | SVxd | SVyd | SVzd | SVrm |vf | XO |
# 1.6.35.1 SVM2-FORM
|0 |6 |10 |11 |16 |21 |24|25 |26 |31 |
| PO | SVo |SVyx| rmm | SVd |XO |mm|sk | XO |
# 1.6.36 SVRM-FORM
|0 |6 |11 |13 |15 |17 |19 |21 |22 |26 |31 |
| PO | SVme |mi0 | mi1 | mi2 | mo0 | mo1 |pst |/// | XO |
# 1.6.37 TLI-FORM
|0 |6 |11 |16 |21 |29 |31 |
| PO | RT | RA | RB | TLI | XO |Rc |
| PO | RT | RA | RB | TLI | XO |L |
| PO | BT | BA | BB | TLI | XO |/ |
# 1.6.38 MM-FORM
|0 |6 |11 |16 |21 |24 |25 |31 |
| PO | FRT | FRA | FRB | FMM | XO | Rc |
| PO | RT | RA | RB | MMM | / | XO | Rc |
# 1.6.28 Instruction Fields
A (6)
Field used by the tbegin. instruction to specify an
implementation-specific function.
Field used by the tend. instruction to specify the
completion of the outer transaction and all nested
transactions.
Formats: X
AA (30)
Absolute Address.
0 The immediate field represents an address
relative to the current instruction address. For
I-form branches the effective address of the
branch target is the sum of the LI field
sign-extended to 64 bits and the address of
the branch instruction. For B-form branches
the effective address of the branch target is
the sum of the BD field sign-extended to 64
bits and the address of the branch instruction.
1 The immediate field represents an absolute
address. For I-form branches the effective
address of the branch target is the LI field
sign-extended to 64 bits. For B-form branches
the effective address of the branch target is
the BD field sign-extended to 64 bits.
Formats: B, I
AX,A (29,11:15)
Fields that are concatenated to specify a VSR to
be used as a source.
Formats: XX3, XX4
BA (11:15)
Field used to specify a bit in the CR to be used as
a source.
Formats: XL, X, TLI
BB (16:20)
Field used to specify a bit in the CR to be used as
a source.
Formats: XL, TLI
BC (21:25)
Field used to specify a bit in the CR to be used as
a source.
Formats: A
BD (16:29)
Immediate field used to specify a 14-bit signed
two's complement branch displacement which is
concatenated on the right with 0b00 and
sign-extended to 64 bits.
Formats: B
BF (6:8)
Field used to specify one of the CR fields or one of
the FPSCR fields to be used as a target.
Formats: D, X, XL, XX2, XX3, Z22, CRB
BFA (22:24)
Field used to specify one of the CR fields
to be used as a source.
Formats: VA
BFA (29:31)
Field used to specify one of the CR fields or one of
the FPSCR fields to be used as a source.
Formats: EVS
BFA (11:13)
Field used to specify one of the CR fields or one of
the FPSCR fields to be used as a source.
Formats: X, XL, CRB
BFB (16:18)
Field used to specify one of the CR fields
to be used as a source.
Formats: CRB, X
BH (19:20)
Field used to specify a hint in the Branch Condi-
tional to Link Register and Branch Conditional to
Count Register instructions. The encoding is
described in Section 2.4, 'Branch Instructions'.
Formats: XL
BHRBE (11:20)
Field used to identify the BHRB entry to be used
as a source by the Move From Branch History
Rolling Buffer instruction.
Formats: XFX
BI (11:15)
Field used to specify a bit in the CR to be tested by
a Branch Conditional instruction.
Formats: B, X, XL
bm (21:25)
Field used to specify the Bit-mask Mode for bmask
Formats: BM2
BO (6:10)
Field used to specify options for the Branch Condi-
tional instructions. The encoding is described in
Section 2.4, 'Branch Instructions'.
Formats: B, XL, X, XL
BT (6:10)
Field used to specify a bit in the CR or in the
FPSCR to be used as a target.
Formats: XL, X, TLI
BX,B (30,16:20)
Fields that are concatenated to specify a VSR to
be used as a source.
Formats: XX2, XX3, XX4
CT (7:10)
Field used in X-form instructions to specify a cache
target (see Section 4.3.2 of Book II).
Formats: X
CVM (13:15)
Field used to specify conversion mode for
integer -> floating-point conversion.
Formats: XO
CX,C (28,21:25)
Fields that are concatenated to specify a VSR to
be used as a source.
Formats: XX4
CY (21:22)
Immediate field used for addex instruction
Formats: Z23
D (16:31)
Immediate field used to specify a 16-bit signed
two's complement integer which is sign-extended
to 64 bits.
Formats: D
d0,d1,d2 (16:25,11:15,31)
Immediate fields that are concatenated to specify a
16-bit signed two's complement integer which is
sign-extended to 64 bits.
Formats: DX
dc,dm,dx (25,29,11:15)
Immediate fields that are concatenated to specify
Data Class Mask.
Formats: XX2
DCM (16:21)
Immediate field used to specify Data Class Mask.
Formats: Z22
DCMX (9:15)
Immediate field used to specify Data Class Mask.
Formats: X, XX2
DGM (16:21)
Immediate field used as the Data Group Mask.
Formats: Z22
DM (22:23)
Immediate field used by xxpermdi instruction as
doubleword permute control.
Formats: XX3
DRM (18:20)
Immediate operand field used to specify new deci-
mal floating-point rounding mode.
Formats: X
DUI (6:10)
Field used by the dnh instruction (see Book III-E).
Formats: XFX
DUIS (11:20)
Field used by the dnh instruction (see Book III-E).
Formats: XFX
DQ (16:27)
Immediate field used to specify a 12-bit signed
two's complement integer which is concatenated
on the right with 0b0000 and sign-extended to 64
bits.
Formats: DQ
DS (16:29)
Immediate field used to specify a 14-bit signed
two's complement integer which is concatenated
on the right with 0b00 and sign-extended to 64 bits.
Formats: DS
EH (31)
Field used to specify a hint in the Load and
Reserve instructions. The meaning is described in
Section 4.6.2, 'Load and Reserve and Store Con-
ditional Instructions', in Book II.
Formats: X
EO (11:12)
Expanded opcode field
Formats: X
EO (11:15)
Expanded opcode field
Formats: VX, X, XX2
EX (31)
Field used to specify Inexact form of round to
quad-precision integer.
Formats: X
ew (21:22)
Field used to specify the element width for SVI-Form
Formats: SVI
FC (16:20)
Field used to specify the function code in Load/
Store Atomic instructions.
Formats: X
FLM (7:14)
Field mask used to identify the FPSCR fields that
are to be updated by the mtfsf instruction.
Formats: XFL
FMM (21:24)
Field used to specify minimum/maximum mode for fminmax.
Formats: MM
fmap (22:25)
Field used to specify the CR Field set/clear map for CR Weird
instructions.
Formats: CW, CW2
fmsk (12:15)
Field used to specify the CR Field mask for CR Weird instructions.
Formats: CW, CW2
FRA (11:15)
Field used to specify a FPR to be used as a
source.
Formats: A, MM, X, Z22, Z23, DCT
FRAp (11:15)
Field used to specify an even/odd pair of FPRs to
be concatenated and used as a source.
Formats: X, Z22, Z23
FRB (16:20)
Field used to specify an FPR to be used as a
source.
Formats: A, MM, X, XFL, XO, Z23, DCT
FRBp (16:20)
Field used to specify an even/odd pair of FPRs to
be concatenated and used as a source.
Formats: X, Z23
FRC (21:25)
Field used to specify an FPR to be used as a
source.
Formats: A
FRS (6:10)
Field used to specify an FPR to be used as a
source.
Formats: D, X, DX, Z23
FRSp (6:10)
Field used to specify an even/odd pair of FPRs to
be concatenated and used as a source.
Formats: DS, X
FRT (6:10)
Field used to specify an FPR to be used as a tar-
get.
Formats: A, D, MM, X, Z22, Z23, DCT, Z23
FRTp (6:10)
Field used to specify an even/odd pair of FPRs to
be concatenated and used as a target.
Formats: DS, X, Z22, Z23
FXM (12:19)
Field mask used to identify the CR fields that are to
be written by the mtcrf and mtocrf instructions, or
read by the mfocrf instruction.
Formats: XFX
IB (16:20)
Immediate field used to specify a 5-bit signed inte-
ger.
Formats: MDS
IH (8:10)
Field used to specify a hint in the SLB Invalidate
All instruction. The meaning is described in
Section 5.9.3.2, 'SLB Management Instructions',
in Book III.
Formats: X
IMM8 (13:20)
Immediate field used to specify an 8-bit integer.
Formats: X
IS (6:10)
Immediate field used to specify a 5-bit signed inte-
ger.
Formats: MDS
IT (11:12)
Field used to specify integer type for FPR <-> GPR conversions.
Formats: X, XO
L (6)
Field used to specify whether the mtfsf instruction
updates the entire FPSCR.
Formats: XFL
L2 (9:10)
Field used by the Data Cache Block Flush instruc-
tion (see Section 4.3.2 of Book II) and also by the
Synchronize instruction (see Section 4.6.3 of Book
II).
Formats: X
L (10)
Field used to specify whether a fixed-point Com-
pare instruction is to compare 64-bit numbers or
32-bit numbers.
Field used by the Compare Range Byte instruction
to indicate whether to compare against 1 or 2
ranges of bytes.
Formats: D, X
L1 (15)
Field used by the Move To Machine State Register
instruction (see Book III).
Field used by the SLB Move From Entry VSID and
SLB Move From Entry ESID instructions for imple-
mentation-specific purposes.
Formats: X
L3 (14:15)
Field used by the Deliver A Random Number
instruction (see Section 3.3.9, 'Fixed-Point Arith-
metic Instructions') to choose the random number
format.
Formats: X
L (26)
Field used to specify whether mask-in occurs in bmask
Formats: BM2
L (31)
Field used to specify whether the grevlut instruction
updates the whole GPR or the first half.
Formats: TLI
LEV (20:26)
Field used by the System Call instructions.
Formats: SC
LI (6:29)
Immediate field used to specify a 24-bit signed
two's complement integer which is concatenated
on the right with 0b00 and sign-extended to 64
bits.
Formats: I
LK (31)
LINK bit.
0 Do not set the Link Register.
1 Set the Link Register. The address of the
instruction following the Branch instruction is
placed into the Link Register.
Formats: B, I, XL
rmm (11:15)
Field used to specify a REMAP shape for SVI-Form
Formats: SVI
msk (9:10,14:15)
Field used by crternlogi and crbinlut to select which bits
of CR Field BF are to be modified. Requires BF to be Read-Modify-Write
Formats: CRB
MB (21:25)
Field used in M-form instructions to specify the first
1-bit of a 64-bit mask, as described in
Section 3.3.14, 'Fixed-Point Rotate and Shift
Instructions' on page 101.
Formats: M
mb (21:26)
Field used in MD-form and MDS-form instructions
to specify the first 1-bit of a 64-bit mask, as
described in Section 3.3.14, 'Fixed-Point Rotate
and Shift Instructions' on page 101.
Formats: MD, MDS
me (21:26)
Field used in MD-form and MDS-form instructions
to specify the last 1-bit of a 64-bit mask, as
described in Section 3.3.14, 'Fixed-Point Rotate
and Shift Instructions' on page 101.
Formats: MD, MDS
ME (26:30)
Field used in M-form instructions to specify the last
1-bit of a 64-bit mask, as described in
Section 3.3.14, 'Fixed-Point Rotate and Shift
Instructions' on page 101.
Formats: M
mi0 (11:12)
Field used in REMAP to select the SVSHAPE for 1st input register
Formats: SVRM
mi1 (13:14)
Field used in REMAP to select the SVSHAPE for 2nd input register
Formats: SVRM
mi2 (15:16)
Field used in REMAP to select the SVSHAPE for 3rd input register
Formats: SVRM
mm (24)
Field used to specify the meaning of the rmm field for SVI-Form
and SVM2-Form
Formats: SVI, SVM2
MMM (21:23)
Field used to specify minimum/maximum mode for integer minmax.
Formats: MM
mo0 (17:18)
Field used in REMAP to select the SVSHAPE for 1st output register
Formats: SVRM
mo1 (19:20)
Field used in REMAP to select the SVSHAPE for 2nd output register
Formats: SVRM
MO (6:10)
Field used in X-form instructions to specify a sub-
set of storage accesses.
Formats: X
ms (23)
Field used in Simple-V to specify whether MVL is to be set
Formats: SVL
NB (16:20)
Field used to specify the number of bytes to move
in an immediate Move Assist instruction.
Formats: X
nh (26)
Field used to specify which half of RC to select as a
LUT2 (4-bit lookup) table.
Formats: BM2
OC (6:20)
Field used by the Embedded Hypervisor Privilege
instruction.
Formats: XL
OE (21)
Field used by XO-form instructions to enable set-
ting OV and SO in the XER.
Formats: XO
PO (0:5)
Primary opcode field.
Formats: all
PRS (14)
Field used to specify whether to invalidate pro-
cess- or partition-scoped entries for tlbie[l].
Formats: X
PS (22)
Field used to specify preferred sign for BCD opera-
tions.
Formats: VX
pst (21)
Field used in REMAP to indicate "persistence" mode (REMAP
continues to apply to multiple instructions)
Formats: SVRM
PT (28:31)
Immediate field used to specify a 4-bit unsigned
value.
Formats: DQ
R (10)
Field used by the tbegin. instruction to specify the
start of a ROT.
Formats: X
R (15)
Immediate field that specifies whether the RMC is
specifying the primary or secondary encoding
Field used to specify whether to invalidate Radix
Tree or HPT entries for tlbie[l].
Formats: X, Z23
RA (11:15)
Field used to specify a GPR to be used as a
source or as a target.
Formats: A, BM2, D, DQ, DQE, DS, M, MD, MDS, MM, TX, VA, VA2, VX, X, XO, XS, SVL, TLI, Z23
RB (16:20)
Field used to specify a GPR to be used as a
source.
Formats: A, BM2, M, MDS, MM, VA, VA2, X, XO, TLI, Z23
Rc (21)
RECORD bit.
0 Do not alter the Condition Register.
1 Set Condition Register Field 6 as described in
Section 2.3.1, 'Condition Register' on
page 30.
Formats: VC, XX3
RC (21:25)
Field used to specify a GPR to be used as a
source.
Formats: VA, VA2, SVD, SVDS, BM2
Rc (31)
RECORD bit.
0 Do not alter the Condition Register.
1 Set Condition Register Field 0 or Field 1 as
described in Section 2.3.1, 'Condition Regis-
ter' on page 30.
Formats: A, M, MD, MDS, MM, VA2, X, XFL, XO, XS, Z22, Z23, SVL, TLI, DCT
RIC (12:13)
Field used to specify what types of entries to inval-
idate for tlbie[l].
Formats: X
RM (19:20)
Immediate operand field used to specify new
binary floating-point rounding mode.
Formats: X
RMC (21:22)
Immediate field used for DFP rounding mode con-
trol.
Formats: Z23
rmm (11:15)
REMAP Mode field for SVI-Form and SVM2-Form
Formats: SVI, SVM2
RO (31)
Round to Odd override
Formats: X
RS (6:10)
Field used to specify a GPR to be used as a
source.
Formats: D, DS, M, MD, MDS, X, XFX, XS
RSp (6:10)
Field used to specify an even/odd pair of GPRs to
be concatenated and used as a source.
Formats: DS, X, Z23
RT (6:10)
Field used to specify a GPR to be used as a target.
Formats: A, BM2, D, DQE, DS, DX, MM, VA, VA2, VX, X, XFX, XO, XX2, SVL, TLI, Z23
RTp (6:10)
Field used to specify an even/odd pair of GPRs to
be concatenated and used as a target.
Formats: DQ, X
S (11)
Immediate field that specifies signed versus
unsigned conversion.
Formats: X
S (20)
Immediate field that specifies whether or not the
rfebb instruction re-enables event-based
branches.
Formats: XL
SCi (6:8)
Index to SV Context Propagation SPR
Formats: SVC, SVR
SCm (9:10)
SV Context Propagation Mode
Formats: SVC, SVR
SCi (11:31)
SV Context Propagation immediate bitfield
Formats: SVC
SRb (11:14)
SV REMAP byte-reversal field.
Formats: SVC
SRi (15:31)
SV REMAP immediate FIFO bitfield
Formats: SVC
SH (16:20)
Field used to specify a shift amount.
Formats: M, X
SH (16:21)
Field used to specify a shift amount.
Formats: Z22
SH (21:25)
Field used to specify a shift amount.
Formats: A
SH (21:22)
Immediate field used for selecting operands (shift mode)
Formats: Z23
sh (30,16:20)
Fields that are concatenated to specify a shift
amount.
Formats: MD, XS
SHB (22:25)
Field used to specify a shift amount in bytes.
Formats: VA
SHW (22:23)
Field used to specify a shift amount in words.
Formats: XX3
SI (16:20)
Immediate field used to specify a 5-bit signed inte-
ger.
Formats: X
SI (16:31)
Immediate field used to specify a 16-bit signed
integer.
Formats: D
SIM (11:15)
Immediate field used to specify a 5-bit signed inte-
ger.
Formats: VX
sk (25)
Field used to specify dimensional skipping in svindex
Formats: SVI, SVM2
SP (11:12)
Immediate field that specifies signed versus
unsigned conversion.
Formats: X
spr (16:20,11:15)
Field used to specify a Special Purpose Register
for the mtspr and mfspr instructions.
Formats: XFX
SPR (11:20)
Field used to specify a Special Purpose Register
for the mtspr and mfspr instructions.
Formats: XFX
SR (12:15)
Field used by the Segment Register Manipulation
instructions (see Book III).
Formats: X
SVd (16:20)
Immediate field used to specify the size of the REMAP dimension
in the svindex and svshape2 instructions
Formats: SVI, SVM2
SVD (21:31)
Immediate field used to specify an 11-bit signed
two's complement integer which is sign-extended
to 64 bits.
Formats: SVD
SVDS (16:29)
Immediate field used to specify a 9-bit signed
two's complement integer which is concatenated
on the right with 0b00 and sign-extended to 64 bits.
Formats: SVDS
SVG (6:10)
Field used to specify a GPR to be used as a
source for indexing.
Formats: SVI
SVi (16:22)
Simple-V immediate field for setting VL or MVL
Formats: SVL
SVme (6:10)
Simple-V "REMAP" map-enable bits (0-4)
Formats: SVRM
SVo (6:9)
Field used by the svshape2 instruction as an offset
Formats: SVM2
SVrm (21:24)
Simple-V "REMAP" Mode
Formats: SVM
SVxd (6:10)
Simple-V "REMAP" x-dimension size
Formats: SVM
SVyd (11:15)
Simple-V "REMAP" y-dimension size
Formats: SVM
SVzd (16:20)
Simple-V "REMAP" z-dimension size
Formats: SVM
SX,S (28,6:10)
Fields SX and S are concatenated to specify a
VSR to be used as a source.
Formats: DQ
SX,S (31,6:10)
Fields SX and S are concatenated to specify a
VSR to be used as a source.
Formats: X
T (9:10)
Field used to specify the type of invalidation done
by a TLB Invalidate Local instruction (see Book
III-E).
Formats: X
TBR (11:20)
Field used by the Move From Time Base instruc-
tion (see Section 6.1 of Book II).
Formats: X
TE (11:15)
Immediate field that specifies a DFP exponent.
Formats: Z23
TH (6:10)
Field used by the data stream variant of the dcbt
and dcbtst instructions (see Section 4.3.2 of Book
II).
Formats: X
TLI (21:28)
Field used by the ternlogi instruction as the
look-up table.
Formats: TLI
TLI (21:25,19:20,31)
Field used by the crternlogi instruction as the
look-up table.
Formats: CRB
TO (6:10)
Field used to specify the conditions on which to
trap. The encoding is described in
Section 3.3.10.1, 'Character-Type Compare
Instructions' on page 87.
Formats: D, X
TX,T (28,6:10)
Fields that are concatenated to specify a VSR to
be used as either a target.
Formats: DQ
TX,T (31,6:10)
Fields that are concatenated to specify a VSR to
be used as either a target or a source.
Formats: X, XX2, XX3, XX4
U (16:19)
Immediate field used as the data to be placed into
a field in the FPSCR.
Formats: X
UI (16:20)
Immediate field used to specify a 5-bit unsigned
integer.
Formats: TX
UI (16:31)
Immediate field used to specify a 16-bit unsigned
integer.
Formats: D
UIM (11:15)
Immediate field used to specify a 5-bit unsigned
integer.
Formats: VX, X
UIM (12:15)
Immediate field used to specify a 4-bit unsigned
integer.
Formats: VX, XX2
UIM (13:15)
Immediate field used to specify a 3-bit unsigned
integer.
Formats: VX
UIM (14:15)
Immediate field used to specify a 2-bit unsigned
integer.
Formats: VX, XX2
VRA (11:15)
Field used to specify a VR to be used as a source.
Formats: VA, VC, VX
VRB (16:20)
Field used to specify a VR to be used as a source.
Formats: VA, VC, VX
VRC (21:25)
Field used to specify a VR to be used as a source.
Formats: VA
VRS (6:10)
Field used to specify a VR to be used as a source.
Formats: DS, X
VRT (6:10)
Field used to specify a VR to be used as a target.
Formats: DS, VA, VC, VX, X
vf (25)
Field used in Simple-V to specify whether "Vertical" Mode is set
Formats: SVL, SVM
vs (24)
Field used in Simple-V to specify whether VL is to be set
Formats: SVL
W (15)
Field used by the mtfsfi and mtfsf instructions to
specify the target word in the FPSCR.
Formats: X, XFL
WC (9:10)
Field used to specify the condition or conditions
that cause instruction execution to resume after
executing a wait instruction (see Section 4.6.4 of
Book II).
Formats: X
XBI (21:24)
Field used to specify a bit in the XER.
Formats: MDS, MDS, TX
XO (21:23,26:31)
Extended opcode field.
Formats: SVM2
XO (21,23:31)
Extended opcode field.
Formats: VX
XO (21:24,26:28)
Extended opcode field.
Formats: XX2
XO (21:24:28)
Extended opcode field.
Formats: XX3
XO (21:28)
Extended opcode field.
Formats: XX3
XO (21:29)
Extended opcode field.
Formats: XS, XX2
XO (21:30)
Extended opcode field.
Formats: X, XFL, XFX, XL
XO (21:31)
Extended opcode field.
Formats: VX
XO (22:30)
Extended opcode field.
Formats: XO, XX3, Z22
XO (22:31)
Extended opcode field.
Formats: VC
XO (23:30)
Extended opcode field.
Formats: X, Z23
XO (25:30)
Extended opcode field.
Formats: MM, TX
XO (26:27)
Extended opcode field.
Formats: XX4
XO (26:30)
Extended opcode field.
Formats: A, DX, VA2, SVL, CRB, DCT
XO (26:31)
Extended opcode field.
Formats: VA, SVM, SVRM, SVI
XO (27:29)
Extended opcode field.
Formats: MD
XO (27:30)
Extended opcode field.
Formats: MDS
XO (27:31)
Extended opcode field.
Formats: BM2
XO (29:31)
Extended opcode field.
Formats: DQ
XO (29:30)
Extended opcode field.
Formats: TLI
XO (30)
Extended opcode field.
Formats: SC
XO (30:31)
Extended opcode field.
Formats: DQE, DS, SC
SVyx (23)
Field used to specify loop dimension order in svindex
Formats: SVI
SVyx (10)
Field used to specify loop dimension order in svshape2
Formats: SVM2