PowerISA Opcode Map
Reverse lookup instructions by their hexadecimal encoding.
| Opcode | Mnemonic | Syntax | Format | Name |
|---|---|---|---|---|
| 0x7C000214 | add | add RT, RA, RB | XO-form | Add |
| 0x7C000214 | add. | add. RT,RA,RB | XO-form | Add Record |
| 0x7C000014 | addc | addc RT,RA,RB | XO-form | Add Carrying |
| 0x7C000014 | addc. | addc. RT,RA,RB | XO-form | Add Carrying (Record) |
| 0x7C000014 | addco | addco RT,RA,RB | XO-form | Add Carrying (Overflow) |
| 0x7C000014 | addco. | addco. RT,RA,RB | XO-form | Add Carrying (Record) |
| 0x7C000114 | adde | adde RT, RA, RB | XO-form | Add Extended |
| 0x7C000154 | addex | addex RT,RA,RB,CY | XO-form | Add Extended using alternate carry bit |
| 0x7C000094 | addg6s | addg6s RT,RA,RB | XO-form | Add and Generate Sixes |
| 0x38000000 | addi | addi RT, RA, SI | D-form | Add Immediate |
| 0x30000000 | addic | addic RT,RA,SI | D-form | Add Immediate Carrying |
| 0x34000000 | addic. | addic. RT, RA, SI | D-form | Add Immediate Carrying and Record |
| 0x3C000000 | addis | addis RT, RA, SI | D-form | Add Immediate Shifted |
| 0x7C0001D4 | addme | addme RT,RA | XO-form | Add to Minus One Extended |
| 0x7C0001D4 | addme. | addme. RT,RA | XO-form | Add to Minus One Extended |
| 0x7C0001D4 | addmeo | addmeo RT,RA | XO-form | Add to Minus One Extended (Overflow) |
| 0x7C0001D4 | addmeo. | addmeo. RT,RA | XO-form | Add to Minus One Extended (Record) |
| 0x7C000194 | addze | addze RT, RA | XO-form | Add to Zero Extended |
| 0x7C000038 | and | and RT,RS,RB | X-form | AND |
| 0x7C000038 | and. | and. RT,RS,RB | X-form | AND (Record) |
| 0x7C000078 | andc | andc RA, RS, RB | X-form | AND with Complement |
| 0x70000000 | andi. | andi. RA, RS, UI | D-form | AND Immediate D-form with Record Update |
| 0x74000000 | andis. | andis. RA, RS, UI | D-form | AND Immediate Shifted |
| 0x00000200 | attn | attn | X-form | Attention |
| 0x48000000 | b | b target_addr (AA=0 LK=0) | I-form | Branch |
| 0x48000002 | ba | ba target_addr | I-form | Branch Absolute |
| 0x40000000 | bc | bc BO,BI,target_addr (AA=0 LK=0) | B-form | Branch Conditional |
| bca | bca BO,BI,target_addr (AA=1 LK=0) | B-form | Branch Conditional Absolute | |
| 0x4C000420 | bcctr | bcctr BO, BI | XL-form | Branch Conditional to Count Register |
| 0x10000401 | bcdadd. | bcdadd. VRT,RA,RB | XO-form | Binary Coded Decimal Add Record |
| 0x10070581 | bcdcfn. | bcdcfn. vD, vB, PS | VX-form | Decimal Convert from National |
| 0x10020581 | bcdcfsq. | bcdcfsq. vD, vB, PS | VX-form | Decimal Convert from Signed Quadword |
| 0x10060581 | bcdcfz. | bcdcfz. vD, vB, PS | VX-form | Decimal Convert from Zoned |
| 0x10000341 | bcdcpsgn. | bcdcpsgn. VRT,VRA,VRB | VX-form | Decimal Copy Sign VX-form |
| 0x10050581 | bcdctn. | bcdctn. vD, vB | VX-form | Decimal Convert to National |
| 0x10000581 | bcdctsq. | bcdctsq. vD, vB | VX-form | Binary Coded Decimal Compare and Test Sign Quadword |
| 0x10040581 | bcdctz. | bcdctz. vD, vB, PS | VX-form | Decimal Convert to Zoned |
| 0x100004C1 | bcds. | bcds. VRT,VRA,VRB,PS | VX-form | Decimal Shift VX-form |
| 0x101F0581 | bcdsetsgn. | bcdsetsgn. VRT,VRB,PS | VX-form | Set Sign for Packed Decimal |
| 0x100005C1 | bcdsr. | bcdsr. VRT,VRA,VRB,PS | VX-form | Binary Coded Decimal Shift and Round |
| 0x10000501 | bcdtrunc. | bcdtrunc. VRT,VRA,VRB,PS | VX-form | Decimal Truncate VX-form |
| 0x10000481 | bcdus. | bcdus. VRT,VRA,VRB | VX-form | Binary Coded Decimal Unsigned Shift |
| 0x10000541 | bcdutrunc. | bcdutrunc. VRT,VRA,VRB | VX-form | Binary Coded Decimal Unsigned Truncate |
| bcl | bcl BO,BI,target_addr (AA=0 LK=1) | B-form | Branch Conditional (Link) | |
| bcla | bcla BO,BI,target_addr (AA=1 LK=1) | B-form | Branch Conditional Absolute (Link) | |
| 0x4C000020 | bclr | bclr BO,BI,BH | XL-form | Branch Conditional to Link Register |
| bclrl | bclrl BO,BI,BH | XL-form | Branch Conditional to Link Register (Link) | |
| 0x4C000460 | bctar | bctar BO,BI,BH (LK=0) | XL-form | Branch Conditional to Target Address Register |
| 0x48000001 | bl | bl target_addr | I-form | Branch and Link |
| bla | bla target_addr (AA=1 LK=1) | I-form | Branch Absolute (Link) | |
| 0x41800000 | blt | blt target_addr | B-form | Branch if Less Than |
| 0x41E00000 | blt+ | blt+ target | B-form | Branch if Less Than, Predict Taken |
| 0x7C0001F8 | bpermd | bpermd RA, RS, RB | X-form | Bit Permute Doubleword |
| 0x7C000176 | brd | brd RT,RA | XO-form | Byte-Reverse Doubleword |
| 0x7C0001B6 | brh | brh RA,RS | X-form | Byte-Reverse Halfword |
| 0x7C0001B8 | cfuged | cfuged RA, RS, RB | X-form | Centrifuge Doubleword |
| 0x7C00035C | clrbhrb | clrbhrb | X-form | Clear Branch History Rolling Buffer |
| 0x7C000000 | cmp | cmp BF, L, RA, RB | X-form | Compare |
| 0x7C0003F8 | cmpb | cmpb RA, RS, RB | X-form | Compare Bytes |
| 0x2C200000 | cmpdi | cmpdi bf,ra,si | XO-form | Compare Doubleword Immediate |
| 0x7C0001C0 | cmpeqb | cmpeqb RA, RS, RB | X-form | Compare Equal Byte |
| 0x2C000000 | cmpi | cmpi BF, L, RA, SI | D-form | Compare Immediate |
| 0x7C000040 | cmpl | cmpl BF, L, RA, RB | X-form | Compare Logical |
| 0x28000000 | cmpli | cmpli BF, L, RA, UI | D-form | Compare Logical Immediate |
| 0x7C000180 | cmprb | cmprb BF, L, RA, RB | X-form | Compare Ranged Byte |
| 0x7C000074 | cntlzd | cntlzd RT,RA | X-form | Count Leading Zeros Doubleword |
| 0x7C000074 | cntlzd. | cntlzd. RT,RA | X-form | Count Leading Zeros Doubleword (Record) |
| 0x7C000076 | cntlzdm | cntlzdm RA, RS, RB | X-form | Count Leading Zeros Doubleword under Mask |
| 0x7C000034 | cntlzw | cntlzw RA, RS | X-form | Count Leading Zeros Word |
| 0x7C000474 | cnttzd | cnttzd RA, RS | X-form | Count Trailing Zeros Doubleword |
| 0x7C000476 | cnttzdm | cnttzdm RA, RS, RB | X-form | Count Trailing Zeros Doubleword under Mask |
| 0x7C000434 | cnttzw | cnttzw RA, RS | X-form | Count Trailing Zeros Word |
| 0x7C20060C | copy | copy RA, RB | X-form | Copy |
| 0x7C000382 | cp_abort | cp_abort | X-form | Copy-Paste Abort |
| 0x7C00068C | cpabort | cpabort | X-form | Copy-Paste Abort |
| 0x4C000202 | crand | crand BT, BA, BB | XL-form | Condition Register AND |
| 0x7C00020A | crc32b | crc32b RA, RS | X-form | Cyclic Redundancy Check 32-bit Byte |
| 0x7C0002CA | crc32d | crc32d RA, RS | X-form | Cyclic Redundancy Check 32-bit Doubleword |
| 0x7C00024A | crc32h | crc32h RA, RS | X-form | Cyclic Redundancy Check 32-bit Halfword |
| 0x7C00028A | crc32w | crc32w RA, RS | X-form | Cyclic Redundancy Check 32-bit Word |
| 0x4C000242 | creqv | creqv CRb,CRA,CRB | XL-form | Condition Register Equivalent |
| 0x4C000042 | crnor | crnor BT,BA,BB | XL-form | Condition Register NOR XL-form |
| 0x4C000382 | cror | cror BT, BA, BB | XL-form | Condition Register OR |
| 0x4C000182 | crxor | crxor BT, BA, BB | XL-form | Condition Register XOR |
| 0xEC000000 | ctfix | ctfix FRT,FRA | X-form | Convert To Fixed |
| 0xEC000004 | dadd | dadd FRT,FRA,FRB | X-form | Decimal Add |
| 0xEC000004 | dadd. | dadd. FRD,FRB,FRC | XO-form | Double Precision Add Record |
| 0xFC000004 | daddq | daddq vD, vA, vB | X-form | Decimal Add Quad-Precision |
| 0x7C0005E6 | darn | darn RT, L | X-form | Deliver A Random Number |
| 0x7C0005EC | dcba | dcba RA, RB | X-form | Data Cache Block Allocate |
| 0x7C0000AC | dcbf | dcbf RA,RB,L | X-form | Data Cache Block Flush |
| 0x7C0003AC | dcbi | dcbi RA, RB | X-form | Data Cache Block Invalidate |
| 0x7C00030C | dcblc | dcblc CT, RA, RB | X-form | Data Cache Block Lock Clear |
| 0x7C00006C | dcbst | dcbst RA, RB | X-form | Data Cache Block Store |
| 0x7C00022C | dcbt | dcbt RA,RB,TH | X-form | Data Cache Block Touch |
| 0x7C00014C | dcbtls | dcbtls CT, RA, RB | X-form | Data Cache Block Touch and Lock Set |
| 0x7C0001EC | dcbtst | dcbtst TH, RA, RB | X-form | Data Cache Block Touch for Store |
| 0x7C0007EC | dcbz | dcbz RA, RB | X-form | Data Cache Block Set to Zero |
| 0x7C0007EC | dcbzl | dcbzl RA, RB | X-form | Data Cache Block Zero Long |
| 0x7C00038E | dccci | dccci RA, RB | X-form | Data Cache Congruence Class Invalidate |