Project

General

Profile

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 |