summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Andrew Waterman <waterman@s141.Millennium.Berkeley.EDU>2010-09-20 19:01:40 -0700
committerGravatar Andrew Waterman <waterman@s141.Millennium.Berkeley.EDU>2010-09-20 19:01:40 -0700
commitbb5f421fcd395ed348044b2697bcbb5efc22dad3 (patch)
tree8ec2c76e36d3c724bab998958e88c904098baf88
parent67bd7134c4583dc8cda7c7253303837b45286d15 (diff)
[xcc, sim] changed instruction format so imm12 subs for rs2
-rw-r--r--inst.v84
-rw-r--r--instr-table.tex816
-rw-r--r--opcodes344
-rwxr-xr-xparse-opcodes74
4 files changed, 658 insertions, 660 deletions
diff --git a/inst.v b/inst.v
index f02848b..08d26f3 100644
--- a/inst.v
+++ b/inst.v
@@ -2,12 +2,12 @@
`define J 32'b11000_???????????????????????????
`define JAL 32'b11001_???????????????????????????
`define LUI 32'b1110001_?????_????????????????????
-`define BEQ 32'b1110011_?????_?????_000_????????????
-`define BNE 32'b1110011_?????_?????_001_????????????
-`define BLT 32'b1110011_?????_?????_100_????????????
-`define BGE 32'b1110011_?????_?????_101_????????????
-`define BLTU 32'b1110011_?????_?????_110_????????????
-`define BGEU 32'b1110011_?????_?????_111_????????????
+`define BEQ 32'b1110011_00000_?????_000_????????????
+`define BNE 32'b1110011_00000_?????_001_????????????
+`define BLT 32'b1110011_00000_?????_100_????????????
+`define BGE 32'b1110011_00000_?????_101_????????????
+`define BLTU 32'b1110011_00000_?????_110_????????????
+`define BGEU 32'b1110011_00000_?????_111_????????????
`define ADDI 32'b1110100_?????_?????_000_????????????
`define SLTI 32'b1110100_?????_?????_010_????????????
`define SLTIU 32'b1110100_?????_?????_011_????????????
@@ -59,10 +59,10 @@
`define LHU 32'b1111000_?????_?????_101_????????????
`define LWU 32'b1111000_?????_?????_110_????????????
`define SYNCI 32'b1111000_00000_?????_111_????????????
-`define SB 32'b1111001_?????_?????_000_????????????
-`define SH 32'b1111001_?????_?????_001_????????????
-`define SW 32'b1111001_?????_?????_010_????????????
-`define SD 32'b1111001_?????_?????_011_????????????
+`define SB 32'b1111001_00000_?????_000_????????????
+`define SH 32'b1111001_00000_?????_001_????????????
+`define SW 32'b1111001_00000_?????_010_????????????
+`define SD 32'b1111001_00000_?????_011_????????????
`define AMOW_ADD 32'b1111010_?????_?????_0100000000_?????
`define AMOW_SWAP 32'b1111010_?????_?????_0100000001_?????
`define AMOW_AND 32'b1111010_?????_?????_0100000010_?????
@@ -79,11 +79,11 @@
`define AMO_MAX 32'b1111010_?????_?????_0110000101_?????
`define AMO_MINU 32'b1111010_?????_?????_0110000110_?????
`define AMO_MAXU 32'b1111010_?????_?????_0110000111_?????
-`define JALR_C 32'b1111011_?????_00000_0000000000_?????
-`define JALR_R 32'b1111011_?????_00000_0000000001_?????
-`define JALR_J 32'b1111011_?????_00000_0000000010_?????
+`define JALR_C 32'b1111011_00000_?????_0000000000_?????
+`define JALR_R 32'b1111011_00000_?????_0000000001_?????
+`define JALR_J 32'b1111011_00000_?????_0000000010_?????
`define RDNPC 32'b1111011_00000_00000_0010000000_?????
-`define MFCR 32'b1111011_00000_?????_0100000000_?????
+`define MFCR 32'b1111011_?????_00000_0100000000_?????
`define MTCR 32'b1111011_?????_?????_0110000000_00000
`define SYNC 32'b1111011_00000_00000_1000000000_00000
`define SYSCALL 32'b1111011_00000_00000_1010000000_00000
@@ -91,13 +91,13 @@
`define EI 32'b1111110_00000_00000_0000000000_?????
`define DI 32'b1111110_00000_00000_0010000000_?????
`define ERET 32'b1111110_00000_00000_0100000000_00000
-`define MFPCR 32'b1111110_00000_?????_1000000000_?????
+`define MFPCR 32'b1111110_?????_00000_1000000000_?????
`define MTPCR 32'b1111110_?????_?????_1010000000_00000
`define ADD_S 32'b1101000_?????_?????_0000000000_?????
`define SUB_S 32'b1101000_?????_?????_0000000001_?????
`define MUL_S 32'b1101000_?????_?????_0000000010_?????
`define DIV_S 32'b1101000_?????_?????_0000000011_?????
-`define SQRT_S 32'b1101000_?????_00000_0000000100_?????
+`define SQRT_S 32'b1101000_00000_?????_0000000100_?????
`define SGNINJ_S 32'b1101000_?????_?????_0000000101_?????
`define SGNINJN_S 32'b1101000_?????_?????_0000000110_?????
`define SGNMUL_S 32'b1101000_?????_?????_0000000111_?????
@@ -105,28 +105,28 @@
`define SUB_D 32'b1101000_?????_?????_1100000001_?????
`define MUL_D 32'b1101000_?????_?????_1100000010_?????
`define DIV_D 32'b1101000_?????_?????_1100000011_?????
-`define SQRT_D 32'b1101000_?????_00000_1100000100_?????
+`define SQRT_D 32'b1101000_00000_?????_1100000100_?????
`define SGNINJ_D 32'b1101000_?????_?????_1100000101_?????
`define SGNINJN_D 32'b1101000_?????_?????_1100000110_?????
`define SGNMUL_D 32'b1101000_?????_?????_1100000111_?????
-`define TRUNC_L_S 32'b1101000_?????_00000_0000100000_?????
-`define TRUNCU_L_S 32'b1101000_?????_00000_0000100001_?????
-`define TRUNC_W_S 32'b1101000_?????_00000_0000100010_?????
-`define TRUNCU_W_S 32'b1101000_?????_00000_0000100011_?????
-`define TRUNC_L_D 32'b1101000_?????_00000_1100100000_?????
-`define TRUNCU_L_D 32'b1101000_?????_00000_1100100001_?????
-`define TRUNC_W_D 32'b1101000_?????_00000_1100100010_?????
-`define TRUNCU_W_D 32'b1101000_?????_00000_1100100011_?????
-`define CVT_S_L 32'b1101000_?????_00000_0000100100_?????
-`define CVTU_S_L 32'b1101000_?????_00000_0000100101_?????
-`define CVT_S_W 32'b1101000_?????_00000_0000100110_?????
-`define CVTU_S_W 32'b1101000_?????_00000_0000100111_?????
-`define CVT_D_L 32'b1101000_?????_00000_1100100100_?????
-`define CVTU_D_L 32'b1101000_?????_00000_1100100101_?????
-`define CVT_D_W 32'b1101000_?????_00000_1100100110_?????
-`define CVTU_D_W 32'b1101000_?????_00000_1100100111_?????
-`define CVT_S_D 32'b1101000_?????_00000_0000110011_?????
-`define CVT_D_S 32'b1101000_?????_00000_1100110000_?????
+`define TRUNC_L_S 32'b1101000_00000_?????_0000100000_?????
+`define TRUNCU_L_S 32'b1101000_00000_?????_0000100001_?????
+`define TRUNC_W_S 32'b1101000_00000_?????_0000100010_?????
+`define TRUNCU_W_S 32'b1101000_00000_?????_0000100011_?????
+`define TRUNC_L_D 32'b1101000_00000_?????_1100100000_?????
+`define TRUNCU_L_D 32'b1101000_00000_?????_1100100001_?????
+`define TRUNC_W_D 32'b1101000_00000_?????_1100100010_?????
+`define TRUNCU_W_D 32'b1101000_00000_?????_1100100011_?????
+`define CVT_S_L 32'b1101000_00000_?????_0000100100_?????
+`define CVTU_S_L 32'b1101000_00000_?????_0000100101_?????
+`define CVT_S_W 32'b1101000_00000_?????_0000100110_?????
+`define CVTU_S_W 32'b1101000_00000_?????_0000100111_?????
+`define CVT_D_L 32'b1101000_00000_?????_1100100100_?????
+`define CVTU_D_L 32'b1101000_00000_?????_1100100101_?????
+`define CVT_D_W 32'b1101000_00000_?????_1100100110_?????
+`define CVTU_D_W 32'b1101000_00000_?????_1100100111_?????
+`define CVT_S_D 32'b1101000_00000_?????_0000110011_?????
+`define CVT_D_S 32'b1101000_00000_?????_1100110000_?????
`define C_EQ_S 32'b1101000_?????_?????_0001000001_?????
`define C_LT_S 32'b1101000_?????_?????_0001000010_?????
`define C_LE_S 32'b1101000_?????_?????_0001000011_?????
@@ -135,13 +135,13 @@
`define C_LE_D 32'b1101000_?????_?????_1101000011_?????
`define L_S 32'b1101001_?????_?????_000_????????????
`define L_D 32'b1101001_?????_?????_110_????????????
-`define S_S 32'b1101001_?????_?????_001_????????????
-`define S_D 32'b1101001_?????_?????_111_????????????
-`define MFF_S 32'b1101010_?????_00000_0000000000_?????
-`define MFF_D 32'b1101010_?????_00000_1100000000_?????
-`define MFFH_D 32'b1101010_?????_00000_1100100000_?????
-`define MTF_S 32'b1101010_?????_00000_0001000000_?????
-`define MTF_D 32'b1101010_?????_00000_1101000000_?????
+`define S_S 32'b1101001_00000_?????_001_????????????
+`define S_D 32'b1101001_00000_?????_111_????????????
+`define MFF_S 32'b1101010_00000_?????_0000000000_?????
+`define MFF_D 32'b1101010_00000_?????_1100000000_?????
+`define MFFH_D 32'b1101010_00000_?????_1100100000_?????
+`define MTF_S 32'b1101010_00000_?????_0001000000_?????
+`define MTF_D 32'b1101010_00000_?????_1101000000_?????
`define MTFLH_D 32'b1101010_?????_?????_1101100000_?????
`define MADD_S 32'b1101011_?????_?????_00000_?????_?????
`define MSUB_S 32'b1101011_?????_?????_00001_?????_?????
diff --git a/instr-table.tex b/instr-table.tex
index 8f3e229..1f5fb71 100644
--- a/instr-table.tex
+++ b/instr-table.tex
@@ -99,82 +99,82 @@
&
\multicolumn{2}{|c|}{1111011} &
-\multicolumn{1}{c|}{xa} &
\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0000000000} &
-\multicolumn{1}{c|}{xc} & JALR.C xc,xa \\
+\multicolumn{1}{c|}{rdr} & JALR.C rdr,rs1 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1111011} &
-\multicolumn{1}{c|}{xa} &
\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0000000001} &
-\multicolumn{1}{c|}{xc} & JALR.R xc,xa \\
+\multicolumn{1}{c|}{rdr} & JALR.R rdr,rs1 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1111011} &
-\multicolumn{1}{c|}{xa} &
\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0000000010} &
-\multicolumn{1}{c|}{xc} & JALR.J xc,xa \\
+\multicolumn{1}{c|}{rdr} & JALR.J rdr,rs1 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110011} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{000} &
-\multicolumn{4}{c|}{imm} & BEQ xa,xb,imm \\
+\multicolumn{4}{c|}{imm12} & BEQ rs1,rs2,imm12 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110011} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{001} &
-\multicolumn{4}{c|}{imm} & BNE xa,xb,imm \\
+\multicolumn{4}{c|}{imm12} & BNE rs1,rs2,imm12 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110011} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{100} &
-\multicolumn{4}{c|}{imm} & BLT xa,xb,imm \\
+\multicolumn{4}{c|}{imm12} & BLT rs1,rs2,imm12 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110011} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{101} &
-\multicolumn{4}{c|}{imm} & BGE xa,xb,imm \\
+\multicolumn{4}{c|}{imm12} & BGE rs1,rs2,imm12 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110011} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{110} &
-\multicolumn{4}{c|}{imm} & BLTU xa,xb,imm \\
+\multicolumn{4}{c|}{imm12} & BLTU rs1,rs2,imm12 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110011} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{111} &
-\multicolumn{4}{c|}{imm} & BGEU xa,xb,imm \\
+\multicolumn{4}{c|}{imm12} & BGEU rs1,rs2,imm12 \\
\cline{2-10}
@@ -187,109 +187,109 @@
&
\multicolumn{2}{|c|}{1111000} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{000} &
-\multicolumn{4}{c|}{imm} & LB xa,xb,imm \\
+\multicolumn{4}{c|}{imm12} & LB rdi,rs1,imm12 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1111000} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{001} &
-\multicolumn{4}{c|}{imm} & LH xa,xb,imm \\
+\multicolumn{4}{c|}{imm12} & LH rdi,rs1,imm12 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1111000} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{010} &
-\multicolumn{4}{c|}{imm} & LW xa,xb,imm \\
+\multicolumn{4}{c|}{imm12} & LW rdi,rs1,imm12 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1111000} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{011} &
-\multicolumn{4}{c|}{imm} & LD xa,xb,imm \\
+\multicolumn{4}{c|}{imm12} & LD rdi,rs1,imm12 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1111000} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{100} &
-\multicolumn{4}{c|}{imm} & LBU xa,xb,imm \\
+\multicolumn{4}{c|}{imm12} & LBU rdi,rs1,imm12 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1111000} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{101} &
-\multicolumn{4}{c|}{imm} & LHU xa,xb,imm \\
+\multicolumn{4}{c|}{imm12} & LHU rdi,rs1,imm12 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1111000} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{110} &
-\multicolumn{4}{c|}{imm} & LWU xa,xb,imm \\
+\multicolumn{4}{c|}{imm12} & LWU rdi,rs1,imm12 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1111000} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{1}{c|}{00000} &
-\multicolumn{1}{c|}{xb} &
\multicolumn{1}{c|}{111} &
-\multicolumn{4}{c|}{imm} & SYNCI xb,imm \\
+\multicolumn{4}{c|}{imm12} & SYNCI rs1,imm12 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1111001} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{000} &
-\multicolumn{4}{c|}{imm} & SB xa,xb,imm \\
+\multicolumn{4}{c|}{imm12} & SB rs2,rs1,imm12 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1111001} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{001} &
-\multicolumn{4}{c|}{imm} & SH xa,xb,imm \\
+\multicolumn{4}{c|}{imm12} & SH rs2,rs1,imm12 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1111001} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{010} &
-\multicolumn{4}{c|}{imm} & SW xa,xb,imm \\
+\multicolumn{4}{c|}{imm12} & SW rs2,rs1,imm12 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1111001} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{011} &
-\multicolumn{4}{c|}{imm} & SD xa,xb,imm \\
+\multicolumn{4}{c|}{imm12} & SD rs2,rs1,imm12 \\
\cline{2-10}
@@ -302,145 +302,145 @@
&
\multicolumn{2}{|c|}{1111010} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0100000000} &
-\multicolumn{1}{c|}{xc} & AMOW.ADD xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & AMOW.ADD rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1111010} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0100000001} &
-\multicolumn{1}{c|}{xc} & AMOW.SWAP xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & AMOW.SWAP rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1111010} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0100000010} &
-\multicolumn{1}{c|}{xc} & AMOW.AND xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & AMOW.AND rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1111010} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0100000011} &
-\multicolumn{1}{c|}{xc} & AMOW.OR xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & AMOW.OR rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1111010} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0100000100} &
-\multicolumn{1}{c|}{xc} & AMOW.MIN xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & AMOW.MIN rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1111010} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0100000101} &
-\multicolumn{1}{c|}{xc} & AMOW.MAX xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & AMOW.MAX rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1111010} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0100000110} &
-\multicolumn{1}{c|}{xc} & AMOW.MINU xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & AMOW.MINU rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1111010} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0100000111} &
-\multicolumn{1}{c|}{xc} & AMOW.MAXU xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & AMOW.MAXU rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1111010} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0110000000} &
-\multicolumn{1}{c|}{xc} & AMO.ADD xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & AMO.ADD rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1111010} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0110000001} &
-\multicolumn{1}{c|}{xc} & AMO.SWAP xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & AMO.SWAP rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1111010} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0110000010} &
-\multicolumn{1}{c|}{xc} & AMO.AND xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & AMO.AND rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1111010} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0110000011} &
-\multicolumn{1}{c|}{xc} & AMO.OR xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & AMO.OR rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1111010} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0110000100} &
-\multicolumn{1}{c|}{xc} & AMO.MIN xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & AMO.MIN rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1111010} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0110000101} &
-\multicolumn{1}{c|}{xc} & AMO.MAX xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & AMO.MAX rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1111010} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0110000110} &
-\multicolumn{1}{c|}{xc} & AMO.MINU xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & AMO.MINU rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1111010} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0110000111} &
-\multicolumn{1}{c|}{xc} & AMO.MAXU xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & AMO.MAXU rdr,rs1,rs2 \\
\cline{2-10}
@@ -528,251 +528,251 @@
&
\multicolumn{2}{|c|}{1110001} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{6}{c|}{imm20} & LUI xa,imm20 \\
+\multicolumn{1}{c|}{00000} &
+\multicolumn{6}{c|}{imm20} & LUI rdi,imm20 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110100} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{000} &
-\multicolumn{4}{c|}{imm} & ADDI xa,xb,imm \\
+\multicolumn{4}{c|}{imm12} & ADDI rdi,rs1,imm12 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110100} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{010} &
-\multicolumn{4}{c|}{imm} & SLTI xa,xb,imm \\
+\multicolumn{4}{c|}{imm12} & SLTI rdi,rs1,imm12 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110100} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{011} &
-\multicolumn{4}{c|}{imm} & SLTIU xa,xb,imm \\
+\multicolumn{4}{c|}{imm12} & SLTIU rdi,rs1,imm12 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110100} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{100} &
-\multicolumn{4}{c|}{imm} & ANDI xa,xb,imm \\
+\multicolumn{4}{c|}{imm12} & ANDI rdi,rs1,imm12 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110100} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{101} &
-\multicolumn{4}{c|}{imm} & ORI xa,xb,imm \\
+\multicolumn{4}{c|}{imm12} & ORI rdi,rs1,imm12 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110100} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{110} &
-\multicolumn{4}{c|}{imm} & XORI xa,xb,imm \\
+\multicolumn{4}{c|}{imm12} & XORI rdi,rs1,imm12 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110100} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rdi} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{3}{c|}{111000001} &
-\multicolumn{2}{c|}{shamt} & SLLI xa,xb,shamt \\
+\multicolumn{2}{c|}{shamt} & SLLI rdi,rs1,shamt \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110100} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rdi} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{3}{c|}{111000010} &
-\multicolumn{2}{c|}{shamt} & SRLI xa,xb,shamt \\
+\multicolumn{2}{c|}{shamt} & SRLI rdi,rs1,shamt \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110100} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rdi} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{3}{c|}{111000011} &
-\multicolumn{2}{c|}{shamt} & SRAI xa,xb,shamt \\
+\multicolumn{2}{c|}{shamt} & SRAI rdi,rs1,shamt \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110101} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0000000000} &
-\multicolumn{1}{c|}{xc} & ADD xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & ADD rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110101} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0000000001} &
-\multicolumn{1}{c|}{xc} & SUB xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & SUB rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110101} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0000000010} &
-\multicolumn{1}{c|}{xc} & SLT xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & SLT rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110101} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0000000011} &
-\multicolumn{1}{c|}{xc} & SLTU xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & SLTU rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110101} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0000000100} &
-\multicolumn{1}{c|}{xc} & AND xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & AND rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110101} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0000000101} &
-\multicolumn{1}{c|}{xc} & OR xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & OR rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110101} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0000000110} &
-\multicolumn{1}{c|}{xc} & XOR xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & XOR rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110101} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0000000111} &
-\multicolumn{1}{c|}{xc} & NOR xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & NOR rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110101} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1110000010} &
-\multicolumn{1}{c|}{xc} & SLL xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & SLL rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110101} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1110000100} &
-\multicolumn{1}{c|}{xc} & SRL xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & SRL rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110101} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1110000110} &
-\multicolumn{1}{c|}{xc} & SRA xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & SRA rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110101} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0010000000} &
-\multicolumn{1}{c|}{xc} & MUL xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & MUL rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110101} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0010000010} &
-\multicolumn{1}{c|}{xc} & MULH xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & MULH rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110101} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0010000011} &
-\multicolumn{1}{c|}{xc} & MULHU xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & MULHU rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110101} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0010000100} &
-\multicolumn{1}{c|}{xc} & DIV xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & DIV rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110101} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0010000101} &
-\multicolumn{1}{c|}{xc} & DIVU xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & DIVU rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110101} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0010000110} &
-\multicolumn{1}{c|}{xc} & REM xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & REM rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110101} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0010000111} &
-\multicolumn{1}{c|}{xc} & REMU xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & REMU rdr,rs1,rs2 \\
\cline{2-10}
@@ -785,148 +785,148 @@
&
\multicolumn{2}{|c|}{1110110} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{000} &
-\multicolumn{4}{c|}{imm} & ADDIW xa,xb,imm \\
+\multicolumn{4}{c|}{imm12} & ADDIW rdi,rs1,imm12 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110110} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rdi} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{3}{c|}{111000001} &
\multicolumn{1}{c|}{0} &
-\multicolumn{1}{c|}{shamtw} & SLLIW xa,xb,shamtw \\
+\multicolumn{1}{c|}{shamtw} & SLLIW rdi,rs1,shamtw \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110110} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rdi} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{3}{c|}{111000010} &
\multicolumn{1}{c|}{0} &
-\multicolumn{1}{c|}{shamtw} & SRLIW xa,xb,shamtw \\
+\multicolumn{1}{c|}{shamtw} & SRLIW rdi,rs1,shamtw \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110110} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rdi} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{3}{c|}{111000011} &
\multicolumn{1}{c|}{0} &
-\multicolumn{1}{c|}{shamtw} & SRAIW xa,xb,shamtw \\
+\multicolumn{1}{c|}{shamtw} & SRAIW rdi,rs1,shamtw \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110111} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0000000000} &
-\multicolumn{1}{c|}{xc} & ADDW xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & ADDW rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110111} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0000000001} &
-\multicolumn{1}{c|}{xc} & SUBW xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & SUBW rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110111} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1110000010} &
-\multicolumn{1}{c|}{xc} & SLLW xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & SLLW rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110111} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1110000100} &
-\multicolumn{1}{c|}{xc} & SRLW xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & SRLW rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110111} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1110000110} &
-\multicolumn{1}{c|}{xc} & SRAW xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & SRAW rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110111} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0010000000} &
-\multicolumn{1}{c|}{xc} & MULW xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & MULW rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110111} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0010000010} &
-\multicolumn{1}{c|}{xc} & MULHW xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & MULHW rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110111} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0010000011} &
-\multicolumn{1}{c|}{xc} & MULHUW xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & MULHUW rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110111} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0010000100} &
-\multicolumn{1}{c|}{xc} & DIVW xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & DIVW rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110111} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0010000101} &
-\multicolumn{1}{c|}{xc} & DIVUW xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & DIVUW rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110111} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0010000110} &
-\multicolumn{1}{c|}{xc} & REMW xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & REMW rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1110111} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0010000111} &
-\multicolumn{1}{c|}{xc} & REMUW xc,xb,xa \\
+\multicolumn{1}{c|}{rdr} & REMUW rdr,rs1,rs2 \\
\cline{2-10}
@@ -1014,37 +1014,37 @@
&
\multicolumn{2}{|c|}{1101001} &
-\multicolumn{1}{c|}{fa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{000} &
-\multicolumn{4}{c|}{imm} & L.S fa,xb,imm \\
+\multicolumn{4}{c|}{imm12} & L.S rdi,rs1,imm12 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101001} &
-\multicolumn{1}{c|}{fa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{110} &
-\multicolumn{4}{c|}{imm} & L.D fa,xb,imm \\
+\multicolumn{4}{c|}{imm12} & L.D rdi,rs1,imm12 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101001} &
-\multicolumn{1}{c|}{fa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{001} &
-\multicolumn{4}{c|}{imm} & S.S fa,xb,imm \\
+\multicolumn{4}{c|}{imm12} & S.S rs2,rs1,imm12 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101001} &
-\multicolumn{1}{c|}{fa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{111} &
-\multicolumn{4}{c|}{imm} & S.D fa,xb,imm \\
+\multicolumn{4}{c|}{imm12} & S.D rs2,rs1,imm12 \\
\cline{2-10}
@@ -1057,225 +1057,225 @@
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
-\multicolumn{1}{c|}{fb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0000000000} &
-\multicolumn{1}{c|}{fc} & ADD.S fc,fb,fa \\
+\multicolumn{1}{c|}{rdr} & ADD.S rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
-\multicolumn{1}{c|}{fb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0000000001} &
-\multicolumn{1}{c|}{fc} & SUB.S fc,fb,fa \\
+\multicolumn{1}{c|}{rdr} & SUB.S rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
-\multicolumn{1}{c|}{fb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0000000010} &
-\multicolumn{1}{c|}{fc} & MUL.S fc,fb,fa \\
+\multicolumn{1}{c|}{rdr} & MUL.S rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
-\multicolumn{1}{c|}{fb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0000000011} &
-\multicolumn{1}{c|}{fc} & DIV.S fc,fb,fa \\
+\multicolumn{1}{c|}{rdr} & DIV.S rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0000000100} &
-\multicolumn{1}{c|}{fc} & SQRT.S fc,fa \\
+\multicolumn{1}{c|}{rdr} & SQRT.S rdr,rs1 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
-\multicolumn{1}{c|}{fb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0000000101} &
-\multicolumn{1}{c|}{fc} & SGNINJ.S fc,fb,fa \\
+\multicolumn{1}{c|}{rdr} & SGNINJ.S rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
-\multicolumn{1}{c|}{fb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0000000110} &
-\multicolumn{1}{c|}{fc} & SGNINJN.S fc,fb,fa \\
+\multicolumn{1}{c|}{rdr} & SGNINJN.S rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
-\multicolumn{1}{c|}{fb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0000000111} &
-\multicolumn{1}{c|}{fc} & SGNMUL.S fc,fb,fa \\
+\multicolumn{1}{c|}{rdr} & SGNMUL.S rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
-\multicolumn{1}{c|}{fb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1100000000} &
-\multicolumn{1}{c|}{fc} & ADD.D fc,fb,fa \\
+\multicolumn{1}{c|}{rdr} & ADD.D rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
-\multicolumn{1}{c|}{fb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1100000001} &
-\multicolumn{1}{c|}{fc} & SUB.D fc,fb,fa \\
+\multicolumn{1}{c|}{rdr} & SUB.D rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
-\multicolumn{1}{c|}{fb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1100000010} &
-\multicolumn{1}{c|}{fc} & MUL.D fc,fb,fa \\
+\multicolumn{1}{c|}{rdr} & MUL.D rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
-\multicolumn{1}{c|}{fb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1100000011} &
-\multicolumn{1}{c|}{fc} & DIV.D fc,fb,fa \\
+\multicolumn{1}{c|}{rdr} & DIV.D rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1100000100} &
-\multicolumn{1}{c|}{fc} & SQRT.D fc,fa \\
+\multicolumn{1}{c|}{rdr} & SQRT.D rdr,rs1 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
-\multicolumn{1}{c|}{fb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1100000101} &
-\multicolumn{1}{c|}{fc} & SGNINJ.D fc,fb,fa \\
+\multicolumn{1}{c|}{rdr} & SGNINJ.D rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
-\multicolumn{1}{c|}{fb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1100000110} &
-\multicolumn{1}{c|}{fc} & SGNINJN.D fc,fb,fa \\
+\multicolumn{1}{c|}{rdr} & SGNINJN.D rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
-\multicolumn{1}{c|}{fb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1100000111} &
-\multicolumn{1}{c|}{fc} & SGNMUL.D fc,fb,fa \\
+\multicolumn{1}{c|}{rdr} & SGNMUL.D rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101011} &
-\multicolumn{1}{c|}{fa} &
-\multicolumn{1}{c|}{fb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{2}{c|}{00000} &
-\multicolumn{2}{c|}{fd} &
-\multicolumn{1}{c|}{fc} & MADD.S fc,fb,fa,fd \\
+\multicolumn{2}{c|}{rs3} &
+\multicolumn{1}{c|}{rdr} & MADD.S rdr,rs1,rs2,rs3 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101011} &
-\multicolumn{1}{c|}{fa} &
-\multicolumn{1}{c|}{fb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{2}{c|}{00001} &
-\multicolumn{2}{c|}{fd} &
-\multicolumn{1}{c|}{fc} & MSUB.S fc,fb,fa,fd \\
+\multicolumn{2}{c|}{rs3} &
+\multicolumn{1}{c|}{rdr} & MSUB.S rdr,rs1,rs2,rs3 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101011} &
-\multicolumn{1}{c|}{fa} &
-\multicolumn{1}{c|}{fb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{2}{c|}{00010} &
-\multicolumn{2}{c|}{fd} &
-\multicolumn{1}{c|}{fc} & NMADD.S fc,fb,fa,fd \\
+\multicolumn{2}{c|}{rs3} &
+\multicolumn{1}{c|}{rdr} & NMADD.S rdr,rs1,rs2,rs3 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101011} &
-\multicolumn{1}{c|}{fa} &
-\multicolumn{1}{c|}{fb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{2}{c|}{00011} &
-\multicolumn{2}{c|}{fd} &
-\multicolumn{1}{c|}{fc} & NMSUB.S fc,fb,fa,fd \\
+\multicolumn{2}{c|}{rs3} &
+\multicolumn{1}{c|}{rdr} & NMSUB.S rdr,rs1,rs2,rs3 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101011} &
-\multicolumn{1}{c|}{fa} &
-\multicolumn{1}{c|}{fb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{2}{c|}{11000} &
-\multicolumn{2}{c|}{fd} &
-\multicolumn{1}{c|}{fc} & MADD.D fc,fb,fa,fd \\
+\multicolumn{2}{c|}{rs3} &
+\multicolumn{1}{c|}{rdr} & MADD.D rdr,rs1,rs2,rs3 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101011} &
-\multicolumn{1}{c|}{fa} &
-\multicolumn{1}{c|}{fb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{2}{c|}{11001} &
-\multicolumn{2}{c|}{fd} &
-\multicolumn{1}{c|}{fc} & MSUB.D fc,fb,fa,fd \\
+\multicolumn{2}{c|}{rs3} &
+\multicolumn{1}{c|}{rdr} & MSUB.D rdr,rs1,rs2,rs3 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101011} &
-\multicolumn{1}{c|}{fa} &
-\multicolumn{1}{c|}{fb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{2}{c|}{11010} &
-\multicolumn{2}{c|}{fd} &
-\multicolumn{1}{c|}{fc} & NMADD.D fc,fb,fa,fd \\
+\multicolumn{2}{c|}{rs3} &
+\multicolumn{1}{c|}{rdr} & NMADD.D rdr,rs1,rs2,rs3 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101011} &
-\multicolumn{1}{c|}{fa} &
-\multicolumn{1}{c|}{fb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{2}{c|}{11011} &
-\multicolumn{2}{c|}{fd} &
-\multicolumn{1}{c|}{fc} & NMSUB.D fc,fb,fa,fd \\
+\multicolumn{2}{c|}{rs3} &
+\multicolumn{1}{c|}{rdr} & NMSUB.D rdr,rs1,rs2,rs3 \\
\cline{2-10}
@@ -1288,55 +1288,55 @@
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
-\multicolumn{1}{c|}{fb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0001000001} &
-\multicolumn{1}{c|}{xc} & C.EQ.S xc,fa,fb \\
+\multicolumn{1}{c|}{rdr} & C.EQ.S rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
-\multicolumn{1}{c|}{fb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0001000010} &
-\multicolumn{1}{c|}{xc} & C.LT.S xc,fa,fb \\
+\multicolumn{1}{c|}{rdr} & C.LT.S rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
-\multicolumn{1}{c|}{fb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0001000011} &
-\multicolumn{1}{c|}{xc} & C.LE.S xc,fa,fb \\
+\multicolumn{1}{c|}{rdr} & C.LE.S rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
-\multicolumn{1}{c|}{fb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1101000001} &
-\multicolumn{1}{c|}{xc} & C.EQ.D xc,fa,fb \\
+\multicolumn{1}{c|}{rdr} & C.EQ.D rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
-\multicolumn{1}{c|}{fb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1101000010} &
-\multicolumn{1}{c|}{xc} & C.LT.D xc,fa,fb \\
+\multicolumn{1}{c|}{rdr} & C.LT.D rdr,rs1,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
-\multicolumn{1}{c|}{fb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1101000011} &
-\multicolumn{1}{c|}{xc} & C.LE.D xc,fa,fb \\
+\multicolumn{1}{c|}{rdr} & C.LE.D rdr,rs1,rs2 \\
\cline{2-10}
@@ -1424,217 +1424,217 @@
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0000100000} &
-\multicolumn{1}{c|}{fc} & TRUNC.L.S fc,fa \\
+\multicolumn{1}{c|}{rdr} & TRUNC.L.S rdr,rs1 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0000100001} &
-\multicolumn{1}{c|}{fc} & TRUNCU.L.S fc,fa \\
+\multicolumn{1}{c|}{rdr} & TRUNCU.L.S rdr,rs1 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0000100010} &
-\multicolumn{1}{c|}{fc} & TRUNC.W.S fc,fa \\
+\multicolumn{1}{c|}{rdr} & TRUNC.W.S rdr,rs1 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0000100011} &
-\multicolumn{1}{c|}{fc} & TRUNCU.W.S fc,fa \\
+\multicolumn{1}{c|}{rdr} & TRUNCU.W.S rdr,rs1 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0000100100} &
-\multicolumn{1}{c|}{fc} & CVT.S.L fc,fa \\
+\multicolumn{1}{c|}{rdr} & CVT.S.L rdr,rs1 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0000100101} &
-\multicolumn{1}{c|}{fc} & CVTU.S.L fc,fa \\
+\multicolumn{1}{c|}{rdr} & CVTU.S.L rdr,rs1 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0000100110} &
-\multicolumn{1}{c|}{fc} & CVT.S.W fc,fa \\
+\multicolumn{1}{c|}{rdr} & CVT.S.W rdr,rs1 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0000100111} &
-\multicolumn{1}{c|}{fc} & CVTU.S.W fc,fa \\
+\multicolumn{1}{c|}{rdr} & CVTU.S.W rdr,rs1 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0000110011} &
-\multicolumn{1}{c|}{fc} & CVT.S.D fc,fa \\
+\multicolumn{1}{c|}{rdr} & CVT.S.D rdr,rs1 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1100100000} &
-\multicolumn{1}{c|}{fc} & TRUNC.L.D fc,fa \\
+\multicolumn{1}{c|}{rdr} & TRUNC.L.D rdr,rs1 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1100100001} &
-\multicolumn{1}{c|}{fc} & TRUNCU.L.D fc,fa \\
+\multicolumn{1}{c|}{rdr} & TRUNCU.L.D rdr,rs1 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1100100010} &
-\multicolumn{1}{c|}{fc} & TRUNC.W.D fc,fa \\
+\multicolumn{1}{c|}{rdr} & TRUNC.W.D rdr,rs1 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1100100011} &
-\multicolumn{1}{c|}{fc} & TRUNCU.W.D fc,fa \\
+\multicolumn{1}{c|}{rdr} & TRUNCU.W.D rdr,rs1 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1100100100} &
-\multicolumn{1}{c|}{fc} & CVT.D.L fc,fa \\
+\multicolumn{1}{c|}{rdr} & CVT.D.L rdr,rs1 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1100100101} &
-\multicolumn{1}{c|}{fc} & CVTU.D.L fc,fa \\
+\multicolumn{1}{c|}{rdr} & CVTU.D.L rdr,rs1 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1100100110} &
-\multicolumn{1}{c|}{fc} & CVT.D.W fc,fa \\
+\multicolumn{1}{c|}{rdr} & CVT.D.W rdr,rs1 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1100100111} &
-\multicolumn{1}{c|}{fc} & CVTU.D.W fc,fa \\
+\multicolumn{1}{c|}{rdr} & CVTU.D.W rdr,rs1 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{fa} &
\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1100110000} &
-\multicolumn{1}{c|}{fc} & CVT.D.S fc,fa \\
+\multicolumn{1}{c|}{rdr} & CVT.D.S rdr,rs1 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101010} &
-\multicolumn{1}{c|}{fa} &
\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0000000000} &
-\multicolumn{1}{c|}{xc} & MFF.S xc,fa \\
+\multicolumn{1}{c|}{rdr} & MFF.S rdr,rs1 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101010} &
-\multicolumn{1}{c|}{fa} &
\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1100000000} &
-\multicolumn{1}{c|}{xc} & MFF.D xc,fa \\
+\multicolumn{1}{c|}{rdr} & MFF.D rdr,rs1 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101010} &
-\multicolumn{1}{c|}{fa} &
\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1100100000} &
-\multicolumn{1}{c|}{xc} & MFFH.D xc,fa \\
+\multicolumn{1}{c|}{rdr} & MFFH.D rdr,rs1 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101010} &
-\multicolumn{1}{c|}{xa} &
\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0001000000} &
-\multicolumn{1}{c|}{fc} & MTF.S fc,xa \\
+\multicolumn{1}{c|}{rdr} & MTF.S rdr,rs1 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101010} &
-\multicolumn{1}{c|}{xa} &
\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1101000000} &
-\multicolumn{1}{c|}{fc} & MTF.D fc,xa \\
+\multicolumn{1}{c|}{rdr} & MTF.D rdr,rs1 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101010} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1101100000} &
-\multicolumn{1}{c|}{fc} & MTFLH.D fc,xa,xb \\
+\multicolumn{1}{c|}{rdr} & MTFLH.D rdr,rs1,rs2 \\
\cline{2-10}
@@ -1650,25 +1650,25 @@
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{00000} &
\multicolumn{4}{c|}{0010000000} &
-\multicolumn{1}{c|}{xc} & RDNPC xc \\
+\multicolumn{1}{c|}{rdr} & RDNPC rdr \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1111011} &
+\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{00000} &
-\multicolumn{1}{c|}{xb} &
\multicolumn{4}{c|}{0100000000} &
-\multicolumn{1}{c|}{xc} & MFCR xc,xb \\
+\multicolumn{1}{c|}{rdr} & MFCR rdr,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1111011} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{0110000000} &
-\multicolumn{1}{c|}{00000} & MTCR xa,xb \\
+\multicolumn{1}{c|}{00000} & MTCR rs1,rs2 \\
\cline{2-10}
@@ -1711,7 +1711,7 @@
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{00000} &
\multicolumn{4}{c|}{0000000000} &
-\multicolumn{1}{c|}{xc} & EI xc \\
+\multicolumn{1}{c|}{rdr} & EI rdr \\
\cline{2-10}
@@ -1720,7 +1720,7 @@
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{00000} &
\multicolumn{4}{c|}{0010000000} &
-\multicolumn{1}{c|}{xc} & DI xc \\
+\multicolumn{1}{c|}{rdr} & DI rdr \\
\cline{2-10}
@@ -1735,19 +1735,19 @@
&
\multicolumn{2}{|c|}{1111110} &
+\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{00000} &
-\multicolumn{1}{c|}{xb} &
\multicolumn{4}{c|}{1000000000} &
-\multicolumn{1}{c|}{xc} & MFPCR xc,xb \\
+\multicolumn{1}{c|}{rdr} & MFPCR rdr,rs2 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1111110} &
-\multicolumn{1}{c|}{xa} &
-\multicolumn{1}{c|}{xb} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1010000000} &
-\multicolumn{1}{c|}{00000} & MTPCR xa,xb \\
+\multicolumn{1}{c|}{00000} & MTPCR rs1,rs2 \\
\cline{2-10}
diff --git a/opcodes b/opcodes
index b848061..8305117 100644
--- a/opcodes
+++ b/opcodes
@@ -11,184 +11,184 @@ unimp 31..0=0
j 31..27=0x18 imm27 # opcodes 0x60-0x64
jal 31..27=0x19 imm27 # opcodes 0x64-0x68
-lui 31..25=0x71 xa imm20
-
-beq 31..25=0x73 14..12=0 xa xb imm
-bne 31..25=0x73 14..12=1 xa xb imm
-blt 31..25=0x73 14..12=4 xa xb imm
-bge 31..25=0x73 14..12=5 xa xb imm
-bltu 31..25=0x73 14..12=6 xa xb imm
-bgeu 31..25=0x73 14..12=7 xa xb imm
-
-addi 31..25=0x74 14..12=0 xa xb imm
-slti 31..25=0x74 14..12=2 xa xb imm
-sltiu 31..25=0x74 14..12=3 xa xb imm
-andi 31..25=0x74 14..12=4 xa xb imm
-ori 31..25=0x74 14..12=5 xa xb imm
-xori 31..25=0x74 14..12=6 xa xb imm
-slli 31..25=0x74 14..12=7 11..6=1 xa xb shamt
-srli 31..25=0x74 14..12=7 11..6=2 xa xb shamt
-srai 31..25=0x74 14..12=7 11..6=3 xa xb shamt
-
-add 31..25=0x75 14..12=0 11..5=0 xc xb xa
-sub 31..25=0x75 14..12=0 11..5=1 xc xb xa
-slt 31..25=0x75 14..12=0 11..5=2 xc xb xa
-sltu 31..25=0x75 14..12=0 11..5=3 xc xb xa
-and 31..25=0x75 14..12=0 11..5=4 xc xb xa
-or 31..25=0x75 14..12=0 11..5=5 xc xb xa
-xor 31..25=0x75 14..12=0 11..5=6 xc xb xa
-nor 31..25=0x75 14..12=0 11..5=7 xc xb xa
-sll 31..25=0x75 14..12=7 11..6=1 5=0 xc xb xa
-srl 31..25=0x75 14..12=7 11..6=2 5=0 xc xb xa
-sra 31..25=0x75 14..12=7 11..6=3 5=0 xc xb xa
-
-mul 31..25=0x75 14..12=1 11..5=0 xc xb xa
-mulh 31..25=0x75 14..12=1 11..5=2 xc xb xa
-mulhu 31..25=0x75 14..12=1 11..5=3 xc xb xa
-div 31..25=0x75 14..12=1 11..5=4 xc xb xa
-divu 31..25=0x75 14..12=1 11..5=5 xc xb xa
-rem 31..25=0x75 14..12=1 11..5=6 xc xb xa
-remu 31..25=0x75 14..12=1 11..5=7 xc xb xa
-
-
-
-addiw 31..25=0x76 14..12=0 xa xb imm
-slliw 31..25=0x76 14..12=7 11..6=1 5=0 xa xb shamtw
-srliw 31..25=0x76 14..12=7 11..6=2 5=0 xa xb shamtw
-sraiw 31..25=0x76 14..12=7 11..6=3 5=0 xa xb shamtw
-
-addw 31..25=0x77 14..12=0 11..5=0 xc xb xa
-subw 31..25=0x77 14..12=0 11..5=1 xc xb xa
-sllw 31..25=0x77 14..12=7 11..6=1 5=0 xc xb xa
-srlw 31..25=0x77 14..12=7 11..6=2 5=0 xc xb xa
-sraw 31..25=0x77 14..12=7 11..6=3 5=0 xc xb xa
-
-mulw 31..25=0x77 14..12=1 11..5=0 xc xb xa
-mulhw 31..25=0x77 14..12=1 11..5=2 xc xb xa
-mulhuw 31..25=0x77 14..12=1 11..5=3 xc xb xa
-divw 31..25=0x77 14..12=1 11..5=4 xc xb xa
-divuw 31..25=0x77 14..12=1 11..5=5 xc xb xa
-remw 31..25=0x77 14..12=1 11..5=6 xc xb xa
-remuw 31..25=0x77 14..12=1 11..5=7 xc xb xa
-
-lb 31..25=0x78 14..12=0 xa xb imm
-lh 31..25=0x78 14..12=1 xa xb imm
-lw 31..25=0x78 14..12=2 xa xb imm
-ld 31..25=0x78 14..12=3 xa xb imm
-lbu 31..25=0x78 14..12=4 xa xb imm
-lhu 31..25=0x78 14..12=5 xa xb imm
-lwu 31..25=0x78 14..12=6 xa xb imm
-synci 31..25=0x78 14..12=7 24..20=0 xb imm
-
-sb 31..25=0x79 14..12=0 xa xb imm
-sh 31..25=0x79 14..12=1 xa xb imm
-sw 31..25=0x79 14..12=2 xa xb imm
-sd 31..25=0x79 14..12=3 xa xb imm
-
-amow.add 31..25=0x7A 14..12=2 11..5=0 xc xb xa
-amow.swap 31..25=0x7A 14..12=2 11..5=1 xc xb xa
-amow.and 31..25=0x7A 14..12=2 11..5=2 xc xb xa
-amow.or 31..25=0x7A 14..12=2 11..5=3 xc xb xa
-amow.min 31..25=0x7A 14..12=2 11..5=4 xc xb xa
-amow.max 31..25=0x7A 14..12=2 11..5=5 xc xb xa
-amow.minu 31..25=0x7A 14..12=2 11..5=6 xc xb xa
-amow.maxu 31..25=0x7A 14..12=2 11..5=7 xc xb xa
-
-amo.add 31..25=0x7A 14..12=3 11..5=0 xc xb xa
-amo.swap 31..25=0x7A 14..12=3 11..5=1 xc xb xa
-amo.and 31..25=0x7A 14..12=3 11..5=2 xc xb xa
-amo.or 31..25=0x7A 14..12=3 11..5=3 xc xb xa
-amo.min 31..25=0x7A 14..12=3 11..5=4 xc xb xa
-amo.max 31..25=0x7A 14..12=3 11..5=5 xc xb xa
-amo.minu 31..25=0x7A 14..12=3 11..5=6 xc xb xa
-amo.maxu 31..25=0x7A 14..12=3 11..5=7 xc xb xa
-
-jalr.c 31..25=0x7B 19..15=0 14..12=0 11..5=0 xc xa
-jalr.r 31..25=0x7B 19..15=0 14..12=0 11..5=1 xc xa
-jalr.j 31..25=0x7B 19..15=0 14..12=0 11..5=2 xc xa
-rdnpc 31..25=0x7B 24..15=0 14..12=1 11..5=0 xc
-mfcr 31..25=0x7B 24..20=0 14..12=2 11..5=0 xc xb
-mtcr 31..25=0x7B 14..12=3 11..0=0 xa xb
+lui 31..25=0x71 rdi imm20
+
+beq 31..25=0x73 14..12=0 rs1 rs2 imm12
+bne 31..25=0x73 14..12=1 rs1 rs2 imm12
+blt 31..25=0x73 14..12=4 rs1 rs2 imm12
+bge 31..25=0x73 14..12=5 rs1 rs2 imm12
+bltu 31..25=0x73 14..12=6 rs1 rs2 imm12
+bgeu 31..25=0x73 14..12=7 rs1 rs2 imm12
+
+addi 31..25=0x74 14..12=0 rdi rs1 imm12
+slti 31..25=0x74 14..12=2 rdi rs1 imm12
+sltiu 31..25=0x74 14..12=3 rdi rs1 imm12
+andi 31..25=0x74 14..12=4 rdi rs1 imm12
+ori 31..25=0x74 14..12=5 rdi rs1 imm12
+xori 31..25=0x74 14..12=6 rdi rs1 imm12
+slli 31..25=0x74 14..12=7 11..6=1 rdi rs1 shamt
+srli 31..25=0x74 14..12=7 11..6=2 rdi rs1 shamt
+srai 31..25=0x74 14..12=7 11..6=3 rdi rs1 shamt
+
+add 31..25=0x75 14..12=0 11..5=0 rdr rs1 rs2
+sub 31..25=0x75 14..12=0 11..5=1 rdr rs1 rs2
+slt 31..25=0x75 14..12=0 11..5=2 rdr rs1 rs2
+sltu 31..25=0x75 14..12=0 11..5=3 rdr rs1 rs2
+and 31..25=0x75 14..12=0 11..5=4 rdr rs1 rs2
+or 31..25=0x75 14..12=0 11..5=5 rdr rs1 rs2
+xor 31..25=0x75 14..12=0 11..5=6 rdr rs1 rs2
+nor 31..25=0x75 14..12=0 11..5=7 rdr rs1 rs2
+sll 31..25=0x75 14..12=7 11..6=1 5=0 rdr rs1 rs2
+srl 31..25=0x75 14..12=7 11..6=2 5=0 rdr rs1 rs2
+sra 31..25=0x75 14..12=7 11..6=3 5=0 rdr rs1 rs2
+
+mul 31..25=0x75 14..12=1 11..5=0 rdr rs1 rs2
+mulh 31..25=0x75 14..12=1 11..5=2 rdr rs1 rs2
+mulhu 31..25=0x75 14..12=1 11..5=3 rdr rs1 rs2
+div 31..25=0x75 14..12=1 11..5=4 rdr rs1 rs2
+divu 31..25=0x75 14..12=1 11..5=5 rdr rs1 rs2
+rem 31..25=0x75 14..12=1 11..5=6 rdr rs1 rs2
+remu 31..25=0x75 14..12=1 11..5=7 rdr rs1 rs2
+
+
+
+addiw 31..25=0x76 14..12=0 rdi rs1 imm12
+slliw 31..25=0x76 14..12=7 11..6=1 5=0 rdi rs1 shamtw
+srliw 31..25=0x76 14..12=7 11..6=2 5=0 rdi rs1 shamtw
+sraiw 31..25=0x76 14..12=7 11..6=3 5=0 rdi rs1 shamtw
+
+addw 31..25=0x77 14..12=0 11..5=0 rdr rs1 rs2
+subw 31..25=0x77 14..12=0 11..5=1 rdr rs1 rs2
+sllw 31..25=0x77 14..12=7 11..6=1 5=0 rdr rs1 rs2
+srlw 31..25=0x77 14..12=7 11..6=2 5=0 rdr rs1 rs2
+sraw 31..25=0x77 14..12=7 11..6=3 5=0 rdr rs1 rs2
+
+mulw 31..25=0x77 14..12=1 11..5=0 rdr rs1 rs2
+mulhw 31..25=0x77 14..12=1 11..5=2 rdr rs1 rs2
+mulhuw 31..25=0x77 14..12=1 11..5=3 rdr rs1 rs2
+divw 31..25=0x77 14..12=1 11..5=4 rdr rs1 rs2
+divuw 31..25=0x77 14..12=1 11..5=5 rdr rs1 rs2
+remw 31..25=0x77 14..12=1 11..5=6 rdr rs1 rs2
+remuw 31..25=0x77 14..12=1 11..5=7 rdr rs1 rs2
+
+lb 31..25=0x78 14..12=0 rdi rs1 imm12
+lh 31..25=0x78 14..12=1 rdi rs1 imm12
+lw 31..25=0x78 14..12=2 rdi rs1 imm12
+ld 31..25=0x78 14..12=3 rdi rs1 imm12
+lbu 31..25=0x78 14..12=4 rdi rs1 imm12
+lhu 31..25=0x78 14..12=5 rdi rs1 imm12
+lwu 31..25=0x78 14..12=6 rdi rs1 imm12
+synci 31..25=0x78 14..12=7 24..20=0 rs1 imm12
+
+sb 31..25=0x79 14..12=0 rs2 rs1 imm12
+sh 31..25=0x79 14..12=1 rs2 rs1 imm12
+sw 31..25=0x79 14..12=2 rs2 rs1 imm12
+sd 31..25=0x79 14..12=3 rs2 rs1 imm12
+
+amow.add 31..25=0x7A 14..12=2 11..5=0 rdr rs1 rs2
+amow.swap 31..25=0x7A 14..12=2 11..5=1 rdr rs1 rs2
+amow.and 31..25=0x7A 14..12=2 11..5=2 rdr rs1 rs2
+amow.or 31..25=0x7A 14..12=2 11..5=3 rdr rs1 rs2
+amow.min 31..25=0x7A 14..12=2 11..5=4 rdr rs1 rs2
+amow.max 31..25=0x7A 14..12=2 11..5=5 rdr rs1 rs2
+amow.minu 31..25=0x7A 14..12=2 11..5=6 rdr rs1 rs2
+amow.maxu 31..25=0x7A 14..12=2 11..5=7 rdr rs1 rs2
+
+amo.add 31..25=0x7A 14..12=3 11..5=0 rdr rs1 rs2
+amo.swap 31..25=0x7A 14..12=3 11..5=1 rdr rs1 rs2
+amo.and 31..25=0x7A 14..12=3 11..5=2 rdr rs1 rs2
+amo.or 31..25=0x7A 14..12=3 11..5=3 rdr rs1 rs2
+amo.min 31..25=0x7A 14..12=3 11..5=4 rdr rs1 rs2
+amo.max 31..25=0x7A 14..12=3 11..5=5 rdr rs1 rs2
+amo.minu 31..25=0x7A 14..12=3 11..5=6 rdr rs1 rs2
+amo.maxu 31..25=0x7A 14..12=3 11..5=7 rdr rs1 rs2
+
+jalr.c 31..25=0x7B 24..20=0 14..12=0 11..5=0 rdr rs1
+jalr.r 31..25=0x7B 24..20=0 14..12=0 11..5=1 rdr rs1
+jalr.j 31..25=0x7B 24..20=0 14..12=0 11..5=2 rdr rs1
+rdnpc 31..25=0x7B 24..15=0 14..12=1 11..5=0 rdr
+mfcr 31..25=0x7B 19..15=0 14..12=2 11..5=0 rdr rs2
+mtcr 31..25=0x7B 14..12=3 11..0=0 rs1 rs2
sync 31..25=0x7B 24..15=0 14..12=4 11..0=0
syscall 31..25=0x7B 24..15=0 14..12=5 11..0=0
break 31..25=0x7B 24..15=0 14..12=6 11..0=0
-ei 31..25=0x7E 14..12=0 24..15=0 11..5=0 xc
-di 31..25=0x7E 14..12=1 24..15=0 11..5=0 xc
+ei 31..25=0x7E 14..12=0 24..15=0 11..5=0 rdr
+di 31..25=0x7E 14..12=1 24..15=0 11..5=0 rdr
eret 31..25=0x7E 14..12=2 24..15=0 11..0=0
-mfpcr 31..25=0x7E 14..12=4 24..20=0 11..5=0 xc xb
-mtpcr 31..25=0x7E 14..12=5 11..0=0 xa xb
+mfpcr 31..25=0x7E 14..12=4 19..15=0 11..5=0 rdr rs2
+mtpcr 31..25=0x7E 14..12=5 11..0=0 rs1 rs2
# 0x7F is reserved for 64-bit-long instructions
-add.s 31..25=0x68 14..13=0 12..10=0 9..5=0 fc fb fa
-sub.s 31..25=0x68 14..13=0 12..10=0 9..5=1 fc fb fa
-mul.s 31..25=0x68 14..13=0 12..10=0 9..5=2 fc fb fa
-div.s 31..25=0x68 14..13=0 12..10=0 9..5=3 fc fb fa
-sqrt.s 31..25=0x68 14..13=0 12..10=0 9..5=4 19..15=0 fc fa
-sgninj.s 31..25=0x68 14..13=0 12..10=0 9..5=5 fc fb fa
-sgninjn.s 31..25=0x68 14..13=0 12..10=0 9..5=6 fc fb fa
-sgnmul.s 31..25=0x68 14..13=0 12..10=0 9..5=7 fc fb fa
-
-add.d 31..25=0x68 14..13=3 12..10=0 9..5=0 fc fb fa
-sub.d 31..25=0x68 14..13=3 12..10=0 9..5=1 fc fb fa
-mul.d 31..25=0x68 14..13=3 12..10=0 9..5=2 fc fb fa
-div.d 31..25=0x68 14..13=3 12..10=0 9..5=3 fc fb fa
-sqrt.d 31..25=0x68 14..13=3 12..10=0 9..5=4 19..15=0 fc fa
-sgninj.d 31..25=0x68 14..13=3 12..10=0 9..5=5 fc fb fa
-sgninjn.d 31..25=0x68 14..13=3 12..10=0 9..5=6 fc fb fa
-sgnmul.d 31..25=0x68 14..13=3 12..10=0 9..5=7 fc fb fa
-
-trunc.l.s 31..25=0x68 14..13=0 12..10=1 9..5=0 19..15=0 fc fa
-truncu.l.s 31..25=0x68 14..13=0 12..10=1 9..5=1 19..15=0 fc fa
-trunc.w.s 31..25=0x68 14..13=0 12..10=1 9..5=2 19..15=0 fc fa
-truncu.w.s 31..25=0x68 14..13=0 12..10=1 9..5=3 19..15=0 fc fa
-
-trunc.l.d 31..25=0x68 14..13=3 12..10=1 9..5=0 19..15=0 fc fa
-truncu.l.d 31..25=0x68 14..13=3 12..10=1 9..5=1 19..15=0 fc fa
-trunc.w.d 31..25=0x68 14..13=3 12..10=1 9..5=2 19..15=0 fc fa
-truncu.w.d 31..25=0x68 14..13=3 12..10=1 9..5=3 19..15=0 fc fa
-
-cvt.s.l 31..25=0x68 14..13=0 12..10=1 9..5=4 19..15=0 fc fa
-cvtu.s.l 31..25=0x68 14..13=0 12..10=1 9..5=5 19..15=0 fc fa
-cvt.s.w 31..25=0x68 14..13=0 12..10=1 9..5=6 19..15=0 fc fa
-cvtu.s.w 31..25=0x68 14..13=0 12..10=1 9..5=7 19..15=0 fc fa
-
-cvt.d.l 31..25=0x68 14..13=3 12..10=1 9..5=4 19..15=0 fc fa
-cvtu.d.l 31..25=0x68 14..13=3 12..10=1 9..5=5 19..15=0 fc fa
-cvt.d.w 31..25=0x68 14..13=3 12..10=1 9..5=6 19..15=0 fc fa
-cvtu.d.w 31..25=0x68 14..13=3 12..10=1 9..5=7 19..15=0 fc fa
-
-cvt.s.d 31..25=0x68 14..13=0 12..10=1 9..5=0x13 19..15=0 fc fa
-cvt.d.s 31..25=0x68 14..13=3 12..10=1 9..5=0x10 19..15=0 fc fa
-
-c.eq.s 31..25=0x68 14..13=0 12..10=2 9..5=1 xc fa fb
-c.lt.s 31..25=0x68 14..13=0 12..10=2 9..5=2 xc fa fb
-c.le.s 31..25=0x68 14..13=0 12..10=2 9..5=3 xc fa fb
-
-c.eq.d 31..25=0x68 14..13=3 12..10=2 9..5=1 xc fa fb
-c.lt.d 31..25=0x68 14..13=3 12..10=2 9..5=2 xc fa fb
-c.le.d 31..25=0x68 14..13=3 12..10=2 9..5=3 xc fa fb
-
-l.s 31..25=0x69 14..13=0 12=0 fa xb imm
-l.d 31..25=0x69 14..13=3 12=0 fa xb imm
-s.s 31..25=0x69 14..13=0 12=1 fa xb imm
-s.d 31..25=0x69 14..13=3 12=1 fa xb imm
-
-mff.s 31..25=0x6A 19..15=0 14..13=0 12..10=0 9..5=0 xc fa
-mff.d 31..25=0x6A 19..15=0 14..13=3 12..10=0 9..5=0 xc fa
-mffh.d 31..25=0x6A 19..15=0 14..13=3 12..10=1 9..5=0 xc fa
-mtf.s 31..25=0x6A 19..15=0 14..13=0 12..10=2 9..5=0 fc xa
-mtf.d 31..25=0x6A 19..15=0 14..13=3 12..10=2 9..5=0 fc xa
-mtflh.d 31..25=0x6A 14..13=3 12..10=3 9..5=0 fc xa xb
-
-madd.s 31..25=0x6B 14..13=0 12..10=0 fc fb fa fd
-msub.s 31..25=0x6B 14..13=0 12..10=1 fc fb fa fd
-nmadd.s 31..25=0x6B 14..13=0 12..10=2 fc fb fa fd
-nmsub.s 31..25=0x6B 14..13=0 12..10=3 fc fb fa fd
-
-madd.d 31..25=0x6B 14..13=3 12..10=0 fc fb fa fd
-msub.d 31..25=0x6B 14..13=3 12..10=1 fc fb fa fd
-nmadd.d 31..25=0x6B 14..13=3 12..10=2 fc fb fa fd
-nmsub.d 31..25=0x6B 14..13=3 12..10=3 fc fb fa fd
+add.s 31..25=0x68 14..13=0 12..10=0 9..5=0 rdr rs1 rs2
+sub.s 31..25=0x68 14..13=0 12..10=0 9..5=1 rdr rs1 rs2
+mul.s 31..25=0x68 14..13=0 12..10=0 9..5=2 rdr rs1 rs2
+div.s 31..25=0x68 14..13=0 12..10=0 9..5=3 rdr rs1 rs2
+sqrt.s 31..25=0x68 14..13=0 12..10=0 9..5=4 24..20=0 rdr rs1
+sgninj.s 31..25=0x68 14..13=0 12..10=0 9..5=5 rdr rs1 rs2
+sgninjn.s 31..25=0x68 14..13=0 12..10=0 9..5=6 rdr rs1 rs2
+sgnmul.s 31..25=0x68 14..13=0 12..10=0 9..5=7 rdr rs1 rs2
+
+add.d 31..25=0x68 14..13=3 12..10=0 9..5=0 rdr rs1 rs2
+sub.d 31..25=0x68 14..13=3 12..10=0 9..5=1 rdr rs1 rs2
+mul.d 31..25=0x68 14..13=3 12..10=0 9..5=2 rdr rs1 rs2
+div.d 31..25=0x68 14..13=3 12..10=0 9..5=3 rdr rs1 rs2
+sqrt.d 31..25=0x68 14..13=3 12..10=0 9..5=4 24..20=0 rdr rs1
+sgninj.d 31..25=0x68 14..13=3 12..10=0 9..5=5 rdr rs1 rs2
+sgninjn.d 31..25=0x68 14..13=3 12..10=0 9..5=6 rdr rs1 rs2
+sgnmul.d 31..25=0x68 14..13=3 12..10=0 9..5=7 rdr rs1 rs2
+
+trunc.l.s 31..25=0x68 14..13=0 12..10=1 9..5=0 24..20=0 rdr rs1
+truncu.l.s 31..25=0x68 14..13=0 12..10=1 9..5=1 24..20=0 rdr rs1
+trunc.w.s 31..25=0x68 14..13=0 12..10=1 9..5=2 24..20=0 rdr rs1
+truncu.w.s 31..25=0x68 14..13=0 12..10=1 9..5=3 24..20=0 rdr rs1
+
+trunc.l.d 31..25=0x68 14..13=3 12..10=1 9..5=0 24..20=0 rdr rs1
+truncu.l.d 31..25=0x68 14..13=3 12..10=1 9..5=1 24..20=0 rdr rs1
+trunc.w.d 31..25=0x68 14..13=3 12..10=1 9..5=2 24..20=0 rdr rs1
+truncu.w.d 31..25=0x68 14..13=3 12..10=1 9..5=3 24..20=0 rdr rs1
+
+cvt.s.l 31..25=0x68 14..13=0 12..10=1 9..5=4 24..20=0 rdr rs1
+cvtu.s.l 31..25=0x68 14..13=0 12..10=1 9..5=5 24..20=0 rdr rs1
+cvt.s.w 31..25=0x68 14..13=0 12..10=1 9..5=6 24..20=0 rdr rs1
+cvtu.s.w 31..25=0x68 14..13=0 12..10=1 9..5=7 24..20=0 rdr rs1
+
+cvt.d.l 31..25=0x68 14..13=3 12..10=1 9..5=4 24..20=0 rdr rs1
+cvtu.d.l 31..25=0x68 14..13=3 12..10=1 9..5=5 24..20=0 rdr rs1
+cvt.d.w 31..25=0x68 14..13=3 12..10=1 9..5=6 24..20=0 rdr rs1
+cvtu.d.w 31..25=0x68 14..13=3 12..10=1 9..5=7 24..20=0 rdr rs1
+
+cvt.s.d 31..25=0x68 14..13=0 12..10=1 9..5=0x13 24..20=0 rdr rs1
+cvt.d.s 31..25=0x68 14..13=3 12..10=1 9..5=0x10 24..20=0 rdr rs1
+
+c.eq.s 31..25=0x68 14..13=0 12..10=2 9..5=1 rdr rs1 rs2
+c.lt.s 31..25=0x68 14..13=0 12..10=2 9..5=2 rdr rs1 rs2
+c.le.s 31..25=0x68 14..13=0 12..10=2 9..5=3 rdr rs1 rs2
+
+c.eq.d 31..25=0x68 14..13=3 12..10=2 9..5=1 rdr rs1 rs2
+c.lt.d 31..25=0x68 14..13=3 12..10=2 9..5=2 rdr rs1 rs2
+c.le.d 31..25=0x68 14..13=3 12..10=2 9..5=3 rdr rs1 rs2
+
+l.s 31..25=0x69 14..13=0 12=0 rdi rs1 imm12
+l.d 31..25=0x69 14..13=3 12=0 rdi rs1 imm12
+s.s 31..25=0x69 14..13=0 12=1 rs2 rs1 imm12
+s.d 31..25=0x69 14..13=3 12=1 rs2 rs1 imm12
+
+mff.s 31..25=0x6A 24..20=0 14..13=0 12..10=0 9..5=0 rdr rs1
+mff.d 31..25=0x6A 24..20=0 14..13=3 12..10=0 9..5=0 rdr rs1
+mffh.d 31..25=0x6A 24..20=0 14..13=3 12..10=1 9..5=0 rdr rs1
+mtf.s 31..25=0x6A 24..20=0 14..13=0 12..10=2 9..5=0 rdr rs1
+mtf.d 31..25=0x6A 24..20=0 14..13=3 12..10=2 9..5=0 rdr rs1
+mtflh.d 31..25=0x6A 14..13=3 12..10=3 9..5=0 rdr rs1 rs2
+
+madd.s 31..25=0x6B 14..13=0 12..10=0 rdr rs1 rs2 rs3
+msub.s 31..25=0x6B 14..13=0 12..10=1 rdr rs1 rs2 rs3
+nmadd.s 31..25=0x6B 14..13=0 12..10=2 rdr rs1 rs2 rs3
+nmsub.s 31..25=0x6B 14..13=0 12..10=3 rdr rs1 rs2 rs3
+
+madd.d 31..25=0x6B 14..13=3 12..10=0 rdr rs1 rs2 rs3
+msub.d 31..25=0x6B 14..13=3 12..10=1 rdr rs1 rs2 rs3
+nmadd.d 31..25=0x6B 14..13=3 12..10=2 rdr rs1 rs2 rs3
+nmsub.d 31..25=0x6B 14..13=3 12..10=3 rdr rs1 rs2 rs3
diff --git a/parse-opcodes b/parse-opcodes
index 1151e1f..47f11e8 100755
--- a/parse-opcodes
+++ b/parse-opcodes
@@ -11,16 +11,14 @@ arguments = {}
types = {}
arglut = {}
-arglut['xa'] = (24,20)
-arglut['xb'] = (19,15)
-arglut['xc'] = (4,0)
-arglut['fa'] = (24,20)
-arglut['fb'] = (19,15)
-arglut['fc'] = (4,0)
-arglut['fd'] = (9,5)
+arglut['rdi'] = (24,20)
+arglut['rs2'] = (24,20)
+arglut['rs1'] = (19,15)
+arglut['rdr'] = (4,0)
+arglut['rs3'] = (9,5)
arglut['imm27'] = (26,0)
arglut['imm20'] = (19,0)
-arglut['imm'] = (11,0)
+arglut['imm12'] = (11,0)
arglut['shamt'] = (5,0)
arglut['shamtw'] = (4,0)
@@ -186,7 +184,7 @@ def print_lui_type(name,match,arguments):
""" % \
( \
binary(yank(match,25,7),7), \
- str_arg('xa','fa',match,arguments), \
+ str_arg('rs1','',match,arguments), \
str_arg('imm20','',match,arguments), \
str_inst(name,arguments) \
)
@@ -203,10 +201,10 @@ def print_i_type(name,match,arguments):
""" % \
( \
binary(yank(match,25,7),7), \
- str_arg('xa','fa',match,arguments), \
- str_arg('xb','fb',match,arguments), \
+ str_arg('rs1','',match,arguments), \
+ str_arg('rs2','',match,arguments), \
binary(yank(match,12,3),3), \
- str_arg('imm','',match,arguments), \
+ str_arg('imm12','',match,arguments), \
str_inst(name,arguments) \
)
@@ -222,8 +220,8 @@ def print_ish_type(name,match,arguments):
""" % \
( \
binary(yank(match,25,7),7), \
- str_arg('xa','',match,arguments), \
- str_arg('xb','',match,arguments), \
+ str_arg('rdi','',match,arguments), \
+ str_arg('rs1','',match,arguments), \
binary(yank(match,6,9),9), \
str_arg('shamt','',match,arguments), \
str_inst(name,arguments) \
@@ -242,8 +240,8 @@ def print_ishw_type(name,match,arguments):
""" % \
( \
binary(yank(match,25,7),7), \
- str_arg('xa','',match,arguments), \
- str_arg('xb','',match,arguments), \
+ str_arg('rdi','',match,arguments), \
+ str_arg('rs1','',match,arguments), \
binary(yank(match,6,9),9), \
str_arg('shamtw','',match,arguments), \
str_inst(name,arguments) \
@@ -261,10 +259,10 @@ def print_r_type(name,match,arguments):
""" % \
( \
binary(yank(match,25,7),7), \
- str_arg('xa','fa',match,arguments), \
- str_arg('xb','fb',match,arguments), \
+ str_arg('rs2','',match,arguments), \
+ str_arg('rs1','',match,arguments), \
binary(yank(match,5,10),10), \
- str_arg('xc','fc',match,arguments), \
+ str_arg('rdr','',match,arguments), \
str_inst(name,arguments) \
)
@@ -281,11 +279,11 @@ def print_r4_type(name,match,arguments):
""" % \
( \
binary(yank(match,25,7),7), \
- str_arg('fa','',match,arguments), \
- str_arg('fb','',match,arguments), \
+ str_arg('rs2','',match,arguments), \
+ str_arg('rs1','',match,arguments), \
binary(yank(match,10,5),5), \
- str_arg('fd','',match,arguments), \
- str_arg('fc','',match,arguments), \
+ str_arg('rs3','',match,arguments), \
+ str_arg('rdr','',match,arguments), \
str_inst(name,arguments) \
)
@@ -479,7 +477,7 @@ def print_verilog_lui_type(name,match,arguments):
( \
name.replace('.','_').upper(), \
binary(yank(match,25,7),7), \
- str_verilog_arg('xa','fa',match,arguments), \
+ str_verilog_arg('rdi','',match,arguments), \
str_verilog_arg('imm20','',match,arguments) \
)
@@ -488,10 +486,10 @@ def print_verilog_i_type(name,match,arguments):
( \
name.replace('.','_').upper(), \
binary(yank(match,25,7),7), \
- str_verilog_arg('xa','fa',match,arguments), \
- str_verilog_arg('xb','fb',match,arguments), \
+ str_verilog_arg('rdi','',match,arguments), \
+ str_verilog_arg('rs1','',match,arguments), \
binary(yank(match,12,3),3), \
- str_verilog_arg('imm','',match,arguments) \
+ str_verilog_arg('imm12','',match,arguments) \
)
def print_verilog_ish_type(name,match,arguments):
@@ -499,8 +497,8 @@ def print_verilog_ish_type(name,match,arguments):
( \
name.replace('.','_').upper(), \
binary(yank(match,25,7),7), \
- str_verilog_arg('xa','',match,arguments), \
- str_verilog_arg('xb','',match,arguments), \
+ str_verilog_arg('rdi','',match,arguments), \
+ str_verilog_arg('rs1','',match,arguments), \
binary(yank(match,6,9),9), \
str_verilog_arg('shamt','',match,arguments) \
)
@@ -510,8 +508,8 @@ def print_verilog_ishw_type(name,match,arguments):
( \
name.replace('.','_').upper(), \
binary(yank(match,25,7),7), \
- str_verilog_arg('xa','',match,arguments), \
- str_verilog_arg('xb','',match,arguments), \
+ str_verilog_arg('rdi','',match,arguments), \
+ str_verilog_arg('rs1','',match,arguments), \
binary(yank(match,6,9),9), \
str_verilog_arg('shamtw','',match,arguments) \
)
@@ -521,11 +519,11 @@ def print_verilog_r4_type(name,match,arguments):
( \
name.replace('.','_').upper(), \
binary(yank(match,25,7),7), \
- str_verilog_arg('fa','',match,arguments), \
- str_verilog_arg('fb','',match,arguments), \
+ str_verilog_arg('rs2','',match,arguments), \
+ str_verilog_arg('rs1','',match,arguments), \
binary(yank(match,10,5),5), \
- str_verilog_arg('fd','',match,arguments), \
- str_verilog_arg('fc','',match,arguments) \
+ str_verilog_arg('rs3','',match,arguments), \
+ str_verilog_arg('rdr','',match,arguments) \
)
def print_verilog_r_type(name,match,arguments):
@@ -533,10 +531,10 @@ def print_verilog_r_type(name,match,arguments):
( \
name.replace('.','_').upper(), \
binary(yank(match,25,7),7), \
- str_verilog_arg('xa','fa',match,arguments), \
- str_verilog_arg('xb','fb',match,arguments), \
+ str_verilog_arg('rs2','',match,arguments), \
+ str_verilog_arg('rs1','',match,arguments), \
binary(yank(match,5,10),10), \
- str_verilog_arg('xc','fc',match,arguments) \
+ str_verilog_arg('rdr','',match,arguments) \
)
def make_verilog():