PowerISA Opcode Map
Reverse lookup instructions by their hexadecimal encoding.
| Opcode | Mnemonic | Syntax | Format | Name |
|---|---|---|---|---|
| 0x10000150 | mulchw | mulchw RT, RA, RB | XO-form | Multiply Cross Halfword |
| 0x10000110 | mulchwu | mulchwu RT, RA, RB | XO-form | Multiply Cross Halfword Unsigned |
| 0x7C000092 | mulhd | mulhd RT, RA, RB | XO-form | Multiply High Doubleword |
| 0x7C000092 | mulhd. | mulhd. RT,RA,RB | XO-form | Multiply High Doubleword |
| 0x7C000012 | mulhdu | mulhdu RT, RA, RB | XO-form | Multiply High Doubleword Unsigned |
| 0x10000050 | mulhhw | mulhhw RT, RA, RB | XO-form | Multiply High Halfword |
| 0x10000010 | mulhhwu | mulhhwu RT, RA, RB | XO-form | Multiply High Halfword Unsigned |
| 0x7C000096 | mulhw | mulhw RT, RA, RB | XO-form | Multiply High Word |
| 0x7C000016 | mulhwu | mulhwu RT, RA, RB | XO-form | Multiply High Word Unsigned |
| 0x7C0001D2 | mulld | mulld RT,RA,RB | XO-form | Multiply Low Doubleword |
| 0x7C0001D2 | mulldo | mulldo RT,RA,RB | XO-form | Multiply Low Doubleword (Overflow) |
| 0x10000350 | mullhw | mullhw RT, RA, RB | XO-form | Multiply Low Halfword |
| 0x10000310 | mullhwu | mullhwu RT, RA, RB | XO-form | Multiply Low Halfword Unsigned |
| 0x1C000000 | mulli | mulli RT,RA,SI | D-form | Multiply Low Immediate |
| 0x7C0001D6 | mullw | mullw RT, RA, RB | XO-form | Multiply Low Word |
| 0x7C0003B8 | nand | nand RA, RS, RB | X-form | NAND |
| 0x7C0000D0 | neg | neg RT, RA | XO-form | Negate |
| 0x1000015C | nmacchw | nmacchw RT, RA, RB | XO-form | Negative Multiply Accumulate Cross Halfword |
| 0x100001DC | nmacchws | nmacchws RT, RA, RB | XO-form | Negative Multiply Accumulate Cross Halfword Signed |
| 0x1000005C | nmachhw | nmachhw RT, RA, RB | XO-form | Negative Multiply Accumulate High Halfword |
| 0x100000DC | nmachhws | nmachhws RT, RA, RB | XO-form | Negative Multiply Accumulate High Halfword Signed |
| 0x1000035C | nmaclhw | nmaclhw RT, RA, RB | XO-form | Negative Multiply Accumulate Low Halfword |
| 0x100003DC | nmaclhws | nmaclhws RT, RA, RB | XO-form | Negative Multiply Accumulate Low Halfword Signed |
| 0x60000000 | nop | nop | D-form | No Operation |
| 0x7C0000F8 | nor | nor RA, RS, RB | X-form | NOR |
| 0x7C0000F8 | not | not Rx,Ry | X-form | Complement Register |
| 0x7C0000F8 | not. | not. Rx,Ry | X-form | Complement Register (Record) |
| 0x7C000378 | or | or RT,RA,RB | X-form | OR Logical Operation |
| 0x7C000378 | or. | or. RT,RA,RB | X-form | OR Record |
| 0x7C000338 | orc | orc RA,RS,RB | X-form | OR with Complement |
| 0x7C000338 | orc. | orc. RA,RS,RB | X-form | OR with Complement (Record) |
| 0x60000000 | ori | ori RT,RS,SImm | D-form | OR Immediate |
| 0x64000000 | oris | oris RA, RS, UI | D-form | OR Immediate Shifted |
| 0x0600000038000000 | paddi | paddi RT, RA, SI, R | MLS:D-form | Prefixed Add Immediate |
| 0x7C00070C | paste | paste RA, RB | X-form | Paste |
| 0x7C00070C | paste. | paste. RA, RB | X-form | Paste and Record |
| 0x7C000138 | pdepd | pdepd RA, RS, RB | X-form | Parallel Bits Deposit Doubleword |
| 0x7C000178 | pextd | pextd RA, RS, RB | X-form | Parallel Bits Extract Doubleword |
| 0x0600000038000000 | pla | pla RT, label | Pseudo | Prefixed Load Address (Pseudo) |
| 0x0600000088000000 | plbz | plbz RT, D34(RA), R | MLS:D-form | Prefixed Load Byte and Zero |
| 0x04000000E4000000 | pld | pld RT, D34(RA), R | MLS:D-form | Prefixed Load Doubleword |
| 0x06000000C8000000 | plfd | plfd RT,RA,RB | D-form | Prefixed Load Floating-Point Double MLS:D-form |
| 0x04000000A0000000 | plh | plh RT, D(RA), R | MLS:D-form | Prefixed Load Halfword |
| 0x06000000A8000000 | plha | plha RT, D(RA), R | MLS:D-form | Prefixed Load Halfword Algebraic |
| 0x0400000038000000 | pli | pli RT, SI34 | MLS:D-form | Prefixed Load Immediate |
| 0x04000000E0000000 | plq | plq RTp, D(RA), R | MLS:D-form | Prefixed Load Quadword |
| 0x04000000A4000000 | plwa | plwa RT, D(RA), R | MLS:D-form | Prefixed Load Word Algebraic |
| 0x0600000080000000 | plwz | plwz RT, D34(RA), R | MLS:D-form | Prefixed Load Word and Zero |
| 0x04000000C8000000 | plxv | plxv RT,RA,RB | D-form | Prefixed Load VSX Vector 8LS:D-form |
| 0x04000000E8000000 | plxvp | plxvp XT, D(RA), R | 8LS:D-form | Prefixed Load VSX Vector Pair |
| 0x07900000EC000198 | pmxvbf16ger2 | pmxvbf16ger2 AT, XA, XB, XMSK, YMSK | MMIRR-form | Prefixed Masked VSX Vector BFloat16 Ger (Rank-2 Update) |
| 0x07900000EC000390 | pmxvbf16ger2np | pmxvbf16ger2np AT,XA,XB,XMSK,YMSK,PMSK | MMIRR:XX3-form | Prefixed Masked VSX Vector bfloat16 GER (rank-2 update) Negative multiply, Positive accumulate |
| 0x07900000EC000290 | pmxvf16ger2np | pmxvf16ger2np AT,XA,XB,XMSK,YMSK,PMSK | MMIRR:XX3-form | Prefixed Masked VSX Vector 16-bit Floating-Point GER (rank-2 update) Negative multiply, Positive accumulate |
| 0x07900000EC000090 | pmxvf16ger2pp | pmxvf16ger2pp AT,XA,XB,XMSK,YMSK,PMSK | MMIRR:XX3-form | Prefixed Masked VSX Vector 16-bit Floating-Point GER (rank-2 update) Positive multiply, Positive accumulate |
| 0x07900000EC0002D0 | pmxvf32gernp | pmxvf32gernp AT,XA,XB,XMSK,YMSK | MMIRR:XX3-form | Prefixed Masked VSX Vector 32-bit Floating-Point GER (rank-1 update) Negative multiply, Positive accumulate |
| 0x07900000EC0000D0 | pmxvf32gerpp | pmxvf32gerpp | MMIRR:XX3-form | Prefixed Masked VSX Vector 32-bit Floating-Point GER (rank-1 update) Positive multiply, Positive accumulate |
| 0x07900000EC0001D8 | pmxvf64ger | pmxvf64ger AT, XA, XB, XMSK, YMSK | MMIRR-form | Prefixed Masked VSX Vector Float64 GER |
| 0x07900000EC0007D0 | pmxvf64gernn | pmxvf64gernn AT,XAp,XB,XMSK,YMSK | MMIRR:XX3-form | Prefixed Masked VSX Vector 64-bit Floating-Point GER (rank-1 update) Negative multiply, Negative accumulate |
| 0x07900000EC0003D0 | pmxvf64gernp | pmxvf64gernp AT,XAp,XB,XMSK,YMSK | MMIRR:XX3-form | Prefixed Masked VSX Vector 64-bit Floating-Point GER (rank-1 update) Negative multiply, Positive accumulate |
| 0x07900000EC000118 | pmxvi4ger8 | pmxvi4ger8 AT, XA, XB, XMSK, YMSK | MMIRR-form | Prefixed Masked VSX Vector Integer 4-bit GER |
| 0x07900000EC000110 | pmxvi4ger8pp | pmxvi4ger8pp AT, XA, XB, XMSK, YMSK | MMIRR-form | Prefixed Masked VSX Vector Integer 4-bit GER Plus/Plus |
| 0x07900000EC000018 | pmxvi8ger4 | pmxvi8ger4 AT, XA, XB, XMSK, YMSK | MMIRR-form | Prefixed Masked VSX Vector Integer 8-bit GER |
| 0x07900000EC000010 | pmxvi8ger4pp | pmxvi8ger4pp AT,XA,XB,XMSK,YMSK,PMSK | MMIRR:XX3-form | Prefixed Masked VSX Vector 8-bit Signed/Unsigned Integer GER (rank-4 update) Positive multiply, Positive accumulate |
| 0x07000000 | pnop | pnop | *-form | Prefixed No-Operation Instruction |
| 0x7C0000F4 | popcntb | popcntb RA,RS | X-form | Population Count Bytes |
| 0x7C0003F4 | popcntd | popcntd RA, RS | X-form | Population Count Doubleword |
| 0x7C0002F4 | popcntw | popcntw RA, RS | X-form | Population Count Word |
| 0x7C000174 | prtyd | prtyd RA, RS | X-form | Parity Doubleword |
| 0x7C000134 | prtyw | prtyw RA, RS | X-form | Parity Word |
| 0xF0000015 | ps_add | ps_add FRT, FRA, FRB | A-form | Paired Single Add |
| 0xF000001D | ps_madd | ps_madd FRT, FRA, FRC, FRB | A-form | Paired Single Multiply-Add |
| 0xF0000019 | ps_mul | ps_mul FRT, FRA, FRC | A-form | Paired Single Multiply |
| 0xF0000014 | ps_sub | ps_sub FRT, FRA, FRB | A-form | Paired Single Subtract |
| 0xE0000006 | psq_l | psq_l FRT, D(RA), W, I | X-form | Paired Single Quantized Load |
| 0xF0000007 | psq_st | psq_st FRS, D(RA), W, I | X-form | Paired Single Quantized Store |
| 0x0600000098000000 | pstb | pstb RS, D(RA), R | MLS:D-form | Prefixed Store Byte |
| 0x06000000D8000000 | pstfd | pstfd FRT,RA,RB | MLS:D-form | Prefixed Store Floating-Point Double MLS:D-form |
| 0x06000000D0000000 | pstfs | pstfs FRT,RA,RB | MLS:D-form | Prefixed Store Floating-Point Single MLS:D-form |
| 0x06000000B0000000 | psth | psth RS, D(RA), R | MLS:D-form | Prefixed Store Halfword |
| 0x04000000F0000000 | pstq | pstq RSp, D(RA), R | MLS:D-form | Prefixed Store Quadword |
| 0x04000000F4000000 | pststd | pststd RS, D34(RA), R | MLS:D-form | Prefixed Store Doubleword |
| 0x0600000090000000 | pstw | pstw RS, D(RA), R | MLS:D-form | Prefixed Store Word |
| 0x04000000F8000000 | pstxvp | pstxvp XS, D(RA), R | 8LS:D-form | Prefixed Store VSX Vector Pair |
| 0x4C000124 | rfebb | rfebb S | XL-form | Return From Event-Based Branch |
| 0x4C000024 | rfid | rfid | XL-form | Return From Interrupt Doubleword |
| 0x4C0000A4 | rfscv | rfscv | XL-form | Return from System Call Vectored |
| 0x78000012 | rldcr | rldcr RT,RS,RB,ME | MDS-form | Rotate Left Doubleword then Clear Right |
| 0x78000012 | rldcr. | rldcr. RT,RS,RB,ME | MDS-form | Rotate Left Doubleword then Clear Right (Record) |
| 0x78000008 | rldic | rldic RT,RA,RB,MB | MD-form | Rotate Left Doubleword Immediate Clear |
| 0x78000008 | rldic. | rldic. RT,RA,RB,MB | MD-form | Rotate Left Doubleword Immediate Clear (Record) |
| 0x78000000 | rldicl | rldicl RA, RS, SH, MB | MD-form | Rotate Left Doubleword Immediate Clear Left |
| 0x78000004 | rldicr | rldicr RA, RS, SH, ME | MD-form | Rotate Left Doubleword Immediate Clear Right |
| 0x7800000C | rldimi | rldimi RA, RS, SH, MB | MD-form | Rotate Left Doubleword Immediate Mask Insert |
| 0x50000000 | rlwimi | rlwimi RA, RS, SH, MB, ME | M-form | Rotate Left Word Immediate Then Mask Insert |
| 0x54000000 | rlwinm | rlwinm RA,RS,SH,MB,ME | M-form | Rotate Left Word Immediate Then AND with Mask |
| 0x54000000 | rlwinm. | rlwinm. RA,RS,SH,MB,ME | M-form | Rotate Left Word Immediate Then AND with Mask (Record) |
| 0x5C000000 | rlwnm | rlwnm RT,RS,RB,MB,ME | M-form | Rotate Left Word Then AND with Mask |
| 0x5C000000 | rlwnm. | rlwnm. RT,RS,RB,MB,ME | M-form | Rotate Left Word Then AND with Mask (Record) |
| 0x44000002 | sc | sc LEV | SC-form | System Call |
| 0x44000001 | scv | scv LEV | SC-form | System Call Vectored |