Project

General

Profile

RISC-V Instruction Set » History » Version 38

Andrei Tatarnikov, 07/26/2018 05:25 PM

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