Project

General

Profile

RISC-V Instruction Set » History » Version 18

Andrei Tatarnikov, 07/26/2018 02:59 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 10 Andrei Tatarnikov
| RV32I   |  |  ?  | ?  |
71
| RV64I   |  |  ?  | ?  |
72 15 Andrei Tatarnikov
{background:#cfc}. | *RV32M* | MUL
73 18 Andrei Tatarnikov
                               MULH
74
                               MULHSU
75
                               MULHU
76
                               DIV
77
                               DIVU
78
                               REM
79
                               REMU | Yes (8/8) | Yes (8/8) |
80 15 Andrei Tatarnikov
{background:#cfc}. | *RV64M* | MULW
81 18 Andrei Tatarnikov
                               DIVW
82
                               DIVUW
83
                               REMW
84
                               REMUW | Yes (5/5) | Yes (5/5) |
85 15 Andrei Tatarnikov
{background:#cfc}. | *RV32A* | LR.W
86 18 Andrei Tatarnikov
                               SC.W
87
                               AMOSWAP.W
88
                               AMOADD.W
89
                               AMOXOR.W
90
                               AMOAND.W
91
                               AMOOR.W
92
                               AMOMIN.W
93
                               AMOMAX.W
94
                               AMOMINU.W
95
                               AMOMAXU.W | Yes (11/11) | Yes (11/11) |
96 15 Andrei Tatarnikov
{background:#cfc}. | *RV64A* | LR.D
97 18 Andrei Tatarnikov
                               SC.D
98
                               AMOSWAP.D
99
                               AMOADD.D
100
                               AMOXOR.D
101
                               AMOAND.D
102
                               AMOOR.D
103
                               AMOMIN.D
104
                               AMOMAX.D
105
                               AMOMINU.D
106
                               AMOMAXU.D | Yes (11/11) | Yes (11/11) |
107 15 Andrei Tatarnikov
{background:#ff9}. | *RV32F* | FLW
108 17 Andrei Tatarnikov
                               FSW
109
                               FMADD.S
110
                               FMSUB.S
111
                               FNMSUB.S
112
                               FNMADD.S
113
                               FADD.S
114
                               FSUB.S
115
                               FMUL.S
116
                               FDIV.S
117
                               FSQRT.S
118
                               FSGNJ.S
119
                               FSGNJN.S
120
                               FSGNJX.S
121
                               FMIN.S
122
                               FMAX.S
123
                               FCVT.W.S
124
                               FCVT.WU.S
125
                               FMV.X.W (FMV.X.S)
126
                               FEQ.S
127
                               FLT.S
128
                               FLE.S
129
                               FCLASS.S
130
                               FCVT.S.W
131
                               FCVT.S.WU
132
                               FMV.W.X (FMV.S.X) | Yes (26/26) | Partially (?/26) |
133
{background:#ff9}. | *RV64F* | FCVT.L.S
134
                               FCVT.LU.S
135
                               FCVT.S.L
136
                               FCVT.S.LU | Yes (4/4) | Partially (?/4) |
137
{background:#ff9}. | *RV32D* | FLD
138
                               FSD
139
                               FMADD.D
140
                               FMSUB.D
141
                               FNMSUB.D
142
                               FNMADD.D
143
                               FADD.D
144
                               FSUB.D
145
                               FMUL.D
146
                               FDIV.D
147
                               FSQRT.D
148
                               FSGNJ.D
149
                               FSGNJN.D
150
                               FSGNJX.D
151
                               FMIN.D
152
                               FMAX.D
153
                               FCVT.S.D
154
                               FCVT.D.S
155
                               FEQ.D
156
                               FLT.D
157
                               FLE.D
158
                               FCLASS.D
159
                               FCVT.W.D
160
                               FCVT.WU.D
161
                               FCVT.D.W
162 18 Andrei Tatarnikov
                               FCVT.D.WU | Yes (26/26) | Partially (?/26) |
163
{background:#ff9}. | *RV64D* | FCVT.L.D
164
                               FCVT.LU.D
165
                               FMV.X.D
166
                               FCVT.D.L
167
                               FCVT.D.LU
168
                               FMV.D.X   | Yes (6/6) | Partially (?/26)  |
169 10 Andrei Tatarnikov
{background:#ddd}. | Total |  |   | |
170 7 Andrei Tatarnikov
171
{background:#cfc}. |  Fully supported |
172 10 Andrei Tatarnikov
{background:#ff9}. |  Partially supported |
173 7 Andrei Tatarnikov
{background:#fcc}. |  Unsupported |