Project

General

Profile

RISC-V Instruction Set » History » Version 12

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