jtag: linuxgpiod: drop extra parenthesis
[openocd.git] / src / target / riscv / encoding.h
1 /*
2 * This file is auto-generated by running 'make ../riscv-openocd/src/target/riscv/encoding.h' in
3 * https://github.com/riscv/riscv-opcodes (876ee63)
4 */
5
6 /* See LICENSE for license details. */
7
8 #ifndef RISCV_CSR_ENCODING_H
9 #define RISCV_CSR_ENCODING_H
10
11 #define MSTATUS_UIE 0x00000001
12 #define MSTATUS_SIE 0x00000002
13 #define MSTATUS_HIE 0x00000004
14 #define MSTATUS_MIE 0x00000008
15 #define MSTATUS_UPIE 0x00000010
16 #define MSTATUS_SPIE 0x00000020
17 #define MSTATUS_HPIE 0x00000040
18 #define MSTATUS_MPIE 0x00000080
19 #define MSTATUS_SPP 0x00000100
20 #define MSTATUS_VS 0x00000600
21 #define MSTATUS_MPP 0x00001800
22 #define MSTATUS_FS 0x00006000
23 #define MSTATUS_XS 0x00018000
24 #define MSTATUS_MPRV 0x00020000
25 #define MSTATUS_SUM 0x00040000
26 #define MSTATUS_MXR 0x00080000
27 #define MSTATUS_TVM 0x00100000
28 #define MSTATUS_TW 0x00200000
29 #define MSTATUS_TSR 0x00400000
30 #define MSTATUS32_SD 0x80000000
31 #define MSTATUS_UXL 0x0000000300000000
32 #define MSTATUS_SXL 0x0000000C00000000
33 #define MSTATUS_GVA 0x0000004000000000
34 #define MSTATUS_MPV 0x0000008000000000
35 #define MSTATUS64_SD 0x8000000000000000
36
37 #define SSTATUS_UIE 0x00000001
38 #define SSTATUS_SIE 0x00000002
39 #define SSTATUS_UPIE 0x00000010
40 #define SSTATUS_SPIE 0x00000020
41 #define SSTATUS_SPP 0x00000100
42 #define SSTATUS_VS 0x00000600
43 #define SSTATUS_FS 0x00006000
44 #define SSTATUS_XS 0x00018000
45 #define SSTATUS_SUM 0x00040000
46 #define SSTATUS_MXR 0x00080000
47 #define SSTATUS32_SD 0x80000000
48 #define SSTATUS_UXL 0x0000000300000000
49 #define SSTATUS64_SD 0x8000000000000000
50
51 #define SSTATUS_VS_MASK (SSTATUS_SIE | SSTATUS_SPIE | \
52 SSTATUS_SPP | SSTATUS_SUM | \
53 SSTATUS_MXR | SSTATUS_UXL)
54
55 #define HSTATUS_VSXL 0x300000000
56 #define HSTATUS_VTSR 0x00400000
57 #define HSTATUS_VTW 0x00200000
58 #define HSTATUS_VTVM 0x00100000
59 #define HSTATUS_VGEIN 0x0003f000
60 #define HSTATUS_HU 0x00000200
61 #define HSTATUS_SPVP 0x00000100
62 #define HSTATUS_SPV 0x00000080
63 #define HSTATUS_GVA 0x00000040
64 #define HSTATUS_VSBE 0x00000020
65
66 #define USTATUS_UIE 0x00000001
67 #define USTATUS_UPIE 0x00000010
68
69 #define DCSR_XDEBUGVER (3U<<30)
70 #define DCSR_NDRESET (1<<29)
71 #define DCSR_FULLRESET (1<<28)
72 #define DCSR_EBREAKM (1<<15)
73 #define DCSR_EBREAKH (1<<14)
74 #define DCSR_EBREAKS (1<<13)
75 #define DCSR_EBREAKU (1<<12)
76 #define DCSR_STOPCYCLE (1<<10)
77 #define DCSR_STOPTIME (1<<9)
78 #define DCSR_CAUSE (7<<6)
79 #define DCSR_DEBUGINT (1<<5)
80 #define DCSR_HALT (1<<3)
81 #define DCSR_STEP (1<<2)
82 #define DCSR_PRV (3<<0)
83
84 #define DCSR_CAUSE_NONE 0
85 #define DCSR_CAUSE_SWBP 1
86 #define DCSR_CAUSE_HWBP 2
87 #define DCSR_CAUSE_DEBUGINT 3
88 #define DCSR_CAUSE_STEP 4
89 #define DCSR_CAUSE_HALT 5
90 #define DCSR_CAUSE_GROUP 6
91
92 #define MCONTROL_TYPE(xlen) (0xfULL<<((xlen)-4))
93 #define MCONTROL_DMODE(xlen) (1ULL<<((xlen)-5))
94 #define MCONTROL_MASKMAX(xlen) (0x3fULL<<((xlen)-11))
95
96 #define MCONTROL_SELECT (1<<19)
97 #define MCONTROL_TIMING (1<<18)
98 #define MCONTROL_ACTION (0x3f<<12)
99 #define MCONTROL_CHAIN (1<<11)
100 #define MCONTROL_MATCH (0xf<<7)
101 #define MCONTROL_M (1<<6)
102 #define MCONTROL_H (1<<5)
103 #define MCONTROL_S (1<<4)
104 #define MCONTROL_U (1<<3)
105 #define MCONTROL_EXECUTE (1<<2)
106 #define MCONTROL_STORE (1<<1)
107 #define MCONTROL_LOAD (1<<0)
108
109 #define MCONTROL_TYPE_NONE 0
110 #define MCONTROL_TYPE_MATCH 2
111
112 #define MCONTROL_ACTION_DEBUG_EXCEPTION 0
113 #define MCONTROL_ACTION_DEBUG_MODE 1
114 #define MCONTROL_ACTION_TRACE_START 2
115 #define MCONTROL_ACTION_TRACE_STOP 3
116 #define MCONTROL_ACTION_TRACE_EMIT 4
117
118 #define MCONTROL_MATCH_EQUAL 0
119 #define MCONTROL_MATCH_NAPOT 1
120 #define MCONTROL_MATCH_GE 2
121 #define MCONTROL_MATCH_LT 3
122 #define MCONTROL_MATCH_MASK_LOW 4
123 #define MCONTROL_MATCH_MASK_HIGH 5
124
125 #define MIP_USIP (1 << IRQ_U_SOFT)
126 #define MIP_SSIP (1 << IRQ_S_SOFT)
127 #define MIP_VSSIP (1 << IRQ_VS_SOFT)
128 #define MIP_MSIP (1 << IRQ_M_SOFT)
129 #define MIP_UTIP (1 << IRQ_U_TIMER)
130 #define MIP_STIP (1 << IRQ_S_TIMER)
131 #define MIP_VSTIP (1 << IRQ_VS_TIMER)
132 #define MIP_MTIP (1 << IRQ_M_TIMER)
133 #define MIP_UEIP (1 << IRQ_U_EXT)
134 #define MIP_SEIP (1 << IRQ_S_EXT)
135 #define MIP_VSEIP (1 << IRQ_VS_EXT)
136 #define MIP_MEIP (1 << IRQ_M_EXT)
137 #define MIP_SGEIP (1 << IRQ_S_GEXT)
138
139 #define MIP_S_MASK (MIP_SSIP | MIP_STIP | MIP_SEIP)
140 #define MIP_VS_MASK (MIP_VSSIP | MIP_VSTIP | MIP_VSEIP)
141 #define MIP_HS_MASK (MIP_VS_MASK | MIP_SGEIP)
142
143 #define MIDELEG_FORCED_MASK MIP_HS_MASK
144
145 #define SIP_SSIP MIP_SSIP
146 #define SIP_STIP MIP_STIP
147
148 #define PRV_U 0
149 #define PRV_S 1
150 #define PRV_M 3
151
152 #define PRV_HS (PRV_S + 1)
153
154 #define SATP32_MODE 0x80000000
155 #define SATP32_ASID 0x7FC00000
156 #define SATP32_PPN 0x003FFFFF
157 #define SATP64_MODE 0xF000000000000000
158 #define SATP64_ASID 0x0FFFF00000000000
159 #define SATP64_PPN 0x00000FFFFFFFFFFF
160
161 #define SATP_MODE_OFF 0
162 #define SATP_MODE_SV32 1
163 #define SATP_MODE_SV39 8
164 #define SATP_MODE_SV48 9
165 #define SATP_MODE_SV57 10
166 #define SATP_MODE_SV64 11
167
168 #define HGATP32_MODE 0x80000000
169 #define HGATP32_VMID 0x1FC00000
170 #define HGATP32_PPN 0x003FFFFF
171
172 #define HGATP64_MODE 0xF000000000000000
173 #define HGATP64_VMID 0x03FFF00000000000
174 #define HGATP64_PPN 0x00000FFFFFFFFFFF
175
176 #define HGATP_MODE_OFF 0
177 #define HGATP_MODE_SV32X4 1
178 #define HGATP_MODE_SV39X4 8
179 #define HGATP_MODE_SV48X4 9
180
181 #define PMP_R 0x01
182 #define PMP_W 0x02
183 #define PMP_X 0x04
184 #define PMP_A 0x18
185 #define PMP_L 0x80
186 #define PMP_SHIFT 2
187
188 #define PMP_TOR 0x08
189 #define PMP_NA4 0x10
190 #define PMP_NAPOT 0x18
191
192 #define IRQ_U_SOFT 0
193 #define IRQ_S_SOFT 1
194 #define IRQ_VS_SOFT 2
195 #define IRQ_M_SOFT 3
196 #define IRQ_U_TIMER 4
197 #define IRQ_S_TIMER 5
198 #define IRQ_VS_TIMER 6
199 #define IRQ_M_TIMER 7
200 #define IRQ_U_EXT 8
201 #define IRQ_S_EXT 9
202 #define IRQ_VS_EXT 10
203 #define IRQ_M_EXT 11
204 #define IRQ_S_GEXT 12
205 #define IRQ_COP 12
206 #define IRQ_HOST 13
207
208 #define DEFAULT_RSTVEC 0x00001000
209 #define CLINT_BASE 0x02000000
210 #define CLINT_SIZE 0x000c0000
211 #define EXT_IO_BASE 0x40000000
212 #define DRAM_BASE 0x80000000
213
214 /* page table entry (PTE) fields */
215 #define PTE_V 0x001 /* Valid */
216 #define PTE_R 0x002 /* Read */
217 #define PTE_W 0x004 /* Write */
218 #define PTE_X 0x008 /* Execute */
219 #define PTE_U 0x010 /* User */
220 #define PTE_G 0x020 /* Global */
221 #define PTE_A 0x040 /* Accessed */
222 #define PTE_D 0x080 /* Dirty */
223 #define PTE_SOFT 0x300 /* Reserved for Software */
224
225 #define PTE_PPN_SHIFT 10
226
227 #define PTE_TABLE(PTE) (((PTE) & (PTE_V | PTE_R | PTE_W | PTE_X)) == PTE_V)
228
229 #ifdef __riscv
230
231 #if __riscv_xlen == 64
232 # define MSTATUS_SD MSTATUS64_SD
233 # define SSTATUS_SD SSTATUS64_SD
234 # define RISCV_PGLEVEL_BITS 9
235 # define SATP_MODE SATP64_MODE
236 #else
237 # define MSTATUS_SD MSTATUS32_SD
238 # define SSTATUS_SD SSTATUS32_SD
239 # define RISCV_PGLEVEL_BITS 10
240 # define SATP_MODE SATP32_MODE
241 #endif
242 #define RISCV_PGSHIFT 12
243 #define RISCV_PGSIZE (1 << RISCV_PGSHIFT)
244
245 #ifndef __ASSEMBLER__
246
247 #ifdef __GNUC__
248
249 #define read_csr(reg) ({ unsigned long __tmp; \
250 asm volatile ("csrr %0, " #reg : "=r"(__tmp)); \
251 __tmp; })
252
253 #define write_csr(reg, val) ({ \
254 asm volatile ("csrw " #reg ", %0" :: "rK"(val)); })
255
256 #define swap_csr(reg, val) ({ unsigned long __tmp; \
257 asm volatile ("csrrw %0, " #reg ", %1" : "=r"(__tmp) : "rK"(val)); \
258 __tmp; })
259
260 #define set_csr(reg, bit) ({ unsigned long __tmp; \
261 asm volatile ("csrrs %0, " #reg ", %1" : "=r"(__tmp) : "rK"(bit)); \
262 __tmp; })
263
264 #define clear_csr(reg, bit) ({ unsigned long __tmp; \
265 asm volatile ("csrrc %0, " #reg ", %1" : "=r"(__tmp) : "rK"(bit)); \
266 __tmp; })
267
268 #define rdtime() read_csr(time)
269 #define rdcycle() read_csr(cycle)
270 #define rdinstret() read_csr(instret)
271
272 #endif
273
274 #endif
275
276 #endif
277
278 #endif
279 /* Automatically generated by parse_opcodes. */
280 #ifndef RISCV_ENCODING_H
281 #define RISCV_ENCODING_H
282 #define MATCH_SLLI_RV32 0x1013
283 #define MASK_SLLI_RV32 0xfe00707f
284 #define MATCH_SRLI_RV32 0x5013
285 #define MASK_SRLI_RV32 0xfe00707f
286 #define MATCH_SRAI_RV32 0x40005013
287 #define MASK_SRAI_RV32 0xfe00707f
288 #define MATCH_FRFLAGS 0x102073
289 #define MASK_FRFLAGS 0xfffff07f
290 #define MATCH_FSFLAGS 0x101073
291 #define MASK_FSFLAGS 0xfff0707f
292 #define MATCH_FSFLAGSI 0x105073
293 #define MASK_FSFLAGSI 0xfff0707f
294 #define MATCH_FRRM 0x202073
295 #define MASK_FRRM 0xfffff07f
296 #define MATCH_FSRM 0x201073
297 #define MASK_FSRM 0xfff0707f
298 #define MATCH_FSRMI 0x205073
299 #define MASK_FSRMI 0xfff0707f
300 #define MATCH_FSCSR 0x301073
301 #define MASK_FSCSR 0xfff0707f
302 #define MATCH_FRCSR 0x302073
303 #define MASK_FRCSR 0xfffff07f
304 #define MATCH_RDCYCLE 0xc0002073
305 #define MASK_RDCYCLE 0xfffff07f
306 #define MATCH_RDTIME 0xc0102073
307 #define MASK_RDTIME 0xfffff07f
308 #define MATCH_RDINSTRET 0xc0202073
309 #define MASK_RDINSTRET 0xfffff07f
310 #define MATCH_RDCYCLEH 0xc8002073
311 #define MASK_RDCYCLEH 0xfffff07f
312 #define MATCH_RDTIMEH 0xc8102073
313 #define MASK_RDTIMEH 0xfffff07f
314 #define MATCH_RDINSTRETH 0xc8202073
315 #define MASK_RDINSTRETH 0xfffff07f
316 #define MATCH_SCALL 0x73
317 #define MASK_SCALL 0xffffffff
318 #define MATCH_SBREAK 0x100073
319 #define MASK_SBREAK 0xffffffff
320 #define MATCH_FMV_X_S 0xe0000053
321 #define MASK_FMV_X_S 0xfff0707f
322 #define MATCH_FMV_S_X 0xf0000053
323 #define MASK_FMV_S_X 0xfff0707f
324 #define MATCH_FENCE_TSO 0x8330000f
325 #define MASK_FENCE_TSO 0xfff0707f
326 #define MATCH_PAUSE 0x100000f
327 #define MASK_PAUSE 0xffffffff
328 #define MATCH_BEQ 0x63
329 #define MASK_BEQ 0x707f
330 #define MATCH_BNE 0x1063
331 #define MASK_BNE 0x707f
332 #define MATCH_BLT 0x4063
333 #define MASK_BLT 0x707f
334 #define MATCH_BGE 0x5063
335 #define MASK_BGE 0x707f
336 #define MATCH_BLTU 0x6063
337 #define MASK_BLTU 0x707f
338 #define MATCH_BGEU 0x7063
339 #define MASK_BGEU 0x707f
340 #define MATCH_JALR 0x67
341 #define MASK_JALR 0x707f
342 #define MATCH_JAL 0x6f
343 #define MASK_JAL 0x7f
344 #define MATCH_LUI 0x37
345 #define MASK_LUI 0x7f
346 #define MATCH_AUIPC 0x17
347 #define MASK_AUIPC 0x7f
348 #define MATCH_ADDI 0x13
349 #define MASK_ADDI 0x707f
350 #define MATCH_SLLI 0x1013
351 #define MASK_SLLI 0xfc00707f
352 #define MATCH_SLTI 0x2013
353 #define MASK_SLTI 0x707f
354 #define MATCH_SLTIU 0x3013
355 #define MASK_SLTIU 0x707f
356 #define MATCH_XORI 0x4013
357 #define MASK_XORI 0x707f
358 #define MATCH_SRLI 0x5013
359 #define MASK_SRLI 0xfc00707f
360 #define MATCH_SRAI 0x40005013
361 #define MASK_SRAI 0xfc00707f
362 #define MATCH_ORI 0x6013
363 #define MASK_ORI 0x707f
364 #define MATCH_ANDI 0x7013
365 #define MASK_ANDI 0x707f
366 #define MATCH_ADD 0x33
367 #define MASK_ADD 0xfe00707f
368 #define MATCH_SUB 0x40000033
369 #define MASK_SUB 0xfe00707f
370 #define MATCH_SLL 0x1033
371 #define MASK_SLL 0xfe00707f
372 #define MATCH_SLT 0x2033
373 #define MASK_SLT 0xfe00707f
374 #define MATCH_SLTU 0x3033
375 #define MASK_SLTU 0xfe00707f
376 #define MATCH_XOR 0x4033
377 #define MASK_XOR 0xfe00707f
378 #define MATCH_SRL 0x5033
379 #define MASK_SRL 0xfe00707f
380 #define MATCH_SRA 0x40005033
381 #define MASK_SRA 0xfe00707f
382 #define MATCH_OR 0x6033
383 #define MASK_OR 0xfe00707f
384 #define MATCH_AND 0x7033
385 #define MASK_AND 0xfe00707f
386 #define MATCH_LB 0x3
387 #define MASK_LB 0x707f
388 #define MATCH_LH 0x1003
389 #define MASK_LH 0x707f
390 #define MATCH_LW 0x2003
391 #define MASK_LW 0x707f
392 #define MATCH_LBU 0x4003
393 #define MASK_LBU 0x707f
394 #define MATCH_LHU 0x5003
395 #define MASK_LHU 0x707f
396 #define MATCH_SB 0x23
397 #define MASK_SB 0x707f
398 #define MATCH_SH 0x1023
399 #define MASK_SH 0x707f
400 #define MATCH_SW 0x2023
401 #define MASK_SW 0x707f
402 #define MATCH_FENCE 0xf
403 #define MASK_FENCE 0x707f
404 #define MATCH_FENCE_I 0x100f
405 #define MASK_FENCE_I 0x707f
406 #define MATCH_ADDIW 0x1b
407 #define MASK_ADDIW 0x707f
408 #define MATCH_SLLIW 0x101b
409 #define MASK_SLLIW 0xfe00707f
410 #define MATCH_SRLIW 0x501b
411 #define MASK_SRLIW 0xfe00707f
412 #define MATCH_SRAIW 0x4000501b
413 #define MASK_SRAIW 0xfe00707f
414 #define MATCH_ADDW 0x3b
415 #define MASK_ADDW 0xfe00707f
416 #define MATCH_SUBW 0x4000003b
417 #define MASK_SUBW 0xfe00707f
418 #define MATCH_SLLW 0x103b
419 #define MASK_SLLW 0xfe00707f
420 #define MATCH_SRLW 0x503b
421 #define MASK_SRLW 0xfe00707f
422 #define MATCH_SRAW 0x4000503b
423 #define MASK_SRAW 0xfe00707f
424 #define MATCH_LD 0x3003
425 #define MASK_LD 0x707f
426 #define MATCH_LWU 0x6003
427 #define MASK_LWU 0x707f
428 #define MATCH_SD 0x3023
429 #define MASK_SD 0x707f
430 #define MATCH_MUL 0x2000033
431 #define MASK_MUL 0xfe00707f
432 #define MATCH_MULH 0x2001033
433 #define MASK_MULH 0xfe00707f
434 #define MATCH_MULHSU 0x2002033
435 #define MASK_MULHSU 0xfe00707f
436 #define MATCH_MULHU 0x2003033
437 #define MASK_MULHU 0xfe00707f
438 #define MATCH_DIV 0x2004033
439 #define MASK_DIV 0xfe00707f
440 #define MATCH_DIVU 0x2005033
441 #define MASK_DIVU 0xfe00707f
442 #define MATCH_REM 0x2006033
443 #define MASK_REM 0xfe00707f
444 #define MATCH_REMU 0x2007033
445 #define MASK_REMU 0xfe00707f
446 #define MATCH_MULW 0x200003b
447 #define MASK_MULW 0xfe00707f
448 #define MATCH_DIVW 0x200403b
449 #define MASK_DIVW 0xfe00707f
450 #define MATCH_DIVUW 0x200503b
451 #define MASK_DIVUW 0xfe00707f
452 #define MATCH_REMW 0x200603b
453 #define MASK_REMW 0xfe00707f
454 #define MATCH_REMUW 0x200703b
455 #define MASK_REMUW 0xfe00707f
456 #define MATCH_AMOADD_W 0x202f
457 #define MASK_AMOADD_W 0xf800707f
458 #define MATCH_AMOXOR_W 0x2000202f
459 #define MASK_AMOXOR_W 0xf800707f
460 #define MATCH_AMOOR_W 0x4000202f
461 #define MASK_AMOOR_W 0xf800707f
462 #define MATCH_AMOAND_W 0x6000202f
463 #define MASK_AMOAND_W 0xf800707f
464 #define MATCH_AMOMIN_W 0x8000202f
465 #define MASK_AMOMIN_W 0xf800707f
466 #define MATCH_AMOMAX_W 0xa000202f
467 #define MASK_AMOMAX_W 0xf800707f
468 #define MATCH_AMOMINU_W 0xc000202f
469 #define MASK_AMOMINU_W 0xf800707f
470 #define MATCH_AMOMAXU_W 0xe000202f
471 #define MASK_AMOMAXU_W 0xf800707f
472 #define MATCH_AMOSWAP_W 0x800202f
473 #define MASK_AMOSWAP_W 0xf800707f
474 #define MATCH_LR_W 0x1000202f
475 #define MASK_LR_W 0xf9f0707f
476 #define MATCH_SC_W 0x1800202f
477 #define MASK_SC_W 0xf800707f
478 #define MATCH_AMOADD_D 0x302f
479 #define MASK_AMOADD_D 0xf800707f
480 #define MATCH_AMOXOR_D 0x2000302f
481 #define MASK_AMOXOR_D 0xf800707f
482 #define MATCH_AMOOR_D 0x4000302f
483 #define MASK_AMOOR_D 0xf800707f
484 #define MATCH_AMOAND_D 0x6000302f
485 #define MASK_AMOAND_D 0xf800707f
486 #define MATCH_AMOMIN_D 0x8000302f
487 #define MASK_AMOMIN_D 0xf800707f
488 #define MATCH_AMOMAX_D 0xa000302f
489 #define MASK_AMOMAX_D 0xf800707f
490 #define MATCH_AMOMINU_D 0xc000302f
491 #define MASK_AMOMINU_D 0xf800707f
492 #define MATCH_AMOMAXU_D 0xe000302f
493 #define MASK_AMOMAXU_D 0xf800707f
494 #define MATCH_AMOSWAP_D 0x800302f
495 #define MASK_AMOSWAP_D 0xf800707f
496 #define MATCH_LR_D 0x1000302f
497 #define MASK_LR_D 0xf9f0707f
498 #define MATCH_SC_D 0x1800302f
499 #define MASK_SC_D 0xf800707f
500 #define MATCH_HFENCE_VVMA 0x22000073
501 #define MASK_HFENCE_VVMA 0xfe007fff
502 #define MATCH_HFENCE_GVMA 0x62000073
503 #define MASK_HFENCE_GVMA 0xfe007fff
504 #define MATCH_HLV_B 0x60004073
505 #define MASK_HLV_B 0xfff0707f
506 #define MATCH_HLV_BU 0x60104073
507 #define MASK_HLV_BU 0xfff0707f
508 #define MATCH_HLV_H 0x64004073
509 #define MASK_HLV_H 0xfff0707f
510 #define MATCH_HLV_HU 0x64104073
511 #define MASK_HLV_HU 0xfff0707f
512 #define MATCH_HLVX_HU 0x64304073
513 #define MASK_HLVX_HU 0xfff0707f
514 #define MATCH_HLV_W 0x68004073
515 #define MASK_HLV_W 0xfff0707f
516 #define MATCH_HLVX_WU 0x68304073
517 #define MASK_HLVX_WU 0xfff0707f
518 #define MATCH_HSV_B 0x62004073
519 #define MASK_HSV_B 0xfe007fff
520 #define MATCH_HSV_H 0x66004073
521 #define MASK_HSV_H 0xfe007fff
522 #define MATCH_HSV_W 0x6a004073
523 #define MASK_HSV_W 0xfe007fff
524 #define MATCH_HLV_WU 0x68104073
525 #define MASK_HLV_WU 0xfff0707f
526 #define MATCH_HLV_D 0x6c004073
527 #define MASK_HLV_D 0xfff0707f
528 #define MATCH_HSV_D 0x6e004073
529 #define MASK_HSV_D 0xfe007fff
530 #define MATCH_FADD_S 0x53
531 #define MASK_FADD_S 0xfe00007f
532 #define MATCH_FSUB_S 0x8000053
533 #define MASK_FSUB_S 0xfe00007f
534 #define MATCH_FMUL_S 0x10000053
535 #define MASK_FMUL_S 0xfe00007f
536 #define MATCH_FDIV_S 0x18000053
537 #define MASK_FDIV_S 0xfe00007f
538 #define MATCH_FSGNJ_S 0x20000053
539 #define MASK_FSGNJ_S 0xfe00707f
540 #define MATCH_FSGNJN_S 0x20001053
541 #define MASK_FSGNJN_S 0xfe00707f
542 #define MATCH_FSGNJX_S 0x20002053
543 #define MASK_FSGNJX_S 0xfe00707f
544 #define MATCH_FMIN_S 0x28000053
545 #define MASK_FMIN_S 0xfe00707f
546 #define MATCH_FMAX_S 0x28001053
547 #define MASK_FMAX_S 0xfe00707f
548 #define MATCH_FSQRT_S 0x58000053
549 #define MASK_FSQRT_S 0xfff0007f
550 #define MATCH_FLE_S 0xa0000053
551 #define MASK_FLE_S 0xfe00707f
552 #define MATCH_FLT_S 0xa0001053
553 #define MASK_FLT_S 0xfe00707f
554 #define MATCH_FEQ_S 0xa0002053
555 #define MASK_FEQ_S 0xfe00707f
556 #define MATCH_FCVT_W_S 0xc0000053
557 #define MASK_FCVT_W_S 0xfff0007f
558 #define MATCH_FCVT_WU_S 0xc0100053
559 #define MASK_FCVT_WU_S 0xfff0007f
560 #define MATCH_FMV_X_W 0xe0000053
561 #define MASK_FMV_X_W 0xfff0707f
562 #define MATCH_FCLASS_S 0xe0001053
563 #define MASK_FCLASS_S 0xfff0707f
564 #define MATCH_FCVT_S_W 0xd0000053
565 #define MASK_FCVT_S_W 0xfff0007f
566 #define MATCH_FCVT_S_WU 0xd0100053
567 #define MASK_FCVT_S_WU 0xfff0007f
568 #define MATCH_FMV_W_X 0xf0000053
569 #define MASK_FMV_W_X 0xfff0707f
570 #define MATCH_FLW 0x2007
571 #define MASK_FLW 0x707f
572 #define MATCH_FSW 0x2027
573 #define MASK_FSW 0x707f
574 #define MATCH_FMADD_S 0x43
575 #define MASK_FMADD_S 0x600007f
576 #define MATCH_FMSUB_S 0x47
577 #define MASK_FMSUB_S 0x600007f
578 #define MATCH_FNMSUB_S 0x4b
579 #define MASK_FNMSUB_S 0x600007f
580 #define MATCH_FNMADD_S 0x4f
581 #define MASK_FNMADD_S 0x600007f
582 #define MATCH_FCVT_L_S 0xc0200053
583 #define MASK_FCVT_L_S 0xfff0007f
584 #define MATCH_FCVT_LU_S 0xc0300053
585 #define MASK_FCVT_LU_S 0xfff0007f
586 #define MATCH_FCVT_S_L 0xd0200053
587 #define MASK_FCVT_S_L 0xfff0007f
588 #define MATCH_FCVT_S_LU 0xd0300053
589 #define MASK_FCVT_S_LU 0xfff0007f
590 #define MATCH_FADD_D 0x2000053
591 #define MASK_FADD_D 0xfe00007f
592 #define MATCH_FSUB_D 0xa000053
593 #define MASK_FSUB_D 0xfe00007f
594 #define MATCH_FMUL_D 0x12000053
595 #define MASK_FMUL_D 0xfe00007f
596 #define MATCH_FDIV_D 0x1a000053
597 #define MASK_FDIV_D 0xfe00007f
598 #define MATCH_FSGNJ_D 0x22000053
599 #define MASK_FSGNJ_D 0xfe00707f
600 #define MATCH_FSGNJN_D 0x22001053
601 #define MASK_FSGNJN_D 0xfe00707f
602 #define MATCH_FSGNJX_D 0x22002053
603 #define MASK_FSGNJX_D 0xfe00707f
604 #define MATCH_FMIN_D 0x2a000053
605 #define MASK_FMIN_D 0xfe00707f
606 #define MATCH_FMAX_D 0x2a001053
607 #define MASK_FMAX_D 0xfe00707f
608 #define MATCH_FCVT_S_D 0x40100053
609 #define MASK_FCVT_S_D 0xfff0007f
610 #define MATCH_FCVT_D_S 0x42000053
611 #define MASK_FCVT_D_S 0xfff0007f
612 #define MATCH_FSQRT_D 0x5a000053
613 #define MASK_FSQRT_D 0xfff0007f
614 #define MATCH_FLE_D 0xa2000053
615 #define MASK_FLE_D 0xfe00707f
616 #define MATCH_FLT_D 0xa2001053
617 #define MASK_FLT_D 0xfe00707f
618 #define MATCH_FEQ_D 0xa2002053
619 #define MASK_FEQ_D 0xfe00707f
620 #define MATCH_FCVT_W_D 0xc2000053
621 #define MASK_FCVT_W_D 0xfff0007f
622 #define MATCH_FCVT_WU_D 0xc2100053
623 #define MASK_FCVT_WU_D 0xfff0007f
624 #define MATCH_FCLASS_D 0xe2001053
625 #define MASK_FCLASS_D 0xfff0707f
626 #define MATCH_FCVT_D_W 0xd2000053
627 #define MASK_FCVT_D_W 0xfff0007f
628 #define MATCH_FCVT_D_WU 0xd2100053
629 #define MASK_FCVT_D_WU 0xfff0007f
630 #define MATCH_FLD 0x3007
631 #define MASK_FLD 0x707f
632 #define MATCH_FSD 0x3027
633 #define MASK_FSD 0x707f
634 #define MATCH_FMADD_D 0x2000043
635 #define MASK_FMADD_D 0x600007f
636 #define MATCH_FMSUB_D 0x2000047
637 #define MASK_FMSUB_D 0x600007f
638 #define MATCH_FNMSUB_D 0x200004b
639 #define MASK_FNMSUB_D 0x600007f
640 #define MATCH_FNMADD_D 0x200004f
641 #define MASK_FNMADD_D 0x600007f
642 #define MATCH_FCVT_L_D 0xc2200053
643 #define MASK_FCVT_L_D 0xfff0007f
644 #define MATCH_FCVT_LU_D 0xc2300053
645 #define MASK_FCVT_LU_D 0xfff0007f
646 #define MATCH_FMV_X_D 0xe2000053
647 #define MASK_FMV_X_D 0xfff0707f
648 #define MATCH_FCVT_D_L 0xd2200053
649 #define MASK_FCVT_D_L 0xfff0007f
650 #define MATCH_FCVT_D_LU 0xd2300053
651 #define MASK_FCVT_D_LU 0xfff0007f
652 #define MATCH_FMV_D_X 0xf2000053
653 #define MASK_FMV_D_X 0xfff0707f
654 #define MATCH_FADD_Q 0x6000053
655 #define MASK_FADD_Q 0xfe00007f
656 #define MATCH_FSUB_Q 0xe000053
657 #define MASK_FSUB_Q 0xfe00007f
658 #define MATCH_FMUL_Q 0x16000053
659 #define MASK_FMUL_Q 0xfe00007f
660 #define MATCH_FDIV_Q 0x1e000053
661 #define MASK_FDIV_Q 0xfe00007f
662 #define MATCH_FSGNJ_Q 0x26000053
663 #define MASK_FSGNJ_Q 0xfe00707f
664 #define MATCH_FSGNJN_Q 0x26001053
665 #define MASK_FSGNJN_Q 0xfe00707f
666 #define MATCH_FSGNJX_Q 0x26002053
667 #define MASK_FSGNJX_Q 0xfe00707f
668 #define MATCH_FMIN_Q 0x2e000053
669 #define MASK_FMIN_Q 0xfe00707f
670 #define MATCH_FMAX_Q 0x2e001053
671 #define MASK_FMAX_Q 0xfe00707f
672 #define MATCH_FCVT_S_Q 0x40300053
673 #define MASK_FCVT_S_Q 0xfff0007f
674 #define MATCH_FCVT_Q_S 0x46000053
675 #define MASK_FCVT_Q_S 0xfff0007f
676 #define MATCH_FCVT_D_Q 0x42300053
677 #define MASK_FCVT_D_Q 0xfff0007f
678 #define MATCH_FCVT_Q_D 0x46100053
679 #define MASK_FCVT_Q_D 0xfff0007f
680 #define MATCH_FSQRT_Q 0x5e000053
681 #define MASK_FSQRT_Q 0xfff0007f
682 #define MATCH_FLE_Q 0xa6000053
683 #define MASK_FLE_Q 0xfe00707f
684 #define MATCH_FLT_Q 0xa6001053
685 #define MASK_FLT_Q 0xfe00707f
686 #define MATCH_FEQ_Q 0xa6002053
687 #define MASK_FEQ_Q 0xfe00707f
688 #define MATCH_FCVT_W_Q 0xc6000053
689 #define MASK_FCVT_W_Q 0xfff0007f
690 #define MATCH_FCVT_WU_Q 0xc6100053
691 #define MASK_FCVT_WU_Q 0xfff0007f
692 #define MATCH_FCLASS_Q 0xe6001053
693 #define MASK_FCLASS_Q 0xfff0707f
694 #define MATCH_FCVT_Q_W 0xd6000053
695 #define MASK_FCVT_Q_W 0xfff0007f
696 #define MATCH_FCVT_Q_WU 0xd6100053
697 #define MASK_FCVT_Q_WU 0xfff0007f
698 #define MATCH_FLQ 0x4007
699 #define MASK_FLQ 0x707f
700 #define MATCH_FSQ 0x4027
701 #define MASK_FSQ 0x707f
702 #define MATCH_FMADD_Q 0x6000043
703 #define MASK_FMADD_Q 0x600007f
704 #define MATCH_FMSUB_Q 0x6000047
705 #define MASK_FMSUB_Q 0x600007f
706 #define MATCH_FNMSUB_Q 0x600004b
707 #define MASK_FNMSUB_Q 0x600007f
708 #define MATCH_FNMADD_Q 0x600004f
709 #define MASK_FNMADD_Q 0x600007f
710 #define MATCH_FCVT_L_Q 0xc6200053
711 #define MASK_FCVT_L_Q 0xfff0007f
712 #define MATCH_FCVT_LU_Q 0xc6300053
713 #define MASK_FCVT_LU_Q 0xfff0007f
714 #define MATCH_FCVT_Q_L 0xd6200053
715 #define MASK_FCVT_Q_L 0xfff0007f
716 #define MATCH_FCVT_Q_LU 0xd6300053
717 #define MASK_FCVT_Q_LU 0xfff0007f
718 #define MATCH_ECALL 0x73
719 #define MASK_ECALL 0xffffffff
720 #define MATCH_EBREAK 0x100073
721 #define MASK_EBREAK 0xffffffff
722 #define MATCH_URET 0x200073
723 #define MASK_URET 0xffffffff
724 #define MATCH_SRET 0x10200073
725 #define MASK_SRET 0xffffffff
726 #define MATCH_MRET 0x30200073
727 #define MASK_MRET 0xffffffff
728 #define MATCH_DRET 0x7b200073
729 #define MASK_DRET 0xffffffff
730 #define MATCH_SFENCE_VMA 0x12000073
731 #define MASK_SFENCE_VMA 0xfe007fff
732 #define MATCH_WFI 0x10500073
733 #define MASK_WFI 0xffffffff
734 #define MATCH_CSRRW 0x1073
735 #define MASK_CSRRW 0x707f
736 #define MATCH_CSRRS 0x2073
737 #define MASK_CSRRS 0x707f
738 #define MATCH_CSRRC 0x3073
739 #define MASK_CSRRC 0x707f
740 #define MATCH_CSRRWI 0x5073
741 #define MASK_CSRRWI 0x707f
742 #define MATCH_CSRRSI 0x6073
743 #define MASK_CSRRSI 0x707f
744 #define MATCH_CSRRCI 0x7073
745 #define MASK_CSRRCI 0x707f
746 #define MATCH_C_NOP 0x1
747 #define MASK_C_NOP 0xffff
748 #define MATCH_C_ADDI16SP 0x6101
749 #define MASK_C_ADDI16SP 0xef83
750 #define MATCH_C_JR 0x8002
751 #define MASK_C_JR 0xf07f
752 #define MATCH_C_JALR 0x9002
753 #define MASK_C_JALR 0xf07f
754 #define MATCH_C_EBREAK 0x9002
755 #define MASK_C_EBREAK 0xffff
756 #define MATCH_C_ADDI4SPN 0x0
757 #define MASK_C_ADDI4SPN 0xe003
758 #define MATCH_C_FLD 0x2000
759 #define MASK_C_FLD 0xe003
760 #define MATCH_C_LW 0x4000
761 #define MASK_C_LW 0xe003
762 #define MATCH_C_FLW 0x6000
763 #define MASK_C_FLW 0xe003
764 #define MATCH_C_FSD 0xa000
765 #define MASK_C_FSD 0xe003
766 #define MATCH_C_SW 0xc000
767 #define MASK_C_SW 0xe003
768 #define MATCH_C_FSW 0xe000
769 #define MASK_C_FSW 0xe003
770 #define MATCH_C_ADDI 0x1
771 #define MASK_C_ADDI 0xe003
772 #define MATCH_C_JAL 0x2001
773 #define MASK_C_JAL 0xe003
774 #define MATCH_C_LI 0x4001
775 #define MASK_C_LI 0xe003
776 #define MATCH_C_LUI 0x6001
777 #define MASK_C_LUI 0xe003
778 #define MATCH_C_SRLI 0x8001
779 #define MASK_C_SRLI 0xec03
780 #define MATCH_C_SRAI 0x8401
781 #define MASK_C_SRAI 0xec03
782 #define MATCH_C_ANDI 0x8801
783 #define MASK_C_ANDI 0xec03
784 #define MATCH_C_SUB 0x8c01
785 #define MASK_C_SUB 0xfc63
786 #define MATCH_C_XOR 0x8c21
787 #define MASK_C_XOR 0xfc63
788 #define MATCH_C_OR 0x8c41
789 #define MASK_C_OR 0xfc63
790 #define MATCH_C_AND 0x8c61
791 #define MASK_C_AND 0xfc63
792 #define MATCH_C_J 0xa001
793 #define MASK_C_J 0xe003
794 #define MATCH_C_BEQZ 0xc001
795 #define MASK_C_BEQZ 0xe003
796 #define MATCH_C_BNEZ 0xe001
797 #define MASK_C_BNEZ 0xe003
798 #define MATCH_C_SLLI 0x2
799 #define MASK_C_SLLI 0xe003
800 #define MATCH_C_FLDSP 0x2002
801 #define MASK_C_FLDSP 0xe003
802 #define MATCH_C_LWSP 0x4002
803 #define MASK_C_LWSP 0xe003
804 #define MATCH_C_FLWSP 0x6002
805 #define MASK_C_FLWSP 0xe003
806 #define MATCH_C_MV 0x8002
807 #define MASK_C_MV 0xf003
808 #define MATCH_C_ADD 0x9002
809 #define MASK_C_ADD 0xf003
810 #define MATCH_C_FSDSP 0xa002
811 #define MASK_C_FSDSP 0xe003
812 #define MATCH_C_SWSP 0xc002
813 #define MASK_C_SWSP 0xe003
814 #define MATCH_C_FSWSP 0xe002
815 #define MASK_C_FSWSP 0xe003
816 #define MATCH_C_SRLI_RV32 0x8001
817 #define MASK_C_SRLI_RV32 0xfc03
818 #define MATCH_C_SRAI_RV32 0x8401
819 #define MASK_C_SRAI_RV32 0xfc03
820 #define MATCH_C_SLLI_RV32 0x2
821 #define MASK_C_SLLI_RV32 0xf003
822 #define MATCH_C_LD 0x6000
823 #define MASK_C_LD 0xe003
824 #define MATCH_C_SD 0xe000
825 #define MASK_C_SD 0xe003
826 #define MATCH_C_SUBW 0x9c01
827 #define MASK_C_SUBW 0xfc63
828 #define MATCH_C_ADDW 0x9c21
829 #define MASK_C_ADDW 0xfc63
830 #define MATCH_C_ADDIW 0x2001
831 #define MASK_C_ADDIW 0xe003
832 #define MATCH_C_LDSP 0x6002
833 #define MASK_C_LDSP 0xe003
834 #define MATCH_C_SDSP 0xe002
835 #define MASK_C_SDSP 0xe003
836 #define MATCH_CUSTOM0 0xb
837 #define MASK_CUSTOM0 0x707f
838 #define MATCH_CUSTOM0_RS1 0x200b
839 #define MASK_CUSTOM0_RS1 0x707f
840 #define MATCH_CUSTOM0_RS1_RS2 0x300b
841 #define MASK_CUSTOM0_RS1_RS2 0x707f
842 #define MATCH_CUSTOM0_RD 0x400b
843 #define MASK_CUSTOM0_RD 0x707f
844 #define MATCH_CUSTOM0_RD_RS1 0x600b
845 #define MASK_CUSTOM0_RD_RS1 0x707f
846 #define MATCH_CUSTOM0_RD_RS1_RS2 0x700b
847 #define MASK_CUSTOM0_RD_RS1_RS2 0x707f
848 #define MATCH_CUSTOM1 0x2b
849 #define MASK_CUSTOM1 0x707f
850 #define MATCH_CUSTOM1_RS1 0x202b
851 #define MASK_CUSTOM1_RS1 0x707f
852 #define MATCH_CUSTOM1_RS1_RS2 0x302b
853 #define MASK_CUSTOM1_RS1_RS2 0x707f
854 #define MATCH_CUSTOM1_RD 0x402b
855 #define MASK_CUSTOM1_RD 0x707f
856 #define MATCH_CUSTOM1_RD_RS1 0x602b
857 #define MASK_CUSTOM1_RD_RS1 0x707f
858 #define MATCH_CUSTOM1_RD_RS1_RS2 0x702b
859 #define MASK_CUSTOM1_RD_RS1_RS2 0x707f
860 #define MATCH_CUSTOM2 0x5b
861 #define MASK_CUSTOM2 0x707f
862 #define MATCH_CUSTOM2_RS1 0x205b
863 #define MASK_CUSTOM2_RS1 0x707f
864 #define MATCH_CUSTOM2_RS1_RS2 0x305b
865 #define MASK_CUSTOM2_RS1_RS2 0x707f
866 #define MATCH_CUSTOM2_RD 0x405b
867 #define MASK_CUSTOM2_RD 0x707f
868 #define MATCH_CUSTOM2_RD_RS1 0x605b
869 #define MASK_CUSTOM2_RD_RS1 0x707f
870 #define MATCH_CUSTOM2_RD_RS1_RS2 0x705b
871 #define MASK_CUSTOM2_RD_RS1_RS2 0x707f
872 #define MATCH_CUSTOM3 0x7b
873 #define MASK_CUSTOM3 0x707f
874 #define MATCH_CUSTOM3_RS1 0x207b
875 #define MASK_CUSTOM3_RS1 0x707f
876 #define MATCH_CUSTOM3_RS1_RS2 0x307b
877 #define MASK_CUSTOM3_RS1_RS2 0x707f
878 #define MATCH_CUSTOM3_RD 0x407b
879 #define MASK_CUSTOM3_RD 0x707f
880 #define MATCH_CUSTOM3_RD_RS1 0x607b
881 #define MASK_CUSTOM3_RD_RS1 0x707f
882 #define MATCH_CUSTOM3_RD_RS1_RS2 0x707b
883 #define MASK_CUSTOM3_RD_RS1_RS2 0x707f
884 #define MATCH_VSETVLI 0x7057
885 #define MASK_VSETVLI 0x8000707f
886 #define MATCH_VSETVL 0x80007057
887 #define MASK_VSETVL 0xfe00707f
888 #define MATCH_VLE8_V 0x7
889 #define MASK_VLE8_V 0x1df0707f
890 #define MATCH_VLE16_V 0x5007
891 #define MASK_VLE16_V 0x1df0707f
892 #define MATCH_VLE32_V 0x6007
893 #define MASK_VLE32_V 0x1df0707f
894 #define MATCH_VLE64_V 0x7007
895 #define MASK_VLE64_V 0x1df0707f
896 #define MATCH_VLE128_V 0x10000007
897 #define MASK_VLE128_V 0x1df0707f
898 #define MATCH_VLE256_V 0x10005007
899 #define MASK_VLE256_V 0x1df0707f
900 #define MATCH_VLE512_V 0x10006007
901 #define MASK_VLE512_V 0x1df0707f
902 #define MATCH_VLE1024_V 0x10007007
903 #define MASK_VLE1024_V 0x1df0707f
904 #define MATCH_VSE8_V 0x27
905 #define MASK_VSE8_V 0x1df0707f
906 #define MATCH_VSE16_V 0x5027
907 #define MASK_VSE16_V 0x1df0707f
908 #define MATCH_VSE32_V 0x6027
909 #define MASK_VSE32_V 0x1df0707f
910 #define MATCH_VSE64_V 0x7027
911 #define MASK_VSE64_V 0x1df0707f
912 #define MATCH_VSE128_V 0x10000027
913 #define MASK_VSE128_V 0x1df0707f
914 #define MATCH_VSE256_V 0x10005027
915 #define MASK_VSE256_V 0x1df0707f
916 #define MATCH_VSE512_V 0x10006027
917 #define MASK_VSE512_V 0x1df0707f
918 #define MATCH_VSE1024_V 0x10007027
919 #define MASK_VSE1024_V 0x1df0707f
920 #define MATCH_VLSE8_V 0x8000007
921 #define MASK_VLSE8_V 0x1c00707f
922 #define MATCH_VLSE16_V 0x8005007
923 #define MASK_VLSE16_V 0x1c00707f
924 #define MATCH_VLSE32_V 0x8006007
925 #define MASK_VLSE32_V 0x1c00707f
926 #define MATCH_VLSE64_V 0x8007007
927 #define MASK_VLSE64_V 0x1c00707f
928 #define MATCH_VLSE128_V 0x18000007
929 #define MASK_VLSE128_V 0x1c00707f
930 #define MATCH_VLSE256_V 0x18005007
931 #define MASK_VLSE256_V 0x1c00707f
932 #define MATCH_VLSE512_V 0x18006007
933 #define MASK_VLSE512_V 0x1c00707f
934 #define MATCH_VLSE1024_V 0x18007007
935 #define MASK_VLSE1024_V 0x1c00707f
936 #define MATCH_VSSE8_V 0x8000027
937 #define MASK_VSSE8_V 0x1c00707f
938 #define MATCH_VSSE16_V 0x8005027
939 #define MASK_VSSE16_V 0x1c00707f
940 #define MATCH_VSSE32_V 0x8006027
941 #define MASK_VSSE32_V 0x1c00707f
942 #define MATCH_VSSE64_V 0x8007027
943 #define MASK_VSSE64_V 0x1c00707f
944 #define MATCH_VSSE128_V 0x18000027
945 #define MASK_VSSE128_V 0x1c00707f
946 #define MATCH_VSSE256_V 0x18005027
947 #define MASK_VSSE256_V 0x1c00707f
948 #define MATCH_VSSE512_V 0x18006027
949 #define MASK_VSSE512_V 0x1c00707f
950 #define MATCH_VSSE1024_V 0x18007027
951 #define MASK_VSSE1024_V 0x1c00707f
952 #define MATCH_VLXEI8_V 0xc000007
953 #define MASK_VLXEI8_V 0x1c00707f
954 #define MATCH_VLXEI16_V 0xc005007
955 #define MASK_VLXEI16_V 0x1c00707f
956 #define MATCH_VLXEI32_V 0xc006007
957 #define MASK_VLXEI32_V 0x1c00707f
958 #define MATCH_VLXEI64_V 0xc007007
959 #define MASK_VLXEI64_V 0x1c00707f
960 #define MATCH_VLXEI128_V 0x1c000007
961 #define MASK_VLXEI128_V 0x1c00707f
962 #define MATCH_VLXEI256_V 0x1c005007
963 #define MASK_VLXEI256_V 0x1c00707f
964 #define MATCH_VLXEI512_V 0x1c006007
965 #define MASK_VLXEI512_V 0x1c00707f
966 #define MATCH_VLXEI1024_V 0x1c007007
967 #define MASK_VLXEI1024_V 0x1c00707f
968 #define MATCH_VSXEI8_V 0xc000027
969 #define MASK_VSXEI8_V 0x1c00707f
970 #define MATCH_VSXEI16_V 0xc005027
971 #define MASK_VSXEI16_V 0x1c00707f
972 #define MATCH_VSXEI32_V 0xc006027
973 #define MASK_VSXEI32_V 0x1c00707f
974 #define MATCH_VSXEI64_V 0xc007027
975 #define MASK_VSXEI64_V 0x1c00707f
976 #define MATCH_VSXEI128_V 0x1c000027
977 #define MASK_VSXEI128_V 0x1c00707f
978 #define MATCH_VSXEI256_V 0x1c005027
979 #define MASK_VSXEI256_V 0x1c00707f
980 #define MATCH_VSXEI512_V 0x1c006027
981 #define MASK_VSXEI512_V 0x1c00707f
982 #define MATCH_VSXEI1024_V 0x1c007027
983 #define MASK_VSXEI1024_V 0x1c00707f
984 #define MATCH_VSUXEI8_V 0x4000027
985 #define MASK_VSUXEI8_V 0x1c00707f
986 #define MATCH_VSUXEI16_V 0x4005027
987 #define MASK_VSUXEI16_V 0x1c00707f
988 #define MATCH_VSUXEI32_V 0x4006027
989 #define MASK_VSUXEI32_V 0x1c00707f
990 #define MATCH_VSUXEI64_V 0x4007027
991 #define MASK_VSUXEI64_V 0x1c00707f
992 #define MATCH_VSUXEI128_V 0x14000027
993 #define MASK_VSUXEI128_V 0x1c00707f
994 #define MATCH_VSUXEI256_V 0x14005027
995 #define MASK_VSUXEI256_V 0x1c00707f
996 #define MATCH_VSUXEI512_V 0x14006027
997 #define MASK_VSUXEI512_V 0x1c00707f
998 #define MATCH_VSUXEI1024_V 0x14007027
999 #define MASK_VSUXEI1024_V 0x1c00707f
1000 #define MATCH_VLE8FF_V 0x1000007
1001 #define MASK_VLE8FF_V 0x1df0707f
1002 #define MATCH_VLE16FF_V 0x1005007
1003 #define MASK_VLE16FF_V 0x1df0707f
1004 #define MATCH_VLE32FF_V 0x1006007
1005 #define MASK_VLE32FF_V 0x1df0707f
1006 #define MATCH_VLE64FF_V 0x1007007
1007 #define MASK_VLE64FF_V 0x1df0707f
1008 #define MATCH_VLE128FF_V 0x11000007
1009 #define MASK_VLE128FF_V 0x1df0707f
1010 #define MATCH_VLE256FF_V 0x11005007
1011 #define MASK_VLE256FF_V 0x1df0707f
1012 #define MATCH_VLE512FF_V 0x11006007
1013 #define MASK_VLE512FF_V 0x1df0707f
1014 #define MATCH_VLE1024FF_V 0x11007007
1015 #define MASK_VLE1024FF_V 0x1df0707f
1016 #define MATCH_VL1RE8_V 0x2800007
1017 #define MASK_VL1RE8_V 0xfff0707f
1018 #define MATCH_VL1RE16_V 0x2805007
1019 #define MASK_VL1RE16_V 0xfff0707f
1020 #define MATCH_VL1RE32_V 0x2806007
1021 #define MASK_VL1RE32_V 0xfff0707f
1022 #define MATCH_VL1RE64_V 0x2807007
1023 #define MASK_VL1RE64_V 0xfff0707f
1024 #define MATCH_VL2RE8_V 0x22800007
1025 #define MASK_VL2RE8_V 0xfff0707f
1026 #define MATCH_VL2RE16_V 0x22805007
1027 #define MASK_VL2RE16_V 0xfff0707f
1028 #define MATCH_VL2RE32_V 0x22806007
1029 #define MASK_VL2RE32_V 0xfff0707f
1030 #define MATCH_VL2RE64_V 0x22807007
1031 #define MASK_VL2RE64_V 0xfff0707f
1032 #define MATCH_VL4RE8_V 0x62800007
1033 #define MASK_VL4RE8_V 0xfff0707f
1034 #define MATCH_VL4RE16_V 0x62805007
1035 #define MASK_VL4RE16_V 0xfff0707f
1036 #define MATCH_VL4RE32_V 0x62806007
1037 #define MASK_VL4RE32_V 0xfff0707f
1038 #define MATCH_VL4RE64_V 0x62807007
1039 #define MASK_VL4RE64_V 0xfff0707f
1040 #define MATCH_VL8RE8_V 0xe2800007
1041 #define MASK_VL8RE8_V 0xfff0707f
1042 #define MATCH_VL8RE16_V 0xe2805007
1043 #define MASK_VL8RE16_V 0xfff0707f
1044 #define MATCH_VL8RE32_V 0xe2806007
1045 #define MASK_VL8RE32_V 0xfff0707f
1046 #define MATCH_VL8RE64_V 0xe2807007
1047 #define MASK_VL8RE64_V 0xfff0707f
1048 #define MATCH_VS1R_V 0x2800027
1049 #define MASK_VS1R_V 0xfff0707f
1050 #define MATCH_VS2R_V 0x22800027
1051 #define MASK_VS2R_V 0xfff0707f
1052 #define MATCH_VS4R_V 0x62800027
1053 #define MASK_VS4R_V 0xfff0707f
1054 #define MATCH_VS8R_V 0xe2800027
1055 #define MASK_VS8R_V 0xfff0707f
1056 #define MATCH_VFADD_VF 0x5057
1057 #define MASK_VFADD_VF 0xfc00707f
1058 #define MATCH_VFSUB_VF 0x8005057
1059 #define MASK_VFSUB_VF 0xfc00707f
1060 #define MATCH_VFMIN_VF 0x10005057
1061 #define MASK_VFMIN_VF 0xfc00707f
1062 #define MATCH_VFMAX_VF 0x18005057
1063 #define MASK_VFMAX_VF 0xfc00707f
1064 #define MATCH_VFSGNJ_VF 0x20005057
1065 #define MASK_VFSGNJ_VF 0xfc00707f
1066 #define MATCH_VFSGNJN_VF 0x24005057
1067 #define MASK_VFSGNJN_VF 0xfc00707f
1068 #define MATCH_VFSGNJX_VF 0x28005057
1069 #define MASK_VFSGNJX_VF 0xfc00707f
1070 #define MATCH_VFSLIDE1UP_VF 0x38005057
1071 #define MASK_VFSLIDE1UP_VF 0xfc00707f
1072 #define MATCH_VFSLIDE1DOWN_VF 0x3c005057
1073 #define MASK_VFSLIDE1DOWN_VF 0xfc00707f
1074 #define MATCH_VFMV_S_F 0x42005057
1075 #define MASK_VFMV_S_F 0xfff0707f
1076 #define MATCH_VFMERGE_VFM 0x5c005057
1077 #define MASK_VFMERGE_VFM 0xfe00707f
1078 #define MATCH_VFMV_V_F 0x5e005057
1079 #define MASK_VFMV_V_F 0xfff0707f
1080 #define MATCH_VMFEQ_VF 0x60005057
1081 #define MASK_VMFEQ_VF 0xfc00707f
1082 #define MATCH_VMFLE_VF 0x64005057
1083 #define MASK_VMFLE_VF 0xfc00707f
1084 #define MATCH_VMFLT_VF 0x6c005057
1085 #define MASK_VMFLT_VF 0xfc00707f
1086 #define MATCH_VMFNE_VF 0x70005057
1087 #define MASK_VMFNE_VF 0xfc00707f
1088 #define MATCH_VMFGT_VF 0x74005057
1089 #define MASK_VMFGT_VF 0xfc00707f
1090 #define MATCH_VMFGE_VF 0x7c005057
1091 #define MASK_VMFGE_VF 0xfc00707f
1092 #define MATCH_VFDIV_VF 0x80005057
1093 #define MASK_VFDIV_VF 0xfc00707f
1094 #define MATCH_VFRDIV_VF 0x84005057
1095 #define MASK_VFRDIV_VF 0xfc00707f
1096 #define MATCH_VFMUL_VF 0x90005057
1097 #define MASK_VFMUL_VF 0xfc00707f
1098 #define MATCH_VFRSUB_VF 0x9c005057
1099 #define MASK_VFRSUB_VF 0xfc00707f
1100 #define MATCH_VFMADD_VF 0xa0005057
1101 #define MASK_VFMADD_VF 0xfc00707f
1102 #define MATCH_VFNMADD_VF 0xa4005057
1103 #define MASK_VFNMADD_VF 0xfc00707f
1104 #define MATCH_VFMSUB_VF 0xa8005057
1105 #define MASK_VFMSUB_VF 0xfc00707f
1106 #define MATCH_VFNMSUB_VF 0xac005057
1107 #define MASK_VFNMSUB_VF 0xfc00707f
1108 #define MATCH_VFMACC_VF 0xb0005057
1109 #define MASK_VFMACC_VF 0xfc00707f
1110 #define MATCH_VFNMACC_VF 0xb4005057
1111 #define MASK_VFNMACC_VF 0xfc00707f
1112 #define MATCH_VFMSAC_VF 0xb8005057
1113 #define MASK_VFMSAC_VF 0xfc00707f
1114 #define MATCH_VFNMSAC_VF 0xbc005057
1115 #define MASK_VFNMSAC_VF 0xfc00707f
1116 #define MATCH_VFWADD_VF 0xc0005057
1117 #define MASK_VFWADD_VF 0xfc00707f
1118 #define MATCH_VFWSUB_VF 0xc8005057
1119 #define MASK_VFWSUB_VF 0xfc00707f
1120 #define MATCH_VFWADD_WF 0xd0005057
1121 #define MASK_VFWADD_WF 0xfc00707f
1122 #define MATCH_VFWSUB_WF 0xd8005057
1123 #define MASK_VFWSUB_WF 0xfc00707f
1124 #define MATCH_VFWMUL_VF 0xe0005057
1125 #define MASK_VFWMUL_VF 0xfc00707f
1126 #define MATCH_VFWMACC_VF 0xf0005057
1127 #define MASK_VFWMACC_VF 0xfc00707f
1128 #define MATCH_VFWNMACC_VF 0xf4005057
1129 #define MASK_VFWNMACC_VF 0xfc00707f
1130 #define MATCH_VFWMSAC_VF 0xf8005057
1131 #define MASK_VFWMSAC_VF 0xfc00707f
1132 #define MATCH_VFWNMSAC_VF 0xfc005057
1133 #define MASK_VFWNMSAC_VF 0xfc00707f
1134 #define MATCH_VFADD_VV 0x1057
1135 #define MASK_VFADD_VV 0xfc00707f
1136 #define MATCH_VFREDSUM_VS 0x4001057
1137 #define MASK_VFREDSUM_VS 0xfc00707f
1138 #define MATCH_VFSUB_VV 0x8001057
1139 #define MASK_VFSUB_VV 0xfc00707f
1140 #define MATCH_VFREDOSUM_VS 0xc001057
1141 #define MASK_VFREDOSUM_VS 0xfc00707f
1142 #define MATCH_VFMIN_VV 0x10001057
1143 #define MASK_VFMIN_VV 0xfc00707f
1144 #define MATCH_VFREDMIN_VS 0x14001057
1145 #define MASK_VFREDMIN_VS 0xfc00707f
1146 #define MATCH_VFMAX_VV 0x18001057
1147 #define MASK_VFMAX_VV 0xfc00707f
1148 #define MATCH_VFREDMAX_VS 0x1c001057
1149 #define MASK_VFREDMAX_VS 0xfc00707f
1150 #define MATCH_VFSGNJ_VV 0x20001057
1151 #define MASK_VFSGNJ_VV 0xfc00707f
1152 #define MATCH_VFSGNJN_VV 0x24001057
1153 #define MASK_VFSGNJN_VV 0xfc00707f
1154 #define MATCH_VFSGNJX_VV 0x28001057
1155 #define MASK_VFSGNJX_VV 0xfc00707f
1156 #define MATCH_VFMV_F_S 0x42001057
1157 #define MASK_VFMV_F_S 0xfe0ff07f
1158 #define MATCH_VMFEQ_VV 0x60001057
1159 #define MASK_VMFEQ_VV 0xfc00707f
1160 #define MATCH_VMFLE_VV 0x64001057
1161 #define MASK_VMFLE_VV 0xfc00707f
1162 #define MATCH_VMFLT_VV 0x6c001057
1163 #define MASK_VMFLT_VV 0xfc00707f
1164 #define MATCH_VMFNE_VV 0x70001057
1165 #define MASK_VMFNE_VV 0xfc00707f
1166 #define MATCH_VFDIV_VV 0x80001057
1167 #define MASK_VFDIV_VV 0xfc00707f
1168 #define MATCH_VFMUL_VV 0x90001057
1169 #define MASK_VFMUL_VV 0xfc00707f
1170 #define MATCH_VFMADD_VV 0xa0001057
1171 #define MASK_VFMADD_VV 0xfc00707f
1172 #define MATCH_VFNMADD_VV 0xa4001057
1173 #define MASK_VFNMADD_VV 0xfc00707f
1174 #define MATCH_VFMSUB_VV 0xa8001057
1175 #define MASK_VFMSUB_VV 0xfc00707f
1176 #define MATCH_VFNMSUB_VV 0xac001057
1177 #define MASK_VFNMSUB_VV 0xfc00707f
1178 #define MATCH_VFMACC_VV 0xb0001057
1179 #define MASK_VFMACC_VV 0xfc00707f
1180 #define MATCH_VFNMACC_VV 0xb4001057
1181 #define MASK_VFNMACC_VV 0xfc00707f
1182 #define MATCH_VFMSAC_VV 0xb8001057
1183 #define MASK_VFMSAC_VV 0xfc00707f
1184 #define MATCH_VFNMSAC_VV 0xbc001057
1185 #define MASK_VFNMSAC_VV 0xfc00707f
1186 #define MATCH_VFCVT_XU_F_V 0x48001057
1187 #define MASK_VFCVT_XU_F_V 0xfc0ff07f
1188 #define MATCH_VFCVT_X_F_V 0x48009057
1189 #define MASK_VFCVT_X_F_V 0xfc0ff07f
1190 #define MATCH_VFCVT_F_XU_V 0x48011057
1191 #define MASK_VFCVT_F_XU_V 0xfc0ff07f
1192 #define MATCH_VFCVT_F_X_V 0x48019057
1193 #define MASK_VFCVT_F_X_V 0xfc0ff07f
1194 #define MATCH_VFCVT_RTZ_XU_F_V 0x48031057
1195 #define MASK_VFCVT_RTZ_XU_F_V 0xfc0ff07f
1196 #define MATCH_VFCVT_RTZ_X_F_V 0x48039057
1197 #define MASK_VFCVT_RTZ_X_F_V 0xfc0ff07f
1198 #define MATCH_VFWCVT_XU_F_V 0x48041057
1199 #define MASK_VFWCVT_XU_F_V 0xfc0ff07f
1200 #define MATCH_VFWCVT_X_F_V 0x48049057
1201 #define MASK_VFWCVT_X_F_V 0xfc0ff07f
1202 #define MATCH_VFWCVT_F_XU_V 0x48051057
1203 #define MASK_VFWCVT_F_XU_V 0xfc0ff07f
1204 #define MATCH_VFWCVT_F_X_V 0x48059057
1205 #define MASK_VFWCVT_F_X_V 0xfc0ff07f
1206 #define MATCH_VFWCVT_F_F_V 0x48061057
1207 #define MASK_VFWCVT_F_F_V 0xfc0ff07f
1208 #define MATCH_VFWCVT_RTZ_XU_F_V 0x48071057
1209 #define MASK_VFWCVT_RTZ_XU_F_V 0xfc0ff07f
1210 #define MATCH_VFWCVT_RTZ_X_F_V 0x48079057
1211 #define MASK_VFWCVT_RTZ_X_F_V 0xfc0ff07f
1212 #define MATCH_VFNCVT_XU_F_W 0x48081057
1213 #define MASK_VFNCVT_XU_F_W 0xfc0ff07f
1214 #define MATCH_VFNCVT_X_F_W 0x48089057
1215 #define MASK_VFNCVT_X_F_W 0xfc0ff07f
1216 #define MATCH_VFNCVT_F_XU_W 0x48091057
1217 #define MASK_VFNCVT_F_XU_W 0xfc0ff07f
1218 #define MATCH_VFNCVT_F_X_W 0x48099057
1219 #define MASK_VFNCVT_F_X_W 0xfc0ff07f
1220 #define MATCH_VFNCVT_F_F_W 0x480a1057
1221 #define MASK_VFNCVT_F_F_W 0xfc0ff07f
1222 #define MATCH_VFNCVT_ROD_F_F_W 0x480a9057
1223 #define MASK_VFNCVT_ROD_F_F_W 0xfc0ff07f
1224 #define MATCH_VFNCVT_RTZ_XU_F_W 0x480b1057
1225 #define MASK_VFNCVT_RTZ_XU_F_W 0xfc0ff07f
1226 #define MATCH_VFNCVT_RTZ_X_F_W 0x480b9057
1227 #define MASK_VFNCVT_RTZ_X_F_W 0xfc0ff07f
1228 #define MATCH_VFSQRT_V 0x4c001057
1229 #define MASK_VFSQRT_V 0xfc0ff07f
1230 #define MATCH_VFCLASS_V 0x4c081057
1231 #define MASK_VFCLASS_V 0xfc0ff07f
1232 #define MATCH_VFWADD_VV 0xc0001057
1233 #define MASK_VFWADD_VV 0xfc00707f
1234 #define MATCH_VFWREDSUM_VS 0xc4001057
1235 #define MASK_VFWREDSUM_VS 0xfc00707f
1236 #define MATCH_VFWSUB_VV 0xc8001057
1237 #define MASK_VFWSUB_VV 0xfc00707f
1238 #define MATCH_VFWREDOSUM_VS 0xcc001057
1239 #define MASK_VFWREDOSUM_VS 0xfc00707f
1240 #define MATCH_VFWADD_WV 0xd0001057
1241 #define MASK_VFWADD_WV 0xfc00707f
1242 #define MATCH_VFWSUB_WV 0xd8001057
1243 #define MASK_VFWSUB_WV 0xfc00707f
1244 #define MATCH_VFWMUL_VV 0xe0001057
1245 #define MASK_VFWMUL_VV 0xfc00707f
1246 #define MATCH_VFDOT_VV 0xe4001057
1247 #define MASK_VFDOT_VV 0xfc00707f
1248 #define MATCH_VFWMACC_VV 0xf0001057
1249 #define MASK_VFWMACC_VV 0xfc00707f
1250 #define MATCH_VFWNMACC_VV 0xf4001057
1251 #define MASK_VFWNMACC_VV 0xfc00707f
1252 #define MATCH_VFWMSAC_VV 0xf8001057
1253 #define MASK_VFWMSAC_VV 0xfc00707f
1254 #define MATCH_VFWNMSAC_VV 0xfc001057
1255 #define MASK_VFWNMSAC_VV 0xfc00707f
1256 #define MATCH_VADD_VX 0x4057
1257 #define MASK_VADD_VX 0xfc00707f
1258 #define MATCH_VSUB_VX 0x8004057
1259 #define MASK_VSUB_VX 0xfc00707f
1260 #define MATCH_VRSUB_VX 0xc004057
1261 #define MASK_VRSUB_VX 0xfc00707f
1262 #define MATCH_VMINU_VX 0x10004057
1263 #define MASK_VMINU_VX 0xfc00707f
1264 #define MATCH_VMIN_VX 0x14004057
1265 #define MASK_VMIN_VX 0xfc00707f
1266 #define MATCH_VMAXU_VX 0x18004057
1267 #define MASK_VMAXU_VX 0xfc00707f
1268 #define MATCH_VMAX_VX 0x1c004057
1269 #define MASK_VMAX_VX 0xfc00707f
1270 #define MATCH_VAND_VX 0x24004057
1271 #define MASK_VAND_VX 0xfc00707f
1272 #define MATCH_VOR_VX 0x28004057
1273 #define MASK_VOR_VX 0xfc00707f
1274 #define MATCH_VXOR_VX 0x2c004057
1275 #define MASK_VXOR_VX 0xfc00707f
1276 #define MATCH_VRGATHER_VX 0x30004057
1277 #define MASK_VRGATHER_VX 0xfc00707f
1278 #define MATCH_VSLIDEUP_VX 0x38004057
1279 #define MASK_VSLIDEUP_VX 0xfc00707f
1280 #define MATCH_VSLIDEDOWN_VX 0x3c004057
1281 #define MASK_VSLIDEDOWN_VX 0xfc00707f
1282 #define MATCH_VADC_VXM 0x40004057
1283 #define MASK_VADC_VXM 0xfe00707f
1284 #define MATCH_VMADC_VXM 0x44004057
1285 #define MASK_VMADC_VXM 0xfc00707f
1286 #define MATCH_VSBC_VXM 0x48004057
1287 #define MASK_VSBC_VXM 0xfe00707f
1288 #define MATCH_VMSBC_VXM 0x4c004057
1289 #define MASK_VMSBC_VXM 0xfc00707f
1290 #define MATCH_VMERGE_VXM 0x5c004057
1291 #define MASK_VMERGE_VXM 0xfe00707f
1292 #define MATCH_VMV_V_X 0x5e004057
1293 #define MASK_VMV_V_X 0xfff0707f
1294 #define MATCH_VMSEQ_VX 0x60004057
1295 #define MASK_VMSEQ_VX 0xfc00707f
1296 #define MATCH_VMSNE_VX 0x64004057
1297 #define MASK_VMSNE_VX 0xfc00707f
1298 #define MATCH_VMSLTU_VX 0x68004057
1299 #define MASK_VMSLTU_VX 0xfc00707f
1300 #define MATCH_VMSLT_VX 0x6c004057
1301 #define MASK_VMSLT_VX 0xfc00707f
1302 #define MATCH_VMSLEU_VX 0x70004057
1303 #define MASK_VMSLEU_VX 0xfc00707f
1304 #define MATCH_VMSLE_VX 0x74004057
1305 #define MASK_VMSLE_VX 0xfc00707f
1306 #define MATCH_VMSGTU_VX 0x78004057
1307 #define MASK_VMSGTU_VX 0xfc00707f
1308 #define MATCH_VMSGT_VX 0x7c004057
1309 #define MASK_VMSGT_VX 0xfc00707f
1310 #define MATCH_VSADDU_VX 0x80004057
1311 #define MASK_VSADDU_VX 0xfc00707f
1312 #define MATCH_VSADD_VX 0x84004057
1313 #define MASK_VSADD_VX 0xfc00707f
1314 #define MATCH_VSSUBU_VX 0x88004057
1315 #define MASK_VSSUBU_VX 0xfc00707f
1316 #define MATCH_VSSUB_VX 0x8c004057
1317 #define MASK_VSSUB_VX 0xfc00707f
1318 #define MATCH_VSLL_VX 0x94004057
1319 #define MASK_VSLL_VX 0xfc00707f
1320 #define MATCH_VSMUL_VX 0x9c004057
1321 #define MASK_VSMUL_VX 0xfc00707f
1322 #define MATCH_VSRL_VX 0xa0004057
1323 #define MASK_VSRL_VX 0xfc00707f
1324 #define MATCH_VSRA_VX 0xa4004057
1325 #define MASK_VSRA_VX 0xfc00707f
1326 #define MATCH_VSSRL_VX 0xa8004057
1327 #define MASK_VSSRL_VX 0xfc00707f
1328 #define MATCH_VSSRA_VX 0xac004057
1329 #define MASK_VSSRA_VX 0xfc00707f
1330 #define MATCH_VNSRL_WX 0xb0004057
1331 #define MASK_VNSRL_WX 0xfc00707f
1332 #define MATCH_VNSRA_WX 0xb4004057
1333 #define MASK_VNSRA_WX 0xfc00707f
1334 #define MATCH_VNCLIPU_WX 0xb8004057
1335 #define MASK_VNCLIPU_WX 0xfc00707f
1336 #define MATCH_VNCLIP_WX 0xbc004057
1337 #define MASK_VNCLIP_WX 0xfc00707f
1338 #define MATCH_VQMACCU_VX 0xf0004057
1339 #define MASK_VQMACCU_VX 0xfc00707f
1340 #define MATCH_VQMACC_VX 0xf4004057
1341 #define MASK_VQMACC_VX 0xfc00707f
1342 #define MATCH_VQMACCUS_VX 0xf8004057
1343 #define MASK_VQMACCUS_VX 0xfc00707f
1344 #define MATCH_VQMACCSU_VX 0xfc004057
1345 #define MASK_VQMACCSU_VX 0xfc00707f
1346 #define MATCH_VADD_VV 0x57
1347 #define MASK_VADD_VV 0xfc00707f
1348 #define MATCH_VSUB_VV 0x8000057
1349 #define MASK_VSUB_VV 0xfc00707f
1350 #define MATCH_VMINU_VV 0x10000057
1351 #define MASK_VMINU_VV 0xfc00707f
1352 #define MATCH_VMIN_VV 0x14000057
1353 #define MASK_VMIN_VV 0xfc00707f
1354 #define MATCH_VMAXU_VV 0x18000057
1355 #define MASK_VMAXU_VV 0xfc00707f
1356 #define MATCH_VMAX_VV 0x1c000057
1357 #define MASK_VMAX_VV 0xfc00707f
1358 #define MATCH_VAND_VV 0x24000057
1359 #define MASK_VAND_VV 0xfc00707f
1360 #define MATCH_VOR_VV 0x28000057
1361 #define MASK_VOR_VV 0xfc00707f
1362 #define MATCH_VXOR_VV 0x2c000057
1363 #define MASK_VXOR_VV 0xfc00707f
1364 #define MATCH_VRGATHER_VV 0x30000057
1365 #define MASK_VRGATHER_VV 0xfc00707f
1366 #define MATCH_VRGATHEREI16_VV 0x38000057
1367 #define MASK_VRGATHEREI16_VV 0xfc00707f
1368 #define MATCH_VADC_VVM 0x40000057
1369 #define MASK_VADC_VVM 0xfe00707f
1370 #define MATCH_VMADC_VVM 0x44000057
1371 #define MASK_VMADC_VVM 0xfc00707f
1372 #define MATCH_VSBC_VVM 0x48000057
1373 #define MASK_VSBC_VVM 0xfe00707f
1374 #define MATCH_VMSBC_VVM 0x4c000057
1375 #define MASK_VMSBC_VVM 0xfc00707f
1376 #define MATCH_VMERGE_VVM 0x5c000057
1377 #define MASK_VMERGE_VVM 0xfe00707f
1378 #define MATCH_VMV_V_V 0x5e000057
1379 #define MASK_VMV_V_V 0xfff0707f
1380 #define MATCH_VMSEQ_VV 0x60000057
1381 #define MASK_VMSEQ_VV 0xfc00707f
1382 #define MATCH_VMSNE_VV 0x64000057
1383 #define MASK_VMSNE_VV 0xfc00707f
1384 #define MATCH_VMSLTU_VV 0x68000057
1385 #define MASK_VMSLTU_VV 0xfc00707f
1386 #define MATCH_VMSLT_VV 0x6c000057
1387 #define MASK_VMSLT_VV 0xfc00707f
1388 #define MATCH_VMSLEU_VV 0x70000057
1389 #define MASK_VMSLEU_VV 0xfc00707f
1390 #define MATCH_VMSLE_VV 0x74000057
1391 #define MASK_VMSLE_VV 0xfc00707f
1392 #define MATCH_VSADDU_VV 0x80000057
1393 #define MASK_VSADDU_VV 0xfc00707f
1394 #define MATCH_VSADD_VV 0x84000057
1395 #define MASK_VSADD_VV 0xfc00707f
1396 #define MATCH_VSSUBU_VV 0x88000057
1397 #define MASK_VSSUBU_VV 0xfc00707f
1398 #define MATCH_VSSUB_VV 0x8c000057
1399 #define MASK_VSSUB_VV 0xfc00707f
1400 #define MATCH_VSLL_VV 0x94000057
1401 #define MASK_VSLL_VV 0xfc00707f
1402 #define MATCH_VSMUL_VV 0x9c000057
1403 #define MASK_VSMUL_VV 0xfc00707f
1404 #define MATCH_VSRL_VV 0xa0000057
1405 #define MASK_VSRL_VV 0xfc00707f
1406 #define MATCH_VSRA_VV 0xa4000057
1407 #define MASK_VSRA_VV 0xfc00707f
1408 #define MATCH_VSSRL_VV 0xa8000057
1409 #define MASK_VSSRL_VV 0xfc00707f
1410 #define MATCH_VSSRA_VV 0xac000057
1411 #define MASK_VSSRA_VV 0xfc00707f
1412 #define MATCH_VNSRL_WV 0xb0000057
1413 #define MASK_VNSRL_WV 0xfc00707f
1414 #define MATCH_VNSRA_WV 0xb4000057
1415 #define MASK_VNSRA_WV 0xfc00707f
1416 #define MATCH_VNCLIPU_WV 0xb8000057
1417 #define MASK_VNCLIPU_WV 0xfc00707f
1418 #define MATCH_VNCLIP_WV 0xbc000057
1419 #define MASK_VNCLIP_WV 0xfc00707f
1420 #define MATCH_VWREDSUMU_VS 0xc0000057
1421 #define MASK_VWREDSUMU_VS 0xfc00707f
1422 #define MATCH_VWREDSUM_VS 0xc4000057
1423 #define MASK_VWREDSUM_VS 0xfc00707f
1424 #define MATCH_VDOTU_VV 0xe0000057
1425 #define MASK_VDOTU_VV 0xfc00707f
1426 #define MATCH_VDOT_VV 0xe4000057
1427 #define MASK_VDOT_VV 0xfc00707f
1428 #define MATCH_VQMACCU_VV 0xf0000057
1429 #define MASK_VQMACCU_VV 0xfc00707f
1430 #define MATCH_VQMACC_VV 0xf4000057
1431 #define MASK_VQMACC_VV 0xfc00707f
1432 #define MATCH_VQMACCSU_VV 0xfc000057
1433 #define MASK_VQMACCSU_VV 0xfc00707f
1434 #define MATCH_VADD_VI 0x3057
1435 #define MASK_VADD_VI 0xfc00707f
1436 #define MATCH_VRSUB_VI 0xc003057
1437 #define MASK_VRSUB_VI 0xfc00707f
1438 #define MATCH_VAND_VI 0x24003057
1439 #define MASK_VAND_VI 0xfc00707f
1440 #define MATCH_VOR_VI 0x28003057
1441 #define MASK_VOR_VI 0xfc00707f
1442 #define MATCH_VXOR_VI 0x2c003057
1443 #define MASK_VXOR_VI 0xfc00707f
1444 #define MATCH_VRGATHER_VI 0x30003057
1445 #define MASK_VRGATHER_VI 0xfc00707f
1446 #define MATCH_VSLIDEUP_VI 0x38003057
1447 #define MASK_VSLIDEUP_VI 0xfc00707f
1448 #define MATCH_VSLIDEDOWN_VI 0x3c003057
1449 #define MASK_VSLIDEDOWN_VI 0xfc00707f
1450 #define MATCH_VADC_VIM 0x40003057
1451 #define MASK_VADC_VIM 0xfe00707f
1452 #define MATCH_VMADC_VIM 0x44003057
1453 #define MASK_VMADC_VIM 0xfc00707f
1454 #define MATCH_VMERGE_VIM 0x5c003057
1455 #define MASK_VMERGE_VIM 0xfe00707f
1456 #define MATCH_VMV_V_I 0x5e003057
1457 #define MASK_VMV_V_I 0xfff0707f
1458 #define MATCH_VMSEQ_VI 0x60003057
1459 #define MASK_VMSEQ_VI 0xfc00707f
1460 #define MATCH_VMSNE_VI 0x64003057
1461 #define MASK_VMSNE_VI 0xfc00707f
1462 #define MATCH_VMSLEU_VI 0x70003057
1463 #define MASK_VMSLEU_VI 0xfc00707f
1464 #define MATCH_VMSLE_VI 0x74003057
1465 #define MASK_VMSLE_VI 0xfc00707f
1466 #define MATCH_VMSGTU_VI 0x78003057
1467 #define MASK_VMSGTU_VI 0xfc00707f
1468 #define MATCH_VMSGT_VI 0x7c003057
1469 #define MASK_VMSGT_VI 0xfc00707f
1470 #define MATCH_VSADDU_VI 0x80003057
1471 #define MASK_VSADDU_VI 0xfc00707f
1472 #define MATCH_VSADD_VI 0x84003057
1473 #define MASK_VSADD_VI 0xfc00707f
1474 #define MATCH_VSLL_VI 0x94003057
1475 #define MASK_VSLL_VI 0xfc00707f
1476 #define MATCH_VMV1R_V 0x9e003057
1477 #define MASK_VMV1R_V 0xfe0ff07f
1478 #define MATCH_VMV2R_V 0x9e00b057
1479 #define MASK_VMV2R_V 0xfe0ff07f
1480 #define MATCH_VMV4R_V 0x9e01b057
1481 #define MASK_VMV4R_V 0xfe0ff07f
1482 #define MATCH_VMV8R_V 0x9e03b057
1483 #define MASK_VMV8R_V 0xfe0ff07f
1484 #define MATCH_VSRL_VI 0xa0003057
1485 #define MASK_VSRL_VI 0xfc00707f
1486 #define MATCH_VSRA_VI 0xa4003057
1487 #define MASK_VSRA_VI 0xfc00707f
1488 #define MATCH_VSSRL_VI 0xa8003057
1489 #define MASK_VSSRL_VI 0xfc00707f
1490 #define MATCH_VSSRA_VI 0xac003057
1491 #define MASK_VSSRA_VI 0xfc00707f
1492 #define MATCH_VNSRL_WI 0xb0003057
1493 #define MASK_VNSRL_WI 0xfc00707f
1494 #define MATCH_VNSRA_WI 0xb4003057
1495 #define MASK_VNSRA_WI 0xfc00707f
1496 #define MATCH_VNCLIPU_WI 0xb8003057
1497 #define MASK_VNCLIPU_WI 0xfc00707f
1498 #define MATCH_VNCLIP_WI 0xbc003057
1499 #define MASK_VNCLIP_WI 0xfc00707f
1500 #define MATCH_VREDSUM_VS 0x2057
1501 #define MASK_VREDSUM_VS 0xfc00707f
1502 #define MATCH_VREDAND_VS 0x4002057
1503 #define MASK_VREDAND_VS 0xfc00707f
1504 #define MATCH_VREDOR_VS 0x8002057
1505 #define MASK_VREDOR_VS 0xfc00707f
1506 #define MATCH_VREDXOR_VS 0xc002057
1507 #define MASK_VREDXOR_VS 0xfc00707f
1508 #define MATCH_VREDMINU_VS 0x10002057
1509 #define MASK_VREDMINU_VS 0xfc00707f
1510 #define MATCH_VREDMIN_VS 0x14002057
1511 #define MASK_VREDMIN_VS 0xfc00707f
1512 #define MATCH_VREDMAXU_VS 0x18002057
1513 #define MASK_VREDMAXU_VS 0xfc00707f
1514 #define MATCH_VREDMAX_VS 0x1c002057
1515 #define MASK_VREDMAX_VS 0xfc00707f
1516 #define MATCH_VAADDU_VV 0x20002057
1517 #define MASK_VAADDU_VV 0xfc00707f
1518 #define MATCH_VAADD_VV 0x24002057
1519 #define MASK_VAADD_VV 0xfc00707f
1520 #define MATCH_VASUBU_VV 0x28002057
1521 #define MASK_VASUBU_VV 0xfc00707f
1522 #define MATCH_VASUB_VV 0x2c002057
1523 #define MASK_VASUB_VV 0xfc00707f
1524 #define MATCH_VMV_X_S 0x42002057
1525 #define MASK_VMV_X_S 0xfe0ff07f
1526 #define MATCH_VZEXT_VF8 0x48012057
1527 #define MASK_VZEXT_VF8 0xfc0ff07f
1528 #define MATCH_VSEXT_VF8 0x4801a057
1529 #define MASK_VSEXT_VF8 0xfc0ff07f
1530 #define MATCH_VZEXT_VF4 0x48022057
1531 #define MASK_VZEXT_VF4 0xfc0ff07f
1532 #define MATCH_VSEXT_VF4 0x4802a057
1533 #define MASK_VSEXT_VF4 0xfc0ff07f
1534 #define MATCH_VZEXT_VF2 0x48032057
1535 #define MASK_VZEXT_VF2 0xfc0ff07f
1536 #define MATCH_VSEXT_VF2 0x4803a057
1537 #define MASK_VSEXT_VF2 0xfc0ff07f
1538 #define MATCH_VCOMPRESS_VM 0x5e002057
1539 #define MASK_VCOMPRESS_VM 0xfe00707f
1540 #define MATCH_VMANDNOT_MM 0x60002057
1541 #define MASK_VMANDNOT_MM 0xfc00707f
1542 #define MATCH_VMAND_MM 0x64002057
1543 #define MASK_VMAND_MM 0xfc00707f
1544 #define MATCH_VMOR_MM 0x68002057
1545 #define MASK_VMOR_MM 0xfc00707f
1546 #define MATCH_VMXOR_MM 0x6c002057
1547 #define MASK_VMXOR_MM 0xfc00707f
1548 #define MATCH_VMORNOT_MM 0x70002057
1549 #define MASK_VMORNOT_MM 0xfc00707f
1550 #define MATCH_VMNAND_MM 0x74002057
1551 #define MASK_VMNAND_MM 0xfc00707f
1552 #define MATCH_VMNOR_MM 0x78002057
1553 #define MASK_VMNOR_MM 0xfc00707f
1554 #define MATCH_VMXNOR_MM 0x7c002057
1555 #define MASK_VMXNOR_MM 0xfc00707f
1556 #define MATCH_VMSBF_M 0x5000a057
1557 #define MASK_VMSBF_M 0xfc0ff07f
1558 #define MATCH_VMSOF_M 0x50012057
1559 #define MASK_VMSOF_M 0xfc0ff07f
1560 #define MATCH_VMSIF_M 0x5001a057
1561 #define MASK_VMSIF_M 0xfc0ff07f
1562 #define MATCH_VIOTA_M 0x50082057
1563 #define MASK_VIOTA_M 0xfc0ff07f
1564 #define MATCH_VID_V 0x5008a057
1565 #define MASK_VID_V 0xfdfff07f
1566 #define MATCH_VPOPC_M 0x40082057
1567 #define MASK_VPOPC_M 0xfc0ff07f
1568 #define MATCH_VFIRST_M 0x4008a057
1569 #define MASK_VFIRST_M 0xfc0ff07f
1570 #define MATCH_VDIVU_VV 0x80002057
1571 #define MASK_VDIVU_VV 0xfc00707f
1572 #define MATCH_VDIV_VV 0x84002057
1573 #define MASK_VDIV_VV 0xfc00707f
1574 #define MATCH_VREMU_VV 0x88002057
1575 #define MASK_VREMU_VV 0xfc00707f
1576 #define MATCH_VREM_VV 0x8c002057
1577 #define MASK_VREM_VV 0xfc00707f
1578 #define MATCH_VMULHU_VV 0x90002057
1579 #define MASK_VMULHU_VV 0xfc00707f
1580 #define MATCH_VMUL_VV 0x94002057
1581 #define MASK_VMUL_VV 0xfc00707f
1582 #define MATCH_VMULHSU_VV 0x98002057
1583 #define MASK_VMULHSU_VV 0xfc00707f
1584 #define MATCH_VMULH_VV 0x9c002057
1585 #define MASK_VMULH_VV 0xfc00707f
1586 #define MATCH_VMADD_VV 0xa4002057
1587 #define MASK_VMADD_VV 0xfc00707f
1588 #define MATCH_VNMSUB_VV 0xac002057
1589 #define MASK_VNMSUB_VV 0xfc00707f
1590 #define MATCH_VMACC_VV 0xb4002057
1591 #define MASK_VMACC_VV 0xfc00707f
1592 #define MATCH_VNMSAC_VV 0xbc002057
1593 #define MASK_VNMSAC_VV 0xfc00707f
1594 #define MATCH_VWADDU_VV 0xc0002057
1595 #define MASK_VWADDU_VV 0xfc00707f
1596 #define MATCH_VWADD_VV 0xc4002057
1597 #define MASK_VWADD_VV 0xfc00707f
1598 #define MATCH_VWSUBU_VV 0xc8002057
1599 #define MASK_VWSUBU_VV 0xfc00707f
1600 #define MATCH_VWSUB_VV 0xcc002057
1601 #define MASK_VWSUB_VV 0xfc00707f
1602 #define MATCH_VWADDU_WV 0xd0002057
1603 #define MASK_VWADDU_WV 0xfc00707f
1604 #define MATCH_VWADD_WV 0xd4002057
1605 #define MASK_VWADD_WV 0xfc00707f
1606 #define MATCH_VWSUBU_WV 0xd8002057
1607 #define MASK_VWSUBU_WV 0xfc00707f
1608 #define MATCH_VWSUB_WV 0xdc002057
1609 #define MASK_VWSUB_WV 0xfc00707f
1610 #define MATCH_VWMULU_VV 0xe0002057
1611 #define MASK_VWMULU_VV 0xfc00707f
1612 #define MATCH_VWMULSU_VV 0xe8002057
1613 #define MASK_VWMULSU_VV 0xfc00707f
1614 #define MATCH_VWMUL_VV 0xec002057
1615 #define MASK_VWMUL_VV 0xfc00707f
1616 #define MATCH_VWMACCU_VV 0xf0002057
1617 #define MASK_VWMACCU_VV 0xfc00707f
1618 #define MATCH_VWMACC_VV 0xf4002057
1619 #define MASK_VWMACC_VV 0xfc00707f
1620 #define MATCH_VWMACCSU_VV 0xfc002057
1621 #define MASK_VWMACCSU_VV 0xfc00707f
1622 #define MATCH_VAADDU_VX 0x20006057
1623 #define MASK_VAADDU_VX 0xfc00707f
1624 #define MATCH_VAADD_VX 0x24006057
1625 #define MASK_VAADD_VX 0xfc00707f
1626 #define MATCH_VASUBU_VX 0x28006057
1627 #define MASK_VASUBU_VX 0xfc00707f
1628 #define MATCH_VASUB_VX 0x2c006057
1629 #define MASK_VASUB_VX 0xfc00707f
1630 #define MATCH_VMV_S_X 0x42006057
1631 #define MASK_VMV_S_X 0xfff0707f
1632 #define MATCH_VSLIDE1UP_VX 0x38006057
1633 #define MASK_VSLIDE1UP_VX 0xfc00707f
1634 #define MATCH_VSLIDE1DOWN_VX 0x3c006057
1635 #define MASK_VSLIDE1DOWN_VX 0xfc00707f
1636 #define MATCH_VDIVU_VX 0x80006057
1637 #define MASK_VDIVU_VX 0xfc00707f
1638 #define MATCH_VDIV_VX 0x84006057
1639 #define MASK_VDIV_VX 0xfc00707f
1640 #define MATCH_VREMU_VX 0x88006057
1641 #define MASK_VREMU_VX 0xfc00707f
1642 #define MATCH_VREM_VX 0x8c006057
1643 #define MASK_VREM_VX 0xfc00707f
1644 #define MATCH_VMULHU_VX 0x90006057
1645 #define MASK_VMULHU_VX 0xfc00707f
1646 #define MATCH_VMUL_VX 0x94006057
1647 #define MASK_VMUL_VX 0xfc00707f
1648 #define MATCH_VMULHSU_VX 0x98006057
1649 #define MASK_VMULHSU_VX 0xfc00707f
1650 #define MATCH_VMULH_VX 0x9c006057
1651 #define MASK_VMULH_VX 0xfc00707f
1652 #define MATCH_VMADD_VX 0xa4006057
1653 #define MASK_VMADD_VX 0xfc00707f
1654 #define MATCH_VNMSUB_VX 0xac006057
1655 #define MASK_VNMSUB_VX 0xfc00707f
1656 #define MATCH_VMACC_VX 0xb4006057
1657 #define MASK_VMACC_VX 0xfc00707f
1658 #define MATCH_VNMSAC_VX 0xbc006057
1659 #define MASK_VNMSAC_VX 0xfc00707f
1660 #define MATCH_VWADDU_VX 0xc0006057
1661 #define MASK_VWADDU_VX 0xfc00707f
1662 #define MATCH_VWADD_VX 0xc4006057
1663 #define MASK_VWADD_VX 0xfc00707f
1664 #define MATCH_VWSUBU_VX 0xc8006057
1665 #define MASK_VWSUBU_VX 0xfc00707f
1666 #define MATCH_VWSUB_VX 0xcc006057
1667 #define MASK_VWSUB_VX 0xfc00707f
1668 #define MATCH_VWADDU_WX 0xd0006057
1669 #define MASK_VWADDU_WX 0xfc00707f
1670 #define MATCH_VWADD_WX 0xd4006057
1671 #define MASK_VWADD_WX 0xfc00707f
1672 #define MATCH_VWSUBU_WX 0xd8006057
1673 #define MASK_VWSUBU_WX 0xfc00707f
1674 #define MATCH_VWSUB_WX 0xdc006057
1675 #define MASK_VWSUB_WX 0xfc00707f
1676 #define MATCH_VWMULU_VX 0xe0006057
1677 #define MASK_VWMULU_VX 0xfc00707f
1678 #define MATCH_VWMULSU_VX 0xe8006057
1679 #define MASK_VWMULSU_VX 0xfc00707f
1680 #define MATCH_VWMUL_VX 0xec006057
1681 #define MASK_VWMUL_VX 0xfc00707f
1682 #define MATCH_VWMACCU_VX 0xf0006057
1683 #define MASK_VWMACCU_VX 0xfc00707f
1684 #define MATCH_VWMACC_VX 0xf4006057
1685 #define MASK_VWMACC_VX 0xfc00707f
1686 #define MATCH_VWMACCUS_VX 0xf8006057
1687 #define MASK_VWMACCUS_VX 0xfc00707f
1688 #define MATCH_VWMACCSU_VX 0xfc006057
1689 #define MASK_VWMACCSU_VX 0xfc00707f
1690 #define MATCH_VAMOSWAPEI8_V 0x800002f
1691 #define MASK_VAMOSWAPEI8_V 0xf800707f
1692 #define MATCH_VAMOADDEI8_V 0x2f
1693 #define MASK_VAMOADDEI8_V 0xf800707f
1694 #define MATCH_VAMOXOREI8_V 0x2000002f
1695 #define MASK_VAMOXOREI8_V 0xf800707f
1696 #define MATCH_VAMOANDEI8_V 0x6000002f
1697 #define MASK_VAMOANDEI8_V 0xf800707f
1698 #define MATCH_VAMOOREI8_V 0x4000002f
1699 #define MASK_VAMOOREI8_V 0xf800707f
1700 #define MATCH_VAMOMINEI8_V 0x8000002f
1701 #define MASK_VAMOMINEI8_V 0xf800707f
1702 #define MATCH_VAMOMAXEI8_V 0xa000002f
1703 #define MASK_VAMOMAXEI8_V 0xf800707f
1704 #define MATCH_VAMOMINUEI8_V 0xc000002f
1705 #define MASK_VAMOMINUEI8_V 0xf800707f
1706 #define MATCH_VAMOMAXUEI8_V 0xe000002f
1707 #define MASK_VAMOMAXUEI8_V 0xf800707f
1708 #define MATCH_VAMOSWAPEI16_V 0x800502f
1709 #define MASK_VAMOSWAPEI16_V 0xf800707f
1710 #define MATCH_VAMOADDEI16_V 0x502f
1711 #define MASK_VAMOADDEI16_V 0xf800707f
1712 #define MATCH_VAMOXOREI16_V 0x2000502f
1713 #define MASK_VAMOXOREI16_V 0xf800707f
1714 #define MATCH_VAMOANDEI16_V 0x6000502f
1715 #define MASK_VAMOANDEI16_V 0xf800707f
1716 #define MATCH_VAMOOREI16_V 0x4000502f
1717 #define MASK_VAMOOREI16_V 0xf800707f
1718 #define MATCH_VAMOMINEI16_V 0x8000502f
1719 #define MASK_VAMOMINEI16_V 0xf800707f
1720 #define MATCH_VAMOMAXEI16_V 0xa000502f
1721 #define MASK_VAMOMAXEI16_V 0xf800707f
1722 #define MATCH_VAMOMINUEI16_V 0xc000502f
1723 #define MASK_VAMOMINUEI16_V 0xf800707f
1724 #define MATCH_VAMOMAXUEI16_V 0xe000502f
1725 #define MASK_VAMOMAXUEI16_V 0xf800707f
1726 #define MATCH_VAMOSWAPEI32_V 0x800602f
1727 #define MASK_VAMOSWAPEI32_V 0xf800707f
1728 #define MATCH_VAMOADDEI32_V 0x602f
1729 #define MASK_VAMOADDEI32_V 0xf800707f
1730 #define MATCH_VAMOXOREI32_V 0x2000602f
1731 #define MASK_VAMOXOREI32_V 0xf800707f
1732 #define MATCH_VAMOANDEI32_V 0x6000602f
1733 #define MASK_VAMOANDEI32_V 0xf800707f
1734 #define MATCH_VAMOOREI32_V 0x4000602f
1735 #define MASK_VAMOOREI32_V 0xf800707f
1736 #define MATCH_VAMOMINEI32_V 0x8000602f
1737 #define MASK_VAMOMINEI32_V 0xf800707f
1738 #define MATCH_VAMOMAXEI32_V 0xa000602f
1739 #define MASK_VAMOMAXEI32_V 0xf800707f
1740 #define MATCH_VAMOMINUEI32_V 0xc000602f
1741 #define MASK_VAMOMINUEI32_V 0xf800707f
1742 #define MATCH_VAMOMAXUEI32_V 0xe000602f
1743 #define MASK_VAMOMAXUEI32_V 0xf800707f
1744 #define MATCH_VAMOSWAPEI64_V 0x800702f
1745 #define MASK_VAMOSWAPEI64_V 0xf800707f
1746 #define MATCH_VAMOADDEI64_V 0x702f
1747 #define MASK_VAMOADDEI64_V 0xf800707f
1748 #define MATCH_VAMOXOREI64_V 0x2000702f
1749 #define MASK_VAMOXOREI64_V 0xf800707f
1750 #define MATCH_VAMOANDEI64_V 0x6000702f
1751 #define MASK_VAMOANDEI64_V 0xf800707f
1752 #define MATCH_VAMOOREI64_V 0x4000702f
1753 #define MASK_VAMOOREI64_V 0xf800707f
1754 #define MATCH_VAMOMINEI64_V 0x8000702f
1755 #define MASK_VAMOMINEI64_V 0xf800707f
1756 #define MATCH_VAMOMAXEI64_V 0xa000702f
1757 #define MASK_VAMOMAXEI64_V 0xf800707f
1758 #define MATCH_VAMOMINUEI64_V 0xc000702f
1759 #define MASK_VAMOMINUEI64_V 0xf800707f
1760 #define MATCH_VAMOMAXUEI64_V 0xe000702f
1761 #define MASK_VAMOMAXUEI64_V 0xf800707f
1762 #define MATCH_VMVNFR_V 0x9e003057
1763 #define MASK_VMVNFR_V 0xfe00707f
1764 #define MATCH_VL1R_V 0x2800007
1765 #define MASK_VL1R_V 0xfff0707f
1766 #define MATCH_VL2R_V 0x6805007
1767 #define MASK_VL2R_V 0xfff0707f
1768 #define MATCH_VL4R_V 0xe806007
1769 #define MASK_VL4R_V 0xfff0707f
1770 #define MATCH_VL8R_V 0x1e807007
1771 #define MASK_VL8R_V 0xfff0707f
1772 #define CSR_FFLAGS 0x1
1773 #define CSR_FRM 0x2
1774 #define CSR_FCSR 0x3
1775 #define CSR_USTATUS 0x0
1776 #define CSR_UIE 0x4
1777 #define CSR_UTVEC 0x5
1778 #define CSR_VSTART 0x8
1779 #define CSR_VXSAT 0x9
1780 #define CSR_VXRM 0xa
1781 #define CSR_VCSR 0xf
1782 #define CSR_USCRATCH 0x40
1783 #define CSR_UEPC 0x41
1784 #define CSR_UCAUSE 0x42
1785 #define CSR_UTVAL 0x43
1786 #define CSR_UIP 0x44
1787 #define CSR_CYCLE 0xc00
1788 #define CSR_TIME 0xc01
1789 #define CSR_INSTRET 0xc02
1790 #define CSR_HPMCOUNTER3 0xc03
1791 #define CSR_HPMCOUNTER4 0xc04
1792 #define CSR_HPMCOUNTER5 0xc05
1793 #define CSR_HPMCOUNTER6 0xc06
1794 #define CSR_HPMCOUNTER7 0xc07
1795 #define CSR_HPMCOUNTER8 0xc08
1796 #define CSR_HPMCOUNTER9 0xc09
1797 #define CSR_HPMCOUNTER10 0xc0a
1798 #define CSR_HPMCOUNTER11 0xc0b
1799 #define CSR_HPMCOUNTER12 0xc0c
1800 #define CSR_HPMCOUNTER13 0xc0d
1801 #define CSR_HPMCOUNTER14 0xc0e
1802 #define CSR_HPMCOUNTER15 0xc0f
1803 #define CSR_HPMCOUNTER16 0xc10
1804 #define CSR_HPMCOUNTER17 0xc11
1805 #define CSR_HPMCOUNTER18 0xc12
1806 #define CSR_HPMCOUNTER19 0xc13
1807 #define CSR_HPMCOUNTER20 0xc14
1808 #define CSR_HPMCOUNTER21 0xc15
1809 #define CSR_HPMCOUNTER22 0xc16
1810 #define CSR_HPMCOUNTER23 0xc17
1811 #define CSR_HPMCOUNTER24 0xc18
1812 #define CSR_HPMCOUNTER25 0xc19
1813 #define CSR_HPMCOUNTER26 0xc1a
1814 #define CSR_HPMCOUNTER27 0xc1b
1815 #define CSR_HPMCOUNTER28 0xc1c
1816 #define CSR_HPMCOUNTER29 0xc1d
1817 #define CSR_HPMCOUNTER30 0xc1e
1818 #define CSR_HPMCOUNTER31 0xc1f
1819 #define CSR_VL 0xc20
1820 #define CSR_VTYPE 0xc21
1821 #define CSR_VLENB 0xc22
1822 #define CSR_SSTATUS 0x100
1823 #define CSR_SEDELEG 0x102
1824 #define CSR_SIDELEG 0x103
1825 #define CSR_SIE 0x104
1826 #define CSR_STVEC 0x105
1827 #define CSR_SCOUNTEREN 0x106
1828 #define CSR_SSCRATCH 0x140
1829 #define CSR_SEPC 0x141
1830 #define CSR_SCAUSE 0x142
1831 #define CSR_STVAL 0x143
1832 #define CSR_SIP 0x144
1833 #define CSR_SATP 0x180
1834 #define CSR_VSSTATUS 0x200
1835 #define CSR_VSIE 0x204
1836 #define CSR_VSTVEC 0x205
1837 #define CSR_VSSCRATCH 0x240
1838 #define CSR_VSEPC 0x241
1839 #define CSR_VSCAUSE 0x242
1840 #define CSR_VSTVAL 0x243
1841 #define CSR_VSIP 0x244
1842 #define CSR_VSATP 0x280
1843 #define CSR_HSTATUS 0x600
1844 #define CSR_HEDELEG 0x602
1845 #define CSR_HIDELEG 0x603
1846 #define CSR_HIE 0x604
1847 #define CSR_HTIMEDELTA 0x605
1848 #define CSR_HCOUNTEREN 0x606
1849 #define CSR_HGEIE 0x607
1850 #define CSR_HTVAL 0x643
1851 #define CSR_HIP 0x644
1852 #define CSR_HVIP 0x645
1853 #define CSR_HTINST 0x64a
1854 #define CSR_HGATP 0x680
1855 #define CSR_HGEIP 0xe12
1856 #define CSR_UTVT 0x7
1857 #define CSR_UNXTI 0x45
1858 #define CSR_UINTSTATUS 0x46
1859 #define CSR_USCRATCHCSW 0x48
1860 #define CSR_USCRATCHCSWL 0x49
1861 #define CSR_STVT 0x107
1862 #define CSR_SNXTI 0x145
1863 #define CSR_SINTSTATUS 0x146
1864 #define CSR_SSCRATCHCSW 0x148
1865 #define CSR_SSCRATCHCSWL 0x149
1866 #define CSR_MTVT 0x307
1867 #define CSR_MNXTI 0x345
1868 #define CSR_MINTSTATUS 0x346
1869 #define CSR_MSCRATCHCSW 0x348
1870 #define CSR_MSCRATCHCSWL 0x349
1871 #define CSR_MSTATUS 0x300
1872 #define CSR_MISA 0x301
1873 #define CSR_MEDELEG 0x302
1874 #define CSR_MIDELEG 0x303
1875 #define CSR_MIE 0x304
1876 #define CSR_MTVEC 0x305
1877 #define CSR_MCOUNTEREN 0x306
1878 #define CSR_MCOUNTINHIBIT 0x320
1879 #define CSR_MSCRATCH 0x340
1880 #define CSR_MEPC 0x341
1881 #define CSR_MCAUSE 0x342
1882 #define CSR_MTVAL 0x343
1883 #define CSR_MIP 0x344
1884 #define CSR_MTINST 0x34a
1885 #define CSR_MTVAL2 0x34b
1886 #define CSR_PMPCFG0 0x3a0
1887 #define CSR_PMPCFG1 0x3a1
1888 #define CSR_PMPCFG2 0x3a2
1889 #define CSR_PMPCFG3 0x3a3
1890 #define CSR_PMPADDR0 0x3b0
1891 #define CSR_PMPADDR1 0x3b1
1892 #define CSR_PMPADDR2 0x3b2
1893 #define CSR_PMPADDR3 0x3b3
1894 #define CSR_PMPADDR4 0x3b4
1895 #define CSR_PMPADDR5 0x3b5
1896 #define CSR_PMPADDR6 0x3b6
1897 #define CSR_PMPADDR7 0x3b7
1898 #define CSR_PMPADDR8 0x3b8
1899 #define CSR_PMPADDR9 0x3b9
1900 #define CSR_PMPADDR10 0x3ba
1901 #define CSR_PMPADDR11 0x3bb
1902 #define CSR_PMPADDR12 0x3bc
1903 #define CSR_PMPADDR13 0x3bd
1904 #define CSR_PMPADDR14 0x3be
1905 #define CSR_PMPADDR15 0x3bf
1906 #define CSR_TSELECT 0x7a0
1907 #define CSR_TDATA1 0x7a1
1908 #define CSR_TDATA2 0x7a2
1909 #define CSR_TDATA3 0x7a3
1910 #define CSR_DCSR 0x7b0
1911 #define CSR_DPC 0x7b1
1912 #define CSR_DSCRATCH0 0x7b2
1913 #define CSR_DSCRATCH1 0x7b3
1914 #define CSR_MCYCLE 0xb00
1915 #define CSR_MINSTRET 0xb02
1916 #define CSR_MHPMCOUNTER3 0xb03
1917 #define CSR_MHPMCOUNTER4 0xb04
1918 #define CSR_MHPMCOUNTER5 0xb05
1919 #define CSR_MHPMCOUNTER6 0xb06
1920 #define CSR_MHPMCOUNTER7 0xb07
1921 #define CSR_MHPMCOUNTER8 0xb08
1922 #define CSR_MHPMCOUNTER9 0xb09
1923 #define CSR_MHPMCOUNTER10 0xb0a
1924 #define CSR_MHPMCOUNTER11 0xb0b
1925 #define CSR_MHPMCOUNTER12 0xb0c
1926 #define CSR_MHPMCOUNTER13 0xb0d
1927 #define CSR_MHPMCOUNTER14 0xb0e
1928 #define CSR_MHPMCOUNTER15 0xb0f
1929 #define CSR_MHPMCOUNTER16 0xb10
1930 #define CSR_MHPMCOUNTER17 0xb11
1931 #define CSR_MHPMCOUNTER18 0xb12
1932 #define CSR_MHPMCOUNTER19 0xb13
1933 #define CSR_MHPMCOUNTER20 0xb14
1934 #define CSR_MHPMCOUNTER21 0xb15
1935 #define CSR_MHPMCOUNTER22 0xb16
1936 #define CSR_MHPMCOUNTER23 0xb17
1937 #define CSR_MHPMCOUNTER24 0xb18
1938 #define CSR_MHPMCOUNTER25 0xb19
1939 #define CSR_MHPMCOUNTER26 0xb1a
1940 #define CSR_MHPMCOUNTER27 0xb1b
1941 #define CSR_MHPMCOUNTER28 0xb1c
1942 #define CSR_MHPMCOUNTER29 0xb1d
1943 #define CSR_MHPMCOUNTER30 0xb1e
1944 #define CSR_MHPMCOUNTER31 0xb1f
1945 #define CSR_MHPMEVENT3 0x323
1946 #define CSR_MHPMEVENT4 0x324
1947 #define CSR_MHPMEVENT5 0x325
1948 #define CSR_MHPMEVENT6 0x326
1949 #define CSR_MHPMEVENT7 0x327
1950 #define CSR_MHPMEVENT8 0x328
1951 #define CSR_MHPMEVENT9 0x329
1952 #define CSR_MHPMEVENT10 0x32a
1953 #define CSR_MHPMEVENT11 0x32b
1954 #define CSR_MHPMEVENT12 0x32c
1955 #define CSR_MHPMEVENT13 0x32d
1956 #define CSR_MHPMEVENT14 0x32e
1957 #define CSR_MHPMEVENT15 0x32f
1958 #define CSR_MHPMEVENT16 0x330
1959 #define CSR_MHPMEVENT17 0x331
1960 #define CSR_MHPMEVENT18 0x332
1961 #define CSR_MHPMEVENT19 0x333
1962 #define CSR_MHPMEVENT20 0x334
1963 #define CSR_MHPMEVENT21 0x335
1964 #define CSR_MHPMEVENT22 0x336
1965 #define CSR_MHPMEVENT23 0x337
1966 #define CSR_MHPMEVENT24 0x338
1967 #define CSR_MHPMEVENT25 0x339
1968 #define CSR_MHPMEVENT26 0x33a
1969 #define CSR_MHPMEVENT27 0x33b
1970 #define CSR_MHPMEVENT28 0x33c
1971 #define CSR_MHPMEVENT29 0x33d
1972 #define CSR_MHPMEVENT30 0x33e
1973 #define CSR_MHPMEVENT31 0x33f
1974 #define CSR_MVENDORID 0xf11
1975 #define CSR_MARCHID 0xf12
1976 #define CSR_MIMPID 0xf13
1977 #define CSR_MHARTID 0xf14
1978 #define CSR_HTIMEDELTAH 0x615
1979 #define CSR_CYCLEH 0xc80
1980 #define CSR_TIMEH 0xc81
1981 #define CSR_INSTRETH 0xc82
1982 #define CSR_HPMCOUNTER3H 0xc83
1983 #define CSR_HPMCOUNTER4H 0xc84
1984 #define CSR_HPMCOUNTER5H 0xc85
1985 #define CSR_HPMCOUNTER6H 0xc86
1986 #define CSR_HPMCOUNTER7H 0xc87
1987 #define CSR_HPMCOUNTER8H 0xc88
1988 #define CSR_HPMCOUNTER9H 0xc89
1989 #define CSR_HPMCOUNTER10H 0xc8a
1990 #define CSR_HPMCOUNTER11H 0xc8b
1991 #define CSR_HPMCOUNTER12H 0xc8c
1992 #define CSR_HPMCOUNTER13H 0xc8d
1993 #define CSR_HPMCOUNTER14H 0xc8e
1994 #define CSR_HPMCOUNTER15H 0xc8f
1995 #define CSR_HPMCOUNTER16H 0xc90
1996 #define CSR_HPMCOUNTER17H 0xc91
1997 #define CSR_HPMCOUNTER18H 0xc92
1998 #define CSR_HPMCOUNTER19H 0xc93
1999 #define CSR_HPMCOUNTER20H 0xc94
2000 #define CSR_HPMCOUNTER21H 0xc95
2001 #define CSR_HPMCOUNTER22H 0xc96
2002 #define CSR_HPMCOUNTER23H 0xc97
2003 #define CSR_HPMCOUNTER24H 0xc98
2004 #define CSR_HPMCOUNTER25H 0xc99
2005 #define CSR_HPMCOUNTER26H 0xc9a
2006 #define CSR_HPMCOUNTER27H 0xc9b
2007 #define CSR_HPMCOUNTER28H 0xc9c
2008 #define CSR_HPMCOUNTER29H 0xc9d
2009 #define CSR_HPMCOUNTER30H 0xc9e
2010 #define CSR_HPMCOUNTER31H 0xc9f
2011 #define CSR_MSTATUSH 0x310
2012 #define CSR_MCYCLEH 0xb80
2013 #define CSR_MINSTRETH 0xb82
2014 #define CSR_MHPMCOUNTER3H 0xb83
2015 #define CSR_MHPMCOUNTER4H 0xb84
2016 #define CSR_MHPMCOUNTER5H 0xb85
2017 #define CSR_MHPMCOUNTER6H 0xb86
2018 #define CSR_MHPMCOUNTER7H 0xb87
2019 #define CSR_MHPMCOUNTER8H 0xb88
2020 #define CSR_MHPMCOUNTER9H 0xb89
2021 #define CSR_MHPMCOUNTER10H 0xb8a
2022 #define CSR_MHPMCOUNTER11H 0xb8b
2023 #define CSR_MHPMCOUNTER12H 0xb8c
2024 #define CSR_MHPMCOUNTER13H 0xb8d
2025 #define CSR_MHPMCOUNTER14H 0xb8e
2026 #define CSR_MHPMCOUNTER15H 0xb8f
2027 #define CSR_MHPMCOUNTER16H 0xb90
2028 #define CSR_MHPMCOUNTER17H 0xb91
2029 #define CSR_MHPMCOUNTER18H 0xb92
2030 #define CSR_MHPMCOUNTER19H 0xb93
2031 #define CSR_MHPMCOUNTER20H 0xb94
2032 #define CSR_MHPMCOUNTER21H 0xb95
2033 #define CSR_MHPMCOUNTER22H 0xb96
2034 #define CSR_MHPMCOUNTER23H 0xb97
2035 #define CSR_MHPMCOUNTER24H 0xb98
2036 #define CSR_MHPMCOUNTER25H 0xb99
2037 #define CSR_MHPMCOUNTER26H 0xb9a
2038 #define CSR_MHPMCOUNTER27H 0xb9b
2039 #define CSR_MHPMCOUNTER28H 0xb9c
2040 #define CSR_MHPMCOUNTER29H 0xb9d
2041 #define CSR_MHPMCOUNTER30H 0xb9e
2042 #define CSR_MHPMCOUNTER31H 0xb9f
2043 #define CAUSE_MISALIGNED_FETCH 0x0
2044 #define CAUSE_FETCH_ACCESS 0x1
2045 #define CAUSE_ILLEGAL_INSTRUCTION 0x2
2046 #define CAUSE_BREAKPOINT 0x3
2047 #define CAUSE_MISALIGNED_LOAD 0x4
2048 #define CAUSE_LOAD_ACCESS 0x5
2049 #define CAUSE_MISALIGNED_STORE 0x6
2050 #define CAUSE_STORE_ACCESS 0x7
2051 #define CAUSE_USER_ECALL 0x8
2052 #define CAUSE_SUPERVISOR_ECALL 0x9
2053 #define CAUSE_VIRTUAL_SUPERVISOR_ECALL 0xa
2054 #define CAUSE_MACHINE_ECALL 0xb
2055 #define CAUSE_FETCH_PAGE_FAULT 0xc
2056 #define CAUSE_LOAD_PAGE_FAULT 0xd
2057 #define CAUSE_STORE_PAGE_FAULT 0xf
2058 #define CAUSE_FETCH_GUEST_PAGE_FAULT 0x14
2059 #define CAUSE_LOAD_GUEST_PAGE_FAULT 0x15
2060 #define CAUSE_VIRTUAL_INSTRUCTION 0x16
2061 #define CAUSE_STORE_GUEST_PAGE_FAULT 0x17
2062 #endif
2063 #ifdef DECLARE_INSN
2064 DECLARE_INSN(slli_rv32, MATCH_SLLI_RV32, MASK_SLLI_RV32)
2065 DECLARE_INSN(srli_rv32, MATCH_SRLI_RV32, MASK_SRLI_RV32)
2066 DECLARE_INSN(srai_rv32, MATCH_SRAI_RV32, MASK_SRAI_RV32)
2067 DECLARE_INSN(frflags, MATCH_FRFLAGS, MASK_FRFLAGS)
2068 DECLARE_INSN(fsflags, MATCH_FSFLAGS, MASK_FSFLAGS)
2069 DECLARE_INSN(fsflagsi, MATCH_FSFLAGSI, MASK_FSFLAGSI)
2070 DECLARE_INSN(frrm, MATCH_FRRM, MASK_FRRM)
2071 DECLARE_INSN(fsrm, MATCH_FSRM, MASK_FSRM)
2072 DECLARE_INSN(fsrmi, MATCH_FSRMI, MASK_FSRMI)
2073 DECLARE_INSN(fscsr, MATCH_FSCSR, MASK_FSCSR)
2074 DECLARE_INSN(frcsr, MATCH_FRCSR, MASK_FRCSR)
2075 DECLARE_INSN(rdcycle, MATCH_RDCYCLE, MASK_RDCYCLE)
2076 DECLARE_INSN(rdtime, MATCH_RDTIME, MASK_RDTIME)
2077 DECLARE_INSN(rdinstret, MATCH_RDINSTRET, MASK_RDINSTRET)
2078 DECLARE_INSN(rdcycleh, MATCH_RDCYCLEH, MASK_RDCYCLEH)
2079 DECLARE_INSN(rdtimeh, MATCH_RDTIMEH, MASK_RDTIMEH)
2080 DECLARE_INSN(rdinstreth, MATCH_RDINSTRETH, MASK_RDINSTRETH)
2081 DECLARE_INSN(scall, MATCH_SCALL, MASK_SCALL)
2082 DECLARE_INSN(sbreak, MATCH_SBREAK, MASK_SBREAK)
2083 DECLARE_INSN(fmv_x_s, MATCH_FMV_X_S, MASK_FMV_X_S)
2084 DECLARE_INSN(fmv_s_x, MATCH_FMV_S_X, MASK_FMV_S_X)
2085 DECLARE_INSN(fence_tso, MATCH_FENCE_TSO, MASK_FENCE_TSO)
2086 DECLARE_INSN(pause, MATCH_PAUSE, MASK_PAUSE)
2087 DECLARE_INSN(beq, MATCH_BEQ, MASK_BEQ)
2088 DECLARE_INSN(bne, MATCH_BNE, MASK_BNE)
2089 DECLARE_INSN(blt, MATCH_BLT, MASK_BLT)
2090 DECLARE_INSN(bge, MATCH_BGE, MASK_BGE)
2091 DECLARE_INSN(bltu, MATCH_BLTU, MASK_BLTU)
2092 DECLARE_INSN(bgeu, MATCH_BGEU, MASK_BGEU)
2093 DECLARE_INSN(jalr, MATCH_JALR, MASK_JALR)
2094 DECLARE_INSN(jal, MATCH_JAL, MASK_JAL)
2095 DECLARE_INSN(lui, MATCH_LUI, MASK_LUI)
2096 DECLARE_INSN(auipc, MATCH_AUIPC, MASK_AUIPC)
2097 DECLARE_INSN(addi, MATCH_ADDI, MASK_ADDI)
2098 DECLARE_INSN(slli, MATCH_SLLI, MASK_SLLI)
2099 DECLARE_INSN(slti, MATCH_SLTI, MASK_SLTI)
2100 DECLARE_INSN(sltiu, MATCH_SLTIU, MASK_SLTIU)
2101 DECLARE_INSN(xori, MATCH_XORI, MASK_XORI)
2102 DECLARE_INSN(srli, MATCH_SRLI, MASK_SRLI)
2103 DECLARE_INSN(srai, MATCH_SRAI, MASK_SRAI)
2104 DECLARE_INSN(ori, MATCH_ORI, MASK_ORI)
2105 DECLARE_INSN(andi, MATCH_ANDI, MASK_ANDI)
2106 DECLARE_INSN(add, MATCH_ADD, MASK_ADD)
2107 DECLARE_INSN(sub, MATCH_SUB, MASK_SUB)
2108 DECLARE_INSN(sll, MATCH_SLL, MASK_SLL)
2109 DECLARE_INSN(slt, MATCH_SLT, MASK_SLT)
2110 DECLARE_INSN(sltu, MATCH_SLTU, MASK_SLTU)
2111 DECLARE_INSN(xor, MATCH_XOR, MASK_XOR)
2112 DECLARE_INSN(srl, MATCH_SRL, MASK_SRL)
2113 DECLARE_INSN(sra, MATCH_SRA, MASK_SRA)
2114 DECLARE_INSN(or, MATCH_OR, MASK_OR)
2115 DECLARE_INSN(and, MATCH_AND, MASK_AND)
2116 DECLARE_INSN(lb, MATCH_LB, MASK_LB)
2117 DECLARE_INSN(lh, MATCH_LH, MASK_LH)
2118 DECLARE_INSN(lw, MATCH_LW, MASK_LW)
2119 DECLARE_INSN(lbu, MATCH_LBU, MASK_LBU)
2120 DECLARE_INSN(lhu, MATCH_LHU, MASK_LHU)
2121 DECLARE_INSN(sb, MATCH_SB, MASK_SB)
2122 DECLARE_INSN(sh, MATCH_SH, MASK_SH)
2123 DECLARE_INSN(sw, MATCH_SW, MASK_SW)
2124 DECLARE_INSN(fence, MATCH_FENCE, MASK_FENCE)
2125 DECLARE_INSN(fence_i, MATCH_FENCE_I, MASK_FENCE_I)
2126 DECLARE_INSN(addiw, MATCH_ADDIW, MASK_ADDIW)
2127 DECLARE_INSN(slliw, MATCH_SLLIW, MASK_SLLIW)
2128 DECLARE_INSN(srliw, MATCH_SRLIW, MASK_SRLIW)
2129 DECLARE_INSN(sraiw, MATCH_SRAIW, MASK_SRAIW)
2130 DECLARE_INSN(addw, MATCH_ADDW, MASK_ADDW)
2131 DECLARE_INSN(subw, MATCH_SUBW, MASK_SUBW)
2132 DECLARE_INSN(sllw, MATCH_SLLW, MASK_SLLW)
2133 DECLARE_INSN(srlw, MATCH_SRLW, MASK_SRLW)
2134 DECLARE_INSN(sraw, MATCH_SRAW, MASK_SRAW)
2135 DECLARE_INSN(ld, MATCH_LD, MASK_LD)
2136 DECLARE_INSN(lwu, MATCH_LWU, MASK_LWU)
2137 DECLARE_INSN(sd, MATCH_SD, MASK_SD)
2138 DECLARE_INSN(mul, MATCH_MUL, MASK_MUL)
2139 DECLARE_INSN(mulh, MATCH_MULH, MASK_MULH)
2140 DECLARE_INSN(mulhsu, MATCH_MULHSU, MASK_MULHSU)
2141 DECLARE_INSN(mulhu, MATCH_MULHU, MASK_MULHU)
2142 DECLARE_INSN(div, MATCH_DIV, MASK_DIV)
2143 DECLARE_INSN(divu, MATCH_DIVU, MASK_DIVU)
2144 DECLARE_INSN(rem, MATCH_REM, MASK_REM)
2145 DECLARE_INSN(remu, MATCH_REMU, MASK_REMU)
2146 DECLARE_INSN(mulw, MATCH_MULW, MASK_MULW)
2147 DECLARE_INSN(divw, MATCH_DIVW, MASK_DIVW)
2148 DECLARE_INSN(divuw, MATCH_DIVUW, MASK_DIVUW)
2149 DECLARE_INSN(remw, MATCH_REMW, MASK_REMW)
2150 DECLARE_INSN(remuw, MATCH_REMUW, MASK_REMUW)
2151 DECLARE_INSN(amoadd_w, MATCH_AMOADD_W, MASK_AMOADD_W)
2152 DECLARE_INSN(amoxor_w, MATCH_AMOXOR_W, MASK_AMOXOR_W)
2153 DECLARE_INSN(amoor_w, MATCH_AMOOR_W, MASK_AMOOR_W)
2154 DECLARE_INSN(amoand_w, MATCH_AMOAND_W, MASK_AMOAND_W)
2155 DECLARE_INSN(amomin_w, MATCH_AMOMIN_W, MASK_AMOMIN_W)
2156 DECLARE_INSN(amomax_w, MATCH_AMOMAX_W, MASK_AMOMAX_W)
2157 DECLARE_INSN(amominu_w, MATCH_AMOMINU_W, MASK_AMOMINU_W)
2158 DECLARE_INSN(amomaxu_w, MATCH_AMOMAXU_W, MASK_AMOMAXU_W)
2159 DECLARE_INSN(amoswap_w, MATCH_AMOSWAP_W, MASK_AMOSWAP_W)
2160 DECLARE_INSN(lr_w, MATCH_LR_W, MASK_LR_W)
2161 DECLARE_INSN(sc_w, MATCH_SC_W, MASK_SC_W)
2162 DECLARE_INSN(amoadd_d, MATCH_AMOADD_D, MASK_AMOADD_D)
2163 DECLARE_INSN(amoxor_d, MATCH_AMOXOR_D, MASK_AMOXOR_D)
2164 DECLARE_INSN(amoor_d, MATCH_AMOOR_D, MASK_AMOOR_D)
2165 DECLARE_INSN(amoand_d, MATCH_AMOAND_D, MASK_AMOAND_D)
2166 DECLARE_INSN(amomin_d, MATCH_AMOMIN_D, MASK_AMOMIN_D)
2167 DECLARE_INSN(amomax_d, MATCH_AMOMAX_D, MASK_AMOMAX_D)
2168 DECLARE_INSN(amominu_d, MATCH_AMOMINU_D, MASK_AMOMINU_D)
2169 DECLARE_INSN(amomaxu_d, MATCH_AMOMAXU_D, MASK_AMOMAXU_D)
2170 DECLARE_INSN(amoswap_d, MATCH_AMOSWAP_D, MASK_AMOSWAP_D)
2171 DECLARE_INSN(lr_d, MATCH_LR_D, MASK_LR_D)
2172 DECLARE_INSN(sc_d, MATCH_SC_D, MASK_SC_D)
2173 DECLARE_INSN(hfence_vvma, MATCH_HFENCE_VVMA, MASK_HFENCE_VVMA)
2174 DECLARE_INSN(hfence_gvma, MATCH_HFENCE_GVMA, MASK_HFENCE_GVMA)
2175 DECLARE_INSN(hlv_b, MATCH_HLV_B, MASK_HLV_B)
2176 DECLARE_INSN(hlv_bu, MATCH_HLV_BU, MASK_HLV_BU)
2177 DECLARE_INSN(hlv_h, MATCH_HLV_H, MASK_HLV_H)
2178 DECLARE_INSN(hlv_hu, MATCH_HLV_HU, MASK_HLV_HU)
2179 DECLARE_INSN(hlvx_hu, MATCH_HLVX_HU, MASK_HLVX_HU)
2180 DECLARE_INSN(hlv_w, MATCH_HLV_W, MASK_HLV_W)
2181 DECLARE_INSN(hlvx_wu, MATCH_HLVX_WU, MASK_HLVX_WU)
2182 DECLARE_INSN(hsv_b, MATCH_HSV_B, MASK_HSV_B)
2183 DECLARE_INSN(hsv_h, MATCH_HSV_H, MASK_HSV_H)
2184 DECLARE_INSN(hsv_w, MATCH_HSV_W, MASK_HSV_W)
2185 DECLARE_INSN(hlv_wu, MATCH_HLV_WU, MASK_HLV_WU)
2186 DECLARE_INSN(hlv_d, MATCH_HLV_D, MASK_HLV_D)
2187 DECLARE_INSN(hsv_d, MATCH_HSV_D, MASK_HSV_D)
2188 DECLARE_INSN(fadd_s, MATCH_FADD_S, MASK_FADD_S)
2189 DECLARE_INSN(fsub_s, MATCH_FSUB_S, MASK_FSUB_S)
2190 DECLARE_INSN(fmul_s, MATCH_FMUL_S, MASK_FMUL_S)
2191 DECLARE_INSN(fdiv_s, MATCH_FDIV_S, MASK_FDIV_S)
2192 DECLARE_INSN(fsgnj_s, MATCH_FSGNJ_S, MASK_FSGNJ_S)
2193 DECLARE_INSN(fsgnjn_s, MATCH_FSGNJN_S, MASK_FSGNJN_S)
2194 DECLARE_INSN(fsgnjx_s, MATCH_FSGNJX_S, MASK_FSGNJX_S)
2195 DECLARE_INSN(fmin_s, MATCH_FMIN_S, MASK_FMIN_S)
2196 DECLARE_INSN(fmax_s, MATCH_FMAX_S, MASK_FMAX_S)
2197 DECLARE_INSN(fsqrt_s, MATCH_FSQRT_S, MASK_FSQRT_S)
2198 DECLARE_INSN(fle_s, MATCH_FLE_S, MASK_FLE_S)
2199 DECLARE_INSN(flt_s, MATCH_FLT_S, MASK_FLT_S)
2200 DECLARE_INSN(feq_s, MATCH_FEQ_S, MASK_FEQ_S)
2201 DECLARE_INSN(fcvt_w_s, MATCH_FCVT_W_S, MASK_FCVT_W_S)
2202 DECLARE_INSN(fcvt_wu_s, MATCH_FCVT_WU_S, MASK_FCVT_WU_S)
2203 DECLARE_INSN(fmv_x_w, MATCH_FMV_X_W, MASK_FMV_X_W)
2204 DECLARE_INSN(fclass_s, MATCH_FCLASS_S, MASK_FCLASS_S)
2205 DECLARE_INSN(fcvt_s_w, MATCH_FCVT_S_W, MASK_FCVT_S_W)
2206 DECLARE_INSN(fcvt_s_wu, MATCH_FCVT_S_WU, MASK_FCVT_S_WU)
2207 DECLARE_INSN(fmv_w_x, MATCH_FMV_W_X, MASK_FMV_W_X)
2208 DECLARE_INSN(flw, MATCH_FLW, MASK_FLW)
2209 DECLARE_INSN(fsw, MATCH_FSW, MASK_FSW)
2210 DECLARE_INSN(fmadd_s, MATCH_FMADD_S, MASK_FMADD_S)
2211 DECLARE_INSN(fmsub_s, MATCH_FMSUB_S, MASK_FMSUB_S)
2212 DECLARE_INSN(fnmsub_s, MATCH_FNMSUB_S, MASK_FNMSUB_S)
2213 DECLARE_INSN(fnmadd_s, MATCH_FNMADD_S, MASK_FNMADD_S)
2214 DECLARE_INSN(fcvt_l_s, MATCH_FCVT_L_S, MASK_FCVT_L_S)
2215 DECLARE_INSN(fcvt_lu_s, MATCH_FCVT_LU_S, MASK_FCVT_LU_S)
2216 DECLARE_INSN(fcvt_s_l, MATCH_FCVT_S_L, MASK_FCVT_S_L)
2217 DECLARE_INSN(fcvt_s_lu, MATCH_FCVT_S_LU, MASK_FCVT_S_LU)
2218 DECLARE_INSN(fadd_d, MATCH_FADD_D, MASK_FADD_D)
2219 DECLARE_INSN(fsub_d, MATCH_FSUB_D, MASK_FSUB_D)
2220 DECLARE_INSN(fmul_d, MATCH_FMUL_D, MASK_FMUL_D)
2221 DECLARE_INSN(fdiv_d, MATCH_FDIV_D, MASK_FDIV_D)
2222 DECLARE_INSN(fsgnj_d, MATCH_FSGNJ_D, MASK_FSGNJ_D)
2223 DECLARE_INSN(fsgnjn_d, MATCH_FSGNJN_D, MASK_FSGNJN_D)
2224 DECLARE_INSN(fsgnjx_d, MATCH_FSGNJX_D, MASK_FSGNJX_D)
2225 DECLARE_INSN(fmin_d, MATCH_FMIN_D, MASK_FMIN_D)
2226 DECLARE_INSN(fmax_d, MATCH_FMAX_D, MASK_FMAX_D)
2227 DECLARE_INSN(fcvt_s_d, MATCH_FCVT_S_D, MASK_FCVT_S_D)
2228 DECLARE_INSN(fcvt_d_s, MATCH_FCVT_D_S, MASK_FCVT_D_S)
2229 DECLARE_INSN(fsqrt_d, MATCH_FSQRT_D, MASK_FSQRT_D)
2230 DECLARE_INSN(fle_d, MATCH_FLE_D, MASK_FLE_D)
2231 DECLARE_INSN(flt_d, MATCH_FLT_D, MASK_FLT_D)
2232 DECLARE_INSN(feq_d, MATCH_FEQ_D, MASK_FEQ_D)
2233 DECLARE_INSN(fcvt_w_d, MATCH_FCVT_W_D, MASK_FCVT_W_D)
2234 DECLARE_INSN(fcvt_wu_d, MATCH_FCVT_WU_D, MASK_FCVT_WU_D)
2235 DECLARE_INSN(fclass_d, MATCH_FCLASS_D, MASK_FCLASS_D)
2236 DECLARE_INSN(fcvt_d_w, MATCH_FCVT_D_W, MASK_FCVT_D_W)
2237 DECLARE_INSN(fcvt_d_wu, MATCH_FCVT_D_WU, MASK_FCVT_D_WU)
2238 DECLARE_INSN(fld, MATCH_FLD, MASK_FLD)
2239 DECLARE_INSN(fsd, MATCH_FSD, MASK_FSD)
2240 DECLARE_INSN(fmadd_d, MATCH_FMADD_D, MASK_FMADD_D)
2241 DECLARE_INSN(fmsub_d, MATCH_FMSUB_D, MASK_FMSUB_D)
2242 DECLARE_INSN(fnmsub_d, MATCH_FNMSUB_D, MASK_FNMSUB_D)
2243 DECLARE_INSN(fnmadd_d, MATCH_FNMADD_D, MASK_FNMADD_D)
2244 DECLARE_INSN(fcvt_l_d, MATCH_FCVT_L_D, MASK_FCVT_L_D)
2245 DECLARE_INSN(fcvt_lu_d, MATCH_FCVT_LU_D, MASK_FCVT_LU_D)
2246 DECLARE_INSN(fmv_x_d, MATCH_FMV_X_D, MASK_FMV_X_D)
2247 DECLARE_INSN(fcvt_d_l, MATCH_FCVT_D_L, MASK_FCVT_D_L)
2248 DECLARE_INSN(fcvt_d_lu, MATCH_FCVT_D_LU, MASK_FCVT_D_LU)
2249 DECLARE_INSN(fmv_d_x, MATCH_FMV_D_X, MASK_FMV_D_X)
2250 DECLARE_INSN(fadd_q, MATCH_FADD_Q, MASK_FADD_Q)
2251 DECLARE_INSN(fsub_q, MATCH_FSUB_Q, MASK_FSUB_Q)
2252 DECLARE_INSN(fmul_q, MATCH_FMUL_Q, MASK_FMUL_Q)
2253 DECLARE_INSN(fdiv_q, MATCH_FDIV_Q, MASK_FDIV_Q)
2254 DECLARE_INSN(fsgnj_q, MATCH_FSGNJ_Q, MASK_FSGNJ_Q)
2255 DECLARE_INSN(fsgnjn_q, MATCH_FSGNJN_Q, MASK_FSGNJN_Q)
2256 DECLARE_INSN(fsgnjx_q, MATCH_FSGNJX_Q, MASK_FSGNJX_Q)
2257 DECLARE_INSN(fmin_q, MATCH_FMIN_Q, MASK_FMIN_Q)
2258 DECLARE_INSN(fmax_q, MATCH_FMAX_Q, MASK_FMAX_Q)
2259 DECLARE_INSN(fcvt_s_q, MATCH_FCVT_S_Q, MASK_FCVT_S_Q)
2260 DECLARE_INSN(fcvt_q_s, MATCH_FCVT_Q_S, MASK_FCVT_Q_S)
2261 DECLARE_INSN(fcvt_d_q, MATCH_FCVT_D_Q, MASK_FCVT_D_Q)
2262 DECLARE_INSN(fcvt_q_d, MATCH_FCVT_Q_D, MASK_FCVT_Q_D)
2263 DECLARE_INSN(fsqrt_q, MATCH_FSQRT_Q, MASK_FSQRT_Q)
2264 DECLARE_INSN(fle_q, MATCH_FLE_Q, MASK_FLE_Q)
2265 DECLARE_INSN(flt_q, MATCH_FLT_Q, MASK_FLT_Q)
2266 DECLARE_INSN(feq_q, MATCH_FEQ_Q, MASK_FEQ_Q)
2267 DECLARE_INSN(fcvt_w_q, MATCH_FCVT_W_Q, MASK_FCVT_W_Q)
2268 DECLARE_INSN(fcvt_wu_q, MATCH_FCVT_WU_Q, MASK_FCVT_WU_Q)
2269 DECLARE_INSN(fclass_q, MATCH_FCLASS_Q, MASK_FCLASS_Q)
2270 DECLARE_INSN(fcvt_q_w, MATCH_FCVT_Q_W, MASK_FCVT_Q_W)
2271 DECLARE_INSN(fcvt_q_wu, MATCH_FCVT_Q_WU, MASK_FCVT_Q_WU)
2272 DECLARE_INSN(flq, MATCH_FLQ, MASK_FLQ)
2273 DECLARE_INSN(fsq, MATCH_FSQ, MASK_FSQ)
2274 DECLARE_INSN(fmadd_q, MATCH_FMADD_Q, MASK_FMADD_Q)
2275 DECLARE_INSN(fmsub_q, MATCH_FMSUB_Q, MASK_FMSUB_Q)
2276 DECLARE_INSN(fnmsub_q, MATCH_FNMSUB_Q, MASK_FNMSUB_Q)
2277 DECLARE_INSN(fnmadd_q, MATCH_FNMADD_Q, MASK_FNMADD_Q)
2278 DECLARE_INSN(fcvt_l_q, MATCH_FCVT_L_Q, MASK_FCVT_L_Q)
2279 DECLARE_INSN(fcvt_lu_q, MATCH_FCVT_LU_Q, MASK_FCVT_LU_Q)
2280 DECLARE_INSN(fcvt_q_l, MATCH_FCVT_Q_L, MASK_FCVT_Q_L)
2281 DECLARE_INSN(fcvt_q_lu, MATCH_FCVT_Q_LU, MASK_FCVT_Q_LU)
2282 DECLARE_INSN(ecall, MATCH_ECALL, MASK_ECALL)
2283 DECLARE_INSN(ebreak, MATCH_EBREAK, MASK_EBREAK)
2284 DECLARE_INSN(uret, MATCH_URET, MASK_URET)
2285 DECLARE_INSN(sret, MATCH_SRET, MASK_SRET)
2286 DECLARE_INSN(mret, MATCH_MRET, MASK_MRET)
2287 DECLARE_INSN(dret, MATCH_DRET, MASK_DRET)
2288 DECLARE_INSN(sfence_vma, MATCH_SFENCE_VMA, MASK_SFENCE_VMA)
2289 DECLARE_INSN(wfi, MATCH_WFI, MASK_WFI)
2290 DECLARE_INSN(csrrw, MATCH_CSRRW, MASK_CSRRW)
2291 DECLARE_INSN(csrrs, MATCH_CSRRS, MASK_CSRRS)
2292 DECLARE_INSN(csrrc, MATCH_CSRRC, MASK_CSRRC)
2293 DECLARE_INSN(csrrwi, MATCH_CSRRWI, MASK_CSRRWI)
2294 DECLARE_INSN(csrrsi, MATCH_CSRRSI, MASK_CSRRSI)
2295 DECLARE_INSN(csrrci, MATCH_CSRRCI, MASK_CSRRCI)
2296 DECLARE_INSN(c_nop, MATCH_C_NOP, MASK_C_NOP)
2297 DECLARE_INSN(c_addi16sp, MATCH_C_ADDI16SP, MASK_C_ADDI16SP)
2298 DECLARE_INSN(c_jr, MATCH_C_JR, MASK_C_JR)
2299 DECLARE_INSN(c_jalr, MATCH_C_JALR, MASK_C_JALR)
2300 DECLARE_INSN(c_ebreak, MATCH_C_EBREAK, MASK_C_EBREAK)
2301 DECLARE_INSN(c_addi4spn, MATCH_C_ADDI4SPN, MASK_C_ADDI4SPN)
2302 DECLARE_INSN(c_fld, MATCH_C_FLD, MASK_C_FLD)
2303 DECLARE_INSN(c_lw, MATCH_C_LW, MASK_C_LW)
2304 DECLARE_INSN(c_flw, MATCH_C_FLW, MASK_C_FLW)
2305 DECLARE_INSN(c_fsd, MATCH_C_FSD, MASK_C_FSD)
2306 DECLARE_INSN(c_sw, MATCH_C_SW, MASK_C_SW)
2307 DECLARE_INSN(c_fsw, MATCH_C_FSW, MASK_C_FSW)
2308 DECLARE_INSN(c_addi, MATCH_C_ADDI, MASK_C_ADDI)
2309 DECLARE_INSN(c_jal, MATCH_C_JAL, MASK_C_JAL)
2310 DECLARE_INSN(c_li, MATCH_C_LI, MASK_C_LI)
2311 DECLARE_INSN(c_lui, MATCH_C_LUI, MASK_C_LUI)
2312 DECLARE_INSN(c_srli, MATCH_C_SRLI, MASK_C_SRLI)
2313 DECLARE_INSN(c_srai, MATCH_C_SRAI, MASK_C_SRAI)
2314 DECLARE_INSN(c_andi, MATCH_C_ANDI, MASK_C_ANDI)
2315 DECLARE_INSN(c_sub, MATCH_C_SUB, MASK_C_SUB)
2316 DECLARE_INSN(c_xor, MATCH_C_XOR, MASK_C_XOR)
2317 DECLARE_INSN(c_or, MATCH_C_OR, MASK_C_OR)
2318 DECLARE_INSN(c_and, MATCH_C_AND, MASK_C_AND)
2319 DECLARE_INSN(c_j, MATCH_C_J, MASK_C_J)
2320 DECLARE_INSN(c_beqz, MATCH_C_BEQZ, MASK_C_BEQZ)
2321 DECLARE_INSN(c_bnez, MATCH_C_BNEZ, MASK_C_BNEZ)
2322 DECLARE_INSN(c_slli, MATCH_C_SLLI, MASK_C_SLLI)
2323 DECLARE_INSN(c_fldsp, MATCH_C_FLDSP, MASK_C_FLDSP)
2324 DECLARE_INSN(c_lwsp, MATCH_C_LWSP, MASK_C_LWSP)
2325 DECLARE_INSN(c_flwsp, MATCH_C_FLWSP, MASK_C_FLWSP)
2326 DECLARE_INSN(c_mv, MATCH_C_MV, MASK_C_MV)
2327 DECLARE_INSN(c_add, MATCH_C_ADD, MASK_C_ADD)
2328 DECLARE_INSN(c_fsdsp, MATCH_C_FSDSP, MASK_C_FSDSP)
2329 DECLARE_INSN(c_swsp, MATCH_C_SWSP, MASK_C_SWSP)
2330 DECLARE_INSN(c_fswsp, MATCH_C_FSWSP, MASK_C_FSWSP)
2331 DECLARE_INSN(c_srli_rv32, MATCH_C_SRLI_RV32, MASK_C_SRLI_RV32)
2332 DECLARE_INSN(c_srai_rv32, MATCH_C_SRAI_RV32, MASK_C_SRAI_RV32)
2333 DECLARE_INSN(c_slli_rv32, MATCH_C_SLLI_RV32, MASK_C_SLLI_RV32)
2334 DECLARE_INSN(c_ld, MATCH_C_LD, MASK_C_LD)
2335 DECLARE_INSN(c_sd, MATCH_C_SD, MASK_C_SD)
2336 DECLARE_INSN(c_subw, MATCH_C_SUBW, MASK_C_SUBW)
2337 DECLARE_INSN(c_addw, MATCH_C_ADDW, MASK_C_ADDW)
2338 DECLARE_INSN(c_addiw, MATCH_C_ADDIW, MASK_C_ADDIW)
2339 DECLARE_INSN(c_ldsp, MATCH_C_LDSP, MASK_C_LDSP)
2340 DECLARE_INSN(c_sdsp, MATCH_C_SDSP, MASK_C_SDSP)
2341 DECLARE_INSN(custom0, MATCH_CUSTOM0, MASK_CUSTOM0)
2342 DECLARE_INSN(custom0_rs1, MATCH_CUSTOM0_RS1, MASK_CUSTOM0_RS1)
2343 DECLARE_INSN(custom0_rs1_rs2, MATCH_CUSTOM0_RS1_RS2, MASK_CUSTOM0_RS1_RS2)
2344 DECLARE_INSN(custom0_rd, MATCH_CUSTOM0_RD, MASK_CUSTOM0_RD)
2345 DECLARE_INSN(custom0_rd_rs1, MATCH_CUSTOM0_RD_RS1, MASK_CUSTOM0_RD_RS1)
2346 DECLARE_INSN(custom0_rd_rs1_rs2, MATCH_CUSTOM0_RD_RS1_RS2, MASK_CUSTOM0_RD_RS1_RS2)
2347 DECLARE_INSN(custom1, MATCH_CUSTOM1, MASK_CUSTOM1)
2348 DECLARE_INSN(custom1_rs1, MATCH_CUSTOM1_RS1, MASK_CUSTOM1_RS1)
2349 DECLARE_INSN(custom1_rs1_rs2, MATCH_CUSTOM1_RS1_RS2, MASK_CUSTOM1_RS1_RS2)
2350 DECLARE_INSN(custom1_rd, MATCH_CUSTOM1_RD, MASK_CUSTOM1_RD)
2351 DECLARE_INSN(custom1_rd_rs1, MATCH_CUSTOM1_RD_RS1, MASK_CUSTOM1_RD_RS1)
2352 DECLARE_INSN(custom1_rd_rs1_rs2, MATCH_CUSTOM1_RD_RS1_RS2, MASK_CUSTOM1_RD_RS1_RS2)
2353 DECLARE_INSN(custom2, MATCH_CUSTOM2, MASK_CUSTOM2)
2354 DECLARE_INSN(custom2_rs1, MATCH_CUSTOM2_RS1, MASK_CUSTOM2_RS1)
2355 DECLARE_INSN(custom2_rs1_rs2, MATCH_CUSTOM2_RS1_RS2, MASK_CUSTOM2_RS1_RS2)
2356 DECLARE_INSN(custom2_rd, MATCH_CUSTOM2_RD, MASK_CUSTOM2_RD)
2357 DECLARE_INSN(custom2_rd_rs1, MATCH_CUSTOM2_RD_RS1, MASK_CUSTOM2_RD_RS1)
2358 DECLARE_INSN(custom2_rd_rs1_rs2, MATCH_CUSTOM2_RD_RS1_RS2, MASK_CUSTOM2_RD_RS1_RS2)
2359 DECLARE_INSN(custom3, MATCH_CUSTOM3, MASK_CUSTOM3)
2360 DECLARE_INSN(custom3_rs1, MATCH_CUSTOM3_RS1, MASK_CUSTOM3_RS1)
2361 DECLARE_INSN(custom3_rs1_rs2, MATCH_CUSTOM3_RS1_RS2, MASK_CUSTOM3_RS1_RS2)
2362 DECLARE_INSN(custom3_rd, MATCH_CUSTOM3_RD, MASK_CUSTOM3_RD)
2363 DECLARE_INSN(custom3_rd_rs1, MATCH_CUSTOM3_RD_RS1, MASK_CUSTOM3_RD_RS1)
2364 DECLARE_INSN(custom3_rd_rs1_rs2, MATCH_CUSTOM3_RD_RS1_RS2, MASK_CUSTOM3_RD_RS1_RS2)
2365 DECLARE_INSN(vsetvli, MATCH_VSETVLI, MASK_VSETVLI)
2366 DECLARE_INSN(vsetvl, MATCH_VSETVL, MASK_VSETVL)
2367 DECLARE_INSN(vle8_v, MATCH_VLE8_V, MASK_VLE8_V)
2368 DECLARE_INSN(vle16_v, MATCH_VLE16_V, MASK_VLE16_V)
2369 DECLARE_INSN(vle32_v, MATCH_VLE32_V, MASK_VLE32_V)
2370 DECLARE_INSN(vle64_v, MATCH_VLE64_V, MASK_VLE64_V)
2371 DECLARE_INSN(vle128_v, MATCH_VLE128_V, MASK_VLE128_V)
2372 DECLARE_INSN(vle256_v, MATCH_VLE256_V, MASK_VLE256_V)
2373 DECLARE_INSN(vle512_v, MATCH_VLE512_V, MASK_VLE512_V)
2374 DECLARE_INSN(vle1024_v, MATCH_VLE1024_V, MASK_VLE1024_V)
2375 DECLARE_INSN(vse8_v, MATCH_VSE8_V, MASK_VSE8_V)
2376 DECLARE_INSN(vse16_v, MATCH_VSE16_V, MASK_VSE16_V)
2377 DECLARE_INSN(vse32_v, MATCH_VSE32_V, MASK_VSE32_V)
2378 DECLARE_INSN(vse64_v, MATCH_VSE64_V, MASK_VSE64_V)
2379 DECLARE_INSN(vse128_v, MATCH_VSE128_V, MASK_VSE128_V)
2380 DECLARE_INSN(vse256_v, MATCH_VSE256_V, MASK_VSE256_V)
2381 DECLARE_INSN(vse512_v, MATCH_VSE512_V, MASK_VSE512_V)
2382 DECLARE_INSN(vse1024_v, MATCH_VSE1024_V, MASK_VSE1024_V)
2383 DECLARE_INSN(vlse8_v, MATCH_VLSE8_V, MASK_VLSE8_V)
2384 DECLARE_INSN(vlse16_v, MATCH_VLSE16_V, MASK_VLSE16_V)
2385 DECLARE_INSN(vlse32_v, MATCH_VLSE32_V, MASK_VLSE32_V)
2386 DECLARE_INSN(vlse64_v, MATCH_VLSE64_V, MASK_VLSE64_V)
2387 DECLARE_INSN(vlse128_v, MATCH_VLSE128_V, MASK_VLSE128_V)
2388 DECLARE_INSN(vlse256_v, MATCH_VLSE256_V, MASK_VLSE256_V)
2389 DECLARE_INSN(vlse512_v, MATCH_VLSE512_V, MASK_VLSE512_V)
2390 DECLARE_INSN(vlse1024_v, MATCH_VLSE1024_V, MASK_VLSE1024_V)
2391 DECLARE_INSN(vsse8_v, MATCH_VSSE8_V, MASK_VSSE8_V)
2392 DECLARE_INSN(vsse16_v, MATCH_VSSE16_V, MASK_VSSE16_V)
2393 DECLARE_INSN(vsse32_v, MATCH_VSSE32_V, MASK_VSSE32_V)
2394 DECLARE_INSN(vsse64_v, MATCH_VSSE64_V, MASK_VSSE64_V)
2395 DECLARE_INSN(vsse128_v, MATCH_VSSE128_V, MASK_VSSE128_V)
2396 DECLARE_INSN(vsse256_v, MATCH_VSSE256_V, MASK_VSSE256_V)
2397 DECLARE_INSN(vsse512_v, MATCH_VSSE512_V, MASK_VSSE512_V)
2398 DECLARE_INSN(vsse1024_v, MATCH_VSSE1024_V, MASK_VSSE1024_V)
2399 DECLARE_INSN(vlxei8_v, MATCH_VLXEI8_V, MASK_VLXEI8_V)
2400 DECLARE_INSN(vlxei16_v, MATCH_VLXEI16_V, MASK_VLXEI16_V)
2401 DECLARE_INSN(vlxei32_v, MATCH_VLXEI32_V, MASK_VLXEI32_V)
2402 DECLARE_INSN(vlxei64_v, MATCH_VLXEI64_V, MASK_VLXEI64_V)
2403 DECLARE_INSN(vlxei128_v, MATCH_VLXEI128_V, MASK_VLXEI128_V)
2404 DECLARE_INSN(vlxei256_v, MATCH_VLXEI256_V, MASK_VLXEI256_V)
2405 DECLARE_INSN(vlxei512_v, MATCH_VLXEI512_V, MASK_VLXEI512_V)
2406 DECLARE_INSN(vlxei1024_v, MATCH_VLXEI1024_V, MASK_VLXEI1024_V)
2407 DECLARE_INSN(vsxei8_v, MATCH_VSXEI8_V, MASK_VSXEI8_V)
2408 DECLARE_INSN(vsxei16_v, MATCH_VSXEI16_V, MASK_VSXEI16_V)
2409 DECLARE_INSN(vsxei32_v, MATCH_VSXEI32_V, MASK_VSXEI32_V)
2410 DECLARE_INSN(vsxei64_v, MATCH_VSXEI64_V, MASK_VSXEI64_V)
2411 DECLARE_INSN(vsxei128_v, MATCH_VSXEI128_V, MASK_VSXEI128_V)
2412 DECLARE_INSN(vsxei256_v, MATCH_VSXEI256_V, MASK_VSXEI256_V)
2413 DECLARE_INSN(vsxei512_v, MATCH_VSXEI512_V, MASK_VSXEI512_V)
2414 DECLARE_INSN(vsxei1024_v, MATCH_VSXEI1024_V, MASK_VSXEI1024_V)
2415 DECLARE_INSN(vsuxei8_v, MATCH_VSUXEI8_V, MASK_VSUXEI8_V)
2416 DECLARE_INSN(vsuxei16_v, MATCH_VSUXEI16_V, MASK_VSUXEI16_V)
2417 DECLARE_INSN(vsuxei32_v, MATCH_VSUXEI32_V, MASK_VSUXEI32_V)
2418 DECLARE_INSN(vsuxei64_v, MATCH_VSUXEI64_V, MASK_VSUXEI64_V)
2419 DECLARE_INSN(vsuxei128_v, MATCH_VSUXEI128_V, MASK_VSUXEI128_V)
2420 DECLARE_INSN(vsuxei256_v, MATCH_VSUXEI256_V, MASK_VSUXEI256_V)
2421 DECLARE_INSN(vsuxei512_v, MATCH_VSUXEI512_V, MASK_VSUXEI512_V)
2422 DECLARE_INSN(vsuxei1024_v, MATCH_VSUXEI1024_V, MASK_VSUXEI1024_V)
2423 DECLARE_INSN(vle8ff_v, MATCH_VLE8FF_V, MASK_VLE8FF_V)
2424 DECLARE_INSN(vle16ff_v, MATCH_VLE16FF_V, MASK_VLE16FF_V)
2425 DECLARE_INSN(vle32ff_v, MATCH_VLE32FF_V, MASK_VLE32FF_V)
2426 DECLARE_INSN(vle64ff_v, MATCH_VLE64FF_V, MASK_VLE64FF_V)
2427 DECLARE_INSN(vle128ff_v, MATCH_VLE128FF_V, MASK_VLE128FF_V)
2428 DECLARE_INSN(vle256ff_v, MATCH_VLE256FF_V, MASK_VLE256FF_V)
2429 DECLARE_INSN(vle512ff_v, MATCH_VLE512FF_V, MASK_VLE512FF_V)
2430 DECLARE_INSN(vle1024ff_v, MATCH_VLE1024FF_V, MASK_VLE1024FF_V)
2431 DECLARE_INSN(vl1re8_v, MATCH_VL1RE8_V, MASK_VL1RE8_V)
2432 DECLARE_INSN(vl1re16_v, MATCH_VL1RE16_V, MASK_VL1RE16_V)
2433 DECLARE_INSN(vl1re32_v, MATCH_VL1RE32_V, MASK_VL1RE32_V)
2434 DECLARE_INSN(vl1re64_v, MATCH_VL1RE64_V, MASK_VL1RE64_V)
2435 DECLARE_INSN(vl2re8_v, MATCH_VL2RE8_V, MASK_VL2RE8_V)
2436 DECLARE_INSN(vl2re16_v, MATCH_VL2RE16_V, MASK_VL2RE16_V)
2437 DECLARE_INSN(vl2re32_v, MATCH_VL2RE32_V, MASK_VL2RE32_V)
2438 DECLARE_INSN(vl2re64_v, MATCH_VL2RE64_V, MASK_VL2RE64_V)
2439 DECLARE_INSN(vl4re8_v, MATCH_VL4RE8_V, MASK_VL4RE8_V)
2440 DECLARE_INSN(vl4re16_v, MATCH_VL4RE16_V, MASK_VL4RE16_V)
2441 DECLARE_INSN(vl4re32_v, MATCH_VL4RE32_V, MASK_VL4RE32_V)
2442 DECLARE_INSN(vl4re64_v, MATCH_VL4RE64_V, MASK_VL4RE64_V)
2443 DECLARE_INSN(vl8re8_v, MATCH_VL8RE8_V, MASK_VL8RE8_V)
2444 DECLARE_INSN(vl8re16_v, MATCH_VL8RE16_V, MASK_VL8RE16_V)
2445 DECLARE_INSN(vl8re32_v, MATCH_VL8RE32_V, MASK_VL8RE32_V)
2446 DECLARE_INSN(vl8re64_v, MATCH_VL8RE64_V, MASK_VL8RE64_V)
2447 DECLARE_INSN(vs1r_v, MATCH_VS1R_V, MASK_VS1R_V)
2448 DECLARE_INSN(vs2r_v, MATCH_VS2R_V, MASK_VS2R_V)
2449 DECLARE_INSN(vs4r_v, MATCH_VS4R_V, MASK_VS4R_V)
2450 DECLARE_INSN(vs8r_v, MATCH_VS8R_V, MASK_VS8R_V)
2451 DECLARE_INSN(vfadd_vf, MATCH_VFADD_VF, MASK_VFADD_VF)
2452 DECLARE_INSN(vfsub_vf, MATCH_VFSUB_VF, MASK_VFSUB_VF)
2453 DECLARE_INSN(vfmin_vf, MATCH_VFMIN_VF, MASK_VFMIN_VF)
2454 DECLARE_INSN(vfmax_vf, MATCH_VFMAX_VF, MASK_VFMAX_VF)
2455 DECLARE_INSN(vfsgnj_vf, MATCH_VFSGNJ_VF, MASK_VFSGNJ_VF)
2456 DECLARE_INSN(vfsgnjn_vf, MATCH_VFSGNJN_VF, MASK_VFSGNJN_VF)
2457 DECLARE_INSN(vfsgnjx_vf, MATCH_VFSGNJX_VF, MASK_VFSGNJX_VF)
2458 DECLARE_INSN(vfslide1up_vf, MATCH_VFSLIDE1UP_VF, MASK_VFSLIDE1UP_VF)
2459 DECLARE_INSN(vfslide1down_vf, MATCH_VFSLIDE1DOWN_VF, MASK_VFSLIDE1DOWN_VF)
2460 DECLARE_INSN(vfmv_s_f, MATCH_VFMV_S_F, MASK_VFMV_S_F)
2461 DECLARE_INSN(vfmerge_vfm, MATCH_VFMERGE_VFM, MASK_VFMERGE_VFM)
2462 DECLARE_INSN(vfmv_v_f, MATCH_VFMV_V_F, MASK_VFMV_V_F)
2463 DECLARE_INSN(vmfeq_vf, MATCH_VMFEQ_VF, MASK_VMFEQ_VF)
2464 DECLARE_INSN(vmfle_vf, MATCH_VMFLE_VF, MASK_VMFLE_VF)
2465 DECLARE_INSN(vmflt_vf, MATCH_VMFLT_VF, MASK_VMFLT_VF)
2466 DECLARE_INSN(vmfne_vf, MATCH_VMFNE_VF, MASK_VMFNE_VF)
2467 DECLARE_INSN(vmfgt_vf, MATCH_VMFGT_VF, MASK_VMFGT_VF)
2468 DECLARE_INSN(vmfge_vf, MATCH_VMFGE_VF, MASK_VMFGE_VF)
2469 DECLARE_INSN(vfdiv_vf, MATCH_VFDIV_VF, MASK_VFDIV_VF)
2470 DECLARE_INSN(vfrdiv_vf, MATCH_VFRDIV_VF, MASK_VFRDIV_VF)
2471 DECLARE_INSN(vfmul_vf, MATCH_VFMUL_VF, MASK_VFMUL_VF)
2472 DECLARE_INSN(vfrsub_vf, MATCH_VFRSUB_VF, MASK_VFRSUB_VF)
2473 DECLARE_INSN(vfmadd_vf, MATCH_VFMADD_VF, MASK_VFMADD_VF)
2474 DECLARE_INSN(vfnmadd_vf, MATCH_VFNMADD_VF, MASK_VFNMADD_VF)
2475 DECLARE_INSN(vfmsub_vf, MATCH_VFMSUB_VF, MASK_VFMSUB_VF)
2476 DECLARE_INSN(vfnmsub_vf, MATCH_VFNMSUB_VF, MASK_VFNMSUB_VF)
2477 DECLARE_INSN(vfmacc_vf, MATCH_VFMACC_VF, MASK_VFMACC_VF)
2478 DECLARE_INSN(vfnmacc_vf, MATCH_VFNMACC_VF, MASK_VFNMACC_VF)
2479 DECLARE_INSN(vfmsac_vf, MATCH_VFMSAC_VF, MASK_VFMSAC_VF)
2480 DECLARE_INSN(vfnmsac_vf, MATCH_VFNMSAC_VF, MASK_VFNMSAC_VF)
2481 DECLARE_INSN(vfwadd_vf, MATCH_VFWADD_VF, MASK_VFWADD_VF)
2482 DECLARE_INSN(vfwsub_vf, MATCH_VFWSUB_VF, MASK_VFWSUB_VF)
2483 DECLARE_INSN(vfwadd_wf, MATCH_VFWADD_WF, MASK_VFWADD_WF)
2484 DECLARE_INSN(vfwsub_wf, MATCH_VFWSUB_WF, MASK_VFWSUB_WF)
2485 DECLARE_INSN(vfwmul_vf, MATCH_VFWMUL_VF, MASK_VFWMUL_VF)
2486 DECLARE_INSN(vfwmacc_vf, MATCH_VFWMACC_VF, MASK_VFWMACC_VF)
2487 DECLARE_INSN(vfwnmacc_vf, MATCH_VFWNMACC_VF, MASK_VFWNMACC_VF)
2488 DECLARE_INSN(vfwmsac_vf, MATCH_VFWMSAC_VF, MASK_VFWMSAC_VF)
2489 DECLARE_INSN(vfwnmsac_vf, MATCH_VFWNMSAC_VF, MASK_VFWNMSAC_VF)
2490 DECLARE_INSN(vfadd_vv, MATCH_VFADD_VV, MASK_VFADD_VV)
2491 DECLARE_INSN(vfredsum_vs, MATCH_VFREDSUM_VS, MASK_VFREDSUM_VS)
2492 DECLARE_INSN(vfsub_vv, MATCH_VFSUB_VV, MASK_VFSUB_VV)
2493 DECLARE_INSN(vfredosum_vs, MATCH_VFREDOSUM_VS, MASK_VFREDOSUM_VS)
2494 DECLARE_INSN(vfmin_vv, MATCH_VFMIN_VV, MASK_VFMIN_VV)
2495 DECLARE_INSN(vfredmin_vs, MATCH_VFREDMIN_VS, MASK_VFREDMIN_VS)
2496 DECLARE_INSN(vfmax_vv, MATCH_VFMAX_VV, MASK_VFMAX_VV)
2497 DECLARE_INSN(vfredmax_vs, MATCH_VFREDMAX_VS, MASK_VFREDMAX_VS)
2498 DECLARE_INSN(vfsgnj_vv, MATCH_VFSGNJ_VV, MASK_VFSGNJ_VV)
2499 DECLARE_INSN(vfsgnjn_vv, MATCH_VFSGNJN_VV, MASK_VFSGNJN_VV)
2500 DECLARE_INSN(vfsgnjx_vv, MATCH_VFSGNJX_VV, MASK_VFSGNJX_VV)
2501 DECLARE_INSN(vfmv_f_s, MATCH_VFMV_F_S, MASK_VFMV_F_S)
2502 DECLARE_INSN(vmfeq_vv, MATCH_VMFEQ_VV, MASK_VMFEQ_VV)
2503 DECLARE_INSN(vmfle_vv, MATCH_VMFLE_VV, MASK_VMFLE_VV)
2504 DECLARE_INSN(vmflt_vv, MATCH_VMFLT_VV, MASK_VMFLT_VV)
2505 DECLARE_INSN(vmfne_vv, MATCH_VMFNE_VV, MASK_VMFNE_VV)
2506 DECLARE_INSN(vfdiv_vv, MATCH_VFDIV_VV, MASK_VFDIV_VV)
2507 DECLARE_INSN(vfmul_vv, MATCH_VFMUL_VV, MASK_VFMUL_VV)
2508 DECLARE_INSN(vfmadd_vv, MATCH_VFMADD_VV, MASK_VFMADD_VV)
2509 DECLARE_INSN(vfnmadd_vv, MATCH_VFNMADD_VV, MASK_VFNMADD_VV)
2510 DECLARE_INSN(vfmsub_vv, MATCH_VFMSUB_VV, MASK_VFMSUB_VV)
2511 DECLARE_INSN(vfnmsub_vv, MATCH_VFNMSUB_VV, MASK_VFNMSUB_VV)
2512 DECLARE_INSN(vfmacc_vv, MATCH_VFMACC_VV, MASK_VFMACC_VV)
2513 DECLARE_INSN(vfnmacc_vv, MATCH_VFNMACC_VV, MASK_VFNMACC_VV)
2514 DECLARE_INSN(vfmsac_vv, MATCH_VFMSAC_VV, MASK_VFMSAC_VV)
2515 DECLARE_INSN(vfnmsac_vv, MATCH_VFNMSAC_VV, MASK_VFNMSAC_VV)
2516 DECLARE_INSN(vfcvt_xu_f_v, MATCH_VFCVT_XU_F_V, MASK_VFCVT_XU_F_V)
2517 DECLARE_INSN(vfcvt_x_f_v, MATCH_VFCVT_X_F_V, MASK_VFCVT_X_F_V)
2518 DECLARE_INSN(vfcvt_f_xu_v, MATCH_VFCVT_F_XU_V, MASK_VFCVT_F_XU_V)
2519 DECLARE_INSN(vfcvt_f_x_v, MATCH_VFCVT_F_X_V, MASK_VFCVT_F_X_V)
2520 DECLARE_INSN(vfcvt_rtz_xu_f_v, MATCH_VFCVT_RTZ_XU_F_V, MASK_VFCVT_RTZ_XU_F_V)
2521 DECLARE_INSN(vfcvt_rtz_x_f_v, MATCH_VFCVT_RTZ_X_F_V, MASK_VFCVT_RTZ_X_F_V)
2522 DECLARE_INSN(vfwcvt_xu_f_v, MATCH_VFWCVT_XU_F_V, MASK_VFWCVT_XU_F_V)
2523 DECLARE_INSN(vfwcvt_x_f_v, MATCH_VFWCVT_X_F_V, MASK_VFWCVT_X_F_V)
2524 DECLARE_INSN(vfwcvt_f_xu_v, MATCH_VFWCVT_F_XU_V, MASK_VFWCVT_F_XU_V)
2525 DECLARE_INSN(vfwcvt_f_x_v, MATCH_VFWCVT_F_X_V, MASK_VFWCVT_F_X_V)
2526 DECLARE_INSN(vfwcvt_f_f_v, MATCH_VFWCVT_F_F_V, MASK_VFWCVT_F_F_V)
2527 DECLARE_INSN(vfwcvt_rtz_xu_f_v, MATCH_VFWCVT_RTZ_XU_F_V, MASK_VFWCVT_RTZ_XU_F_V)
2528 DECLARE_INSN(vfwcvt_rtz_x_f_v, MATCH_VFWCVT_RTZ_X_F_V, MASK_VFWCVT_RTZ_X_F_V)
2529 DECLARE_INSN(vfncvt_xu_f_w, MATCH_VFNCVT_XU_F_W, MASK_VFNCVT_XU_F_W)
2530 DECLARE_INSN(vfncvt_x_f_w, MATCH_VFNCVT_X_F_W, MASK_VFNCVT_X_F_W)
2531 DECLARE_INSN(vfncvt_f_xu_w, MATCH_VFNCVT_F_XU_W, MASK_VFNCVT_F_XU_W)
2532 DECLARE_INSN(vfncvt_f_x_w, MATCH_VFNCVT_F_X_W, MASK_VFNCVT_F_X_W)
2533 DECLARE_INSN(vfncvt_f_f_w, MATCH_VFNCVT_F_F_W, MASK_VFNCVT_F_F_W)
2534 DECLARE_INSN(vfncvt_rod_f_f_w, MATCH_VFNCVT_ROD_F_F_W, MASK_VFNCVT_ROD_F_F_W)
2535 DECLARE_INSN(vfncvt_rtz_xu_f_w, MATCH_VFNCVT_RTZ_XU_F_W, MASK_VFNCVT_RTZ_XU_F_W)
2536 DECLARE_INSN(vfncvt_rtz_x_f_w, MATCH_VFNCVT_RTZ_X_F_W, MASK_VFNCVT_RTZ_X_F_W)
2537 DECLARE_INSN(vfsqrt_v, MATCH_VFSQRT_V, MASK_VFSQRT_V)
2538 DECLARE_INSN(vfclass_v, MATCH_VFCLASS_V, MASK_VFCLASS_V)
2539 DECLARE_INSN(vfwadd_vv, MATCH_VFWADD_VV, MASK_VFWADD_VV)
2540 DECLARE_INSN(vfwredsum_vs, MATCH_VFWREDSUM_VS, MASK_VFWREDSUM_VS)
2541 DECLARE_INSN(vfwsub_vv, MATCH_VFWSUB_VV, MASK_VFWSUB_VV)
2542 DECLARE_INSN(vfwredosum_vs, MATCH_VFWREDOSUM_VS, MASK_VFWREDOSUM_VS)
2543 DECLARE_INSN(vfwadd_wv, MATCH_VFWADD_WV, MASK_VFWADD_WV)
2544 DECLARE_INSN(vfwsub_wv, MATCH_VFWSUB_WV, MASK_VFWSUB_WV)
2545 DECLARE_INSN(vfwmul_vv, MATCH_VFWMUL_VV, MASK_VFWMUL_VV)
2546 DECLARE_INSN(vfdot_vv, MATCH_VFDOT_VV, MASK_VFDOT_VV)
2547 DECLARE_INSN(vfwmacc_vv, MATCH_VFWMACC_VV, MASK_VFWMACC_VV)
2548 DECLARE_INSN(vfwnmacc_vv, MATCH_VFWNMACC_VV, MASK_VFWNMACC_VV)
2549 DECLARE_INSN(vfwmsac_vv, MATCH_VFWMSAC_VV, MASK_VFWMSAC_VV)
2550 DECLARE_INSN(vfwnmsac_vv, MATCH_VFWNMSAC_VV, MASK_VFWNMSAC_VV)
2551 DECLARE_INSN(vadd_vx, MATCH_VADD_VX, MASK_VADD_VX)
2552 DECLARE_INSN(vsub_vx, MATCH_VSUB_VX, MASK_VSUB_VX)
2553 DECLARE_INSN(vrsub_vx, MATCH_VRSUB_VX, MASK_VRSUB_VX)
2554 DECLARE_INSN(vminu_vx, MATCH_VMINU_VX, MASK_VMINU_VX)
2555 DECLARE_INSN(vmin_vx, MATCH_VMIN_VX, MASK_VMIN_VX)
2556 DECLARE_INSN(vmaxu_vx, MATCH_VMAXU_VX, MASK_VMAXU_VX)
2557 DECLARE_INSN(vmax_vx, MATCH_VMAX_VX, MASK_VMAX_VX)
2558 DECLARE_INSN(vand_vx, MATCH_VAND_VX, MASK_VAND_VX)
2559 DECLARE_INSN(vor_vx, MATCH_VOR_VX, MASK_VOR_VX)
2560 DECLARE_INSN(vxor_vx, MATCH_VXOR_VX, MASK_VXOR_VX)
2561 DECLARE_INSN(vrgather_vx, MATCH_VRGATHER_VX, MASK_VRGATHER_VX)
2562 DECLARE_INSN(vslideup_vx, MATCH_VSLIDEUP_VX, MASK_VSLIDEUP_VX)
2563 DECLARE_INSN(vslidedown_vx, MATCH_VSLIDEDOWN_VX, MASK_VSLIDEDOWN_VX)
2564 DECLARE_INSN(vadc_vxm, MATCH_VADC_VXM, MASK_VADC_VXM)
2565 DECLARE_INSN(vmadc_vxm, MATCH_VMADC_VXM, MASK_VMADC_VXM)
2566 DECLARE_INSN(vsbc_vxm, MATCH_VSBC_VXM, MASK_VSBC_VXM)
2567 DECLARE_INSN(vmsbc_vxm, MATCH_VMSBC_VXM, MASK_VMSBC_VXM)
2568 DECLARE_INSN(vmerge_vxm, MATCH_VMERGE_VXM, MASK_VMERGE_VXM)
2569 DECLARE_INSN(vmv_v_x, MATCH_VMV_V_X, MASK_VMV_V_X)
2570 DECLARE_INSN(vmseq_vx, MATCH_VMSEQ_VX, MASK_VMSEQ_VX)
2571 DECLARE_INSN(vmsne_vx, MATCH_VMSNE_VX, MASK_VMSNE_VX)
2572 DECLARE_INSN(vmsltu_vx, MATCH_VMSLTU_VX, MASK_VMSLTU_VX)
2573 DECLARE_INSN(vmslt_vx, MATCH_VMSLT_VX, MASK_VMSLT_VX)
2574 DECLARE_INSN(vmsleu_vx, MATCH_VMSLEU_VX, MASK_VMSLEU_VX)
2575 DECLARE_INSN(vmsle_vx, MATCH_VMSLE_VX, MASK_VMSLE_VX)
2576 DECLARE_INSN(vmsgtu_vx, MATCH_VMSGTU_VX, MASK_VMSGTU_VX)
2577 DECLARE_INSN(vmsgt_vx, MATCH_VMSGT_VX, MASK_VMSGT_VX)
2578 DECLARE_INSN(vsaddu_vx, MATCH_VSADDU_VX, MASK_VSADDU_VX)
2579 DECLARE_INSN(vsadd_vx, MATCH_VSADD_VX, MASK_VSADD_VX)
2580 DECLARE_INSN(vssubu_vx, MATCH_VSSUBU_VX, MASK_VSSUBU_VX)
2581 DECLARE_INSN(vssub_vx, MATCH_VSSUB_VX, MASK_VSSUB_VX)
2582 DECLARE_INSN(vsll_vx, MATCH_VSLL_VX, MASK_VSLL_VX)
2583 DECLARE_INSN(vsmul_vx, MATCH_VSMUL_VX, MASK_VSMUL_VX)
2584 DECLARE_INSN(vsrl_vx, MATCH_VSRL_VX, MASK_VSRL_VX)
2585 DECLARE_INSN(vsra_vx, MATCH_VSRA_VX, MASK_VSRA_VX)
2586 DECLARE_INSN(vssrl_vx, MATCH_VSSRL_VX, MASK_VSSRL_VX)
2587 DECLARE_INSN(vssra_vx, MATCH_VSSRA_VX, MASK_VSSRA_VX)
2588 DECLARE_INSN(vnsrl_wx, MATCH_VNSRL_WX, MASK_VNSRL_WX)
2589 DECLARE_INSN(vnsra_wx, MATCH_VNSRA_WX, MASK_VNSRA_WX)
2590 DECLARE_INSN(vnclipu_wx, MATCH_VNCLIPU_WX, MASK_VNCLIPU_WX)
2591 DECLARE_INSN(vnclip_wx, MATCH_VNCLIP_WX, MASK_VNCLIP_WX)
2592 DECLARE_INSN(vqmaccu_vx, MATCH_VQMACCU_VX, MASK_VQMACCU_VX)
2593 DECLARE_INSN(vqmacc_vx, MATCH_VQMACC_VX, MASK_VQMACC_VX)
2594 DECLARE_INSN(vqmaccus_vx, MATCH_VQMACCUS_VX, MASK_VQMACCUS_VX)
2595 DECLARE_INSN(vqmaccsu_vx, MATCH_VQMACCSU_VX, MASK_VQMACCSU_VX)
2596 DECLARE_INSN(vadd_vv, MATCH_VADD_VV, MASK_VADD_VV)
2597 DECLARE_INSN(vsub_vv, MATCH_VSUB_VV, MASK_VSUB_VV)
2598 DECLARE_INSN(vminu_vv, MATCH_VMINU_VV, MASK_VMINU_VV)
2599 DECLARE_INSN(vmin_vv, MATCH_VMIN_VV, MASK_VMIN_VV)
2600 DECLARE_INSN(vmaxu_vv, MATCH_VMAXU_VV, MASK_VMAXU_VV)
2601 DECLARE_INSN(vmax_vv, MATCH_VMAX_VV, MASK_VMAX_VV)
2602 DECLARE_INSN(vand_vv, MATCH_VAND_VV, MASK_VAND_VV)
2603 DECLARE_INSN(vor_vv, MATCH_VOR_VV, MASK_VOR_VV)
2604 DECLARE_INSN(vxor_vv, MATCH_VXOR_VV, MASK_VXOR_VV)
2605 DECLARE_INSN(vrgather_vv, MATCH_VRGATHER_VV, MASK_VRGATHER_VV)
2606 DECLARE_INSN(vrgatherei16_vv, MATCH_VRGATHEREI16_VV, MASK_VRGATHEREI16_VV)
2607 DECLARE_INSN(vadc_vvm, MATCH_VADC_VVM, MASK_VADC_VVM)
2608 DECLARE_INSN(vmadc_vvm, MATCH_VMADC_VVM, MASK_VMADC_VVM)
2609 DECLARE_INSN(vsbc_vvm, MATCH_VSBC_VVM, MASK_VSBC_VVM)
2610 DECLARE_INSN(vmsbc_vvm, MATCH_VMSBC_VVM, MASK_VMSBC_VVM)
2611 DECLARE_INSN(vmerge_vvm, MATCH_VMERGE_VVM, MASK_VMERGE_VVM)
2612 DECLARE_INSN(vmv_v_v, MATCH_VMV_V_V, MASK_VMV_V_V)
2613 DECLARE_INSN(vmseq_vv, MATCH_VMSEQ_VV, MASK_VMSEQ_VV)
2614 DECLARE_INSN(vmsne_vv, MATCH_VMSNE_VV, MASK_VMSNE_VV)
2615 DECLARE_INSN(vmsltu_vv, MATCH_VMSLTU_VV, MASK_VMSLTU_VV)
2616 DECLARE_INSN(vmslt_vv, MATCH_VMSLT_VV, MASK_VMSLT_VV)
2617 DECLARE_INSN(vmsleu_vv, MATCH_VMSLEU_VV, MASK_VMSLEU_VV)
2618 DECLARE_INSN(vmsle_vv, MATCH_VMSLE_VV, MASK_VMSLE_VV)
2619 DECLARE_INSN(vsaddu_vv, MATCH_VSADDU_VV, MASK_VSADDU_VV)
2620 DECLARE_INSN(vsadd_vv, MATCH_VSADD_VV, MASK_VSADD_VV)
2621 DECLARE_INSN(vssubu_vv, MATCH_VSSUBU_VV, MASK_VSSUBU_VV)
2622 DECLARE_INSN(vssub_vv, MATCH_VSSUB_VV, MASK_VSSUB_VV)
2623 DECLARE_INSN(vsll_vv, MATCH_VSLL_VV, MASK_VSLL_VV)
2624 DECLARE_INSN(vsmul_vv, MATCH_VSMUL_VV, MASK_VSMUL_VV)
2625 DECLARE_INSN(vsrl_vv, MATCH_VSRL_VV, MASK_VSRL_VV)
2626 DECLARE_INSN(vsra_vv, MATCH_VSRA_VV, MASK_VSRA_VV)
2627 DECLARE_INSN(vssrl_vv, MATCH_VSSRL_VV, MASK_VSSRL_VV)
2628 DECLARE_INSN(vssra_vv, MATCH_VSSRA_VV, MASK_VSSRA_VV)
2629 DECLARE_INSN(vnsrl_wv, MATCH_VNSRL_WV, MASK_VNSRL_WV)
2630 DECLARE_INSN(vnsra_wv, MATCH_VNSRA_WV, MASK_VNSRA_WV)
2631 DECLARE_INSN(vnclipu_wv, MATCH_VNCLIPU_WV, MASK_VNCLIPU_WV)
2632 DECLARE_INSN(vnclip_wv, MATCH_VNCLIP_WV, MASK_VNCLIP_WV)
2633 DECLARE_INSN(vwredsumu_vs, MATCH_VWREDSUMU_VS, MASK_VWREDSUMU_VS)
2634 DECLARE_INSN(vwredsum_vs, MATCH_VWREDSUM_VS, MASK_VWREDSUM_VS)
2635 DECLARE_INSN(vdotu_vv, MATCH_VDOTU_VV, MASK_VDOTU_VV)
2636 DECLARE_INSN(vdot_vv, MATCH_VDOT_VV, MASK_VDOT_VV)
2637 DECLARE_INSN(vqmaccu_vv, MATCH_VQMACCU_VV, MASK_VQMACCU_VV)
2638 DECLARE_INSN(vqmacc_vv, MATCH_VQMACC_VV, MASK_VQMACC_VV)
2639 DECLARE_INSN(vqmaccsu_vv, MATCH_VQMACCSU_VV, MASK_VQMACCSU_VV)
2640 DECLARE_INSN(vadd_vi, MATCH_VADD_VI, MASK_VADD_VI)
2641 DECLARE_INSN(vrsub_vi, MATCH_VRSUB_VI, MASK_VRSUB_VI)
2642 DECLARE_INSN(vand_vi, MATCH_VAND_VI, MASK_VAND_VI)
2643 DECLARE_INSN(vor_vi, MATCH_VOR_VI, MASK_VOR_VI)
2644 DECLARE_INSN(vxor_vi, MATCH_VXOR_VI, MASK_VXOR_VI)
2645 DECLARE_INSN(vrgather_vi, MATCH_VRGATHER_VI, MASK_VRGATHER_VI)
2646 DECLARE_INSN(vslideup_vi, MATCH_VSLIDEUP_VI, MASK_VSLIDEUP_VI)
2647 DECLARE_INSN(vslidedown_vi, MATCH_VSLIDEDOWN_VI, MASK_VSLIDEDOWN_VI)
2648 DECLARE_INSN(vadc_vim, MATCH_VADC_VIM, MASK_VADC_VIM)
2649 DECLARE_INSN(vmadc_vim, MATCH_VMADC_VIM, MASK_VMADC_VIM)
2650 DECLARE_INSN(vmerge_vim, MATCH_VMERGE_VIM, MASK_VMERGE_VIM)
2651 DECLARE_INSN(vmv_v_i, MATCH_VMV_V_I, MASK_VMV_V_I)
2652 DECLARE_INSN(vmseq_vi, MATCH_VMSEQ_VI, MASK_VMSEQ_VI)
2653 DECLARE_INSN(vmsne_vi, MATCH_VMSNE_VI, MASK_VMSNE_VI)
2654 DECLARE_INSN(vmsleu_vi, MATCH_VMSLEU_VI, MASK_VMSLEU_VI)
2655 DECLARE_INSN(vmsle_vi, MATCH_VMSLE_VI, MASK_VMSLE_VI)
2656 DECLARE_INSN(vmsgtu_vi, MATCH_VMSGTU_VI, MASK_VMSGTU_VI)
2657 DECLARE_INSN(vmsgt_vi, MATCH_VMSGT_VI, MASK_VMSGT_VI)
2658 DECLARE_INSN(vsaddu_vi, MATCH_VSADDU_VI, MASK_VSADDU_VI)
2659 DECLARE_INSN(vsadd_vi, MATCH_VSADD_VI, MASK_VSADD_VI)
2660 DECLARE_INSN(vsll_vi, MATCH_VSLL_VI, MASK_VSLL_VI)
2661 DECLARE_INSN(vmv1r_v, MATCH_VMV1R_V, MASK_VMV1R_V)
2662 DECLARE_INSN(vmv2r_v, MATCH_VMV2R_V, MASK_VMV2R_V)
2663 DECLARE_INSN(vmv4r_v, MATCH_VMV4R_V, MASK_VMV4R_V)
2664 DECLARE_INSN(vmv8r_v, MATCH_VMV8R_V, MASK_VMV8R_V)
2665 DECLARE_INSN(vsrl_vi, MATCH_VSRL_VI, MASK_VSRL_VI)
2666 DECLARE_INSN(vsra_vi, MATCH_VSRA_VI, MASK_VSRA_VI)
2667 DECLARE_INSN(vssrl_vi, MATCH_VSSRL_VI, MASK_VSSRL_VI)
2668 DECLARE_INSN(vssra_vi, MATCH_VSSRA_VI, MASK_VSSRA_VI)
2669 DECLARE_INSN(vnsrl_wi, MATCH_VNSRL_WI, MASK_VNSRL_WI)
2670 DECLARE_INSN(vnsra_wi, MATCH_VNSRA_WI, MASK_VNSRA_WI)
2671 DECLARE_INSN(vnclipu_wi, MATCH_VNCLIPU_WI, MASK_VNCLIPU_WI)
2672 DECLARE_INSN(vnclip_wi, MATCH_VNCLIP_WI, MASK_VNCLIP_WI)
2673 DECLARE_INSN(vredsum_vs, MATCH_VREDSUM_VS, MASK_VREDSUM_VS)
2674 DECLARE_INSN(vredand_vs, MATCH_VREDAND_VS, MASK_VREDAND_VS)
2675 DECLARE_INSN(vredor_vs, MATCH_VREDOR_VS, MASK_VREDOR_VS)
2676 DECLARE_INSN(vredxor_vs, MATCH_VREDXOR_VS, MASK_VREDXOR_VS)
2677 DECLARE_INSN(vredminu_vs, MATCH_VREDMINU_VS, MASK_VREDMINU_VS)
2678 DECLARE_INSN(vredmin_vs, MATCH_VREDMIN_VS, MASK_VREDMIN_VS)
2679 DECLARE_INSN(vredmaxu_vs, MATCH_VREDMAXU_VS, MASK_VREDMAXU_VS)
2680 DECLARE_INSN(vredmax_vs, MATCH_VREDMAX_VS, MASK_VREDMAX_VS)
2681 DECLARE_INSN(vaaddu_vv, MATCH_VAADDU_VV, MASK_VAADDU_VV)
2682 DECLARE_INSN(vaadd_vv, MATCH_VAADD_VV, MASK_VAADD_VV)
2683 DECLARE_INSN(vasubu_vv, MATCH_VASUBU_VV, MASK_VASUBU_VV)
2684 DECLARE_INSN(vasub_vv, MATCH_VASUB_VV, MASK_VASUB_VV)
2685 DECLARE_INSN(vmv_x_s, MATCH_VMV_X_S, MASK_VMV_X_S)
2686 DECLARE_INSN(vzext_vf8, MATCH_VZEXT_VF8, MASK_VZEXT_VF8)
2687 DECLARE_INSN(vsext_vf8, MATCH_VSEXT_VF8, MASK_VSEXT_VF8)
2688 DECLARE_INSN(vzext_vf4, MATCH_VZEXT_VF4, MASK_VZEXT_VF4)
2689 DECLARE_INSN(vsext_vf4, MATCH_VSEXT_VF4, MASK_VSEXT_VF4)
2690 DECLARE_INSN(vzext_vf2, MATCH_VZEXT_VF2, MASK_VZEXT_VF2)
2691 DECLARE_INSN(vsext_vf2, MATCH_VSEXT_VF2, MASK_VSEXT_VF2)
2692 DECLARE_INSN(vcompress_vm, MATCH_VCOMPRESS_VM, MASK_VCOMPRESS_VM)
2693 DECLARE_INSN(vmandnot_mm, MATCH_VMANDNOT_MM, MASK_VMANDNOT_MM)
2694 DECLARE_INSN(vmand_mm, MATCH_VMAND_MM, MASK_VMAND_MM)
2695 DECLARE_INSN(vmor_mm, MATCH_VMOR_MM, MASK_VMOR_MM)
2696 DECLARE_INSN(vmxor_mm, MATCH_VMXOR_MM, MASK_VMXOR_MM)
2697 DECLARE_INSN(vmornot_mm, MATCH_VMORNOT_MM, MASK_VMORNOT_MM)
2698 DECLARE_INSN(vmnand_mm, MATCH_VMNAND_MM, MASK_VMNAND_MM)
2699 DECLARE_INSN(vmnor_mm, MATCH_VMNOR_MM, MASK_VMNOR_MM)
2700 DECLARE_INSN(vmxnor_mm, MATCH_VMXNOR_MM, MASK_VMXNOR_MM)
2701 DECLARE_INSN(vmsbf_m, MATCH_VMSBF_M, MASK_VMSBF_M)
2702 DECLARE_INSN(vmsof_m, MATCH_VMSOF_M, MASK_VMSOF_M)
2703 DECLARE_INSN(vmsif_m, MATCH_VMSIF_M, MASK_VMSIF_M)
2704 DECLARE_INSN(viota_m, MATCH_VIOTA_M, MASK_VIOTA_M)
2705 DECLARE_INSN(vid_v, MATCH_VID_V, MASK_VID_V)
2706 DECLARE_INSN(vpopc_m, MATCH_VPOPC_M, MASK_VPOPC_M)
2707 DECLARE_INSN(vfirst_m, MATCH_VFIRST_M, MASK_VFIRST_M)
2708 DECLARE_INSN(vdivu_vv, MATCH_VDIVU_VV, MASK_VDIVU_VV)
2709 DECLARE_INSN(vdiv_vv, MATCH_VDIV_VV, MASK_VDIV_VV)
2710 DECLARE_INSN(vremu_vv, MATCH_VREMU_VV, MASK_VREMU_VV)
2711 DECLARE_INSN(vrem_vv, MATCH_VREM_VV, MASK_VREM_VV)
2712 DECLARE_INSN(vmulhu_vv, MATCH_VMULHU_VV, MASK_VMULHU_VV)
2713 DECLARE_INSN(vmul_vv, MATCH_VMUL_VV, MASK_VMUL_VV)
2714 DECLARE_INSN(vmulhsu_vv, MATCH_VMULHSU_VV, MASK_VMULHSU_VV)
2715 DECLARE_INSN(vmulh_vv, MATCH_VMULH_VV, MASK_VMULH_VV)
2716 DECLARE_INSN(vmadd_vv, MATCH_VMADD_VV, MASK_VMADD_VV)
2717 DECLARE_INSN(vnmsub_vv, MATCH_VNMSUB_VV, MASK_VNMSUB_VV)
2718 DECLARE_INSN(vmacc_vv, MATCH_VMACC_VV, MASK_VMACC_VV)
2719 DECLARE_INSN(vnmsac_vv, MATCH_VNMSAC_VV, MASK_VNMSAC_VV)
2720 DECLARE_INSN(vwaddu_vv, MATCH_VWADDU_VV, MASK_VWADDU_VV)
2721 DECLARE_INSN(vwadd_vv, MATCH_VWADD_VV, MASK_VWADD_VV)
2722 DECLARE_INSN(vwsubu_vv, MATCH_VWSUBU_VV, MASK_VWSUBU_VV)
2723 DECLARE_INSN(vwsub_vv, MATCH_VWSUB_VV, MASK_VWSUB_VV)
2724 DECLARE_INSN(vwaddu_wv, MATCH_VWADDU_WV, MASK_VWADDU_WV)
2725 DECLARE_INSN(vwadd_wv, MATCH_VWADD_WV, MASK_VWADD_WV)
2726 DECLARE_INSN(vwsubu_wv, MATCH_VWSUBU_WV, MASK_VWSUBU_WV)
2727 DECLARE_INSN(vwsub_wv, MATCH_VWSUB_WV, MASK_VWSUB_WV)
2728 DECLARE_INSN(vwmulu_vv, MATCH_VWMULU_VV, MASK_VWMULU_VV)
2729 DECLARE_INSN(vwmulsu_vv, MATCH_VWMULSU_VV, MASK_VWMULSU_VV)
2730 DECLARE_INSN(vwmul_vv, MATCH_VWMUL_VV, MASK_VWMUL_VV)
2731 DECLARE_INSN(vwmaccu_vv, MATCH_VWMACCU_VV, MASK_VWMACCU_VV)
2732 DECLARE_INSN(vwmacc_vv, MATCH_VWMACC_VV, MASK_VWMACC_VV)
2733 DECLARE_INSN(vwmaccsu_vv, MATCH_VWMACCSU_VV, MASK_VWMACCSU_VV)
2734 DECLARE_INSN(vaaddu_vx, MATCH_VAADDU_VX, MASK_VAADDU_VX)
2735 DECLARE_INSN(vaadd_vx, MATCH_VAADD_VX, MASK_VAADD_VX)
2736 DECLARE_INSN(vasubu_vx, MATCH_VASUBU_VX, MASK_VASUBU_VX)
2737 DECLARE_INSN(vasub_vx, MATCH_VASUB_VX, MASK_VASUB_VX)
2738 DECLARE_INSN(vmv_s_x, MATCH_VMV_S_X, MASK_VMV_S_X)
2739 DECLARE_INSN(vslide1up_vx, MATCH_VSLIDE1UP_VX, MASK_VSLIDE1UP_VX)
2740 DECLARE_INSN(vslide1down_vx, MATCH_VSLIDE1DOWN_VX, MASK_VSLIDE1DOWN_VX)
2741 DECLARE_INSN(vdivu_vx, MATCH_VDIVU_VX, MASK_VDIVU_VX)
2742 DECLARE_INSN(vdiv_vx, MATCH_VDIV_VX, MASK_VDIV_VX)
2743 DECLARE_INSN(vremu_vx, MATCH_VREMU_VX, MASK_VREMU_VX)
2744 DECLARE_INSN(vrem_vx, MATCH_VREM_VX, MASK_VREM_VX)
2745 DECLARE_INSN(vmulhu_vx, MATCH_VMULHU_VX, MASK_VMULHU_VX)
2746 DECLARE_INSN(vmul_vx, MATCH_VMUL_VX, MASK_VMUL_VX)
2747 DECLARE_INSN(vmulhsu_vx, MATCH_VMULHSU_VX, MASK_VMULHSU_VX)
2748 DECLARE_INSN(vmulh_vx, MATCH_VMULH_VX, MASK_VMULH_VX)
2749 DECLARE_INSN(vmadd_vx, MATCH_VMADD_VX, MASK_VMADD_VX)
2750 DECLARE_INSN(vnmsub_vx, MATCH_VNMSUB_VX, MASK_VNMSUB_VX)
2751 DECLARE_INSN(vmacc_vx, MATCH_VMACC_VX, MASK_VMACC_VX)
2752 DECLARE_INSN(vnmsac_vx, MATCH_VNMSAC_VX, MASK_VNMSAC_VX)
2753 DECLARE_INSN(vwaddu_vx, MATCH_VWADDU_VX, MASK_VWADDU_VX)
2754 DECLARE_INSN(vwadd_vx, MATCH_VWADD_VX, MASK_VWADD_VX)
2755 DECLARE_INSN(vwsubu_vx, MATCH_VWSUBU_VX, MASK_VWSUBU_VX)
2756 DECLARE_INSN(vwsub_vx, MATCH_VWSUB_VX, MASK_VWSUB_VX)
2757 DECLARE_INSN(vwaddu_wx, MATCH_VWADDU_WX, MASK_VWADDU_WX)
2758 DECLARE_INSN(vwadd_wx, MATCH_VWADD_WX, MASK_VWADD_WX)
2759 DECLARE_INSN(vwsubu_wx, MATCH_VWSUBU_WX, MASK_VWSUBU_WX)
2760 DECLARE_INSN(vwsub_wx, MATCH_VWSUB_WX, MASK_VWSUB_WX)
2761 DECLARE_INSN(vwmulu_vx, MATCH_VWMULU_VX, MASK_VWMULU_VX)
2762 DECLARE_INSN(vwmulsu_vx, MATCH_VWMULSU_VX, MASK_VWMULSU_VX)
2763 DECLARE_INSN(vwmul_vx, MATCH_VWMUL_VX, MASK_VWMUL_VX)
2764 DECLARE_INSN(vwmaccu_vx, MATCH_VWMACCU_VX, MASK_VWMACCU_VX)
2765 DECLARE_INSN(vwmacc_vx, MATCH_VWMACC_VX, MASK_VWMACC_VX)
2766 DECLARE_INSN(vwmaccus_vx, MATCH_VWMACCUS_VX, MASK_VWMACCUS_VX)
2767 DECLARE_INSN(vwmaccsu_vx, MATCH_VWMACCSU_VX, MASK_VWMACCSU_VX)
2768 DECLARE_INSN(vamoswapei8_v, MATCH_VAMOSWAPEI8_V, MASK_VAMOSWAPEI8_V)
2769 DECLARE_INSN(vamoaddei8_v, MATCH_VAMOADDEI8_V, MASK_VAMOADDEI8_V)
2770 DECLARE_INSN(vamoxorei8_v, MATCH_VAMOXOREI8_V, MASK_VAMOXOREI8_V)
2771 DECLARE_INSN(vamoandei8_v, MATCH_VAMOANDEI8_V, MASK_VAMOANDEI8_V)
2772 DECLARE_INSN(vamoorei8_v, MATCH_VAMOOREI8_V, MASK_VAMOOREI8_V)
2773 DECLARE_INSN(vamominei8_v, MATCH_VAMOMINEI8_V, MASK_VAMOMINEI8_V)
2774 DECLARE_INSN(vamomaxei8_v, MATCH_VAMOMAXEI8_V, MASK_VAMOMAXEI8_V)
2775 DECLARE_INSN(vamominuei8_v, MATCH_VAMOMINUEI8_V, MASK_VAMOMINUEI8_V)
2776 DECLARE_INSN(vamomaxuei8_v, MATCH_VAMOMAXUEI8_V, MASK_VAMOMAXUEI8_V)
2777 DECLARE_INSN(vamoswapei16_v, MATCH_VAMOSWAPEI16_V, MASK_VAMOSWAPEI16_V)
2778 DECLARE_INSN(vamoaddei16_v, MATCH_VAMOADDEI16_V, MASK_VAMOADDEI16_V)
2779 DECLARE_INSN(vamoxorei16_v, MATCH_VAMOXOREI16_V, MASK_VAMOXOREI16_V)
2780 DECLARE_INSN(vamoandei16_v, MATCH_VAMOANDEI16_V, MASK_VAMOANDEI16_V)
2781 DECLARE_INSN(vamoorei16_v, MATCH_VAMOOREI16_V, MASK_VAMOOREI16_V)
2782 DECLARE_INSN(vamominei16_v, MATCH_VAMOMINEI16_V, MASK_VAMOMINEI16_V)
2783 DECLARE_INSN(vamomaxei16_v, MATCH_VAMOMAXEI16_V, MASK_VAMOMAXEI16_V)
2784 DECLARE_INSN(vamominuei16_v, MATCH_VAMOMINUEI16_V, MASK_VAMOMINUEI16_V)
2785 DECLARE_INSN(vamomaxuei16_v, MATCH_VAMOMAXUEI16_V, MASK_VAMOMAXUEI16_V)
2786 DECLARE_INSN(vamoswapei32_v, MATCH_VAMOSWAPEI32_V, MASK_VAMOSWAPEI32_V)
2787 DECLARE_INSN(vamoaddei32_v, MATCH_VAMOADDEI32_V, MASK_VAMOADDEI32_V)
2788 DECLARE_INSN(vamoxorei32_v, MATCH_VAMOXOREI32_V, MASK_VAMOXOREI32_V)
2789 DECLARE_INSN(vamoandei32_v, MATCH_VAMOANDEI32_V, MASK_VAMOANDEI32_V)
2790 DECLARE_INSN(vamoorei32_v, MATCH_VAMOOREI32_V, MASK_VAMOOREI32_V)
2791 DECLARE_INSN(vamominei32_v, MATCH_VAMOMINEI32_V, MASK_VAMOMINEI32_V)
2792 DECLARE_INSN(vamomaxei32_v, MATCH_VAMOMAXEI32_V, MASK_VAMOMAXEI32_V)
2793 DECLARE_INSN(vamominuei32_v, MATCH_VAMOMINUEI32_V, MASK_VAMOMINUEI32_V)
2794 DECLARE_INSN(vamomaxuei32_v, MATCH_VAMOMAXUEI32_V, MASK_VAMOMAXUEI32_V)
2795 DECLARE_INSN(vamoswapei64_v, MATCH_VAMOSWAPEI64_V, MASK_VAMOSWAPEI64_V)
2796 DECLARE_INSN(vamoaddei64_v, MATCH_VAMOADDEI64_V, MASK_VAMOADDEI64_V)
2797 DECLARE_INSN(vamoxorei64_v, MATCH_VAMOXOREI64_V, MASK_VAMOXOREI64_V)
2798 DECLARE_INSN(vamoandei64_v, MATCH_VAMOANDEI64_V, MASK_VAMOANDEI64_V)
2799 DECLARE_INSN(vamoorei64_v, MATCH_VAMOOREI64_V, MASK_VAMOOREI64_V)
2800 DECLARE_INSN(vamominei64_v, MATCH_VAMOMINEI64_V, MASK_VAMOMINEI64_V)
2801 DECLARE_INSN(vamomaxei64_v, MATCH_VAMOMAXEI64_V, MASK_VAMOMAXEI64_V)
2802 DECLARE_INSN(vamominuei64_v, MATCH_VAMOMINUEI64_V, MASK_VAMOMINUEI64_V)
2803 DECLARE_INSN(vamomaxuei64_v, MATCH_VAMOMAXUEI64_V, MASK_VAMOMAXUEI64_V)
2804 DECLARE_INSN(vmvnfr_v, MATCH_VMVNFR_V, MASK_VMVNFR_V)
2805 DECLARE_INSN(vl1r_v, MATCH_VL1R_V, MASK_VL1R_V)
2806 DECLARE_INSN(vl2r_v, MATCH_VL2R_V, MASK_VL2R_V)
2807 DECLARE_INSN(vl4r_v, MATCH_VL4R_V, MASK_VL4R_V)
2808 DECLARE_INSN(vl8r_v, MATCH_VL8R_V, MASK_VL8R_V)
2809 #endif
2810 #ifdef DECLARE_CSR
2811 DECLARE_CSR(fflags, CSR_FFLAGS)
2812 DECLARE_CSR(frm, CSR_FRM)
2813 DECLARE_CSR(fcsr, CSR_FCSR)
2814 DECLARE_CSR(ustatus, CSR_USTATUS)
2815 DECLARE_CSR(uie, CSR_UIE)
2816 DECLARE_CSR(utvec, CSR_UTVEC)
2817 DECLARE_CSR(vstart, CSR_VSTART)
2818 DECLARE_CSR(vxsat, CSR_VXSAT)
2819 DECLARE_CSR(vxrm, CSR_VXRM)
2820 DECLARE_CSR(vcsr, CSR_VCSR)
2821 DECLARE_CSR(uscratch, CSR_USCRATCH)
2822 DECLARE_CSR(uepc, CSR_UEPC)
2823 DECLARE_CSR(ucause, CSR_UCAUSE)
2824 DECLARE_CSR(utval, CSR_UTVAL)
2825 DECLARE_CSR(uip, CSR_UIP)
2826 DECLARE_CSR(cycle, CSR_CYCLE)
2827 DECLARE_CSR(time, CSR_TIME)
2828 DECLARE_CSR(instret, CSR_INSTRET)
2829 DECLARE_CSR(hpmcounter3, CSR_HPMCOUNTER3)
2830 DECLARE_CSR(hpmcounter4, CSR_HPMCOUNTER4)
2831 DECLARE_CSR(hpmcounter5, CSR_HPMCOUNTER5)
2832 DECLARE_CSR(hpmcounter6, CSR_HPMCOUNTER6)
2833 DECLARE_CSR(hpmcounter7, CSR_HPMCOUNTER7)
2834 DECLARE_CSR(hpmcounter8, CSR_HPMCOUNTER8)
2835 DECLARE_CSR(hpmcounter9, CSR_HPMCOUNTER9)
2836 DECLARE_CSR(hpmcounter10, CSR_HPMCOUNTER10)
2837 DECLARE_CSR(hpmcounter11, CSR_HPMCOUNTER11)
2838 DECLARE_CSR(hpmcounter12, CSR_HPMCOUNTER12)
2839 DECLARE_CSR(hpmcounter13, CSR_HPMCOUNTER13)
2840 DECLARE_CSR(hpmcounter14, CSR_HPMCOUNTER14)
2841 DECLARE_CSR(hpmcounter15, CSR_HPMCOUNTER15)
2842 DECLARE_CSR(hpmcounter16, CSR_HPMCOUNTER16)
2843 DECLARE_CSR(hpmcounter17, CSR_HPMCOUNTER17)
2844 DECLARE_CSR(hpmcounter18, CSR_HPMCOUNTER18)
2845 DECLARE_CSR(hpmcounter19, CSR_HPMCOUNTER19)
2846 DECLARE_CSR(hpmcounter20, CSR_HPMCOUNTER20)
2847 DECLARE_CSR(hpmcounter21, CSR_HPMCOUNTER21)
2848 DECLARE_CSR(hpmcounter22, CSR_HPMCOUNTER22)
2849 DECLARE_CSR(hpmcounter23, CSR_HPMCOUNTER23)
2850 DECLARE_CSR(hpmcounter24, CSR_HPMCOUNTER24)
2851 DECLARE_CSR(hpmcounter25, CSR_HPMCOUNTER25)
2852 DECLARE_CSR(hpmcounter26, CSR_HPMCOUNTER26)
2853 DECLARE_CSR(hpmcounter27, CSR_HPMCOUNTER27)
2854 DECLARE_CSR(hpmcounter28, CSR_HPMCOUNTER28)
2855 DECLARE_CSR(hpmcounter29, CSR_HPMCOUNTER29)
2856 DECLARE_CSR(hpmcounter30, CSR_HPMCOUNTER30)
2857 DECLARE_CSR(hpmcounter31, CSR_HPMCOUNTER31)
2858 DECLARE_CSR(vl, CSR_VL)
2859 DECLARE_CSR(vtype, CSR_VTYPE)
2860 DECLARE_CSR(vlenb, CSR_VLENB)
2861 DECLARE_CSR(sstatus, CSR_SSTATUS)
2862 DECLARE_CSR(sedeleg, CSR_SEDELEG)
2863 DECLARE_CSR(sideleg, CSR_SIDELEG)
2864 DECLARE_CSR(sie, CSR_SIE)
2865 DECLARE_CSR(stvec, CSR_STVEC)
2866 DECLARE_CSR(scounteren, CSR_SCOUNTEREN)
2867 DECLARE_CSR(sscratch, CSR_SSCRATCH)
2868 DECLARE_CSR(sepc, CSR_SEPC)
2869 DECLARE_CSR(scause, CSR_SCAUSE)
2870 DECLARE_CSR(stval, CSR_STVAL)
2871 DECLARE_CSR(sip, CSR_SIP)
2872 DECLARE_CSR(satp, CSR_SATP)
2873 DECLARE_CSR(vsstatus, CSR_VSSTATUS)
2874 DECLARE_CSR(vsie, CSR_VSIE)
2875 DECLARE_CSR(vstvec, CSR_VSTVEC)
2876 DECLARE_CSR(vsscratch, CSR_VSSCRATCH)
2877 DECLARE_CSR(vsepc, CSR_VSEPC)
2878 DECLARE_CSR(vscause, CSR_VSCAUSE)
2879 DECLARE_CSR(vstval, CSR_VSTVAL)
2880 DECLARE_CSR(vsip, CSR_VSIP)
2881 DECLARE_CSR(vsatp, CSR_VSATP)
2882 DECLARE_CSR(hstatus, CSR_HSTATUS)
2883 DECLARE_CSR(hedeleg, CSR_HEDELEG)
2884 DECLARE_CSR(hideleg, CSR_HIDELEG)
2885 DECLARE_CSR(hie, CSR_HIE)
2886 DECLARE_CSR(htimedelta, CSR_HTIMEDELTA)
2887 DECLARE_CSR(hcounteren, CSR_HCOUNTEREN)
2888 DECLARE_CSR(hgeie, CSR_HGEIE)
2889 DECLARE_CSR(htval, CSR_HTVAL)
2890 DECLARE_CSR(hip, CSR_HIP)
2891 DECLARE_CSR(hvip, CSR_HVIP)
2892 DECLARE_CSR(htinst, CSR_HTINST)
2893 DECLARE_CSR(hgatp, CSR_HGATP)
2894 DECLARE_CSR(hgeip, CSR_HGEIP)
2895 DECLARE_CSR(utvt, CSR_UTVT)
2896 DECLARE_CSR(unxti, CSR_UNXTI)
2897 DECLARE_CSR(uintstatus, CSR_UINTSTATUS)
2898 DECLARE_CSR(uscratchcsw, CSR_USCRATCHCSW)
2899 DECLARE_CSR(uscratchcswl, CSR_USCRATCHCSWL)
2900 DECLARE_CSR(stvt, CSR_STVT)
2901 DECLARE_CSR(snxti, CSR_SNXTI)
2902 DECLARE_CSR(sintstatus, CSR_SINTSTATUS)
2903 DECLARE_CSR(sscratchcsw, CSR_SSCRATCHCSW)
2904 DECLARE_CSR(sscratchcswl, CSR_SSCRATCHCSWL)
2905 DECLARE_CSR(mtvt, CSR_MTVT)
2906 DECLARE_CSR(mnxti, CSR_MNXTI)
2907 DECLARE_CSR(mintstatus, CSR_MINTSTATUS)
2908 DECLARE_CSR(mscratchcsw, CSR_MSCRATCHCSW)
2909 DECLARE_CSR(mscratchcswl, CSR_MSCRATCHCSWL)
2910 DECLARE_CSR(mstatus, CSR_MSTATUS)
2911 DECLARE_CSR(misa, CSR_MISA)
2912 DECLARE_CSR(medeleg, CSR_MEDELEG)
2913 DECLARE_CSR(mideleg, CSR_MIDELEG)
2914 DECLARE_CSR(mie, CSR_MIE)
2915 DECLARE_CSR(mtvec, CSR_MTVEC)
2916 DECLARE_CSR(mcounteren, CSR_MCOUNTEREN)
2917 DECLARE_CSR(mcountinhibit, CSR_MCOUNTINHIBIT)
2918 DECLARE_CSR(mscratch, CSR_MSCRATCH)
2919 DECLARE_CSR(mepc, CSR_MEPC)
2920 DECLARE_CSR(mcause, CSR_MCAUSE)
2921 DECLARE_CSR(mtval, CSR_MTVAL)
2922 DECLARE_CSR(mip, CSR_MIP)
2923 DECLARE_CSR(mtinst, CSR_MTINST)
2924 DECLARE_CSR(mtval2, CSR_MTVAL2)
2925 DECLARE_CSR(pmpcfg0, CSR_PMPCFG0)
2926 DECLARE_CSR(pmpcfg1, CSR_PMPCFG1)
2927 DECLARE_CSR(pmpcfg2, CSR_PMPCFG2)
2928 DECLARE_CSR(pmpcfg3, CSR_PMPCFG3)
2929 DECLARE_CSR(pmpaddr0, CSR_PMPADDR0)
2930 DECLARE_CSR(pmpaddr1, CSR_PMPADDR1)
2931 DECLARE_CSR(pmpaddr2, CSR_PMPADDR2)
2932 DECLARE_CSR(pmpaddr3, CSR_PMPADDR3)
2933 DECLARE_CSR(pmpaddr4, CSR_PMPADDR4)
2934 DECLARE_CSR(pmpaddr5, CSR_PMPADDR5)
2935 DECLARE_CSR(pmpaddr6, CSR_PMPADDR6)
2936 DECLARE_CSR(pmpaddr7, CSR_PMPADDR7)
2937 DECLARE_CSR(pmpaddr8, CSR_PMPADDR8)
2938 DECLARE_CSR(pmpaddr9, CSR_PMPADDR9)
2939 DECLARE_CSR(pmpaddr10, CSR_PMPADDR10)
2940 DECLARE_CSR(pmpaddr11, CSR_PMPADDR11)
2941 DECLARE_CSR(pmpaddr12, CSR_PMPADDR12)
2942 DECLARE_CSR(pmpaddr13, CSR_PMPADDR13)
2943 DECLARE_CSR(pmpaddr14, CSR_PMPADDR14)
2944 DECLARE_CSR(pmpaddr15, CSR_PMPADDR15)
2945 DECLARE_CSR(tselect, CSR_TSELECT)
2946 DECLARE_CSR(tdata1, CSR_TDATA1)
2947 DECLARE_CSR(tdata2, CSR_TDATA2)
2948 DECLARE_CSR(tdata3, CSR_TDATA3)
2949 DECLARE_CSR(dcsr, CSR_DCSR)
2950 DECLARE_CSR(dpc, CSR_DPC)
2951 DECLARE_CSR(dscratch0, CSR_DSCRATCH0)
2952 DECLARE_CSR(dscratch1, CSR_DSCRATCH1)
2953 DECLARE_CSR(mcycle, CSR_MCYCLE)
2954 DECLARE_CSR(minstret, CSR_MINSTRET)
2955 DECLARE_CSR(mhpmcounter3, CSR_MHPMCOUNTER3)
2956 DECLARE_CSR(mhpmcounter4, CSR_MHPMCOUNTER4)
2957 DECLARE_CSR(mhpmcounter5, CSR_MHPMCOUNTER5)
2958 DECLARE_CSR(mhpmcounter6, CSR_MHPMCOUNTER6)
2959 DECLARE_CSR(mhpmcounter7, CSR_MHPMCOUNTER7)
2960 DECLARE_CSR(mhpmcounter8, CSR_MHPMCOUNTER8)
2961 DECLARE_CSR(mhpmcounter9, CSR_MHPMCOUNTER9)
2962 DECLARE_CSR(mhpmcounter10, CSR_MHPMCOUNTER10)
2963 DECLARE_CSR(mhpmcounter11, CSR_MHPMCOUNTER11)
2964 DECLARE_CSR(mhpmcounter12, CSR_MHPMCOUNTER12)
2965 DECLARE_CSR(mhpmcounter13, CSR_MHPMCOUNTER13)
2966 DECLARE_CSR(mhpmcounter14, CSR_MHPMCOUNTER14)
2967 DECLARE_CSR(mhpmcounter15, CSR_MHPMCOUNTER15)
2968 DECLARE_CSR(mhpmcounter16, CSR_MHPMCOUNTER16)
2969 DECLARE_CSR(mhpmcounter17, CSR_MHPMCOUNTER17)
2970 DECLARE_CSR(mhpmcounter18, CSR_MHPMCOUNTER18)
2971 DECLARE_CSR(mhpmcounter19, CSR_MHPMCOUNTER19)
2972 DECLARE_CSR(mhpmcounter20, CSR_MHPMCOUNTER20)
2973 DECLARE_CSR(mhpmcounter21, CSR_MHPMCOUNTER21)
2974 DECLARE_CSR(mhpmcounter22, CSR_MHPMCOUNTER22)
2975 DECLARE_CSR(mhpmcounter23, CSR_MHPMCOUNTER23)
2976 DECLARE_CSR(mhpmcounter24, CSR_MHPMCOUNTER24)
2977 DECLARE_CSR(mhpmcounter25, CSR_MHPMCOUNTER25)
2978 DECLARE_CSR(mhpmcounter26, CSR_MHPMCOUNTER26)
2979 DECLARE_CSR(mhpmcounter27, CSR_MHPMCOUNTER27)
2980 DECLARE_CSR(mhpmcounter28, CSR_MHPMCOUNTER28)
2981 DECLARE_CSR(mhpmcounter29, CSR_MHPMCOUNTER29)
2982 DECLARE_CSR(mhpmcounter30, CSR_MHPMCOUNTER30)
2983 DECLARE_CSR(mhpmcounter31, CSR_MHPMCOUNTER31)
2984 DECLARE_CSR(mhpmevent3, CSR_MHPMEVENT3)
2985 DECLARE_CSR(mhpmevent4, CSR_MHPMEVENT4)
2986 DECLARE_CSR(mhpmevent5, CSR_MHPMEVENT5)
2987 DECLARE_CSR(mhpmevent6, CSR_MHPMEVENT6)
2988 DECLARE_CSR(mhpmevent7, CSR_MHPMEVENT7)
2989 DECLARE_CSR(mhpmevent8, CSR_MHPMEVENT8)
2990 DECLARE_CSR(mhpmevent9, CSR_MHPMEVENT9)
2991 DECLARE_CSR(mhpmevent10, CSR_MHPMEVENT10)
2992 DECLARE_CSR(mhpmevent11, CSR_MHPMEVENT11)
2993 DECLARE_CSR(mhpmevent12, CSR_MHPMEVENT12)
2994 DECLARE_CSR(mhpmevent13, CSR_MHPMEVENT13)
2995 DECLARE_CSR(mhpmevent14, CSR_MHPMEVENT14)
2996 DECLARE_CSR(mhpmevent15, CSR_MHPMEVENT15)
2997 DECLARE_CSR(mhpmevent16, CSR_MHPMEVENT16)
2998 DECLARE_CSR(mhpmevent17, CSR_MHPMEVENT17)
2999 DECLARE_CSR(mhpmevent18, CSR_MHPMEVENT18)
3000 DECLARE_CSR(mhpmevent19, CSR_MHPMEVENT19)
3001 DECLARE_CSR(mhpmevent20, CSR_MHPMEVENT20)
3002 DECLARE_CSR(mhpmevent21, CSR_MHPMEVENT21)
3003 DECLARE_CSR(mhpmevent22, CSR_MHPMEVENT22)
3004 DECLARE_CSR(mhpmevent23, CSR_MHPMEVENT23)
3005 DECLARE_CSR(mhpmevent24, CSR_MHPMEVENT24)
3006 DECLARE_CSR(mhpmevent25, CSR_MHPMEVENT25)
3007 DECLARE_CSR(mhpmevent26, CSR_MHPMEVENT26)
3008 DECLARE_CSR(mhpmevent27, CSR_MHPMEVENT27)
3009 DECLARE_CSR(mhpmevent28, CSR_MHPMEVENT28)
3010 DECLARE_CSR(mhpmevent29, CSR_MHPMEVENT29)
3011 DECLARE_CSR(mhpmevent30, CSR_MHPMEVENT30)
3012 DECLARE_CSR(mhpmevent31, CSR_MHPMEVENT31)
3013 DECLARE_CSR(mvendorid, CSR_MVENDORID)
3014 DECLARE_CSR(marchid, CSR_MARCHID)
3015 DECLARE_CSR(mimpid, CSR_MIMPID)
3016 DECLARE_CSR(mhartid, CSR_MHARTID)
3017 DECLARE_CSR(htimedeltah, CSR_HTIMEDELTAH)
3018 DECLARE_CSR(cycleh, CSR_CYCLEH)
3019 DECLARE_CSR(timeh, CSR_TIMEH)
3020 DECLARE_CSR(instreth, CSR_INSTRETH)
3021 DECLARE_CSR(hpmcounter3h, CSR_HPMCOUNTER3H)
3022 DECLARE_CSR(hpmcounter4h, CSR_HPMCOUNTER4H)
3023 DECLARE_CSR(hpmcounter5h, CSR_HPMCOUNTER5H)
3024 DECLARE_CSR(hpmcounter6h, CSR_HPMCOUNTER6H)
3025 DECLARE_CSR(hpmcounter7h, CSR_HPMCOUNTER7H)
3026 DECLARE_CSR(hpmcounter8h, CSR_HPMCOUNTER8H)
3027 DECLARE_CSR(hpmcounter9h, CSR_HPMCOUNTER9H)
3028 DECLARE_CSR(hpmcounter10h, CSR_HPMCOUNTER10H)
3029 DECLARE_CSR(hpmcounter11h, CSR_HPMCOUNTER11H)
3030 DECLARE_CSR(hpmcounter12h, CSR_HPMCOUNTER12H)
3031 DECLARE_CSR(hpmcounter13h, CSR_HPMCOUNTER13H)
3032 DECLARE_CSR(hpmcounter14h, CSR_HPMCOUNTER14H)
3033 DECLARE_CSR(hpmcounter15h, CSR_HPMCOUNTER15H)
3034 DECLARE_CSR(hpmcounter16h, CSR_HPMCOUNTER16H)
3035 DECLARE_CSR(hpmcounter17h, CSR_HPMCOUNTER17H)
3036 DECLARE_CSR(hpmcounter18h, CSR_HPMCOUNTER18H)
3037 DECLARE_CSR(hpmcounter19h, CSR_HPMCOUNTER19H)
3038 DECLARE_CSR(hpmcounter20h, CSR_HPMCOUNTER20H)
3039 DECLARE_CSR(hpmcounter21h, CSR_HPMCOUNTER21H)
3040 DECLARE_CSR(hpmcounter22h, CSR_HPMCOUNTER22H)
3041 DECLARE_CSR(hpmcounter23h, CSR_HPMCOUNTER23H)
3042 DECLARE_CSR(hpmcounter24h, CSR_HPMCOUNTER24H)
3043 DECLARE_CSR(hpmcounter25h, CSR_HPMCOUNTER25H)
3044 DECLARE_CSR(hpmcounter26h, CSR_HPMCOUNTER26H)
3045 DECLARE_CSR(hpmcounter27h, CSR_HPMCOUNTER27H)
3046 DECLARE_CSR(hpmcounter28h, CSR_HPMCOUNTER28H)
3047 DECLARE_CSR(hpmcounter29h, CSR_HPMCOUNTER29H)
3048 DECLARE_CSR(hpmcounter30h, CSR_HPMCOUNTER30H)
3049 DECLARE_CSR(hpmcounter31h, CSR_HPMCOUNTER31H)
3050 DECLARE_CSR(mstatush, CSR_MSTATUSH)
3051 DECLARE_CSR(mcycleh, CSR_MCYCLEH)
3052 DECLARE_CSR(minstreth, CSR_MINSTRETH)
3053 DECLARE_CSR(mhpmcounter3h, CSR_MHPMCOUNTER3H)
3054 DECLARE_CSR(mhpmcounter4h, CSR_MHPMCOUNTER4H)
3055 DECLARE_CSR(mhpmcounter5h, CSR_MHPMCOUNTER5H)
3056 DECLARE_CSR(mhpmcounter6h, CSR_MHPMCOUNTER6H)
3057 DECLARE_CSR(mhpmcounter7h, CSR_MHPMCOUNTER7H)
3058 DECLARE_CSR(mhpmcounter8h, CSR_MHPMCOUNTER8H)
3059 DECLARE_CSR(mhpmcounter9h, CSR_MHPMCOUNTER9H)
3060 DECLARE_CSR(mhpmcounter10h, CSR_MHPMCOUNTER10H)
3061 DECLARE_CSR(mhpmcounter11h, CSR_MHPMCOUNTER11H)
3062 DECLARE_CSR(mhpmcounter12h, CSR_MHPMCOUNTER12H)
3063 DECLARE_CSR(mhpmcounter13h, CSR_MHPMCOUNTER13H)
3064 DECLARE_CSR(mhpmcounter14h, CSR_MHPMCOUNTER14H)
3065 DECLARE_CSR(mhpmcounter15h, CSR_MHPMCOUNTER15H)
3066 DECLARE_CSR(mhpmcounter16h, CSR_MHPMCOUNTER16H)
3067 DECLARE_CSR(mhpmcounter17h, CSR_MHPMCOUNTER17H)
3068 DECLARE_CSR(mhpmcounter18h, CSR_MHPMCOUNTER18H)
3069 DECLARE_CSR(mhpmcounter19h, CSR_MHPMCOUNTER19H)
3070 DECLARE_CSR(mhpmcounter20h, CSR_MHPMCOUNTER20H)
3071 DECLARE_CSR(mhpmcounter21h, CSR_MHPMCOUNTER21H)
3072 DECLARE_CSR(mhpmcounter22h, CSR_MHPMCOUNTER22H)
3073 DECLARE_CSR(mhpmcounter23h, CSR_MHPMCOUNTER23H)
3074 DECLARE_CSR(mhpmcounter24h, CSR_MHPMCOUNTER24H)
3075 DECLARE_CSR(mhpmcounter25h, CSR_MHPMCOUNTER25H)
3076 DECLARE_CSR(mhpmcounter26h, CSR_MHPMCOUNTER26H)
3077 DECLARE_CSR(mhpmcounter27h, CSR_MHPMCOUNTER27H)
3078 DECLARE_CSR(mhpmcounter28h, CSR_MHPMCOUNTER28H)
3079 DECLARE_CSR(mhpmcounter29h, CSR_MHPMCOUNTER29H)
3080 DECLARE_CSR(mhpmcounter30h, CSR_MHPMCOUNTER30H)
3081 DECLARE_CSR(mhpmcounter31h, CSR_MHPMCOUNTER31H)
3082 #endif
3083 #ifdef DECLARE_CAUSE
3084 DECLARE_CAUSE("misaligned fetch", CAUSE_MISALIGNED_FETCH)
3085 DECLARE_CAUSE("fetch access", CAUSE_FETCH_ACCESS)
3086 DECLARE_CAUSE("illegal instruction", CAUSE_ILLEGAL_INSTRUCTION)
3087 DECLARE_CAUSE("breakpoint", CAUSE_BREAKPOINT)
3088 DECLARE_CAUSE("misaligned load", CAUSE_MISALIGNED_LOAD)
3089 DECLARE_CAUSE("load access", CAUSE_LOAD_ACCESS)
3090 DECLARE_CAUSE("misaligned store", CAUSE_MISALIGNED_STORE)
3091 DECLARE_CAUSE("store access", CAUSE_STORE_ACCESS)
3092 DECLARE_CAUSE("user_ecall", CAUSE_USER_ECALL)
3093 DECLARE_CAUSE("supervisor_ecall", CAUSE_SUPERVISOR_ECALL)
3094 DECLARE_CAUSE("virtual_supervisor_ecall", CAUSE_VIRTUAL_SUPERVISOR_ECALL)
3095 DECLARE_CAUSE("machine_ecall", CAUSE_MACHINE_ECALL)
3096 DECLARE_CAUSE("fetch page fault", CAUSE_FETCH_PAGE_FAULT)
3097 DECLARE_CAUSE("load page fault", CAUSE_LOAD_PAGE_FAULT)
3098 DECLARE_CAUSE("store page fault", CAUSE_STORE_PAGE_FAULT)
3099 DECLARE_CAUSE("fetch guest page fault", CAUSE_FETCH_GUEST_PAGE_FAULT)
3100 DECLARE_CAUSE("load guest page fault", CAUSE_LOAD_GUEST_PAGE_FAULT)
3101 DECLARE_CAUSE("virtual instruction", CAUSE_VIRTUAL_INSTRUCTION)
3102 DECLARE_CAUSE("store guest page fault", CAUSE_STORE_GUEST_PAGE_FAULT)
3103 #endif

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)