diff options
Diffstat (limited to 'instr-table.tex')
-rw-r--r-- | instr-table.tex | 1329 |
1 files changed, 531 insertions, 798 deletions
diff --git a/instr-table.tex b/instr-table.tex index c1761be..b6375da 100644 --- a/instr-table.tex +++ b/instr-table.tex @@ -5,17 +5,6 @@ \begin{small} \begin{center} \begin{tabular}{rccccccccccl} - & -\hspace*{0.6in} & -\hspace*{0.3in} & -\hspace*{0.1in} & -\hspace*{0.1in} & -\hspace*{0.2in} & -\hspace*{0.2in} & -\hspace*{0.1in} & -\hspace*{0.3in} & -\hspace*{0.3in} & -\hspace*{0.3in} \\ & \instbitrange{31}{27} & \instbitrange{26}{22} & @@ -34,8 +23,8 @@ \cline{2-11} & \multicolumn{1}{|c|}{rd} & -\multicolumn{8}{c|}{LUI-immediate} & -\multicolumn{1}{c|}{opcode} & LUI-type \\ +\multicolumn{8}{c|}{upper immediate} & +\multicolumn{1}{c|}{opcode} & U-type \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & @@ -73,19 +62,21 @@ & \multicolumn{10}{c}{} & \\ & -\multicolumn{10}{c}{\bf Unimplemented Instruction} & \\ +\multicolumn{10}{c}{\bf RV32I Instruction Subset} & \\ \cline{2-11} & -\multicolumn{10}{|c|}{00000000000000000000000000000000} & UNIMP \\ +\multicolumn{1}{|c|}{rd} & +\multicolumn{8}{c|}{imm20} & +\multicolumn{1}{c|}{0110111} & LUI rd,imm20 \\ \cline{2-11} & -\multicolumn{10}{c}{} & \\ -& -\multicolumn{10}{c}{\bf Control Transfer Instructions} & \\ +\multicolumn{1}{|c|}{rd} & +\multicolumn{8}{c|}{imm20} & +\multicolumn{1}{c|}{0010111} & AUIPC rd,imm20 \\ \cline{2-11} @@ -102,6 +93,15 @@ & +\multicolumn{1}{|c|}{rd} & +\multicolumn{1}{c|}{rs1} & +\multicolumn{5}{c|}{imm12} & +\multicolumn{2}{c|}{000} & +\multicolumn{1}{c|}{1101011} & JALR rd,rs1,imm12 \\ +\cline{2-11} + + +& \multicolumn{1}{|c|}{imm12hi} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & @@ -166,40 +166,6 @@ \multicolumn{1}{c|}{rs1} & \multicolumn{5}{c|}{imm12} & \multicolumn{2}{c|}{000} & -\multicolumn{1}{c|}{1101011} & JALR.C rd,rs1,imm12 \\ -\cline{2-11} - - -& -\multicolumn{1}{|c|}{rd} & -\multicolumn{1}{c|}{rs1} & -\multicolumn{5}{c|}{imm12} & -\multicolumn{2}{c|}{001} & -\multicolumn{1}{c|}{1101011} & JALR.R rd,rs1,imm12 \\ -\cline{2-11} - - -& -\multicolumn{1}{|c|}{rd} & -\multicolumn{1}{c|}{rs1} & -\multicolumn{5}{c|}{imm12} & -\multicolumn{2}{c|}{010} & -\multicolumn{1}{c|}{1101011} & JALR.J rd,rs1,imm12 \\ -\cline{2-11} - - -& -\multicolumn{10}{c}{} & \\ -& -\multicolumn{10}{c}{\bf Memory Instructions} & \\ -\cline{2-11} - - -& -\multicolumn{1}{|c|}{rd} & -\multicolumn{1}{c|}{rs1} & -\multicolumn{5}{c|}{imm12} & -\multicolumn{2}{c|}{000} & \multicolumn{1}{c|}{0000011} & LB rd,rs1,imm12 \\ \cline{2-11} @@ -226,15 +192,6 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{5}{c|}{imm12} & -\multicolumn{2}{c|}{011} & -\multicolumn{1}{c|}{0000011} & LD rd,rs1,imm12 \\ -\cline{2-11} - - -& -\multicolumn{1}{|c|}{rd} & -\multicolumn{1}{c|}{rs1} & -\multicolumn{5}{c|}{imm12} & \multicolumn{2}{c|}{100} & \multicolumn{1}{c|}{0000011} & LBU rd,rs1,imm12 \\ \cline{2-11} @@ -250,15 +207,6 @@ & -\multicolumn{1}{|c|}{rd} & -\multicolumn{1}{c|}{rs1} & -\multicolumn{5}{c|}{imm12} & -\multicolumn{2}{c|}{110} & -\multicolumn{1}{c|}{0000011} & LWU rd,rs1,imm12 \\ -\cline{2-11} - - -& \multicolumn{1}{|c|}{imm12hi} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & @@ -289,79 +237,86 @@ & -\multicolumn{1}{|c|}{imm12hi} & +\multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{imm12lo} & -\multicolumn{2}{c|}{011} & -\multicolumn{1}{c|}{0100011} & SD rs1,rs2,imm12 \\ +\multicolumn{5}{c|}{imm12} & +\multicolumn{2}{c|}{000} & +\multicolumn{1}{c|}{0010011} & ADDI rd,rs1,imm12 \\ \cline{2-11} & -\multicolumn{10}{c}{} & \\ -& -\multicolumn{10}{c}{\bf Atomic Memory Instructions} & \\ +\multicolumn{1}{|c|}{rd} & +\multicolumn{1}{c|}{rs1} & +\multicolumn{2}{c|}{000000} & +\multicolumn{3}{c|}{shamt} & +\multicolumn{2}{c|}{001} & +\multicolumn{1}{c|}{0010011} & SLLI rd,rs1,shamt \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{0000000} & +\multicolumn{5}{c|}{imm12} & \multicolumn{2}{c|}{010} & -\multicolumn{1}{c|}{0101011} & AMOADD.W rd,rs1,rs2 \\ +\multicolumn{1}{c|}{0010011} & SLTI rd,rs1,imm12 \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{0000001} & -\multicolumn{2}{c|}{010} & -\multicolumn{1}{c|}{0101011} & AMOSWAP.W rd,rs1,rs2 \\ +\multicolumn{5}{c|}{imm12} & +\multicolumn{2}{c|}{011} & +\multicolumn{1}{c|}{0010011} & SLTIU rd,rs1,imm12 \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{0000010} & -\multicolumn{2}{c|}{010} & -\multicolumn{1}{c|}{0101011} & AMOAND.W rd,rs1,rs2 \\ +\multicolumn{5}{c|}{imm12} & +\multicolumn{2}{c|}{100} & +\multicolumn{1}{c|}{0010011} & XORI rd,rs1,imm12 \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{0000011} & -\multicolumn{2}{c|}{010} & -\multicolumn{1}{c|}{0101011} & AMOOR.W rd,rs1,rs2 \\ +\multicolumn{2}{c|}{000000} & +\multicolumn{3}{c|}{shamt} & +\multicolumn{2}{c|}{101} & +\multicolumn{1}{c|}{0010011} & SRLI rd,rs1,shamt \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{0000100} & -\multicolumn{2}{c|}{010} & -\multicolumn{1}{c|}{0101011} & AMOMIN.W rd,rs1,rs2 \\ +\multicolumn{2}{c|}{000001} & +\multicolumn{3}{c|}{shamt} & +\multicolumn{2}{c|}{101} & +\multicolumn{1}{c|}{0010011} & SRAI rd,rs1,shamt \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{0000101} & -\multicolumn{2}{c|}{010} & -\multicolumn{1}{c|}{0101011} & AMOMAX.W rd,rs1,rs2 \\ +\multicolumn{5}{c|}{imm12} & +\multicolumn{2}{c|}{110} & +\multicolumn{1}{c|}{0010011} & ORI rd,rs1,imm12 \\ +\cline{2-11} + + +& +\multicolumn{1}{|c|}{rd} & +\multicolumn{1}{c|}{rs1} & +\multicolumn{5}{c|}{imm12} & +\multicolumn{2}{c|}{111} & +\multicolumn{1}{c|}{0010011} & ANDI rd,rs1,imm12 \\ \cline{2-11} @@ -369,9 +324,9 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{0000110} & -\multicolumn{2}{c|}{010} & -\multicolumn{1}{c|}{0101011} & AMOMINU.W rd,rs1,rs2 \\ +\multicolumn{4}{c|}{0000000} & +\multicolumn{2}{c|}{000} & +\multicolumn{1}{c|}{0110011} & ADD rd,rs1,rs2 \\ \cline{2-11} @@ -379,9 +334,9 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{0000111} & -\multicolumn{2}{c|}{010} & -\multicolumn{1}{c|}{0101011} & AMOMAXU.W rd,rs1,rs2 \\ +\multicolumn{4}{c|}{1000000} & +\multicolumn{2}{c|}{000} & +\multicolumn{1}{c|}{0110011} & SUB rd,rs1,rs2 \\ \cline{2-11} @@ -390,8 +345,8 @@ \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & \multicolumn{4}{c|}{0000000} & -\multicolumn{2}{c|}{011} & -\multicolumn{1}{c|}{0101011} & AMOADD.D rd,rs1,rs2 \\ +\multicolumn{2}{c|}{001} & +\multicolumn{1}{c|}{0110011} & SLL rd,rs1,rs2 \\ \cline{2-11} @@ -399,9 +354,9 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{0000001} & -\multicolumn{2}{c|}{011} & -\multicolumn{1}{c|}{0101011} & AMOSWAP.D rd,rs1,rs2 \\ +\multicolumn{4}{c|}{0000000} & +\multicolumn{2}{c|}{010} & +\multicolumn{1}{c|}{0110011} & SLT rd,rs1,rs2 \\ \cline{2-11} @@ -409,9 +364,9 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{0000010} & +\multicolumn{4}{c|}{0000000} & \multicolumn{2}{c|}{011} & -\multicolumn{1}{c|}{0101011} & AMOAND.D rd,rs1,rs2 \\ +\multicolumn{1}{c|}{0110011} & SLTU rd,rs1,rs2 \\ \cline{2-11} @@ -419,9 +374,9 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{0000011} & -\multicolumn{2}{c|}{011} & -\multicolumn{1}{c|}{0101011} & AMOOR.D rd,rs1,rs2 \\ +\multicolumn{4}{c|}{0000000} & +\multicolumn{2}{c|}{100} & +\multicolumn{1}{c|}{0110011} & XOR rd,rs1,rs2 \\ \cline{2-11} @@ -429,9 +384,9 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{0000100} & -\multicolumn{2}{c|}{011} & -\multicolumn{1}{c|}{0101011} & AMOMIN.D rd,rs1,rs2 \\ +\multicolumn{4}{c|}{0000000} & +\multicolumn{2}{c|}{101} & +\multicolumn{1}{c|}{0110011} & SRL rd,rs1,rs2 \\ \cline{2-11} @@ -439,9 +394,9 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{0000101} & -\multicolumn{2}{c|}{011} & -\multicolumn{1}{c|}{0101011} & AMOMAX.D rd,rs1,rs2 \\ +\multicolumn{4}{c|}{1000000} & +\multicolumn{2}{c|}{101} & +\multicolumn{1}{c|}{0110011} & SRA rd,rs1,rs2 \\ \cline{2-11} @@ -449,9 +404,9 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{0000110} & -\multicolumn{2}{c|}{011} & -\multicolumn{1}{c|}{0101011} & AMOMINU.D rd,rs1,rs2 \\ +\multicolumn{4}{c|}{0000000} & +\multicolumn{2}{c|}{110} & +\multicolumn{1}{c|}{0110011} & OR rd,rs1,rs2 \\ \cline{2-11} @@ -459,49 +414,77 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{0000111} & -\multicolumn{2}{c|}{011} & -\multicolumn{1}{c|}{0101011} & AMOMAXU.D rd,rs1,rs2 \\ +\multicolumn{4}{c|}{0000000} & +\multicolumn{2}{c|}{111} & +\multicolumn{1}{c|}{0110011} & AND rd,rs1,rs2 \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{00000} & -\multicolumn{4}{c|}{1000000} & -\multicolumn{2}{c|}{010} & -\multicolumn{1}{c|}{0101011} & LR.W rd,rs1 \\ +\multicolumn{5}{c|}{imm12} & +\multicolumn{2}{c|}{001} & +\multicolumn{1}{c|}{0101111} & FENCE.I rd,rs1,imm12 \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & +\multicolumn{5}{c|}{imm12} & +\multicolumn{2}{c|}{010} & +\multicolumn{1}{c|}{0101111} & FENCE rd,rs1,imm12 \\ +\cline{2-11} + + +& +\multicolumn{1}{|c|}{00000} & \multicolumn{1}{c|}{00000} & -\multicolumn{4}{c|}{1000000} & -\multicolumn{2}{c|}{011} & -\multicolumn{1}{c|}{0101011} & LR.D rd,rs1 \\ +\multicolumn{1}{c|}{00000} & +\multicolumn{4}{c|}{0000000} & +\multicolumn{2}{c|}{000} & +\multicolumn{1}{c|}{1110111} & SYSCALL \\ +\cline{2-11} + + +& +\multicolumn{1}{|c|}{00000} & +\multicolumn{1}{c|}{00000} & +\multicolumn{1}{c|}{00000} & +\multicolumn{4}{c|}{0000000} & +\multicolumn{2}{c|}{001} & +\multicolumn{1}{c|}{1110111} & BREAK \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & -\multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{1000001} & -\multicolumn{2}{c|}{010} & -\multicolumn{1}{c|}{0101011} & SC.W rd,rs1,rs2 \\ +\multicolumn{1}{c|}{00000} & +\multicolumn{1}{c|}{00000} & +\multicolumn{4}{c|}{0000000} & +\multicolumn{2}{c|}{100} & +\multicolumn{1}{c|}{1110111} & RDCYCLE rd \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & -\multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{1000001} & -\multicolumn{2}{c|}{011} & -\multicolumn{1}{c|}{0101011} & SC.D rd,rs1,rs2 \\ +\multicolumn{1}{c|}{00000} & +\multicolumn{1}{c|}{00000} & +\multicolumn{4}{c|}{0000001} & +\multicolumn{2}{c|}{100} & +\multicolumn{1}{c|}{1110111} & RDTIME rd \\ +\cline{2-11} + + +& +\multicolumn{1}{|c|}{rd} & +\multicolumn{1}{c|}{00000} & +\multicolumn{1}{c|}{00000} & +\multicolumn{4}{c|}{0000010} & +\multicolumn{2}{c|}{100} & +\multicolumn{1}{c|}{1110111} & RDINSTRET rd \\ \cline{2-11} @@ -519,17 +502,6 @@ \begin{small} \begin{center} \begin{tabular}{rccccccccccl} - & -\hspace*{0.6in} & -\hspace*{0.3in} & -\hspace*{0.1in} & -\hspace*{0.1in} & -\hspace*{0.2in} & -\hspace*{0.2in} & -\hspace*{0.1in} & -\hspace*{0.3in} & -\hspace*{0.3in} & -\hspace*{0.3in} \\ & \instbitrange{31}{27} & \instbitrange{26}{22} & @@ -548,8 +520,8 @@ \cline{2-11} & \multicolumn{1}{|c|}{rd} & -\multicolumn{8}{c|}{LUI-immediate} & -\multicolumn{1}{c|}{opcode} & LUI-type \\ +\multicolumn{8}{c|}{upper immediate} & +\multicolumn{1}{c|}{opcode} & U-type \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & @@ -587,7 +559,7 @@ & \multicolumn{10}{c}{} & \\ & -\multicolumn{10}{c}{\bf Integer Compute Instructions} & \\ +\multicolumn{10}{c}{\bf RV64I Instruction Subset} & \\ \cline{2-11} @@ -595,18 +567,8 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{5}{c|}{imm12} & -\multicolumn{2}{c|}{000} & -\multicolumn{1}{c|}{0010011} & ADDI rd,rs1,imm12 \\ -\cline{2-11} - - -& -\multicolumn{1}{|c|}{rd} & -\multicolumn{1}{c|}{rs1} & -\multicolumn{2}{c|}{000000} & -\multicolumn{3}{c|}{shamt} & -\multicolumn{2}{c|}{001} & -\multicolumn{1}{c|}{0010011} & SLLI rd,rs1,shamt \\ +\multicolumn{2}{c|}{110} & +\multicolumn{1}{c|}{0000011} & LWU rd,rs1,imm12 \\ \cline{2-11} @@ -614,17 +576,18 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{5}{c|}{imm12} & -\multicolumn{2}{c|}{010} & -\multicolumn{1}{c|}{0010011} & SLTI rd,rs1,imm12 \\ +\multicolumn{2}{c|}{011} & +\multicolumn{1}{c|}{0000011} & LD rd,rs1,imm12 \\ \cline{2-11} & -\multicolumn{1}{|c|}{rd} & +\multicolumn{1}{|c|}{imm12hi} & \multicolumn{1}{c|}{rs1} & -\multicolumn{5}{c|}{imm12} & +\multicolumn{1}{c|}{rs2} & +\multicolumn{4}{c|}{imm12lo} & \multicolumn{2}{c|}{011} & -\multicolumn{1}{c|}{0010011} & SLTIU rd,rs1,imm12 \\ +\multicolumn{1}{c|}{0100011} & SD rs1,rs2,imm12 \\ \cline{2-11} @@ -632,46 +595,38 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{5}{c|}{imm12} & -\multicolumn{2}{c|}{100} & -\multicolumn{1}{c|}{0010011} & XORI rd,rs1,imm12 \\ +\multicolumn{2}{c|}{000} & +\multicolumn{1}{c|}{0011011} & ADDIW rd,rs1,imm12 \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{2}{c|}{000000} & -\multicolumn{3}{c|}{shamt} & -\multicolumn{2}{c|}{101} & -\multicolumn{1}{c|}{0010011} & SRLI rd,rs1,shamt \\ +\multicolumn{3}{c|}{0000000} & +\multicolumn{2}{c|}{shamtw} & +\multicolumn{2}{c|}{001} & +\multicolumn{1}{c|}{0011011} & SLLIW rd,rs1,shamtw \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{2}{c|}{000001} & -\multicolumn{3}{c|}{shamt} & +\multicolumn{3}{c|}{0000000} & +\multicolumn{2}{c|}{shamtw} & \multicolumn{2}{c|}{101} & -\multicolumn{1}{c|}{0010011} & SRAI rd,rs1,shamt \\ -\cline{2-11} - - -& -\multicolumn{1}{|c|}{rd} & -\multicolumn{1}{c|}{rs1} & -\multicolumn{5}{c|}{imm12} & -\multicolumn{2}{c|}{110} & -\multicolumn{1}{c|}{0010011} & ORI rd,rs1,imm12 \\ +\multicolumn{1}{c|}{0011011} & SRLIW rd,rs1,shamtw \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{5}{c|}{imm12} & -\multicolumn{2}{c|}{111} & -\multicolumn{1}{c|}{0010011} & ANDI rd,rs1,imm12 \\ +\multicolumn{3}{c|}{0000010} & +\multicolumn{2}{c|}{shamtw} & +\multicolumn{2}{c|}{101} & +\multicolumn{1}{c|}{0011011} & SRAIW rd,rs1,shamtw \\ \cline{2-11} @@ -681,7 +636,7 @@ \multicolumn{1}{c|}{rs2} & \multicolumn{4}{c|}{0000000} & \multicolumn{2}{c|}{000} & -\multicolumn{1}{c|}{0110011} & ADD rd,rs1,rs2 \\ +\multicolumn{1}{c|}{0111011} & ADDW rd,rs1,rs2 \\ \cline{2-11} @@ -691,7 +646,7 @@ \multicolumn{1}{c|}{rs2} & \multicolumn{4}{c|}{1000000} & \multicolumn{2}{c|}{000} & -\multicolumn{1}{c|}{0110011} & SUB rd,rs1,rs2 \\ +\multicolumn{1}{c|}{0111011} & SUBW rd,rs1,rs2 \\ \cline{2-11} @@ -701,37 +656,7 @@ \multicolumn{1}{c|}{rs2} & \multicolumn{4}{c|}{0000000} & \multicolumn{2}{c|}{001} & -\multicolumn{1}{c|}{0110011} & SLL rd,rs1,rs2 \\ -\cline{2-11} - - -& -\multicolumn{1}{|c|}{rd} & -\multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{0000000} & -\multicolumn{2}{c|}{010} & -\multicolumn{1}{c|}{0110011} & SLT rd,rs1,rs2 \\ -\cline{2-11} - - -& -\multicolumn{1}{|c|}{rd} & -\multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{0000000} & -\multicolumn{2}{c|}{011} & -\multicolumn{1}{c|}{0110011} & SLTU rd,rs1,rs2 \\ -\cline{2-11} - - -& -\multicolumn{1}{|c|}{rd} & -\multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{0000000} & -\multicolumn{2}{c|}{100} & -\multicolumn{1}{c|}{0110011} & XOR rd,rs1,rs2 \\ +\multicolumn{1}{c|}{0111011} & SLLW rd,rs1,rs2 \\ \cline{2-11} @@ -741,7 +666,7 @@ \multicolumn{1}{c|}{rs2} & \multicolumn{4}{c|}{0000000} & \multicolumn{2}{c|}{101} & -\multicolumn{1}{c|}{0110011} & SRL rd,rs1,rs2 \\ +\multicolumn{1}{c|}{0111011} & SRLW rd,rs1,rs2 \\ \cline{2-11} @@ -751,27 +676,14 @@ \multicolumn{1}{c|}{rs2} & \multicolumn{4}{c|}{1000000} & \multicolumn{2}{c|}{101} & -\multicolumn{1}{c|}{0110011} & SRA rd,rs1,rs2 \\ +\multicolumn{1}{c|}{0111011} & SRAW rd,rs1,rs2 \\ \cline{2-11} & -\multicolumn{1}{|c|}{rd} & -\multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{0000000} & -\multicolumn{2}{c|}{110} & -\multicolumn{1}{c|}{0110011} & OR rd,rs1,rs2 \\ -\cline{2-11} - - +\multicolumn{10}{c}{} & \\ & -\multicolumn{1}{|c|}{rd} & -\multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{0000000} & -\multicolumn{2}{c|}{111} & -\multicolumn{1}{c|}{0110011} & AND rd,rs1,rs2 \\ +\multicolumn{10}{c}{\bf RV32M Instruction Subset} & \\ \cline{2-11} @@ -856,55 +768,49 @@ & -\multicolumn{1}{|c|}{rd} & -\multicolumn{8}{c|}{imm20} & -\multicolumn{1}{c|}{0110111} & LUI rd,imm20 \\ -\cline{2-11} - - -& \multicolumn{10}{c}{} & \\ & -\multicolumn{10}{c}{\bf 32-bit Integer Compute Instructions} & \\ +\multicolumn{10}{c}{\bf RV64M Instruction Subset} & \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{5}{c|}{imm12} & +\multicolumn{1}{c|}{rs2} & +\multicolumn{4}{c|}{0000001} & \multicolumn{2}{c|}{000} & -\multicolumn{1}{c|}{0011011} & ADDIW rd,rs1,imm12 \\ +\multicolumn{1}{c|}{0111011} & MULW rd,rs1,rs2 \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{3}{c|}{0000000} & -\multicolumn{2}{c|}{shamtw} & -\multicolumn{2}{c|}{001} & -\multicolumn{1}{c|}{0011011} & SLLIW rd,rs1,shamtw \\ +\multicolumn{1}{c|}{rs2} & +\multicolumn{4}{c|}{0000001} & +\multicolumn{2}{c|}{100} & +\multicolumn{1}{c|}{0111011} & DIVW rd,rs1,rs2 \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{3}{c|}{0000000} & -\multicolumn{2}{c|}{shamtw} & +\multicolumn{1}{c|}{rs2} & +\multicolumn{4}{c|}{0000001} & \multicolumn{2}{c|}{101} & -\multicolumn{1}{c|}{0011011} & SRLIW rd,rs1,shamtw \\ +\multicolumn{1}{c|}{0111011} & DIVUW rd,rs1,rs2 \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{3}{c|}{0000010} & -\multicolumn{2}{c|}{shamtw} & -\multicolumn{2}{c|}{101} & -\multicolumn{1}{c|}{0011011} & SRAIW rd,rs1,shamtw \\ +\multicolumn{1}{c|}{rs2} & +\multicolumn{4}{c|}{0000001} & +\multicolumn{2}{c|}{110} & +\multicolumn{1}{c|}{0111011} & REMW rd,rs1,rs2 \\ \cline{2-11} @@ -912,9 +818,16 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{0000000} & -\multicolumn{2}{c|}{000} & -\multicolumn{1}{c|}{0111011} & ADDW rd,rs1,rs2 \\ +\multicolumn{4}{c|}{0000001} & +\multicolumn{2}{c|}{111} & +\multicolumn{1}{c|}{0111011} & REMUW rd,rs1,rs2 \\ +\cline{2-11} + + +& +\multicolumn{10}{c}{} & \\ +& +\multicolumn{10}{c}{\bf RV32A Instruction Subset} & \\ \cline{2-11} @@ -922,9 +835,9 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{1000000} & -\multicolumn{2}{c|}{000} & -\multicolumn{1}{c|}{0111011} & SUBW rd,rs1,rs2 \\ +\multicolumn{4}{c|}{0000000} & +\multicolumn{2}{c|}{010} & +\multicolumn{1}{c|}{0101011} & AMOADD.W rd,rs1,rs2 \\ \cline{2-11} @@ -932,9 +845,9 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{0000000} & -\multicolumn{2}{c|}{001} & -\multicolumn{1}{c|}{0111011} & SLLW rd,rs1,rs2 \\ +\multicolumn{4}{c|}{0000001} & +\multicolumn{2}{c|}{010} & +\multicolumn{1}{c|}{0101011} & AMOSWAP.W rd,rs1,rs2 \\ \cline{2-11} @@ -942,9 +855,9 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{0000000} & -\multicolumn{2}{c|}{101} & -\multicolumn{1}{c|}{0111011} & SRLW rd,rs1,rs2 \\ +\multicolumn{4}{c|}{0000010} & +\multicolumn{2}{c|}{010} & +\multicolumn{1}{c|}{0101011} & AMOAND.W rd,rs1,rs2 \\ \cline{2-11} @@ -952,9 +865,9 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{1000000} & -\multicolumn{2}{c|}{101} & -\multicolumn{1}{c|}{0111011} & SRAW rd,rs1,rs2 \\ +\multicolumn{4}{c|}{0000011} & +\multicolumn{2}{c|}{010} & +\multicolumn{1}{c|}{0101011} & AMOOR.W rd,rs1,rs2 \\ \cline{2-11} @@ -962,9 +875,9 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{0000001} & -\multicolumn{2}{c|}{000} & -\multicolumn{1}{c|}{0111011} & MULW rd,rs1,rs2 \\ +\multicolumn{4}{c|}{0000100} & +\multicolumn{2}{c|}{010} & +\multicolumn{1}{c|}{0101011} & AMOMIN.W rd,rs1,rs2 \\ \cline{2-11} @@ -972,9 +885,9 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{0000001} & -\multicolumn{2}{c|}{100} & -\multicolumn{1}{c|}{0111011} & DIVW rd,rs1,rs2 \\ +\multicolumn{4}{c|}{0000101} & +\multicolumn{2}{c|}{010} & +\multicolumn{1}{c|}{0101011} & AMOMAX.W rd,rs1,rs2 \\ \cline{2-11} @@ -982,9 +895,9 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{0000001} & -\multicolumn{2}{c|}{101} & -\multicolumn{1}{c|}{0111011} & DIVUW rd,rs1,rs2 \\ +\multicolumn{4}{c|}{0000110} & +\multicolumn{2}{c|}{010} & +\multicolumn{1}{c|}{0101011} & AMOMINU.W rd,rs1,rs2 \\ \cline{2-11} @@ -992,9 +905,19 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{0000001} & -\multicolumn{2}{c|}{110} & -\multicolumn{1}{c|}{0111011} & REMW rd,rs1,rs2 \\ +\multicolumn{4}{c|}{0000111} & +\multicolumn{2}{c|}{010} & +\multicolumn{1}{c|}{0101011} & AMOMAXU.W rd,rs1,rs2 \\ +\cline{2-11} + + +& +\multicolumn{1}{|c|}{rd} & +\multicolumn{1}{c|}{rs1} & +\multicolumn{1}{c|}{00000} & +\multicolumn{4}{c|}{1000000} & +\multicolumn{2}{c|}{010} & +\multicolumn{1}{c|}{0101011} & LR.W rd,rs1 \\ \cline{2-11} @@ -1002,9 +925,9 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{0000001} & -\multicolumn{2}{c|}{111} & -\multicolumn{1}{c|}{0111011} & REMUW rd,rs1,rs2 \\ +\multicolumn{4}{c|}{1000001} & +\multicolumn{2}{c|}{010} & +\multicolumn{1}{c|}{0101011} & SC.W rd,rs1,rs2 \\ \cline{2-11} @@ -1022,17 +945,6 @@ \begin{small} \begin{center} \begin{tabular}{rccccccccccl} - & -\hspace*{0.6in} & -\hspace*{0.3in} & -\hspace*{0.1in} & -\hspace*{0.1in} & -\hspace*{0.2in} & -\hspace*{0.2in} & -\hspace*{0.1in} & -\hspace*{0.3in} & -\hspace*{0.3in} & -\hspace*{0.3in} \\ & \instbitrange{31}{27} & \instbitrange{26}{22} & @@ -1051,8 +963,8 @@ \cline{2-11} & \multicolumn{1}{|c|}{rd} & -\multicolumn{8}{c|}{LUI-immediate} & -\multicolumn{1}{c|}{opcode} & LUI-type \\ +\multicolumn{8}{c|}{upper immediate} & +\multicolumn{1}{c|}{opcode} & U-type \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & @@ -1090,52 +1002,133 @@ & \multicolumn{10}{c}{} & \\ & -\multicolumn{10}{c}{\bf Floating-Point Memory Instructions} & \\ +\multicolumn{10}{c}{\bf RV64A Instruction Subset} & \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{5}{c|}{imm12} & -\multicolumn{2}{c|}{010} & -\multicolumn{1}{c|}{0000111} & FLW rd,rs1,imm12 \\ +\multicolumn{1}{c|}{rs2} & +\multicolumn{4}{c|}{0000000} & +\multicolumn{2}{c|}{011} & +\multicolumn{1}{c|}{0101011} & AMOADD.D rd,rs1,rs2 \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{5}{c|}{imm12} & +\multicolumn{1}{c|}{rs2} & +\multicolumn{4}{c|}{0000001} & \multicolumn{2}{c|}{011} & -\multicolumn{1}{c|}{0000111} & FLD rd,rs1,imm12 \\ +\multicolumn{1}{c|}{0101011} & AMOSWAP.D rd,rs1,rs2 \\ \cline{2-11} & -\multicolumn{1}{|c|}{imm12hi} & +\multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{imm12lo} & -\multicolumn{2}{c|}{010} & -\multicolumn{1}{c|}{0100111} & FSW rs1,rs2,imm12 \\ +\multicolumn{4}{c|}{0000010} & +\multicolumn{2}{c|}{011} & +\multicolumn{1}{c|}{0101011} & AMOAND.D rd,rs1,rs2 \\ \cline{2-11} & -\multicolumn{1}{|c|}{imm12hi} & +\multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{imm12lo} & +\multicolumn{4}{c|}{0000011} & \multicolumn{2}{c|}{011} & -\multicolumn{1}{c|}{0100111} & FSD rs1,rs2,imm12 \\ +\multicolumn{1}{c|}{0101011} & AMOOR.D rd,rs1,rs2 \\ +\cline{2-11} + + +& +\multicolumn{1}{|c|}{rd} & +\multicolumn{1}{c|}{rs1} & +\multicolumn{1}{c|}{rs2} & +\multicolumn{4}{c|}{0000100} & +\multicolumn{2}{c|}{011} & +\multicolumn{1}{c|}{0101011} & AMOMIN.D rd,rs1,rs2 \\ +\cline{2-11} + + +& +\multicolumn{1}{|c|}{rd} & +\multicolumn{1}{c|}{rs1} & +\multicolumn{1}{c|}{rs2} & +\multicolumn{4}{c|}{0000101} & +\multicolumn{2}{c|}{011} & +\multicolumn{1}{c|}{0101011} & AMOMAX.D rd,rs1,rs2 \\ +\cline{2-11} + + +& +\multicolumn{1}{|c|}{rd} & +\multicolumn{1}{c|}{rs1} & +\multicolumn{1}{c|}{rs2} & +\multicolumn{4}{c|}{0000110} & +\multicolumn{2}{c|}{011} & +\multicolumn{1}{c|}{0101011} & AMOMINU.D rd,rs1,rs2 \\ +\cline{2-11} + + +& +\multicolumn{1}{|c|}{rd} & +\multicolumn{1}{c|}{rs1} & +\multicolumn{1}{c|}{rs2} & +\multicolumn{4}{c|}{0000111} & +\multicolumn{2}{c|}{011} & +\multicolumn{1}{c|}{0101011} & AMOMAXU.D rd,rs1,rs2 \\ +\cline{2-11} + + +& +\multicolumn{1}{|c|}{rd} & +\multicolumn{1}{c|}{rs1} & +\multicolumn{1}{c|}{00000} & +\multicolumn{4}{c|}{1000000} & +\multicolumn{2}{c|}{011} & +\multicolumn{1}{c|}{0101011} & LR.D rd,rs1 \\ +\cline{2-11} + + +& +\multicolumn{1}{|c|}{rd} & +\multicolumn{1}{c|}{rs1} & +\multicolumn{1}{c|}{rs2} & +\multicolumn{4}{c|}{1000001} & +\multicolumn{2}{c|}{011} & +\multicolumn{1}{c|}{0101011} & SC.D rd,rs1,rs2 \\ \cline{2-11} & \multicolumn{10}{c}{} & \\ & -\multicolumn{10}{c}{\bf Floating-Point Compute Instructions} & \\ +\multicolumn{10}{c}{\bf RV32F Instruction Subset} & \\ +\cline{2-11} + + +& +\multicolumn{1}{|c|}{rd} & +\multicolumn{1}{c|}{rs1} & +\multicolumn{5}{c|}{imm12} & +\multicolumn{2}{c|}{010} & +\multicolumn{1}{c|}{0000111} & FLW rd,rs1,imm12 \\ +\cline{2-11} + + +& +\multicolumn{1}{|c|}{imm12hi} & +\multicolumn{1}{c|}{rs1} & +\multicolumn{1}{c|}{rs2} & +\multicolumn{4}{c|}{imm12lo} & +\multicolumn{2}{c|}{010} & +\multicolumn{1}{c|}{0100111} & FSW rs1,rs2,imm12 \\ \cline{2-11} @@ -1146,7 +1139,7 @@ \multicolumn{3}{c|}{00000} & \multicolumn{2}{c|}{rm} & \multicolumn{1}{c|}{00} & -\multicolumn{1}{c|}{1010011} & FADD.S rd,rs1,rs2[,rm] \\ +\multicolumn{1}{c|}{1010011} & FADD.S rd,rs1,rs2,rm \\ \cline{2-11} @@ -1157,7 +1150,7 @@ \multicolumn{3}{c|}{00001} & \multicolumn{2}{c|}{rm} & \multicolumn{1}{c|}{00} & -\multicolumn{1}{c|}{1010011} & FSUB.S rd,rs1,rs2[,rm] \\ +\multicolumn{1}{c|}{1010011} & FSUB.S rd,rs1,rs2,rm \\ \cline{2-11} @@ -1168,7 +1161,7 @@ \multicolumn{3}{c|}{00010} & \multicolumn{2}{c|}{rm} & \multicolumn{1}{c|}{00} & -\multicolumn{1}{c|}{1010011} & FMUL.S rd,rs1,rs2[,rm] \\ +\multicolumn{1}{c|}{1010011} & FMUL.S rd,rs1,rs2,rm \\ \cline{2-11} @@ -1179,7 +1172,7 @@ \multicolumn{3}{c|}{00011} & \multicolumn{2}{c|}{rm} & \multicolumn{1}{c|}{00} & -\multicolumn{1}{c|}{1010011} & FDIV.S rd,rs1,rs2[,rm] \\ +\multicolumn{1}{c|}{1010011} & FDIV.S rd,rs1,rs2,rm \\ \cline{2-11} @@ -1190,7 +1183,7 @@ \multicolumn{3}{c|}{00100} & \multicolumn{2}{c|}{rm} & \multicolumn{1}{c|}{00} & -\multicolumn{1}{c|}{1010011} & FSQRT.S rd,rs1[,rm] \\ +\multicolumn{1}{c|}{1010011} & FSQRT.S rd,rs1,rm \\ \cline{2-11} @@ -1198,9 +1191,8 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{3}{c|}{11000} & +\multicolumn{4}{c|}{1100000} & \multicolumn{2}{c|}{000} & -\multicolumn{1}{c|}{00} & \multicolumn{1}{c|}{1010011} & FMIN.S rd,rs1,rs2 \\ \cline{2-11} @@ -1209,9 +1201,8 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{3}{c|}{11001} & +\multicolumn{4}{c|}{1100100} & \multicolumn{2}{c|}{000} & -\multicolumn{1}{c|}{00} & \multicolumn{1}{c|}{1010011} & FMAX.S rd,rs1,rs2 \\ \cline{2-11} @@ -1220,10 +1211,10 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{3}{c|}{00000} & +\multicolumn{3}{c|}{rs3} & \multicolumn{2}{c|}{rm} & -\multicolumn{1}{c|}{01} & -\multicolumn{1}{c|}{1010011} & FADD.D rd,rs1,rs2[,rm] \\ +\multicolumn{1}{c|}{00} & +\multicolumn{1}{c|}{1000011} & FMADD.S rd,rs1,rs2,rs3,rm \\ \cline{2-11} @@ -1231,10 +1222,10 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{3}{c|}{00001} & +\multicolumn{3}{c|}{rs3} & \multicolumn{2}{c|}{rm} & -\multicolumn{1}{c|}{01} & -\multicolumn{1}{c|}{1010011} & FSUB.D rd,rs1,rs2[,rm] \\ +\multicolumn{1}{c|}{00} & +\multicolumn{1}{c|}{1000111} & FMSUB.S rd,rs1,rs2,rs3,rm \\ \cline{2-11} @@ -1242,10 +1233,10 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{3}{c|}{00010} & +\multicolumn{3}{c|}{rs3} & \multicolumn{2}{c|}{rm} & -\multicolumn{1}{c|}{01} & -\multicolumn{1}{c|}{1010011} & FMUL.D rd,rs1,rs2[,rm] \\ +\multicolumn{1}{c|}{00} & +\multicolumn{1}{c|}{1001011} & FNMSUB.S rd,rs1,rs2,rs3,rm \\ \cline{2-11} @@ -1253,21 +1244,20 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{3}{c|}{00011} & +\multicolumn{3}{c|}{rs3} & \multicolumn{2}{c|}{rm} & -\multicolumn{1}{c|}{01} & -\multicolumn{1}{c|}{1010011} & FDIV.D rd,rs1,rs2[,rm] \\ +\multicolumn{1}{c|}{00} & +\multicolumn{1}{c|}{1001111} & FNMADD.S rd,rs1,rs2,rs3,rm \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{00000} & -\multicolumn{3}{c|}{00100} & -\multicolumn{2}{c|}{rm} & -\multicolumn{1}{c|}{01} & -\multicolumn{1}{c|}{1010011} & FSQRT.D rd,rs1[,rm] \\ +\multicolumn{1}{c|}{rs2} & +\multicolumn{4}{c|}{0010100} & +\multicolumn{2}{c|}{000} & +\multicolumn{1}{c|}{1010011} & FSGNJ.S rd,rs1,rs2 \\ \cline{2-11} @@ -1275,10 +1265,9 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{3}{c|}{11000} & +\multicolumn{4}{c|}{0011000} & \multicolumn{2}{c|}{000} & -\multicolumn{1}{c|}{01} & -\multicolumn{1}{c|}{1010011} & FMIN.D rd,rs1,rs2 \\ +\multicolumn{1}{c|}{1010011} & FSGNJN.S rd,rs1,rs2 \\ \cline{2-11} @@ -1286,65 +1275,93 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{3}{c|}{11001} & +\multicolumn{4}{c|}{0011100} & \multicolumn{2}{c|}{000} & -\multicolumn{1}{c|}{01} & -\multicolumn{1}{c|}{1010011} & FMAX.D rd,rs1,rs2 \\ +\multicolumn{1}{c|}{1010011} & FSGNJX.S rd,rs1,rs2 \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{3}{c|}{rs3} & +\multicolumn{1}{c|}{00000} & +\multicolumn{3}{c|}{01110} & \multicolumn{2}{c|}{rm} & \multicolumn{1}{c|}{00} & -\multicolumn{1}{c|}{1000011} & FMADD.S rd,rs1,rs2,rs3[,rm] \\ +\multicolumn{1}{c|}{1010011} & FCVT.S.W rd,rs1,rm \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{3}{c|}{rs3} & +\multicolumn{1}{c|}{00000} & +\multicolumn{3}{c|}{01111} & \multicolumn{2}{c|}{rm} & \multicolumn{1}{c|}{00} & -\multicolumn{1}{c|}{1000111} & FMSUB.S rd,rs1,rs2,rs3[,rm] \\ +\multicolumn{1}{c|}{1010011} & FCVT.S.WU rd,rs1,rm \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{3}{c|}{rs3} & +\multicolumn{1}{c|}{00000} & +\multicolumn{4}{c|}{1111000} & +\multicolumn{2}{c|}{000} & +\multicolumn{1}{c|}{1010011} & MXTF.S rd,rs1 \\ +\cline{2-11} + + +& +\multicolumn{1}{|c|}{rd} & +\multicolumn{1}{c|}{rs1} & +\multicolumn{1}{c|}{00000} & +\multicolumn{4}{c|}{1111100} & +\multicolumn{2}{c|}{000} & +\multicolumn{1}{c|}{1010011} & MTFSR rd,rs1 \\ +\cline{2-11} + + +& +\multicolumn{1}{|c|}{rd} & +\multicolumn{1}{c|}{rs1} & +\multicolumn{1}{c|}{00000} & +\multicolumn{3}{c|}{01010} & \multicolumn{2}{c|}{rm} & \multicolumn{1}{c|}{00} & -\multicolumn{1}{c|}{1001011} & FNMSUB.S rd,rs1,rs2,rs3[,rm] \\ +\multicolumn{1}{c|}{1010011} & FCVT.W.S rd,rs1,rm \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{3}{c|}{rs3} & +\multicolumn{1}{c|}{00000} & +\multicolumn{3}{c|}{01011} & \multicolumn{2}{c|}{rm} & \multicolumn{1}{c|}{00} & -\multicolumn{1}{c|}{1001111} & FNMADD.S rd,rs1,rs2,rs3[,rm] \\ +\multicolumn{1}{c|}{1010011} & FCVT.WU.S rd,rs1,rm \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{3}{c|}{rs3} & -\multicolumn{2}{c|}{rm} & -\multicolumn{1}{c|}{01} & -\multicolumn{1}{c|}{1000011} & FMADD.D rd,rs1,rs2,rs3[,rm] \\ +\multicolumn{1}{c|}{00000} & +\multicolumn{4}{c|}{1110000} & +\multicolumn{2}{c|}{000} & +\multicolumn{1}{c|}{1010011} & MFTX.S rd,rs1 \\ +\cline{2-11} + + +& +\multicolumn{1}{|c|}{rd} & +\multicolumn{1}{c|}{00000} & +\multicolumn{1}{c|}{00000} & +\multicolumn{4}{c|}{1110100} & +\multicolumn{2}{c|}{000} & +\multicolumn{1}{c|}{1010011} & MFFSR rd \\ \cline{2-11} @@ -1352,10 +1369,9 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{3}{c|}{rs3} & -\multicolumn{2}{c|}{rm} & -\multicolumn{1}{c|}{01} & -\multicolumn{1}{c|}{1000111} & FMSUB.D rd,rs1,rs2,rs3[,rm] \\ +\multicolumn{4}{c|}{1010100} & +\multicolumn{2}{c|}{000} & +\multicolumn{1}{c|}{1010011} & FEQ.S rd,rs1,rs2 \\ \cline{2-11} @@ -1363,10 +1379,9 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{3}{c|}{rs3} & -\multicolumn{2}{c|}{rm} & -\multicolumn{1}{c|}{01} & -\multicolumn{1}{c|}{1001011} & FNMSUB.D rd,rs1,rs2,rs3[,rm] \\ +\multicolumn{4}{c|}{1011000} & +\multicolumn{2}{c|}{000} & +\multicolumn{1}{c|}{1010011} & FLT.S rd,rs1,rs2 \\ \cline{2-11} @@ -1374,10 +1389,9 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{3}{c|}{rs3} & -\multicolumn{2}{c|}{rm} & -\multicolumn{1}{c|}{01} & -\multicolumn{1}{c|}{1001111} & FNMADD.D rd,rs1,rs2,rs3[,rm] \\ +\multicolumn{4}{c|}{1011100} & +\multicolumn{2}{c|}{000} & +\multicolumn{1}{c|}{1010011} & FLE.S rd,rs1,rs2 \\ \cline{2-11} @@ -1395,17 +1409,6 @@ \begin{small} \begin{center} \begin{tabular}{rccccccccccl} - & -\hspace*{0.6in} & -\hspace*{0.3in} & -\hspace*{0.1in} & -\hspace*{0.1in} & -\hspace*{0.2in} & -\hspace*{0.2in} & -\hspace*{0.1in} & -\hspace*{0.3in} & -\hspace*{0.3in} & -\hspace*{0.3in} \\ & \instbitrange{31}{27} & \instbitrange{26}{22} & @@ -1424,8 +1427,8 @@ \cline{2-11} & \multicolumn{1}{|c|}{rd} & -\multicolumn{8}{c|}{LUI-immediate} & -\multicolumn{1}{c|}{opcode} & LUI-type \\ +\multicolumn{8}{c|}{upper immediate} & +\multicolumn{1}{c|}{opcode} & U-type \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & @@ -1463,73 +1466,29 @@ & \multicolumn{10}{c}{} & \\ & -\multicolumn{10}{c}{\bf Floating-Point Move \& Conversion Instructions} & \\ +\multicolumn{10}{c}{\bf RV64F Instruction Subset} & \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{3}{c|}{00101} & -\multicolumn{2}{c|}{000} & -\multicolumn{1}{c|}{00} & -\multicolumn{1}{c|}{1010011} & FSGNJ.S rd,rs1,rs2 \\ -\cline{2-11} - - -& -\multicolumn{1}{|c|}{rd} & -\multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{3}{c|}{00110} & -\multicolumn{2}{c|}{000} & +\multicolumn{1}{c|}{00000} & +\multicolumn{3}{c|}{01100} & +\multicolumn{2}{c|}{rm} & \multicolumn{1}{c|}{00} & -\multicolumn{1}{c|}{1010011} & FSGNJN.S rd,rs1,rs2 \\ +\multicolumn{1}{c|}{1010011} & FCVT.S.L rd,rs1,rm \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{3}{c|}{00111} & -\multicolumn{2}{c|}{000} & +\multicolumn{1}{c|}{00000} & +\multicolumn{3}{c|}{01101} & +\multicolumn{2}{c|}{rm} & \multicolumn{1}{c|}{00} & -\multicolumn{1}{c|}{1010011} & FSGNJX.S rd,rs1,rs2 \\ -\cline{2-11} - - -& -\multicolumn{1}{|c|}{rd} & -\multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{3}{c|}{00101} & -\multicolumn{2}{c|}{000} & -\multicolumn{1}{c|}{01} & -\multicolumn{1}{c|}{1010011} & FSGNJ.D rd,rs1,rs2 \\ -\cline{2-11} - - -& -\multicolumn{1}{|c|}{rd} & -\multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{3}{c|}{00110} & -\multicolumn{2}{c|}{000} & -\multicolumn{1}{c|}{01} & -\multicolumn{1}{c|}{1010011} & FSGNJN.D rd,rs1,rs2 \\ -\cline{2-11} - - -& -\multicolumn{1}{|c|}{rd} & -\multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{3}{c|}{00111} & -\multicolumn{2}{c|}{000} & -\multicolumn{1}{c|}{01} & -\multicolumn{1}{c|}{1010011} & FSGNJX.D rd,rs1,rs2 \\ +\multicolumn{1}{c|}{1010011} & FCVT.S.LU rd,rs1,rm \\ \cline{2-11} @@ -1537,10 +1496,10 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{00000} & -\multicolumn{3}{c|}{10001} & +\multicolumn{3}{c|}{01000} & \multicolumn{2}{c|}{rm} & \multicolumn{1}{c|}{00} & -\multicolumn{1}{c|}{1010011} & FCVT.S.D rd,rs1[,rm] \\ +\multicolumn{1}{c|}{1010011} & FCVT.L.S rd,rs1,rm \\ \cline{2-11} @@ -1548,83 +1507,80 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{00000} & -\multicolumn{3}{c|}{10000} & +\multicolumn{3}{c|}{01001} & \multicolumn{2}{c|}{rm} & -\multicolumn{1}{c|}{01} & -\multicolumn{1}{c|}{1010011} & FCVT.D.S rd,rs1[,rm] \\ +\multicolumn{1}{c|}{00} & +\multicolumn{1}{c|}{1010011} & FCVT.LU.S rd,rs1,rm \\ \cline{2-11} & \multicolumn{10}{c}{} & \\ & -\multicolumn{10}{c}{\bf Integer to Floating-Point Move \& Conversion Instructions} & \\ +\multicolumn{10}{c}{\bf RV32D Instruction Subset} & \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{00000} & -\multicolumn{3}{c|}{01100} & -\multicolumn{2}{c|}{rm} & -\multicolumn{1}{c|}{00} & -\multicolumn{1}{c|}{1010011} & FCVT.S.L rd,rs1[,rm] \\ +\multicolumn{5}{c|}{imm12} & +\multicolumn{2}{c|}{011} & +\multicolumn{1}{c|}{0000111} & FLD rd,rs1,imm12 \\ \cline{2-11} & -\multicolumn{1}{|c|}{rd} & +\multicolumn{1}{|c|}{imm12hi} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{00000} & -\multicolumn{3}{c|}{01101} & -\multicolumn{2}{c|}{rm} & -\multicolumn{1}{c|}{00} & -\multicolumn{1}{c|}{1010011} & FCVT.S.LU rd,rs1[,rm] \\ +\multicolumn{1}{c|}{rs2} & +\multicolumn{4}{c|}{imm12lo} & +\multicolumn{2}{c|}{011} & +\multicolumn{1}{c|}{0100111} & FSD rs1,rs2,imm12 \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{00000} & -\multicolumn{3}{c|}{01110} & +\multicolumn{1}{c|}{rs2} & +\multicolumn{3}{c|}{00000} & \multicolumn{2}{c|}{rm} & -\multicolumn{1}{c|}{00} & -\multicolumn{1}{c|}{1010011} & FCVT.S.W rd,rs1[,rm] \\ +\multicolumn{1}{c|}{01} & +\multicolumn{1}{c|}{1010011} & FADD.D rd,rs1,rs2,rm \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{00000} & -\multicolumn{3}{c|}{01111} & +\multicolumn{1}{c|}{rs2} & +\multicolumn{3}{c|}{00001} & \multicolumn{2}{c|}{rm} & -\multicolumn{1}{c|}{00} & -\multicolumn{1}{c|}{1010011} & FCVT.S.WU rd,rs1[,rm] \\ +\multicolumn{1}{c|}{01} & +\multicolumn{1}{c|}{1010011} & FSUB.D rd,rs1,rs2,rm \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{00000} & -\multicolumn{3}{c|}{01100} & +\multicolumn{1}{c|}{rs2} & +\multicolumn{3}{c|}{00010} & \multicolumn{2}{c|}{rm} & \multicolumn{1}{c|}{01} & -\multicolumn{1}{c|}{1010011} & FCVT.D.L rd,rs1[,rm] \\ +\multicolumn{1}{c|}{1010011} & FMUL.D rd,rs1,rs2,rm \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{00000} & -\multicolumn{3}{c|}{01101} & +\multicolumn{1}{c|}{rs2} & +\multicolumn{3}{c|}{00011} & \multicolumn{2}{c|}{rm} & \multicolumn{1}{c|}{01} & -\multicolumn{1}{c|}{1010011} & FCVT.D.LU rd,rs1[,rm] \\ +\multicolumn{1}{c|}{1010011} & FDIV.D rd,rs1,rs2,rm \\ \cline{2-11} @@ -1632,116 +1588,104 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{00000} & -\multicolumn{3}{c|}{01110} & +\multicolumn{3}{c|}{00100} & \multicolumn{2}{c|}{rm} & \multicolumn{1}{c|}{01} & -\multicolumn{1}{c|}{1010011} & FCVT.D.W rd,rs1[,rm] \\ +\multicolumn{1}{c|}{1010011} & FSQRT.D rd,rs1,rm \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{00000} & -\multicolumn{3}{c|}{01111} & -\multicolumn{2}{c|}{rm} & -\multicolumn{1}{c|}{01} & -\multicolumn{1}{c|}{1010011} & FCVT.D.WU rd,rs1[,rm] \\ +\multicolumn{1}{c|}{rs2} & +\multicolumn{4}{c|}{1100000} & +\multicolumn{2}{c|}{001} & +\multicolumn{1}{c|}{1010011} & FMIN.D rd,rs1,rs2 \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{00000} & -\multicolumn{3}{c|}{11110} & -\multicolumn{2}{c|}{000} & -\multicolumn{1}{c|}{00} & -\multicolumn{1}{c|}{1010011} & MXTF.S rd,rs1 \\ +\multicolumn{1}{c|}{rs2} & +\multicolumn{4}{c|}{1100100} & +\multicolumn{2}{c|}{001} & +\multicolumn{1}{c|}{1010011} & FMAX.D rd,rs1,rs2 \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{00000} & -\multicolumn{3}{c|}{11110} & -\multicolumn{2}{c|}{000} & +\multicolumn{1}{c|}{rs2} & +\multicolumn{3}{c|}{rs3} & +\multicolumn{2}{c|}{rm} & \multicolumn{1}{c|}{01} & -\multicolumn{1}{c|}{1010011} & MXTF.D rd,rs1 \\ +\multicolumn{1}{c|}{1000011} & FMADD.D rd,rs1,rs2,rs3,rm \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{00000} & -\multicolumn{3}{c|}{11111} & -\multicolumn{2}{c|}{000} & -\multicolumn{1}{c|}{00} & -\multicolumn{1}{c|}{1010011} & MTFSR rd,rs1 \\ -\cline{2-11} - - -& -\multicolumn{10}{c}{} & \\ -& -\multicolumn{10}{c}{\bf Floating-Point to Integer Move \& Conversion Instructions} & \\ +\multicolumn{1}{c|}{rs2} & +\multicolumn{3}{c|}{rs3} & +\multicolumn{2}{c|}{rm} & +\multicolumn{1}{c|}{01} & +\multicolumn{1}{c|}{1000111} & FMSUB.D rd,rs1,rs2,rs3,rm \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{00000} & -\multicolumn{3}{c|}{01000} & +\multicolumn{1}{c|}{rs2} & +\multicolumn{3}{c|}{rs3} & \multicolumn{2}{c|}{rm} & -\multicolumn{1}{c|}{00} & -\multicolumn{1}{c|}{1010011} & FCVT.L.S rd,rs1[,rm] \\ +\multicolumn{1}{c|}{01} & +\multicolumn{1}{c|}{1001011} & FNMSUB.D rd,rs1,rs2,rs3,rm \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{00000} & -\multicolumn{3}{c|}{01001} & +\multicolumn{1}{c|}{rs2} & +\multicolumn{3}{c|}{rs3} & \multicolumn{2}{c|}{rm} & -\multicolumn{1}{c|}{00} & -\multicolumn{1}{c|}{1010011} & FCVT.LU.S rd,rs1[,rm] \\ +\multicolumn{1}{c|}{01} & +\multicolumn{1}{c|}{1001111} & FNMADD.D rd,rs1,rs2,rs3,rm \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{00000} & -\multicolumn{3}{c|}{01010} & -\multicolumn{2}{c|}{rm} & -\multicolumn{1}{c|}{00} & -\multicolumn{1}{c|}{1010011} & FCVT.W.S rd,rs1[,rm] \\ +\multicolumn{1}{c|}{rs2} & +\multicolumn{4}{c|}{0010100} & +\multicolumn{2}{c|}{001} & +\multicolumn{1}{c|}{1010011} & FSGNJ.D rd,rs1,rs2 \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{00000} & -\multicolumn{3}{c|}{01011} & -\multicolumn{2}{c|}{rm} & -\multicolumn{1}{c|}{00} & -\multicolumn{1}{c|}{1010011} & FCVT.WU.S rd,rs1[,rm] \\ +\multicolumn{1}{c|}{rs2} & +\multicolumn{4}{c|}{0011000} & +\multicolumn{2}{c|}{001} & +\multicolumn{1}{c|}{1010011} & FSGNJN.D rd,rs1,rs2 \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{00000} & -\multicolumn{3}{c|}{01000} & -\multicolumn{2}{c|}{rm} & -\multicolumn{1}{c|}{01} & -\multicolumn{1}{c|}{1010011} & FCVT.L.D rd,rs1[,rm] \\ +\multicolumn{1}{c|}{rs2} & +\multicolumn{4}{c|}{0011100} & +\multicolumn{2}{c|}{001} & +\multicolumn{1}{c|}{1010011} & FSGNJX.D rd,rs1,rs2 \\ \cline{2-11} @@ -1749,10 +1693,10 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{00000} & -\multicolumn{3}{c|}{01001} & +\multicolumn{3}{c|}{01110} & \multicolumn{2}{c|}{rm} & \multicolumn{1}{c|}{01} & -\multicolumn{1}{c|}{1010011} & FCVT.LU.D rd,rs1[,rm] \\ +\multicolumn{1}{c|}{1010011} & FCVT.D.W rd,rs1,rm \\ \cline{2-11} @@ -1760,10 +1704,10 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{00000} & -\multicolumn{3}{c|}{01010} & +\multicolumn{3}{c|}{01111} & \multicolumn{2}{c|}{rm} & \multicolumn{1}{c|}{01} & -\multicolumn{1}{c|}{1010011} & FCVT.W.D rd,rs1[,rm] \\ +\multicolumn{1}{c|}{1010011} & FCVT.D.WU rd,rs1,rm \\ \cline{2-11} @@ -1771,10 +1715,10 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{00000} & -\multicolumn{3}{c|}{01011} & +\multicolumn{3}{c|}{01010} & \multicolumn{2}{c|}{rm} & \multicolumn{1}{c|}{01} & -\multicolumn{1}{c|}{1010011} & FCVT.WU.D rd,rs1[,rm] \\ +\multicolumn{1}{c|}{1010011} & FCVT.W.D rd,rs1,rm \\ \cline{2-11} @@ -1782,129 +1726,10 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{00000} & -\multicolumn{3}{c|}{11100} & -\multicolumn{2}{c|}{000} & -\multicolumn{1}{c|}{00} & -\multicolumn{1}{c|}{1010011} & MFTX.S rd,rs1 \\ -\cline{2-11} - - -& -\multicolumn{1}{|c|}{rd} & -\multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{00000} & -\multicolumn{3}{c|}{11100} & -\multicolumn{2}{c|}{000} & +\multicolumn{3}{c|}{01011} & +\multicolumn{2}{c|}{rm} & \multicolumn{1}{c|}{01} & -\multicolumn{1}{c|}{1010011} & MFTX.D rd,rs1 \\ -\cline{2-11} - - -& -\multicolumn{1}{|c|}{rd} & -\multicolumn{1}{c|}{00000} & -\multicolumn{1}{c|}{00000} & -\multicolumn{3}{c|}{11101} & -\multicolumn{2}{c|}{000} & -\multicolumn{1}{c|}{00} & -\multicolumn{1}{c|}{1010011} & MFFSR rd \\ -\cline{2-11} - - -\end{tabular} -\end{center} -\end{small} - -\label{instr-table} -\end{table} - - -\newpage - -\begin{table}[p] -\begin{small} -\begin{center} -\begin{tabular}{rccccccccccl} - & -\hspace*{0.6in} & -\hspace*{0.3in} & -\hspace*{0.1in} & -\hspace*{0.1in} & -\hspace*{0.2in} & -\hspace*{0.2in} & -\hspace*{0.1in} & -\hspace*{0.3in} & -\hspace*{0.3in} & -\hspace*{0.3in} \\ - & -\instbitrange{31}{27} & -\instbitrange{26}{22} & -\instbitrange{21}{17} & -\instbit{16} & -\instbit{15} & -\instbitrange{14}{12} & -\instbitrange{11}{10} & -\instbit{9} & -\instbitrange{8}{7} & -\instbitrange{6}{0} \\ -\cline{2-11} -& -\multicolumn{9}{|c|}{jump target} & -\multicolumn{1}{c|}{opcode} & J-type \\ -\cline{2-11} -& -\multicolumn{1}{|c|}{rd} & -\multicolumn{8}{c|}{LUI-immediate} & -\multicolumn{1}{c|}{opcode} & LUI-type \\ -\cline{2-11} -& -\multicolumn{1}{|c|}{rd} & -\multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{imm[11:7]} & -\multicolumn{4}{c|}{imm[6:0]} & -\multicolumn{2}{c|}{funct3} & -\multicolumn{1}{c|}{opcode} & I-type \\ -\cline{2-11} -& -\multicolumn{1}{|c|}{imm[11:7]} & -\multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{imm[6:0]} & -\multicolumn{2}{c|}{funct3} & -\multicolumn{1}{c|}{opcode} & B-type \\ -\cline{2-11} -& -\multicolumn{1}{|c|}{rd} & -\multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{6}{c|}{funct10} & -\multicolumn{1}{c|}{opcode} & R-type \\ -\cline{2-11} -& -\multicolumn{1}{|c|}{rd} & -\multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{3}{c|}{rs3} & -\multicolumn{3}{c|}{funct5} & -\multicolumn{1}{c|}{opcode} & R4-type \\ -\cline{2-11} - - -& -\multicolumn{10}{c}{} & \\ -& -\multicolumn{10}{c}{\bf Floating-Point Compare Instructions} & \\ -\cline{2-11} - - -& -\multicolumn{1}{|c|}{rd} & -\multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{3}{c|}{10101} & -\multicolumn{2}{c|}{000} & -\multicolumn{1}{c|}{00} & -\multicolumn{1}{c|}{1010011} & FEQ.S rd,rs1,rs2 \\ +\multicolumn{1}{c|}{1010011} & FCVT.WU.D rd,rs1,rm \\ \cline{2-11} @@ -1912,31 +1737,8 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{3}{c|}{10110} & -\multicolumn{2}{c|}{000} & -\multicolumn{1}{c|}{00} & -\multicolumn{1}{c|}{1010011} & FLT.S rd,rs1,rs2 \\ -\cline{2-11} - - -& -\multicolumn{1}{|c|}{rd} & -\multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{3}{c|}{10111} & -\multicolumn{2}{c|}{000} & -\multicolumn{1}{c|}{00} & -\multicolumn{1}{c|}{1010011} & FLE.S rd,rs1,rs2 \\ -\cline{2-11} - - -& -\multicolumn{1}{|c|}{rd} & -\multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{3}{c|}{10101} & -\multicolumn{2}{c|}{000} & -\multicolumn{1}{c|}{01} & +\multicolumn{4}{c|}{1010100} & +\multicolumn{2}{c|}{001} & \multicolumn{1}{c|}{1010011} & FEQ.D rd,rs1,rs2 \\ \cline{2-11} @@ -1945,9 +1747,8 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{3}{c|}{10110} & -\multicolumn{2}{c|}{000} & -\multicolumn{1}{c|}{01} & +\multicolumn{4}{c|}{1011000} & +\multicolumn{2}{c|}{001} & \multicolumn{1}{c|}{1010011} & FLT.D rd,rs1,rs2 \\ \cline{2-11} @@ -1956,9 +1757,8 @@ \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{rs2} & -\multicolumn{3}{c|}{10111} & -\multicolumn{2}{c|}{000} & -\multicolumn{1}{c|}{01} & +\multicolumn{4}{c|}{1011100} & +\multicolumn{2}{c|}{001} & \multicolumn{1}{c|}{1010011} & FLE.D rd,rs1,rs2 \\ \cline{2-11} @@ -1966,160 +1766,93 @@ & \multicolumn{10}{c}{} & \\ & -\multicolumn{10}{c}{\bf Miscellaneous Memory Instructions} & \\ +\multicolumn{10}{c}{\bf RV64D Instruction Subset} & \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{5}{c|}{imm12} & -\multicolumn{2}{c|}{001} & -\multicolumn{1}{c|}{0101111} & FENCE.I rd,rs1,imm12 \\ -\cline{2-11} - - -& -\multicolumn{1}{|c|}{rd} & -\multicolumn{1}{c|}{rs1} & -\multicolumn{5}{c|}{imm12} & -\multicolumn{2}{c|}{010} & -\multicolumn{1}{c|}{0101111} & FENCE rd,rs1,imm12 \\ +\multicolumn{1}{c|}{00000} & +\multicolumn{3}{c|}{01100} & +\multicolumn{2}{c|}{rm} & +\multicolumn{1}{c|}{01} & +\multicolumn{1}{c|}{1010011} & FCVT.D.L rd,rs1,rm \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{5}{c|}{imm12} & -\multicolumn{2}{c|}{100} & -\multicolumn{1}{c|}{0101111} & FENCE.V.L rd,rs1,imm12 \\ +\multicolumn{1}{c|}{00000} & +\multicolumn{3}{c|}{01101} & +\multicolumn{2}{c|}{rm} & +\multicolumn{1}{c|}{01} & +\multicolumn{1}{c|}{1010011} & FCVT.D.LU rd,rs1,rm \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{5}{c|}{imm12} & -\multicolumn{2}{c|}{101} & -\multicolumn{1}{c|}{0101111} & FENCE.V.G rd,rs1,imm12 \\ -\cline{2-11} - - -& -\multicolumn{10}{c}{} & \\ -& -\multicolumn{10}{c}{\bf System Instructions} & \\ -\cline{2-11} - - -& -\multicolumn{1}{|c|}{00000} & -\multicolumn{1}{c|}{00000} & -\multicolumn{1}{c|}{00000} & -\multicolumn{4}{c|}{0000000} & -\multicolumn{2}{c|}{000} & -\multicolumn{1}{c|}{1110111} & SYSCALL \\ -\cline{2-11} - - -& -\multicolumn{1}{|c|}{00000} & -\multicolumn{1}{c|}{00000} & \multicolumn{1}{c|}{00000} & -\multicolumn{4}{c|}{0000000} & +\multicolumn{4}{c|}{1111000} & \multicolumn{2}{c|}{001} & -\multicolumn{1}{c|}{1110111} & BREAK \\ -\cline{2-11} - - -& -\multicolumn{1}{|c|}{rd} & -\multicolumn{1}{c|}{00000} & -\multicolumn{1}{c|}{00000} & -\multicolumn{4}{c|}{0000000} & -\multicolumn{2}{c|}{100} & -\multicolumn{1}{c|}{1110111} & RDCYCLE rd \\ -\cline{2-11} - - -& -\multicolumn{1}{|c|}{rd} & -\multicolumn{1}{c|}{00000} & -\multicolumn{1}{c|}{00000} & -\multicolumn{4}{c|}{0000001} & -\multicolumn{2}{c|}{100} & -\multicolumn{1}{c|}{1110111} & RDTIME rd \\ -\cline{2-11} - - -& -\multicolumn{1}{|c|}{rd} & -\multicolumn{1}{c|}{00000} & -\multicolumn{1}{c|}{00000} & -\multicolumn{4}{c|}{0000010} & -\multicolumn{2}{c|}{100} & -\multicolumn{1}{c|}{1110111} & RDINSTRET rd \\ -\cline{2-11} - - -& -\multicolumn{1}{|c|}{00000} & -\multicolumn{1}{c|}{00000} & -\multicolumn{1}{c|}{00000} & -\multicolumn{4}{c|}{0000000} & -\multicolumn{2}{c|}{010} & -\multicolumn{1}{c|}{1110111} & STOP \\ +\multicolumn{1}{c|}{1010011} & MXTF.D rd,rs1 \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & +\multicolumn{1}{c|}{rs1} & \multicolumn{1}{c|}{00000} & -\multicolumn{1}{c|}{00000} & -\multicolumn{4}{c|}{0000000} & -\multicolumn{2}{c|}{011} & -\multicolumn{1}{c|}{1110111} & UTIDX rd \\ +\multicolumn{3}{c|}{01000} & +\multicolumn{2}{c|}{rm} & +\multicolumn{1}{c|}{01} & +\multicolumn{1}{c|}{1010011} & FCVT.L.D rd,rs1,rm \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{0000000} & -\multicolumn{2}{c|}{101} & -\multicolumn{1}{c|}{1110111} & MOVZ rd,rs1,rs2 \\ +\multicolumn{1}{c|}{00000} & +\multicolumn{3}{c|}{01001} & +\multicolumn{2}{c|}{rm} & +\multicolumn{1}{c|}{01} & +\multicolumn{1}{c|}{1010011} & FCVT.LU.D rd,rs1,rm \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{0000001} & -\multicolumn{2}{c|}{101} & -\multicolumn{1}{c|}{1110111} & MOVN rd,rs1,rs2 \\ +\multicolumn{1}{c|}{00000} & +\multicolumn{4}{c|}{1110000} & +\multicolumn{2}{c|}{001} & +\multicolumn{1}{c|}{1010011} & MFTX.D rd,rs1 \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{0000010} & -\multicolumn{2}{c|}{101} & -\multicolumn{1}{c|}{1110111} & FMOVZ rd,rs1,rs2 \\ +\multicolumn{1}{c|}{00000} & +\multicolumn{3}{c|}{10001} & +\multicolumn{2}{c|}{rm} & +\multicolumn{1}{c|}{00} & +\multicolumn{1}{c|}{1010011} & FCVT.S.D rd,rs1,rm \\ \cline{2-11} & \multicolumn{1}{|c|}{rd} & \multicolumn{1}{c|}{rs1} & -\multicolumn{1}{c|}{rs2} & -\multicolumn{4}{c|}{0000011} & -\multicolumn{2}{c|}{101} & -\multicolumn{1}{c|}{1110111} & FMOVN rd,rs1,rs2 \\ +\multicolumn{1}{c|}{00000} & +\multicolumn{3}{c|}{10000} & +\multicolumn{2}{c|}{rm} & +\multicolumn{1}{c|}{01} & +\multicolumn{1}{c|}{1010011} & FCVT.D.S rd,rs1,rm \\ \cline{2-11} |