summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Andrew Waterman <waterman@s141.Millennium.Berkeley.EDU>2010-09-28 17:17:04 -0700
committerGravatar Andrew Waterman <waterman@s141.Millennium.Berkeley.EDU>2010-09-28 17:17:04 -0700
commitf07ca41d40688ec2b054997278d1dd15bc1e87c3 (patch)
tree2d06251a901241902cfd65c36bddb6fa63ba5d3a
parentbb5f421fcd395ed348044b2697bcbb5efc22dad3 (diff)
[opcodes, sim, xcc] added mffl.d instruction
...to be used instead of mff.s when doing int -> DP FP moves on a 32-bit cpu
-rw-r--r--inst.v109
-rw-r--r--instr-table.tex539
-rw-r--r--opcodes130
3 files changed, 386 insertions, 392 deletions
diff --git a/inst.v b/inst.v
index 08d26f3..a8530bf 100644
--- a/inst.v
+++ b/inst.v
@@ -93,61 +93,62 @@
`define ERET 32'b1111110_00000_00000_0100000000_00000
`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 SGNINJ_S 32'b1101000_?????_?????_0000000101_?????
-`define SGNINJN_S 32'b1101000_?????_?????_0000000110_?????
-`define SGNMUL_S 32'b1101000_?????_?????_0000000111_?????
-`define ADD_D 32'b1101000_?????_?????_1100000000_?????
-`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 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 C_EQ_S 32'b1101000_?????_?????_0001000001_?????
-`define C_LT_S 32'b1101000_?????_?????_0001000010_?????
-`define C_LE_S 32'b1101000_?????_?????_0001000011_?????
-`define C_EQ_D 32'b1101000_?????_?????_1101000001_?????
-`define C_LT_D 32'b1101000_?????_?????_1101000010_?????
-`define C_LE_D 32'b1101000_?????_?????_1101000011_?????
-`define L_S 32'b1101001_?????_?????_000_????????????
-`define L_D 32'b1101001_?????_?????_110_????????????
-`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 ADD_S 32'b1101010_?????_?????_0000000000_?????
+`define SUB_S 32'b1101010_?????_?????_0000000001_?????
+`define MUL_S 32'b1101010_?????_?????_0000000010_?????
+`define DIV_S 32'b1101010_?????_?????_0000000011_?????
+`define SQRT_S 32'b1101010_00000_?????_0000000100_?????
+`define SGNINJ_S 32'b1101010_?????_?????_0000000101_?????
+`define SGNINJN_S 32'b1101010_?????_?????_0000000110_?????
+`define SGNMUL_S 32'b1101010_?????_?????_0000000111_?????
+`define ADD_D 32'b1101010_?????_?????_1100000000_?????
+`define SUB_D 32'b1101010_?????_?????_1100000001_?????
+`define MUL_D 32'b1101010_?????_?????_1100000010_?????
+`define DIV_D 32'b1101010_?????_?????_1100000011_?????
+`define SQRT_D 32'b1101010_00000_?????_1100000100_?????
+`define SGNINJ_D 32'b1101010_?????_?????_1100000101_?????
+`define SGNINJN_D 32'b1101010_?????_?????_1100000110_?????
+`define SGNMUL_D 32'b1101010_?????_?????_1100000111_?????
+`define TRUNC_L_S 32'b1101010_00000_?????_0000100000_?????
+`define TRUNCU_L_S 32'b1101010_00000_?????_0000100001_?????
+`define TRUNC_W_S 32'b1101010_00000_?????_0000100010_?????
+`define TRUNCU_W_S 32'b1101010_00000_?????_0000100011_?????
+`define TRUNC_L_D 32'b1101010_00000_?????_1100100000_?????
+`define TRUNCU_L_D 32'b1101010_00000_?????_1100100001_?????
+`define TRUNC_W_D 32'b1101010_00000_?????_1100100010_?????
+`define TRUNCU_W_D 32'b1101010_00000_?????_1100100011_?????
+`define CVT_S_L 32'b1101010_00000_?????_0000100100_?????
+`define CVTU_S_L 32'b1101010_00000_?????_0000100101_?????
+`define CVT_S_W 32'b1101010_00000_?????_0000100110_?????
+`define CVTU_S_W 32'b1101010_00000_?????_0000100111_?????
+`define CVT_D_L 32'b1101010_00000_?????_1100100100_?????
+`define CVTU_D_L 32'b1101010_00000_?????_1100100101_?????
+`define CVT_D_W 32'b1101010_00000_?????_1100100110_?????
+`define CVTU_D_W 32'b1101010_00000_?????_1100100111_?????
+`define CVT_S_D 32'b1101010_00000_?????_0000110011_?????
+`define CVT_D_S 32'b1101010_00000_?????_1100110000_?????
+`define C_EQ_S 32'b1101010_?????_?????_0001000001_?????
+`define C_LT_S 32'b1101010_?????_?????_0001000010_?????
+`define C_LE_S 32'b1101010_?????_?????_0001000011_?????
+`define C_EQ_D 32'b1101010_?????_?????_1101000001_?????
+`define C_LT_D 32'b1101010_?????_?????_1101000010_?????
+`define C_LE_D 32'b1101010_?????_?????_1101000011_?????
+`define MTFLH_D 32'b1101010_?????_?????_1110000000_?????
+`define MFFL_D 32'b1101010_00000_?????_0010100000_?????
+`define MFFH_D 32'b1101010_00000_?????_0010100001_?????
+`define MFF_S 32'b1101010_00000_?????_0011000000_?????
+`define MFF_D 32'b1101010_00000_?????_1111000000_?????
+`define MTF_S 32'b1101010_00000_?????_0011100000_?????
+`define MTF_D 32'b1101010_00000_?????_1111100000_?????
+`define L_S 32'b1101000_00000_?????_0100000000_00000
+`define L_D 32'b1101000_00000_?????_0110000000_00000
+`define S_S 32'b1101001_00000_?????_010_????????????
+`define S_D 32'b1101001_00000_?????_011_????????????
`define MADD_S 32'b1101011_?????_?????_00000_?????_?????
`define MSUB_S 32'b1101011_?????_?????_00001_?????_?????
-`define NMADD_S 32'b1101011_?????_?????_00010_?????_?????
-`define NMSUB_S 32'b1101011_?????_?????_00011_?????_?????
+`define NMSUB_S 32'b1101011_?????_?????_00010_?????_?????
+`define NMADD_S 32'b1101011_?????_?????_00011_?????_?????
`define MADD_D 32'b1101011_?????_?????_11000_?????_?????
`define MSUB_D 32'b1101011_?????_?????_11001_?????_?????
-`define NMADD_D 32'b1101011_?????_?????_11010_?????_?????
-`define NMSUB_D 32'b1101011_?????_?????_11011_?????_?????
+`define NMSUB_D 32'b1101011_?????_?????_11010_?????_?????
+`define NMADD_D 32'b1101011_?????_?????_11011_?????_?????
diff --git a/instr-table.tex b/instr-table.tex
index 1f5fb71..602afbf 100644
--- a/instr-table.tex
+++ b/instr-table.tex
@@ -1015,26 +1015,8 @@
&
\multicolumn{2}{|c|}{1101001} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{00000} &
-\multicolumn{1}{c|}{000} &
-\multicolumn{4}{c|}{imm12} & L.S rdi,rs1,imm12 \\
-\cline{2-10}
-
-
-&
-\multicolumn{2}{|c|}{1101001} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{00000} &
-\multicolumn{1}{c|}{110} &
-\multicolumn{4}{c|}{imm12} & L.D rdi,rs1,imm12 \\
-\cline{2-10}
-
-
-&
-\multicolumn{2}{|c|}{1101001} &
-\multicolumn{1}{c|}{rs1} &
\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{001} &
+\multicolumn{1}{c|}{010} &
\multicolumn{4}{c|}{imm12} & S.S rs2,rs1,imm12 \\
\cline{2-10}
@@ -1043,7 +1025,7 @@
\multicolumn{2}{|c|}{1101001} &
\multicolumn{1}{c|}{rs1} &
\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{111} &
+\multicolumn{1}{c|}{011} &
\multicolumn{4}{c|}{imm12} & S.D rs2,rs1,imm12 \\
\cline{2-10}
@@ -1056,150 +1038,6 @@
&
-\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{0000000000} &
-\multicolumn{1}{c|}{rdr} & ADD.S rdr,rs1,rs2 \\
-\cline{2-10}
-
-
-&
-\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{0000000001} &
-\multicolumn{1}{c|}{rdr} & SUB.S rdr,rs1,rs2 \\
-\cline{2-10}
-
-
-&
-\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{0000000010} &
-\multicolumn{1}{c|}{rdr} & MUL.S rdr,rs1,rs2 \\
-\cline{2-10}
-
-
-&
-\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{0000000011} &
-\multicolumn{1}{c|}{rdr} & DIV.S rdr,rs1,rs2 \\
-\cline{2-10}
-
-
-&
-\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{00000} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{0000000100} &
-\multicolumn{1}{c|}{rdr} & SQRT.S rdr,rs1 \\
-\cline{2-10}
-
-
-&
-\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{0000000101} &
-\multicolumn{1}{c|}{rdr} & SGNINJ.S rdr,rs1,rs2 \\
-\cline{2-10}
-
-
-&
-\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{0000000110} &
-\multicolumn{1}{c|}{rdr} & SGNINJN.S rdr,rs1,rs2 \\
-\cline{2-10}
-
-
-&
-\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{0000000111} &
-\multicolumn{1}{c|}{rdr} & SGNMUL.S rdr,rs1,rs2 \\
-\cline{2-10}
-
-
-&
-\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{1100000000} &
-\multicolumn{1}{c|}{rdr} & ADD.D rdr,rs1,rs2 \\
-\cline{2-10}
-
-
-&
-\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{1100000001} &
-\multicolumn{1}{c|}{rdr} & SUB.D rdr,rs1,rs2 \\
-\cline{2-10}
-
-
-&
-\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{1100000010} &
-\multicolumn{1}{c|}{rdr} & MUL.D rdr,rs1,rs2 \\
-\cline{2-10}
-
-
-&
-\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{1100000011} &
-\multicolumn{1}{c|}{rdr} & DIV.D rdr,rs1,rs2 \\
-\cline{2-10}
-
-
-&
-\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{00000} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{1100000100} &
-\multicolumn{1}{c|}{rdr} & SQRT.D rdr,rs1 \\
-\cline{2-10}
-
-
-&
-\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{1100000101} &
-\multicolumn{1}{c|}{rdr} & SGNINJ.D rdr,rs1,rs2 \\
-\cline{2-10}
-
-
-&
-\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{1100000110} &
-\multicolumn{1}{c|}{rdr} & SGNINJN.D rdr,rs1,rs2 \\
-\cline{2-10}
-
-
-&
-\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{1100000111} &
-\multicolumn{1}{c|}{rdr} & SGNMUL.D rdr,rs1,rs2 \\
-\cline{2-10}
-
-
-&
\multicolumn{2}{|c|}{1101011} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
@@ -1225,7 +1063,7 @@
\multicolumn{1}{c|}{rs1} &
\multicolumn{2}{c|}{00010} &
\multicolumn{2}{c|}{rs3} &
-\multicolumn{1}{c|}{rdr} & NMADD.S rdr,rs1,rs2,rs3 \\
+\multicolumn{1}{c|}{rdr} & NMSUB.S rdr,rs1,rs2,rs3 \\
\cline{2-10}
@@ -1235,7 +1073,7 @@
\multicolumn{1}{c|}{rs1} &
\multicolumn{2}{c|}{00011} &
\multicolumn{2}{c|}{rs3} &
-\multicolumn{1}{c|}{rdr} & NMSUB.S rdr,rs1,rs2,rs3 \\
+\multicolumn{1}{c|}{rdr} & NMADD.S rdr,rs1,rs2,rs3 \\
\cline{2-10}
@@ -1265,7 +1103,7 @@
\multicolumn{1}{c|}{rs1} &
\multicolumn{2}{c|}{11010} &
\multicolumn{2}{c|}{rs3} &
-\multicolumn{1}{c|}{rdr} & NMADD.D rdr,rs1,rs2,rs3 \\
+\multicolumn{1}{c|}{rdr} & NMSUB.D rdr,rs1,rs2,rs3 \\
\cline{2-10}
@@ -1275,7 +1113,7 @@
\multicolumn{1}{c|}{rs1} &
\multicolumn{2}{c|}{11011} &
\multicolumn{2}{c|}{rs3} &
-\multicolumn{1}{c|}{rdr} & NMSUB.D rdr,rs1,rs2,rs3 \\
+\multicolumn{1}{c|}{rdr} & NMADD.D rdr,rs1,rs2,rs3 \\
\cline{2-10}
@@ -1286,60 +1124,6 @@
\cline{2-10}
-&
-\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{0001000001} &
-\multicolumn{1}{c|}{rdr} & C.EQ.S rdr,rs1,rs2 \\
-\cline{2-10}
-
-
-&
-\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{0001000010} &
-\multicolumn{1}{c|}{rdr} & C.LT.S rdr,rs1,rs2 \\
-\cline{2-10}
-
-
-&
-\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{0001000011} &
-\multicolumn{1}{c|}{rdr} & C.LE.S rdr,rs1,rs2 \\
-\cline{2-10}
-
-
-&
-\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{1101000001} &
-\multicolumn{1}{c|}{rdr} & C.EQ.D rdr,rs1,rs2 \\
-\cline{2-10}
-
-
-&
-\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{1101000010} &
-\multicolumn{1}{c|}{rdr} & C.LT.D rdr,rs1,rs2 \\
-\cline{2-10}
-
-
-&
-\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{1101000011} &
-\multicolumn{1}{c|}{rdr} & C.LE.D rdr,rs1,rs2 \\
-\cline{2-10}
-
-
\end{tabular}
\end{center}
\end{small}
@@ -1423,88 +1207,187 @@
&
-\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{00000} &
+\multicolumn{2}{|c|}{1101010} &
+\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{0000100000} &
-\multicolumn{1}{c|}{rdr} & TRUNC.L.S rdr,rs1 \\
+\multicolumn{4}{c|}{0000000000} &
+\multicolumn{1}{c|}{rdr} & ADD.S rdr,rs1,rs2 \\
\cline{2-10}
&
-\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{00000} &
+\multicolumn{2}{|c|}{1101010} &
+\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{0000100001} &
-\multicolumn{1}{c|}{rdr} & TRUNCU.L.S rdr,rs1 \\
+\multicolumn{4}{c|}{0000000001} &
+\multicolumn{1}{c|}{rdr} & SUB.S rdr,rs1,rs2 \\
\cline{2-10}
&
-\multicolumn{2}{|c|}{1101000} &
-\multicolumn{1}{c|}{00000} &
+\multicolumn{2}{|c|}{1101010} &
+\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{0000100010} &
-\multicolumn{1}{c|}{rdr} & TRUNC.W.S rdr,rs1 \\
+\multicolumn{4}{c|}{0000000010} &
+\multicolumn{1}{c|}{rdr} & MUL.S rdr,rs1,rs2 \\
+\cline{2-10}
+
+
+&
+\multicolumn{2}{|c|}{1101010} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{4}{c|}{0000000011} &
+\multicolumn{1}{c|}{rdr} & DIV.S rdr,rs1,rs2 \\
\cline{2-10}
&
-\multicolumn{2}{|c|}{1101000} &
+\multicolumn{2}{|c|}{1101010} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{0000100011} &
-\multicolumn{1}{c|}{rdr} & TRUNCU.W.S rdr,rs1 \\
+\multicolumn{4}{c|}{0000000100} &
+\multicolumn{1}{c|}{rdr} & SQRT.S rdr,rs1 \\
+\cline{2-10}
+
+
+&
+\multicolumn{2}{|c|}{1101010} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{4}{c|}{0000000101} &
+\multicolumn{1}{c|}{rdr} & SGNINJ.S rdr,rs1,rs2 \\
+\cline{2-10}
+
+
+&
+\multicolumn{2}{|c|}{1101010} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{4}{c|}{0000000110} &
+\multicolumn{1}{c|}{rdr} & SGNINJN.S rdr,rs1,rs2 \\
\cline{2-10}
&
-\multicolumn{2}{|c|}{1101000} &
+\multicolumn{2}{|c|}{1101010} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{4}{c|}{0000000111} &
+\multicolumn{1}{c|}{rdr} & SGNMUL.S rdr,rs1,rs2 \\
+\cline{2-10}
+
+
+&
+\multicolumn{2}{|c|}{1101010} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{4}{c|}{1100000000} &
+\multicolumn{1}{c|}{rdr} & ADD.D rdr,rs1,rs2 \\
+\cline{2-10}
+
+
+&
+\multicolumn{2}{|c|}{1101010} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{4}{c|}{1100000001} &
+\multicolumn{1}{c|}{rdr} & SUB.D rdr,rs1,rs2 \\
+\cline{2-10}
+
+
+&
+\multicolumn{2}{|c|}{1101010} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{4}{c|}{1100000010} &
+\multicolumn{1}{c|}{rdr} & MUL.D rdr,rs1,rs2 \\
+\cline{2-10}
+
+
+&
+\multicolumn{2}{|c|}{1101010} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{4}{c|}{1100000011} &
+\multicolumn{1}{c|}{rdr} & DIV.D rdr,rs1,rs2 \\
+\cline{2-10}
+
+
+&
+\multicolumn{2}{|c|}{1101010} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{0000100100} &
-\multicolumn{1}{c|}{rdr} & CVT.S.L rdr,rs1 \\
+\multicolumn{4}{c|}{1100000100} &
+\multicolumn{1}{c|}{rdr} & SQRT.D rdr,rs1 \\
+\cline{2-10}
+
+
+&
+\multicolumn{2}{|c|}{1101010} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{4}{c|}{1100000101} &
+\multicolumn{1}{c|}{rdr} & SGNINJ.D rdr,rs1,rs2 \\
\cline{2-10}
&
-\multicolumn{2}{|c|}{1101000} &
+\multicolumn{2}{|c|}{1101010} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{4}{c|}{1100000110} &
+\multicolumn{1}{c|}{rdr} & SGNINJN.D rdr,rs1,rs2 \\
+\cline{2-10}
+
+
+&
+\multicolumn{2}{|c|}{1101010} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{4}{c|}{1100000111} &
+\multicolumn{1}{c|}{rdr} & SGNMUL.D rdr,rs1,rs2 \\
+\cline{2-10}
+
+
+&
+\multicolumn{2}{|c|}{1101010} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{0000100101} &
-\multicolumn{1}{c|}{rdr} & CVTU.S.L rdr,rs1 \\
+\multicolumn{4}{c|}{0000100000} &
+\multicolumn{1}{c|}{rdr} & TRUNC.L.S rdr,rs1 \\
\cline{2-10}
&
-\multicolumn{2}{|c|}{1101000} &
+\multicolumn{2}{|c|}{1101010} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{0000100110} &
-\multicolumn{1}{c|}{rdr} & CVT.S.W rdr,rs1 \\
+\multicolumn{4}{c|}{0000100001} &
+\multicolumn{1}{c|}{rdr} & TRUNCU.L.S rdr,rs1 \\
\cline{2-10}
&
-\multicolumn{2}{|c|}{1101000} &
+\multicolumn{2}{|c|}{1101010} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{0000100111} &
-\multicolumn{1}{c|}{rdr} & CVTU.S.W rdr,rs1 \\
+\multicolumn{4}{c|}{0000100010} &
+\multicolumn{1}{c|}{rdr} & TRUNC.W.S rdr,rs1 \\
\cline{2-10}
&
-\multicolumn{2}{|c|}{1101000} &
+\multicolumn{2}{|c|}{1101010} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{0000110011} &
-\multicolumn{1}{c|}{rdr} & CVT.S.D rdr,rs1 \\
+\multicolumn{4}{c|}{0000100011} &
+\multicolumn{1}{c|}{rdr} & TRUNCU.W.S rdr,rs1 \\
\cline{2-10}
&
-\multicolumn{2}{|c|}{1101000} &
+\multicolumn{2}{|c|}{1101010} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1100100000} &
@@ -1513,7 +1396,7 @@
&
-\multicolumn{2}{|c|}{1101000} &
+\multicolumn{2}{|c|}{1101010} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1100100001} &
@@ -1522,7 +1405,7 @@
&
-\multicolumn{2}{|c|}{1101000} &
+\multicolumn{2}{|c|}{1101010} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1100100010} &
@@ -1531,7 +1414,7 @@
&
-\multicolumn{2}{|c|}{1101000} &
+\multicolumn{2}{|c|}{1101010} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1100100011} &
@@ -1540,7 +1423,43 @@
&
-\multicolumn{2}{|c|}{1101000} &
+\multicolumn{2}{|c|}{1101010} &
+\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{4}{c|}{0000100100} &
+\multicolumn{1}{c|}{rdr} & CVT.S.L rdr,rs1 \\
+\cline{2-10}
+
+
+&
+\multicolumn{2}{|c|}{1101010} &
+\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{4}{c|}{0000100101} &
+\multicolumn{1}{c|}{rdr} & CVTU.S.L rdr,rs1 \\
+\cline{2-10}
+
+
+&
+\multicolumn{2}{|c|}{1101010} &
+\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{4}{c|}{0000100110} &
+\multicolumn{1}{c|}{rdr} & CVT.S.W rdr,rs1 \\
+\cline{2-10}
+
+
+&
+\multicolumn{2}{|c|}{1101010} &
+\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{4}{c|}{0000100111} &
+\multicolumn{1}{c|}{rdr} & CVTU.S.W rdr,rs1 \\
+\cline{2-10}
+
+
+&
+\multicolumn{2}{|c|}{1101010} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1100100100} &
@@ -1549,7 +1468,7 @@
&
-\multicolumn{2}{|c|}{1101000} &
+\multicolumn{2}{|c|}{1101010} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1100100101} &
@@ -1558,7 +1477,7 @@
&
-\multicolumn{2}{|c|}{1101000} &
+\multicolumn{2}{|c|}{1101010} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1100100110} &
@@ -1567,7 +1486,7 @@
&
-\multicolumn{2}{|c|}{1101000} &
+\multicolumn{2}{|c|}{1101010} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1100100111} &
@@ -1576,7 +1495,16 @@
&
-\multicolumn{2}{|c|}{1101000} &
+\multicolumn{2}{|c|}{1101010} &
+\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{4}{c|}{0000110011} &
+\multicolumn{1}{c|}{rdr} & CVT.S.D rdr,rs1 \\
+\cline{2-10}
+
+
+&
+\multicolumn{2}{|c|}{1101010} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
\multicolumn{4}{c|}{1100110000} &
@@ -1586,10 +1514,64 @@
&
\multicolumn{2}{|c|}{1101010} &
-\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{0000000000} &
-\multicolumn{1}{c|}{rdr} & MFF.S rdr,rs1 \\
+\multicolumn{4}{c|}{0001000001} &
+\multicolumn{1}{c|}{rdr} & C.EQ.S rdr,rs1,rs2 \\
+\cline{2-10}
+
+
+&
+\multicolumn{2}{|c|}{1101010} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{4}{c|}{0001000010} &
+\multicolumn{1}{c|}{rdr} & C.LT.S rdr,rs1,rs2 \\
+\cline{2-10}
+
+
+&
+\multicolumn{2}{|c|}{1101010} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{4}{c|}{0001000011} &
+\multicolumn{1}{c|}{rdr} & C.LE.S rdr,rs1,rs2 \\
+\cline{2-10}
+
+
+&
+\multicolumn{2}{|c|}{1101010} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{4}{c|}{1101000001} &
+\multicolumn{1}{c|}{rdr} & C.EQ.D rdr,rs1,rs2 \\
+\cline{2-10}
+
+
+&
+\multicolumn{2}{|c|}{1101010} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{4}{c|}{1101000010} &
+\multicolumn{1}{c|}{rdr} & C.LT.D rdr,rs1,rs2 \\
+\cline{2-10}
+
+
+&
+\multicolumn{2}{|c|}{1101010} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{4}{c|}{1101000011} &
+\multicolumn{1}{c|}{rdr} & C.LE.D rdr,rs1,rs2 \\
+\cline{2-10}
+
+
+&
+\multicolumn{2}{|c|}{1101010} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{4}{c|}{1110000000} &
+\multicolumn{1}{c|}{rdr} & MTFLH.D rdr,rs1,rs2 \\
\cline{2-10}
@@ -1597,8 +1579,8 @@
\multicolumn{2}{|c|}{1101010} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{1100000000} &
-\multicolumn{1}{c|}{rdr} & MFF.D rdr,rs1 \\
+\multicolumn{4}{c|}{0010100000} &
+\multicolumn{1}{c|}{rdr} & MFFL.D rdr,rs1 \\
\cline{2-10}
@@ -1606,7 +1588,7 @@
\multicolumn{2}{|c|}{1101010} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{1100100000} &
+\multicolumn{4}{c|}{0010100001} &
\multicolumn{1}{c|}{rdr} & MFFH.D rdr,rs1 \\
\cline{2-10}
@@ -1615,8 +1597,8 @@
\multicolumn{2}{|c|}{1101010} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{0001000000} &
-\multicolumn{1}{c|}{rdr} & MTF.S rdr,rs1 \\
+\multicolumn{4}{c|}{0011000000} &
+\multicolumn{1}{c|}{rdr} & MFF.S rdr,rs1 \\
\cline{2-10}
@@ -1624,17 +1606,26 @@
\multicolumn{2}{|c|}{1101010} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{1101000000} &
-\multicolumn{1}{c|}{rdr} & MTF.D rdr,rs1 \\
+\multicolumn{4}{c|}{1111000000} &
+\multicolumn{1}{c|}{rdr} & MFF.D rdr,rs1 \\
\cline{2-10}
&
\multicolumn{2}{|c|}{1101010} &
-\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{4}{c|}{1101100000} &
-\multicolumn{1}{c|}{rdr} & MTFLH.D rdr,rs1,rs2 \\
+\multicolumn{4}{c|}{0011100000} &
+\multicolumn{1}{c|}{rdr} & MTF.S rdr,rs1 \\
+\cline{2-10}
+
+
+&
+\multicolumn{2}{|c|}{1101010} &
+\multicolumn{1}{c|}{00000} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{4}{c|}{1111100000} &
+\multicolumn{1}{c|}{rdr} & MTF.D rdr,rs1 \\
\cline{2-10}
diff --git a/opcodes b/opcodes
index 8305117..555e73c 100644
--- a/opcodes
+++ b/opcodes
@@ -121,74 +121,76 @@ 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 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
+add.s 31..25=0x6A 14..13=0 12..10=0 9..5=0 rdr rs1 rs2
+sub.s 31..25=0x6A 14..13=0 12..10=0 9..5=1 rdr rs1 rs2
+mul.s 31..25=0x6A 14..13=0 12..10=0 9..5=2 rdr rs1 rs2
+div.s 31..25=0x6A 14..13=0 12..10=0 9..5=3 rdr rs1 rs2
+sqrt.s 31..25=0x6A 14..13=0 12..10=0 9..5=4 24..20=0 rdr rs1
+sgninj.s 31..25=0x6A 14..13=0 12..10=0 9..5=5 rdr rs1 rs2
+sgninjn.s 31..25=0x6A 14..13=0 12..10=0 9..5=6 rdr rs1 rs2
+sgnmul.s 31..25=0x6A 14..13=0 12..10=0 9..5=7 rdr rs1 rs2
+
+add.d 31..25=0x6A 14..13=3 12..10=0 9..5=0 rdr rs1 rs2
+sub.d 31..25=0x6A 14..13=3 12..10=0 9..5=1 rdr rs1 rs2
+mul.d 31..25=0x6A 14..13=3 12..10=0 9..5=2 rdr rs1 rs2
+div.d 31..25=0x6A 14..13=3 12..10=0 9..5=3 rdr rs1 rs2
+sqrt.d 31..25=0x6A 14..13=3 12..10=0 9..5=4 24..20=0 rdr rs1
+sgninj.d 31..25=0x6A 14..13=3 12..10=0 9..5=5 rdr rs1 rs2
+sgninjn.d 31..25=0x6A 14..13=3 12..10=0 9..5=6 rdr rs1 rs2
+sgnmul.d 31..25=0x6A 14..13=3 12..10=0 9..5=7 rdr rs1 rs2
+
+trunc.l.s 31..25=0x6A 14..13=0 12..10=1 9..5=0 24..20=0 rdr rs1
+truncu.l.s 31..25=0x6A 14..13=0 12..10=1 9..5=1 24..20=0 rdr rs1
+trunc.w.s 31..25=0x6A 14..13=0 12..10=1 9..5=2 24..20=0 rdr rs1
+truncu.w.s 31..25=0x6A 14..13=0 12..10=1 9..5=3 24..20=0 rdr rs1
+
+trunc.l.d 31..25=0x6A 14..13=3 12..10=1 9..5=0 24..20=0 rdr rs1
+truncu.l.d 31..25=0x6A 14..13=3 12..10=1 9..5=1 24..20=0 rdr rs1
+trunc.w.d 31..25=0x6A 14..13=3 12..10=1 9..5=2 24..20=0 rdr rs1
+truncu.w.d 31..25=0x6A 14..13=3 12..10=1 9..5=3 24..20=0 rdr rs1
+
+cvt.s.l 31..25=0x6A 14..13=0 12..10=1 9..5=4 24..20=0 rdr rs1
+cvtu.s.l 31..25=0x6A 14..13=0 12..10=1 9..5=5 24..20=0 rdr rs1
+cvt.s.w 31..25=0x6A 14..13=0 12..10=1 9..5=6 24..20=0 rdr rs1
+cvtu.s.w 31..25=0x6A 14..13=0 12..10=1 9..5=7 24..20=0 rdr rs1
+
+cvt.d.l 31..25=0x6A 14..13=3 12..10=1 9..5=4 24..20=0 rdr rs1
+cvtu.d.l 31..25=0x6A 14..13=3 12..10=1 9..5=5 24..20=0 rdr rs1
+cvt.d.w 31..25=0x6A 14..13=3 12..10=1 9..5=6 24..20=0 rdr rs1
+cvtu.d.w 31..25=0x6A 14..13=3 12..10=1 9..5=7 24..20=0 rdr rs1
+
+cvt.s.d 31..25=0x6A 14..13=0 12..10=1 9..5=0x13 24..20=0 rdr rs1
+cvt.d.s 31..25=0x6A 14..13=3 12..10=1 9..5=0x10 24..20=0 rdr rs1
+
+c.eq.s 31..25=0x6A 14..13=0 12..10=2 9..5=1 rdr rs1 rs2
+c.lt.s 31..25=0x6A 14..13=0 12..10=2 9..5=2 rdr rs1 rs2
+c.le.s 31..25=0x6A 14..13=0 12..10=2 9..5=3 rdr rs1 rs2
+
+c.eq.d 31..25=0x6A 14..13=3 12..10=2 9..5=1 rdr rs1 rs2
+c.lt.d 31..25=0x6A 14..13=3 12..10=2 9..5=2 rdr rs1 rs2
+c.le.d 31..25=0x6A 14..13=3 12..10=2 9..5=3 rdr rs1 rs2
+
+mtflh.d 31..25=0x6A 14..13=3 12..10=4 9..5=0 rdr rs1 rs2
+mffl.d 31..25=0x6A 24..20=0 14..13=0 12..10=5 9..5=0 rdr rs1
+mffh.d 31..25=0x6A 24..20=0 14..13=0 12..10=5 9..5=1 rdr rs1
+mff.s 31..25=0x6A 24..20=0 14..13=0 12..10=6 9..5=0 rdr rs1
+mff.d 31..25=0x6A 24..20=0 14..13=3 12..10=6 9..5=0 rdr rs1
+mtf.s 31..25=0x6A 24..20=0 14..13=0 12..10=7 9..5=0 rdr rs1
+mtf.d 31..25=0x6A 24..20=0 14..13=3 12..10=7 9..5=0 rdr rs1
+
+l.s 31..25=0x68 14..12=2 rdi rs1 imm12
+l.d 31..25=0x68 14..12=3 rdi rs1 imm12
+
+s.s 31..25=0x69 14..12=2 rs2 rs1 imm12
+s.d 31..25=0x69 14..12=3 rs2 rs1 imm12
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
+nmsub.s 31..25=0x6B 14..13=0 12..10=2 rdr rs1 rs2 rs3
+nmadd.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
+nmsub.d 31..25=0x6B 14..13=3 12..10=2 rdr rs1 rs2 rs3
+nmadd.d 31..25=0x6B 14..13=3 12..10=3 rdr rs1 rs2 rs3