From 478ff61a9244f13dbb4c605a32d428e46f0b4d5b Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Thu, 20 Jan 2011 20:37:22 -0800 Subject: [sim, pk, xcc, opcodes] great instruction renaming of 2011 --- inst.v | 160 +++++++------- instr-table.tex | 674 ++++++++------------------------------------------------ opcodes | 181 +++++++-------- parse-opcodes | 1 + 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} @@ -1981,80 +1801,6 @@ \cline{2-10} -& -\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}{} & \\ & @@ -2062,90 +1808,6 @@ \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.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} & @@ -2180,94 +1842,6 @@ \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.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} & @@ -2387,60 +1961,6 @@ \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.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}{} & \\ & 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 -- cgit v1.2.3