aboutsummaryrefslogtreecommitdiff
path: root/pk/riscv-opc.h
blob: 197f1b3103dd8f52dd5d6cfaa9ed4414e9e93c71 (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
316
317
/* Automatically generated by parse-opcodes */
#define MATCH_FMV_S_X 0xf0000053
#define  MASK_FMV_S_X 0xfff0707f
#define MATCH_AMOXOR_W 0x2000202f
#define  MASK_AMOXOR_W 0xf800707f
#define MATCH_REMUW 0x200703b
#define  MASK_REMUW 0xfe00707f
#define MATCH_FMIN_D 0xc2000053
#define  MASK_FMIN_D 0xfe00707f
#define MATCH_AMOMAX_D 0xa000302f
#define  MASK_AMOMAX_D 0xf800707f
#define MATCH_BLTU 0x6063
#define  MASK_BLTU 0x707f
#define MATCH_FMIN_S 0xc0000053
#define  MASK_FMIN_S 0xfe00707f
#define MATCH_SLLIW 0x4000101b
#define  MASK_SLLIW 0xfe00707f
#define MATCH_LB 0x3
#define  MASK_LB 0x707f
#define MATCH_FCVT_S_WU 0x78000053
#define  MASK_FCVT_S_WU 0xfff0007f
#define MATCH_FCVT_D_L 0x62000053
#define  MASK_FCVT_D_L 0xfff0007f
#define MATCH_LH 0x1003
#define  MASK_LH 0x707f
#define MATCH_FRSR 0xe8000053
#define  MASK_FRSR 0xfffff07f
#define MATCH_FCVT_D_W 0x72000053
#define  MASK_FCVT_D_W 0xfff0007f
#define MATCH_LW 0x2003
#define  MASK_LW 0x707f
#define MATCH_ADD 0x33
#define  MASK_ADD 0xfe00707f
#define MATCH_FCVT_D_S 0x82000053
#define  MASK_FCVT_D_S 0xfff0007f
#define MATCH_MFPCR 0x1073
#define  MASK_MFPCR 0xfff0707f
#define MATCH_FMAX_D 0xca000053
#define  MASK_FMAX_D 0xfe00707f
#define MATCH_BNE 0x1063
#define  MASK_BNE 0x707f
#define MATCH_RDCYCLE 0x4077
#define  MASK_RDCYCLE 0xfffff07f
#define MATCH_FCVT_S_D 0x88000053
#define  MASK_FCVT_S_D 0xfff0007f
#define MATCH_BGEU 0x7063
#define  MASK_BGEU 0x707f
#define MATCH_FADD_D 0x2000053
#define  MASK_FADD_D 0xfe00007f
#define MATCH_SLTIU 0x3013
#define  MASK_SLTIU 0x707f
#define MATCH_MTPCR 0x73
#define  MASK_MTPCR 0xfe00707f
#define MATCH_BREAK 0x1077
#define  MASK_BREAK 0xffffffff
#define MATCH_FCVT_S_W 0x70000053
#define  MASK_FCVT_S_W 0xfff0007f
#define MATCH_MUL 0x2000033
#define  MASK_MUL 0xfe00707f
#define MATCH_AMOMINU_D 0xc000302f
#define  MASK_AMOMINU_D 0xf800707f
#define MATCH_SRLI 0x5013
#define  MASK_SRLI 0xfc00707f
#define MATCH_AMOMINU_W 0xc000202f
#define  MASK_AMOMINU_W 0xf800707f
#define MATCH_DIVUW 0x200503b
#define  MASK_DIVUW 0xfe00707f
#define MATCH_MULW 0x200003b
#define  MASK_MULW 0xfe00707f
#define MATCH_SRLW 0x503b
#define  MASK_SRLW 0xfe00707f
#define MATCH_DIV 0x2004033
#define  MASK_DIV 0xfe00707f
#define MATCH_FDIV_D 0x1a000053
#define  MASK_FDIV_D 0xfe00007f
#define MATCH_FENCE 0xf
#define  MASK_FENCE 0x707f
#define MATCH_FNMSUB_S 0x4b
#define  MASK_FNMSUB_S 0x600007f
#define MATCH_FCVT_L_S 0x40000053
#define  MASK_FCVT_L_S 0xfff0007f
#define MATCH_FLE_S 0xb8000053
#define  MASK_FLE_S 0xfe00707f
#define MATCH_FDIV_S 0x18000053
#define  MASK_FDIV_S 0xfe00007f
#define MATCH_FLE_D 0xba000053
#define  MASK_FLE_D 0xfe00707f
#define MATCH_FENCE_I 0x100f
#define  MASK_FENCE_I 0x707f
#define MATCH_FNMSUB_D 0x200004b
#define  MASK_FNMSUB_D 0x600007f
#define MATCH_ADDW 0x3b
#define  MASK_ADDW 0xfe00707f
#define MATCH_SLL 0x1033
#define  MASK_SLL 0xfe00707f
#define MATCH_XOR 0x4033
#define  MASK_XOR 0xfe00707f
#define MATCH_SUB 0x40000033
#define  MASK_SUB 0xfe00707f
#define MATCH_ERET 0x4073
#define  MASK_ERET 0xffffffff
#define MATCH_BLT 0x4063
#define  MASK_BLT 0x707f
#define MATCH_SC_W 0x1800202f
#define  MASK_SC_W 0xf800707f
#define MATCH_REM 0x2006033
#define  MASK_REM 0xfe00707f
#define MATCH_SRLIW 0x501b
#define  MASK_SRLIW 0xfe00707f
#define MATCH_LUI 0x37
#define  MASK_LUI 0x7f
#define MATCH_FCVT_S_LU 0x68000053
#define  MASK_FCVT_S_LU 0xfff0007f
#define MATCH_ADDI 0x13
#define  MASK_ADDI 0x707f
#define MATCH_MULH 0x2001033
#define  MASK_MULH 0xfe00707f
#define MATCH_FMUL_S 0x10000053
#define  MASK_FMUL_S 0xfe00007f
#define MATCH_SRAI 0x40005013
#define  MASK_SRAI 0xfc00707f
#define MATCH_AMOAND_D 0x6000302f
#define  MASK_AMOAND_D 0xf800707f
#define MATCH_FLT_D 0xb2000053
#define  MASK_FLT_D 0xfe00707f
#define MATCH_SRAW 0x4000503b
#define  MASK_SRAW 0xfe00707f
#define MATCH_FMUL_D 0x12000053
#define  MASK_FMUL_D 0xfe00007f
#define MATCH_LD 0x3003
#define  MASK_LD 0x707f
#define MATCH_ORI 0x6013
#define  MASK_ORI 0x707f
#define MATCH_FLT_S 0xb0000053
#define  MASK_FLT_S 0xfe00707f
#define MATCH_ADDIW 0x1b
#define  MASK_ADDIW 0x707f
#define MATCH_AMOAND_W 0x6000202f
#define  MASK_AMOAND_W 0xf800707f
#define MATCH_FEQ_S 0xa8000053
#define  MASK_FEQ_S 0xfe00707f
#define MATCH_FSGNJX_D 0x3a000053
#define  MASK_FSGNJX_D 0xfe00707f
#define MATCH_SRA 0x40005033
#define  MASK_SRA 0xfe00707f
#define MATCH_BGE 0x5063
#define  MASK_BGE 0x707f
#define MATCH_SRAIW 0x4000501b
#define  MASK_SRAIW 0xfe00707f
#define MATCH_SRL 0x5033
#define  MASK_SRL 0xfe00707f
#define MATCH_FSUB_D 0xa000053
#define  MASK_FSUB_D 0xfe00007f
#define MATCH_FSGNJX_S 0x38000053
#define  MASK_FSGNJX_S 0xfe00707f
#define MATCH_FEQ_D 0xaa000053
#define  MASK_FEQ_D 0xfe00707f
#define MATCH_FCVT_D_WU 0x7a000053
#define  MASK_FCVT_D_WU 0xfff0007f
#define MATCH_OR 0x6033
#define  MASK_OR 0xfe00707f
#define MATCH_RDINSTRET 0x4004077
#define  MASK_RDINSTRET 0xfffff07f
#define MATCH_FCVT_WU_D 0x5a000053
#define  MASK_FCVT_WU_D 0xfff0007f
#define MATCH_SUBW 0x4000003b
#define  MASK_SUBW 0xfe00707f
#define MATCH_FMAX_S 0xc8000053
#define  MASK_FMAX_S 0xfe00707f
#define MATCH_AMOMAXU_D 0xe000302f
#define  MASK_AMOMAXU_D 0xf800707f
#define MATCH_XORI 0x4013
#define  MASK_XORI 0x707f
#define MATCH_AMOXOR_D 0x2000302f
#define  MASK_AMOXOR_D 0xf800707f
#define MATCH_AMOMAXU_W 0xe000202f
#define  MASK_AMOMAXU_W 0xf800707f
#define MATCH_FCVT_WU_S 0x58000053
#define  MASK_FCVT_WU_S 0xfff0007f
#define MATCH_RDTIME 0x2004077
#define  MASK_RDTIME 0xfffff07f
#define MATCH_ANDI 0x7013
#define  MASK_ANDI 0x707f
#define MATCH_CLEARPCR 0x3073
#define  MASK_CLEARPCR 0x707f
#define MATCH_FMV_X_S 0xe0000053
#define  MASK_FMV_X_S 0xfff0707f
#define MATCH_FSGNJN_D 0x32000053
#define  MASK_FSGNJN_D 0xfe00707f
#define MATCH_FNMADD_S 0x4f
#define  MASK_FNMADD_S 0x600007f
#define MATCH_JAL 0x67
#define  MASK_JAL 0x7f
#define MATCH_LWU 0x6003
#define  MASK_LWU 0x707f
#define MATCH_FMV_X_D 0xe2000053
#define  MASK_FMV_X_D 0xfff0707f
#define MATCH_FNMADD_D 0x200004f
#define  MASK_FNMADD_D 0x600007f
#define MATCH_AMOADD_D 0x302f
#define  MASK_AMOADD_D 0xf800707f
#define MATCH_LR_D 0x1000302f
#define  MASK_LR_D 0xf9f0707f
#define MATCH_FCVT_W_S 0x50000053
#define  MASK_FCVT_W_S 0xfff0007f
#define MATCH_MULHSU 0x2002033
#define  MASK_MULHSU 0xfe00707f
#define MATCH_AMOADD_W 0x202f
#define  MASK_AMOADD_W 0xf800707f
#define MATCH_FCVT_D_LU 0x6a000053
#define  MASK_FCVT_D_LU 0xfff0007f
#define MATCH_LR_W 0x1000202f
#define  MASK_LR_W 0xf9f0707f
#define MATCH_FCVT_W_D 0x52000053
#define  MASK_FCVT_W_D 0xfff0007f
#define MATCH_SLT 0x2033
#define  MASK_SLT 0xfe00707f
#define MATCH_SLLW 0x103b
#define  MASK_SLLW 0xfe00707f
#define MATCH_AMOOR_D 0x4000302f
#define  MASK_AMOOR_D 0xf800707f
#define MATCH_SLTI 0x2013
#define  MASK_SLTI 0x707f
#define MATCH_REMU 0x2007033
#define  MASK_REMU 0xfe00707f
#define MATCH_FLW 0x2007
#define  MASK_FLW 0x707f
#define MATCH_REMW 0x200603b
#define  MASK_REMW 0xfe00707f
#define MATCH_SLTU 0x3033
#define  MASK_SLTU 0xfe00707f
#define MATCH_SLLI 0x40001013
#define  MASK_SLLI 0xfc00707f
#define MATCH_AMOOR_W 0x4000202f
#define  MASK_AMOOR_W 0xf800707f
#define MATCH_BEQ 0x63
#define  MASK_BEQ 0x707f
#define MATCH_FLD 0x3007
#define  MASK_FLD 0x707f
#define MATCH_FSUB_S 0x8000053
#define  MASK_FSUB_S 0xfe00007f
#define MATCH_AND 0x7033
#define  MASK_AND 0xfe00707f
#define MATCH_FMV_D_X 0xf2000053
#define  MASK_FMV_D_X 0xfff0707f
#define MATCH_LBU 0x4003
#define  MASK_LBU 0x707f
#define MATCH_SYSCALL 0x77
#define  MASK_SYSCALL 0xffffffff
#define MATCH_FSGNJ_S 0x28000053
#define  MASK_FSGNJ_S 0xfe00707f
#define MATCH_AMOMAX_W 0xa000202f
#define  MASK_AMOMAX_W 0xf800707f
#define MATCH_FSGNJ_D 0x2a000053
#define  MASK_FSGNJ_D 0xfe00707f
#define MATCH_MULHU 0x2003033
#define  MASK_MULHU 0xfe00707f
#define MATCH_FCVT_L_D 0x42000053
#define  MASK_FCVT_L_D 0xfff0007f
#define MATCH_FSSR 0xf8000053
#define  MASK_FSSR 0xfff0707f
#define MATCH_SETPCR 0x2073
#define  MASK_SETPCR 0x707f
#define MATCH_FCVT_LU_S 0x48000053
#define  MASK_FCVT_LU_S 0xfff0007f
#define MATCH_FCVT_S_L 0x60000053
#define  MASK_FCVT_S_L 0xfff0007f
#define MATCH_AUIPC 0x17
#define  MASK_AUIPC 0x7f
#define MATCH_FCVT_LU_D 0x4a000053
#define  MASK_FCVT_LU_D 0xfff0007f
#define MATCH_SC_D 0x1800302f
#define  MASK_SC_D 0xf800707f
#define MATCH_FMADD_S 0x43
#define  MASK_FMADD_S 0x600007f
#define MATCH_FSQRT_S 0x20000053
#define  MASK_FSQRT_S 0xfff0007f
#define MATCH_AMOMIN_W 0x8000202f
#define  MASK_AMOMIN_W 0xf800707f
#define MATCH_FSGNJN_S 0x30000053
#define  MASK_FSGNJN_S 0xfe00707f
#define MATCH_AMOSWAP_D 0x800302f
#define  MASK_AMOSWAP_D 0xf800707f
#define MATCH_FSQRT_D 0x22000053
#define  MASK_FSQRT_D 0xfff0007f
#define MATCH_FMADD_D 0x2000043
#define  MASK_FMADD_D 0x600007f
#define MATCH_DIVW 0x200403b
#define  MASK_DIVW 0xfe00707f
#define MATCH_AMOMIN_D 0x8000302f
#define  MASK_AMOMIN_D 0xf800707f
#define MATCH_DIVU 0x2005033
#define  MASK_DIVU 0xfe00707f
#define MATCH_AMOSWAP_W 0x800202f
#define  MASK_AMOSWAP_W 0xf800707f
#define MATCH_JALR 0x6f
#define  MASK_JALR 0x707f
#define MATCH_FADD_S 0x53
#define  MASK_FADD_S 0xfe00007f
#define MATCH_FSD 0x3027
#define  MASK_FSD 0x707f
#define MATCH_SW 0x2023
#define  MASK_SW 0x707f
#define MATCH_FMSUB_S 0x47
#define  MASK_FMSUB_S 0x600007f
#define MATCH_LHU 0x5003
#define  MASK_LHU 0x707f
#define MATCH_SH 0x1023
#define  MASK_SH 0x707f
#define MATCH_FSW 0x2027
#define  MASK_FSW 0x707f
#define MATCH_SB 0x23
#define  MASK_SB 0x707f
#define MATCH_FMSUB_D 0x2000047
#define  MASK_FMSUB_D 0x600007f
#define MATCH_SD 0x3023
#define  MASK_SD 0x707f