Project

General

Profile

RISC-V Instruction Set » History » Version 15

Andrei Tatarnikov, 07/26/2018 02:41 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 13 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 14 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 11 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 12 Andrei Tatarnikov
          AMOMAXU.W | Yes (11/11) | Yes (11/11) |
96 15 Andrei Tatarnikov
{background:#cfc}. | *RV64A* | LR.D
97 12 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 11 Andrei Tatarnikov
           AMOMAXU.D | Yes (11/11) | Yes (11/11) |
107 15 Andrei Tatarnikov
{background:#ff9}. | *RV32F* | FLW
108
                             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 10 Andrei Tatarnikov
{background:#ff9}. | RV64F  |  FCVT.L.S
134 8 Andrei Tatarnikov
                                                   FCVT.LU.S
135
                                                   FCVT.S.L
136 10 Andrei Tatarnikov
                                                   FCVT.S.LU |  4  | No |
137
{background:#ff9}. | RV32D  | FLD
138 8 Andrei Tatarnikov
                                                   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 1 Alexander Protsenko
                                                   FSGNJN.D
150
                                                   FSGNJX.D
151 8 Andrei Tatarnikov
                                                   FMIN.D
152
                                                   FMAX.D
153 1 Alexander Protsenko
                                                   FCVT.S.D
154
                                                   FCVT.D.S
155 8 Andrei Tatarnikov
                                                   FEQ.D
156 1 Alexander Protsenko
                                                   FLT.D
157 8 Andrei Tatarnikov
                                                   FLE.D
158
                                                   FCLASS.D
159
                                                   FCVT.W.D
160
                                                   FCVT.WU.D
161
                                                   FCVT.D.W
162 10 Andrei Tatarnikov
                                                   FCVT.D.WU |  26  | No  |
163
{background:#ff9}. | RV64D  | FCVT.L.D
164 7 Andrei Tatarnikov
                                                   FCVT.LU.D
165
                                                   FMV.X.D
166
                                                   FCVT.D.L
167
                                                   FCVT.D.LU
168 10 Andrei Tatarnikov
                                                   FMV.D.X        |   6  | No  |
169
{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 |