RISC-V Instruction Set » History » Version 37
Andrei Tatarnikov, 07/26/2018 05:09 PM
1 | 7 | Andrei Tatarnikov | h1. Instructions supported by MicroTESK for RISC-V |
---|---|---|---|
2 | |||
3 | 11 | Andrei Tatarnikov | {font-weight:bold; background:#ddd}. | Instruction Set | Instructions | Specified | Validated | |
4 | 30 | Andrei Tatarnikov | {background:#cfc}. | *RV32I (User)* | LUI |
5 | 19 | Andrei Tatarnikov | AUIPC |
6 | JAL |
||
7 | JALR |
||
8 | BEQ |
||
9 | BNE |
||
10 | BLT |
||
11 | BGE |
||
12 | BLTU |
||
13 | BGEU |
||
14 | LB |
||
15 | LH |
||
16 | LW |
||
17 | LBU |
||
18 | LHU |
||
19 | SB |
||
20 | SH |
||
21 | SW |
||
22 | ADDI |
||
23 | SLTI |
||
24 | SLTIU |
||
25 | XORI |
||
26 | ORI |
||
27 | ANDI |
||
28 | SLLI |
||
29 | SRLI |
||
30 | SRAI |
||
31 | SLL |
||
32 | SRL |
||
33 | SRA |
||
34 | ADD |
||
35 | SUB |
||
36 | SLT |
||
37 | SLTU |
||
38 | XOR |
||
39 | OR |
||
40 | 23 | Andrei Tatarnikov | AND | Yes (37/37) | Yes (37/37) | |
41 | 30 | Andrei Tatarnikov | {background:#cfc}. | *RV64I (User)* | LWU |
42 | 22 | Andrei Tatarnikov | LD |
43 | SD |
||
44 | ADDIW |
||
45 | SLLIW |
||
46 | SRLIW |
||
47 | SRAIW |
||
48 | ADDW |
||
49 | SUBW |
||
50 | SLLW |
||
51 | 1 | Alexander Protsenko | SRLW |
52 | SRAW | Yes (12/12) | Yes (12/12) | |
||
53 | 30 | Andrei Tatarnikov | {background:#ff9}. | *RV32I (System)* | ECALL |
54 | EBREAK |
||
55 | FENCE |
||
56 | FENCE.I |
||
57 | MRET |
||
58 | SRET |
||
59 | URET |
||
60 | WFI |
||
61 | CSRRW |
||
62 | CSRRS |
||
63 | CSRRC |
||
64 | CSRRWI |
||
65 | CSRRSI |
||
66 | 31 | Andrei Tatarnikov | CSRRCI | Yes (14/14) | No (0/14) | |
67 | 15 | Andrei Tatarnikov | {background:#cfc}. | *RV32M* | MUL |
68 | 18 | Andrei Tatarnikov | MULH |
69 | MULHSU |
||
70 | MULHU |
||
71 | DIV |
||
72 | DIVU |
||
73 | REM |
||
74 | REMU | Yes (8/8) | Yes (8/8) | |
||
75 | 15 | Andrei Tatarnikov | {background:#cfc}. | *RV64M* | MULW |
76 | 18 | Andrei Tatarnikov | DIVW |
77 | DIVUW |
||
78 | REMW |
||
79 | REMUW | Yes (5/5) | Yes (5/5) | |
||
80 | 15 | Andrei Tatarnikov | {background:#cfc}. | *RV32A* | LR.W |
81 | 18 | Andrei Tatarnikov | SC.W |
82 | AMOSWAP.W |
||
83 | AMOADD.W |
||
84 | AMOXOR.W |
||
85 | AMOAND.W |
||
86 | AMOOR.W |
||
87 | AMOMIN.W |
||
88 | AMOMAX.W |
||
89 | AMOMINU.W |
||
90 | AMOMAXU.W | Yes (11/11) | Yes (11/11) | |
||
91 | 15 | Andrei Tatarnikov | {background:#cfc}. | *RV64A* | LR.D |
92 | 18 | Andrei Tatarnikov | SC.D |
93 | AMOSWAP.D |
||
94 | AMOADD.D |
||
95 | AMOXOR.D |
||
96 | AMOAND.D |
||
97 | AMOOR.D |
||
98 | AMOMIN.D |
||
99 | AMOMAX.D |
||
100 | AMOMINU.D |
||
101 | AMOMAXU.D | Yes (11/11) | Yes (11/11) | |
||
102 | 15 | Andrei Tatarnikov | {background:#ff9}. | *RV32F* | FLW |
103 | 17 | Andrei Tatarnikov | FSW |
104 | FMADD.S |
||
105 | FMSUB.S |
||
106 | FNMSUB.S |
||
107 | FNMADD.S |
||
108 | FADD.S |
||
109 | FSUB.S |
||
110 | FMUL.S |
||
111 | FDIV.S |
||
112 | FSQRT.S |
||
113 | FSGNJ.S |
||
114 | FSGNJN.S |
||
115 | FSGNJX.S |
||
116 | FMIN.S |
||
117 | FMAX.S |
||
118 | FCVT.W.S |
||
119 | FCVT.WU.S |
||
120 | FMV.X.W (FMV.X.S) |
||
121 | FEQ.S |
||
122 | FLT.S |
||
123 | FLE.S |
||
124 | FCLASS.S |
||
125 | FCVT.S.W |
||
126 | FCVT.S.WU |
||
127 | 35 | Andrei Tatarnikov | FMV.W.X (FMV.S.X) | Yes (26/26) | Partially (8/26) |
128 | 36 | Andrei Tatarnikov | Including (8): |
129 | 35 | Andrei Tatarnikov | FLW |
130 | FSW |
||
131 | FEQ_S |
||
132 | FLE_S |
||
133 | FLT_S |
||
134 | FEQ_S |
||
135 | FLE_S |
||
136 | FLT_S | |
||
137 | 17 | Andrei Tatarnikov | {background:#ff9}. | *RV64F* | FCVT.L.S |
138 | FCVT.LU.S |
||
139 | FCVT.S.L |
||
140 | 36 | Andrei Tatarnikov | FCVT.S.LU | Yes (4/4) | Partially (0/4) | |
141 | 17 | Andrei Tatarnikov | {background:#ff9}. | *RV32D* | FLD |
142 | FSD |
||
143 | FMADD.D |
||
144 | FMSUB.D |
||
145 | FNMSUB.D |
||
146 | FNMADD.D |
||
147 | FADD.D |
||
148 | FSUB.D |
||
149 | FMUL.D |
||
150 | FDIV.D |
||
151 | FSQRT.D |
||
152 | FSGNJ.D |
||
153 | FSGNJN.D |
||
154 | FSGNJX.D |
||
155 | FMIN.D |
||
156 | FMAX.D |
||
157 | FCVT.S.D |
||
158 | FCVT.D.S |
||
159 | FEQ.D |
||
160 | FLT.D |
||
161 | FLE.D |
||
162 | FCLASS.D |
||
163 | FCVT.W.D |
||
164 | 1 | Alexander Protsenko | FCVT.WU.D |
165 | FCVT.D.W |
||
166 | 36 | Andrei Tatarnikov | FCVT.D.WU | Yes (26/26) | Partially (2/26) |
167 | Including (2): |
||
168 | FLD |
||
169 | FSD | |
||
170 | 18 | Andrei Tatarnikov | {background:#ff9}. | *RV64D* | FCVT.L.D |
171 | 1 | Alexander Protsenko | FCVT.LU.D |
172 | 18 | Andrei Tatarnikov | FMV.X.D |
173 | FCVT.D.L |
||
174 | FCVT.D.LU |
||
175 | 36 | Andrei Tatarnikov | FMV.D.X | Yes (6/6) | No (0/6) | |
176 | 28 | Andrei Tatarnikov | {background:#ff9}. | *RVC* | C.ADDI4SPN |
177 | C.FLD |
||
178 | C.LQ |
||
179 | C.LW |
||
180 | C.FLW |
||
181 | C.LD |
||
182 | C.FSD |
||
183 | C.SQ |
||
184 | C.SW |
||
185 | C.FSW |
||
186 | C.SD |
||
187 | C.NOP |
||
188 | C.ADDI |
||
189 | C.JAL |
||
190 | C.ADDIW |
||
191 | C.LI |
||
192 | C.ADDI16SP |
||
193 | C.LUI |
||
194 | C.SRLI |
||
195 | C.SRLI64 |
||
196 | C.SRAI |
||
197 | C.SRAI64 |
||
198 | C.ANDI |
||
199 | C.SUB |
||
200 | C.XOR |
||
201 | C.OR |
||
202 | C.AND |
||
203 | C.SUBW |
||
204 | C.ADDW |
||
205 | C.J |
||
206 | C.BEQZ |
||
207 | C.BNEZ |
||
208 | C.SLLI |
||
209 | C.SLLI64 |
||
210 | C.FLDSP |
||
211 | C.LQSP |
||
212 | C.LWSP |
||
213 | C.FLWSP |
||
214 | C.LDSP |
||
215 | C.JR |
||
216 | C.MV |
||
217 | C.EBREAK |
||
218 | C.JALR |
||
219 | C.ADD |
||
220 | C.FSDSP |
||
221 | C.SQSP |
||
222 | C.SWSP |
||
223 | C.FSWSP |
||
224 | C.SDSP | Yes (49/49) | Partially (36/49) |
||
225 | 32 | Andrei Tatarnikov | Excluding (13): |
226 | C.LQ |
||
227 | C.FLW |
||
228 | C.SQ |
||
229 | C.FSW |
||
230 | C.NOP |
||
231 | C.SRLI64 |
||
232 | C.SRAI64 |
||
233 | C.SLLI64 |
||
234 | C.LQSP |
||
235 | C.FLWSP |
||
236 | C.EBREAK |
||
237 | C.SQSP |
||
238 | C.FSWSP | |
||
239 | 34 | Andrei Tatarnikov | {background:#fcc}. | *RV64Q* | | No | No | |
240 | 33 | Andrei Tatarnikov | {background:#fcc}. | *RV32V* | VADD |
241 | VSUB |
||
242 | VSL |
||
243 | VSR |
||
244 | VAND |
||
245 | VOR |
||
246 | VXOR |
||
247 | VSEQ |
||
248 | VSNE |
||
249 | VSLT |
||
250 | VSGE |
||
251 | VCLIP |
||
252 | VCVT |
||
253 | VMPOP |
||
254 | VMFIRST |
||
255 | VEXTRACT |
||
256 | VINSERT |
||
257 | VMERGE |
||
258 | VSELECT |
||
259 | VSLIDE |
||
260 | VDIV |
||
261 | VREM |
||
262 | VMUL |
||
263 | VMULH |
||
264 | VMIN |
||
265 | VMAX |
||
266 | VSGNJ |
||
267 | VSGNJN |
||
268 | VSGNJX |
||
269 | VSQRT |
||
270 | VCLASS |
||
271 | VPOPC |
||
272 | VADDI |
||
273 | VSLI |
||
274 | VSRI |
||
275 | VANDI |
||
276 | VORI |
||
277 | VXORI |
||
278 | VCLIPI |
||
279 | VMADD |
||
280 | VMSUB |
||
281 | VNMADD |
||
282 | VNMSUB | No | No | |
||
283 | 10 | Andrei Tatarnikov | {background:#ddd}. | Total | | | | |
284 | 7 | Andrei Tatarnikov | |
285 | 37 | Andrei Tatarnikov | {background:#cfc}. | Fully supported | |
286 | {background:#ff9}. | Partially supported | |
||
287 | {background:#fcc}. | Currently unsupported | |