Project

General

Profile

RISC-V Instruction Set » History » Version 35

Andrei Tatarnikov, 07/26/2018 05:02 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
                                                                 Including: 
129
                                                                 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
                               FCVT.S.LU | Yes (4/4) | Partially (?/4) |
141
{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
                               FCVT.WU.D
165
                               FCVT.D.W
166 18 Andrei Tatarnikov
                               FCVT.D.WU | Yes (26/26) | Partially (?/26) |
167
{background:#ff9}. | *RV64D* | FCVT.L.D
168
                               FCVT.LU.D
169
                               FMV.X.D
170
                               FCVT.D.L
171
                               FCVT.D.LU
172 1 Alexander Protsenko
                               FMV.D.X   | Yes (6/6) | Partially (?/6)  |
173 28 Andrei Tatarnikov
{background:#ff9}. | *RVC*   | C.ADDI4SPN
174
                               C.FLD
175
                               C.LQ
176
                               C.LW
177
                               C.FLW
178
                               C.LD
179
                               C.FSD
180
                               C.SQ
181
                               C.SW
182
                               C.FSW
183
                               C.SD
184
                               C.NOP
185
                               C.ADDI
186
                               C.JAL
187
                               C.ADDIW
188
                               C.LI
189
                               C.ADDI16SP
190
                               C.LUI
191
                               C.SRLI
192
                               C.SRLI64
193
                               C.SRAI
194
                               C.SRAI64
195
                               C.ANDI
196
                               C.SUB
197
                               C.XOR
198
                               C.OR
199
                               C.AND
200
                               C.SUBW
201
                               C.ADDW
202
                               C.J
203
                               C.BEQZ
204
                               C.BNEZ
205
                               C.SLLI
206
                               C.SLLI64
207
                               C.FLDSP
208
                               C.LQSP
209
                               C.LWSP
210
                               C.FLWSP
211
                               C.LDSP
212
                               C.JR
213
                               C.MV
214
                               C.EBREAK
215
                               C.JALR
216
                               C.ADD
217
                               C.FSDSP
218
                               C.SQSP
219
                               C.SWSP
220
                               C.FSWSP
221
                               C.SDSP | Yes (49/49) | Partially (36/49)
222 32 Andrei Tatarnikov
                                                      Excluding (13): 
223
                                                      C.LQ
224
                                                      C.FLW
225
                                                      C.SQ
226
                                                      C.FSW
227
                                                      C.NOP
228
                                                      C.SRLI64
229
                                                      C.SRAI64
230
                                                      C.SLLI64
231
                                                      C.LQSP
232
                                                      C.FLWSP
233
                                                      C.EBREAK
234
                                                      C.SQSP
235
                                                      C.FSWSP |
236 34 Andrei Tatarnikov
{background:#fcc}. | *RV64Q* | | No | No |
237 33 Andrei Tatarnikov
{background:#fcc}. | *RV32V* | VADD
238
                               VSUB
239
                               VSL
240
                               VSR
241
                               VAND
242
                               VOR
243
                               VXOR
244
                               VSEQ
245
                               VSNE
246
                               VSLT
247
                               VSGE
248
                               VCLIP
249
                               VCVT
250
                               VMPOP
251
                               VMFIRST
252
                               VEXTRACT
253
                               VINSERT
254
                               VMERGE
255
                               VSELECT
256
                               VSLIDE
257
                               VDIV
258
                               VREM
259
                               VMUL
260
                               VMULH
261
                               VMIN
262
                               VMAX
263
                               VSGNJ
264
                               VSGNJN
265
                               VSGNJX
266
                               VSQRT
267
                               VCLASS
268
                               VPOPC
269
                               VADDI
270
                               VSLI
271
                               VSRI
272
                               VANDI
273
                               VORI
274
                               VXORI
275
                               VCLIPI
276
                               VMADD
277
                               VMSUB
278
                               VNMADD
279
                               VNMSUB | No | No |
280 10 Andrei Tatarnikov
{background:#ddd}. | Total |  |   | |
281 7 Andrei Tatarnikov
282
{background:#cfc}. |  Fully supported |
283 10 Andrei Tatarnikov
{background:#ff9}. |  Partially supported |
284 7 Andrei Tatarnikov
{background:#fcc}. |  Unsupported |