Project

General

Profile

RISC-V Instruction Set » History » Version 19

Andrei Tatarnikov, 07/26/2018 03:13 PM

1 1 Alexander Protsenko
h1. RISC-V Instruction Set
2
3 6 Andrei Tatarnikov
{font-weight:bold; background:#ddd}. |/2. *Category* |\2. *RISC-V (Version 2.2)* |\2. *MicroTESK* |
4 2 Alexander Protsenko
{background:#dde}. | *Instructions* | *Amount* | *Instructions* | *Amount* |
5
{background:#fcc}. | Arithmetic Logic Unit | ADDI
6
SLTI
7
SLTIU
8
XLEN
9
ANDI
10
ORI
11
XORI
12
SRLI
13
SLLI
14
LUI
15
AUIPC
16
ADD
17
SUB
18
SLT
19
SLTU
20
AND
21
OR
22
XOR
23
SLL
24
SRL
25
SRA | 21+ |  | 0+ |
26 3 Alexander Protsenko
{background:#fcc}. | Branch| JAL
27
JALR
28
BEQ
29
BNE
30
BLT
31
BLTU
32
BGE
33
BGEU
34
BGT
35
BGTU
36
BLE
37
BLEU
38
BLT
39
BLTU
40
BGE
41 4 Alexander Protsenko
BGEU | 16 |  | 0+ |
42
{background:#ff9}. | Memory Access | LW
43
LH
44
LHU
45
LB
46
LBU
47
SW
48
SH
49
SB | 8 |  | 0 |
50
{background:#fcc}. | System | CSRRW
51
CSRRS
52
CSRRC
53
CSRRWI
54
CSRRSI
55
CSRRCI
56
RDCYCLE
57
RDTIME
58
RDINSTRET | 9 |  | 0 |
59 2 Alexander Protsenko
{background:#cfc}. | Other | NOP | 1 | NOP | 1 |
60 5 Alexander Protsenko
{background:#ddd}. | Total: || 65 |  | 1+ |
61 1 Alexander Protsenko
62
{background:#cfc}. |100%|
63
{background:#ff9}. |50+%|
64
{background:#fcc}. |0+%|
65 7 Andrei Tatarnikov
66
67
h1. Instructions supported by MicroTESK for RISC-V
68
69 11 Andrei Tatarnikov
{font-weight:bold; background:#ddd}. | Instruction Set | Instructions | Specified | Validated |
70 19 Andrei Tatarnikov
{background:#cfc}. | *RV32I* | LUI
71
                               AUIPC
72
                               JAL
73
                               JALR
74
                               BEQ
75
                               BNE
76
                               BLT
77
                               BGE
78
                               BLTU
79
                               BGEU
80
                               LB
81
                               LH
82
                               LW
83
                               LBU
84
                               LHU
85
                               SB
86
                               SH
87
                               SW
88
                               ADDI
89
                               SLTI
90
                               SLTIU
91
                               XORI
92
                               ORI
93
                               ANDI
94
                               SLLI
95
                               SRLI
96
                               SRAI
97
                               SLL
98
                               SRL
99
                               SRA
100
                               ADD
101
                               SUB
102
                               SLT
103
                               SLTU
104
                               XOR
105
                               OR
106
                               AND | Yes (37/37) | (37/37) |
107 10 Andrei Tatarnikov
| RV64I   |  |  ?  | ?  |
108 15 Andrei Tatarnikov
{background:#cfc}. | *RV32M* | MUL
109 18 Andrei Tatarnikov
                               MULH
110
                               MULHSU
111
                               MULHU
112
                               DIV
113
                               DIVU
114
                               REM
115
                               REMU | Yes (8/8) | Yes (8/8) |
116 15 Andrei Tatarnikov
{background:#cfc}. | *RV64M* | MULW
117 18 Andrei Tatarnikov
                               DIVW
118
                               DIVUW
119
                               REMW
120
                               REMUW | Yes (5/5) | Yes (5/5) |
121 15 Andrei Tatarnikov
{background:#cfc}. | *RV32A* | LR.W
122 18 Andrei Tatarnikov
                               SC.W
123
                               AMOSWAP.W
124
                               AMOADD.W
125
                               AMOXOR.W
126
                               AMOAND.W
127
                               AMOOR.W
128
                               AMOMIN.W
129
                               AMOMAX.W
130
                               AMOMINU.W
131
                               AMOMAXU.W | Yes (11/11) | Yes (11/11) |
132 15 Andrei Tatarnikov
{background:#cfc}. | *RV64A* | LR.D
133 18 Andrei Tatarnikov
                               SC.D
134
                               AMOSWAP.D
135
                               AMOADD.D
136
                               AMOXOR.D
137
                               AMOAND.D
138
                               AMOOR.D
139
                               AMOMIN.D
140
                               AMOMAX.D
141
                               AMOMINU.D
142
                               AMOMAXU.D | Yes (11/11) | Yes (11/11) |
143 15 Andrei Tatarnikov
{background:#ff9}. | *RV32F* | FLW
144 17 Andrei Tatarnikov
                               FSW
145
                               FMADD.S
146
                               FMSUB.S
147
                               FNMSUB.S
148
                               FNMADD.S
149
                               FADD.S
150
                               FSUB.S
151
                               FMUL.S
152
                               FDIV.S
153
                               FSQRT.S
154
                               FSGNJ.S
155
                               FSGNJN.S
156
                               FSGNJX.S
157
                               FMIN.S
158
                               FMAX.S
159
                               FCVT.W.S
160
                               FCVT.WU.S
161
                               FMV.X.W (FMV.X.S)
162
                               FEQ.S
163
                               FLT.S
164
                               FLE.S
165
                               FCLASS.S
166
                               FCVT.S.W
167
                               FCVT.S.WU
168
                               FMV.W.X (FMV.S.X) | Yes (26/26) | Partially (?/26) |
169
{background:#ff9}. | *RV64F* | FCVT.L.S
170
                               FCVT.LU.S
171
                               FCVT.S.L
172
                               FCVT.S.LU | Yes (4/4) | Partially (?/4) |
173
{background:#ff9}. | *RV32D* | FLD
174
                               FSD
175
                               FMADD.D
176
                               FMSUB.D
177
                               FNMSUB.D
178
                               FNMADD.D
179
                               FADD.D
180
                               FSUB.D
181
                               FMUL.D
182
                               FDIV.D
183
                               FSQRT.D
184
                               FSGNJ.D
185
                               FSGNJN.D
186
                               FSGNJX.D
187
                               FMIN.D
188
                               FMAX.D
189
                               FCVT.S.D
190
                               FCVT.D.S
191
                               FEQ.D
192
                               FLT.D
193
                               FLE.D
194
                               FCLASS.D
195
                               FCVT.W.D
196
                               FCVT.WU.D
197
                               FCVT.D.W
198 18 Andrei Tatarnikov
                               FCVT.D.WU | Yes (26/26) | Partially (?/26) |
199
{background:#ff9}. | *RV64D* | FCVT.L.D
200
                               FCVT.LU.D
201
                               FMV.X.D
202
                               FCVT.D.L
203
                               FCVT.D.LU
204
                               FMV.D.X   | Yes (6/6) | Partially (?/26)  |
205 10 Andrei Tatarnikov
{background:#ddd}. | Total |  |   | |
206 7 Andrei Tatarnikov
207
{background:#cfc}. |  Fully supported |
208 10 Andrei Tatarnikov
{background:#ff9}. |  Partially supported |
209 7 Andrei Tatarnikov
{background:#fcc}. |  Unsupported |