From 61fad232313f5e1b8821a1666b5a4536b8db4c1d Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Wed, 23 Dec 2020 13:36:45 +0000 Subject: [PATCH] add temporary tables of svp64 remaps --- openpower/opcode_regs_deduped.mdwn | 1287 +++++++++++++++++++--------- openpower/sv_analysis.py | 8 +- 2 files changed, 870 insertions(+), 425 deletions(-) diff --git a/openpower/opcode_regs_deduped.mdwn b/openpower/opcode_regs_deduped.mdwn index ea0c86065..4dd6157d5 100644 --- a/openpower/opcode_regs_deduped.mdwn +++ b/openpower/opcode_regs_deduped.mdwn @@ -6,606 +6,1051 @@ created by http://libre-soc.org/openpower/sv_analysis.py # map to old SV Prefix [[!table data=""" -LDST-1R-1W-imm | RM-2P-1S1D | -LDST-1R-2W-imm | RM-2P-1S2D | -LDST-2R-imm | RM-2P-2S | -LDST-2R-1W | RM-2P-2S1D | -LDST-2R-1W-imm | RM-2P-2S1D | -LDST-2R-2W | RM-2P-2S1D | -LDST-3R | RM-2P-3S | -LDST-3R-CRo | RM-2P-3S | -LDST-3R-1W | RM-2P-2S1D | - | non-SV | -imm | non-SV | -CRi | non-SV | -CRi | non-SV | -CRio | RM-2P-1S1D | -CR=2R1W | RM-1P-2S1D | -1W | non-SV | -1W-CRi | RM-2P-1S1D | -1R | non-SV | -1R-imm | non-SV | -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-CRio | RM-1P-3S1D | +LDST-1R-1W-imm | RM-2P-1S1D | +LDST-1R-2W-imm | RM-2P-1S2D | +LDST-2R-imm | RM-2P-2S | +LDST-2R-1W | RM-2P-2S1D | +LDST-2R-1W-imm | RM-2P-2S1D | +LDST-2R-2W | RM-2P-2S1D | +LDST-3R | RM-2P-3S | +LDST-3R-CRo | RM-2P-3S | +LDST-3R-1W | RM-2P-2S1D | + | non-SV | +imm | non-SV | +CRi | non-SV | +CRi | non-SV | +CRio | RM-2P-1S1D | +CR=2R1W | RM-1P-2S1D | +1W | non-SV | +1W-CRi | RM-2P-1S1D | +1R | non-SV | +1R-imm | non-SV | +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-CRio | RM-1P-3S1D | """]] # keys [[!table data=""" -unit | in | outcnt | CR in | CR out | imm| imms | name | -LDST | 1 | 1 | 0 | 0 | 1| DS/SI | LDST-1R-1W-imm | -LDST | 1 | 2 | 0 | 0 | 1| DS/SI | LDST-1R-2W-imm | -LDST | 2 | 0 | 0 | 0 | 1| DS/SI | LDST-2R-imm | -LDST | 2 | 1 | 0 | 0 | | | LDST-2R-1W | -LDST | 2 | 1 | 0 | 0 | 1| DS/SI | LDST-2R-1W-imm | -LDST | 2 | 2 | 0 | 0 | | | LDST-2R-2W | -LDST | 3 | 0 | 0 | 0 | | | LDST-3R | -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 | 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 | 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 | 1 | 1 | | | 3R-1W-CRio | +unit | in | outcnt | CR in | CR out | imm | imms | name | +LDST | 1 | 1 | 0 | 0 | 1 | DS/SI | LDST-1R-1W-imm | +LDST | 1 | 2 | 0 | 0 | 1 | DS/SI | LDST-1R-2W-imm | +LDST | 2 | 0 | 0 | 0 | 1 | DS/SI | LDST-2R-imm | +LDST | 2 | 1 | 0 | 0 | | | LDST-2R-1W | +LDST | 2 | 1 | 0 | 0 | 1 | DS/SI | LDST-2R-1W-imm | +LDST | 2 | 2 | 0 | 0 | | | LDST-2R-2W | +LDST | 3 | 0 | 0 | 0 | | | LDST-3R | +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 | 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 | 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 | 1 | 1 | | | 3R-1W-CRio | """]] ## LDST-1R-1W-imm (RM-2P-1S1D) [[!table data=""" -CSV | opcode | asm | form| -major.csv | 32 | lwz | D-Form| -major.csv | 34 | lbz | D-Form| -major.csv | 40 | lhz | D-Form| -major.csv | 42 | lha | D-Form| -minor_58.csv | 0 | ld | DS-Form| -minor_58.csv | 2 | lwa | DS-Form| +CSV | opcode | asm | form | +major.csv | 32 | lwz | D-Form | +major.csv | 34 | lbz | D-Form | +major.csv | 40 | lhz | D-Form | +major.csv | 42 | lha | D-Form | +minor_58.csv | 0 | ld | DS-Form | +minor_58.csv | 2 | lwa | DS-Form | """]] ## LDST-1R-2W-imm (RM-2P-1S2D) [[!table data=""" -CSV | opcode | asm | form| -major.csv | 33 | lwzu | D-Form| -major.csv | 35 | lbzu | D-Form| -major.csv | 41 | lhzu | D-Form| -major.csv | 43 | lhau | D-Form| -minor_58.csv | 1 | ldu | DS-Form| +CSV | opcode | asm | form | +major.csv | 33 | lwzu | D-Form | +major.csv | 35 | lbzu | D-Form | +major.csv | 41 | lhzu | D-Form | +major.csv | 43 | lhau | D-Form | +minor_58.csv | 1 | ldu | DS-Form | """]] ## LDST-2R-imm (RM-2P-2S) [[!table data=""" -CSV | opcode | asm | form| -major.csv | 36 | stw | D-Form| -major.csv | 38 | stb | D-Form| -major.csv | 44 | sth | D-Form| -minor_62.csv | 0 | std | DS-Form| +CSV | opcode | asm | form | +major.csv | 36 | stw | D-Form | +major.csv | 38 | stb | D-Form | +major.csv | 44 | sth | D-Form | +minor_62.csv | 0 | std | DS-Form | """]] ## LDST-2R-1W (RM-2P-2S1D) [[!table data=""" -CSV | opcode | asm | form| -minor_31.csv | 0b0000010100 | lwarx | X-Form| -minor_31.csv | 0b0000010101 | ldx | X-Form| -minor_31.csv | 0b0000010111 | lwzx | X-Form| -minor_31.csv | 0b0000110100 | lbarx | X-Form| -minor_31.csv | 0b0001010100 | ldarx | X-Form| -minor_31.csv | 0b0001010111 | lbzx | X-Form| -minor_31.csv | 0b0001110100 | lharx | X-Form| -minor_31.csv | 0b0100010111 | lhzx | X-Form| -minor_31.csv | 0b0101010101 | lwax | X-Form| -minor_31.csv | 0b0101010111 | lhax | X-Form| -minor_31.csv | 0b1000010100 | ldbrx | X-Form| -minor_31.csv | 0b1000010110 | lwbrx | X-Form| -minor_31.csv | 0b1100010101 | lwzcix | X-Form| -minor_31.csv | 0b1100010110 | lhbrx | X-Form| -minor_31.csv | 0b1100110101 | lhzcix | X-Form| -minor_31.csv | 0b1101010101 | lbzcix | X-Form| -minor_31.csv | 0b1101110101 | ldcix | X-Form| +CSV | opcode | asm | form | +minor_31.csv | 0b0000010100 | lwarx | X-Form | +minor_31.csv | 0b0000010101 | ldx | X-Form | +minor_31.csv | 0b0000010111 | lwzx | X-Form | +minor_31.csv | 0b0000110100 | lbarx | X-Form | +minor_31.csv | 0b0001010100 | ldarx | X-Form | +minor_31.csv | 0b0001010111 | lbzx | X-Form | +minor_31.csv | 0b0001110100 | lharx | X-Form | +minor_31.csv | 0b0100010111 | lhzx | X-Form | +minor_31.csv | 0b0101010101 | lwax | X-Form | +minor_31.csv | 0b0101010111 | lhax | X-Form | +minor_31.csv | 0b1000010100 | ldbrx | X-Form | +minor_31.csv | 0b1000010110 | lwbrx | X-Form | +minor_31.csv | 0b1100010101 | lwzcix | X-Form | +minor_31.csv | 0b1100010110 | lhbrx | X-Form | +minor_31.csv | 0b1100110101 | lhzcix | X-Form | +minor_31.csv | 0b1101010101 | lbzcix | X-Form | +minor_31.csv | 0b1101110101 | ldcix | X-Form | """]] ## LDST-2R-1W-imm (RM-2P-2S1D) [[!table data=""" -CSV | opcode | asm | form| -major.csv | 37 | stwu | D-Form| -major.csv | 39 | stbu | D-Form| -major.csv | 45 | sthu | D-Form| -minor_62.csv | 1 | stdu | DS-Form| +CSV | opcode | asm | form | +major.csv | 37 | stwu | D-Form | +major.csv | 39 | stbu | D-Form | +major.csv | 45 | sthu | D-Form | +minor_62.csv | 1 | stdu | DS-Form | """]] ## LDST-2R-2W (RM-2P-2S1D) [[!table data=""" -CSV | opcode | asm | form| -minor_31.csv | 0b0000110101 | ldux | X-Form| -minor_31.csv | 0b0000110111 | lwzux | X-Form| -minor_31.csv | 0b0001110111 | lbzux | X-Form| -minor_31.csv | 0b0100110111 | lhzux | X-Form| -minor_31.csv | 0b0101110101 | lwaux | X-Form| -minor_31.csv | 0b0101110111 | lhaux | X-Form| +CSV | opcode | asm | form | +minor_31.csv | 0b0000110101 | ldux | X-Form | +minor_31.csv | 0b0000110111 | lwzux | X-Form | +minor_31.csv | 0b0001110111 | lbzux | X-Form | +minor_31.csv | 0b0100110111 | lhzux | X-Form | +minor_31.csv | 0b0101110101 | lwaux | X-Form | +minor_31.csv | 0b0101110111 | lhaux | X-Form | """]] ## LDST-3R (RM-2P-3S) [[!table data=""" -CSV | opcode | asm | form| -minor_31.csv | 0b0010010101 | stdx | X-Form| -minor_31.csv | 0b0010010111 | stwx | X-Form| -minor_31.csv | 0b0011010111 | stbx | X-Form| -minor_31.csv | 0b0110010111 | sthx | X-Form| -minor_31.csv | 0b1010010100 | stdbrx | X-Form| -minor_31.csv | 0b1010010110 | stwbrx | X-Form| -minor_31.csv | 0b1110010101 | stwcix | X-Form| -minor_31.csv | 0b1110010110 | sthbrx | X-Form| -minor_31.csv | 0b1110110101 | sthcix | X-Form| -minor_31.csv | 0b1111010101 | stbcix | X-Form| -minor_31.csv | 0b1111110101 | stdcix | X-Form| +CSV | opcode | asm | form | +minor_31.csv | 0b0010010101 | stdx | X-Form | +minor_31.csv | 0b0010010111 | stwx | X-Form | +minor_31.csv | 0b0011010111 | stbx | X-Form | +minor_31.csv | 0b0110010111 | sthx | X-Form | +minor_31.csv | 0b1010010100 | stdbrx | X-Form | +minor_31.csv | 0b1010010110 | stwbrx | X-Form | +minor_31.csv | 0b1110010101 | stwcix | X-Form | +minor_31.csv | 0b1110010110 | sthbrx | X-Form | +minor_31.csv | 0b1110110101 | sthcix | X-Form | +minor_31.csv | 0b1111010101 | stbcix | X-Form | +minor_31.csv | 0b1111110101 | stdcix | X-Form | """]] ## LDST-3R-CRo (RM-2P-3S) [[!table data=""" -CSV | opcode | asm | form| -minor_31.csv | 0b0010010110 | stwcx | X-Form| -minor_31.csv | 0b0011010110 | stdcx | X-Form| -minor_31.csv | 0b1010110110 | stbcx | X-Form| -minor_31.csv | 0b1011010110 | sthcx | X-Form| +CSV | opcode | asm | form | +minor_31.csv | 0b0010010110 | stwcx | X-Form | +minor_31.csv | 0b0011010110 | stdcx | X-Form | +minor_31.csv | 0b1010110110 | stbcx | X-Form | +minor_31.csv | 0b1011010110 | sthcx | X-Form | """]] ## LDST-3R-1W (RM-2P-2S1D) [[!table data=""" -CSV | opcode | asm | form| -minor_31.csv | 0b0010110101 | stdux | X-Form| -minor_31.csv | 0b0010110111 | stwux | X-Form| -minor_31.csv | 0b0011110111 | stbux | X-Form| -minor_31.csv | 0b0110110111 | sthux | X-Form| +CSV | opcode | asm | form | +minor_31.csv | 0b0010110101 | stdux | X-Form | +minor_31.csv | 0b0010110111 | stwux | X-Form | +minor_31.csv | 0b0011110111 | stbux | X-Form | +minor_31.csv | 0b0110110111 | sthux | X-Form | """]] ## (non-SV) [[!table data=""" -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| -minor_31.csv | 0b0001010110 | dcbf | X-Form| -minor_31.csv | 0b0011110110 | dcbtst | X-Form| -minor_31.csv | 0b0100010110 | dcbt | X-Form| -minor_31.csv | 0b0111110010 | slbia | X-Form| -minor_31.csv | 0b1001010110 | sync | X-Form| -minor_31.csv | 0b1111010110 | icbi | X-Form| +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 | +minor_31.csv | 0b0001010110 | dcbf | X-Form | +minor_31.csv | 0b0011110110 | dcbtst | X-Form | +minor_31.csv | 0b0100010110 | dcbt | X-Form | +minor_31.csv | 0b0111110010 | slbia | X-Form | +minor_31.csv | 0b1001010110 | sync | X-Form | +minor_31.csv | 0b1111010110 | icbi | X-Form | """]] ## imm (non-SV) [[!table data=""" -CSV | opcode | asm | form| -major.csv | 18 | b | I-Form| +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| +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) [[!table data=""" -CSV | opcode | asm | form| -major.csv | 16 | bc | B-Form| +CSV | opcode | asm | form | +major.csv | 16 | bc | B-Form | """]] ## CRio (RM-2P-1S1D) [[!table data=""" -CSV | opcode | asm | form| -minor_19.csv | 0b0000000000 | mcrf | XL-Form| -minor_31.csv | 0b1000000000 | mcrxr | X-Form| -minor_31.csv | 0b1001000000 | mcrxrx | X-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| +CSV | opcode | asm | form | +minor_19.csv | 0b0000000000 | mcrf | XL-Form | +minor_31.csv | 0b1000000000 | mcrxr | X-Form | +minor_31.csv | 0b1001000000 | mcrxrx | X-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) [[!table data=""" -CSV | opcode | asm | form| -minor_19.csv | 0b0000100001 | crnor | XL-Form| -minor_19.csv | 0b0010000001 | crandc | XL-Form| -minor_19.csv | 0b0011000001 | crxor | XL-Form| -minor_19.csv | 0b0011100001 | crnand | XL-Form| -minor_19.csv | 0b0100000001 | crand | XL-Form| -minor_19.csv | 0b0100100001 | creqv | XL-Form| -minor_19.csv | 0b0110100001 | crorc | XL-Form| -minor_19.csv | 0b0111000001 | cror | XL-Form| +CSV | opcode | asm | form | +minor_19.csv | 0b0000100001 | crnor | XL-Form | +minor_19.csv | 0b0010000001 | crandc | XL-Form | +minor_19.csv | 0b0011000001 | crxor | XL-Form | +minor_19.csv | 0b0011100001 | crnand | XL-Form | +minor_19.csv | 0b0100000001 | crand | XL-Form | +minor_19.csv | 0b0100100001 | creqv | XL-Form | +minor_19.csv | 0b0110100001 | crorc | XL-Form | +minor_19.csv | 0b0111000001 | cror | XL-Form | """]] ## 1W (non-SV) [[!table data=""" -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| +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) [[!table data=""" -CSV | opcode | asm | form| -minor_31.csv | 0b0000010011 | mfcr/mfocrf | XFX-Form| -minor_31.csv | 0b0010000000 | setb | VX-Form| +CSV | opcode | asm | form | +minor_31.csv | 0b0000010011 | mfcr/mfocrf | XFX-Form | +minor_31.csv | 0b0010000000 | setb | VX-Form | """]] ## 1R (non-SV) [[!table data=""" -CSV | opcode | asm | form| -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| +CSV | opcode | asm | form | +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) [[!table data=""" -CSV | opcode | asm | form| -major.csv | 2 | tdi | D-Form| -major.csv | 3 | twi | D-Form| +CSV | opcode | asm | form | +major.csv | 2 | tdi | D-Form | +major.csv | 3 | twi | D-Form | """]] ## 1R-CRo (RM-2P-1S1D) [[!table data=""" -CSV | opcode | asm | form| -major.csv | 10 | cmpli | D-Form| -major.csv | 11 | cmpi | D-Form| +CSV | opcode | asm | form | +major.csv | 10 | cmpli | D-Form | +major.csv | 11 | cmpi | D-Form | """]] ## 1R-CRio (RM-2P-2S1D) [[!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| +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) [[!table data=""" -CSV | opcode | asm | form| -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 | 0b0101111010 | popcntw | X-Form| -minor_31.csv | 0b0111111010 | popcntd | X-Form| -minor_31.csv | 0b1001101000 | nego | XO-Form| +CSV | opcode | asm | form | +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 | 0b0101111010 | popcntw | X-Form | +minor_31.csv | 0b0111111010 | popcntd | X-Form | +minor_31.csv | 0b1001101000 | nego | XO-Form | """]] ## 1R-1W-imm (RM-2P-1S1D) [[!table data=""" -CSV | opcode | asm | form| -major.csv | 12 | addic | D-Form| -major.csv | 14 | addi | D-Form| -major.csv | 15 | addis | D-Form| -major.csv | 24 | ori | D-Form| -major.csv | 25 | oris | D-Form| -major.csv | 26 | xori | D-Form| -major.csv | 27 | xoris | D-Form| -major.csv | 8 | subfic | D-Form| +CSV | opcode | asm | form | +major.csv | 12 | addic | D-Form | +major.csv | 14 | addi | D-Form | +major.csv | 15 | addis | D-Form | +major.csv | 24 | ori | D-Form | +major.csv | 25 | oris | D-Form | +major.csv | 26 | xori | D-Form | +major.csv | 27 | xoris | D-Form | +major.csv | 8 | subfic | D-Form | """]] ## 1R-1W-CRo (RM-2P-1S1D) [[!table data=""" -CSV | opcode | asm | form| -minor_31.csv | 0b0000011010 | cntlzw | X-Form| -minor_31.csv | 0b0000111010 | cntlzd | X-Form| -minor_31.csv | 0b0011001000 | subfze | XO-Form| -minor_31.csv | 0b0011001010 | addze | XO-Form| -minor_31.csv | 0b1000011010 | cnttzw | X-Form| -minor_31.csv | 0b1000111010 | cnttzd | X-Form| -minor_31.csv | 0b1011001000 | subfzeo | XO-Form| -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| +CSV | opcode | asm | form | +minor_31.csv | 0b0000011010 | cntlzw | X-Form | +minor_31.csv | 0b0000111010 | cntlzd | X-Form | +minor_31.csv | 0b0011001000 | subfze | XO-Form | +minor_31.csv | 0b0011001010 | addze | XO-Form | +minor_31.csv | 0b1000011010 | cnttzw | X-Form | +minor_31.csv | 0b1000111010 | cnttzd | X-Form | +minor_31.csv | 0b1011001000 | subfzeo | XO-Form | +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| +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| -minor_59.csv | 0b11010 | frsqrtes | -Form| -minor_63h.csv | 0b0110 | fsqrt | -Form| -minor_63h.csv | 0b1000 | fre | -Form| -minor_63h.csv | 0b1010 | frsqrte | -Form| -minor_63l.csv | 0b011110010 | 18/7=mffsfamily | -Form| -minor_63l.csv | 0b100000001 | 1/8=fneg | -Form| -minor_63l.csv | 0b100000010 | 2/8=fmr | -Form| -minor_63l.csv | 0b100000100 | 4/8=fnabs | -Form| -minor_63l.csv | 0b100001000 | 8/8=fabs | -Form| -minor_63l.csv | 0b100001100 | 12/8=frin | -Form| -minor_63l.csv | 0b100001101 | 13/8=friz | -Form| -minor_63l.csv | 0b100001110 | 14/8=frip | -Form| -minor_63l.csv | 0b100001111 | 15/8=frim | -Form| -minor_63l.csv | 0b110000000 | 0/12=frsp | -Form| -minor_63l.csv | 0b111000000 | 0/14=fctiw | -Form| -minor_63l.csv | 0b111000100 | 4/14=fctiwu | -Form| -minor_63l.csv | 0b111011001 | 25/14=fctid | -Form| -minor_63l.csv | 0b111011010 | 26/14=fcfid | -Form| -minor_63l.csv | 0b111011101 | 29/14=fctidu | -Form| -minor_63l.csv | 0b111011110 | 30/14=fcfidu | -Form| -minor_63l.csv | 0b111100000 | 0/15=fctiwz | -Form| -minor_63l.csv | 0b111100100 | 4/15=fctiwuz | -Form| -minor_63l.csv | 0b111111001 | 25/15=fctidz | -Form| -minor_63l.csv | 0b111111101 | 29/15=fctiduz | -Form| +CSV | opcode | asm | form | +minor_59.csv | 0b01110 | fcfid[u]s | -Form | +minor_59.csv | 0b10110 | fsqrts | -Form | +minor_59.csv | 0b11000 | fres | -Form | +minor_59.csv | 0b11010 | frsqrtes | -Form | +minor_63h.csv | 0b0110 | fsqrt | -Form | +minor_63h.csv | 0b1000 | fre | -Form | +minor_63h.csv | 0b1010 | frsqrte | -Form | +minor_63l.csv | 0b011110010 | 18/7=mffsfamily | -Form | +minor_63l.csv | 0b100000001 | 1/8=fneg | -Form | +minor_63l.csv | 0b100000010 | 2/8=fmr | -Form | +minor_63l.csv | 0b100000100 | 4/8=fnabs | -Form | +minor_63l.csv | 0b100001000 | 8/8=fabs | -Form | +minor_63l.csv | 0b100001100 | 12/8=frin | -Form | +minor_63l.csv | 0b100001101 | 13/8=friz | -Form | +minor_63l.csv | 0b100001110 | 14/8=frip | -Form | +minor_63l.csv | 0b100001111 | 15/8=frim | -Form | +minor_63l.csv | 0b110000000 | 0/12=frsp | -Form | +minor_63l.csv | 0b111000000 | 0/14=fctiw | -Form | +minor_63l.csv | 0b111000100 | 4/14=fctiwu | -Form | +minor_63l.csv | 0b111011001 | 25/14=fctid | -Form | +minor_63l.csv | 0b111011010 | 26/14=fcfid | -Form | +minor_63l.csv | 0b111011101 | 29/14=fctidu | -Form | +minor_63l.csv | 0b111011110 | 30/14=fcfidu | -Form | +minor_63l.csv | 0b111100000 | 0/15=fctiwz | -Form | +minor_63l.csv | 0b111100100 | 4/15=fctiwuz | -Form | +minor_63l.csv | 0b111111001 | 25/15=fctidz | -Form | +minor_63l.csv | 0b111111101 | 29/15=fctiduz | -Form | """]] ## 2R (non-SV) [[!table data=""" -CSV | opcode | asm | form| -minor_31.csv | 0b0000000100 | tw | X-Form| -minor_31.csv | 0b0001000100 | td | X-Form| -minor_31.csv | 0b1111110110 | dcbz | X-Form| +CSV | opcode | asm | form | +minor_31.csv | 0b0000000100 | tw | X-Form | +minor_31.csv | 0b0001000100 | td | X-Form | +minor_31.csv | 0b1111110110 | dcbz | X-Form | """]] ## 2R-CRo (RM-1P-2S1D) [[!table data=""" -CSV | opcode | asm | form| -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| +CSV | opcode | asm | form | +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| +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 | """]] ## 2R-1W (RM-1P-2S1D) [[!table data=""" -CSV | opcode | asm | form| -minor_31.csv | 0b0011111100 | bpermd | X-Form| -minor_31.csv | 0b0100001001 | modud | X-Form| -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| +CSV | opcode | asm | form | +minor_31.csv | 0b0011111100 | bpermd | X-Form | +minor_31.csv | 0b0100001001 | modud | X-Form | +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 | """]] ## 2R-1W-CRo (RM-1P-2S1D) [[!table data=""" -CSV | opcode | asm | form| -major.csv | 23 | rlwnm | M-Form| -minor_30.csv | 0b1000 | rldcl | MD-Form| -minor_30.csv | 0b1001 | rldcr | MD-Form| -minor_31.csv | 0b0000001000 | subfc | XO-Form| -minor_31.csv | 0b0000001001 | mulhdu | XO-Form| -minor_31.csv | 0b0000001010 | addc | XO-Form| -minor_31.csv | 0b0000001011 | mulhwu | XO-Form| -minor_31.csv | 0b0000011000 | slw | X-Form| -minor_31.csv | 0b0000011011 | sld | X-Form| -minor_31.csv | 0b0000011100 | and | X-Form| -minor_31.csv | 0b0000101000 | subf | XO-Form| -minor_31.csv | 0b0000111100 | andc | X-Form| -minor_31.csv | 0b0001001001 | mulhd | XO-Form| -minor_31.csv | 0b0001001011 | mulhw | XO-Form| -minor_31.csv | 0b0001111100 | nor | X-Form| -minor_31.csv | 0b0010001000 | subfe | XO-Form| -minor_31.csv | 0b0010001010 | adde | XO-Form| -minor_31.csv | 0b0011101001 | mulld | XO-Form| -minor_31.csv | 0b0011101011 | mullw | XO-Form| -minor_31.csv | 0b0100001010 | add | XO-Form| -minor_31.csv | 0b0100011100 | eqv | X-Form| -minor_31.csv | 0b0100111100 | xor | X-Form| -minor_31.csv | 0b0110001001 | divdeu | XO-Form| -minor_31.csv | 0b0110001011 | divweu | XO-Form| -minor_31.csv | 0b0110011100 | orc | X-Form| -minor_31.csv | 0b0110101001 | divde | XO-Form| -minor_31.csv | 0b0110101011 | divwe | XO-Form| -minor_31.csv | 0b0110111100 | or | X-Form| -minor_31.csv | 0b0111001001 | divdu | XO-Form| -minor_31.csv | 0b0111001011 | divwu | XO-Form| -minor_31.csv | 0b0111011100 | nand | X-Form| -minor_31.csv | 0b0111101001 | divd | XO-Form| -minor_31.csv | 0b0111101011 | divw | XO-Form| -minor_31.csv | 0b1000001000 | subfco | XO-Form| -minor_31.csv | 0b1000001001 | mulhdu | XO-Form| -minor_31.csv | 0b1000001010 | addco | XO-Form| -minor_31.csv | 0b1000001011 | mulhwu | XO-Form| -minor_31.csv | 0b1000011000 | srw | X-Form| -minor_31.csv | 0b1000011011 | srd | X-Form| -minor_31.csv | 0b1000101000 | subfo | XO-Form| -minor_31.csv | 0b1001001001 | mulhd | XO-Form| -minor_31.csv | 0b1001001011 | mulhw | XO-Form| -minor_31.csv | 0b1010001000 | subfeo | XO-Form| -minor_31.csv | 0b1010001010 | addeo | XO-Form| -minor_31.csv | 0b1011101001 | mulldo | XO-Form| -minor_31.csv | 0b1011101011 | mullwo | XO-Form| -minor_31.csv | 0b1100001010 | addo | XO-Form| -minor_31.csv | 0b1100011000 | sraw | X-Form| -minor_31.csv | 0b1100011010 | srad | X-Form| -minor_31.csv | 0b1110001001 | divdeuo | XO-Form| -minor_31.csv | 0b1110001011 | divweuo | XO-Form| -minor_31.csv | 0b1110101001 | divdeo | XO-Form| -minor_31.csv | 0b1110101011 | divweo | XO-Form| -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| +CSV | opcode | asm | form | +major.csv | 23 | rlwnm | M-Form | +minor_30.csv | 0b1000 | rldcl | MD-Form | +minor_30.csv | 0b1001 | rldcr | MD-Form | +minor_31.csv | 0b0000001000 | subfc | XO-Form | +minor_31.csv | 0b0000001001 | mulhdu | XO-Form | +minor_31.csv | 0b0000001010 | addc | XO-Form | +minor_31.csv | 0b0000001011 | mulhwu | XO-Form | +minor_31.csv | 0b0000011000 | slw | X-Form | +minor_31.csv | 0b0000011011 | sld | X-Form | +minor_31.csv | 0b0000011100 | and | X-Form | +minor_31.csv | 0b0000101000 | subf | XO-Form | +minor_31.csv | 0b0000111100 | andc | X-Form | +minor_31.csv | 0b0001001001 | mulhd | XO-Form | +minor_31.csv | 0b0001001011 | mulhw | XO-Form | +minor_31.csv | 0b0001111100 | nor | X-Form | +minor_31.csv | 0b0010001000 | subfe | XO-Form | +minor_31.csv | 0b0010001010 | adde | XO-Form | +minor_31.csv | 0b0011101001 | mulld | XO-Form | +minor_31.csv | 0b0011101011 | mullw | XO-Form | +minor_31.csv | 0b0100001010 | add | XO-Form | +minor_31.csv | 0b0100011100 | eqv | X-Form | +minor_31.csv | 0b0100111100 | xor | X-Form | +minor_31.csv | 0b0110001001 | divdeu | XO-Form | +minor_31.csv | 0b0110001011 | divweu | XO-Form | +minor_31.csv | 0b0110011100 | orc | X-Form | +minor_31.csv | 0b0110101001 | divde | XO-Form | +minor_31.csv | 0b0110101011 | divwe | XO-Form | +minor_31.csv | 0b0110111100 | or | X-Form | +minor_31.csv | 0b0111001001 | divdu | XO-Form | +minor_31.csv | 0b0111001011 | divwu | XO-Form | +minor_31.csv | 0b0111011100 | nand | X-Form | +minor_31.csv | 0b0111101001 | divd | XO-Form | +minor_31.csv | 0b0111101011 | divw | XO-Form | +minor_31.csv | 0b1000001000 | subfco | XO-Form | +minor_31.csv | 0b1000001001 | mulhdu | XO-Form | +minor_31.csv | 0b1000001010 | addco | XO-Form | +minor_31.csv | 0b1000001011 | mulhwu | XO-Form | +minor_31.csv | 0b1000011000 | srw | X-Form | +minor_31.csv | 0b1000011011 | srd | X-Form | +minor_31.csv | 0b1000101000 | subfo | XO-Form | +minor_31.csv | 0b1001001001 | mulhd | XO-Form | +minor_31.csv | 0b1001001011 | mulhw | XO-Form | +minor_31.csv | 0b1010001000 | subfeo | XO-Form | +minor_31.csv | 0b1010001010 | addeo | XO-Form | +minor_31.csv | 0b1011101001 | mulldo | XO-Form | +minor_31.csv | 0b1011101011 | mullwo | XO-Form | +minor_31.csv | 0b1100001010 | addo | XO-Form | +minor_31.csv | 0b1100011000 | sraw | X-Form | +minor_31.csv | 0b1100011010 | srad | X-Form | +minor_31.csv | 0b1110001001 | divdeuo | XO-Form | +minor_31.csv | 0b1110001011 | divweuo | XO-Form | +minor_31.csv | 0b1110101001 | divdeo | XO-Form | +minor_31.csv | 0b1110101011 | divweo | XO-Form | +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 | """]] ## 2R-1W-CRo (RM-1P-2S1D) [[!table data=""" -CSV | opcode | asm | form| -major.csv | 20 | rlwimi | M-Form| -minor_30.csv | 0b0110 | rldimi | MD-Form| -minor_30.csv | 0b0111 | rldimi | MD-Form| +CSV | opcode | asm | form | +major.csv | 20 | rlwimi | M-Form | +minor_30.csv | 0b0110 | rldimi | MD-Form | +minor_30.csv | 0b0111 | rldimi | MD-Form | """]] ## 2R-1W-CRi (RM-1P-3S1D) [[!table data=""" -CSV | opcode | asm | form| -minor_31.csv | 0b0000001111 | isel | A-Form| -minor_31.csv | 0b0000101111 | isel | A-Form| -minor_31.csv | 0b0001001111 | isel | A-Form| -minor_31.csv | 0b0001101111 | isel | A-Form| -minor_31.csv | 0b0010001111 | isel | A-Form| -minor_31.csv | 0b0010101111 | isel | A-Form| -minor_31.csv | 0b0011001111 | isel | A-Form| -minor_31.csv | 0b0011101111 | isel | A-Form| -minor_31.csv | 0b0100001111 | isel | A-Form| -minor_31.csv | 0b0100101111 | isel | A-Form| -minor_31.csv | 0b0101001111 | isel | A-Form| -minor_31.csv | 0b0101101111 | isel | A-Form| -minor_31.csv | 0b0110001111 | isel | A-Form| -minor_31.csv | 0b0110101111 | isel | A-Form| -minor_31.csv | 0b0111001111 | isel | A-Form| -minor_31.csv | 0b0111101111 | isel | A-Form| -minor_31.csv | 0b1000001111 | isel | A-Form| -minor_31.csv | 0b1000101111 | isel | A-Form| -minor_31.csv | 0b1001001111 | isel | A-Form| -minor_31.csv | 0b1001101111 | isel | A-Form| -minor_31.csv | 0b1010001111 | isel | A-Form| -minor_31.csv | 0b1010101111 | isel | A-Form| -minor_31.csv | 0b1011001111 | isel | A-Form| -minor_31.csv | 0b1011101111 | isel | A-Form| -minor_31.csv | 0b1100001111 | isel | A-Form| -minor_31.csv | 0b1100101111 | isel | A-Form| -minor_31.csv | 0b1101001111 | isel | A-Form| -minor_31.csv | 0b1101101111 | isel | A-Form| -minor_31.csv | 0b1110001111 | isel | A-Form| -minor_31.csv | 0b1110101111 | isel | A-Form| -minor_31.csv | 0b1111001111 | isel | A-Form| -minor_31.csv | 0b1111101111 | isel | A-Form| +CSV | opcode | asm | form | +minor_31.csv | 0b0000001111 | isel | A-Form | +minor_31.csv | 0b0000101111 | isel | A-Form | +minor_31.csv | 0b0001001111 | isel | A-Form | +minor_31.csv | 0b0001101111 | isel | A-Form | +minor_31.csv | 0b0010001111 | isel | A-Form | +minor_31.csv | 0b0010101111 | isel | A-Form | +minor_31.csv | 0b0011001111 | isel | A-Form | +minor_31.csv | 0b0011101111 | isel | A-Form | +minor_31.csv | 0b0100001111 | isel | A-Form | +minor_31.csv | 0b0100101111 | isel | A-Form | +minor_31.csv | 0b0101001111 | isel | A-Form | +minor_31.csv | 0b0101101111 | isel | A-Form | +minor_31.csv | 0b0110001111 | isel | A-Form | +minor_31.csv | 0b0110101111 | isel | A-Form | +minor_31.csv | 0b0111001111 | isel | A-Form | +minor_31.csv | 0b0111101111 | isel | A-Form | +minor_31.csv | 0b1000001111 | isel | A-Form | +minor_31.csv | 0b1000101111 | isel | A-Form | +minor_31.csv | 0b1001001111 | isel | A-Form | +minor_31.csv | 0b1001101111 | isel | A-Form | +minor_31.csv | 0b1010001111 | isel | A-Form | +minor_31.csv | 0b1010101111 | isel | A-Form | +minor_31.csv | 0b1011001111 | isel | A-Form | +minor_31.csv | 0b1011101111 | isel | A-Form | +minor_31.csv | 0b1100001111 | isel | A-Form | +minor_31.csv | 0b1100101111 | isel | A-Form | +minor_31.csv | 0b1101001111 | isel | A-Form | +minor_31.csv | 0b1101101111 | isel | A-Form | +minor_31.csv | 0b1110001111 | isel | A-Form | +minor_31.csv | 0b1110101111 | isel | A-Form | +minor_31.csv | 0b1111001111 | isel | A-Form | +minor_31.csv | 0b1111101111 | isel | A-Form | """]] ## 2R-1W-CRio (RM-1P-2S1D) [[!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| +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 | """]] ## 3R-1W-CRio (RM-1P-3S1D) [[!table data=""" -CSV | opcode | asm | form| -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| +CSV | opcode | asm | form | +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 (RM-2P-1S1D) + +[[!table data=""" +insn | Ptype | in1 | in2 | in3 | out | CR in | CR out | +lwz | 2P | RA_OR_ZERO | | NONE | RT | NONE | NONE | +lbz | 2P | RA_OR_ZERO | | NONE | RT | NONE | NONE | +lhz | 2P | RA_OR_ZERO | | NONE | RT | NONE | NONE | +lha | 2P | RA_OR_ZERO | | NONE | RT | NONE | NONE | +ld | 2P | RA_OR_ZERO | | NONE | RT | NONE | NONE | +lwa | 2P | RA_OR_ZERO | | NONE | RT | NONE | NONE | +"""]] + +## LDST-1R-2W-imm (RM-2P-1S2D) + +[[!table data=""" +insn | Ptype | in1 | in2 | in3 | out | CR in | CR out | +lwzu | 2P | RA_OR_ZERO | | NONE | RT | NONE | NONE | +lbzu | 2P | RA_OR_ZERO | | NONE | RT | NONE | NONE | +lhzu | 2P | RA_OR_ZERO | | NONE | RT | NONE | NONE | +lhau | 2P | RA_OR_ZERO | | NONE | RT | NONE | NONE | +ldu | 2P | RA_OR_ZERO | | NONE | RT | NONE | NONE | +"""]] + +## LDST-2R-imm (RM-2P-2S) + +[[!table data=""" +insn | Ptype | in1 | in2 | in3 | out | CR in | CR out | +stw | 2P | RA_OR_ZERO | | RS | NONE | NONE | NONE | +stb | 2P | RA_OR_ZERO | | RS | NONE | NONE | NONE | +sth | 2P | RA_OR_ZERO | | RS | NONE | NONE | NONE | +std | 2P | RA_OR_ZERO | | RS | NONE | NONE | NONE | +"""]] + +## LDST-2R-1W (RM-2P-2S1D) + +[[!table data=""" +insn | Ptype | in1 | in2 | in3 | out | CR in | CR out | +lwarx | 2P | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | +ldx | 2P | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | +lwzx | 2P | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | +lbarx | 2P | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | +ldarx | 2P | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | +lbzx | 2P | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | +lharx | 2P | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | +lhzx | 2P | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | +lwax | 2P | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | +lhax | 2P | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | +ldbrx | 2P | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | +lwbrx | 2P | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | +lwzcix | 2P | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | +lhbrx | 2P | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | +lhzcix | 2P | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | +lbzcix | 2P | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | +ldcix | 2P | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | +"""]] + +## LDST-2R-1W-imm (RM-2P-2S1D) + +[[!table data=""" +insn | Ptype | in1 | in2 | in3 | out | CR in | CR out | +stwu | 2P | RA_OR_ZERO | | RS | NONE | NONE | NONE | +stbu | 2P | RA_OR_ZERO | | RS | NONE | NONE | NONE | +sthu | 2P | RA_OR_ZERO | | RS | NONE | NONE | NONE | +stdu | 2P | RA_OR_ZERO | | RS | NONE | NONE | NONE | +"""]] + +## LDST-2R-2W (RM-2P-2S1D) + +[[!table data=""" +insn | Ptype | in1 | in2 | in3 | out | CR in | CR out | +ldux | 2P | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | +lwzux | 2P | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | +lbzux | 2P | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | +lhzux | 2P | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | +lwaux | 2P | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | +lhaux | 2P | RA_OR_ZERO | RB | NONE | RT | NONE | NONE | +"""]] + +## LDST-3R (RM-2P-3S) + +[[!table data=""" +insn | Ptype | in1 | in2 | in3 | out | CR in | CR out | +stdx | 2P | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | +stwx | 2P | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | +stbx | 2P | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | +sthx | 2P | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | +stdbrx | 2P | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | +stwbrx | 2P | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | +stwcix | 2P | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | +sthbrx | 2P | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | +sthcix | 2P | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | +stbcix | 2P | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | +stdcix | 2P | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | +"""]] + +## LDST-3R-CRo (RM-2P-3S) + +[[!table data=""" +insn | Ptype | in1 | in2 | in3 | out | CR in | CR out | +stwcx | 2P | RA_OR_ZERO | RB | RS | NONE | NONE | CR0 | +stdcx | 2P | RA_OR_ZERO | RB | RS | NONE | NONE | CR0 | +stbcx | 2P | RA_OR_ZERO | RB | RS | NONE | NONE | CR0 | +sthcx | 2P | RA_OR_ZERO | RB | RS | NONE | NONE | CR0 | +"""]] + +## LDST-3R-1W (RM-2P-2S1D) + +[[!table data=""" +insn | Ptype | in1 | in2 | in3 | out | CR in | CR out | +stdux | 2P | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | +stwux | 2P | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | +stbux | 2P | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | +sthux | 2P | RA_OR_ZERO | RB | RS | NONE | NONE | NONE | +"""]] + +## CRio (RM-2P-1S1D) + +[[!table data=""" +insn | Ptype | in1 | in2 | in3 | out | CR in | CR out | +mcrf | 2P | NONE | NONE | NONE | NONE | BFA | BF | +mcrxr | 2P | | | | | | | +mcrxrx | 2P | | | | | | | +2/0=mcrfs | 2P | NONE | NONE | NONE | NONE | 0 | 1 | +1/6=mtfsb1 | 2P | NONE | NONE | NONE | NONE | 0 | 0 | +2/6=mtfsb0 | 2P | NONE | NONE | NONE | NONE | 0 | 0 | +4/6=mtfsfi | 2P | NONE | NONE | NONE | NONE | 0 | 0 | +"""]] + +## CR=2R1W (RM-1P-2S1D) + +[[!table data=""" +insn | Ptype | in1 | in2 | in3 | out | CR in | CR out | +crnor | 1P | NONE | NONE | NONE | NONE | BA_BB | BT | +crandc | 1P | NONE | NONE | NONE | NONE | BA_BB | BT | +crxor | 1P | NONE | NONE | NONE | NONE | BA_BB | BT | +crnand | 1P | NONE | NONE | NONE | NONE | BA_BB | BT | +crand | 1P | NONE | NONE | NONE | NONE | BA_BB | BT | +creqv | 1P | NONE | NONE | NONE | NONE | BA_BB | BT | +crorc | 1P | NONE | NONE | NONE | NONE | BA_BB | BT | +cror | 1P | NONE | NONE | NONE | NONE | BA_BB | BT | +"""]] + +## 1W-CRi (RM-2P-1S1D) + +[[!table data=""" +insn | Ptype | in1 | in2 | in3 | out | CR in | CR out | +mfcr/mfocrf | 2P | NONE | NONE | NONE | RT | WHOLE_REG | NONE | +setb | 2P | NONE | NONE | NONE | RT | BFA | NONE | +"""]] + +## 1R-CRo (RM-2P-1S1D) + +[[!table data=""" +insn | Ptype | in1 | in2 | in3 | out | CR in | CR out | +cmpli | 2P | RA | | NONE | NONE | NONE | BF | +cmpi | 2P | RA | | NONE | NONE | NONE | BF | +"""]] + +## 1R-CRio (RM-2P-2S1D) + +[[!table data=""" +insn | Ptype | in1 | in2 | in3 | out | CR in | CR out | +mtcrf/mtocrf | 2P | RS | NONE | NONE | NONE | WHOLE_REG | WHOLE_REG | +darn | 2P | | | RT | | | | +5/0=ftsqrt | 2P | NONE | FRB | NONE | NONE | 0 | 1 | +22/7=mtfsf | 2P | NONE | FRB | NONE | NONE | 0 | 0 | +"""]] + +## 1R-1W (RM-2P-1S1D) + +[[!table data=""" +insn | Ptype | in1 | in2 | in3 | out | CR in | CR out | +neg | 2P | RA | NONE | NONE | RT | NONE | NONE | +popcntb | 2P | RS | NONE | NONE | RA | NONE | NONE | +prtyw | 2P | RS | NONE | NONE | RA | NONE | NONE | +prtyd | 2P | RS | NONE | NONE | RA | NONE | NONE | +popcntw | 2P | RS | NONE | NONE | RA | NONE | NONE | +popcntd | 2P | RS | NONE | NONE | RA | NONE | NONE | +nego | 2P | RA | NONE | NONE | RT | NONE | NONE | +"""]] + +## 1R-1W-imm (RM-2P-1S1D) + +[[!table data=""" +insn | Ptype | in1 | in2 | in3 | out | CR in | CR out | +addic | 2P | RA | | NONE | RT | NONE | NONE | +addi | 2P | RA_OR_ZERO | | NONE | RT | NONE | NONE | +addis | 2P | RA_OR_ZERO | | NONE | RT | NONE | NONE | +ori | 2P | RS | | NONE | RA | NONE | NONE | +oris | 2P | RS | | NONE | RA | NONE | NONE | +xori | 2P | RS | | NONE | RA | NONE | NONE | +xoris | 2P | RS | | NONE | RA | NONE | NONE | +subfic | 2P | RA | | NONE | RT | NONE | NONE | +"""]] + +## 1R-1W-CRo (RM-2P-1S1D) + +[[!table data=""" +insn | Ptype | in1 | in2 | in3 | out | CR in | CR out | +cntlzw | 2P | RS | NONE | NONE | RA | NONE | CR0 | +cntlzd | 2P | RS | NONE | NONE | RA | NONE | CR0 | +subfze | 2P | RA | NONE | NONE | RT | NONE | CR0 | +addze | 2P | RA | NONE | NONE | RT | NONE | CR0 | +cnttzw | 2P | RS | NONE | NONE | RA | NONE | CR0 | +cnttzd | 2P | RS | NONE | NONE | RA | NONE | CR0 | +subfzeo | 2P | RA | NONE | NONE | RT | NONE | CR0 | +addzeo | 2P | RA | NONE | NONE | RT | NONE | CR0 | +extsh | 2P | RS | NONE | NONE | RA | NONE | CR0 | +extsb | 2P | RS | NONE | NONE | RA | NONE | CR0 | +extsw | 2P | RS | NONE | NONE | RA | NONE | CR0 | +"""]] + +## 1R-1W-CRo (RM-2P-1S1D) + +[[!table data=""" +insn | Ptype | in1 | in2 | in3 | out | CR in | CR out | +addic. | 2P | RA | | NONE | RT | NONE | CR0 | +rlwinm | 2P | NONE | | RS | RA | NONE | CR0 | +andi. | 2P | RS | | NONE | RA | NONE | CR0 | +andis. | 2P | RS | | NONE | RA | NONE | CR0 | +mulli | 2P | RA | | NONE | RT | NONE | CR0 | +rldicl | 2P | NONE | | RS | RA | NONE | CR0 | +rldicl | 2P | NONE | | RS | RA | NONE | CR0 | +rldicr | 2P | NONE | | RS | RA | NONE | CR0 | +rldicr | 2P | NONE | | RS | RA | NONE | CR0 | +rldic | 2P | NONE | | RS | RA | NONE | CR0 | +rldic | 2P | NONE | | RS | RA | NONE | CR0 | +subfme | 2P | RA | | NONE | RT | NONE | CR0 | +addme | 2P | RA | | NONE | RT | NONE | CR0 | +subfmeo | 2P | RA | | NONE | RT | NONE | CR0 | +addmeo | 2P | RA | | NONE | RT | NONE | CR0 | +srawi | 2P | NONE | | RS | RA | NONE | CR0 | +sradi | 2P | NONE | | RS | RA | NONE | CR0 | +sradi | 2P | NONE | | RS | RA | NONE | CR0 | +extswsli | 2P | NONE | | RS | RA | NONE | CR0 | +extswsli | 2P | NONE | | RS | RA | NONE | CR0 | +"""]] + +## 1R-1W-CRio (RM-2P-1S1D) + +[[!table data=""" +insn | Ptype | in1 | in2 | in3 | out | CR in | CR out | +fcfid[u]s | 2P | NONE | FRB | NONE | FRT | 0 | 0 | +fsqrts | 2P | NONE | FRB | NONE | FRT | 0 | 0 | +fres | 2P | NONE | FRB | NONE | FRT | 0 | 0 | +frsqrtes | 2P | NONE | FRB | NONE | FRT | 0 | 0 | +fsqrt | 2P | NONE | FRB | NONE | FRT | 0 | 0 | +fre | 2P | NONE | FRB | NONE | FRT | 0 | 0 | +frsqrte | 2P | NONE | FRB | NONE | FRT | 0 | 0 | +18/7=mffsfamily | 2P | NONE | FRB | NONE | FRT | 0 | 0 | +1/8=fneg | 2P | NONE | FRB | NONE | FRT | 0 | 0 | +2/8=fmr | 2P | NONE | FRB | NONE | FRT | 0 | 0 | +4/8=fnabs | 2P | NONE | FRB | NONE | FRT | 0 | 0 | +8/8=fabs | 2P | NONE | FRB | NONE | FRT | 0 | 0 | +12/8=frin | 2P | NONE | FRB | NONE | FRT | 0 | 0 | +13/8=friz | 2P | NONE | FRB | NONE | FRT | 0 | 0 | +14/8=frip | 2P | NONE | FRB | NONE | FRT | 0 | 0 | +15/8=frim | 2P | NONE | FRB | NONE | FRT | 0 | 0 | +0/12=frsp | 2P | NONE | FRB | NONE | FRT | 0 | 0 | +0/14=fctiw | 2P | NONE | FRB | NONE | FRT | 0 | 0 | +4/14=fctiwu | 2P | NONE | FRB | NONE | FRT | 0 | 0 | +25/14=fctid | 2P | NONE | FRB | NONE | FRT | 0 | 0 | +26/14=fcfid | 2P | NONE | FRB | NONE | FRT | 0 | 0 | +29/14=fctidu | 2P | NONE | FRB | NONE | FRT | 0 | 0 | +30/14=fcfidu | 2P | NONE | FRB | NONE | FRT | 0 | 0 | +0/15=fctiwz | 2P | NONE | FRB | NONE | FRT | 0 | 0 | +4/15=fctiwuz | 2P | NONE | FRB | NONE | FRT | 0 | 0 | +25/15=fctidz | 2P | NONE | FRB | NONE | FRT | 0 | 0 | +29/15=fctiduz | 2P | NONE | FRB | NONE | FRT | 0 | 0 | +"""]] + +## 2R-CRo (RM-1P-2S1D) + +[[!table data=""" +insn | Ptype | in1 | in2 | in3 | out | CR in | CR out | +cmp | 1P | RA | RB | NONE | NONE | NONE | BF | +cmpl | 1P | RA | RB | NONE | NONE | NONE | BF | +cmprb | 1P | RA | RB | NONE | NONE | NONE | BF | +cmpeqb | 1P | RA | RB | NONE | NONE | NONE | BF | +"""]] + +## 2R-CRio (RM-1P-2S1D) + +[[!table data=""" +insn | Ptype | in1 | in2 | in3 | out | CR in | CR out | +0/0=fcmpu | 1P | FRA | FRB | NONE | NONE | 0 | 1 | +1/0=fcmpo | 1P | FRA | FRB | NONE | NONE | 0 | 1 | +4/0=ftdiv | 1P | FRA | FRB | NONE | NONE | 0 | 1 | +"""]] + +## 2R-1W (RM-1P-2S1D) + +[[!table data=""" +insn | Ptype | in1 | in2 | in3 | out | CR in | CR out | +bpermd | 1P | RS | RB | NONE | RA | NONE | NONE | +modud | 1P | RA | RB | NONE | RT | NONE | NONE | +moduw | 1P | RA | RB | NONE | RT | NONE | NONE | +cmpb | 1P | RS | RB | NONE | RA | NONE | NONE | +modsd | 1P | RA | RB | NONE | RT | NONE | NONE | +modsw | 1P | RA | RB | NONE | RT | NONE | NONE | +"""]] + +## 2R-1W-CRo (RM-1P-2S1D) + +[[!table data=""" +insn | Ptype | in1 | in2 | in3 | out | CR in | CR out | +rlwnm | 1P | NONE | RB | RS | RA | NONE | CR0 | +rldcl | 1P | NONE | RB | RS | RA | NONE | CR0 | +rldcr | 1P | NONE | RB | RS | RA | NONE | CR0 | +subfc | 1P | RA | RB | NONE | RT | NONE | CR0 | +mulhdu | 1P | RA | RB | NONE | RT | NONE | CR0 | +addc | 1P | RA | RB | NONE | RT | NONE | CR0 | +mulhwu | 1P | RA | RB | NONE | RT | NONE | CR0 | +slw | 1P | NONE | RB | RS | RA | NONE | CR0 | +sld | 1P | NONE | RB | RS | RA | NONE | CR0 | +and | 1P | RS | RB | NONE | RA | NONE | CR0 | +subf | 1P | RA | RB | NONE | RT | NONE | CR0 | +andc | 1P | RS | RB | NONE | RA | NONE | CR0 | +mulhd | 1P | RA | RB | NONE | RT | NONE | CR0 | +mulhw | 1P | RA | RB | NONE | RT | NONE | CR0 | +nor | 1P | RS | RB | NONE | RA | NONE | CR0 | +subfe | 1P | RA | RB | NONE | RT | NONE | CR0 | +adde | 1P | RA | RB | NONE | RT | NONE | CR0 | +mulld | 1P | RA | RB | NONE | RT | NONE | CR0 | +mullw | 1P | RA | RB | NONE | RT | NONE | CR0 | +add | 1P | RA | RB | NONE | RT | NONE | CR0 | +eqv | 1P | RS | RB | NONE | RA | NONE | CR0 | +xor | 1P | RS | RB | NONE | RA | NONE | CR0 | +divdeu | 1P | RA | RB | NONE | RT | NONE | CR0 | +divweu | 1P | RA | RB | NONE | RT | NONE | CR0 | +orc | 1P | RS | RB | NONE | RA | NONE | CR0 | +divde | 1P | RA | RB | NONE | RT | NONE | CR0 | +divwe | 1P | RA | RB | NONE | RT | NONE | CR0 | +or | 1P | RS | RB | NONE | RA | NONE | CR0 | +divdu | 1P | RA | RB | NONE | RT | NONE | CR0 | +divwu | 1P | RA | RB | NONE | RT | NONE | CR0 | +nand | 1P | RS | RB | NONE | RA | NONE | CR0 | +divd | 1P | RA | RB | NONE | RT | NONE | CR0 | +divw | 1P | RA | RB | NONE | RT | NONE | CR0 | +subfco | 1P | RA | RB | NONE | RT | NONE | CR0 | +mulhdu | 1P | RA | RB | NONE | RT | NONE | CR0 | +addco | 1P | RA | RB | NONE | RT | NONE | CR0 | +mulhwu | 1P | RA | RB | NONE | RT | NONE | CR0 | +srw | 1P | NONE | RB | RS | RA | NONE | CR0 | +srd | 1P | NONE | RB | RS | RA | NONE | CR0 | +subfo | 1P | RA | RB | NONE | RT | NONE | CR0 | +mulhd | 1P | RA | RB | NONE | RT | NONE | CR0 | +mulhw | 1P | RA | RB | NONE | RT | NONE | CR0 | +subfeo | 1P | RA | RB | NONE | RT | NONE | CR0 | +addeo | 1P | RA | RB | NONE | RT | NONE | CR0 | +mulldo | 1P | RA | RB | NONE | RT | NONE | CR0 | +mullwo | 1P | RA | RB | NONE | RT | NONE | CR0 | +addo | 1P | RA | RB | NONE | RT | NONE | CR0 | +sraw | 1P | NONE | RB | RS | RA | NONE | CR0 | +srad | 1P | NONE | RB | RS | RA | NONE | CR0 | +divdeuo | 1P | RA | RB | NONE | RT | NONE | CR0 | +divweuo | 1P | RA | RB | NONE | RT | NONE | CR0 | +divdeo | 1P | RA | RB | NONE | RT | NONE | CR0 | +divweo | 1P | RA | RB | NONE | RT | NONE | CR0 | +divduo | 1P | RA | RB | NONE | RT | NONE | CR0 | +divwuo | 1P | RA | RB | NONE | RT | NONE | CR0 | +divdo | 1P | RA | RB | NONE | RT | NONE | CR0 | +divwo | 1P | RA | RB | NONE | RT | NONE | CR0 | +"""]] + +## 2R-1W-CRo (RM-1P-2S1D) + +[[!table data=""" +insn | Ptype | in1 | in2 | in3 | out | CR in | CR out | +rlwimi | 1P | RA | | RS | RA | NONE | CR0 | +rldimi | 1P | RA | | RS | RA | NONE | CR0 | +rldimi | 1P | RA | | RS | RA | NONE | CR0 | +"""]] + +## 2R-1W-CRi (RM-1P-3S1D) + +[[!table data=""" +insn | Ptype | in1 | in2 | in3 | out | CR in | CR out | +isel | 1P | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +isel | 1P | RA_OR_ZERO | RB | NONE | RT | BC | NONE | +"""]] + +## 2R-1W-CRio (RM-1P-2S1D) + +[[!table data=""" +insn | Ptype | in1 | in2 | in3 | out | CR in | CR out | +fdivs | 1P | FRA | FRB | NONE | FRT | 0 | 0 | +fsubs | 1P | FRA | FRB | NONE | FRT | 0 | 0 | +fadds | 1P | FRA | FRB | NONE | FRT | 0 | 0 | +fmuls | 1P | FRA | NONE | FRC | FRT | 0 | 0 | +fdiv | 1P | FRA | FRB | NONE | FRT | 0 | 0 | +fsub | 1P | FRA | FRB | NONE | FRT | 0 | 0 | +fadd | 1P | FRA | FRB | NONE | FRT | 0 | 0 | +fmul | 1P | FRA | NONE | FRC | FRT | 0 | 0 | +26/6=fmrgow | 1P | FRA | FRB | NONE | FRT | 0 | 0 | +30/6=fmrgew | 1P | FRA | FRB | NONE | FRT | 0 | 0 | +0/8=fcpsgn | 1P | FRA | FRB | NONE | FRT | 0 | 0 | +"""]] + +## 3R-1W-CRio (RM-1P-3S1D) + +[[!table data=""" +insn | Ptype | in1 | in2 | in3 | out | CR in | CR out | +fmsubs | 1P | FRA | FRB | FRC | FRT | 0 | 0 | +fmadds | 1P | FRA | FRB | FRC | FRT | 0 | 0 | +fnmsubs | 1P | FRA | FRB | FRC | FRT | 0 | 0 | +fnmadds | 1P | FRA | FRB | FRC | FRT | 0 | 0 | +fsel | 1P | FRA | FRB | FRC | FRT | 0 | 0 | +fmsub | 1P | FRA | FRB | FRC | FRT | 0 | 0 | +fmadd | 1P | FRA | FRB | FRC | FRT | 0 | 0 | +fnmsub | 1P | FRA | FRB | FRC | FRT | 0 | 0 | +fnmadd | 1P | FRA | FRB | FRC | FRT | 0 | 0 | """]] diff --git a/openpower/sv_analysis.py b/openpower/sv_analysis.py index 7164aef6f..470647943 100644 --- a/openpower/sv_analysis.py +++ b/openpower/sv_analysis.py @@ -294,11 +294,11 @@ def process_csvs(): print ('"""]]') print ('') - for fname, csv in csvs.items(): - print (fname) + #for fname, csv in csvs.items(): + # print (fname) - for insn, row in insns.items(): - print (insn, row) + #for insn, row in insns.items(): + # print (insn, row) print ("# svp64 remaps") # create a CSV file, per category, with SV "augmentation" info -- 2.30.2