X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=openpower%2Fopcode_regs_deduped.mdwn;h=dcb3bcdebcd154860b2c34d7d161d65becb4da3f;hb=1c276ba6705f6b7e6bbc5a961054f6183a68dd3e;hp=8aa74e4708e09299af62738de2d1bcea6fcd0d43;hpb=6fbc9b21dd9d379b01b2a1cd64b4e763bc3b5b62;p=libreriscv.git diff --git a/openpower/opcode_regs_deduped.mdwn b/openpower/opcode_regs_deduped.mdwn index 8aa74e470..dcb3bcdeb 100644 --- a/openpower/opcode_regs_deduped.mdwn +++ b/openpower/opcode_regs_deduped.mdwn @@ -17,8 +17,7 @@ LDST-3R-CRo | LDSTRM-2P-3S | LDST-3R-1W | LDSTRM-2P-2S1D | | non-SV | imm | non-SV | -CRi | non-SV | -CRi | non-SV | +CRo | - | CRio | RM-2P-1S1D | CR=2R1W | RM-1P-2S1D | 1W | non-SV | @@ -26,20 +25,19 @@ CR=2R1W | RM-1P-2S1D | 1R | non-SV | 1R-imm | non-SV | 1R-CRo | RM-2P-1S1D | +1R-CRo | RM-2P-1S1D | 1R-CRio | RM-2P-2S1D | 1R-1W | RM-2P-1S1D | 1R-1W-imm | RM-2P-1S1D | 1R-1W-CRo | RM-2P-1S1D | 1R-1W-CRo | RM-2P-1S1D | -1R-1W-CRio | RM-2P-1S1D | 2R | non-SV | 2R-CRo | RM-1P-2S1D | -2R-CRio | RM-1P-2S1D | 2R-1W | RM-1P-2S1D | 2R-1W-CRo | RM-1P-2S1D | 2R-1W-CRo | RM-1P-2S1D | 2R-1W-CRi | RM-1P-3S1D | -2R-1W-CRio | RM-1P-2S1D | +3R-1W-CRo | - | 3R-1W-CRio | RM-1P-3S1D | """]] @@ -58,29 +56,27 @@ LDST | 3 | 0 | 0 | 1 | | | LDST-3R-CRo | LDST | 3 | 1 | 0 | 0 | | | LDST-3R-1W | OTHER | 0 | 0 | 0 | 0 | | | | OTHER | 0 | 0 | 0 | 0 | 1 | LI | imm | -OTHER | 0 | 0 | 1 | 0 | | | CRi | -OTHER | 0 | 0 | 1 | 0 | 1 | BD | CRi | +OTHER | 0 | 0 | 0 | 1 | | | CRo | OTHER | 0 | 0 | 1 | 1 | | | CRio | OTHER | 0 | 0 | 1 | 1 | 1 | | | CR=2R1W | OTHER | 0 | 1 | 0 | 0 | | | 1W | OTHER | 0 | 1 | 1 | 0 | | | 1W-CRi | OTHER | 1 | 0 | 0 | 0 | | | 1R | OTHER | 1 | 0 | 0 | 0 | 1 | SI | 1R-imm | +OTHER | 1 | 0 | 0 | 1 | | | 1R-CRo | OTHER | 1 | 0 | 0 | 1 | 1 | SI/UI | 1R-CRo | OTHER | 1 | 0 | 1 | 1 | | | 1R-CRio | OTHER | 1 | 1 | 0 | 0 | | | 1R-1W | OTHER | 1 | 1 | 0 | 0 | 1 | SI/UI | 1R-1W-imm | OTHER | 1 | 1 | 0 | 1 | | | 1R-1W-CRo | OTHER | 1 | 1 | 0 | 1 | 1 | M1/SH/SH32/SI/UI | 1R-1W-CRo | -OTHER | 1 | 1 | 1 | 1 | | | 1R-1W-CRio | OTHER | 2 | 0 | 0 | 0 | | | 2R | OTHER | 2 | 0 | 0 | 1 | | | 2R-CRo | -OTHER | 2 | 0 | 1 | 1 | | | 2R-CRio | OTHER | 2 | 1 | 0 | 0 | | | 2R-1W | OTHER | 2 | 1 | 0 | 1 | | | 2R-1W-CRo | OTHER | 2 | 1 | 0 | 1 | 1 | SH/SH32 | 2R-1W-CRo | OTHER | 2 | 1 | 1 | 0 | | | 2R-1W-CRi | -OTHER | 2 | 1 | 1 | 1 | | | 2R-1W-CRio | +OTHER | 3 | 1 | 0 | 1 | | | 3R-1W-CRo | OTHER | 3 | 1 | 1 | 1 | | | 3R-1W-CRio | """]] @@ -206,9 +202,7 @@ CSV | opcode | asm | form | extra.csv | 000000---------------0100000000- | attn | NONE-Form | extra.csv | 01100000000000000000000000000000 | nop | D-Form | major.csv | 17 | sc | SC-Form | -minor_19.csv | 0b0000010010 | rfid | XL-Form | minor_19.csv | 0b0010010110 | isync | XL-Form | -minor_19.csv | 0b0100010010 | hrfid | XL-Form | minor_19_00000.csv | 0b00010 | add pcis not implemented yet | DX-Form | minor_31.csv | 0b0000010110 | icbt | X-Form | minor_31.csv | 0b0000110110 | dcbst | X-Form | @@ -227,20 +221,14 @@ CSV | opcode | asm | form | major.csv | 18 | b | I-Form | """]] -## CRi (non-SV) - -[[!table data=""" -CSV | opcode | asm | form | -minor_19.csv | 0b0000010000 | bclr | XL-Form | -minor_19.csv | 0b1000010000 | bcctr | XL-Form | -minor_19.csv | 0b1000110000 | bctar | XL-Form | -"""]] - -## CRi (non-SV) +## CRo (-) [[!table data=""" CSV | opcode | asm | form | -major.csv | 16 | bc | B-Form | +minor_63l.csv | 0b000000010 | 2/0=mcrfs | -Form | +minor_63l.csv | 0b011000001 | 1/6=mtfsb1 | -Form | +minor_63l.csv | 0b011000010 | 2/6=mtfsb0 | -Form | +minor_63l.csv | 0b011000100 | 4/6=mtfsfi | -Form | """]] ## CRio (RM-2P-1S1D) @@ -248,10 +236,6 @@ major.csv | 16 | bc | B-Form | [[!table data=""" CSV | opcode | asm | form | minor_19.csv | 0b0000000000 | mcrf | XL-Form | -minor_63l.csv | 0b000000010 | 2/0=mcrfs | -Form | -minor_63l.csv | 0b011000001 | 1/6=mtfsb1 | -Form | -minor_63l.csv | 0b011000010 | 2/6=mtfsb0 | -Form | -minor_63l.csv | 0b011000100 | 4/6=mtfsfi | -Form | """]] ## CR=2R1W (RM-1P-2S1D) @@ -274,7 +258,6 @@ minor_19.csv | 0b0111000001 | cror | XL-Form | CSV | opcode | asm | form | extra.csv | 000001---------------0000000011- | sim_cfg | NONE-Form | minor_31.csv | 0b0001010011 | mfmsr | X-Form | -minor_31.csv | 0b0101010011 | mfspr | XFX-Form | """]] ## 1W-CRi (RM-2P-1S1D) @@ -293,7 +276,6 @@ minor_31.csv | 0b0010010010 | mtmsr | X-Form | minor_31.csv | 0b0010110010 | mtmsrd | X-Form | minor_31.csv | 0b0100010010 | tlbiel | X-Form | minor_31.csv | 0b0100110010 | tlbie | X-Form | -minor_31.csv | 0b0111010011 | mtspr | XFX-Form | """]] ## 1R-imm (non-SV) @@ -306,6 +288,14 @@ major.csv | 3 | twi | D-Form | ## 1R-CRo (RM-2P-1S1D) +[[!table data=""" +CSV | opcode | asm | form | +minor_63l.csv | 0b000000101 | 5/0=ftsqrt | -Form | +minor_63l.csv | 0b011110110 | 22/7=mtfsf | -Form | +"""]] + +## 1R-CRo (RM-2P-1S1D) + [[!table data=""" CSV | opcode | asm | form | major.csv | 10 | cmpli | D-Form | @@ -317,9 +307,6 @@ major.csv | 11 | cmpi | D-Form | [[!table data=""" CSV | opcode | asm | form | minor_31.csv | 0b0010010000 | mtcrf/mtocrf | XFX-Form | -minor_31.csv | 0b1011110011 | darn | X-Form | -minor_63l.csv | 0b000000101 | 5/0=ftsqrt | -Form | -minor_63l.csv | 0b011110110 | 22/7=mtfsf | -Form | """]] ## 1R-1W (RM-2P-1S1D) @@ -330,7 +317,9 @@ minor_31.csv | 0b0001101000 | neg | XO-Form | minor_31.csv | 0b0001111010 | popcntb | X-Form | minor_31.csv | 0b0010011010 | prtyw | X-Form | minor_31.csv | 0b0010111010 | prtyd | X-Form | +minor_31.csv | 0b0101010011 | mfspr | XFX-Form | minor_31.csv | 0b0101111010 | popcntw | X-Form | +minor_31.csv | 0b0111010011 | mtspr | XFX-Form | minor_31.csv | 0b0111111010 | popcntd | X-Form | minor_31.csv | 0b1001101000 | nego | XO-Form | """]] @@ -364,38 +353,6 @@ minor_31.csv | 0b1011001010 | addzeo | XO-Form | minor_31.csv | 0b1110011010 | extsh | X-Form | minor_31.csv | 0b1110111010 | extsb | X-Form | minor_31.csv | 0b1111011010 | extsw | X-Form | -"""]] - -## 1R-1W-CRo (RM-2P-1S1D) - -[[!table data=""" -CSV | opcode | asm | form | -major.csv | 13 | addic. | D-Form | -major.csv | 21 | rlwinm | M-Form | -major.csv | 28 | andi. | B-Form | -major.csv | 29 | andis. | B-Form | -major.csv | 7 | mulli | D-Form | -minor_30.csv | 0b0000 | rldicl | MDS-Form | -minor_30.csv | 0b0001 | rldicl | MDS-Form | -minor_30.csv | 0b0010 | rldicr | MD-Form | -minor_30.csv | 0b0011 | rldicr | MD-Form | -minor_30.csv | 0b0100 | rldic | MD-Form | -minor_30.csv | 0b0101 | rldic | MD-Form | -minor_31.csv | 0b0011101000 | subfme | XO-Form | -minor_31.csv | 0b0011101010 | addme | XO-Form | -minor_31.csv | 0b1011101000 | subfmeo | XO-Form | -minor_31.csv | 0b1011101010 | addmeo | XO-Form | -minor_31.csv | 0b1100111000 | srawi | X-Form | -minor_31.csv | 0b1100111010 | sradi | XS-Form | -minor_31.csv | 0b1100111011 | sradi | XS-Form | -minor_31.csv | 0b1101111010 | extswsli | XS-Form | -minor_31.csv | 0b1101111011 | extswsli | XS-Form | -"""]] - -## 1R-1W-CRio (RM-2P-1S1D) - -[[!table data=""" -CSV | opcode | asm | form | minor_59.csv | 0b01110 | fcfid[u]s | -Form | minor_59.csv | 0b10110 | fsqrts | -Form | minor_59.csv | 0b11000 | fres | -Form | @@ -425,6 +382,32 @@ minor_63l.csv | 0b111111001 | 25/15=fctidz | -Form | minor_63l.csv | 0b111111101 | 29/15=fctiduz | -Form | """]] +## 1R-1W-CRo (RM-2P-1S1D) + +[[!table data=""" +CSV | opcode | asm | form | +major.csv | 13 | addic. | D-Form | +major.csv | 21 | rlwinm | M-Form | +major.csv | 28 | andi. | B-Form | +major.csv | 29 | andis. | B-Form | +major.csv | 7 | mulli | D-Form | +minor_30.csv | 0b0000 | rldicl | MDS-Form | +minor_30.csv | 0b0001 | rldicl | MDS-Form | +minor_30.csv | 0b0010 | rldicr | MD-Form | +minor_30.csv | 0b0011 | rldicr | MD-Form | +minor_30.csv | 0b0100 | rldic | MD-Form | +minor_30.csv | 0b0101 | rldic | MD-Form | +minor_31.csv | 0b0011101000 | subfme | XO-Form | +minor_31.csv | 0b0011101010 | addme | XO-Form | +minor_31.csv | 0b1011101000 | subfmeo | XO-Form | +minor_31.csv | 0b1011101010 | addmeo | XO-Form | +minor_31.csv | 0b1100111000 | srawi | X-Form | +minor_31.csv | 0b1100111010 | sradi | XS-Form | +minor_31.csv | 0b1100111011 | sradi | XS-Form | +minor_31.csv | 0b1101111010 | extswsli | XS-Form | +minor_31.csv | 0b1101111011 | extswsli | XS-Form | +"""]] + ## 2R (non-SV) [[!table data=""" @@ -442,12 +425,6 @@ minor_31.csv | 0b0000000000 | cmp | X-Form | minor_31.csv | 0b0000100000 | cmpl | X-Form | minor_31.csv | 0b0011000000 | cmprb | X-Form | minor_31.csv | 0b0011100000 | cmpeqb | X-Form | -"""]] - -## 2R-CRio (RM-1P-2S1D) - -[[!table data=""" -CSV | opcode | asm | form | minor_63l.csv | 0b000000000 | 0/0=fcmpu | -Form | minor_63l.csv | 0b000000001 | 1/0=fcmpo | -Form | minor_63l.csv | 0b000000100 | 4/0=ftdiv | -Form | @@ -463,6 +440,8 @@ minor_31.csv | 0b0100001011 | moduw | X-Form | minor_31.csv | 0b0111111100 | cmpb | X-Form | minor_31.csv | 0b1100001001 | modsd | X-Form | minor_31.csv | 0b1100001011 | modsw | X-Form | +minor_63l.csv | 0b011011010 | 26/6=fmrgow | -Form | +minor_63l.csv | 0b011011110 | 30/6=fmrgew | -Form | """]] ## 2R-1W-CRo (RM-1P-2S1D) @@ -526,6 +505,15 @@ minor_31.csv | 0b1111001001 | divduo | XO-Form | minor_31.csv | 0b1111001011 | divwuo | XO-Form | minor_31.csv | 0b1111101001 | divdo | XO-Form | minor_31.csv | 0b1111101011 | divwo | XO-Form | +minor_59.csv | 0b10010 | fdivs | -Form | +minor_59.csv | 0b10100 | fsubs | -Form | +minor_59.csv | 0b10101 | fadds | -Form | +minor_59.csv | 0b11001 | fmuls | -Form | +minor_63h.csv | 0b0010 | fdiv | -Form | +minor_63h.csv | 0b0100 | fsub | -Form | +minor_63h.csv | 0b0101 | fadd | -Form | +minor_63h.csv | 0b1001 | fmul | -Form | +minor_63l.csv | 0b100000000 | 0/8=fcpsgn | -Form | """]] ## 2R-1W-CRo (RM-1P-2S1D) @@ -575,21 +563,15 @@ minor_31.csv | 0b1111001111 | isel | A-Form | minor_31.csv | 0b1111101111 | isel | A-Form | """]] -## 2R-1W-CRio (RM-1P-2S1D) +## 3R-1W-CRo (-) [[!table data=""" CSV | opcode | asm | form | -minor_59.csv | 0b10010 | fdivs | -Form | -minor_59.csv | 0b10100 | fsubs | -Form | -minor_59.csv | 0b10101 | fadds | -Form | -minor_59.csv | 0b11001 | fmuls | -Form | -minor_63h.csv | 0b0010 | fdiv | -Form | -minor_63h.csv | 0b0100 | fsub | -Form | -minor_63h.csv | 0b0101 | fadd | -Form | -minor_63h.csv | 0b1001 | fmul | -Form | -minor_63l.csv | 0b011011010 | 26/6=fmrgow | -Form | -minor_63l.csv | 0b011011110 | 30/6=fmrgew | -Form | -minor_63l.csv | 0b100000000 | 0/8=fcpsgn | -Form | +minor_63h.csv | 0b0111 | fsel | -Form | +minor_63h.csv | 0b1100 | fmsub | -Form | +minor_63h.csv | 0b1101 | fmadd | -Form | +minor_63h.csv | 0b1110 | fnmsub | -Form | +minor_63h.csv | 0b1111 | fnmadd | -Form | """]] ## 3R-1W-CRio (RM-1P-3S1D) @@ -600,453 +582,74 @@ minor_59.csv | 0b11100 | fmsubs | -Form | minor_59.csv | 0b11101 | fmadds | -Form | minor_59.csv | 0b11110 | fnmsubs | -Form | minor_59.csv | 0b11111 | fnmadds | -Form | -minor_63h.csv | 0b0111 | fsel | -Form | -minor_63h.csv | 0b1100 | fmsub | -Form | -minor_63h.csv | 0b1101 | fmadd | -Form | -minor_63h.csv | 0b1110 | fnmsub | -Form | -minor_63h.csv | 0b1111 | fnmadd | -Form | """]] # svp64 remaps -## LDST-1R-1W-imm (LDSTRM-2P-1S1D) - -[[!table data=""" -insn | Ptype | Etype | 0 | 1 | 2 | 3 | -lwz | 2P | EXTRA3 | d:RT | s:RA | | | RA_OR_ZERO | | NONE | RT | NONE | NONE | -lbz | 2P | EXTRA3 | d:RT | s:RA | | | RA_OR_ZERO | | NONE | RT | NONE | NONE | -lhz | 2P | EXTRA3 | d:RT | s:RA | | | RA_OR_ZERO | | NONE | RT | NONE | NONE | -lha | 2P | EXTRA3 | d:RT | s:RA | | | RA_OR_ZERO | | NONE | RT | NONE | NONE | -ld | 2P | EXTRA3 | d:RT | s:RA | | | RA_OR_ZERO | | NONE | RT | NONE | NONE | -lwa | 2P | EXTRA3 | d:RT | s:RA | | | RA_OR_ZERO | | NONE | RT | NONE | NONE | -"""]] - -## LDST-1R-2W-imm (LDSTRM-2P-1S2D) - -[[!table data=""" -insn | Ptype | Etype | 0 | 1 | 2 | 3 | -lwzu | 2P | EXTRA2 | d:RT | s:RA | d:RA | | RA_OR_ZERO | | NONE | RT | NONE | NONE | -lbzu | 2P | EXTRA2 | d:RT | s:RA | d:RA | | RA_OR_ZERO | | NONE | RT | NONE | NONE | -lhzu | 2P | EXTRA2 | d:RT | s:RA | d:RA | | RA_OR_ZERO | | NONE | RT | NONE | NONE | -lhau | 2P | EXTRA2 | d:RT | s:RA | d:RA | | RA_OR_ZERO | | NONE | RT | NONE | NONE | -ldu | 2P | EXTRA2 | d:RT | s:RA | d:RA | | RA_OR_ZERO | | NONE | RT | NONE | NONE | -"""]] - -## LDST-2R-imm (LDSTRM-2P-2S) - -[[!table data=""" -insn | Ptype | Etype | 0 | 1 | 2 | 3 | -stw | 2P | EXTRA3 | d:RS | s:RA | | | RA_OR_ZERO | | RS | NONE | NONE | NONE | -stb | 2P | EXTRA3 | d:RS | s:RA | | | RA_OR_ZERO | | RS | NONE | NONE | NONE | -sth | 2P | EXTRA3 | d:RS | s:RA | | | RA_OR_ZERO | | RS | NONE | NONE | NONE | -std | 2P | EXTRA3 | d:RS | s:RA | | | RA_OR_ZERO | | RS | NONE | NONE | NONE | -"""]] - -## LDST-2R-1W (LDSTRM-2P-2S1D) - -[[!table data=""" -insn | Ptype | Etype | 0 | 1 | 2 | 3 | -lwarx | 2P | EXTRA2 | d:RT | s:RA | s:RB | | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | -ldx | 2P | EXTRA2 | d:RT | s:RA | s:RB | | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | -lwzx | 2P | EXTRA2 | d:RT | s:RA | s:RB | | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | -lbarx | 2P | EXTRA2 | d:RT | s:RA | s:RB | | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | -ldarx | 2P | EXTRA2 | d:RT | s:RA | s:RB | | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | -lbzx | 2P | EXTRA2 | d:RT | s:RA | s:RB | | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | -lharx | 2P | EXTRA2 | d:RT | s:RA | s:RB | | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | -lhzx | 2P | EXTRA2 | d:RT | s:RA | s:RB | | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | -lwax | 2P | EXTRA2 | d:RT | s:RA | s:RB | | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | -lhax | 2P | EXTRA2 | d:RT | s:RA | s:RB | | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | -ldbrx | 2P | EXTRA2 | d:RT | s:RA | s:RB | | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | -lwbrx | 2P | EXTRA2 | d:RT | s:RA | s:RB | | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | -lwzcix | 2P | EXTRA2 | d:RT | s:RA | s:RB | | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | -lhbrx | 2P | EXTRA2 | d:RT | s:RA | s:RB | | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | -lhzcix | 2P | EXTRA2 | d:RT | s:RA | s:RB | | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | -lbzcix | 2P | EXTRA2 | d:RT | s:RA | s:RB | | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | -ldcix | 2P | EXTRA2 | d:RT | s:RA | s:RB | | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | -"""]] - -## LDST-2R-1W-imm (LDSTRM-2P-2S1D) - -[[!table data=""" -insn | Ptype | Etype | 0 | 1 | 2 | 3 | -stwu | 2P | EXTRA2 | d:RT | d:RA | s:RB | | RA_OR_ZERO | | RS | NONE | NONE | NONE | -stbu | 2P | EXTRA2 | d:RT | d:RA | s:RB | | RA_OR_ZERO | | RS | NONE | NONE | NONE | -sthu | 2P | EXTRA2 | d:RT | d:RA | s:RB | | RA_OR_ZERO | | RS | NONE | NONE | NONE | -stdu | 2P | EXTRA2 | d:RT | d:RA | s:RB | | RA_OR_ZERO | | RS | NONE | NONE | NONE | -"""]] - -## LDST-2R-2W (LDSTRM-2P-2S1D) - -[[!table data=""" -insn | Ptype | Etype | 0 | 1 | 2 | 3 | -ldux | 2P | EXTRA2 | d:RT | d:RA | s:RB | | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | -lwzux | 2P | EXTRA2 | d:RT | d:RA | s:RB | | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | -lbzux | 2P | EXTRA2 | d:RT | d:RA | s:RB | | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | -lhzux | 2P | EXTRA2 | d:RT | d:RA | s:RB | | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | -lwaux | 2P | EXTRA2 | d:RT | d:RA | s:RB | | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | -lhaux | 2P | EXTRA2 | d:RT | d:RA | s:RB | | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | -"""]] - -## LDST-3R (LDSTRM-2P-3S) - -[[!table data=""" -insn | Ptype | Etype | 0 | 1 | 2 | 3 | -stdx | 2P | EXTRA2 | s:RS,d:CR0 | s:RA | s:RB | | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | -stwx | 2P | EXTRA2 | s:RS,d:CR0 | s:RA | s:RB | | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | -stbx | 2P | EXTRA2 | s:RS,d:CR0 | s:RA | s:RB | | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | -sthx | 2P | EXTRA2 | s:RS,d:CR0 | s:RA | s:RB | | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | -stdbrx | 2P | EXTRA2 | s:RS,d:CR0 | s:RA | s:RB | | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | -stwbrx | 2P | EXTRA2 | s:RS,d:CR0 | s:RA | s:RB | | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | -stwcix | 2P | EXTRA2 | s:RS,d:CR0 | s:RA | s:RB | | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | -sthbrx | 2P | EXTRA2 | s:RS,d:CR0 | s:RA | s:RB | | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | -sthcix | 2P | EXTRA2 | s:RS,d:CR0 | s:RA | s:RB | | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | -stbcix | 2P | EXTRA2 | s:RS,d:CR0 | s:RA | s:RB | | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | -stdcix | 2P | EXTRA2 | s:RS,d:CR0 | s:RA | s:RB | | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | -"""]] - -## LDST-3R-CRo (LDSTRM-2P-3S) - -[[!table data=""" -insn | Ptype | Etype | 0 | 1 | 2 | 3 | -stwcx | 2P | EXTRA2 | s:RS,d:CR0 | s:RA | s:RB | | RA_OR_ZERO | RB | RS | NONE | NONE | CR0 | -stdcx | 2P | EXTRA2 | s:RS,d:CR0 | s:RA | s:RB | | RA_OR_ZERO | RB | RS | NONE | NONE | CR0 | -stbcx | 2P | EXTRA2 | s:RS,d:CR0 | s:RA | s:RB | | RA_OR_ZERO | RB | RS | NONE | NONE | CR0 | -sthcx | 2P | EXTRA2 | s:RS,d:CR0 | s:RA | s:RB | | RA_OR_ZERO | RB | RS | NONE | NONE | CR0 | -"""]] - -## LDST-3R-1W (LDSTRM-2P-2S1D) - -[[!table data=""" -insn | Ptype | Etype | 0 | 1 | 2 | 3 | -stdux | 2P | EXTRA2 | d:RS | d:RA | s:RB | | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | -stwux | 2P | EXTRA2 | d:RS | d:RA | s:RB | | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | -stbux | 2P | EXTRA2 | d:RS | d:RA | s:RB | | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | -sthux | 2P | EXTRA2 | d:RS | d:RA | s:RB | | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | -"""]] - -## CRio (RM-2P-1S1D) - -[[!table data=""" -insn | Ptype | Etype | 0 | 1 | 2 | 3 | -mcrf | 2P | EXTRA3 | d:BF | s:BFA | | | NONE | NONE | NONE | NONE | BFA | BF | -2/0=mcrfs | 2P | EXTRA3 | TODO | | | | NONE | NONE | NONE | NONE | 0 | 1 | -1/6=mtfsb1 | 2P | EXTRA3 | TODO | | | | NONE | NONE | NONE | NONE | 0 | 0 | -2/6=mtfsb0 | 2P | EXTRA3 | TODO | | | | NONE | NONE | NONE | NONE | 0 | 0 | -4/6=mtfsfi | 2P | EXTRA3 | TODO | | | | NONE | NONE | NONE | NONE | 0 | 0 | -"""]] - -## CR=2R1W (RM-1P-2S1D) - -[[!table data=""" -insn | Ptype | Etype | 0 | 1 | 2 | 3 | -crnor | 1P | EXTRA3 | d:BT | s:BA | s:BB | | NONE | NONE | NONE | NONE | BA_BB | BT | -crandc | 1P | EXTRA3 | d:BT | s:BA | s:BB | | NONE | NONE | NONE | NONE | BA_BB | BT | -crxor | 1P | EXTRA3 | d:BT | s:BA | s:BB | | NONE | NONE | NONE | NONE | BA_BB | BT | -crnand | 1P | EXTRA3 | d:BT | s:BA | s:BB | | NONE | NONE | NONE | NONE | BA_BB | BT | -crand | 1P | EXTRA3 | d:BT | s:BA | s:BB | | NONE | NONE | NONE | NONE | BA_BB | BT | -creqv | 1P | EXTRA3 | d:BT | s:BA | s:BB | | NONE | NONE | NONE | NONE | BA_BB | BT | -crorc | 1P | EXTRA3 | d:BT | s:BA | s:BB | | NONE | NONE | NONE | NONE | BA_BB | BT | -cror | 1P | EXTRA3 | d:BT | s:BA | s:BB | | NONE | NONE | NONE | NONE | BA_BB | BT | -"""]] - -## 1W-CRi (RM-2P-1S1D) - -[[!table data=""" -insn | Ptype | Etype | 0 | 1 | 2 | 3 | -mfcr/mfocrf | 2P | EXTRA3 | d:RT | s:CR | | | NONE | NONE | NONE | RT | WHOLE_REG | NONE | -setb | 2P | EXTRA3 | d:RT | s:BFA | | | NONE | NONE | NONE | RT | BFA | NONE | -"""]] - -## 1R-CRo (RM-2P-1S1D) - -[[!table data=""" -insn | Ptype | Etype | 0 | 1 | 2 | 3 | -cmpli | 2P | EXTRA3 | d:BF | s:RA | | | RA | | NONE | NONE | NONE | BF | -cmpi | 2P | EXTRA3 | d:BF | s:RA | | | RA | | NONE | NONE | NONE | BF | -"""]] - -## 1R-CRio (RM-2P-2S1D) - -[[!table data=""" -insn | Ptype | Etype | 0 | 1 | 2 | 3 | -mtcrf/mtocrf | 2P | EXTRA2 | d:CR | s:RS | s:CR | | RS | NONE | NONE | NONE | WHOLE_REG | WHOLE_REG | -darn | 2P | EXTRA2 | TODO | | | | | | RT | | | | -5/0=ftsqrt | 2P | EXTRA2 | TODO | | | | NONE | FRB | NONE | NONE | 0 | 1 | -22/7=mtfsf | 2P | EXTRA2 | TODO | | | | NONE | FRB | NONE | NONE | 0 | 0 | -"""]] - -## 1R-1W (RM-2P-1S1D) - -[[!table data=""" -insn | Ptype | Etype | 0 | 1 | 2 | 3 | -neg | 2P | EXTRA3 | d:RT | s:RA | | | RA | NONE | NONE | RT | NONE | NONE | -popcntb | 2P | EXTRA3 | d:RS | s:RA | | | RS | NONE | NONE | RA | NONE | NONE | -prtyw | 2P | EXTRA3 | d:RS | s:RA | | | RS | NONE | NONE | RA | NONE | NONE | -prtyd | 2P | EXTRA3 | d:RS | s:RA | | | RS | NONE | NONE | RA | NONE | NONE | -popcntw | 2P | EXTRA3 | d:RS | s:RA | | | RS | NONE | NONE | RA | NONE | NONE | -popcntd | 2P | EXTRA3 | d:RS | s:RA | | | RS | NONE | NONE | RA | NONE | NONE | -nego | 2P | EXTRA3 | d:RT | s:RA | | | RA | NONE | NONE | RT | NONE | NONE | -"""]] - -## 1R-1W-imm (RM-2P-1S1D) - -[[!table data=""" -insn | Ptype | Etype | 0 | 1 | 2 | 3 | -addic | 2P | EXTRA3 | d:RT | s:RA | | | RA | | NONE | RT | NONE | NONE | -addi | 2P | EXTRA3 | d:RT | s:RA | | | RA_OR_ZERO | | NONE | RT | NONE | NONE | -addis | 2P | EXTRA3 | d:RT | s:RA | | | RA_OR_ZERO | | NONE | RT | NONE | NONE | -ori | 2P | EXTRA3 | d:RS | s:RA | | | RS | | NONE | RA | NONE | NONE | -oris | 2P | EXTRA3 | d:RS | s:RA | | | RS | | NONE | RA | NONE | NONE | -xori | 2P | EXTRA3 | d:RS | s:RA | | | RS | | NONE | RA | NONE | NONE | -xoris | 2P | EXTRA3 | d:RS | s:RA | | | RS | | NONE | RA | NONE | NONE | -subfic | 2P | EXTRA3 | d:RT | s:RA | | | RA | | NONE | RT | NONE | NONE | -"""]] - -## 1R-1W-CRo (RM-2P-1S1D) - -[[!table data=""" -insn | Ptype | Etype | 0 | 1 | 2 | 3 | -cntlzw | 2P | EXTRA3 | d:RS,d:CR0 | s:RA | | | RS | NONE | NONE | RA | NONE | CR0 | -cntlzd | 2P | EXTRA3 | d:RS,d:CR0 | s:RA | | | RS | NONE | NONE | RA | NONE | CR0 | -subfze | 2P | EXTRA3 | d:RT,d:CR0 | s:RA | | | RA | NONE | NONE | RT | NONE | CR0 | -addze | 2P | EXTRA3 | d:RT,d:CR0 | s:RA | | | RA | NONE | NONE | RT | NONE | CR0 | -cnttzw | 2P | EXTRA3 | d:RS,d:CR0 | s:RA | | | RS | NONE | NONE | RA | NONE | CR0 | -cnttzd | 2P | EXTRA3 | d:RS,d:CR0 | s:RA | | | RS | NONE | NONE | RA | NONE | CR0 | -subfzeo | 2P | EXTRA3 | d:RT,d:CR0 | s:RA | | | RA | NONE | NONE | RT | NONE | CR0 | -addzeo | 2P | EXTRA3 | d:RT,d:CR0 | s:RA | | | RA | NONE | NONE | RT | NONE | CR0 | -extsh | 2P | EXTRA3 | d:RS,d:CR0 | s:RA | | | RS | NONE | NONE | RA | NONE | CR0 | -extsb | 2P | EXTRA3 | d:RS,d:CR0 | s:RA | | | RS | NONE | NONE | RA | NONE | CR0 | -extsw | 2P | EXTRA3 | d:RS,d:CR0 | s:RA | | | RS | NONE | NONE | RA | NONE | CR0 | -"""]] +* **LDST-1R-1W-imm**: LDSTRM-2P-1S1D +* **LDST-1R-2W-imm**: LDSTRM-2P-1S2D +* **LDST-2R-imm**: LDSTRM-2P-2S +* **LDST-2R-1W**: LDSTRM-2P-2S1D +* **LDST-2R-1W-imm**: LDSTRM-2P-2S1D +* **LDST-2R-2W**: LDSTRM-2P-2S1D +* **LDST-3R**: LDSTRM-2P-3S +* **LDST-3R-CRo**: LDSTRM-2P-3S +* **LDST-3R-1W**: LDSTRM-2P-2S1D +* **CRo**: - +* **CRio**: RM-2P-1S1D +* **CR=2R1W**: RM-1P-2S1D +* **1W-CRi**: RM-2P-1S1D +* **1R-CRo**: RM-2P-1S1D +* **1R-CRo**: RM-2P-1S1D +* **1R-CRio**: RM-2P-2S1D +* **1R-1W**: RM-2P-1S1D +* **1R-1W-imm**: RM-2P-1S1D +* **1R-1W-CRo**: RM-2P-1S1D +* **1R-1W-CRo**: RM-2P-1S1D +* **2R-CRo**: RM-1P-2S1D +* **2R-1W**: RM-1P-2S1D +* **2R-1W-CRo**: RM-1P-2S1D +* **2R-1W-CRo**: RM-1P-2S1D +* **2R-1W-CRi**: RM-1P-3S1D +* **3R-1W-CRo**: - +* **3R-1W-CRio**: RM-1P-3S1D -## 1R-1W-CRo (RM-2P-1S1D) +## LDSTRM-2P-1S1D -[[!table data=""" -insn | Ptype | Etype | 0 | 1 | 2 | 3 | -addic. | 2P | EXTRA3 | d:RT,d:CR0 | s:RA | | | RA | | NONE | RT | NONE | CR0 | -rlwinm | 2P | EXTRA3 | TODO | | | | NONE | | RS | RA | NONE | CR0 | -andi. | 2P | EXTRA3 | d:RS,d:CR0 | s:RA | | | RS | | NONE | RA | NONE | CR0 | -andis. | 2P | EXTRA3 | d:RS,d:CR0 | s:RA | | | RS | | NONE | RA | NONE | CR0 | -mulli | 2P | EXTRA3 | d:RT,d:CR0 | s:RA | | | RA | | NONE | RT | NONE | CR0 | -rldicl | 2P | EXTRA3 | TODO | | | | NONE | | RS | RA | NONE | CR0 | -rldicl | 2P | EXTRA3 | TODO | | | | NONE | | RS | RA | NONE | CR0 | -rldicr | 2P | EXTRA3 | TODO | | | | NONE | | RS | RA | NONE | CR0 | -rldicr | 2P | EXTRA3 | TODO | | | | NONE | | RS | RA | NONE | CR0 | -rldic | 2P | EXTRA3 | TODO | | | | NONE | | RS | RA | NONE | CR0 | -rldic | 2P | EXTRA3 | TODO | | | | NONE | | RS | RA | NONE | CR0 | -subfme | 2P | EXTRA3 | d:RT,d:CR0 | s:RA | | | RA | | NONE | RT | NONE | CR0 | -addme | 2P | EXTRA3 | d:RT,d:CR0 | s:RA | | | RA | | NONE | RT | NONE | CR0 | -subfmeo | 2P | EXTRA3 | d:RT,d:CR0 | s:RA | | | RA | | NONE | RT | NONE | CR0 | -addmeo | 2P | EXTRA3 | d:RT,d:CR0 | s:RA | | | RA | | NONE | RT | NONE | CR0 | -srawi | 2P | EXTRA3 | TODO | | | | NONE | | RS | RA | NONE | CR0 | -sradi | 2P | EXTRA3 | TODO | | | | NONE | | RS | RA | NONE | CR0 | -sradi | 2P | EXTRA3 | TODO | | | | NONE | | RS | RA | NONE | CR0 | -extswsli | 2P | EXTRA3 | TODO | | | | NONE | | RS | RA | NONE | CR0 | -extswsli | 2P | EXTRA3 | TODO | | | | NONE | | RS | RA | NONE | CR0 | -"""]] +[[!table format=csv file="openpower/isatables/LDSTRM-2P-1S1D.csv"]] -## 1R-1W-CRio (RM-2P-1S1D) +## LDSTRM-2P-1S2D -[[!table data=""" -insn | Ptype | Etype | 0 | 1 | 2 | 3 | -fcfid[u]s | 2P | EXTRA3 | TODO | | | | NONE | FRB | NONE | FRT | 0 | 0 | -fsqrts | 2P | EXTRA3 | TODO | | | | NONE | FRB | NONE | FRT | 0 | 0 | -fres | 2P | EXTRA3 | TODO | | | | NONE | FRB | NONE | FRT | 0 | 0 | -frsqrtes | 2P | EXTRA3 | TODO | | | | NONE | FRB | NONE | FRT | 0 | 0 | -fsqrt | 2P | EXTRA3 | TODO | | | | NONE | FRB | NONE | FRT | 0 | 0 | -fre | 2P | EXTRA3 | TODO | | | | NONE | FRB | NONE | FRT | 0 | 0 | -frsqrte | 2P | EXTRA3 | TODO | | | | NONE | FRB | NONE | FRT | 0 | 0 | -18/7=mffsfamily | 2P | EXTRA3 | TODO | | | | NONE | FRB | NONE | FRT | 0 | 0 | -1/8=fneg | 2P | EXTRA3 | TODO | | | | NONE | FRB | NONE | FRT | 0 | 0 | -2/8=fmr | 2P | EXTRA3 | TODO | | | | NONE | FRB | NONE | FRT | 0 | 0 | -4/8=fnabs | 2P | EXTRA3 | TODO | | | | NONE | FRB | NONE | FRT | 0 | 0 | -8/8=fabs | 2P | EXTRA3 | TODO | | | | NONE | FRB | NONE | FRT | 0 | 0 | -12/8=frin | 2P | EXTRA3 | TODO | | | | NONE | FRB | NONE | FRT | 0 | 0 | -13/8=friz | 2P | EXTRA3 | TODO | | | | NONE | FRB | NONE | FRT | 0 | 0 | -14/8=frip | 2P | EXTRA3 | TODO | | | | NONE | FRB | NONE | FRT | 0 | 0 | -15/8=frim | 2P | EXTRA3 | TODO | | | | NONE | FRB | NONE | FRT | 0 | 0 | -0/12=frsp | 2P | EXTRA3 | TODO | | | | NONE | FRB | NONE | FRT | 0 | 0 | -0/14=fctiw | 2P | EXTRA3 | TODO | | | | NONE | FRB | NONE | FRT | 0 | 0 | -4/14=fctiwu | 2P | EXTRA3 | TODO | | | | NONE | FRB | NONE | FRT | 0 | 0 | -25/14=fctid | 2P | EXTRA3 | TODO | | | | NONE | FRB | NONE | FRT | 0 | 0 | -26/14=fcfid | 2P | EXTRA3 | TODO | | | | NONE | FRB | NONE | FRT | 0 | 0 | -29/14=fctidu | 2P | EXTRA3 | TODO | | | | NONE | FRB | NONE | FRT | 0 | 0 | -30/14=fcfidu | 2P | EXTRA3 | TODO | | | | NONE | FRB | NONE | FRT | 0 | 0 | -0/15=fctiwz | 2P | EXTRA3 | TODO | | | | NONE | FRB | NONE | FRT | 0 | 0 | -4/15=fctiwuz | 2P | EXTRA3 | TODO | | | | NONE | FRB | NONE | FRT | 0 | 0 | -25/15=fctidz | 2P | EXTRA3 | TODO | | | | NONE | FRB | NONE | FRT | 0 | 0 | -29/15=fctiduz | 2P | EXTRA3 | TODO | | | | NONE | FRB | NONE | FRT | 0 | 0 | -"""]] +[[!table format=csv file="openpower/isatables/LDSTRM-2P-1S2D.csv"]] -## 2R-CRo (RM-1P-2S1D) +## LDSTRM-2P-2S -[[!table data=""" -insn | Ptype | Etype | 0 | 1 | 2 | 3 | -cmp | 1P | EXTRA3 | d:BF | s:RA | s:RB | | RA | RB | NONE | NONE | NONE | BF | -cmpl | 1P | EXTRA3 | d:BF | s:RA | s:RB | | RA | RB | NONE | NONE | NONE | BF | -cmprb | 1P | EXTRA3 | d:BF | s:RA | s:RB | | RA | RB | NONE | NONE | NONE | BF | -cmpeqb | 1P | EXTRA3 | d:BF | s:RA | s:RB | | RA | RB | NONE | NONE | NONE | BF | -"""]] +[[!table format=csv file="openpower/isatables/LDSTRM-2P-2S.csv"]] -## 2R-CRio (RM-1P-2S1D) +## LDSTRM-2P-2S1D -[[!table data=""" -insn | Ptype | Etype | 0 | 1 | 2 | 3 | -0/0=fcmpu | 1P | EXTRA3 | TODO | | | | FRA | FRB | NONE | NONE | 0 | 1 | -1/0=fcmpo | 1P | EXTRA3 | TODO | | | | FRA | FRB | NONE | NONE | 0 | 1 | -4/0=ftdiv | 1P | EXTRA3 | TODO | | | | FRA | FRB | NONE | NONE | 0 | 1 | -"""]] +[[!table format=csv file="openpower/isatables/LDSTRM-2P-2S1D.csv"]] -## 2R-1W (RM-1P-2S1D) +## LDSTRM-2P-3S -[[!table data=""" -insn | Ptype | Etype | 0 | 1 | 2 | 3 | -bpermd | 1P | EXTRA3 | d:RA | s:RS | s:RB | | RS | RB | NONE | RA | NONE | NONE | -modud | 1P | EXTRA3 | d:RT | s:RA | s:RB | | RA | RB | NONE | RT | NONE | NONE | -moduw | 1P | EXTRA3 | d:RT | s:RA | s:RB | | RA | RB | NONE | RT | NONE | NONE | -cmpb | 1P | EXTRA3 | d:RA | s:RS | s:RB | | RS | RB | NONE | RA | NONE | NONE | -modsd | 1P | EXTRA3 | d:RT | s:RA | s:RB | | RA | RB | NONE | RT | NONE | NONE | -modsw | 1P | EXTRA3 | d:RT | s:RA | s:RB | | RA | RB | NONE | RT | NONE | NONE | -"""]] +[[!table format=csv file="openpower/isatables/LDSTRM-2P-3S.csv"]] -## 2R-1W-CRo (RM-1P-2S1D) +## - -[[!table data=""" -insn | Ptype | Etype | 0 | 1 | 2 | 3 | -rlwnm | 1P | EXTRA3 | TODO | | | | NONE | RB | RS | RA | NONE | CR0 | -rldcl | 1P | EXTRA3 | TODO | | | | NONE | RB | RS | RA | NONE | CR0 | -rldcr | 1P | EXTRA3 | TODO | | | | NONE | RB | RS | RA | NONE | CR0 | -subfc | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -mulhdu | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -addc | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -mulhwu | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -slw | 1P | EXTRA3 | TODO | | | | NONE | RB | RS | RA | NONE | CR0 | -sld | 1P | EXTRA3 | TODO | | | | NONE | RB | RS | RA | NONE | CR0 | -and | 1P | EXTRA3 | TODO | | | | RS | RB | NONE | RA | NONE | CR0 | -subf | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -andc | 1P | EXTRA3 | TODO | | | | RS | RB | NONE | RA | NONE | CR0 | -mulhd | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -mulhw | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -nor | 1P | EXTRA3 | TODO | | | | RS | RB | NONE | RA | NONE | CR0 | -subfe | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -adde | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -mulld | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -mullw | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -add | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -eqv | 1P | EXTRA3 | TODO | | | | RS | RB | NONE | RA | NONE | CR0 | -xor | 1P | EXTRA3 | TODO | | | | RS | RB | NONE | RA | NONE | CR0 | -divdeu | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -divweu | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -orc | 1P | EXTRA3 | TODO | | | | RS | RB | NONE | RA | NONE | CR0 | -divde | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -divwe | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -or | 1P | EXTRA3 | TODO | | | | RS | RB | NONE | RA | NONE | CR0 | -divdu | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -divwu | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -nand | 1P | EXTRA3 | TODO | | | | RS | RB | NONE | RA | NONE | CR0 | -divd | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -divw | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -subfco | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -mulhdu | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -addco | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -mulhwu | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -srw | 1P | EXTRA3 | TODO | | | | NONE | RB | RS | RA | NONE | CR0 | -srd | 1P | EXTRA3 | TODO | | | | NONE | RB | RS | RA | NONE | CR0 | -subfo | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -mulhd | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -mulhw | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -subfeo | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -addeo | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -mulldo | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -mullwo | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -addo | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -sraw | 1P | EXTRA3 | TODO | | | | NONE | RB | RS | RA | NONE | CR0 | -srad | 1P | EXTRA3 | TODO | | | | NONE | RB | RS | RA | NONE | CR0 | -divdeuo | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -divweuo | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -divdeo | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -divweo | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -divduo | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -divwuo | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -divdo | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -divwo | 1P | EXTRA3 | TODO | | | | RA | RB | NONE | RT | NONE | CR0 | -"""]] +[[!table format=csv file="openpower/isatables/-.csv"]] -## 2R-1W-CRo (RM-1P-2S1D) +## RM-2P-1S1D -[[!table data=""" -insn | Ptype | Etype | 0 | 1 | 2 | 3 | -rlwimi | 1P | EXTRA3 | TODO | | | | RA | | RS | RA | NONE | CR0 | -rldimi | 1P | EXTRA3 | TODO | | | | RA | | RS | RA | NONE | CR0 | -rldimi | 1P | EXTRA3 | TODO | | | | RA | | RS | RA | NONE | CR0 | -"""]] +[[!table format=csv file="openpower/isatables/RM-2P-1S1D.csv"]] -## 2R-1W-CRi (RM-1P-3S1D) +## RM-1P-2S1D -[[!table data=""" -insn | Ptype | Etype | 0 | 1 | 2 | 3 | -isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -isel | 1P | EXTRA2 | d:RT | s:RA | s:RB | s:BC | RA_OR_ZERO | RB | NONE | RT | BC | NONE | -"""]] +[[!table format=csv file="openpower/isatables/RM-1P-2S1D.csv"]] -## 2R-1W-CRio (RM-1P-2S1D) +## RM-2P-2S1D -[[!table data=""" -insn | Ptype | Etype | 0 | 1 | 2 | 3 | -fdivs | 1P | EXTRA3 | TODO | | | | FRA | FRB | NONE | FRT | 0 | 0 | -fsubs | 1P | EXTRA3 | TODO | | | | FRA | FRB | NONE | FRT | 0 | 0 | -fadds | 1P | EXTRA3 | TODO | | | | FRA | FRB | NONE | FRT | 0 | 0 | -fmuls | 1P | EXTRA3 | TODO | | | | FRA | NONE | FRC | FRT | 0 | 0 | -fdiv | 1P | EXTRA3 | TODO | | | | FRA | FRB | NONE | FRT | 0 | 0 | -fsub | 1P | EXTRA3 | TODO | | | | FRA | FRB | NONE | FRT | 0 | 0 | -fadd | 1P | EXTRA3 | TODO | | | | FRA | FRB | NONE | FRT | 0 | 0 | -fmul | 1P | EXTRA3 | TODO | | | | FRA | NONE | FRC | FRT | 0 | 0 | -26/6=fmrgow | 1P | EXTRA3 | TODO | | | | FRA | FRB | NONE | FRT | 0 | 0 | -30/6=fmrgew | 1P | EXTRA3 | TODO | | | | FRA | FRB | NONE | FRT | 0 | 0 | -0/8=fcpsgn | 1P | EXTRA3 | TODO | | | | FRA | FRB | NONE | FRT | 0 | 0 | -"""]] +[[!table format=csv file="openpower/isatables/RM-2P-2S1D.csv"]] -## 3R-1W-CRio (RM-1P-3S1D) +## RM-1P-3S1D -[[!table data=""" -insn | Ptype | Etype | 0 | 1 | 2 | 3 | -fmsubs | 1P | EXTRA2 | d:FRT,d:CR1 | s:FRA | s:FRB | s:FRC | FRA | FRB | FRC | FRT | 0 | 0 | -fmadds | 1P | EXTRA2 | d:FRT,d:CR1 | s:FRA | s:FRB | s:FRC | FRA | FRB | FRC | FRT | 0 | 0 | -fnmsubs | 1P | EXTRA2 | d:FRT,d:CR1 | s:FRA | s:FRB | s:FRC | FRA | FRB | FRC | FRT | 0 | 0 | -fnmadds | 1P | EXTRA2 | d:FRT,d:CR1 | s:FRA | s:FRB | s:FRC | FRA | FRB | FRC | FRT | 0 | 0 | -fsel | 1P | EXTRA2 | d:FRT,d:CR1 | s:FRA | s:FRB | s:FRC | FRA | FRB | FRC | FRT | 0 | 0 | -fmsub | 1P | EXTRA2 | d:FRT,d:CR1 | s:FRA | s:FRB | s:FRC | FRA | FRB | FRC | FRT | 0 | 0 | -fmadd | 1P | EXTRA2 | d:FRT,d:CR1 | s:FRA | s:FRB | s:FRC | FRA | FRB | FRC | FRT | 0 | 0 | -fnmsub | 1P | EXTRA2 | d:FRT,d:CR1 | s:FRA | s:FRB | s:FRC | FRA | FRB | FRC | FRT | 0 | 0 | -fnmadd | 1P | EXTRA2 | d:FRT,d:CR1 | s:FRA | s:FRB | s:FRC | FRA | FRB | FRC | FRT | 0 | 0 | -"""]] +[[!table format=csv file="openpower/isatables/RM-1P-3S1D.csv"]]