From: Luke Kenneth Casson Leighton Date: Wed, 7 Oct 2020 14:43:00 +0000 (+0100) Subject: table plugin X-Git-Tag: convert-csv-opcode-to-binary~2060 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=55ac96a7c0ae1507717187a488bdc1f42df3e1c5;p=libreriscv.git table plugin --- diff --git a/openpower/opcode_regs_deduped.mdwn b/openpower/opcode_regs_deduped.mdwn index f3f86101c..5d78273dd 100644 --- a/openpower/opcode_regs_deduped.mdwn +++ b/openpower/opcode_regs_deduped.mdwn @@ -2,41 +2,76 @@ [[!table data=""" |in1 | in2 | in3 | out | CR in | CR out | ldst len | rc | lk| +|R | R | 0 | 0 | 0 | 0 | 0 | 0 | 0| +|R | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0| +|R | R | 0 | R | 0 | 0 | 0 | 0 | 0| +|R | R | 0 | 0 | 0 | 1 | 0 | 0 | 0| +|R | R | R | 0 | 0 | 1 | 1 | R | 0| |R | 0 | 0 | R | 0 | 0 | 1 | 0 | 0| -|0 | 0 | 0 | 0 | 0 | 0 | 0 | R | 0| -|R | R | 0 | R | 0 | 1 | 0 | R | 0| +|R | 0 | R | R | 0 | 0 | 0 | R | 0| +|R | 0 | 0 | R | 0 | 0 | 0 | 0 | 0| +|R | 0 | 0 | R | 0 | 1 | 0 | 1 | 0| +|0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1| |0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0| +|0 | 0 | 0 | 0 | 0 | 0 | 0 | R | 0| +|0 | 0 | 0 | 0 | 1 | 1 | 1 | R | | |0 | R | R | R | 0 | 1 | 0 | R | 0| -|R | 0 | 0 | R | 0 | 0 | 0 | R | 0| |0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1| -|0 | 0 | 0 | 0 | 1 | 1 | 1 | R | | -|0 | R | R | R | 0 | 0 | 0 | R | 0| -|R | 0 | 0 | R | 0 | 1 | 0 | R | 0| +|R | R | 0 | R | 0 | 0 | 1 | 0 | 0| +|0 | 0 | 0 | R | 1 | 0 | 0 | 0 | 0| +|R | 0 | 0 | R | 0 | 0 | 0 | R | 0| +|0 | R | 0 | 0 | 0 | 0 | 0 | 0 | 0| +|0 | 0 | 0 | R | 0 | 0 | 0 | 0 | 0| +|R | 0 | 0 | R | 0 | 1 | 0 | 0 | 0| |0 | 0 | R | R | 0 | 1 | 0 | R | 0| |R | 0 | 0 | R | 0 | 1 | 1 | R | 0| +|0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0| |R | R | 0 | R | 1 | 0 | 0 | 0 | 0| -|R | R | 0 | R | 0 | 0 | 0 | 0 | 0| |R | R | R | 0 | 0 | 0 | 1 | 0 | 0| -|0 | R | 0 | 0 | 0 | 0 | 0 | 0 | 0| +|R | 0 | 0 | R | 0 | 1 | 0 | R | 0| +|R | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0| |R | 0 | R | 0 | 0 | 0 | 1 | 0 | 0| -|R | 0 | 0 | R | 0 | 0 | 0 | 0 | 0| +|0 | R | R | R | 0 | 0 | 0 | R | 0| |R | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0| +|R | R | 0 | R | 0 | 1 | 0 | R | 0| |0 | 0 | R | R | 0 | 0 | 0 | R | 0| -|R | R | 0 | 0 | 0 | 0 | 0 | 0 | 0| |R | 0 | R | R | 0 | 1 | 0 | R | 0| -|R | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0| -|R | 0 | R | R | 0 | 0 | 0 | R | 0| -|R | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0| -|R | 0 | 0 | R | 0 | 1 | 0 | 1 | 0| -|0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0| -|0 | 0 | 0 | R | 1 | 0 | 0 | 0 | 0| -|0 | 0 | 0 | R | 0 | 0 | 0 | 0 | 0| -|R | R | 0 | 0 | 0 | 1 | 0 | 0 | 0| -|0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1| -|R | R | 0 | R | 0 | 0 | 1 | 0 | 0| -|R | 0 | 0 | R | 0 | 1 | 0 | 0 | 0| -|R | R | R | 0 | 0 | 1 | 1 | R | 0| -]] +"""]] + +## in1: R in2: R in3: 0 out: 0 CR in: 0 CR out: 0 ldst len: 0 rc: 0 lk: 0 + + * ('minor_31.csv', '0b1111110110', 'dcbz') + * ('minor_31.csv', '0b0001000100', 'td') + * ('minor_31.csv', '0b0000000100', 'tw') + +## in1: R in2: 0 in3: 0 out: 0 CR in: 0 CR out: 0 ldst len: 0 rc: 0 lk: 0 + + * ('major.csv', '2', 'tdi') + * ('major.csv', '3', 'twi') + * ('minor_31.csv', '0b0010110010', 'mtmsrd') + * ('minor_31.csv', '0b0010010010', 'mtmsr') + * ('minor_31.csv', '0b0111010011', 'mtspr') + +## in1: R in2: R in3: 0 out: R CR in: 0 CR out: 0 ldst len: 0 rc: 0 lk: 0 + + * ('minor_31.csv', '0b0011111100', 'bpermd') + * ('minor_31.csv', '0b0111111100', 'cmpb') + * ('minor_31.csv', '0b0100001001', 'modud') + * ('minor_31.csv', '0b0100001011', 'moduw') + * ('minor_31.csv', '0b1100001001', 'modsd') + * ('minor_31.csv', '0b1100001011', 'modsw') + +## in1: R in2: R in3: 0 out: 0 CR in: 0 CR out: 1 ldst len: 0 rc: 0 lk: 0 + + * ('minor_31.csv', '0b0000000000', 'cmp') + * ('minor_31.csv', '0b0011100000', 'cmpeqb') + * ('minor_31.csv', '0b0000100000', 'cmpl') + +## in1: R in2: R in3: R out: 0 CR in: 0 CR out: 1 ldst len: 1 rc: R lk: 0 + + * ('minor_31.csv', '0b1010110110', 'stbcx') + * ('minor_31.csv', '0b0011110111', 'stbux') + * ('minor_31.csv', '0b0011010111', 'stbx') ## in1: R in2: 0 in3: 0 out: R CR in: 0 CR out: 0 ldst len: 1 rc: 0 lk: 0 @@ -57,61 +92,33 @@ * ('minor_31.csv', '0b0010111010', 'prtyd') * ('minor_31.csv', '0b0010011010', 'prtyw') -## in1: 0 in2: 0 in3: 0 out: 0 CR in: 0 CR out: 0 ldst len: 0 rc: R lk: 0 +## in1: R in2: 0 in3: R out: R CR in: 0 CR out: 0 ldst len: 0 rc: R lk: 0 - * ('minor_19_00000.csv', '0b00010', 'add pcis not implemented yet') - * ('extra.csv', '000000---------------0100000000-', 'attn') + * ('major.csv', '20', 'rlwimi') -## in1: R in2: R in3: 0 out: R CR in: 0 CR out: 1 ldst len: 0 rc: R lk: 0 +## in1: R in2: 0 in3: 0 out: R CR in: 0 CR out: 0 ldst len: 0 rc: 0 lk: 0 - * ('minor_31.csv', '0b0100001010', 'add') - * ('minor_31.csv', '0b1100001010', 'addo') - * ('minor_31.csv', '0b0000001010', 'addc') - * ('minor_31.csv', '0b1000001010', 'addco') - * ('minor_31.csv', '0b0010001010', 'adde') - * ('minor_31.csv', '0b1010001010', 'addeo') - * ('minor_31.csv', '0b0000011100', 'and') - * ('minor_31.csv', '0b0000111100', 'andc') - * ('minor_31.csv', '0b0110001001', 'divdeu') - * ('minor_31.csv', '0b1110001001', 'divdeuo') - * ('minor_31.csv', '0b0110001011', 'divweu') - * ('minor_31.csv', '0b1110001011', 'divweuo') - * ('minor_31.csv', '0b0110101001', 'divde') - * ('minor_31.csv', '0b1110101001', 'divdeo') - * ('minor_31.csv', '0b0110101011', 'divwe') - * ('minor_31.csv', '0b1110101011', 'divweo') - * ('minor_31.csv', '0b0111001001', 'divdu') - * ('minor_31.csv', '0b1111001001', 'divduo') - * ('minor_31.csv', '0b0111001011', 'divwu') - * ('minor_31.csv', '0b1111001011', 'divwuo') - * ('minor_31.csv', '0b0111101001', 'divd') - * ('minor_31.csv', '0b1111101001', 'divdo') - * ('minor_31.csv', '0b0111101011', 'divw') - * ('minor_31.csv', '0b1111101011', 'divwo') - * ('minor_31.csv', '0b0100011100', 'eqv') - * ('minor_31.csv', '0b0001001001', 'mulhd') - * ('minor_31.csv', '0b0000001001', 'mulhdu') - * ('minor_31.csv', '0b0001001011', 'mulhw') - * ('minor_31.csv', '0b0000001011', 'mulhwu') - * ('minor_31.csv', '0b1001001001', 'mulhd') - * ('minor_31.csv', '0b1000001001', 'mulhdu') - * ('minor_31.csv', '0b1001001011', 'mulhw') - * ('minor_31.csv', '0b1000001011', 'mulhwu') - * ('minor_31.csv', '0b0011101001', 'mulld') - * ('minor_31.csv', '0b1011101001', 'mulldo') - * ('minor_31.csv', '0b0011101011', 'mullw') - * ('minor_31.csv', '0b1011101011', 'mullwo') - * ('minor_31.csv', '0b0111011100', 'nand') - * ('minor_31.csv', '0b0001111100', 'nor') - * ('minor_31.csv', '0b0110111100', 'or') - * ('minor_31.csv', '0b0110011100', 'orc') - * ('minor_31.csv', '0b0000101000', 'subf') - * ('minor_31.csv', '0b1000101000', 'subfo') - * ('minor_31.csv', '0b0000001000', 'subfc') - * ('minor_31.csv', '0b1000001000', 'subfco') - * ('minor_31.csv', '0b0010001000', 'subfe') - * ('minor_31.csv', '0b1010001000', 'subfeo') - * ('minor_31.csv', '0b0100111100', 'xor') + * ('major.csv', '12', 'addic') + * ('major.csv', '14', 'addi') + * ('major.csv', '15', 'addis') + * ('major.csv', '24', 'ori') + * ('major.csv', '25', 'oris') + * ('major.csv', '8', 'subfic') + * ('major.csv', '26', 'xori') + * ('major.csv', '27', 'xoris') + +## in1: R in2: 0 in3: 0 out: R CR in: 0 CR out: 1 ldst len: 0 rc: 1 lk: 0 + + * ('major.csv', '13', 'addic.') + * ('major.csv', '28', 'andi.') + * ('major.csv', '29', 'andis.') + +## in1: 0 in2: 0 in3: 0 out: 0 CR in: 1 CR out: 0 ldst len: 0 rc: 0 lk: 1 + + * ('major.csv', '16', 'bc') + * ('minor_19.csv', '0b1000010000', 'bcctr') + * ('minor_19.csv', '0b0000010000', 'bclr') + * ('minor_19.csv', '0b1000110000', 'bctar') ## in1: 0 in2: 0 in3: 0 out: 0 CR in: 0 CR out: 0 ldst len: 0 rc: 0 lk: 0 @@ -129,6 +136,18 @@ * ('minor_31.csv', '0b0111110010', 'slbia') * ('minor_31.csv', '0b1001010110', 'sync') +## in1: 0 in2: 0 in3: 0 out: 0 CR in: 0 CR out: 0 ldst len: 0 rc: R lk: 0 + + * ('minor_19_00000.csv', '0b00010', 'add pcis not implemented yet') + * ('extra.csv', '000000---------------0100000000-', 'attn') + +## in1: 0 in2: 0 in3: 0 out: 0 CR in: 1 CR out: 1 ldst len: 1 rc: R lk: + + * ('minor_31.csv', '0b0011000000', 'cmprb') + * ('minor_31.csv', '0b1011110011', 'darn') + * ('minor_31.csv', '0b1000000000', 'mcrxr') + * ('minor_31.csv', '0b1001000000', 'mcrxrx') + ## in1: 0 in2: R in3: R out: R CR in: 0 CR out: 1 ldst len: 0 rc: R lk: 0 * ('minor_30.csv', '0b1000', 'rldcl') @@ -140,40 +159,60 @@ * ('minor_31.csv', '0b1000011011', 'srd') * ('minor_31.csv', '0b1000011000', 'srw') +## in1: 0 in2: 0 in3: 0 out: 0 CR in: 0 CR out: 0 ldst len: 0 rc: 0 lk: 1 + + * ('major.csv', '18', 'b') + +## in1: R in2: R in3: 0 out: R CR in: 0 CR out: 0 ldst len: 1 rc: 0 lk: 0 + + * ('minor_31.csv', '0b0000110100', 'lbarx') + * ('minor_31.csv', '0b1101010101', 'lbzcix') + * ('minor_31.csv', '0b0001110111', 'lbzux') + * ('minor_31.csv', '0b0001010111', 'lbzx') + * ('minor_31.csv', '0b0001010100', 'ldarx') + * ('minor_31.csv', '0b1000010100', 'ldbrx') + * ('minor_31.csv', '0b1101110101', 'ldcix') + * ('minor_31.csv', '0b0000110101', 'ldux') + * ('minor_31.csv', '0b0000010101', 'ldx') + * ('minor_31.csv', '0b0001110100', 'lharx') + * ('minor_31.csv', '0b0101110111', 'lhaux') + * ('minor_31.csv', '0b0101010111', 'lhax') + * ('minor_31.csv', '0b1100010110', 'lhbrx') + * ('minor_31.csv', '0b1100110101', 'lhzcix') + * ('minor_31.csv', '0b0100110111', 'lhzux') + * ('minor_31.csv', '0b0100010111', 'lhzx') + * ('minor_31.csv', '0b0000010100', 'lwarx') + * ('minor_31.csv', '0b0101110101', 'lwaux') + * ('minor_31.csv', '0b0101010101', 'lwax') + * ('minor_31.csv', '0b1000010110', 'lwbrx') + * ('minor_31.csv', '0b1100010101', 'lwzcix') + * ('minor_31.csv', '0b0000110111', 'lwzux') + * ('minor_31.csv', '0b0000010111', 'lwzx') + +## in1: 0 in2: 0 in3: 0 out: R CR in: 1 CR out: 0 ldst len: 0 rc: 0 lk: 0 + + * ('minor_31.csv', '0b0000010011', 'mfcr/mfocrf') + * ('minor_31.csv', '0b0010000000', 'setb') + ## in1: R in2: 0 in3: 0 out: R CR in: 0 CR out: 0 ldst len: 0 rc: R lk: 0 * ('minor_31.csv', '0b0001101000', 'neg') * ('minor_31.csv', '0b1001101000', 'nego') -## in1: 0 in2: 0 in3: 0 out: 0 CR in: 0 CR out: 0 ldst len: 0 rc: 0 lk: 1 - - * ('major.csv', '18', 'b') - -## in1: 0 in2: 0 in3: 0 out: 0 CR in: 1 CR out: 1 ldst len: 1 rc: R lk: +## in1: 0 in2: R in3: 0 out: 0 CR in: 0 CR out: 0 ldst len: 0 rc: 0 lk: 0 - * ('minor_31.csv', '0b0011000000', 'cmprb') - * ('minor_31.csv', '0b1011110011', 'darn') - * ('minor_31.csv', '0b1000000000', 'mcrxr') - * ('minor_31.csv', '0b1001000000', 'mcrxrx') + * ('minor_31.csv', '0b0100110010', 'tlbie') + * ('minor_31.csv', '0b0100010010', 'tlbiel') -## in1: 0 in2: R in3: R out: R CR in: 0 CR out: 0 ldst len: 0 rc: R lk: 0 +## in1: 0 in2: 0 in3: 0 out: R CR in: 0 CR out: 0 ldst len: 0 rc: 0 lk: 0 - * ('major.csv', '23', 'rlwnm') + * ('extra.csv', '000001---------------0000000011-', 'sim_cfg') + * ('minor_31.csv', '0b0001010011', 'mfmsr') + * ('minor_31.csv', '0b0101010011', 'mfspr') -## in1: R in2: 0 in3: 0 out: R CR in: 0 CR out: 1 ldst len: 0 rc: R lk: 0 +## in1: R in2: 0 in3: 0 out: R CR in: 0 CR out: 1 ldst len: 0 rc: 0 lk: 0 - * ('minor_31.csv', '0b0011101010', 'addme') - * ('minor_31.csv', '0b1011101010', 'addmeo') - * ('minor_31.csv', '0b0011001010', 'addze') - * ('minor_31.csv', '0b1011001010', 'addzeo') - * ('minor_31.csv', '0b0000111010', 'cntlzd') - * ('minor_31.csv', '0b0000011010', 'cntlzw') - * ('minor_31.csv', '0b1000111010', 'cnttzd') - * ('minor_31.csv', '0b1000011010', 'cnttzw') - * ('minor_31.csv', '0b0011101000', 'subfme') - * ('minor_31.csv', '0b1011101000', 'subfmeo') - * ('minor_31.csv', '0b0011001000', 'subfze') - * ('minor_31.csv', '0b1011001000', 'subfzeo') + * ('major.csv', '7', 'mulli') ## in1: 0 in2: 0 in3: R out: R CR in: 0 CR out: 1 ldst len: 0 rc: R lk: 0 @@ -195,6 +234,18 @@ * ('minor_31.csv', '0b1110011010', 'extsh') * ('minor_31.csv', '0b1111011010', 'extsw') +## in1: 0 in2: 0 in3: 0 out: 0 CR in: 1 CR out: 1 ldst len: 0 rc: 0 lk: 0 + + * ('minor_19.csv', '0b0000000000', 'mcrf') + * ('minor_19.csv', '0b0100000001', 'crand') + * ('minor_19.csv', '0b0010000001', 'crandc') + * ('minor_19.csv', '0b0100100001', 'creqv') + * ('minor_19.csv', '0b0011100001', 'crnand') + * ('minor_19.csv', '0b0000100001', 'crnor') + * ('minor_19.csv', '0b0111000001', 'cror') + * ('minor_19.csv', '0b0110100001', 'crorc') + * ('minor_19.csv', '0b0011000001', 'crxor') + ## in1: R in2: R in3: 0 out: R CR in: 1 CR out: 0 ldst len: 0 rc: 0 lk: 0 * ('minor_31.csv', '0b0000001111', 'isel') @@ -230,15 +281,6 @@ * ('minor_31.csv', '0b1111001111', 'isel') * ('minor_31.csv', '0b1111101111', 'isel') -## in1: R in2: R in3: 0 out: R CR in: 0 CR out: 0 ldst len: 0 rc: 0 lk: 0 - - * ('minor_31.csv', '0b0011111100', 'bpermd') - * ('minor_31.csv', '0b0111111100', 'cmpb') - * ('minor_31.csv', '0b0100001001', 'modud') - * ('minor_31.csv', '0b0100001011', 'moduw') - * ('minor_31.csv', '0b1100001001', 'modsd') - * ('minor_31.csv', '0b1100001011', 'modsw') - ## in1: R in2: R in3: R out: 0 CR in: 0 CR out: 0 ldst len: 1 rc: 0 lk: 0 * ('minor_31.csv', '0b1111010101', 'stbcix') @@ -258,10 +300,24 @@ * ('minor_31.csv', '0b0010110111', 'stwux') * ('minor_31.csv', '0b0010010111', 'stwx') -## in1: 0 in2: R in3: 0 out: 0 CR in: 0 CR out: 0 ldst len: 0 rc: 0 lk: 0 +## in1: R in2: 0 in3: 0 out: R CR in: 0 CR out: 1 ldst len: 0 rc: R lk: 0 - * ('minor_31.csv', '0b0100110010', 'tlbie') - * ('minor_31.csv', '0b0100010010', 'tlbiel') + * ('minor_31.csv', '0b0011101010', 'addme') + * ('minor_31.csv', '0b1011101010', 'addmeo') + * ('minor_31.csv', '0b0011001010', 'addze') + * ('minor_31.csv', '0b1011001010', 'addzeo') + * ('minor_31.csv', '0b0000111010', 'cntlzd') + * ('minor_31.csv', '0b0000011010', 'cntlzw') + * ('minor_31.csv', '0b1000111010', 'cnttzd') + * ('minor_31.csv', '0b1000011010', 'cnttzw') + * ('minor_31.csv', '0b0011101000', 'subfme') + * ('minor_31.csv', '0b1011101000', 'subfmeo') + * ('minor_31.csv', '0b0011001000', 'subfze') + * ('minor_31.csv', '0b1011001000', 'subfzeo') + +## in1: R in2: 0 in3: 0 out: 0 CR in: 1 CR out: 1 ldst len: 0 rc: 0 lk: 0 + + * ('minor_31.csv', '0b0010010000', 'mtcrf/mtocrf') ## in1: R in2: 0 in3: R out: 0 CR in: 0 CR out: 0 ldst len: 1 rc: 0 lk: 0 @@ -274,128 +330,72 @@ * ('major.csv', '36', 'stw') * ('major.csv', '37', 'stwu') -## in1: R in2: 0 in3: 0 out: R CR in: 0 CR out: 0 ldst len: 0 rc: 0 lk: 0 +## in1: 0 in2: R in3: R out: R CR in: 0 CR out: 0 ldst len: 0 rc: R lk: 0 - * ('major.csv', '12', 'addic') - * ('major.csv', '14', 'addi') - * ('major.csv', '15', 'addis') - * ('major.csv', '24', 'ori') - * ('major.csv', '25', 'oris') - * ('major.csv', '8', 'subfic') - * ('major.csv', '26', 'xori') - * ('major.csv', '27', 'xoris') + * ('major.csv', '23', 'rlwnm') ## in1: R in2: 0 in3: 0 out: 0 CR in: 0 CR out: 1 ldst len: 0 rc: 0 lk: 0 * ('major.csv', '11', 'cmpi') * ('major.csv', '10', 'cmpli') -## in1: 0 in2: 0 in3: R out: R CR in: 0 CR out: 0 ldst len: 0 rc: R lk: 0 +## in1: R in2: R in3: 0 out: R CR in: 0 CR out: 1 ldst len: 0 rc: R lk: 0 - * ('major.csv', '21', 'rlwinm') + * ('minor_31.csv', '0b0100001010', 'add') + * ('minor_31.csv', '0b1100001010', 'addo') + * ('minor_31.csv', '0b0000001010', 'addc') + * ('minor_31.csv', '0b1000001010', 'addco') + * ('minor_31.csv', '0b0010001010', 'adde') + * ('minor_31.csv', '0b1010001010', 'addeo') + * ('minor_31.csv', '0b0000011100', 'and') + * ('minor_31.csv', '0b0000111100', 'andc') + * ('minor_31.csv', '0b0110001001', 'divdeu') + * ('minor_31.csv', '0b1110001001', 'divdeuo') + * ('minor_31.csv', '0b0110001011', 'divweu') + * ('minor_31.csv', '0b1110001011', 'divweuo') + * ('minor_31.csv', '0b0110101001', 'divde') + * ('minor_31.csv', '0b1110101001', 'divdeo') + * ('minor_31.csv', '0b0110101011', 'divwe') + * ('minor_31.csv', '0b1110101011', 'divweo') + * ('minor_31.csv', '0b0111001001', 'divdu') + * ('minor_31.csv', '0b1111001001', 'divduo') + * ('minor_31.csv', '0b0111001011', 'divwu') + * ('minor_31.csv', '0b1111001011', 'divwuo') + * ('minor_31.csv', '0b0111101001', 'divd') + * ('minor_31.csv', '0b1111101001', 'divdo') + * ('minor_31.csv', '0b0111101011', 'divw') + * ('minor_31.csv', '0b1111101011', 'divwo') + * ('minor_31.csv', '0b0100011100', 'eqv') + * ('minor_31.csv', '0b0001001001', 'mulhd') + * ('minor_31.csv', '0b0000001001', 'mulhdu') + * ('minor_31.csv', '0b0001001011', 'mulhw') + * ('minor_31.csv', '0b0000001011', 'mulhwu') + * ('minor_31.csv', '0b1001001001', 'mulhd') + * ('minor_31.csv', '0b1000001001', 'mulhdu') + * ('minor_31.csv', '0b1001001011', 'mulhw') + * ('minor_31.csv', '0b1000001011', 'mulhwu') + * ('minor_31.csv', '0b0011101001', 'mulld') + * ('minor_31.csv', '0b1011101001', 'mulldo') + * ('minor_31.csv', '0b0011101011', 'mullw') + * ('minor_31.csv', '0b1011101011', 'mullwo') + * ('minor_31.csv', '0b0111011100', 'nand') + * ('minor_31.csv', '0b0001111100', 'nor') + * ('minor_31.csv', '0b0110111100', 'or') + * ('minor_31.csv', '0b0110011100', 'orc') + * ('minor_31.csv', '0b0000101000', 'subf') + * ('minor_31.csv', '0b1000101000', 'subfo') + * ('minor_31.csv', '0b0000001000', 'subfc') + * ('minor_31.csv', '0b1000001000', 'subfco') + * ('minor_31.csv', '0b0010001000', 'subfe') + * ('minor_31.csv', '0b1010001000', 'subfeo') + * ('minor_31.csv', '0b0100111100', 'xor') -## in1: R in2: R in3: 0 out: 0 CR in: 0 CR out: 0 ldst len: 0 rc: 0 lk: 0 +## in1: 0 in2: 0 in3: R out: R CR in: 0 CR out: 0 ldst len: 0 rc: R lk: 0 - * ('minor_31.csv', '0b1111110110', 'dcbz') - * ('minor_31.csv', '0b0001000100', 'td') - * ('minor_31.csv', '0b0000000100', 'tw') + * ('major.csv', '21', 'rlwinm') ## in1: R in2: 0 in3: R out: R CR in: 0 CR out: 1 ldst len: 0 rc: R lk: 0 * ('minor_30.csv', '0b0110', 'rldimi') * ('minor_30.csv', '0b0111', 'rldimi') -## in1: R in2: 0 in3: 0 out: 0 CR in: 1 CR out: 1 ldst len: 0 rc: 0 lk: 0 - - * ('minor_31.csv', '0b0010010000', 'mtcrf/mtocrf') - -## in1: R in2: 0 in3: R out: R CR in: 0 CR out: 0 ldst len: 0 rc: R lk: 0 - - * ('major.csv', '20', 'rlwimi') - -## in1: R in2: 0 in3: 0 out: 0 CR in: 0 CR out: 0 ldst len: 0 rc: 0 lk: 0 - - * ('major.csv', '2', 'tdi') - * ('major.csv', '3', 'twi') - * ('minor_31.csv', '0b0010110010', 'mtmsrd') - * ('minor_31.csv', '0b0010010010', 'mtmsr') - * ('minor_31.csv', '0b0111010011', 'mtspr') - -## in1: R in2: 0 in3: 0 out: R CR in: 0 CR out: 1 ldst len: 0 rc: 1 lk: 0 - - * ('major.csv', '13', 'addic.') - * ('major.csv', '28', 'andi.') - * ('major.csv', '29', 'andis.') - -## in1: 0 in2: 0 in3: 0 out: 0 CR in: 1 CR out: 1 ldst len: 0 rc: 0 lk: 0 - - * ('minor_19.csv', '0b0000000000', 'mcrf') - * ('minor_19.csv', '0b0100000001', 'crand') - * ('minor_19.csv', '0b0010000001', 'crandc') - * ('minor_19.csv', '0b0100100001', 'creqv') - * ('minor_19.csv', '0b0011100001', 'crnand') - * ('minor_19.csv', '0b0000100001', 'crnor') - * ('minor_19.csv', '0b0111000001', 'cror') - * ('minor_19.csv', '0b0110100001', 'crorc') - * ('minor_19.csv', '0b0011000001', 'crxor') - -## in1: 0 in2: 0 in3: 0 out: R CR in: 1 CR out: 0 ldst len: 0 rc: 0 lk: 0 - - * ('minor_31.csv', '0b0000010011', 'mfcr/mfocrf') - * ('minor_31.csv', '0b0010000000', 'setb') - -## in1: 0 in2: 0 in3: 0 out: R CR in: 0 CR out: 0 ldst len: 0 rc: 0 lk: 0 - - * ('extra.csv', '000001---------------0000000011-', 'sim_cfg') - * ('minor_31.csv', '0b0001010011', 'mfmsr') - * ('minor_31.csv', '0b0101010011', 'mfspr') - -## in1: R in2: R in3: 0 out: 0 CR in: 0 CR out: 1 ldst len: 0 rc: 0 lk: 0 - - * ('minor_31.csv', '0b0000000000', 'cmp') - * ('minor_31.csv', '0b0011100000', 'cmpeqb') - * ('minor_31.csv', '0b0000100000', 'cmpl') - -## in1: 0 in2: 0 in3: 0 out: 0 CR in: 1 CR out: 0 ldst len: 0 rc: 0 lk: 1 - - * ('major.csv', '16', 'bc') - * ('minor_19.csv', '0b1000010000', 'bcctr') - * ('minor_19.csv', '0b0000010000', 'bclr') - * ('minor_19.csv', '0b1000110000', 'bctar') - -## in1: R in2: R in3: 0 out: R CR in: 0 CR out: 0 ldst len: 1 rc: 0 lk: 0 - - * ('minor_31.csv', '0b0000110100', 'lbarx') - * ('minor_31.csv', '0b1101010101', 'lbzcix') - * ('minor_31.csv', '0b0001110111', 'lbzux') - * ('minor_31.csv', '0b0001010111', 'lbzx') - * ('minor_31.csv', '0b0001010100', 'ldarx') - * ('minor_31.csv', '0b1000010100', 'ldbrx') - * ('minor_31.csv', '0b1101110101', 'ldcix') - * ('minor_31.csv', '0b0000110101', 'ldux') - * ('minor_31.csv', '0b0000010101', 'ldx') - * ('minor_31.csv', '0b0001110100', 'lharx') - * ('minor_31.csv', '0b0101110111', 'lhaux') - * ('minor_31.csv', '0b0101010111', 'lhax') - * ('minor_31.csv', '0b1100010110', 'lhbrx') - * ('minor_31.csv', '0b1100110101', 'lhzcix') - * ('minor_31.csv', '0b0100110111', 'lhzux') - * ('minor_31.csv', '0b0100010111', 'lhzx') - * ('minor_31.csv', '0b0000010100', 'lwarx') - * ('minor_31.csv', '0b0101110101', 'lwaux') - * ('minor_31.csv', '0b0101010101', 'lwax') - * ('minor_31.csv', '0b1000010110', 'lwbrx') - * ('minor_31.csv', '0b1100010101', 'lwzcix') - * ('minor_31.csv', '0b0000110111', 'lwzux') - * ('minor_31.csv', '0b0000010111', 'lwzx') - -## in1: R in2: 0 in3: 0 out: R CR in: 0 CR out: 1 ldst len: 0 rc: 0 lk: 0 - - * ('major.csv', '7', 'mulli') - -## in1: R in2: R in3: R out: 0 CR in: 0 CR out: 1 ldst len: 1 rc: R lk: 0 - - * ('minor_31.csv', '0b1010110110', 'stbcx') - * ('minor_31.csv', '0b0011110111', 'stbux') - * ('minor_31.csv', '0b0011010111', 'stbx') -