Project

General

Profile

RISC-V Instruction Set » History » Version 13

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