summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Andrew Waterman <waterman@s141.Millennium.Berkeley.EDU>2011-01-20 20:37:22 -0800
committerGravatar Andrew Waterman <waterman@s141.Millennium.Berkeley.EDU>2011-01-20 20:37:22 -0800
commit478ff61a9244f13dbb4c605a32d428e46f0b4d5b (patch)
tree5c4152e015de435377b5092aa9850d56dd4583eb
parentb5770afc54cb5c445db574225d911ce330f62125 (diff)
[sim, pk, xcc, opcodes] great instruction renaming of 2011
-rw-r--r--inst.v160
-rw-r--r--instr-table.tex674
-rw-r--r--opcodes181
-rwxr-xr-xparse-opcodes1
4 files changed, 271 insertions, 745 deletions
diff --git a/inst.v b/inst.v
index 472a5d9..9b15dcc 100644
--- a/inst.v
+++ b/inst.v
@@ -51,34 +51,34 @@
`define DIVUW 32'b?????_?????_?????_0000101001_1110111
`define REMW 32'b?????_?????_?????_0000110001_1110111
`define REMUW 32'b?????_?????_?????_0000111001_1110111
-`define LB 32'b?????_?????_????????????_000_1111000
-`define LH 32'b?????_?????_????????????_001_1111000
-`define LW 32'b?????_?????_????????????_010_1111000
-`define LD 32'b?????_?????_????????????_011_1111000
-`define LBU 32'b?????_?????_????????????_100_1111000
-`define LHU 32'b?????_?????_????????????_101_1111000
-`define LWU 32'b?????_?????_????????????_110_1111000
+`define L_B 32'b?????_?????_????????????_000_1111000
+`define L_H 32'b?????_?????_????????????_001_1111000
+`define L_W 32'b?????_?????_????????????_010_1111000
+`define L_D 32'b?????_?????_????????????_011_1111000
+`define L_BU 32'b?????_?????_????????????_100_1111000
+`define L_HU 32'b?????_?????_????????????_101_1111000
+`define L_WU 32'b?????_?????_????????????_110_1111000
`define SYNCI 32'b00000_?????_????????????_111_1111000
-`define SB 32'b?????_?????_?????_???????_000_1111001
-`define SH 32'b?????_?????_?????_???????_001_1111001
-`define SW 32'b?????_?????_?????_???????_010_1111001
-`define SD 32'b?????_?????_?????_???????_011_1111001
-`define AMOW_ADD 32'b?????_?????_?????_0000000010_1111010
-`define AMOW_SWAP 32'b?????_?????_?????_0000001010_1111010
-`define AMOW_AND 32'b?????_?????_?????_0000010010_1111010
-`define AMOW_OR 32'b?????_?????_?????_0000011010_1111010
-`define AMOW_MIN 32'b?????_?????_?????_0000100010_1111010
-`define AMOW_MAX 32'b?????_?????_?????_0000101010_1111010
-`define AMOW_MINU 32'b?????_?????_?????_0000110010_1111010
-`define AMOW_MAXU 32'b?????_?????_?????_0000111010_1111010
-`define AMO_ADD 32'b?????_?????_?????_0000000011_1111010
-`define AMO_SWAP 32'b?????_?????_?????_0000001011_1111010
-`define AMO_AND 32'b?????_?????_?????_0000010011_1111010
-`define AMO_OR 32'b?????_?????_?????_0000011011_1111010
-`define AMO_MIN 32'b?????_?????_?????_0000100011_1111010
-`define AMO_MAX 32'b?????_?????_?????_0000101011_1111010
-`define AMO_MINU 32'b?????_?????_?????_0000110011_1111010
-`define AMO_MAXU 32'b?????_?????_?????_0000111011_1111010
+`define S_B 32'b?????_?????_?????_???????_000_1111001
+`define S_H 32'b?????_?????_?????_???????_001_1111001
+`define S_W 32'b?????_?????_?????_???????_010_1111001
+`define S_D 32'b?????_?????_?????_???????_011_1111001
+`define AMOADD_W 32'b?????_?????_?????_0000000010_1111010
+`define AMOSWAP_W 32'b?????_?????_?????_0000001010_1111010
+`define AMOAND_W 32'b?????_?????_?????_0000010010_1111010
+`define AMOOR_W 32'b?????_?????_?????_0000011010_1111010
+`define AMOMIN_W 32'b?????_?????_?????_0000100010_1111010
+`define AMOMAX_W 32'b?????_?????_?????_0000101010_1111010
+`define AMOMINU_W 32'b?????_?????_?????_0000110010_1111010
+`define AMOMAXU_W 32'b?????_?????_?????_0000111010_1111010
+`define AMOADD_D 32'b?????_?????_?????_0000000011_1111010
+`define AMOSWAP_D 32'b?????_?????_?????_0000001011_1111010
+`define AMOAND_D 32'b?????_?????_?????_0000010011_1111010
+`define AMOOR_D 32'b?????_?????_?????_0000011011_1111010
+`define AMOMIN_D 32'b?????_?????_?????_0000100011_1111010
+`define AMOMAX_D 32'b?????_?????_?????_0000101011_1111010
+`define AMOMINU_D 32'b?????_?????_?????_0000110011_1111010
+`define AMOMAXU_D 32'b?????_?????_?????_0000111011_1111010
`define RDNPC 32'b?????_00000_00000_0000000000_1111011
`define MFCR 32'b?????_00000_?????_0000000001_1111011
`define MTCR 32'b00000_?????_?????_0000001001_1111011
@@ -89,46 +89,46 @@
`define MFPCR 32'b?????_00000_?????_0000000001_1101011
`define MTPCR 32'b00000_?????_?????_0000001001_1101011
`define ERET 32'b00000_00000_00000_0000000010_1101011
-`define ADD_S 32'b?????_?????_?????_00000_???_00_1101010
-`define SUB_S 32'b?????_?????_?????_00001_???_00_1101010
-`define MUL_S 32'b?????_?????_?????_00010_???_00_1101010
-`define DIV_S 32'b?????_?????_?????_00011_???_00_1101010
-`define SQRT_S 32'b?????_?????_00000_00100_???_00_1101010
-`define SGNINJ_S 32'b?????_?????_?????_0010100000_1101010
-`define SGNINJN_S 32'b?????_?????_?????_0011000000_1101010
-`define SGNMUL_S 32'b?????_?????_?????_0011100000_1101010
-`define ADD_D 32'b?????_?????_?????_00000_???_11_1101010
-`define SUB_D 32'b?????_?????_?????_00001_???_11_1101010
-`define MUL_D 32'b?????_?????_?????_00010_???_11_1101010
-`define DIV_D 32'b?????_?????_?????_00011_???_11_1101010
-`define SQRT_D 32'b?????_?????_00000_00100_???_11_1101010
-`define SGNINJ_D 32'b?????_?????_?????_0010100011_1101010
-`define SGNINJN_D 32'b?????_?????_?????_0011000011_1101010
-`define SGNMUL_D 32'b?????_?????_?????_0011100011_1101010
-`define CVT_L_S 32'b?????_?????_00000_01000_???_00_1101010
-`define CVTU_L_S 32'b?????_?????_00000_01001_???_00_1101010
-`define CVT_W_S 32'b?????_?????_00000_01010_???_00_1101010
-`define CVTU_W_S 32'b?????_?????_00000_01011_???_00_1101010
-`define CVT_L_D 32'b?????_?????_00000_01000_???_11_1101010
-`define CVTU_L_D 32'b?????_?????_00000_01001_???_11_1101010
-`define CVT_W_D 32'b?????_?????_00000_01010_???_11_1101010
-`define CVTU_W_D 32'b?????_?????_00000_01011_???_11_1101010
-`define CVT_S_L 32'b?????_?????_00000_01100_???_00_1101010
-`define CVTU_S_L 32'b?????_?????_00000_01101_???_00_1101010
-`define CVT_S_W 32'b?????_?????_00000_01110_???_00_1101010
-`define CVTU_S_W 32'b?????_?????_00000_01111_???_00_1101010
-`define CVT_D_L 32'b?????_?????_00000_01100_???_11_1101010
-`define CVTU_D_L 32'b?????_?????_00000_01101_???_11_1101010
-`define CVT_D_W 32'b?????_?????_00000_0111000011_1101010
-`define CVTU_D_W 32'b?????_?????_00000_0111100011_1101010
-`define CVT_S_D 32'b?????_?????_00000_10011_???_00_1101010
-`define CVT_D_S 32'b?????_?????_00000_1000000011_1101010
-`define C_EQ_S 32'b?????_?????_?????_1010100000_1101010
-`define C_LT_S 32'b?????_?????_?????_1011000000_1101010
-`define C_LE_S 32'b?????_?????_?????_1011100000_1101010
-`define C_EQ_D 32'b?????_?????_?????_1010100011_1101010
-`define C_LT_D 32'b?????_?????_?????_1011000011_1101010
-`define C_LE_D 32'b?????_?????_?????_1011100011_1101010
+`define FADD_S 32'b?????_?????_?????_00000_???_00_1101010
+`define FSUB_S 32'b?????_?????_?????_00001_???_00_1101010
+`define FMUL_S 32'b?????_?????_?????_00010_???_00_1101010
+`define FDIV_S 32'b?????_?????_?????_00011_???_00_1101010
+`define FSQRT_S 32'b?????_?????_00000_00100_???_00_1101010
+`define FSINJ_S 32'b?????_?????_?????_0010100000_1101010
+`define FSINJN_S 32'b?????_?????_?????_0011000000_1101010
+`define FSMUL_S 32'b?????_?????_?????_0011100000_1101010
+`define FADD_D 32'b?????_?????_?????_00000_???_11_1101010
+`define FSUB_D 32'b?????_?????_?????_00001_???_11_1101010
+`define FMUL_D 32'b?????_?????_?????_00010_???_11_1101010
+`define FDIV_D 32'b?????_?????_?????_00011_???_11_1101010
+`define FSQRT_D 32'b?????_?????_00000_00100_???_11_1101010
+`define FSINJ_D 32'b?????_?????_?????_0010100011_1101010
+`define FSINJN_D 32'b?????_?????_?????_0011000011_1101010
+`define FSMUL_D 32'b?????_?????_?????_0011100011_1101010
+`define FCVT_L_S 32'b?????_?????_00000_01000_???_00_1101010
+`define FCVTU_L_S 32'b?????_?????_00000_01001_???_00_1101010
+`define FCVT_W_S 32'b?????_?????_00000_01010_???_00_1101010
+`define FCVTU_W_S 32'b?????_?????_00000_01011_???_00_1101010
+`define FCVT_L_D 32'b?????_?????_00000_01000_???_11_1101010
+`define FCVTU_L_D 32'b?????_?????_00000_01001_???_11_1101010
+`define FCVT_W_D 32'b?????_?????_00000_01010_???_11_1101010
+`define FCVTU_W_D 32'b?????_?????_00000_01011_???_11_1101010
+`define FCVT_S_L 32'b?????_?????_00000_01100_???_00_1101010
+`define FCVTU_S_L 32'b?????_?????_00000_01101_???_00_1101010
+`define FCVT_S_W 32'b?????_?????_00000_01110_???_00_1101010
+`define FCVTU_S_W 32'b?????_?????_00000_01111_???_00_1101010
+`define FCVT_D_L 32'b?????_?????_00000_01100_???_11_1101010
+`define FCVTU_D_L 32'b?????_?????_00000_01101_???_11_1101010
+`define FCVT_D_W 32'b?????_?????_00000_0111000011_1101010
+`define FCVTU_D_W 32'b?????_?????_00000_0111100011_1101010
+`define FCVT_S_D 32'b?????_?????_00000_10011_???_00_1101010
+`define FCVT_D_S 32'b?????_?????_00000_1000000011_1101010
+`define FC_EQ_S 32'b?????_?????_?????_1010100000_1101010
+`define FC_LT_S 32'b?????_?????_?????_1011000000_1101010
+`define FC_LE_S 32'b?????_?????_?????_1011100000_1101010
+`define FC_EQ_D 32'b?????_?????_?????_1010100011_1101010
+`define FC_LT_D 32'b?????_?????_?????_1011000011_1101010
+`define FC_LE_D 32'b?????_?????_?????_1011100011_1101010
`define MFF_S 32'b?????_00000_?????_1100001000_1101010
`define MFF_D 32'b?????_00000_?????_1100001011_1101010
`define MFFL_D 32'b?????_00000_?????_1100101011_1101010
@@ -136,15 +136,17 @@
`define MTF_S 32'b?????_?????_00000_1110001000_1101010
`define MTF_D 32'b?????_?????_00000_1110001011_1101010
`define MTFLH_D 32'b?????_?????_?????_1110001111_1101010
-`define L_S 32'b?????_?????_????????????_010_1101000
-`define L_D 32'b?????_?????_????????????_011_1101000
-`define S_S 32'b?????_?????_?????_???????_010_1101001
-`define S_D 32'b?????_?????_?????_???????_011_1101001
-`define MADD_S 32'b?????_?????_?????_?????_???_00_1101100
-`define MSUB_S 32'b?????_?????_?????_?????_???_00_1101101
-`define NMSUB_S 32'b?????_?????_?????_?????_???_00_1101110
-`define NMADD_S 32'b?????_?????_?????_?????_???_00_1101111
-`define MADD_D 32'b?????_?????_?????_?????_???_11_1101100
-`define MSUB_D 32'b?????_?????_?????_?????_???_11_1101101
-`define NMSUB_D 32'b?????_?????_?????_?????_???_11_1101110
-`define NMADD_D 32'b?????_?????_?????_?????_???_11_1101111
+`define LF_W 32'b?????_?????_????????????_010_1101000
+`define LF_D 32'b?????_?????_????????????_011_1101000
+`define SF_W 32'b?????_?????_?????_???????_010_1101001
+`define SF_D 32'b?????_?????_?????_???????_011_1101001
+`define FSEL_S 32'b?????_?????_?????_0000000000_1100111
+`define FSEL_D 32'b?????_?????_?????_0000000011_1100111
+`define FMADD_S 32'b?????_?????_?????_?????_???_00_1101100
+`define FMSUB_S 32'b?????_?????_?????_?????_???_00_1101101
+`define FNMSUB_S 32'b?????_?????_?????_?????_???_00_1101110
+`define FNMADD_S 32'b?????_?????_?????_?????_???_00_1101111
+`define FMADD_D 32'b?????_?????_?????_?????_???_11_1101100
+`define FMSUB_D 32'b?????_?????_?????_?????_???_11_1101101
+`define FNMSUB_D 32'b?????_?????_?????_?????_???_11_1101110
+`define FNMADD_D 32'b?????_?????_?????_?????_???_11_1101111
diff --git a/instr-table.tex b/instr-table.tex
index 0bbcf13..cb1092e 100644
--- a/instr-table.tex
+++ b/instr-table.tex
@@ -559,7 +559,7 @@
\multicolumn{2}{c|}{000} &
\multicolumn{4}{c|}{imm12} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & LB rd,rs1,imm12 \\
+\multicolumn{1}{c|}{rd} & L.B rd,rs1,imm12 \\
\cline{2-10}
@@ -568,7 +568,7 @@
\multicolumn{2}{c|}{000} &
\multicolumn{4}{c|}{imm12} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & LH rd,rs1,imm12 \\
+\multicolumn{1}{c|}{rd} & L.H rd,rs1,imm12 \\
\cline{2-10}
@@ -577,7 +577,7 @@
\multicolumn{2}{c|}{000} &
\multicolumn{4}{c|}{imm12} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & LW rd,rs1,imm12 \\
+\multicolumn{1}{c|}{rd} & L.W rd,rs1,imm12 \\
\cline{2-10}
@@ -586,7 +586,7 @@
\multicolumn{2}{c|}{000} &
\multicolumn{4}{c|}{imm12} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & LD rd,rs1,imm12 \\
+\multicolumn{1}{c|}{rd} & L.D rd,rs1,imm12 \\
\cline{2-10}
@@ -595,7 +595,7 @@
\multicolumn{2}{c|}{000} &
\multicolumn{4}{c|}{imm12} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & LBU rd,rs1,imm12 \\
+\multicolumn{1}{c|}{rd} & L.BU rd,rs1,imm12 \\
\cline{2-10}
@@ -604,7 +604,7 @@
\multicolumn{2}{c|}{000} &
\multicolumn{4}{c|}{imm12} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & LHU rd,rs1,imm12 \\
+\multicolumn{1}{c|}{rd} & L.HU rd,rs1,imm12 \\
\cline{2-10}
@@ -613,7 +613,7 @@
\multicolumn{2}{c|}{000} &
\multicolumn{4}{c|}{imm12} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & LWU rd,rs1,imm12 \\
+\multicolumn{1}{c|}{rd} & L.WU rd,rs1,imm12 \\
\cline{2-10}
@@ -632,7 +632,7 @@
\multicolumn{3}{c|}{imm12hi} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{imm12lo} & SB imm12hi,rs1,rs2,imm12lo \\
+\multicolumn{1}{c|}{imm12lo} & S.B imm12hi,rs1,rs2,imm12lo \\
\cline{2-10}
@@ -642,7 +642,7 @@
\multicolumn{3}{c|}{imm12hi} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{imm12lo} & SH imm12hi,rs1,rs2,imm12lo \\
+\multicolumn{1}{c|}{imm12lo} & S.H imm12hi,rs1,rs2,imm12lo \\
\cline{2-10}
@@ -652,7 +652,7 @@
\multicolumn{3}{c|}{imm12hi} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{imm12lo} & SW imm12hi,rs1,rs2,imm12lo \\
+\multicolumn{1}{c|}{imm12lo} & S.W imm12hi,rs1,rs2,imm12lo \\
\cline{2-10}
@@ -662,7 +662,7 @@
\multicolumn{3}{c|}{imm12hi} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{imm12lo} & SD imm12hi,rs1,rs2,imm12lo \\
+\multicolumn{1}{c|}{imm12lo} & S.D imm12hi,rs1,rs2,imm12lo \\
\cline{2-10}
@@ -671,7 +671,7 @@
\multicolumn{5}{c|}{0000000000} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & AMOW.ADD rd,rs1,rs2 \\
+\multicolumn{1}{c|}{rd} & AMOADD.W rd,rs1,rs2 \\
\cline{2-10}
@@ -680,7 +680,7 @@
\multicolumn{5}{c|}{0000000000} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & AMOW.SWAP rd,rs1,rs2 \\
+\multicolumn{1}{c|}{rd} & AMOSWAP.W rd,rs1,rs2 \\
\cline{2-10}
@@ -689,7 +689,7 @@
\multicolumn{5}{c|}{0000000000} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & AMOW.AND rd,rs1,rs2 \\
+\multicolumn{1}{c|}{rd} & AMOAND.W rd,rs1,rs2 \\
\cline{2-10}
@@ -698,7 +698,7 @@
\multicolumn{5}{c|}{0000000000} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & AMOW.OR rd,rs1,rs2 \\
+\multicolumn{1}{c|}{rd} & AMOOR.W rd,rs1,rs2 \\
\cline{2-10}
@@ -707,7 +707,7 @@
\multicolumn{5}{c|}{0000000000} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & AMOW.MIN rd,rs1,rs2 \\
+\multicolumn{1}{c|}{rd} & AMOMIN.W rd,rs1,rs2 \\
\cline{2-10}
@@ -716,7 +716,7 @@
\multicolumn{5}{c|}{0000000000} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & AMOW.MAX rd,rs1,rs2 \\
+\multicolumn{1}{c|}{rd} & AMOMAX.W rd,rs1,rs2 \\
\cline{2-10}
@@ -725,7 +725,7 @@
\multicolumn{5}{c|}{0000000000} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & AMOW.MINU rd,rs1,rs2 \\
+\multicolumn{1}{c|}{rd} & AMOMINU.W rd,rs1,rs2 \\
\cline{2-10}
@@ -734,7 +734,7 @@
\multicolumn{5}{c|}{0000000000} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & AMOW.MAXU rd,rs1,rs2 \\
+\multicolumn{1}{c|}{rd} & AMOMAXU.W rd,rs1,rs2 \\
\cline{2-10}
@@ -743,7 +743,7 @@
\multicolumn{5}{c|}{0000000000} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & AMO.ADD rd,rs1,rs2 \\
+\multicolumn{1}{c|}{rd} & AMOADD.D rd,rs1,rs2 \\
\cline{2-10}
@@ -752,7 +752,7 @@
\multicolumn{5}{c|}{0000000000} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & AMO.SWAP rd,rs1,rs2 \\
+\multicolumn{1}{c|}{rd} & AMOSWAP.D rd,rs1,rs2 \\
\cline{2-10}
@@ -761,7 +761,7 @@
\multicolumn{5}{c|}{0000000000} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & AMO.AND rd,rs1,rs2 \\
+\multicolumn{1}{c|}{rd} & AMOAND.D rd,rs1,rs2 \\
\cline{2-10}
@@ -770,7 +770,7 @@
\multicolumn{5}{c|}{0000000000} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & AMO.OR rd,rs1,rs2 \\
+\multicolumn{1}{c|}{rd} & AMOOR.D rd,rs1,rs2 \\
\cline{2-10}
@@ -779,7 +779,7 @@
\multicolumn{5}{c|}{0000000000} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & AMO.MIN rd,rs1,rs2 \\
+\multicolumn{1}{c|}{rd} & AMOMIN.D rd,rs1,rs2 \\
\cline{2-10}
@@ -788,7 +788,7 @@
\multicolumn{5}{c|}{0000000000} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & AMO.MAX rd,rs1,rs2 \\
+\multicolumn{1}{c|}{rd} & AMOMAX.D rd,rs1,rs2 \\
\cline{2-10}
@@ -797,7 +797,7 @@
\multicolumn{5}{c|}{0000000000} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & AMO.MINU rd,rs1,rs2 \\
+\multicolumn{1}{c|}{rd} & AMOMINU.D rd,rs1,rs2 \\
\cline{2-10}
@@ -806,7 +806,7 @@
\multicolumn{5}{c|}{0000000000} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & AMO.MAXU rd,rs1,rs2 \\
+\multicolumn{1}{c|}{rd} & AMOMAXU.D rd,rs1,rs2 \\
\cline{2-10}
@@ -907,7 +907,7 @@
\multicolumn{2}{c|}{00000} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & ADD.S rd,rs1,rs2[,rm] \\
+\multicolumn{1}{c|}{rd} & FADD.S rd,rs1,rs2[,rm] \\
\cline{2-10}
@@ -918,7 +918,7 @@
\multicolumn{2}{c|}{00000} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & SUB.S rd,rs1,rs2[,rm] \\
+\multicolumn{1}{c|}{rd} & FSUB.S rd,rs1,rs2[,rm] \\
\cline{2-10}
@@ -929,7 +929,7 @@
\multicolumn{2}{c|}{00000} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & MUL.S rd,rs1,rs2[,rm] \\
+\multicolumn{1}{c|}{rd} & FMUL.S rd,rs1,rs2[,rm] \\
\cline{2-10}
@@ -940,7 +940,7 @@
\multicolumn{2}{c|}{00000} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & DIV.S rd,rs1,rs2[,rm] \\
+\multicolumn{1}{c|}{rd} & FDIV.S rd,rs1,rs2[,rm] \\
\cline{2-10}
@@ -951,7 +951,7 @@
\multicolumn{2}{c|}{00000} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & SQRT.S rd,rs1[,rm] \\
+\multicolumn{1}{c|}{rd} & FSQRT.S rd,rs1[,rm] \\
\cline{2-10}
@@ -960,7 +960,7 @@
\multicolumn{5}{c|}{0000000000} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & SGNINJ.S rd,rs1,rs2 \\
+\multicolumn{1}{c|}{rd} & FSINJ.S rd,rs1,rs2 \\
\cline{2-10}
@@ -969,7 +969,7 @@
\multicolumn{5}{c|}{0000000000} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & SGNINJN.S rd,rs1,rs2 \\
+\multicolumn{1}{c|}{rd} & FSINJN.S rd,rs1,rs2 \\
\cline{2-10}
@@ -978,7 +978,7 @@
\multicolumn{5}{c|}{0000000000} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & SGNMUL.S rd,rs1,rs2 \\
+\multicolumn{1}{c|}{rd} & FSMUL.S rd,rs1,rs2 \\
\cline{2-10}
@@ -989,7 +989,7 @@
\multicolumn{2}{c|}{00000} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & ADD.D rd,rs1,rs2[,rm] \\
+\multicolumn{1}{c|}{rd} & FADD.D rd,rs1,rs2[,rm] \\
\cline{2-10}
@@ -1000,7 +1000,7 @@
\multicolumn{2}{c|}{00000} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & SUB.D rd,rs1,rs2[,rm] \\
+\multicolumn{1}{c|}{rd} & FSUB.D rd,rs1,rs2[,rm] \\
\cline{2-10}
@@ -1011,7 +1011,7 @@
\multicolumn{2}{c|}{00000} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & MUL.D rd,rs1,rs2[,rm] \\
+\multicolumn{1}{c|}{rd} & FMUL.D rd,rs1,rs2[,rm] \\
\cline{2-10}
@@ -1022,7 +1022,7 @@
\multicolumn{2}{c|}{00000} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & DIV.D rd,rs1,rs2[,rm] \\
+\multicolumn{1}{c|}{rd} & FDIV.D rd,rs1,rs2[,rm] \\
\cline{2-10}
@@ -1033,7 +1033,7 @@
\multicolumn{2}{c|}{00000} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & SQRT.D rd,rs1[,rm] \\
+\multicolumn{1}{c|}{rd} & FSQRT.D rd,rs1[,rm] \\
\cline{2-10}
@@ -1042,7 +1042,7 @@
\multicolumn{5}{c|}{0000000000} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & SGNINJ.D rd,rs1,rs2 \\
+\multicolumn{1}{c|}{rd} & FSINJ.D rd,rs1,rs2 \\
\cline{2-10}
@@ -1051,7 +1051,7 @@
\multicolumn{5}{c|}{0000000000} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & SGNINJN.D rd,rs1,rs2 \\
+\multicolumn{1}{c|}{rd} & FSINJN.D rd,rs1,rs2 \\
\cline{2-10}
@@ -1060,7 +1060,7 @@
\multicolumn{5}{c|}{0000000000} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & SGNMUL.D rd,rs1,rs2 \\
+\multicolumn{1}{c|}{rd} & FSMUL.D rd,rs1,rs2 \\
\cline{2-10}
@@ -1071,7 +1071,7 @@
\multicolumn{2}{c|}{00001} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVT.L.S rd,rs1[,rm] \\
+\multicolumn{1}{c|}{rd} & FCVT.L.S rd,rs1[,rm] \\
\cline{2-10}
@@ -1082,7 +1082,7 @@
\multicolumn{2}{c|}{00001} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVTU.L.S rd,rs1[,rm] \\
+\multicolumn{1}{c|}{rd} & FCVTU.L.S rd,rs1[,rm] \\
\cline{2-10}
@@ -1093,7 +1093,7 @@
\multicolumn{2}{c|}{00001} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVT.W.S rd,rs1[,rm] \\
+\multicolumn{1}{c|}{rd} & FCVT.W.S rd,rs1[,rm] \\
\cline{2-10}
@@ -1104,7 +1104,7 @@
\multicolumn{2}{c|}{00001} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVTU.W.S rd,rs1[,rm] \\
+\multicolumn{1}{c|}{rd} & FCVTU.W.S rd,rs1[,rm] \\
\cline{2-10}
@@ -1115,7 +1115,7 @@
\multicolumn{2}{c|}{00001} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVT.L.D rd,rs1[,rm] \\
+\multicolumn{1}{c|}{rd} & FCVT.L.D rd,rs1[,rm] \\
\cline{2-10}
@@ -1126,7 +1126,7 @@
\multicolumn{2}{c|}{00001} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVTU.L.D rd,rs1[,rm] \\
+\multicolumn{1}{c|}{rd} & FCVTU.L.D rd,rs1[,rm] \\
\cline{2-10}
@@ -1137,7 +1137,7 @@
\multicolumn{2}{c|}{00001} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVT.W.D rd,rs1[,rm] \\
+\multicolumn{1}{c|}{rd} & FCVT.W.D rd,rs1[,rm] \\
\cline{2-10}
@@ -1148,7 +1148,7 @@
\multicolumn{2}{c|}{00001} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVTU.W.D rd,rs1[,rm] \\
+\multicolumn{1}{c|}{rd} & FCVTU.W.D rd,rs1[,rm] \\
\cline{2-10}
@@ -1159,7 +1159,7 @@
\multicolumn{2}{c|}{00001} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVT.S.L rd,rs1[,rm] \\
+\multicolumn{1}{c|}{rd} & FCVT.S.L rd,rs1[,rm] \\
\cline{2-10}
@@ -1170,7 +1170,7 @@
\multicolumn{2}{c|}{00001} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVTU.S.L rd,rs1[,rm] \\
+\multicolumn{1}{c|}{rd} & FCVTU.S.L rd,rs1[,rm] \\
\cline{2-10}
@@ -1181,7 +1181,7 @@
\multicolumn{2}{c|}{00001} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVT.S.W rd,rs1[,rm] \\
+\multicolumn{1}{c|}{rd} & FCVT.S.W rd,rs1[,rm] \\
\cline{2-10}
@@ -1192,7 +1192,7 @@
\multicolumn{2}{c|}{00001} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVTU.S.W rd,rs1[,rm] \\
+\multicolumn{1}{c|}{rd} & FCVTU.S.W rd,rs1[,rm] \\
\cline{2-10}
@@ -1203,7 +1203,7 @@
\multicolumn{2}{c|}{00001} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVT.D.L rd,rs1[,rm] \\
+\multicolumn{1}{c|}{rd} & FCVT.D.L rd,rs1[,rm] \\
\cline{2-10}
@@ -1214,7 +1214,7 @@
\multicolumn{2}{c|}{00001} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVTU.D.L rd,rs1[,rm] \\
+\multicolumn{1}{c|}{rd} & FCVTU.D.L rd,rs1[,rm] \\
\cline{2-10}
@@ -1223,7 +1223,7 @@
\multicolumn{5}{c|}{0000000001} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVT.D.W rd,rs1 \\
+\multicolumn{1}{c|}{rd} & FCVT.D.W rd,rs1 \\
\cline{2-10}
@@ -1232,7 +1232,7 @@
\multicolumn{5}{c|}{0000000001} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVTU.D.W rd,rs1 \\
+\multicolumn{1}{c|}{rd} & FCVTU.D.W rd,rs1 \\
\cline{2-10}
@@ -1243,7 +1243,7 @@
\multicolumn{2}{c|}{00010} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVT.S.D rd,rs1[,rm] \\
+\multicolumn{1}{c|}{rd} & FCVT.S.D rd,rs1[,rm] \\
\cline{2-10}
@@ -1252,7 +1252,7 @@
\multicolumn{5}{c|}{0000000010} &
\multicolumn{1}{c|}{00000} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVT.D.S rd,rs1 \\
+\multicolumn{1}{c|}{rd} & FCVT.D.S rd,rs1 \\
\cline{2-10}
@@ -1261,7 +1261,7 @@
\multicolumn{5}{c|}{0000000010} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & C.EQ.S rd,rs1,rs2 \\
+\multicolumn{1}{c|}{rd} & FC.EQ.S rd,rs1,rs2 \\
\cline{2-10}
@@ -1270,7 +1270,7 @@
\multicolumn{5}{c|}{0000000010} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & C.LT.S rd,rs1,rs2 \\
+\multicolumn{1}{c|}{rd} & FC.LT.S rd,rs1,rs2 \\
\cline{2-10}
@@ -1279,7 +1279,7 @@
\multicolumn{5}{c|}{0000000010} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & C.LE.S rd,rs1,rs2 \\
+\multicolumn{1}{c|}{rd} & FC.LE.S rd,rs1,rs2 \\
\cline{2-10}
@@ -1288,7 +1288,7 @@
\multicolumn{5}{c|}{0000000010} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & C.EQ.D rd,rs1,rs2 \\
+\multicolumn{1}{c|}{rd} & FC.EQ.D rd,rs1,rs2 \\
\cline{2-10}
@@ -1297,7 +1297,7 @@
\multicolumn{5}{c|}{0000000010} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & C.LT.D rd,rs1,rs2 \\
+\multicolumn{1}{c|}{rd} & FC.LT.D rd,rs1,rs2 \\
\cline{2-10}
@@ -1306,7 +1306,7 @@
\multicolumn{5}{c|}{0000000010} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & C.LE.D rd,rs1,rs2 \\
+\multicolumn{1}{c|}{rd} & FC.LE.D rd,rs1,rs2 \\
\cline{2-10}
@@ -1378,7 +1378,7 @@
\multicolumn{2}{c|}{000} &
\multicolumn{4}{c|}{imm12} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & L.S rd,rs1,imm12 \\
+\multicolumn{1}{c|}{rd} & LF.W rd,rs1,imm12 \\
\cline{2-10}
@@ -1387,7 +1387,7 @@
\multicolumn{2}{c|}{000} &
\multicolumn{4}{c|}{imm12} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & L.D rd,rs1,imm12 \\
+\multicolumn{1}{c|}{rd} & LF.D rd,rs1,imm12 \\
\cline{2-10}
@@ -1397,7 +1397,7 @@
\multicolumn{3}{c|}{imm12hi} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{imm12lo} & S.S imm12hi,rs1,rs2,imm12lo \\
+\multicolumn{1}{c|}{imm12lo} & SF.W imm12hi,rs1,rs2,imm12lo \\
\cline{2-10}
@@ -1407,7 +1407,25 @@
\multicolumn{3}{c|}{imm12hi} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{imm12lo} & S.D imm12hi,rs1,rs2,imm12lo \\
+\multicolumn{1}{c|}{imm12lo} & SF.D imm12hi,rs1,rs2,imm12lo \\
+\cline{2-10}
+
+
+&
+\multicolumn{1}{|c|}{0000000} &
+\multicolumn{5}{c|}{0000000000} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{1}{c|}{rd} & FSEL.S rd,rs1,rs2,rs3 \\
+\cline{2-10}
+
+
+&
+\multicolumn{1}{|c|}{0000000} &
+\multicolumn{5}{c|}{0000000000} &
+\multicolumn{1}{c|}{rs2} &
+\multicolumn{1}{c|}{rs1} &
+\multicolumn{1}{c|}{rd} & FSEL.D rd,rs1,rs2,rs3 \\
\cline{2-10}
@@ -1418,7 +1436,7 @@
\multicolumn{2}{c|}{rs3} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & MADD.S rd,rs1,rs2,rs3[,rm] \\
+\multicolumn{1}{c|}{rd} & FMADD.S rd,rs1,rs2,rs3[,rm] \\
\cline{2-10}
@@ -1429,7 +1447,7 @@
\multicolumn{2}{c|}{rs3} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & MSUB.S rd,rs1,rs2,rs3[,rm] \\
+\multicolumn{1}{c|}{rd} & FMSUB.S rd,rs1,rs2,rs3[,rm] \\
\cline{2-10}
@@ -1440,7 +1458,7 @@
\multicolumn{2}{c|}{rs3} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & NMSUB.S rd,rs1,rs2,rs3[,rm] \\
+\multicolumn{1}{c|}{rd} & FNMSUB.S rd,rs1,rs2,rs3[,rm] \\
\cline{2-10}
@@ -1451,7 +1469,7 @@
\multicolumn{2}{c|}{rs3} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & NMADD.S rd,rs1,rs2,rs3[,rm] \\
+\multicolumn{1}{c|}{rd} & FNMADD.S rd,rs1,rs2,rs3[,rm] \\
\cline{2-10}
@@ -1462,7 +1480,7 @@
\multicolumn{2}{c|}{rs3} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & MADD.D rd,rs1,rs2,rs3[,rm] \\
+\multicolumn{1}{c|}{rd} & FMADD.D rd,rs1,rs2,rs3[,rm] \\
\cline{2-10}
@@ -1473,7 +1491,7 @@
\multicolumn{2}{c|}{rs3} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & MSUB.D rd,rs1,rs2,rs3[,rm] \\
+\multicolumn{1}{c|}{rd} & FMSUB.D rd,rs1,rs2,rs3[,rm] \\
\cline{2-10}
@@ -1484,7 +1502,7 @@
\multicolumn{2}{c|}{rs3} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & NMSUB.D rd,rs1,rs2,rs3[,rm] \\
+\multicolumn{1}{c|}{rd} & FNMSUB.D rd,rs1,rs2,rs3[,rm] \\
\cline{2-10}
@@ -1495,7 +1513,7 @@
\multicolumn{2}{c|}{rs3} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & NMADD.D rd,rs1,rs2,rs3[,rm] \\
+\multicolumn{1}{c|}{rd} & FNMADD.D rd,rs1,rs2,rs3[,rm] \\
\cline{2-10}
@@ -1700,204 +1718,6 @@
\cline{2-10}
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{1}{c|}{00} &
-\multicolumn{2}{c|}{rm} &
-\multicolumn{2}{c|}{00000} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & ADD.S rd,rs1,rs2[,rm] \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{1}{c|}{00} &
-\multicolumn{2}{c|}{rm} &
-\multicolumn{2}{c|}{00000} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & SUB.S rd,rs1,rs2[,rm] \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{1}{c|}{00} &
-\multicolumn{2}{c|}{rm} &
-\multicolumn{2}{c|}{00000} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & MUL.S rd,rs1,rs2[,rm] \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{1}{c|}{00} &
-\multicolumn{2}{c|}{rm} &
-\multicolumn{2}{c|}{00000} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & DIV.S rd,rs1,rs2[,rm] \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{1}{c|}{00} &
-\multicolumn{2}{c|}{rm} &
-\multicolumn{2}{c|}{00000} &
-\multicolumn{1}{c|}{00000} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & SQRT.S rd,rs1[,rm] \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{1}{c|}{00} &
-\multicolumn{2}{c|}{rm} &
-\multicolumn{2}{c|}{00000} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & ADD.D rd,rs1,rs2[,rm] \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{1}{c|}{00} &
-\multicolumn{2}{c|}{rm} &
-\multicolumn{2}{c|}{00000} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & SUB.D rd,rs1,rs2[,rm] \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{1}{c|}{00} &
-\multicolumn{2}{c|}{rm} &
-\multicolumn{2}{c|}{00000} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & MUL.D rd,rs1,rs2[,rm] \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{1}{c|}{00} &
-\multicolumn{2}{c|}{rm} &
-\multicolumn{2}{c|}{00000} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & DIV.D rd,rs1,rs2[,rm] \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{1}{c|}{00} &
-\multicolumn{2}{c|}{rm} &
-\multicolumn{2}{c|}{00000} &
-\multicolumn{1}{c|}{00000} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & SQRT.D rd,rs1[,rm] \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{1}{c|}{00} &
-\multicolumn{2}{c|}{rm} &
-\multicolumn{2}{c|}{rs3} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & MADD.S rd,rs1,rs2,rs3[,rm] \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{1}{c|}{00} &
-\multicolumn{2}{c|}{rm} &
-\multicolumn{2}{c|}{rs3} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & MSUB.S rd,rs1,rs2,rs3[,rm] \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{1}{c|}{00} &
-\multicolumn{2}{c|}{rm} &
-\multicolumn{2}{c|}{rs3} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & NMSUB.S rd,rs1,rs2,rs3[,rm] \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{1}{c|}{00} &
-\multicolumn{2}{c|}{rm} &
-\multicolumn{2}{c|}{rs3} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & NMADD.S rd,rs1,rs2,rs3[,rm] \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{1}{c|}{00} &
-\multicolumn{2}{c|}{rm} &
-\multicolumn{2}{c|}{rs3} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & MADD.D rd,rs1,rs2,rs3[,rm] \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{1}{c|}{00} &
-\multicolumn{2}{c|}{rm} &
-\multicolumn{2}{c|}{rs3} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & MSUB.D rd,rs1,rs2,rs3[,rm] \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{1}{c|}{00} &
-\multicolumn{2}{c|}{rm} &
-\multicolumn{2}{c|}{rs3} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & NMSUB.D rd,rs1,rs2,rs3[,rm] \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{1}{c|}{00} &
-\multicolumn{2}{c|}{rm} &
-\multicolumn{2}{c|}{rs3} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & NMADD.D rd,rs1,rs2,rs3[,rm] \\
-\cline{2-10}
-
-
\end{tabular}
\end{center}
\end{small}
@@ -1982,80 +1802,6 @@
&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{5}{c|}{0000000000} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & SGNINJ.S rd,rs1,rs2 \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{5}{c|}{0000000000} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & SGNINJN.S rd,rs1,rs2 \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{5}{c|}{0000000000} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & SGNMUL.S rd,rs1,rs2 \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{5}{c|}{0000000000} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & SGNINJ.D rd,rs1,rs2 \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{5}{c|}{0000000000} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & SGNINJN.D rd,rs1,rs2 \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{5}{c|}{0000000000} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & SGNMUL.D rd,rs1,rs2 \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{1}{c|}{00} &
-\multicolumn{2}{c|}{rm} &
-\multicolumn{2}{c|}{00010} &
-\multicolumn{1}{c|}{00000} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVT.S.D rd,rs1[,rm] \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{5}{c|}{0000000010} &
-\multicolumn{1}{c|}{00000} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVT.D.S rd,rs1 \\
-\cline{2-10}
-
-
-&
\multicolumn{9}{c}{} & \\
&
\multicolumn{9}{c}{\bf Integer to Floating-Point Move \& Conversion Instructions} & \\
@@ -2064,90 +1810,6 @@
&
\multicolumn{1}{|c|}{0000000} &
-\multicolumn{1}{c|}{00} &
-\multicolumn{2}{c|}{rm} &
-\multicolumn{2}{c|}{00001} &
-\multicolumn{1}{c|}{00000} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVT.S.L rd,rs1[,rm] \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{1}{c|}{00} &
-\multicolumn{2}{c|}{rm} &
-\multicolumn{2}{c|}{00001} &
-\multicolumn{1}{c|}{00000} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVTU.S.L rd,rs1[,rm] \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{1}{c|}{00} &
-\multicolumn{2}{c|}{rm} &
-\multicolumn{2}{c|}{00001} &
-\multicolumn{1}{c|}{00000} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVT.S.W rd,rs1[,rm] \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{1}{c|}{00} &
-\multicolumn{2}{c|}{rm} &
-\multicolumn{2}{c|}{00001} &
-\multicolumn{1}{c|}{00000} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVTU.S.W rd,rs1[,rm] \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{1}{c|}{00} &
-\multicolumn{2}{c|}{rm} &
-\multicolumn{2}{c|}{00001} &
-\multicolumn{1}{c|}{00000} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVT.D.L rd,rs1[,rm] \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{1}{c|}{00} &
-\multicolumn{2}{c|}{rm} &
-\multicolumn{2}{c|}{00001} &
-\multicolumn{1}{c|}{00000} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVTU.D.L rd,rs1[,rm] \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{5}{c|}{0000000001} &
-\multicolumn{1}{c|}{00000} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVT.D.W rd,rs1 \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{5}{c|}{0000000001} &
-\multicolumn{1}{c|}{00000} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVTU.D.W rd,rs1 \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
\multicolumn{5}{c|}{0000000011} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{rs1} &
@@ -2182,94 +1844,6 @@
&
\multicolumn{1}{|c|}{0000000} &
-\multicolumn{1}{c|}{00} &
-\multicolumn{2}{c|}{rm} &
-\multicolumn{2}{c|}{00001} &
-\multicolumn{1}{c|}{00000} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVT.L.S rd,rs1[,rm] \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{1}{c|}{00} &
-\multicolumn{2}{c|}{rm} &
-\multicolumn{2}{c|}{00001} &
-\multicolumn{1}{c|}{00000} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVTU.L.S rd,rs1[,rm] \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{1}{c|}{00} &
-\multicolumn{2}{c|}{rm} &
-\multicolumn{2}{c|}{00001} &
-\multicolumn{1}{c|}{00000} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVT.W.S rd,rs1[,rm] \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{1}{c|}{00} &
-\multicolumn{2}{c|}{rm} &
-\multicolumn{2}{c|}{00001} &
-\multicolumn{1}{c|}{00000} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVTU.W.S rd,rs1[,rm] \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{1}{c|}{00} &
-\multicolumn{2}{c|}{rm} &
-\multicolumn{2}{c|}{00001} &
-\multicolumn{1}{c|}{00000} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVT.L.D rd,rs1[,rm] \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{1}{c|}{00} &
-\multicolumn{2}{c|}{rm} &
-\multicolumn{2}{c|}{00001} &
-\multicolumn{1}{c|}{00000} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVTU.L.D rd,rs1[,rm] \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{1}{c|}{00} &
-\multicolumn{2}{c|}{rm} &
-\multicolumn{2}{c|}{00001} &
-\multicolumn{1}{c|}{00000} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVT.W.D rd,rs1[,rm] \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{1}{c|}{00} &
-\multicolumn{2}{c|}{rm} &
-\multicolumn{2}{c|}{00001} &
-\multicolumn{1}{c|}{00000} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & CVTU.W.D rd,rs1[,rm] \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
\multicolumn{5}{c|}{0000000011} &
\multicolumn{1}{c|}{rs2} &
\multicolumn{1}{c|}{00000} &
@@ -2388,60 +1962,6 @@
&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{5}{c|}{0000000010} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & C.EQ.S rd,rs1,rs2 \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{5}{c|}{0000000010} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & C.LT.S rd,rs1,rs2 \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{5}{c|}{0000000010} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & C.LE.S rd,rs1,rs2 \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{5}{c|}{0000000010} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & C.EQ.D rd,rs1,rs2 \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{5}{c|}{0000000010} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & C.LT.D rd,rs1,rs2 \\
-\cline{2-10}
-
-
-&
-\multicolumn{1}{|c|}{0000000} &
-\multicolumn{5}{c|}{0000000010} &
-\multicolumn{1}{c|}{rs2} &
-\multicolumn{1}{c|}{rs1} &
-\multicolumn{1}{c|}{rd} & C.LE.D rd,rs1,rs2 \\
-\cline{2-10}
-
-
-&
\multicolumn{9}{c}{} & \\
&
\multicolumn{9}{c}{\bf Miscellaneous Instructions} & \\
diff --git a/opcodes b/opcodes
index 6b49734..21ea725 100644
--- a/opcodes
+++ b/opcodes
@@ -70,40 +70,40 @@ divuw rd rs1 rs2 16..10=5 9..7=1 6..0=0x77
remw rd rs1 rs2 16..10=6 9..7=1 6..0=0x77
remuw rd rs1 rs2 16..10=7 9..7=1 6..0=0x77
-lb rd rs1 imm12 9..7=0 6..0=0x78
-lh rd rs1 imm12 9..7=1 6..0=0x78
-lw rd rs1 imm12 9..7=2 6..0=0x78
-ld rd rs1 imm12 9..7=3 6..0=0x78
-lbu rd rs1 imm12 9..7=4 6..0=0x78
-lhu rd rs1 imm12 9..7=5 6..0=0x78
-lwu rd rs1 imm12 9..7=6 6..0=0x78
+l.b rd rs1 imm12 9..7=0 6..0=0x78
+l.h rd rs1 imm12 9..7=1 6..0=0x78
+l.w rd rs1 imm12 9..7=2 6..0=0x78
+l.d rd rs1 imm12 9..7=3 6..0=0x78
+l.bu rd rs1 imm12 9..7=4 6..0=0x78
+l.hu rd rs1 imm12 9..7=5 6..0=0x78
+l.wu rd rs1 imm12 9..7=6 6..0=0x78
synci 31..27=0 rs1 imm12 9..7=7 6..0=0x78
# NOTE: if you add new store instructions, make sure to modify tc-mips-riscv.c
# and elfxx-mips.c to detect them. this is a hack to handle the split immed.
# just open up those files and search for MATCH_SW; should be obvious.
-sb imm12hi rs1 rs2 imm12lo 9..7=0 6..0=0x79
-sh imm12hi rs1 rs2 imm12lo 9..7=1 6..0=0x79
-sw imm12hi rs1 rs2 imm12lo 9..7=2 6..0=0x79
-sd imm12hi rs1 rs2 imm12lo 9..7=3 6..0=0x79
-
-amow.add rd rs1 rs2 16..10=0 9..7=2 6..0=0x7A
-amow.swap rd rs1 rs2 16..10=1 9..7=2 6..0=0x7A
-amow.and rd rs1 rs2 16..10=2 9..7=2 6..0=0x7A
-amow.or rd rs1 rs2 16..10=3 9..7=2 6..0=0x7A
-amow.min rd rs1 rs2 16..10=4 9..7=2 6..0=0x7A
-amow.max rd rs1 rs2 16..10=5 9..7=2 6..0=0x7A
-amow.minu rd rs1 rs2 16..10=6 9..7=2 6..0=0x7A
-amow.maxu rd rs1 rs2 16..10=7 9..7=2 6..0=0x7A
+s.b imm12hi rs1 rs2 imm12lo 9..7=0 6..0=0x79
+s.h imm12hi rs1 rs2 imm12lo 9..7=1 6..0=0x79
+s.w imm12hi rs1 rs2 imm12lo 9..7=2 6..0=0x79
+s.d imm12hi rs1 rs2 imm12lo 9..7=3 6..0=0x79
+
+amoadd.w rd rs1 rs2 16..10=0 9..7=2 6..0=0x7A
+amoswap.w rd rs1 rs2 16..10=1 9..7=2 6..0=0x7A
+amoand.w rd rs1 rs2 16..10=2 9..7=2 6..0=0x7A
+amoor.w rd rs1 rs2 16..10=3 9..7=2 6..0=0x7A
+amomin.w rd rs1 rs2 16..10=4 9..7=2 6..0=0x7A
+amomax.w rd rs1 rs2 16..10=5 9..7=2 6..0=0x7A
+amominu.w rd rs1 rs2 16..10=6 9..7=2 6..0=0x7A
+amomaxu.w rd rs1 rs2 16..10=7 9..7=2 6..0=0x7A
-amo.add rd rs1 rs2 16..10=0 9..7=3 6..0=0x7A
-amo.swap rd rs1 rs2 16..10=1 9..7=3 6..0=0x7A
-amo.and rd rs1 rs2 16..10=2 9..7=3 6..0=0x7A
-amo.or rd rs1 rs2 16..10=3 9..7=3 6..0=0x7A
-amo.min rd rs1 rs2 16..10=4 9..7=3 6..0=0x7A
-amo.max rd rs1 rs2 16..10=5 9..7=3 6..0=0x7A
-amo.minu rd rs1 rs2 16..10=6 9..7=3 6..0=0x7A
-amo.maxu rd rs1 rs2 16..10=7 9..7=3 6..0=0x7A
+amoadd.d rd rs1 rs2 16..10=0 9..7=3 6..0=0x7A
+amoswap.d rd rs1 rs2 16..10=1 9..7=3 6..0=0x7A
+amoand.d rd rs1 rs2 16..10=2 9..7=3 6..0=0x7A
+amoor.d rd rs1 rs2 16..10=3 9..7=3 6..0=0x7A
+amomin.d rd rs1 rs2 16..10=4 9..7=3 6..0=0x7A
+amomax.d rd rs1 rs2 16..10=5 9..7=3 6..0=0x7A
+amominu.d rd rs1 rs2 16..10=6 9..7=3 6..0=0x7A
+amomaxu.d rd rs1 rs2 16..10=7 9..7=3 6..0=0x7A
rdnpc rd 26..17=0 16..10=0 9..7=0 6..0=0x7B
mfcr rd 26..22=0 rs2 16..10=0 9..7=1 6..0=0x7B
@@ -119,54 +119,54 @@ eret 31..17=0 16..10=0 9..7=2 6..0=0x6B
# 0x7C-0x7F are reserved for >32b instructions
-add.s rd rs1 rs2 16..12=0 rm 8..7=0 6..0=0x6A
-sub.s rd rs1 rs2 16..12=1 rm 8..7=0 6..0=0x6A
-mul.s rd rs1 rs2 16..12=2 rm 8..7=0 6..0=0x6A
-div.s rd rs1 rs2 16..12=3 rm 8..7=0 6..0=0x6A
-sqrt.s rd rs1 21..17=0 16..12=4 rm 8..7=0 6..0=0x6A
-sgninj.s rd rs1 rs2 16..12=5 11..9=0 8..7=0 6..0=0x6A
-sgninjn.s rd rs1 rs2 16..12=6 11..9=0 8..7=0 6..0=0x6A
-sgnmul.s rd rs1 rs2 16..12=7 11..9=0 8..7=0 6..0=0x6A
-
-add.d rd rs1 rs2 16..12=0x0 rm 8..7=3 6..0=0x6A
-sub.d rd rs1 rs2 16..12=0x1 rm 8..7=3 6..0=0x6A
-mul.d rd rs1 rs2 16..12=0x2 rm 8..7=3 6..0=0x6A
-div.d rd rs1 rs2 16..12=0x3 rm 8..7=3 6..0=0x6A
-sqrt.d rd rs1 21..17=0 16..12=0x4 rm 8..7=3 6..0=0x6A
-sgninj.d rd rs1 rs2 16..12=0x5 11..9=0 8..7=3 6..0=0x6A
-sgninjn.d rd rs1 rs2 16..12=0x6 11..9=0 8..7=3 6..0=0x6A
-sgnmul.d rd rs1 rs2 16..12=0x7 11..9=0 8..7=3 6..0=0x6A
-
-cvt.l.s rd rs1 21..17=0 16..12=0x8 rm 8..7=0 6..0=0x6A
-cvtu.l.s rd rs1 21..17=0 16..12=0x9 rm 8..7=0 6..0=0x6A
-cvt.w.s rd rs1 21..17=0 16..12=0xA rm 8..7=0 6..0=0x6A
-cvtu.w.s rd rs1 21..17=0 16..12=0xB rm 8..7=0 6..0=0x6A
-
-cvt.l.d rd rs1 21..17=0 16..12=0x8 rm 8..7=3 6..0=0x6A
-cvtu.l.d rd rs1 21..17=0 16..12=0x9 rm 8..7=3 6..0=0x6A
-cvt.w.d rd rs1 21..17=0 16..12=0xA rm 8..7=3 6..0=0x6A
-cvtu.w.d rd rs1 21..17=0 16..12=0xB rm 8..7=3 6..0=0x6A
-
-cvt.s.l rd rs1 21..17=0 16..12=0xC rm 8..7=0 6..0=0x6A
-cvtu.s.l rd rs1 21..17=0 16..12=0xD rm 8..7=0 6..0=0x6A
-cvt.s.w rd rs1 21..17=0 16..12=0xE rm 8..7=0 6..0=0x6A
-cvtu.s.w rd rs1 21..17=0 16..12=0xF rm 8..7=0 6..0=0x6A
-
-cvt.d.l rd rs1 21..17=0 16..12=0xC rm 8..7=3 6..0=0x6A
-cvtu.d.l rd rs1 21..17=0 16..12=0xD rm 8..7=3 6..0=0x6A
-cvt.d.w rd rs1 21..17=0 16..12=0xE 11..9=0 8..7=3 6..0=0x6A
-cvtu.d.w rd rs1 21..17=0 16..12=0xF 11..9=0 8..7=3 6..0=0x6A
-
-cvt.s.d rd rs1 21..17=0 16..12=0x13 rm 8..7=0 6..0=0x6A
-cvt.d.s rd rs1 21..17=0 16..12=0x10 11..9=0 8..7=3 6..0=0x6A
-
-c.eq.s rd rs1 rs2 16..12=0x15 11..9=0 8..7=0 6..0=0x6A
-c.lt.s rd rs1 rs2 16..12=0x16 11..9=0 8..7=0 6..0=0x6A
-c.le.s rd rs1 rs2 16..12=0x17 11..9=0 8..7=0 6..0=0x6A
-
-c.eq.d rd rs1 rs2 16..12=0x15 11..9=0 8..7=3 6..0=0x6A
-c.lt.d rd rs1 rs2 16..12=0x16 11..9=0 8..7=3 6..0=0x6A
-c.le.d rd rs1 rs2 16..12=0x17 11..9=0 8..7=3 6..0=0x6A
+fadd.s rd rs1 rs2 16..12=0 rm 8..7=0 6..0=0x6A
+fsub.s rd rs1 rs2 16..12=1 rm 8..7=0 6..0=0x6A
+fmul.s rd rs1 rs2 16..12=2 rm 8..7=0 6..0=0x6A
+fdiv.s rd rs1 rs2 16..12=3 rm 8..7=0 6..0=0x6A
+fsqrt.s rd rs1 21..17=0 16..12=4 rm 8..7=0 6..0=0x6A
+fsinj.s rd rs1 rs2 16..12=5 11..9=0 8..7=0 6..0=0x6A
+fsinjn.s rd rs1 rs2 16..12=6 11..9=0 8..7=0 6..0=0x6A
+fsmul.s rd rs1 rs2 16..12=7 11..9=0 8..7=0 6..0=0x6A
+
+fadd.d rd rs1 rs2 16..12=0x0 rm 8..7=3 6..0=0x6A
+fsub.d rd rs1 rs2 16..12=0x1 rm 8..7=3 6..0=0x6A
+fmul.d rd rs1 rs2 16..12=0x2 rm 8..7=3 6..0=0x6A
+fdiv.d rd rs1 rs2 16..12=0x3 rm 8..7=3 6..0=0x6A
+fsqrt.d rd rs1 21..17=0 16..12=0x4 rm 8..7=3 6..0=0x6A
+fsinj.d rd rs1 rs2 16..12=0x5 11..9=0 8..7=3 6..0=0x6A
+fsinjn.d rd rs1 rs2 16..12=0x6 11..9=0 8..7=3 6..0=0x6A
+fsmul.d rd rs1 rs2 16..12=0x7 11..9=0 8..7=3 6..0=0x6A
+
+fcvt.l.s rd rs1 21..17=0 16..12=0x8 rm 8..7=0 6..0=0x6A
+fcvtu.l.s rd rs1 21..17=0 16..12=0x9 rm 8..7=0 6..0=0x6A
+fcvt.w.s rd rs1 21..17=0 16..12=0xA rm 8..7=0 6..0=0x6A
+fcvtu.w.s rd rs1 21..17=0 16..12=0xB rm 8..7=0 6..0=0x6A
+
+fcvt.l.d rd rs1 21..17=0 16..12=0x8 rm 8..7=3 6..0=0x6A
+fcvtu.l.d rd rs1 21..17=0 16..12=0x9 rm 8..7=3 6..0=0x6A
+fcvt.w.d rd rs1 21..17=0 16..12=0xA rm 8..7=3 6..0=0x6A
+fcvtu.w.d rd rs1 21..17=0 16..12=0xB rm 8..7=3 6..0=0x6A
+
+fcvt.s.l rd rs1 21..17=0 16..12=0xC rm 8..7=0 6..0=0x6A
+fcvtu.s.l rd rs1 21..17=0 16..12=0xD rm 8..7=0 6..0=0x6A
+fcvt.s.w rd rs1 21..17=0 16..12=0xE rm 8..7=0 6..0=0x6A
+fcvtu.s.w rd rs1 21..17=0 16..12=0xF rm 8..7=0 6..0=0x6A
+
+fcvt.d.l rd rs1 21..17=0 16..12=0xC rm 8..7=3 6..0=0x6A
+fcvtu.d.l rd rs1 21..17=0 16..12=0xD rm 8..7=3 6..0=0x6A
+fcvt.d.w rd rs1 21..17=0 16..12=0xE 11..9=0 8..7=3 6..0=0x6A
+fcvtu.d.w rd rs1 21..17=0 16..12=0xF 11..9=0 8..7=3 6..0=0x6A
+
+fcvt.s.d rd rs1 21..17=0 16..12=0x13 rm 8..7=0 6..0=0x6A
+fcvt.d.s rd rs1 21..17=0 16..12=0x10 11..9=0 8..7=3 6..0=0x6A
+
+fc.eq.s rd rs1 rs2 16..12=0x15 11..9=0 8..7=0 6..0=0x6A
+fc.lt.s rd rs1 rs2 16..12=0x16 11..9=0 8..7=0 6..0=0x6A
+fc.le.s rd rs1 rs2 16..12=0x17 11..9=0 8..7=0 6..0=0x6A
+
+fc.eq.d rd rs1 rs2 16..12=0x15 11..9=0 8..7=3 6..0=0x6A
+fc.lt.d rd rs1 rs2 16..12=0x16 11..9=0 8..7=3 6..0=0x6A
+fc.le.d rd rs1 rs2 16..12=0x17 11..9=0 8..7=3 6..0=0x6A
mff.s rd 26..22=0 rs2 16..12=0x18 11..9=2 8..7=0 6..0=0x6A
mff.d rd 26..22=0 rs2 16..12=0x18 11..9=2 8..7=3 6..0=0x6A
@@ -176,18 +176,21 @@ mtf.s rd rs1 21..17=0 16..12=0x1C 11..9=2 8..7=0 6..0=0x6A
mtf.d rd rs1 21..17=0 16..12=0x1C 11..9=2 8..7=3 6..0=0x6A
mtflh.d rd rs1 rs2 16..12=0x1C 11..9=3 8..7=3 6..0=0x6A
-l.s rd rs1 imm12 9..7=2 6..0=0x68
-l.d rd rs1 imm12 9..7=3 6..0=0x68
+lf.w rd rs1 imm12 9..7=2 6..0=0x68
+lf.d rd rs1 imm12 9..7=3 6..0=0x68
-s.s imm12hi rs1 rs2 imm12lo 9..7=2 6..0=0x69
-s.d imm12hi rs1 rs2 imm12lo 9..7=3 6..0=0x69
+sf.w imm12hi rs1 rs2 imm12lo 9..7=2 6..0=0x69
+sf.d imm12hi rs1 rs2 imm12lo 9..7=3 6..0=0x69
-madd.s rd rs1 rs2 rs3 rm 8..7=0 6..0=0x6C
-msub.s rd rs1 rs2 rs3 rm 8..7=0 6..0=0x6D
-nmsub.s rd rs1 rs2 rs3 rm 8..7=0 6..0=0x6E
-nmadd.s rd rs1 rs2 rs3 rm 8..7=0 6..0=0x6F
-
-madd.d rd rs1 rs2 rs3 rm 8..7=3 6..0=0x6C
-msub.d rd rs1 rs2 rs3 rm 8..7=3 6..0=0x6D
-nmsub.d rd rs1 rs2 rs3 rm 8..7=3 6..0=0x6E
-nmadd.d rd rs1 rs2 rs3 rm 8..7=3 6..0=0x6F
+fsel.s rd rs1 rs2 rs3 11..9=0 8..7=0 6..0=0x67
+fsel.d rd rs1 rs2 rs3 11..9=0 8..7=3 6..0=0x67
+
+fmadd.s rd rs1 rs2 rs3 rm 8..7=0 6..0=0x6C
+fmsub.s rd rs1 rs2 rs3 rm 8..7=0 6..0=0x6D
+fnmsub.s rd rs1 rs2 rs3 rm 8..7=0 6..0=0x6E
+fnmadd.s rd rs1 rs2 rs3 rm 8..7=0 6..0=0x6F
+
+fmadd.d rd rs1 rs2 rs3 rm 8..7=3 6..0=0x6C
+fmsub.d rd rs1 rs2 rs3 rm 8..7=3 6..0=0x6D
+fnmsub.d rd rs1 rs2 rs3 rm 8..7=3 6..0=0x6E
+fnmadd.d rd rs1 rs2 rs3 rm 8..7=3 6..0=0x6F
diff --git a/parse-opcodes b/parse-opcodes
index ea234b9..c8ab9e2 100755
--- a/parse-opcodes
+++ b/parse-opcodes
@@ -39,6 +39,7 @@ typelut[0x78] = 3
typelut[0x79] = 10
typelut[0x7a] = 4
typelut[0x7b] = 4
+typelut[0x67] = 4
typelut[0x68] = 3
typelut[0x69] = 10
typelut[0x6a] = 4