RISC-V Instruction Set » History » Version 33
Andrei Tatarnikov, 07/26/2018 04:49 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 | FMV.W.X (FMV.S.X) | Yes (26/26) | Partially (?/26) | |
||
128 | {background:#ff9}. | *RV64F* | FCVT.L.S |
||
129 | FCVT.LU.S |
||
130 | FCVT.S.L |
||
131 | FCVT.S.LU | Yes (4/4) | Partially (?/4) | |
||
132 | {background:#ff9}. | *RV32D* | FLD |
||
133 | FSD |
||
134 | FMADD.D |
||
135 | FMSUB.D |
||
136 | FNMSUB.D |
||
137 | FNMADD.D |
||
138 | FADD.D |
||
139 | FSUB.D |
||
140 | FMUL.D |
||
141 | FDIV.D |
||
142 | FSQRT.D |
||
143 | FSGNJ.D |
||
144 | FSGNJN.D |
||
145 | FSGNJX.D |
||
146 | FMIN.D |
||
147 | FMAX.D |
||
148 | FCVT.S.D |
||
149 | FCVT.D.S |
||
150 | FEQ.D |
||
151 | FLT.D |
||
152 | FLE.D |
||
153 | FCLASS.D |
||
154 | FCVT.W.D |
||
155 | FCVT.WU.D |
||
156 | FCVT.D.W |
||
157 | 18 | Andrei Tatarnikov | FCVT.D.WU | Yes (26/26) | Partially (?/26) | |
158 | {background:#ff9}. | *RV64D* | FCVT.L.D |
||
159 | FCVT.LU.D |
||
160 | FMV.X.D |
||
161 | FCVT.D.L |
||
162 | FCVT.D.LU |
||
163 | 1 | Alexander Protsenko | FMV.D.X | Yes (6/6) | Partially (?/6) | |
164 | 28 | Andrei Tatarnikov | {background:#ff9}. | *RVC* | C.ADDI4SPN |
165 | C.FLD |
||
166 | C.LQ |
||
167 | C.LW |
||
168 | C.FLW |
||
169 | C.LD |
||
170 | C.FSD |
||
171 | C.SQ |
||
172 | C.SW |
||
173 | C.FSW |
||
174 | C.SD |
||
175 | C.NOP |
||
176 | C.ADDI |
||
177 | C.JAL |
||
178 | C.ADDIW |
||
179 | C.LI |
||
180 | C.ADDI16SP |
||
181 | C.LUI |
||
182 | C.SRLI |
||
183 | C.SRLI64 |
||
184 | C.SRAI |
||
185 | C.SRAI64 |
||
186 | C.ANDI |
||
187 | C.SUB |
||
188 | C.XOR |
||
189 | C.OR |
||
190 | C.AND |
||
191 | C.SUBW |
||
192 | C.ADDW |
||
193 | C.J |
||
194 | C.BEQZ |
||
195 | C.BNEZ |
||
196 | C.SLLI |
||
197 | C.SLLI64 |
||
198 | C.FLDSP |
||
199 | C.LQSP |
||
200 | C.LWSP |
||
201 | C.FLWSP |
||
202 | C.LDSP |
||
203 | C.JR |
||
204 | C.MV |
||
205 | C.EBREAK |
||
206 | C.JALR |
||
207 | C.ADD |
||
208 | C.FSDSP |
||
209 | C.SQSP |
||
210 | C.SWSP |
||
211 | C.FSWSP |
||
212 | C.SDSP | Yes (49/49) | Partially (36/49) |
||
213 | 32 | Andrei Tatarnikov | Excluding (13): |
214 | C.LQ |
||
215 | C.FLW |
||
216 | C.SQ |
||
217 | C.FSW |
||
218 | C.NOP |
||
219 | C.SRLI64 |
||
220 | C.SRAI64 |
||
221 | C.SLLI64 |
||
222 | C.LQSP |
||
223 | C.FLWSP |
||
224 | C.EBREAK |
||
225 | C.SQSP |
||
226 | C.FSWSP | |
||
227 | 33 | Andrei Tatarnikov | {background:#fcc}. | *RV32V* | VADD |
228 | VSUB |
||
229 | VSL |
||
230 | VSR |
||
231 | VAND |
||
232 | VOR |
||
233 | VXOR |
||
234 | VSEQ |
||
235 | VSNE |
||
236 | VSLT |
||
237 | VSGE |
||
238 | VCLIP |
||
239 | VCVT |
||
240 | VMPOP |
||
241 | VMFIRST |
||
242 | VEXTRACT |
||
243 | VINSERT |
||
244 | VMERGE |
||
245 | VSELECT |
||
246 | VSLIDE |
||
247 | VDIV |
||
248 | VREM |
||
249 | VMUL |
||
250 | VMULH |
||
251 | VMIN |
||
252 | VMAX |
||
253 | VSGNJ |
||
254 | VSGNJN |
||
255 | VSGNJX |
||
256 | VSQRT |
||
257 | VCLASS |
||
258 | VPOPC |
||
259 | VADDI |
||
260 | VSLI |
||
261 | VSRI |
||
262 | VANDI |
||
263 | VORI |
||
264 | VXORI |
||
265 | VCLIPI |
||
266 | VMADD |
||
267 | VMSUB |
||
268 | VNMADD |
||
269 | VNMSUB | No | No | |
||
270 | 10 | Andrei Tatarnikov | {background:#ddd}. | Total | | | | |
271 | 7 | Andrei Tatarnikov | |
272 | {background:#cfc}. | Fully supported | |
||
273 | 10 | Andrei Tatarnikov | {background:#ff9}. | Partially supported | |
274 | 7 | Andrei Tatarnikov | {background:#fcc}. | Unsupported | |