From f07ca41d40688ec2b054997278d1dd15bc1e87c3 Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Tue, 28 Sep 2010 17:17:04 -0700 Subject: [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 --- inst.v | 109 ++++++------ instr-table.tex | 539 ++++++++++++++++++++++++++++---------------------------- opcodes | 130 +++++++------- 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 @@ -1012,29 +1012,11 @@ \cline{2-10} -& -\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} @@ -1055,150 +1037,6 @@ \cline{2-10} -& -\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} & @@ -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 -- cgit v1.2.3