Project

General

Profile

RISC-V Instruction Set » History » Version 34

Andrei Tatarnikov, 07/26/2018 04:52 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 34 Andrei Tatarnikov
{background:#fcc}. | *RV64Q* | | No | No |
228 33 Andrei Tatarnikov
{background:#fcc}. | *RV32V* | VADD
229
                               VSUB
230
                               VSL
231
                               VSR
232
                               VAND
233
                               VOR
234
                               VXOR
235
                               VSEQ
236
                               VSNE
237
                               VSLT
238
                               VSGE
239
                               VCLIP
240
                               VCVT
241
                               VMPOP
242
                               VMFIRST
243
                               VEXTRACT
244
                               VINSERT
245
                               VMERGE
246
                               VSELECT
247
                               VSLIDE
248
                               VDIV
249
                               VREM
250
                               VMUL
251
                               VMULH
252
                               VMIN
253
                               VMAX
254
                               VSGNJ
255
                               VSGNJN
256
                               VSGNJX
257
                               VSQRT
258
                               VCLASS
259
                               VPOPC
260
                               VADDI
261
                               VSLI
262
                               VSRI
263
                               VANDI
264
                               VORI
265
                               VXORI
266
                               VCLIPI
267
                               VMADD
268
                               VMSUB
269
                               VNMADD
270
                               VNMSUB | No | No |
271 10 Andrei Tatarnikov
{background:#ddd}. | Total |  |   | |
272 7 Andrei Tatarnikov
273
{background:#cfc}. |  Fully supported |
274 10 Andrei Tatarnikov
{background:#ff9}. |  Partially supported |
275 7 Andrei Tatarnikov
{background:#fcc}. |  Unsupported |