-
Notifications
You must be signed in to change notification settings - Fork 11
/
operands
72 lines (71 loc) · 3.62 KB
/
operands
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# format of a line in this file:
# <arg> <bit encoding> <type> <description>
#
# <bit encoding> contains a comma list of gather[scatter] bits. e.g.
#
# 12:10[8|4:3],6:2[7:6|2:1|5]
#
# is equivalent to the RISC-V Compressed Instruction Set notation:
#
# 12 10 6 2
# offset[8|4:3] offset[7:6|2:1|5]
#
# when [scatter] is ommitted, bits are right justified from bit 0
#
# type is one of arg, creg, ireg, freg, offset, simm, uimm
rd 11:7 ireg rd
rs1 19:15 ireg rs1
rs2 24:20 ireg rs2
rs3 31:27 ireg rs3
frd 11:7 freg frd
frs1 19:15 freg frs1
frs2 24:20 freg frs2
frs3 31:27 freg frs3
aq 26 arg aq # Acquire
rl 25 arg rl # Release
pred 27:24 arg pred # Predecessor
succ 23:20 arg succ # Successor
rm 14:12 arg rm # Rounding Mode
imm20 31:12[31:12] simm simm
oimm20 31:12[31:12] offset simm
jimm20 31:12[20|10:1|11|19:12] offset simm # PC relative jump
imm12 31:20[11:0] simm simm
oimm12 31:20[11:0] offset simm
csr12 31:20[11:0] uimm csr
simm12 31:25[11:5],11:7[4:0] offset simm
sbimm12 31:25[12|10:5],11:7[4:1|11] offset simm # PC relative branch
zimm 19:15[4:0] uimm uimm
shamt5 24:20[4:0] uimm shamt # 32-bit shift amount
shamt6 25:20[5:0] uimm shamt # 64-bit shift amount
shamt7 26:20[6:0] uimm shamt # 128-bit shift amount
crd0 12 creg rd''
crdq 4:2 creg rd'
crs1q 9:7 creg rs1'
crs1rdq 9:7 creg rs1'/rd'
crs2q 4:2 creg rs2'
crd 11:7 ireg rd
crs1 11:7 ireg rs1
crs1rd 11:7 ireg rs1/rd
crs2 6:2 ireg rs2
cfrdq 4:2 creg frd'
cfrs2q 4:2 creg frs2'
cfrs2 6:2 freg frs2
cfrd 11:7 freg frd
cimmsh5 6:2[4:0] uimm nzuimm
cimmsh6 12[5],6:2[4:0] uimm nzuimm
cimmi 12[5],6:2[4:0] simm simm
cnzimmi 12[5],6:2[4:0] simm nzsimm
cimmui 12[17],6:2[16:12] simm nzsimm
cimmlwsp 12[5],6:2[4:2|7:6] uimm uimm
cimmldsp 12[5],6:2[4:3|8:6] uimm uimm
cimmlqsp 12[5],6:2[4|9:6] uimm uimm
cimm16sp 12[9],6:2[4|6|8:7|5] simm nzsimm
cimmj 12:2[11|4|9:8|10|6|7|3:1|5] simm simm # PC relative jump
cimmb 12:10[8|4:3],6:2[7:6|2:1|5] simm simm # PC relative branch
cimmswsp 12:7[5:2|7:6] uimm uimm
cimmsdsp 12:7[5:3|8:6] uimm uimm
cimmsqsp 12:7[5:4|9:6] uimm uimm
cimm4spn 12:5[5:4|9:6|2|3] uimm nzuimm
cimmw 12:10[5:3],6:5[2|6] uimm uimm
cimmd 12:10[5:3],6:5[7:6] uimm uimm
cimmq 12:10[5:4|8],6:5[7:6] uimm uimm