aboutsummaryrefslogtreecommitdiff
path: root/pk/riscv-opc.h
blob: 3bbbb61951e189c9ca326b929f399904a214f83d (plain)
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
/* Automatically generated by parse-opcodes */
#define MATCH_MFF_D 0x185ea
#define  MASK_MFF_D 0x7c1ffff
#define MATCH_FSINJN_D 0x61ea
#define  MASK_FSINJN_D 0x1ffff
#define MATCH_REMUW 0x1cf7
#define  MASK_REMUW 0x1ffff
#define MATCH_BLTU 0x363
#define  MASK_BLTU 0x3ff
#define MATCH_FSINJN_S 0x606a
#define  MASK_FSINJN_S 0x1ffff
#define MATCH_MFF_S 0x1846a
#define  MASK_MFF_S 0x7c1ffff
#define MATCH_SLLIW 0x7f6
#define  MASK_SLLIW 0x20ffff
#define MATCH_FCVT_D_L 0xc1ea
#define  MASK_FCVT_D_L 0x3ff1ff
#define MATCH_FCVT_D_W 0xe1ea
#define  MASK_FCVT_D_W 0x3fffff
#define MATCH_ADD 0x75
#define  MASK_ADD 0x1ffff
#define MATCH_FCVT_D_S 0x101ea
#define  MASK_FCVT_D_S 0x3fffff
#define MATCH_LF_D 0x1e8
#define  MASK_LF_D 0x3ff
#define MATCH_MFPCR 0xeb
#define  MASK_MFPCR 0x7c1ffff
#define MATCH_BNE 0xe3
#define  MASK_BNE 0x3ff
#define MATCH_MTPCR 0x4eb
#define  MASK_MTPCR 0xf801ffff
#define MATCH_FCVT_S_D 0x1306a
#define  MASK_FCVT_S_D 0x3ff1ff
#define MATCH_BGEU 0x3e3
#define  MASK_BGEU 0x3ff
#define MATCH_DI 0x46b
#define  MASK_DI 0x7ffffff
#define MATCH_SLTIU 0x1f4
#define  MASK_SLTIU 0x3ff
#define MATCH_MFFL_D 0x195ea
#define  MASK_MFFL_D 0x7c1ffff
#define MATCH_FADD_S 0x6a
#define  MASK_FADD_S 0x1f1ff
#define MATCH_FCVT_S_W 0xe06a
#define  MASK_FCVT_S_W 0x3ff1ff
#define MATCH_MUL 0xf5
#define  MASK_MUL 0x1ffff
#define MATCH_AMOMINU_D 0x19fa
#define  MASK_AMOMINU_D 0x1ffff
#define MATCH_FSEL_S 0x67
#define  MASK_FSEL_S 0xfff
#define MATCH_SRLI 0xbf4
#define  MASK_SRLI 0xffff
#define MATCH_FCVTU_W_S 0xb06a
#define  MASK_FCVTU_W_S 0x3ff1ff
#define MATCH_AMOMINU_W 0x197a
#define  MASK_AMOMINU_W 0x1ffff
#define MATCH_DIVUW 0x14f7
#define  MASK_DIVUW 0x1ffff
#define MATCH_MFFH_D 0x1a5ea
#define  MASK_MFFH_D 0x7c1ffff
#define MATCH_SRLW 0xbf7
#define  MASK_SRLW 0x1ffff
#define MATCH_MFCR 0xfb
#define  MASK_MFCR 0x7c1ffff
#define MATCH_DIV 0x10f5
#define  MASK_DIV 0x1ffff
#define MATCH_FSEL_D 0x1e7
#define  MASK_FSEL_D 0xfff
#define MATCH_S_D 0x1f9
#define  MASK_S_D 0x3ff
#define MATCH_J 0x60
#define  MASK_J 0x7f
#define MATCH_S_B 0x79
#define  MASK_S_B 0x3ff
#define MATCH_FNMSUB_S 0x6e
#define  MASK_FNMSUB_S 0x1ff
#define MATCH_FCVT_L_S 0x806a
#define  MASK_FCVT_L_S 0x3ff1ff
#define MATCH_SYNC 0x17b
#define  MASK_SYNC 0xffffffff
#define MATCH_S_H 0xf9
#define  MASK_S_H 0x3ff
#define MATCH_MTF_S 0x1c46a
#define  MASK_MTF_S 0x3fffff
#define MATCH_S_W 0x179
#define  MASK_S_W 0x3ff
#define MATCH_FDIV_S 0x306a
#define  MASK_FDIV_S 0x1f1ff
#define MATCH_SF_D 0x1e9
#define  MASK_SF_D 0x3ff
#define MATCH_MTCR 0x4fb
#define  MASK_MTCR 0xf801ffff
#define MATCH_FCVT_L_D 0x81ea
#define  MASK_FCVT_L_D 0x3ff1ff
#define MATCH_FNMSUB_D 0x1ee
#define  MASK_FNMSUB_D 0x1ff
#define MATCH_ADDW 0x77
#define  MASK_ADDW 0x1ffff
#define MATCH_SLTU 0xc75
#define  MASK_SLTU 0x1ffff
#define MATCH_XOR 0x1875
#define  MASK_XOR 0x1ffff
#define MATCH_SUB 0x475
#define  MASK_SUB 0x1ffff
#define MATCH_ERET 0x16b
#define  MASK_ERET 0xffffffff
#define MATCH_FCVTU_D_W 0xf1ea
#define  MASK_FCVTU_D_W 0x3fffff
#define MATCH_BLT 0x263
#define  MASK_BLT 0x3ff
#define MATCH_FC_LT_S 0x1606a
#define  MASK_FC_LT_S 0x1ffff
#define MATCH_REM 0x18f5
#define  MASK_REM 0x1ffff
#define MATCH_SRLIW 0xbf6
#define  MASK_SRLIW 0x20ffff
#define MATCH_LUI 0x71
#define  MASK_LUI 0x7f
#define MATCH_L_W 0x178
#define  MASK_L_W 0x3ff
#define MATCH_ADDI 0x74
#define  MASK_ADDI 0x3ff
#define MATCH_FC_LT_D 0x161ea
#define  MASK_FC_LT_D 0x1ffff
#define MATCH_MULH 0x8f5
#define  MASK_MULH 0x1ffff
#define MATCH_FMUL_S 0x206a
#define  MASK_FMUL_S 0x1f1ff
#define MATCH_SRAI 0xff4
#define  MASK_SRAI 0xffff
#define MATCH_AMOAND_D 0x9fa
#define  MASK_AMOAND_D 0x1ffff
#define MATCH_SRAW 0xff7
#define  MASK_SRAW 0x1ffff
#define MATCH_FMUL_D 0x21ea
#define  MASK_FMUL_D 0x1f1ff
#define MATCH_ORI 0x2f4
#define  MASK_ORI 0x3ff
#define MATCH_ADDIW 0x76
#define  MASK_ADDIW 0x3ff
#define MATCH_AMOAND_W 0x97a
#define  MASK_AMOAND_W 0x1ffff
#define MATCH_MTFLH_D 0x1c7ea
#define  MASK_MTFLH_D 0x1ffff
#define MATCH_SRA 0xff5
#define  MASK_SRA 0x1ffff
#define MATCH_L_BU 0x278
#define  MASK_L_BU 0x3ff
#define MATCH_SRAIW 0xff6
#define  MASK_SRAIW 0x20ffff
#define MATCH_SRL 0xbf5
#define  MASK_SRL 0x1ffff
#define MATCH_FC_EQ_D 0x151ea
#define  MASK_FC_EQ_D 0x1ffff
#define MATCH_OR 0x1475
#define  MASK_OR 0x1ffff
#define MATCH_FMADD_D 0x1ec
#define  MASK_FMADD_D 0x1ff
#define MATCH_SUBW 0x477
#define  MASK_SUBW 0x1ffff
#define MATCH_JALR_C 0x62
#define  MASK_JALR_C 0x3ff
#define MATCH_LF_W 0x168
#define  MASK_LF_W 0x3ff
#define MATCH_AMOMAXU_D 0x1dfa
#define  MASK_AMOMAXU_D 0x1ffff
#define MATCH_SF_W 0x169
#define  MASK_SF_W 0x3ff
#define MATCH_JALR_J 0x162
#define  MASK_JALR_J 0x3ff
#define MATCH_XORI 0x374
#define  MASK_XORI 0x3ff
#define MATCH_JALR_R 0xe2
#define  MASK_JALR_R 0x3ff
#define MATCH_AMOMAXU_W 0x1d7a
#define  MASK_AMOMAXU_W 0x1ffff
#define MATCH_AMOMIN_D 0x11fa
#define  MASK_AMOMIN_D 0x1ffff
#define MATCH_EI 0x6b
#define  MASK_EI 0x7ffffff
#define MATCH_FSMUL_S 0x706a
#define  MASK_FSMUL_S 0x1ffff
#define MATCH_ANDI 0x274
#define  MASK_ANDI 0x3ff
#define MATCH_FNMADD_S 0x6f
#define  MASK_FNMADD_S 0x1ff
#define MATCH_JAL 0x61
#define  MASK_JAL 0x7f
#define MATCH_MULW 0xf7
#define  MASK_MULW 0x1ffff
#define MATCH_FSMUL_D 0x71ea
#define  MASK_FSMUL_D 0x1ffff
#define MATCH_FNMADD_D 0x1ef
#define  MASK_FNMADD_D 0x1ff
#define MATCH_AMOADD_D 0x1fa
#define  MASK_AMOADD_D 0x1ffff
#define MATCH_FSINJ_D 0x51ea
#define  MASK_FSINJ_D 0x1ffff
#define MATCH_AMOMAX_W 0x157a
#define  MASK_AMOMAX_W 0x1ffff
#define MATCH_FCVT_W_S 0xa06a
#define  MASK_FCVT_W_S 0x3ff1ff
#define MATCH_AMOADD_W 0x17a
#define  MASK_AMOADD_W 0x1ffff
#define MATCH_FSINJ_S 0x506a
#define  MASK_FSINJ_S 0x1ffff
#define MATCH_AMOMAX_D 0x15fa
#define  MASK_AMOMAX_D 0x1ffff
#define MATCH_FCVT_W_D 0xa1ea
#define  MASK_FCVT_W_D 0x3ff1ff
#define MATCH_BGE 0x2e3
#define  MASK_BGE 0x3ff
#define MATCH_SLT 0x875
#define  MASK_SLT 0x1ffff
#define MATCH_SLLW 0x7f7
#define  MASK_SLLW 0x1ffff
#define MATCH_AMOOR_D 0xdfa
#define  MASK_AMOOR_D 0x1ffff
#define MATCH_SLTI 0x174
#define  MASK_SLTI 0x3ff
#define MATCH_REMU 0x1cf5
#define  MASK_REMU 0x1ffff
#define MATCH_REMW 0x18f7
#define  MASK_REMW 0x1ffff
#define MATCH_SLL 0x7f5
#define  MASK_SLL 0x1ffff
#define MATCH_L_HU 0x2f8
#define  MASK_L_HU 0x3ff
#define MATCH_SLLI 0x7f4
#define  MASK_SLLI 0xffff
#define MATCH_AMOOR_W 0xd7a
#define  MASK_AMOOR_W 0x1ffff
#define MATCH_BEQ 0x63
#define  MASK_BEQ 0x3ff
#define MATCH_FSUB_S 0x106a
#define  MASK_FSUB_S 0x1f1ff
#define MATCH_AND 0x1075
#define  MASK_AND 0x1ffff
#define MATCH_FC_LE_S 0x1706a
#define  MASK_FC_LE_S 0x1ffff
#define MATCH_SYSCALL 0x1fb
#define  MASK_SYSCALL 0xffc003ff
#define MATCH_FCVTU_S_W 0xf06a
#define  MASK_FCVTU_S_W 0x3ff1ff
#define MATCH_MTF_D 0x1c5ea
#define  MASK_MTF_D 0x3fffff
#define MATCH_FC_LE_D 0x171ea
#define  MASK_FC_LE_D 0x1ffff
#define MATCH_FCVTU_S_L 0xd06a
#define  MASK_FCVTU_S_L 0x3ff1ff
#define MATCH_MULHU 0xcf5
#define  MASK_MULHU 0x1ffff
#define MATCH_FCVTU_W_D 0xb1ea
#define  MASK_FCVTU_W_D 0x3ff1ff
#define MATCH_FCVTU_L_S 0x906a
#define  MASK_FCVTU_L_S 0x3ff1ff
#define MATCH_FADD_D 0x1ea
#define  MASK_FADD_D 0x1f1ff
#define MATCH_RDNPC 0x7b
#define  MASK_RDNPC 0x7ffffff
#define MATCH_FCVT_S_L 0xc06a
#define  MASK_FCVT_S_L 0x3ff1ff
#define MATCH_SYNCI 0x3f8
#define  MASK_SYNCI 0xf80003ff
#define MATCH_UNIMP 0x0
#define  MASK_UNIMP 0xffffffff
#define MATCH_FCVTU_L_D 0x91ea
#define  MASK_FCVTU_L_D 0x3ff1ff
#define MATCH_FSUB_D 0x11ea
#define  MASK_FSUB_D 0x1f1ff
#define MATCH_FMADD_S 0x6c
#define  MASK_FMADD_S 0x1ff
#define MATCH_FSQRT_S 0x406a
#define  MASK_FSQRT_S 0x3ff1ff
#define MATCH_AMOMIN_W 0x117a
#define  MASK_AMOMIN_W 0x1ffff
#define MATCH_AMOSWAP_D 0x5fa
#define  MASK_AMOSWAP_D 0x1ffff
#define MATCH_FSQRT_D 0x41ea
#define  MASK_FSQRT_D 0x3ff1ff
#define MATCH_FC_EQ_S 0x1506a
#define  MASK_FC_EQ_S 0x1ffff
#define MATCH_FDIV_D 0x31ea
#define  MASK_FDIV_D 0x1f1ff
#define MATCH_L_H 0xf8
#define  MASK_L_H 0x3ff
#define MATCH_DIVW 0x10f7
#define  MASK_DIVW 0x1ffff
#define MATCH_L_D 0x1f8
#define  MASK_L_D 0x3ff
#define MATCH_DIVU 0x14f5
#define  MASK_DIVU 0x1ffff
#define MATCH_AMOSWAP_W 0x57a
#define  MASK_AMOSWAP_W 0x1ffff
#define MATCH_FCVTU_D_L 0xd1ea
#define  MASK_FCVTU_D_L 0x3ff1ff
#define MATCH_L_B 0x78
#define  MASK_L_B 0x3ff
#define MATCH_L_WU 0x378
#define  MASK_L_WU 0x3ff
#define MATCH_FMSUB_S 0x6d
#define  MASK_FMSUB_S 0x1ff
#define MATCH_FMSUB_D 0x1ed
#define  MASK_FMSUB_D 0x1ff