aboutsummaryrefslogtreecommitdiff
path: root/pk/riscv-opc.h
blob: 571f5ae677d889bc712331b8b1c62a44af16625a (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
306
307
308
309
310
311
312
313
314
315
/* Automatically generated by parse-opcodes */
#define MATCH_REMUW 0x7bb
#define  MASK_REMUW 0x1ffff
#define MATCH_FMIN_D 0x180d3
#define  MASK_FMIN_D 0x1ffff
#define MATCH_BLTU 0x363
#define  MASK_BLTU 0x3ff
#define MATCH_FCVT_LU_S 0x9053
#define  MASK_FCVT_LU_S 0x3ff1ff
#define MATCH_FENCE_L_CV 0x32f
#define  MASK_FENCE_L_CV 0x3ff
#define MATCH_FMIN_S 0x18053
#define  MASK_FMIN_S 0x1ffff
#define MATCH_SLLIW 0x9b
#define  MASK_SLLIW 0x3f83ff
#define MATCH_LB 0x3
#define  MASK_LB 0x3ff
#define MATCH_FCVT_D_L 0xc0d3
#define  MASK_FCVT_D_L 0x3ff1ff
#define MATCH_LH 0x83
#define  MASK_LH 0x3ff
#define MATCH_FCVT_D_W 0xe0d3
#define  MASK_FCVT_D_W 0x3fffff
#define MATCH_LW 0x103
#define  MASK_LW 0x3ff
#define MATCH_ADD 0x33
#define  MASK_ADD 0x1ffff
#define MATCH_FCVT_D_S 0x100d3
#define  MASK_FCVT_D_S 0x3fffff
#define MATCH_FENCE_G_V 0x2af
#define  MASK_FENCE_G_V 0x3ff
#define MATCH_MFPCR 0x17b
#define  MASK_MFPCR 0x7c1ffff
#define MATCH_FMAX_D 0x190d3
#define  MASK_FMAX_D 0x1ffff
#define MATCH_BNE 0xe3
#define  MASK_BNE 0x3ff
#define MATCH_MTPCR 0x1fb
#define  MASK_MTPCR 0xf801ffff
#define MATCH_FCVT_S_D 0x11053
#define  MASK_FCVT_S_D 0x3ff1ff
#define MATCH_BGEU 0x3e3
#define  MASK_BGEU 0x3ff
#define MATCH_DI 0xfb
#define  MASK_DI 0x7ffffff
#define MATCH_SLTIU 0x193
#define  MASK_SLTIU 0x3ff
#define MATCH_BREAK 0xf7
#define  MASK_BREAK 0xffffffff
#define MATCH_FCVT_S_W 0xe053
#define  MASK_FCVT_S_W 0x3ff1ff
#define MATCH_MUL 0x433
#define  MASK_MUL 0x1ffff
#define MATCH_AMOMINU_D 0x19ab
#define  MASK_AMOMINU_D 0x1ffff
#define MATCH_MFTX_D 0x1c0d3
#define  MASK_MFTX_D 0x7c1ffff
#define MATCH_SRLI 0x293
#define  MASK_SRLI 0x3f03ff
#define MATCH_AMOMINU_W 0x192b
#define  MASK_AMOMINU_W 0x1ffff
#define MATCH_DIVUW 0x6bb
#define  MASK_DIVUW 0x1ffff
#define MATCH_MULW 0x43b
#define  MASK_MULW 0x1ffff
#define MATCH_SRLW 0x2bb
#define  MASK_SRLW 0x1ffff
#define MATCH_DIV 0x633
#define  MASK_DIV 0x1ffff
#define MATCH_MFTX_S 0x1c053
#define  MASK_MFTX_S 0x7c1ffff
#define MATCH_J 0x67
#define  MASK_J 0x7f
#define MATCH_EI 0x7b
#define  MASK_EI 0x7ffffff
#define MATCH_FENCE 0x12f
#define  MASK_FENCE 0x3ff
#define MATCH_FNMSUB_S 0x4b
#define  MASK_FNMSUB_S 0x1ff
#define MATCH_FCVT_L_S 0x8053
#define  MASK_FCVT_L_S 0x3ff1ff
#define MATCH_FLE_S 0x17053
#define  MASK_FLE_S 0x1ffff
#define MATCH_MFFSR 0x1d053
#define  MASK_MFFSR 0x7ffffff
#define MATCH_FDIV_S 0x3053
#define  MASK_FDIV_S 0x1f1ff
#define MATCH_FLE_D 0x170d3
#define  MASK_FLE_D 0x1ffff
#define MATCH_FENCE_I 0xaf
#define  MASK_FENCE_I 0x3ff
#define MATCH_FNMSUB_D 0xcb
#define  MASK_FNMSUB_D 0x1ff
#define MATCH_ADDW 0x3b
#define  MASK_ADDW 0x1ffff
#define MATCH_SLL 0xb3
#define  MASK_SLL 0x1ffff
#define MATCH_XOR 0x233
#define  MASK_XOR 0x1ffff
#define MATCH_SUB 0x10033
#define  MASK_SUB 0x1ffff
#define MATCH_ERET 0x27b
#define  MASK_ERET 0xffffffff
#define MATCH_BLT 0x263
#define  MASK_BLT 0x3ff
#define MATCH_MTFSR 0x1f053
#define  MASK_MTFSR 0x3fffff
#define MATCH_REM 0x733
#define  MASK_REM 0x1ffff
#define MATCH_SRLIW 0x29b
#define  MASK_SRLIW 0x3f83ff
#define MATCH_LUI 0x37
#define  MASK_LUI 0x7f
#define MATCH_FCVT_S_LU 0xd053
#define  MASK_FCVT_S_LU 0x3ff1ff
#define MATCH_ADDI 0x13
#define  MASK_ADDI 0x3ff
#define MATCH_MULH 0x4b3
#define  MASK_MULH 0x1ffff
#define MATCH_FMUL_S 0x2053
#define  MASK_FMUL_S 0x1f1ff
#define MATCH_SRAI 0x10293
#define  MASK_SRAI 0x3f03ff
#define MATCH_AMOAND_D 0x9ab
#define  MASK_AMOAND_D 0x1ffff
#define MATCH_FLT_D 0x160d3
#define  MASK_FLT_D 0x1ffff
#define MATCH_SRAW 0x102bb
#define  MASK_SRAW 0x1ffff
#define MATCH_FMUL_D 0x20d3
#define  MASK_FMUL_D 0x1f1ff
#define MATCH_LD 0x183
#define  MASK_LD 0x3ff
#define MATCH_ORI 0x313
#define  MASK_ORI 0x3ff
#define MATCH_FLT_S 0x16053
#define  MASK_FLT_S 0x1ffff
#define MATCH_ADDIW 0x1b
#define  MASK_ADDIW 0x3ff
#define MATCH_AMOAND_W 0x92b
#define  MASK_AMOAND_W 0x1ffff
#define MATCH_FEQ_S 0x15053
#define  MASK_FEQ_S 0x1ffff
#define MATCH_FSGNJX_D 0x70d3
#define  MASK_FSGNJX_D 0x1ffff
#define MATCH_SRA 0x102b3
#define  MASK_SRA 0x1ffff
#define MATCH_BGE 0x2e3
#define  MASK_BGE 0x3ff
#define MATCH_SRAIW 0x1029b
#define  MASK_SRAIW 0x3f83ff
#define MATCH_SRL 0x2b3
#define  MASK_SRL 0x1ffff
#define MATCH_FSGNJX_S 0x7053
#define  MASK_FSGNJX_S 0x1ffff
#define MATCH_FEQ_D 0x150d3
#define  MASK_FEQ_D 0x1ffff
#define MATCH_FCVT_D_WU 0xf0d3
#define  MASK_FCVT_D_WU 0x3fffff
#define MATCH_OR 0x333
#define  MASK_OR 0x1ffff
#define MATCH_FCVT_WU_D 0xb0d3
#define  MASK_FCVT_WU_D 0x3ff1ff
#define MATCH_SUBW 0x1003b
#define  MASK_SUBW 0x1ffff
#define MATCH_JALR_C 0x6b
#define  MASK_JALR_C 0x3ff
#define MATCH_FMAX_S 0x19053
#define  MASK_FMAX_S 0x1ffff
#define MATCH_AMOMAXU_D 0x1dab
#define  MASK_AMOMAXU_D 0x1ffff
#define MATCH_JALR_J 0x16b
#define  MASK_JALR_J 0x3ff
#define MATCH_XORI 0x213
#define  MASK_XORI 0x3ff
#define MATCH_JALR_R 0xeb
#define  MASK_JALR_R 0x3ff
#define MATCH_AMOMAXU_W 0x1d2b
#define  MASK_AMOMAXU_W 0x1ffff
#define MATCH_FCVT_WU_S 0xb053
#define  MASK_FCVT_WU_S 0x3ff1ff
#define MATCH_ANDI 0x393
#define  MASK_ANDI 0x3ff
#define MATCH_FSGNJN_D 0x60d3
#define  MASK_FSGNJN_D 0x1ffff
#define MATCH_FNMADD_S 0x4f
#define  MASK_FNMADD_S 0x1ff
#define MATCH_JAL 0x6f
#define  MASK_JAL 0x7f
#define MATCH_LWU 0x303
#define  MASK_LWU 0x3ff
#define MATCH_FNMADD_D 0xcf
#define  MASK_FNMADD_D 0x1ff
#define MATCH_FENCE_G_CV 0x3af
#define  MASK_FENCE_G_CV 0x3ff
#define MATCH_AMOADD_D 0x1ab
#define  MASK_AMOADD_D 0x1ffff
#define MATCH_AMOMAX_W 0x152b
#define  MASK_AMOMAX_W 0x1ffff
#define MATCH_FCVT_W_S 0xa053
#define  MASK_FCVT_W_S 0x3ff1ff
#define MATCH_MULHSU 0x533
#define  MASK_MULHSU 0x1ffff
#define MATCH_AMOADD_W 0x12b
#define  MASK_AMOADD_W 0x1ffff
#define MATCH_FCVT_D_LU 0xd0d3
#define  MASK_FCVT_D_LU 0x3ff1ff
#define MATCH_AMOMAX_D 0x15ab
#define  MASK_AMOMAX_D 0x1ffff
#define MATCH_FCVT_W_D 0xa0d3
#define  MASK_FCVT_W_D 0x3ff1ff
#define MATCH_SLT 0x133
#define  MASK_SLT 0x1ffff
#define MATCH_MXTF_D 0x1e0d3
#define  MASK_MXTF_D 0x3fffff
#define MATCH_SLLW 0xbb
#define  MASK_SLLW 0x1ffff
#define MATCH_AMOOR_D 0xdab
#define  MASK_AMOOR_D 0x1ffff
#define MATCH_SLTI 0x113
#define  MASK_SLTI 0x3ff
#define MATCH_REMU 0x7b3
#define  MASK_REMU 0x1ffff
#define MATCH_FLW 0x107
#define  MASK_FLW 0x3ff
#define MATCH_REMW 0x73b
#define  MASK_REMW 0x1ffff
#define MATCH_SLTU 0x1b3
#define  MASK_SLTU 0x1ffff
#define MATCH_SLLI 0x93
#define  MASK_SLLI 0x3f03ff
#define MATCH_AMOOR_W 0xd2b
#define  MASK_AMOOR_W 0x1ffff
#define MATCH_BEQ 0x63
#define  MASK_BEQ 0x3ff
#define MATCH_FLD 0x187
#define  MASK_FLD 0x3ff
#define MATCH_MXTF_S 0x1e053
#define  MASK_MXTF_S 0x3fffff
#define MATCH_FSUB_S 0x1053
#define  MASK_FSUB_S 0x1f1ff
#define MATCH_AND 0x3b3
#define  MASK_AND 0x1ffff
#define MATCH_LBU 0x203
#define  MASK_LBU 0x3ff
#define MATCH_SYSCALL 0x77
#define  MASK_SYSCALL 0xffffffff
#define MATCH_FSGNJ_S 0x5053
#define  MASK_FSGNJ_S 0x1ffff
#define MATCH_FSGNJ_D 0x50d3
#define  MASK_FSGNJ_D 0x1ffff
#define MATCH_MULHU 0x5b3
#define  MASK_MULHU 0x1ffff
#define MATCH_FCVT_L_D 0x80d3
#define  MASK_FCVT_L_D 0x3ff1ff
#define MATCH_FADD_D 0xd3
#define  MASK_FADD_D 0x1f1ff
#define MATCH_FCVT_S_WU 0xf053
#define  MASK_FCVT_S_WU 0x3ff1ff
#define MATCH_RDNPC 0x26b
#define  MASK_RDNPC 0x7ffffff
#define MATCH_FCVT_S_L 0xc053
#define  MASK_FCVT_S_L 0x3ff1ff
#define MATCH_FCVT_LU_D 0x90d3
#define  MASK_FCVT_LU_D 0x3ff1ff
#define MATCH_UNIMP 0x0
#define  MASK_UNIMP 0xffffffff
#define MATCH_FSUB_D 0x10d3
#define  MASK_FSUB_D 0x1f1ff
#define MATCH_FMADD_S 0x43
#define  MASK_FMADD_S 0x1ff
#define MATCH_FSQRT_S 0x4053
#define  MASK_FSQRT_S 0x3ff1ff
#define MATCH_AMOMIN_W 0x112b
#define  MASK_AMOMIN_W 0x1ffff
#define MATCH_FSGNJN_S 0x6053
#define  MASK_FSGNJN_S 0x1ffff
#define MATCH_AMOSWAP_D 0x5ab
#define  MASK_AMOSWAP_D 0x1ffff
#define MATCH_FENCE_L_V 0x22f
#define  MASK_FENCE_L_V 0x3ff
#define MATCH_FSQRT_D 0x40d3
#define  MASK_FSQRT_D 0x3ff1ff
#define MATCH_FDIV_D 0x30d3
#define  MASK_FDIV_D 0x1f1ff
#define MATCH_FMADD_D 0xc3
#define  MASK_FMADD_D 0x1ff
#define MATCH_DIVW 0x63b
#define  MASK_DIVW 0x1ffff
#define MATCH_AMOMIN_D 0x11ab
#define  MASK_AMOMIN_D 0x1ffff
#define MATCH_DIVU 0x6b3
#define  MASK_DIVU 0x1ffff
#define MATCH_AMOSWAP_W 0x52b
#define  MASK_AMOSWAP_W 0x1ffff
#define MATCH_FADD_S 0x53
#define  MASK_FADD_S 0x1f1ff
#define MATCH_FSD 0x1a7
#define  MASK_FSD 0x3ff
#define MATCH_SW 0x123
#define  MASK_SW 0x3ff
#define MATCH_FMSUB_S 0x47
#define  MASK_FMSUB_S 0x1ff
#define MATCH_LHU 0x283
#define  MASK_LHU 0x3ff
#define MATCH_SH 0xa3
#define  MASK_SH 0x3ff
#define MATCH_FSW 0x127
#define  MASK_FSW 0x3ff
#define MATCH_SB 0x23
#define  MASK_SB 0x3ff
#define MATCH_FMSUB_D 0xc7
#define  MASK_FMSUB_D 0x1ff
#define MATCH_SD 0x1a3
#define  MASK_SD 0x3ff