Project

General

Profile

RISC-V Instruction Set » History » Version 14

Andrei Tatarnikov, 07/26/2018 02:12 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 13 Andrei Tatarnikov
{background:#cfc}. | RV32M | MUL
73
          MULH
74
          MULHSU
75
          MULHU
76
          DIV
77
          DIVU
78
          REM
79
          REMU | Yes (8/8) | Yes (8/8) |
80 14 Andrei Tatarnikov
{background:#cfc}. | RV64M | MULW
81
          DIVW
82
          DIVUW
83
          REMW
84
          REMUW | Yes (5/5) | Yes (5/5) |
85 11 Andrei Tatarnikov
{background:#cfc}. | RV32A | LR.W
86
          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
{background:#cfc}. | RV64A  | LR.D
97
           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 11 Andrei Tatarnikov
| RV32F  | FLW +
108 10 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) +
133
|  26  | ?  |
134
{background:#ff9}. | RV64F  |  FCVT.L.S
135 8 Andrei Tatarnikov
                                                   FCVT.LU.S
136
                                                   FCVT.S.L
137 10 Andrei Tatarnikov
                                                   FCVT.S.LU |  4  | No |
138
{background:#ff9}. | RV32D  | FLD
139 8 Andrei Tatarnikov
                                                   FSD
140
                                                   FMADD.D
141
                                                   FMSUB.D
142
                                                   FNMSUB.D
143
                                                   FNMADD.D
144
                                                   FADD.D
145
                                                   FSUB.D
146
                                                   FMUL.D
147
                                                   FDIV.D
148
                                                   FSQRT.D
149
                                                   FSGNJ.D
150 1 Alexander Protsenko
                                                   FSGNJN.D
151
                                                   FSGNJX.D
152 8 Andrei Tatarnikov
                                                   FMIN.D
153
                                                   FMAX.D
154 1 Alexander Protsenko
                                                   FCVT.S.D
155
                                                   FCVT.D.S
156 8 Andrei Tatarnikov
                                                   FEQ.D
157 1 Alexander Protsenko
                                                   FLT.D
158 8 Andrei Tatarnikov
                                                   FLE.D
159
                                                   FCLASS.D
160
                                                   FCVT.W.D
161
                                                   FCVT.WU.D
162
                                                   FCVT.D.W
163 10 Andrei Tatarnikov
                                                   FCVT.D.WU |  26  | No  |
164
{background:#ff9}. | RV64D  | FCVT.L.D
165 7 Andrei Tatarnikov
                                                   FCVT.LU.D
166
                                                   FMV.X.D
167
                                                   FCVT.D.L
168
                                                   FCVT.D.LU
169 10 Andrei Tatarnikov
                                                   FMV.D.X        |   6  | No  |
170
{background:#ddd}. | Total |  |   | |
171 7 Andrei Tatarnikov
172
{background:#cfc}. |  Fully supported |
173 10 Andrei Tatarnikov
{background:#ff9}. |  Partially supported |
174 7 Andrei Tatarnikov
{background:#fcc}. |  Unsupported |