use std::{collections::HashMap, sync::OnceLock};
struct Inst {
inst_type: InstType,
code: u32,
}
#[derive(Clone, Copy, Debug)]
pub enum InstType {
R,
I,
S,
L,
B,
U,
J,
}
#[derive(Clone, Copy, Debug)]
pub enum AsmArgs {
RegDest,
RegSrc1,
RegSrc2,
Imm,
Mem,
}
pub struct Instructions {
map: HashMap<&'static str, Inst>,
}
static INSTRUCTIONS: OnceLock<Instructions> = OnceLock::new();
macro_rules! insert_inst {
($map:expr, $op:ident, $inst_type:ident, $inst_code:ident) => {
$map.insert(
stringify!($op),
Inst {
inst_type: InstType::$inst_type,
code: $inst_code,
},
);
};
}
impl Instructions {
fn new() -> Instructions {
let mut map = HashMap::new();
insert_inst!(map, addi, I, MATCH_ADDI);
insert_inst!(map, andi, I, MATCH_ANDI);
insert_inst!(map, ori, I, MATCH_ORI);
insert_inst!(map, xori, I, MATCH_XORI);
insert_inst!(map, slti, I, MATCH_SLTI);
insert_inst!(map, sltiu, I, MATCH_SLTIU);
insert_inst!(map, slli, I, MATCH_SLLI);
insert_inst!(map, srli, I, MATCH_SRLI);
insert_inst!(map, srai, I, MATCH_SRAI);
insert_inst!(map, lui, U, MATCH_LUI);
insert_inst!(map, auipc, U, MATCH_AUIPC);
insert_inst!(map, add, R, MATCH_ADD);
insert_inst!(map, and, R, MATCH_AND);
insert_inst!(map, or, R, MATCH_OR);
insert_inst!(map, xor, R, MATCH_XOR);
insert_inst!(map, slt, R, MATCH_SLT);
insert_inst!(map, sltu, R, MATCH_SLTU);
insert_inst!(map, sll, R, MATCH_SLL);
insert_inst!(map, srl, R, MATCH_SRL);
insert_inst!(map, sra, R, MATCH_SRA);
insert_inst!(map, sub, R, MATCH_SUB);
insert_inst!(map, jal, J, MATCH_JAL);
insert_inst!(map, jalr, I, MATCH_JALR);
insert_inst!(map, beq, B, MATCH_BEQ);
insert_inst!(map, bne, B, MATCH_BNE);
insert_inst!(map, blt, B, MATCH_BLT);
insert_inst!(map, bltu, B, MATCH_BLTU);
insert_inst!(map, bge, B, MATCH_BGE);
insert_inst!(map, bgeu, B, MATCH_BGEU);
insert_inst!(map, lw, L, MATCH_LW);
insert_inst!(map, lh, L, MATCH_LH);
insert_inst!(map, lhu, L, MATCH_LHU);
insert_inst!(map, lb, L, MATCH_LB);
insert_inst!(map, lbu, L, MATCH_LBU);
insert_inst!(map, sw, S, MATCH_SW);
insert_inst!(map, sh, S, MATCH_SH);
insert_inst!(map, sb, S, MATCH_SB);
Instructions { map }
}
pub fn is_valid_op(op: &str) -> bool {
let instructions = INSTRUCTIONS.get_or_init(|| Instructions::new());
if let Some(_) = instructions.map.get(op) {
true
} else {
false
}
}
pub fn get_code(op: &str) -> Option<u32> {
let instructions = INSTRUCTIONS.get_or_init(|| Instructions::new());
if let Some(i) = instructions.map.get(op) {
Some(i.code)
} else {
None
}
}
pub fn get_args(op: &str) -> Option<Vec<AsmArgs>> {
let instructions = INSTRUCTIONS.get_or_init(|| Instructions::new());
if let Some(i) = instructions.map.get(op) {
Some(i.inst_type.get_args())
} else {
None
}
}
pub fn get_type(op: &str) -> Option<InstType> {
let instructions = INSTRUCTIONS.get_or_init(|| Instructions::new());
if let Some(i) = instructions.map.get(op) {
Some(i.inst_type)
} else {
None
}
}
}
impl InstType {
fn get_args(&self) -> Vec<AsmArgs> {
match self {
InstType::R => vec![AsmArgs::RegDest, AsmArgs::RegSrc1, AsmArgs::RegSrc2],
InstType::I => vec![AsmArgs::RegDest, AsmArgs::RegSrc1, AsmArgs::Imm],
InstType::S => vec![AsmArgs::RegSrc2, AsmArgs::Mem],
InstType::L => vec![AsmArgs::RegDest, AsmArgs::Mem],
InstType::B => vec![AsmArgs::RegSrc1, AsmArgs::RegSrc2, AsmArgs::Imm],
InstType::U => vec![AsmArgs::RegDest, AsmArgs::Imm],
InstType::J => vec![AsmArgs::RegDest, AsmArgs::Imm],
}
}
}
const MATCH_ADD: u32 = 0x33;
const MASK_ADD: u32 = 0xfe00707f;
const MATCH_ADD16: u32 = 0x40000077;
const MASK_ADD16: u32 = 0xfe00707f;
const MATCH_ADD32: u32 = 0x40002077;
const MASK_ADD32: u32 = 0xfe00707f;
const MATCH_ADD64: u32 = 0xc0001077;
const MASK_ADD64: u32 = 0xfe00707f;
const MATCH_ADD8: u32 = 0x48000077;
const MASK_ADD8: u32 = 0xfe00707f;
const MATCH_ADD_UW: u32 = 0x800003b;
const MASK_ADD_UW: u32 = 0xfe00707f;
const MATCH_ADDD: u32 = 0x7b;
const MASK_ADDD: u32 = 0xfe00707f;
const MATCH_ADDI: u32 = 0x13;
const MASK_ADDI: u32 = 0x707f;
const MATCH_ADDID: u32 = 0x5b;
const MASK_ADDID: u32 = 0x707f;
const MATCH_ADDIW: u32 = 0x1b;
const MASK_ADDIW: u32 = 0x707f;
const MATCH_ADDW: u32 = 0x3b;
const MASK_ADDW: u32 = 0xfe00707f;
const MATCH_AES32DSI: u32 = 0x2a000033;
const MASK_AES32DSI: u32 = 0x3e00707f;
const MATCH_AES32DSMI: u32 = 0x2e000033;
const MASK_AES32DSMI: u32 = 0x3e00707f;
const MATCH_AES32ESI: u32 = 0x22000033;
const MASK_AES32ESI: u32 = 0x3e00707f;
const MATCH_AES32ESMI: u32 = 0x26000033;
const MASK_AES32ESMI: u32 = 0x3e00707f;
const MATCH_AES64DS: u32 = 0x3a000033;
const MASK_AES64DS: u32 = 0xfe00707f;
const MATCH_AES64DSM: u32 = 0x3e000033;
const MASK_AES64DSM: u32 = 0xfe00707f;
const MATCH_AES64ES: u32 = 0x32000033;
const MASK_AES64ES: u32 = 0xfe00707f;
const MATCH_AES64ESM: u32 = 0x36000033;
const MASK_AES64ESM: u32 = 0xfe00707f;
const MATCH_AES64IM: u32 = 0x30001013;
const MASK_AES64IM: u32 = 0xfff0707f;
const MATCH_AES64KS1I: u32 = 0x31001013;
const MASK_AES64KS1I: u32 = 0xff00707f;
const MATCH_AES64KS2: u32 = 0x7e000033;
const MASK_AES64KS2: u32 = 0xfe00707f;
const MATCH_AMOADD_B: u32 = 0x2f;
const MASK_AMOADD_B: u32 = 0xf800707f;
const MATCH_AMOADD_D: u32 = 0x302f;
const MASK_AMOADD_D: u32 = 0xf800707f;
const MATCH_AMOADD_H: u32 = 0x102f;
const MASK_AMOADD_H: u32 = 0xf800707f;
const MATCH_AMOADD_W: u32 = 0x202f;
const MASK_AMOADD_W: u32 = 0xf800707f;
const MATCH_AMOAND_B: u32 = 0x6000002f;
const MASK_AMOAND_B: u32 = 0xf800707f;
const MATCH_AMOAND_D: u32 = 0x6000302f;
const MASK_AMOAND_D: u32 = 0xf800707f;
const MATCH_AMOAND_H: u32 = 0x6000102f;
const MASK_AMOAND_H: u32 = 0xf800707f;
const MATCH_AMOAND_W: u32 = 0x6000202f;
const MASK_AMOAND_W: u32 = 0xf800707f;
const MATCH_AMOCAS_B: u32 = 0x2800002f;
const MASK_AMOCAS_B: u32 = 0xf800707f;
const MATCH_AMOCAS_D: u32 = 0x2800302f;
const MASK_AMOCAS_D: u32 = 0xf800707f;
const MATCH_AMOCAS_H: u32 = 0x2800102f;
const MASK_AMOCAS_H: u32 = 0xf800707f;
const MATCH_AMOCAS_Q: u32 = 0x2800402f;
const MASK_AMOCAS_Q: u32 = 0xf800707f;
const MATCH_AMOCAS_W: u32 = 0x2800202f;
const MASK_AMOCAS_W: u32 = 0xf800707f;
const MATCH_AMOMAX_B: u32 = 0xa000002f;
const MASK_AMOMAX_B: u32 = 0xf800707f;
const MATCH_AMOMAX_D: u32 = 0xa000302f;
const MASK_AMOMAX_D: u32 = 0xf800707f;
const MATCH_AMOMAX_H: u32 = 0xa000102f;
const MASK_AMOMAX_H: u32 = 0xf800707f;
const MATCH_AMOMAX_W: u32 = 0xa000202f;
const MASK_AMOMAX_W: u32 = 0xf800707f;
const MATCH_AMOMAXU_B: u32 = 0xe000002f;
const MASK_AMOMAXU_B: u32 = 0xf800707f;
const MATCH_AMOMAXU_D: u32 = 0xe000302f;
const MASK_AMOMAXU_D: u32 = 0xf800707f;
const MATCH_AMOMAXU_H: u32 = 0xe000102f;
const MASK_AMOMAXU_H: u32 = 0xf800707f;
const MATCH_AMOMAXU_W: u32 = 0xe000202f;
const MASK_AMOMAXU_W: u32 = 0xf800707f;
const MATCH_AMOMIN_B: u32 = 0x8000002f;
const MASK_AMOMIN_B: u32 = 0xf800707f;
const MATCH_AMOMIN_D: u32 = 0x8000302f;
const MASK_AMOMIN_D: u32 = 0xf800707f;
const MATCH_AMOMIN_H: u32 = 0x8000102f;
const MASK_AMOMIN_H: u32 = 0xf800707f;
const MATCH_AMOMIN_W: u32 = 0x8000202f;
const MASK_AMOMIN_W: u32 = 0xf800707f;
const MATCH_AMOMINU_B: u32 = 0xc000002f;
const MASK_AMOMINU_B: u32 = 0xf800707f;
const MATCH_AMOMINU_D: u32 = 0xc000302f;
const MASK_AMOMINU_D: u32 = 0xf800707f;
const MATCH_AMOMINU_H: u32 = 0xc000102f;
const MASK_AMOMINU_H: u32 = 0xf800707f;
const MATCH_AMOMINU_W: u32 = 0xc000202f;
const MASK_AMOMINU_W: u32 = 0xf800707f;
const MATCH_AMOOR_B: u32 = 0x4000002f;
const MASK_AMOOR_B: u32 = 0xf800707f;
const MATCH_AMOOR_D: u32 = 0x4000302f;
const MASK_AMOOR_D: u32 = 0xf800707f;
const MATCH_AMOOR_H: u32 = 0x4000102f;
const MASK_AMOOR_H: u32 = 0xf800707f;
const MATCH_AMOOR_W: u32 = 0x4000202f;
const MASK_AMOOR_W: u32 = 0xf800707f;
const MATCH_AMOSWAP_B: u32 = 0x800002f;
const MASK_AMOSWAP_B: u32 = 0xf800707f;
const MATCH_AMOSWAP_D: u32 = 0x800302f;
const MASK_AMOSWAP_D: u32 = 0xf800707f;
const MATCH_AMOSWAP_H: u32 = 0x800102f;
const MASK_AMOSWAP_H: u32 = 0xf800707f;
const MATCH_AMOSWAP_W: u32 = 0x800202f;
const MASK_AMOSWAP_W: u32 = 0xf800707f;
const MATCH_AMOXOR_B: u32 = 0x2000002f;
const MASK_AMOXOR_B: u32 = 0xf800707f;
const MATCH_AMOXOR_D: u32 = 0x2000302f;
const MASK_AMOXOR_D: u32 = 0xf800707f;
const MATCH_AMOXOR_H: u32 = 0x2000102f;
const MASK_AMOXOR_H: u32 = 0xf800707f;
const MATCH_AMOXOR_W: u32 = 0x2000202f;
const MASK_AMOXOR_W: u32 = 0xf800707f;
const MATCH_AND: u32 = 0x7033;
const MASK_AND: u32 = 0xfe00707f;
const MATCH_ANDI: u32 = 0x7013;
const MASK_ANDI: u32 = 0x707f;
const MATCH_ANDN: u32 = 0x40007033;
const MASK_ANDN: u32 = 0xfe00707f;
const MATCH_AUIPC: u32 = 0x17;
const MASK_AUIPC: u32 = 0x7f;
const MATCH_AVE: u32 = 0xe0000077;
const MASK_AVE: u32 = 0xfe00707f;
const MATCH_BCLR: u32 = 0x48001033;
const MASK_BCLR: u32 = 0xfe00707f;
const MATCH_BCLRI: u32 = 0x48001013;
const MASK_BCLRI: u32 = 0xfc00707f;
const MATCH_BCOMPRESS: u32 = 0x8006033;
const MASK_BCOMPRESS: u32 = 0xfe00707f;
const MATCH_BCOMPRESSW: u32 = 0x800603b;
const MASK_BCOMPRESSW: u32 = 0xfe00707f;
const MATCH_BDECOMPRESS: u32 = 0x48006033;
const MASK_BDECOMPRESS: u32 = 0xfe00707f;
const MATCH_BDECOMPRESSW: u32 = 0x4800603b;
const MASK_BDECOMPRESSW: u32 = 0xfe00707f;
const MATCH_BEQ: u32 = 0x63;
const MASK_BEQ: u32 = 0x707f;
const MATCH_BEXT: u32 = 0x48005033;
const MASK_BEXT: u32 = 0xfe00707f;
const MATCH_BEXTI: u32 = 0x48005013;
const MASK_BEXTI: u32 = 0xfc00707f;
const MATCH_BFP: u32 = 0x48007033;
const MASK_BFP: u32 = 0xfe00707f;
const MATCH_BFPW: u32 = 0x4800703b;
const MASK_BFPW: u32 = 0xfe00707f;
const MATCH_BGE: u32 = 0x5063;
const MASK_BGE: u32 = 0x707f;
const MATCH_BGEU: u32 = 0x7063;
const MASK_BGEU: u32 = 0x707f;
const MATCH_BINV: u32 = 0x68001033;
const MASK_BINV: u32 = 0xfe00707f;
const MATCH_BINVI: u32 = 0x68001013;
const MASK_BINVI: u32 = 0xfc00707f;
const MATCH_BLT: u32 = 0x4063;
const MASK_BLT: u32 = 0x707f;
const MATCH_BLTU: u32 = 0x6063;
const MASK_BLTU: u32 = 0x707f;
const MATCH_BMATFLIP: u32 = 0x60301013;
const MASK_BMATFLIP: u32 = 0xfff0707f;
const MATCH_BMATOR: u32 = 0x8003033;
const MASK_BMATOR: u32 = 0xfe00707f;
const MATCH_BMATXOR: u32 = 0x48003033;
const MASK_BMATXOR: u32 = 0xfe00707f;
const MATCH_BNE: u32 = 0x1063;
const MASK_BNE: u32 = 0x707f;
const MATCH_BREV8: u32 = 0x68705013;
const MASK_BREV8: u32 = 0xfff0707f;
const MATCH_BSET: u32 = 0x28001033;
const MASK_BSET: u32 = 0xfe00707f;
const MATCH_BSETI: u32 = 0x28001013;
const MASK_BSETI: u32 = 0xfc00707f;
const MATCH_C_ADD: u32 = 0x9002;
const MASK_C_ADD: u32 = 0xf003;
const MATCH_C_ADDI: u32 = 0x1;
const MASK_C_ADDI: u32 = 0xe003;
const MATCH_C_ADDI16SP: u32 = 0x6101;
const MASK_C_ADDI16SP: u32 = 0xef83;
const MATCH_C_ADDI4SPN: u32 = 0x0;
const MASK_C_ADDI4SPN: u32 = 0xe003;
const MATCH_C_ADDIW: u32 = 0x2001;
const MASK_C_ADDIW: u32 = 0xe003;
const MATCH_C_ADDW: u32 = 0x9c21;
const MASK_C_ADDW: u32 = 0xfc63;
const MATCH_C_AND: u32 = 0x8c61;
const MASK_C_AND: u32 = 0xfc63;
const MATCH_C_ANDI: u32 = 0x8801;
const MASK_C_ANDI: u32 = 0xec03;
const MATCH_C_BEQZ: u32 = 0xc001;
const MASK_C_BEQZ: u32 = 0xe003;
const MATCH_C_BNEZ: u32 = 0xe001;
const MASK_C_BNEZ: u32 = 0xe003;
const MATCH_C_EBREAK: u32 = 0x9002;
const MASK_C_EBREAK: u32 = 0xffff;
const MATCH_C_FLD: u32 = 0x2000;
const MASK_C_FLD: u32 = 0xe003;
const MATCH_C_FLDSP: u32 = 0x2002;
const MASK_C_FLDSP: u32 = 0xe003;
const MATCH_C_FLW: u32 = 0x6000;
const MASK_C_FLW: u32 = 0xe003;
const MATCH_C_FLWSP: u32 = 0x6002;
const MASK_C_FLWSP: u32 = 0xe003;
const MATCH_C_FSD: u32 = 0xa000;
const MASK_C_FSD: u32 = 0xe003;
const MATCH_C_FSDSP: u32 = 0xa002;
const MASK_C_FSDSP: u32 = 0xe003;
const MATCH_C_FSW: u32 = 0xe000;
const MASK_C_FSW: u32 = 0xe003;
const MATCH_C_FSWSP: u32 = 0xe002;
const MASK_C_FSWSP: u32 = 0xe003;
const MATCH_C_J: u32 = 0xa001;
const MASK_C_J: u32 = 0xe003;
const MATCH_C_JAL: u32 = 0x2001;
const MASK_C_JAL: u32 = 0xe003;
const MATCH_C_JALR: u32 = 0x9002;
const MASK_C_JALR: u32 = 0xf07f;
const MATCH_C_JR: u32 = 0x8002;
const MASK_C_JR: u32 = 0xf07f;
const MATCH_C_LBU: u32 = 0x8000;
const MASK_C_LBU: u32 = 0xfc03;
const MATCH_C_LD: u32 = 0x6000;
const MASK_C_LD: u32 = 0xe003;
const MATCH_C_LDSP: u32 = 0x6002;
const MASK_C_LDSP: u32 = 0xe003;
const MATCH_C_LH: u32 = 0x8440;
const MASK_C_LH: u32 = 0xfc43;
const MATCH_C_LHU: u32 = 0x8400;
const MASK_C_LHU: u32 = 0xfc43;
const MATCH_C_LI: u32 = 0x4001;
const MASK_C_LI: u32 = 0xe003;
const MATCH_C_LQ: u32 = 0x2000;
const MASK_C_LQ: u32 = 0xe003;
const MATCH_C_LQSP: u32 = 0x2002;
const MASK_C_LQSP: u32 = 0xe003;
const MATCH_C_LUI: u32 = 0x6001;
const MASK_C_LUI: u32 = 0xe003;
const MATCH_C_LW: u32 = 0x4000;
const MASK_C_LW: u32 = 0xe003;
const MATCH_C_LWSP: u32 = 0x4002;
const MASK_C_LWSP: u32 = 0xe003;
const MATCH_C_MOP_1: u32 = 0x6081;
const MASK_C_MOP_1: u32 = 0xffff;
const MATCH_C_MOP_11: u32 = 0x6581;
const MASK_C_MOP_11: u32 = 0xffff;
const MATCH_C_MOP_13: u32 = 0x6681;
const MASK_C_MOP_13: u32 = 0xffff;
const MATCH_C_MOP_15: u32 = 0x6781;
const MASK_C_MOP_15: u32 = 0xffff;
const MATCH_C_MOP_3: u32 = 0x6181;
const MASK_C_MOP_3: u32 = 0xffff;
const MATCH_C_MOP_5: u32 = 0x6281;
const MASK_C_MOP_5: u32 = 0xffff;
const MATCH_C_MOP_7: u32 = 0x6381;
const MASK_C_MOP_7: u32 = 0xffff;
const MATCH_C_MOP_9: u32 = 0x6481;
const MASK_C_MOP_9: u32 = 0xffff;
const MATCH_C_MOP_N: u32 = 0x6081;
const MASK_C_MOP_N: u32 = 0xf8ff;
const MATCH_C_MUL: u32 = 0x9c41;
const MASK_C_MUL: u32 = 0xfc63;
const MATCH_C_MV: u32 = 0x8002;
const MASK_C_MV: u32 = 0xf003;
const MATCH_C_NOP: u32 = 0x1;
const MASK_C_NOP: u32 = 0xef83;
const MATCH_C_NOT: u32 = 0x9c75;
const MASK_C_NOT: u32 = 0xfc7f;
const MATCH_C_NTL_ALL: u32 = 0x9016;
const MASK_C_NTL_ALL: u32 = 0xffff;
const MATCH_C_NTL_P1: u32 = 0x900a;
const MASK_C_NTL_P1: u32 = 0xffff;
const MATCH_C_NTL_PALL: u32 = 0x900e;
const MASK_C_NTL_PALL: u32 = 0xffff;
const MATCH_C_NTL_S1: u32 = 0x9012;
const MASK_C_NTL_S1: u32 = 0xffff;
const MATCH_C_OR: u32 = 0x8c41;
const MASK_C_OR: u32 = 0xfc63;
const MATCH_C_SB: u32 = 0x8800;
const MASK_C_SB: u32 = 0xfc03;
const MATCH_C_SD: u32 = 0xe000;
const MASK_C_SD: u32 = 0xe003;
const MATCH_C_SDSP: u32 = 0xe002;
const MASK_C_SDSP: u32 = 0xe003;
const MATCH_C_SEXT_B: u32 = 0x9c65;
const MASK_C_SEXT_B: u32 = 0xfc7f;
const MATCH_C_SEXT_H: u32 = 0x9c6d;
const MASK_C_SEXT_H: u32 = 0xfc7f;
const MATCH_C_SH: u32 = 0x8c00;
const MASK_C_SH: u32 = 0xfc43;
const MATCH_C_SLLI: u32 = 0x2;
const MASK_C_SLLI: u32 = 0xe003;
const MATCH_C_SLLI_RV32: u32 = 0x2;
const MASK_C_SLLI_RV32: u32 = 0xf003;
const MATCH_C_SQ: u32 = 0xa000;
const MASK_C_SQ: u32 = 0xe003;
const MATCH_C_SQSP: u32 = 0xa002;
const MASK_C_SQSP: u32 = 0xe003;
const MATCH_C_SRAI: u32 = 0x8401;
const MASK_C_SRAI: u32 = 0xec03;
const MATCH_C_SRAI_RV32: u32 = 0x8401;
const MASK_C_SRAI_RV32: u32 = 0xfc03;
const MATCH_C_SRLI: u32 = 0x8001;
const MASK_C_SRLI: u32 = 0xec03;
const MATCH_C_SRLI_RV32: u32 = 0x8001;
const MASK_C_SRLI_RV32: u32 = 0xfc03;
const MATCH_C_SUB: u32 = 0x8c01;
const MASK_C_SUB: u32 = 0xfc63;
const MATCH_C_SUBW: u32 = 0x9c01;
const MASK_C_SUBW: u32 = 0xfc63;
const MATCH_C_SW: u32 = 0xc000;
const MASK_C_SW: u32 = 0xe003;
const MATCH_C_SWSP: u32 = 0xc002;
const MASK_C_SWSP: u32 = 0xe003;
const MATCH_C_XOR: u32 = 0x8c21;
const MASK_C_XOR: u32 = 0xfc63;
const MATCH_C_ZEXT_B: u32 = 0x9c61;
const MASK_C_ZEXT_B: u32 = 0xfc7f;
const MATCH_C_ZEXT_H: u32 = 0x9c69;
const MASK_C_ZEXT_H: u32 = 0xfc7f;
const MATCH_C_ZEXT_W: u32 = 0x9c71;
const MASK_C_ZEXT_W: u32 = 0xfc7f;
const MATCH_CBO_CLEAN: u32 = 0x10200f;
const MASK_CBO_CLEAN: u32 = 0xfff07fff;
const MATCH_CBO_FLUSH: u32 = 0x20200f;
const MASK_CBO_FLUSH: u32 = 0xfff07fff;
const MATCH_CBO_INVAL: u32 = 0x200f;
const MASK_CBO_INVAL: u32 = 0xfff07fff;
const MATCH_CBO_ZERO: u32 = 0x40200f;
const MASK_CBO_ZERO: u32 = 0xfff07fff;
const MATCH_CLMUL: u32 = 0xa001033;
const MASK_CLMUL: u32 = 0xfe00707f;
const MATCH_CLMULH: u32 = 0xa003033;
const MASK_CLMULH: u32 = 0xfe00707f;
const MATCH_CLMULR: u32 = 0xa002033;
const MASK_CLMULR: u32 = 0xfe00707f;
const MATCH_CLROV: u32 = 0x90f073;
const MASK_CLROV: u32 = 0xfffff07f;
const MATCH_CLRS16: u32 = 0xae800077;
const MASK_CLRS16: u32 = 0xfff0707f;
const MATCH_CLRS32: u32 = 0xaf800077;
const MASK_CLRS32: u32 = 0xfff0707f;
const MATCH_CLRS8: u32 = 0xae000077;
const MASK_CLRS8: u32 = 0xfff0707f;
const MATCH_CLZ: u32 = 0x60001013;
const MASK_CLZ: u32 = 0xfff0707f;
const MATCH_CLZ16: u32 = 0xae900077;
const MASK_CLZ16: u32 = 0xfff0707f;
const MATCH_CLZ32: u32 = 0xaf900077;
const MASK_CLZ32: u32 = 0xfff0707f;
const MATCH_CLZ8: u32 = 0xae100077;
const MASK_CLZ8: u32 = 0xfff0707f;
const MATCH_CLZW: u32 = 0x6000101b;
const MASK_CLZW: u32 = 0xfff0707f;
const MATCH_CM_JALT: u32 = 0xa002;
const MASK_CM_JALT: u32 = 0xfc03;
const MATCH_CM_MVA01S: u32 = 0xac62;
const MASK_CM_MVA01S: u32 = 0xfc63;
const MATCH_CM_MVSA01: u32 = 0xac22;
const MASK_CM_MVSA01: u32 = 0xfc63;
const MATCH_CM_POP: u32 = 0xba02;
const MASK_CM_POP: u32 = 0xff03;
const MATCH_CM_POPRET: u32 = 0xbe02;
const MASK_CM_POPRET: u32 = 0xff03;
const MATCH_CM_POPRETZ: u32 = 0xbc02;
const MASK_CM_POPRETZ: u32 = 0xff03;
const MATCH_CM_PUSH: u32 = 0xb802;
const MASK_CM_PUSH: u32 = 0xff03;
const MATCH_CMIX: u32 = 0x6001033;
const MASK_CMIX: u32 = 0x600707f;
const MATCH_CMOV: u32 = 0x6005033;
const MASK_CMOV: u32 = 0x600707f;
const MATCH_CMPEQ16: u32 = 0x4c000077;
const MASK_CMPEQ16: u32 = 0xfe00707f;
const MATCH_CMPEQ8: u32 = 0x4e000077;
const MASK_CMPEQ8: u32 = 0xfe00707f;
const MATCH_CPOP: u32 = 0x60201013;
const MASK_CPOP: u32 = 0xfff0707f;
const MATCH_CPOPW: u32 = 0x6020101b;
const MASK_CPOPW: u32 = 0xfff0707f;
const MATCH_CRAS16: u32 = 0x44000077;
const MASK_CRAS16: u32 = 0xfe00707f;
const MATCH_CRAS32: u32 = 0x44002077;
const MASK_CRAS32: u32 = 0xfe00707f;
const MATCH_CRC32_B: u32 = 0x61001013;
const MASK_CRC32_B: u32 = 0xfff0707f;
const MATCH_CRC32_D: u32 = 0x61301013;
const MASK_CRC32_D: u32 = 0xfff0707f;
const MATCH_CRC32_H: u32 = 0x61101013;
const MASK_CRC32_H: u32 = 0xfff0707f;
const MATCH_CRC32_W: u32 = 0x61201013;
const MASK_CRC32_W: u32 = 0xfff0707f;
const MATCH_CRC32C_B: u32 = 0x61801013;
const MASK_CRC32C_B: u32 = 0xfff0707f;
const MATCH_CRC32C_D: u32 = 0x61b01013;
const MASK_CRC32C_D: u32 = 0xfff0707f;
const MATCH_CRC32C_H: u32 = 0x61901013;
const MASK_CRC32C_H: u32 = 0xfff0707f;
const MATCH_CRC32C_W: u32 = 0x61a01013;
const MASK_CRC32C_W: u32 = 0xfff0707f;
const MATCH_CRSA16: u32 = 0x46000077;
const MASK_CRSA16: u32 = 0xfe00707f;
const MATCH_CRSA32: u32 = 0x46002077;
const MASK_CRSA32: u32 = 0xfe00707f;
const MATCH_CSRRC: u32 = 0x3073;
const MASK_CSRRC: u32 = 0x707f;
const MATCH_CSRRCI: u32 = 0x7073;
const MASK_CSRRCI: u32 = 0x707f;
const MATCH_CSRRS: u32 = 0x2073;
const MASK_CSRRS: u32 = 0x707f;
const MATCH_CSRRSI: u32 = 0x6073;
const MASK_CSRRSI: u32 = 0x707f;
const MATCH_CSRRW: u32 = 0x1073;
const MASK_CSRRW: u32 = 0x707f;
const MATCH_CSRRWI: u32 = 0x5073;
const MASK_CSRRWI: u32 = 0x707f;
const MATCH_CTZ: u32 = 0x60101013;
const MASK_CTZ: u32 = 0xfff0707f;
const MATCH_CTZW: u32 = 0x6010101b;
const MASK_CTZW: u32 = 0xfff0707f;
const MATCH_CZERO_EQZ: u32 = 0xe005033;
const MASK_CZERO_EQZ: u32 = 0xfe00707f;
const MATCH_CZERO_NEZ: u32 = 0xe007033;
const MASK_CZERO_NEZ: u32 = 0xfe00707f;
const MATCH_DIV: u32 = 0x2004033;
const MASK_DIV: u32 = 0xfe00707f;
const MATCH_DIVU: u32 = 0x2005033;
const MASK_DIVU: u32 = 0xfe00707f;
const MATCH_DIVUW: u32 = 0x200503b;
const MASK_DIVUW: u32 = 0xfe00707f;
const MATCH_DIVW: u32 = 0x200403b;
const MASK_DIVW: u32 = 0xfe00707f;
const MATCH_DRET: u32 = 0x7b200073;
const MASK_DRET: u32 = 0xffffffff;
const MATCH_EBREAK: u32 = 0x100073;
const MASK_EBREAK: u32 = 0xffffffff;
const MATCH_ECALL: u32 = 0x73;
const MASK_ECALL: u32 = 0xffffffff;
const MATCH_FADD_D: u32 = 0x2000053;
const MASK_FADD_D: u32 = 0xfe00007f;
const MATCH_FADD_H: u32 = 0x4000053;
const MASK_FADD_H: u32 = 0xfe00007f;
const MATCH_FADD_Q: u32 = 0x6000053;
const MASK_FADD_Q: u32 = 0xfe00007f;
const MATCH_FADD_S: u32 = 0x53;
const MASK_FADD_S: u32 = 0xfe00007f;
const MATCH_FCLASS_D: u32 = 0xe2001053;
const MASK_FCLASS_D: u32 = 0xfff0707f;
const MATCH_FCLASS_H: u32 = 0xe4001053;
const MASK_FCLASS_H: u32 = 0xfff0707f;
const MATCH_FCLASS_Q: u32 = 0xe6001053;
const MASK_FCLASS_Q: u32 = 0xfff0707f;
const MATCH_FCLASS_S: u32 = 0xe0001053;
const MASK_FCLASS_S: u32 = 0xfff0707f;
const MATCH_FCVT_BF16_S: u32 = 0x44800053;
const MASK_FCVT_BF16_S: u32 = 0xfff0007f;
const MATCH_FCVT_D_H: u32 = 0x42200053;
const MASK_FCVT_D_H: u32 = 0xfff0007f;
const MATCH_FCVT_D_L: u32 = 0xd2200053;
const MASK_FCVT_D_L: u32 = 0xfff0007f;
const MATCH_FCVT_D_LU: u32 = 0xd2300053;
const MASK_FCVT_D_LU: u32 = 0xfff0007f;
const MATCH_FCVT_D_Q: u32 = 0x42300053;
const MASK_FCVT_D_Q: u32 = 0xfff0007f;
const MATCH_FCVT_D_S: u32 = 0x42000053;
const MASK_FCVT_D_S: u32 = 0xfff0007f;
const MATCH_FCVT_D_W: u32 = 0xd2000053;
const MASK_FCVT_D_W: u32 = 0xfff0007f;
const MATCH_FCVT_D_WU: u32 = 0xd2100053;
const MASK_FCVT_D_WU: u32 = 0xfff0007f;
const MATCH_FCVT_H_D: u32 = 0x44100053;
const MASK_FCVT_H_D: u32 = 0xfff0007f;
const MATCH_FCVT_H_L: u32 = 0xd4200053;
const MASK_FCVT_H_L: u32 = 0xfff0007f;
const MATCH_FCVT_H_LU: u32 = 0xd4300053;
const MASK_FCVT_H_LU: u32 = 0xfff0007f;
const MATCH_FCVT_H_Q: u32 = 0x44300053;
const MASK_FCVT_H_Q: u32 = 0xfff0007f;
const MATCH_FCVT_H_S: u32 = 0x44000053;
const MASK_FCVT_H_S: u32 = 0xfff0007f;
const MATCH_FCVT_H_W: u32 = 0xd4000053;
const MASK_FCVT_H_W: u32 = 0xfff0007f;
const MATCH_FCVT_H_WU: u32 = 0xd4100053;
const MASK_FCVT_H_WU: u32 = 0xfff0007f;
const MATCH_FCVT_L_D: u32 = 0xc2200053;
const MASK_FCVT_L_D: u32 = 0xfff0007f;
const MATCH_FCVT_L_H: u32 = 0xc4200053;
const MASK_FCVT_L_H: u32 = 0xfff0007f;
const MATCH_FCVT_L_Q: u32 = 0xc6200053;
const MASK_FCVT_L_Q: u32 = 0xfff0007f;
const MATCH_FCVT_L_S: u32 = 0xc0200053;
const MASK_FCVT_L_S: u32 = 0xfff0007f;
const MATCH_FCVT_LU_D: u32 = 0xc2300053;
const MASK_FCVT_LU_D: u32 = 0xfff0007f;
const MATCH_FCVT_LU_H: u32 = 0xc4300053;
const MASK_FCVT_LU_H: u32 = 0xfff0007f;
const MATCH_FCVT_LU_Q: u32 = 0xc6300053;
const MASK_FCVT_LU_Q: u32 = 0xfff0007f;
const MATCH_FCVT_LU_S: u32 = 0xc0300053;
const MASK_FCVT_LU_S: u32 = 0xfff0007f;
const MATCH_FCVT_Q_D: u32 = 0x46100053;
const MASK_FCVT_Q_D: u32 = 0xfff0007f;
const MATCH_FCVT_Q_H: u32 = 0x46200053;
const MASK_FCVT_Q_H: u32 = 0xfff0007f;
const MATCH_FCVT_Q_L: u32 = 0xd6200053;
const MASK_FCVT_Q_L: u32 = 0xfff0007f;
const MATCH_FCVT_Q_LU: u32 = 0xd6300053;
const MASK_FCVT_Q_LU: u32 = 0xfff0007f;
const MATCH_FCVT_Q_S: u32 = 0x46000053;
const MASK_FCVT_Q_S: u32 = 0xfff0007f;
const MATCH_FCVT_Q_W: u32 = 0xd6000053;
const MASK_FCVT_Q_W: u32 = 0xfff0007f;
const MATCH_FCVT_Q_WU: u32 = 0xd6100053;
const MASK_FCVT_Q_WU: u32 = 0xfff0007f;
const MATCH_FCVT_S_BF16: u32 = 0x40600053;
const MASK_FCVT_S_BF16: u32 = 0xfff0007f;
const MATCH_FCVT_S_D: u32 = 0x40100053;
const MASK_FCVT_S_D: u32 = 0xfff0007f;
const MATCH_FCVT_S_H: u32 = 0x40200053;
const MASK_FCVT_S_H: u32 = 0xfff0007f;
const MATCH_FCVT_S_L: u32 = 0xd0200053;
const MASK_FCVT_S_L: u32 = 0xfff0007f;
const MATCH_FCVT_S_LU: u32 = 0xd0300053;
const MASK_FCVT_S_LU: u32 = 0xfff0007f;
const MATCH_FCVT_S_Q: u32 = 0x40300053;
const MASK_FCVT_S_Q: u32 = 0xfff0007f;
const MATCH_FCVT_S_W: u32 = 0xd0000053;
const MASK_FCVT_S_W: u32 = 0xfff0007f;
const MATCH_FCVT_S_WU: u32 = 0xd0100053;
const MASK_FCVT_S_WU: u32 = 0xfff0007f;
const MATCH_FCVT_W_D: u32 = 0xc2000053;
const MASK_FCVT_W_D: u32 = 0xfff0007f;
const MATCH_FCVT_W_H: u32 = 0xc4000053;
const MASK_FCVT_W_H: u32 = 0xfff0007f;
const MATCH_FCVT_W_Q: u32 = 0xc6000053;
const MASK_FCVT_W_Q: u32 = 0xfff0007f;
const MATCH_FCVT_W_S: u32 = 0xc0000053;
const MASK_FCVT_W_S: u32 = 0xfff0007f;
const MATCH_FCVT_WU_D: u32 = 0xc2100053;
const MASK_FCVT_WU_D: u32 = 0xfff0007f;
const MATCH_FCVT_WU_H: u32 = 0xc4100053;
const MASK_FCVT_WU_H: u32 = 0xfff0007f;
const MATCH_FCVT_WU_Q: u32 = 0xc6100053;
const MASK_FCVT_WU_Q: u32 = 0xfff0007f;
const MATCH_FCVT_WU_S: u32 = 0xc0100053;
const MASK_FCVT_WU_S: u32 = 0xfff0007f;
const MATCH_FCVTMOD_W_D: u32 = 0xc2801053;
const MASK_FCVTMOD_W_D: u32 = 0xfff0707f;
const MATCH_FDIV_D: u32 = 0x1a000053;
const MASK_FDIV_D: u32 = 0xfe00007f;
const MATCH_FDIV_H: u32 = 0x1c000053;
const MASK_FDIV_H: u32 = 0xfe00007f;
const MATCH_FDIV_Q: u32 = 0x1e000053;
const MASK_FDIV_Q: u32 = 0xfe00007f;
const MATCH_FDIV_S: u32 = 0x18000053;
const MASK_FDIV_S: u32 = 0xfe00007f;
const MATCH_FENCE: u32 = 0xf;
const MASK_FENCE: u32 = 0x707f;
const MATCH_FENCE_I: u32 = 0x100f;
const MASK_FENCE_I: u32 = 0x707f;
const MATCH_FENCE_TSO: u32 = 0x8330000f;
const MASK_FENCE_TSO: u32 = 0xfff0707f;
const MATCH_FEQ_D: u32 = 0xa2002053;
const MASK_FEQ_D: u32 = 0xfe00707f;
const MATCH_FEQ_H: u32 = 0xa4002053;
const MASK_FEQ_H: u32 = 0xfe00707f;
const MATCH_FEQ_Q: u32 = 0xa6002053;
const MASK_FEQ_Q: u32 = 0xfe00707f;
const MATCH_FEQ_S: u32 = 0xa0002053;
const MASK_FEQ_S: u32 = 0xfe00707f;
const MATCH_FLD: u32 = 0x3007;
const MASK_FLD: u32 = 0x707f;
const MATCH_FLE_D: u32 = 0xa2000053;
const MASK_FLE_D: u32 = 0xfe00707f;
const MATCH_FLE_H: u32 = 0xa4000053;
const MASK_FLE_H: u32 = 0xfe00707f;
const MATCH_FLE_Q: u32 = 0xa6000053;
const MASK_FLE_Q: u32 = 0xfe00707f;
const MATCH_FLE_S: u32 = 0xa0000053;
const MASK_FLE_S: u32 = 0xfe00707f;
const MATCH_FLEQ_D: u32 = 0xa2004053;
const MASK_FLEQ_D: u32 = 0xfe00707f;
const MATCH_FLEQ_H: u32 = 0xa4004053;
const MASK_FLEQ_H: u32 = 0xfe00707f;
const MATCH_FLEQ_Q: u32 = 0xa6004053;
const MASK_FLEQ_Q: u32 = 0xfe00707f;
const MATCH_FLEQ_S: u32 = 0xa0004053;
const MASK_FLEQ_S: u32 = 0xfe00707f;
const MATCH_FLH: u32 = 0x1007;
const MASK_FLH: u32 = 0x707f;
const MATCH_FLI_D: u32 = 0xf2100053;
const MASK_FLI_D: u32 = 0xfff0707f;
const MATCH_FLI_H: u32 = 0xf4100053;
const MASK_FLI_H: u32 = 0xfff0707f;
const MATCH_FLI_Q: u32 = 0xf6100053;
const MASK_FLI_Q: u32 = 0xfff0707f;
const MATCH_FLI_S: u32 = 0xf0100053;
const MASK_FLI_S: u32 = 0xfff0707f;
const MATCH_FLQ: u32 = 0x4007;
const MASK_FLQ: u32 = 0x707f;
const MATCH_FLT_D: u32 = 0xa2001053;
const MASK_FLT_D: u32 = 0xfe00707f;
const MATCH_FLT_H: u32 = 0xa4001053;
const MASK_FLT_H: u32 = 0xfe00707f;
const MATCH_FLT_Q: u32 = 0xa6001053;
const MASK_FLT_Q: u32 = 0xfe00707f;
const MATCH_FLT_S: u32 = 0xa0001053;
const MASK_FLT_S: u32 = 0xfe00707f;
const MATCH_FLTQ_D: u32 = 0xa2005053;
const MASK_FLTQ_D: u32 = 0xfe00707f;
const MATCH_FLTQ_H: u32 = 0xa4005053;
const MASK_FLTQ_H: u32 = 0xfe00707f;
const MATCH_FLTQ_Q: u32 = 0xa6005053;
const MASK_FLTQ_Q: u32 = 0xfe00707f;
const MATCH_FLTQ_S: u32 = 0xa0005053;
const MASK_FLTQ_S: u32 = 0xfe00707f;
const MATCH_FLW: u32 = 0x2007;
const MASK_FLW: u32 = 0x707f;
const MATCH_FMADD_D: u32 = 0x2000043;
const MASK_FMADD_D: u32 = 0x600007f;
const MATCH_FMADD_H: u32 = 0x4000043;
const MASK_FMADD_H: u32 = 0x600007f;
const MATCH_FMADD_Q: u32 = 0x6000043;
const MASK_FMADD_Q: u32 = 0x600007f;
const MATCH_FMADD_S: u32 = 0x43;
const MASK_FMADD_S: u32 = 0x600007f;
const MATCH_FMAX_D: u32 = 0x2a001053;
const MASK_FMAX_D: u32 = 0xfe00707f;
const MATCH_FMAX_H: u32 = 0x2c001053;
const MASK_FMAX_H: u32 = 0xfe00707f;
const MATCH_FMAX_Q: u32 = 0x2e001053;
const MASK_FMAX_Q: u32 = 0xfe00707f;
const MATCH_FMAX_S: u32 = 0x28001053;
const MASK_FMAX_S: u32 = 0xfe00707f;
const MATCH_FMAXM_D: u32 = 0x2a003053;
const MASK_FMAXM_D: u32 = 0xfe00707f;
const MATCH_FMAXM_H: u32 = 0x2c003053;
const MASK_FMAXM_H: u32 = 0xfe00707f;
const MATCH_FMAXM_Q: u32 = 0x2e003053;
const MASK_FMAXM_Q: u32 = 0xfe00707f;
const MATCH_FMAXM_S: u32 = 0x28003053;
const MASK_FMAXM_S: u32 = 0xfe00707f;
const MATCH_FMIN_D: u32 = 0x2a000053;
const MASK_FMIN_D: u32 = 0xfe00707f;
const MATCH_FMIN_H: u32 = 0x2c000053;
const MASK_FMIN_H: u32 = 0xfe00707f;
const MATCH_FMIN_Q: u32 = 0x2e000053;
const MASK_FMIN_Q: u32 = 0xfe00707f;
const MATCH_FMIN_S: u32 = 0x28000053;
const MASK_FMIN_S: u32 = 0xfe00707f;
const MATCH_FMINM_D: u32 = 0x2a002053;
const MASK_FMINM_D: u32 = 0xfe00707f;
const MATCH_FMINM_H: u32 = 0x2c002053;
const MASK_FMINM_H: u32 = 0xfe00707f;
const MATCH_FMINM_Q: u32 = 0x2e002053;
const MASK_FMINM_Q: u32 = 0xfe00707f;
const MATCH_FMINM_S: u32 = 0x28002053;
const MASK_FMINM_S: u32 = 0xfe00707f;
const MATCH_FMSUB_D: u32 = 0x2000047;
const MASK_FMSUB_D: u32 = 0x600007f;
const MATCH_FMSUB_H: u32 = 0x4000047;
const MASK_FMSUB_H: u32 = 0x600007f;
const MATCH_FMSUB_Q: u32 = 0x6000047;
const MASK_FMSUB_Q: u32 = 0x600007f;
const MATCH_FMSUB_S: u32 = 0x47;
const MASK_FMSUB_S: u32 = 0x600007f;
const MATCH_FMUL_D: u32 = 0x12000053;
const MASK_FMUL_D: u32 = 0xfe00007f;
const MATCH_FMUL_H: u32 = 0x14000053;
const MASK_FMUL_H: u32 = 0xfe00007f;
const MATCH_FMUL_Q: u32 = 0x16000053;
const MASK_FMUL_Q: u32 = 0xfe00007f;
const MATCH_FMUL_S: u32 = 0x10000053;
const MASK_FMUL_S: u32 = 0xfe00007f;
const MATCH_FMV_D_X: u32 = 0xf2000053;
const MASK_FMV_D_X: u32 = 0xfff0707f;
const MATCH_FMV_H_X: u32 = 0xf4000053;
const MASK_FMV_H_X: u32 = 0xfff0707f;
const MATCH_FMV_S_X: u32 = 0xf0000053;
const MASK_FMV_S_X: u32 = 0xfff0707f;
const MATCH_FMV_W_X: u32 = 0xf0000053;
const MASK_FMV_W_X: u32 = 0xfff0707f;
const MATCH_FMV_X_D: u32 = 0xe2000053;
const MASK_FMV_X_D: u32 = 0xfff0707f;
const MATCH_FMV_X_H: u32 = 0xe4000053;
const MASK_FMV_X_H: u32 = 0xfff0707f;
const MATCH_FMV_X_S: u32 = 0xe0000053;
const MASK_FMV_X_S: u32 = 0xfff0707f;
const MATCH_FMV_X_W: u32 = 0xe0000053;
const MASK_FMV_X_W: u32 = 0xfff0707f;
const MATCH_FMVH_X_D: u32 = 0xe2100053;
const MASK_FMVH_X_D: u32 = 0xfff0707f;
const MATCH_FMVH_X_Q: u32 = 0xe6100053;
const MASK_FMVH_X_Q: u32 = 0xfff0707f;
const MATCH_FMVP_D_X: u32 = 0xb2000053;
const MASK_FMVP_D_X: u32 = 0xfe00707f;
const MATCH_FMVP_Q_X: u32 = 0xb6000053;
const MASK_FMVP_Q_X: u32 = 0xfe00707f;
const MATCH_FNMADD_D: u32 = 0x200004f;
const MASK_FNMADD_D: u32 = 0x600007f;
const MATCH_FNMADD_H: u32 = 0x400004f;
const MASK_FNMADD_H: u32 = 0x600007f;
const MATCH_FNMADD_Q: u32 = 0x600004f;
const MASK_FNMADD_Q: u32 = 0x600007f;
const MATCH_FNMADD_S: u32 = 0x4f;
const MASK_FNMADD_S: u32 = 0x600007f;
const MATCH_FNMSUB_D: u32 = 0x200004b;
const MASK_FNMSUB_D: u32 = 0x600007f;
const MATCH_FNMSUB_H: u32 = 0x400004b;
const MASK_FNMSUB_H: u32 = 0x600007f;
const MATCH_FNMSUB_Q: u32 = 0x600004b;
const MASK_FNMSUB_Q: u32 = 0x600007f;
const MATCH_FNMSUB_S: u32 = 0x4b;
const MASK_FNMSUB_S: u32 = 0x600007f;
const MATCH_FRCSR: u32 = 0x302073;
const MASK_FRCSR: u32 = 0xfffff07f;
const MATCH_FRFLAGS: u32 = 0x102073;
const MASK_FRFLAGS: u32 = 0xfffff07f;
const MATCH_FROUND_D: u32 = 0x42400053;
const MASK_FROUND_D: u32 = 0xfff0007f;
const MATCH_FROUND_H: u32 = 0x44400053;
const MASK_FROUND_H: u32 = 0xfff0007f;
const MATCH_FROUND_Q: u32 = 0x46400053;
const MASK_FROUND_Q: u32 = 0xfff0007f;
const MATCH_FROUND_S: u32 = 0x40400053;
const MASK_FROUND_S: u32 = 0xfff0007f;
const MATCH_FROUNDNX_D: u32 = 0x42500053;
const MASK_FROUNDNX_D: u32 = 0xfff0007f;
const MATCH_FROUNDNX_H: u32 = 0x44500053;
const MASK_FROUNDNX_H: u32 = 0xfff0007f;
const MATCH_FROUNDNX_Q: u32 = 0x46500053;
const MASK_FROUNDNX_Q: u32 = 0xfff0007f;
const MATCH_FROUNDNX_S: u32 = 0x40500053;
const MASK_FROUNDNX_S: u32 = 0xfff0007f;
const MATCH_FRRM: u32 = 0x202073;
const MASK_FRRM: u32 = 0xfffff07f;
const MATCH_FSCSR: u32 = 0x301073;
const MASK_FSCSR: u32 = 0xfff0707f;
const MATCH_FSD: u32 = 0x3027;
const MASK_FSD: u32 = 0x707f;
const MATCH_FSFLAGS: u32 = 0x101073;
const MASK_FSFLAGS: u32 = 0xfff0707f;
const MATCH_FSFLAGSI: u32 = 0x105073;
const MASK_FSFLAGSI: u32 = 0xfff0707f;
const MATCH_FSGNJ_D: u32 = 0x22000053;
const MASK_FSGNJ_D: u32 = 0xfe00707f;
const MATCH_FSGNJ_H: u32 = 0x24000053;
const MASK_FSGNJ_H: u32 = 0xfe00707f;
const MATCH_FSGNJ_Q: u32 = 0x26000053;
const MASK_FSGNJ_Q: u32 = 0xfe00707f;
const MATCH_FSGNJ_S: u32 = 0x20000053;
const MASK_FSGNJ_S: u32 = 0xfe00707f;
const MATCH_FSGNJN_D: u32 = 0x22001053;
const MASK_FSGNJN_D: u32 = 0xfe00707f;
const MATCH_FSGNJN_H: u32 = 0x24001053;
const MASK_FSGNJN_H: u32 = 0xfe00707f;
const MATCH_FSGNJN_Q: u32 = 0x26001053;
const MASK_FSGNJN_Q: u32 = 0xfe00707f;
const MATCH_FSGNJN_S: u32 = 0x20001053;
const MASK_FSGNJN_S: u32 = 0xfe00707f;
const MATCH_FSGNJX_D: u32 = 0x22002053;
const MASK_FSGNJX_D: u32 = 0xfe00707f;
const MATCH_FSGNJX_H: u32 = 0x24002053;
const MASK_FSGNJX_H: u32 = 0xfe00707f;
const MATCH_FSGNJX_Q: u32 = 0x26002053;
const MASK_FSGNJX_Q: u32 = 0xfe00707f;
const MATCH_FSGNJX_S: u32 = 0x20002053;
const MASK_FSGNJX_S: u32 = 0xfe00707f;
const MATCH_FSH: u32 = 0x1027;
const MASK_FSH: u32 = 0x707f;
const MATCH_FSL: u32 = 0x4001033;
const MASK_FSL: u32 = 0x600707f;
const MATCH_FSLW: u32 = 0x400103b;
const MASK_FSLW: u32 = 0x600707f;
const MATCH_FSQ: u32 = 0x4027;
const MASK_FSQ: u32 = 0x707f;
const MATCH_FSQRT_D: u32 = 0x5a000053;
const MASK_FSQRT_D: u32 = 0xfff0007f;
const MATCH_FSQRT_H: u32 = 0x5c000053;
const MASK_FSQRT_H: u32 = 0xfff0007f;
const MATCH_FSQRT_Q: u32 = 0x5e000053;
const MASK_FSQRT_Q: u32 = 0xfff0007f;
const MATCH_FSQRT_S: u32 = 0x58000053;
const MASK_FSQRT_S: u32 = 0xfff0007f;
const MATCH_FSR: u32 = 0x4005033;
const MASK_FSR: u32 = 0x600707f;
const MATCH_FSRI: u32 = 0x4005013;
const MASK_FSRI: u32 = 0x400707f;
const MATCH_FSRIW: u32 = 0x400501b;
const MASK_FSRIW: u32 = 0x600707f;
const MATCH_FSRM: u32 = 0x201073;
const MASK_FSRM: u32 = 0xfff0707f;
const MATCH_FSRMI: u32 = 0x205073;
const MASK_FSRMI: u32 = 0xfff0707f;
const MATCH_FSRW: u32 = 0x400503b;
const MASK_FSRW: u32 = 0x600707f;
const MATCH_FSUB_D: u32 = 0xa000053;
const MASK_FSUB_D: u32 = 0xfe00007f;
const MATCH_FSUB_H: u32 = 0xc000053;
const MASK_FSUB_H: u32 = 0xfe00007f;
const MATCH_FSUB_Q: u32 = 0xe000053;
const MASK_FSUB_Q: u32 = 0xfe00007f;
const MATCH_FSUB_S: u32 = 0x8000053;
const MASK_FSUB_S: u32 = 0xfe00007f;
const MATCH_FSW: u32 = 0x2027;
const MASK_FSW: u32 = 0x707f;
const MATCH_GORC: u32 = 0x28005033;
const MASK_GORC: u32 = 0xfe00707f;
const MATCH_GORCI: u32 = 0x28005013;
const MASK_GORCI: u32 = 0xfc00707f;
const MATCH_GORCIW: u32 = 0x2800501b;
const MASK_GORCIW: u32 = 0xfe00707f;
const MATCH_GORCW: u32 = 0x2800503b;
const MASK_GORCW: u32 = 0xfe00707f;
const MATCH_GREV: u32 = 0x68005033;
const MASK_GREV: u32 = 0xfe00707f;
const MATCH_GREVI: u32 = 0x68005013;
const MASK_GREVI: u32 = 0xfc00707f;
const MATCH_GREVIW: u32 = 0x6800501b;
const MASK_GREVIW: u32 = 0xfe00707f;
const MATCH_GREVW: u32 = 0x6800503b;
const MASK_GREVW: u32 = 0xfe00707f;
const MATCH_HFENCE_GVMA: u32 = 0x62000073;
const MASK_HFENCE_GVMA: u32 = 0xfe007fff;
const MATCH_HFENCE_VVMA: u32 = 0x22000073;
const MASK_HFENCE_VVMA: u32 = 0xfe007fff;
const MATCH_HINVAL_GVMA: u32 = 0x66000073;
const MASK_HINVAL_GVMA: u32 = 0xfe007fff;
const MATCH_HINVAL_VVMA: u32 = 0x26000073;
const MASK_HINVAL_VVMA: u32 = 0xfe007fff;
const MATCH_HLV_B: u32 = 0x60004073;
const MASK_HLV_B: u32 = 0xfff0707f;
const MATCH_HLV_BU: u32 = 0x60104073;
const MASK_HLV_BU: u32 = 0xfff0707f;
const MATCH_HLV_D: u32 = 0x6c004073;
const MASK_HLV_D: u32 = 0xfff0707f;
const MATCH_HLV_H: u32 = 0x64004073;
const MASK_HLV_H: u32 = 0xfff0707f;
const MATCH_HLV_HU: u32 = 0x64104073;
const MASK_HLV_HU: u32 = 0xfff0707f;
const MATCH_HLV_W: u32 = 0x68004073;
const MASK_HLV_W: u32 = 0xfff0707f;
const MATCH_HLV_WU: u32 = 0x68104073;
const MASK_HLV_WU: u32 = 0xfff0707f;
const MATCH_HLVX_HU: u32 = 0x64304073;
const MASK_HLVX_HU: u32 = 0xfff0707f;
const MATCH_HLVX_WU: u32 = 0x68304073;
const MASK_HLVX_WU: u32 = 0xfff0707f;
const MATCH_HSV_B: u32 = 0x62004073;
const MASK_HSV_B: u32 = 0xfe007fff;
const MATCH_HSV_D: u32 = 0x6e004073;
const MASK_HSV_D: u32 = 0xfe007fff;
const MATCH_HSV_H: u32 = 0x66004073;
const MASK_HSV_H: u32 = 0xfe007fff;
const MATCH_HSV_W: u32 = 0x6a004073;
const MASK_HSV_W: u32 = 0xfe007fff;
const MATCH_INSB: u32 = 0xac000077;
const MASK_INSB: u32 = 0xff80707f;
const MATCH_JAL: u32 = 0x6f;
const MASK_JAL: u32 = 0x7f;
const MATCH_JALR: u32 = 0x67;
const MASK_JALR: u32 = 0x707f;
const MATCH_KABS16: u32 = 0xad100077;
const MASK_KABS16: u32 = 0xfff0707f;
const MATCH_KABS32: u32 = 0xad200077;
const MASK_KABS32: u32 = 0xfff0707f;
const MATCH_KABS8: u32 = 0xad000077;
const MASK_KABS8: u32 = 0xfff0707f;
const MATCH_KABSW: u32 = 0xad400077;
const MASK_KABSW: u32 = 0xfff0707f;
const MATCH_KADD16: u32 = 0x10000077;
const MASK_KADD16: u32 = 0xfe00707f;
const MATCH_KADD32: u32 = 0x10002077;
const MASK_KADD32: u32 = 0xfe00707f;
const MATCH_KADD64: u32 = 0x90001077;
const MASK_KADD64: u32 = 0xfe00707f;
const MATCH_KADD8: u32 = 0x18000077;
const MASK_KADD8: u32 = 0xfe00707f;
const MATCH_KADDH: u32 = 0x4001077;
const MASK_KADDH: u32 = 0xfe00707f;
const MATCH_KADDW: u32 = 0x1077;
const MASK_KADDW: u32 = 0xfe00707f;
const MATCH_KCRAS16: u32 = 0x14000077;
const MASK_KCRAS16: u32 = 0xfe00707f;
const MATCH_KCRAS32: u32 = 0x14002077;
const MASK_KCRAS32: u32 = 0xfe00707f;
const MATCH_KCRSA16: u32 = 0x16000077;
const MASK_KCRSA16: u32 = 0xfe00707f;
const MATCH_KCRSA32: u32 = 0x16002077;
const MASK_KCRSA32: u32 = 0xfe00707f;
const MATCH_KDMABB: u32 = 0xd2001077;
const MASK_KDMABB: u32 = 0xfe00707f;
const MATCH_KDMABB16: u32 = 0xd8001077;
const MASK_KDMABB16: u32 = 0xfe00707f;
const MATCH_KDMABT: u32 = 0xe2001077;
const MASK_KDMABT: u32 = 0xfe00707f;
const MATCH_KDMABT16: u32 = 0xe8001077;
const MASK_KDMABT16: u32 = 0xfe00707f;
const MATCH_KDMATT: u32 = 0xf2001077;
const MASK_KDMATT: u32 = 0xfe00707f;
const MATCH_KDMATT16: u32 = 0xf8001077;
const MASK_KDMATT16: u32 = 0xfe00707f;
const MATCH_KDMBB: u32 = 0xa001077;
const MASK_KDMBB: u32 = 0xfe00707f;
const MATCH_KDMBB16: u32 = 0xda001077;
const MASK_KDMBB16: u32 = 0xfe00707f;
const MATCH_KDMBT: u32 = 0x1a001077;
const MASK_KDMBT: u32 = 0xfe00707f;
const MATCH_KDMBT16: u32 = 0xea001077;
const MASK_KDMBT16: u32 = 0xfe00707f;
const MATCH_KDMTT: u32 = 0x2a001077;
const MASK_KDMTT: u32 = 0xfe00707f;
const MATCH_KDMTT16: u32 = 0xfa001077;
const MASK_KDMTT16: u32 = 0xfe00707f;
const MATCH_KHM16: u32 = 0x86000077;
const MASK_KHM16: u32 = 0xfe00707f;
const MATCH_KHM8: u32 = 0x8e000077;
const MASK_KHM8: u32 = 0xfe00707f;
const MATCH_KHMBB: u32 = 0xc001077;
const MASK_KHMBB: u32 = 0xfe00707f;
const MATCH_KHMBB16: u32 = 0xdc001077;
const MASK_KHMBB16: u32 = 0xfe00707f;
const MATCH_KHMBT: u32 = 0x1c001077;
const MASK_KHMBT: u32 = 0xfe00707f;
const MATCH_KHMBT16: u32 = 0xec001077;
const MASK_KHMBT16: u32 = 0xfe00707f;
const MATCH_KHMTT: u32 = 0x2c001077;
const MASK_KHMTT: u32 = 0xfe00707f;
const MATCH_KHMTT16: u32 = 0xfc001077;
const MASK_KHMTT16: u32 = 0xfe00707f;
const MATCH_KHMX16: u32 = 0x96000077;
const MASK_KHMX16: u32 = 0xfe00707f;
const MATCH_KHMX8: u32 = 0x9e000077;
const MASK_KHMX8: u32 = 0xfe00707f;
const MATCH_KMABB: u32 = 0x5a001077;
const MASK_KMABB: u32 = 0xfe00707f;
const MATCH_KMABB32: u32 = 0x5a002077;
const MASK_KMABB32: u32 = 0xfe00707f;
const MATCH_KMABT: u32 = 0x6a001077;
const MASK_KMABT: u32 = 0xfe00707f;
const MATCH_KMABT32: u32 = 0x6a002077;
const MASK_KMABT32: u32 = 0xfe00707f;
const MATCH_KMADA: u32 = 0x48001077;
const MASK_KMADA: u32 = 0xfe00707f;
const MATCH_KMADRS: u32 = 0x6c001077;
const MASK_KMADRS: u32 = 0xfe00707f;
const MATCH_KMADRS32: u32 = 0x6c002077;
const MASK_KMADRS32: u32 = 0xfe00707f;
const MATCH_KMADS: u32 = 0x5c001077;
const MASK_KMADS: u32 = 0xfe00707f;
const MATCH_KMADS32: u32 = 0x5c002077;
const MASK_KMADS32: u32 = 0xfe00707f;
const MATCH_KMAR64: u32 = 0x94001077;
const MASK_KMAR64: u32 = 0xfe00707f;
const MATCH_KMATT: u32 = 0x7a001077;
const MASK_KMATT: u32 = 0xfe00707f;
const MATCH_KMATT32: u32 = 0x7a002077;
const MASK_KMATT32: u32 = 0xfe00707f;
const MATCH_KMAXDA: u32 = 0x4a001077;
const MASK_KMAXDA: u32 = 0xfe00707f;
const MATCH_KMAXDA32: u32 = 0x4a002077;
const MASK_KMAXDA32: u32 = 0xfe00707f;
const MATCH_KMAXDS: u32 = 0x7c001077;
const MASK_KMAXDS: u32 = 0xfe00707f;
const MATCH_KMAXDS32: u32 = 0x7c002077;
const MASK_KMAXDS32: u32 = 0xfe00707f;
const MATCH_KMDA: u32 = 0x38001077;
const MASK_KMDA: u32 = 0xfe00707f;
const MATCH_KMDA32: u32 = 0x38002077;
const MASK_KMDA32: u32 = 0xfe00707f;
const MATCH_KMMAC: u32 = 0x60001077;
const MASK_KMMAC: u32 = 0xfe00707f;
const MATCH_KMMAC_U: u32 = 0x70001077;
const MASK_KMMAC_U: u32 = 0xfe00707f;
const MATCH_KMMAWB: u32 = 0x46001077;
const MASK_KMMAWB: u32 = 0xfe00707f;
const MATCH_KMMAWB2: u32 = 0xce001077;
const MASK_KMMAWB2: u32 = 0xfe00707f;
const MATCH_KMMAWB2_U: u32 = 0xde001077;
const MASK_KMMAWB2_U: u32 = 0xfe00707f;
const MATCH_KMMAWB_U: u32 = 0x56001077;
const MASK_KMMAWB_U: u32 = 0xfe00707f;
const MATCH_KMMAWT: u32 = 0x66001077;
const MASK_KMMAWT: u32 = 0xfe00707f;
const MATCH_KMMAWT2: u32 = 0xee001077;
const MASK_KMMAWT2: u32 = 0xfe00707f;
const MATCH_KMMAWT2_U: u32 = 0xfe001077;
const MASK_KMMAWT2_U: u32 = 0xfe00707f;
const MATCH_KMMAWT_U: u32 = 0x76001077;
const MASK_KMMAWT_U: u32 = 0xfe00707f;
const MATCH_KMMSB: u32 = 0x42001077;
const MASK_KMMSB: u32 = 0xfe00707f;
const MATCH_KMMSB_U: u32 = 0x52001077;
const MASK_KMMSB_U: u32 = 0xfe00707f;
const MATCH_KMMWB2: u32 = 0x8e001077;
const MASK_KMMWB2: u32 = 0xfe00707f;
const MATCH_KMMWB2_U: u32 = 0x9e001077;
const MASK_KMMWB2_U: u32 = 0xfe00707f;
const MATCH_KMMWT2: u32 = 0xae001077;
const MASK_KMMWT2: u32 = 0xfe00707f;
const MATCH_KMMWT2_U: u32 = 0xbe001077;
const MASK_KMMWT2_U: u32 = 0xfe00707f;
const MATCH_KMSDA: u32 = 0x4c001077;
const MASK_KMSDA: u32 = 0xfe00707f;
const MATCH_KMSDA32: u32 = 0x4c002077;
const MASK_KMSDA32: u32 = 0xfe00707f;
const MATCH_KMSR64: u32 = 0x96001077;
const MASK_KMSR64: u32 = 0xfe00707f;
const MATCH_KMSXDA: u32 = 0x4e001077;
const MASK_KMSXDA: u32 = 0xfe00707f;
const MATCH_KMSXDA32: u32 = 0x4e002077;
const MASK_KMSXDA32: u32 = 0xfe00707f;
const MATCH_KMXDA: u32 = 0x3a001077;
const MASK_KMXDA: u32 = 0xfe00707f;
const MATCH_KMXDA32: u32 = 0x3a002077;
const MASK_KMXDA32: u32 = 0xfe00707f;
const MATCH_KSLL16: u32 = 0x64000077;
const MASK_KSLL16: u32 = 0xfe00707f;
const MATCH_KSLL32: u32 = 0x64002077;
const MASK_KSLL32: u32 = 0xfe00707f;
const MATCH_KSLL8: u32 = 0x6c000077;
const MASK_KSLL8: u32 = 0xfe00707f;
const MATCH_KSLLI16: u32 = 0x75000077;
const MASK_KSLLI16: u32 = 0xff00707f;
const MATCH_KSLLI32: u32 = 0x84002077;
const MASK_KSLLI32: u32 = 0xfe00707f;
const MATCH_KSLLI8: u32 = 0x7c800077;
const MASK_KSLLI8: u32 = 0xff80707f;
const MATCH_KSLLIW: u32 = 0x36001077;
const MASK_KSLLIW: u32 = 0xfe00707f;
const MATCH_KSLLW: u32 = 0x26001077;
const MASK_KSLLW: u32 = 0xfe00707f;
const MATCH_KSLRA16: u32 = 0x56000077;
const MASK_KSLRA16: u32 = 0xfe00707f;
const MATCH_KSLRA16_U: u32 = 0x66000077;
const MASK_KSLRA16_U: u32 = 0xfe00707f;
const MATCH_KSLRA32: u32 = 0x56002077;
const MASK_KSLRA32: u32 = 0xfe00707f;
const MATCH_KSLRA32_U: u32 = 0x66002077;
const MASK_KSLRA32_U: u32 = 0xfe00707f;
const MATCH_KSLRA8: u32 = 0x5e000077;
const MASK_KSLRA8: u32 = 0xfe00707f;
const MATCH_KSLRA8_U: u32 = 0x6e000077;
const MASK_KSLRA8_U: u32 = 0xfe00707f;
const MATCH_KSLRAW: u32 = 0x6e001077;
const MASK_KSLRAW: u32 = 0xfe00707f;
const MATCH_KSLRAW_U: u32 = 0x7e001077;
const MASK_KSLRAW_U: u32 = 0xfe00707f;
const MATCH_KSTAS16: u32 = 0xc4002077;
const MASK_KSTAS16: u32 = 0xfe00707f;
const MATCH_KSTAS32: u32 = 0xc0002077;
const MASK_KSTAS32: u32 = 0xfe00707f;
const MATCH_KSTSA16: u32 = 0xc6002077;
const MASK_KSTSA16: u32 = 0xfe00707f;
const MATCH_KSTSA32: u32 = 0xc2002077;
const MASK_KSTSA32: u32 = 0xfe00707f;
const MATCH_KSUB16: u32 = 0x12000077;
const MASK_KSUB16: u32 = 0xfe00707f;
const MATCH_KSUB32: u32 = 0x12002077;
const MASK_KSUB32: u32 = 0xfe00707f;
const MATCH_KSUB64: u32 = 0x92001077;
const MASK_KSUB64: u32 = 0xfe00707f;
const MATCH_KSUB8: u32 = 0x1a000077;
const MASK_KSUB8: u32 = 0xfe00707f;
const MATCH_KSUBH: u32 = 0x6001077;
const MASK_KSUBH: u32 = 0xfe00707f;
const MATCH_KSUBW: u32 = 0x2001077;
const MASK_KSUBW: u32 = 0xfe00707f;
const MATCH_KWMMUL: u32 = 0x62001077;
const MASK_KWMMUL: u32 = 0xfe00707f;
const MATCH_KWMMUL_U: u32 = 0x72001077;
const MASK_KWMMUL_U: u32 = 0xfe00707f;
const MATCH_LB: u32 = 0x3;
const MASK_LB: u32 = 0x707f;
const MATCH_LB_AQ: u32 = 0x3400002f;
const MASK_LB_AQ: u32 = 0xfdf0707f;
const MATCH_LBU: u32 = 0x4003;
const MASK_LBU: u32 = 0x707f;
const MATCH_LD: u32 = 0x3003;
const MASK_LD: u32 = 0x707f;
const MATCH_LD_AQ: u32 = 0x3400302f;
const MASK_LD_AQ: u32 = 0xfdf0707f;
const MATCH_LDU: u32 = 0x7003;
const MASK_LDU: u32 = 0x707f;
const MATCH_LH: u32 = 0x1003;
const MASK_LH: u32 = 0x707f;
const MATCH_LH_AQ: u32 = 0x3400102f;
const MASK_LH_AQ: u32 = 0xfdf0707f;
const MATCH_LHU: u32 = 0x5003;
const MASK_LHU: u32 = 0x707f;
const MATCH_LQ: u32 = 0x300f;
const MASK_LQ: u32 = 0x707f;
const MATCH_LR_D: u32 = 0x1000302f;
const MASK_LR_D: u32 = 0xf9f0707f;
const MATCH_LR_W: u32 = 0x1000202f;
const MASK_LR_W: u32 = 0xf9f0707f;
const MATCH_LUI: u32 = 0x37;
const MASK_LUI: u32 = 0x7f;
const MATCH_LW: u32 = 0x2003;
const MASK_LW: u32 = 0x707f;
const MATCH_LW_AQ: u32 = 0x3400202f;
const MASK_LW_AQ: u32 = 0xfdf0707f;
const MATCH_LWU: u32 = 0x6003;
const MASK_LWU: u32 = 0x707f;
const MATCH_MADDR32: u32 = 0xc4001077;
const MASK_MADDR32: u32 = 0xfe00707f;
const MATCH_MAX: u32 = 0xa006033;
const MASK_MAX: u32 = 0xfe00707f;
const MATCH_MAXU: u32 = 0xa007033;
const MASK_MAXU: u32 = 0xfe00707f;
const MATCH_MIN: u32 = 0xa004033;
const MASK_MIN: u32 = 0xfe00707f;
const MATCH_MINU: u32 = 0xa005033;
const MASK_MINU: u32 = 0xfe00707f;
const MATCH_MNRET: u32 = 0x70200073;
const MASK_MNRET: u32 = 0xffffffff;
const MATCH_MOP_R_0: u32 = 0x81c04073;
const MASK_MOP_R_0: u32 = 0xfff0707f;
const MATCH_MOP_R_1: u32 = 0x81d04073;
const MASK_MOP_R_1: u32 = 0xfff0707f;
const MATCH_MOP_R_10: u32 = 0x89e04073;
const MASK_MOP_R_10: u32 = 0xfff0707f;
const MATCH_MOP_R_11: u32 = 0x89f04073;
const MASK_MOP_R_11: u32 = 0xfff0707f;
const MATCH_MOP_R_12: u32 = 0x8dc04073;
const MASK_MOP_R_12: u32 = 0xfff0707f;
const MATCH_MOP_R_13: u32 = 0x8dd04073;
const MASK_MOP_R_13: u32 = 0xfff0707f;
const MATCH_MOP_R_14: u32 = 0x8de04073;
const MASK_MOP_R_14: u32 = 0xfff0707f;
const MATCH_MOP_R_15: u32 = 0x8df04073;
const MASK_MOP_R_15: u32 = 0xfff0707f;
const MATCH_MOP_R_16: u32 = 0xc1c04073;
const MASK_MOP_R_16: u32 = 0xfff0707f;
const MATCH_MOP_R_17: u32 = 0xc1d04073;
const MASK_MOP_R_17: u32 = 0xfff0707f;
const MATCH_MOP_R_18: u32 = 0xc1e04073;
const MASK_MOP_R_18: u32 = 0xfff0707f;
const MATCH_MOP_R_19: u32 = 0xc1f04073;
const MASK_MOP_R_19: u32 = 0xfff0707f;
const MATCH_MOP_R_2: u32 = 0x81e04073;
const MASK_MOP_R_2: u32 = 0xfff0707f;
const MATCH_MOP_R_20: u32 = 0xc5c04073;
const MASK_MOP_R_20: u32 = 0xfff0707f;
const MATCH_MOP_R_21: u32 = 0xc5d04073;
const MASK_MOP_R_21: u32 = 0xfff0707f;
const MATCH_MOP_R_22: u32 = 0xc5e04073;
const MASK_MOP_R_22: u32 = 0xfff0707f;
const MATCH_MOP_R_23: u32 = 0xc5f04073;
const MASK_MOP_R_23: u32 = 0xfff0707f;
const MATCH_MOP_R_24: u32 = 0xc9c04073;
const MASK_MOP_R_24: u32 = 0xfff0707f;
const MATCH_MOP_R_25: u32 = 0xc9d04073;
const MASK_MOP_R_25: u32 = 0xfff0707f;
const MATCH_MOP_R_26: u32 = 0xc9e04073;
const MASK_MOP_R_26: u32 = 0xfff0707f;
const MATCH_MOP_R_27: u32 = 0xc9f04073;
const MASK_MOP_R_27: u32 = 0xfff0707f;
const MATCH_MOP_R_28: u32 = 0xcdc04073;
const MASK_MOP_R_28: u32 = 0xfff0707f;
const MATCH_MOP_R_29: u32 = 0xcdd04073;
const MASK_MOP_R_29: u32 = 0xfff0707f;
const MATCH_MOP_R_3: u32 = 0x81f04073;
const MASK_MOP_R_3: u32 = 0xfff0707f;
const MATCH_MOP_R_30: u32 = 0xcde04073;
const MASK_MOP_R_30: u32 = 0xfff0707f;
const MATCH_MOP_R_31: u32 = 0xcdf04073;
const MASK_MOP_R_31: u32 = 0xfff0707f;
const MATCH_MOP_R_4: u32 = 0x85c04073;
const MASK_MOP_R_4: u32 = 0xfff0707f;
const MATCH_MOP_R_5: u32 = 0x85d04073;
const MASK_MOP_R_5: u32 = 0xfff0707f;
const MATCH_MOP_R_6: u32 = 0x85e04073;
const MASK_MOP_R_6: u32 = 0xfff0707f;
const MATCH_MOP_R_7: u32 = 0x85f04073;
const MASK_MOP_R_7: u32 = 0xfff0707f;
const MATCH_MOP_R_8: u32 = 0x89c04073;
const MASK_MOP_R_8: u32 = 0xfff0707f;
const MATCH_MOP_R_9: u32 = 0x89d04073;
const MASK_MOP_R_9: u32 = 0xfff0707f;
const MATCH_MOP_R_N: u32 = 0x81c04073;
const MASK_MOP_R_N: u32 = 0xb3c0707f;
const MATCH_MOP_RR_0: u32 = 0x82004073;
const MASK_MOP_RR_0: u32 = 0xfe00707f;
const MATCH_MOP_RR_1: u32 = 0x86004073;
const MASK_MOP_RR_1: u32 = 0xfe00707f;
const MATCH_MOP_RR_2: u32 = 0x8a004073;
const MASK_MOP_RR_2: u32 = 0xfe00707f;
const MATCH_MOP_RR_3: u32 = 0x8e004073;
const MASK_MOP_RR_3: u32 = 0xfe00707f;
const MATCH_MOP_RR_4: u32 = 0xc2004073;
const MASK_MOP_RR_4: u32 = 0xfe00707f;
const MATCH_MOP_RR_5: u32 = 0xc6004073;
const MASK_MOP_RR_5: u32 = 0xfe00707f;
const MATCH_MOP_RR_6: u32 = 0xca004073;
const MASK_MOP_RR_6: u32 = 0xfe00707f;
const MATCH_MOP_RR_7: u32 = 0xce004073;
const MASK_MOP_RR_7: u32 = 0xfe00707f;
const MATCH_MOP_RR_N: u32 = 0x82004073;
const MASK_MOP_RR_N: u32 = 0xb200707f;
const MATCH_MRET: u32 = 0x30200073;
const MASK_MRET: u32 = 0xffffffff;
const MATCH_MSUBR32: u32 = 0xc6001077;
const MASK_MSUBR32: u32 = 0xfe00707f;
const MATCH_MUL: u32 = 0x2000033;
const MASK_MUL: u32 = 0xfe00707f;
const MATCH_MULH: u32 = 0x2001033;
const MASK_MULH: u32 = 0xfe00707f;
const MATCH_MULHSU: u32 = 0x2002033;
const MASK_MULHSU: u32 = 0xfe00707f;
const MATCH_MULHU: u32 = 0x2003033;
const MASK_MULHU: u32 = 0xfe00707f;
const MATCH_MULR64: u32 = 0xf0001077;
const MASK_MULR64: u32 = 0xfe00707f;
const MATCH_MULSR64: u32 = 0xe0001077;
const MASK_MULSR64: u32 = 0xfe00707f;
const MATCH_MULW: u32 = 0x200003b;
const MASK_MULW: u32 = 0xfe00707f;
const MATCH_NTL_ALL: u32 = 0x500033;
const MASK_NTL_ALL: u32 = 0xffffffff;
const MATCH_NTL_P1: u32 = 0x200033;
const MASK_NTL_P1: u32 = 0xffffffff;
const MATCH_NTL_PALL: u32 = 0x300033;
const MASK_NTL_PALL: u32 = 0xffffffff;
const MATCH_NTL_S1: u32 = 0x400033;
const MASK_NTL_S1: u32 = 0xffffffff;
const MATCH_OR: u32 = 0x6033;
const MASK_OR: u32 = 0xfe00707f;
const MATCH_ORC_B: u32 = 0x28705013;
const MASK_ORC_B: u32 = 0xfff0707f;
const MATCH_ORI: u32 = 0x6013;
const MASK_ORI: u32 = 0x707f;
const MATCH_ORN: u32 = 0x40006033;
const MASK_ORN: u32 = 0xfe00707f;
const MATCH_PACK: u32 = 0x8004033;
const MASK_PACK: u32 = 0xfe00707f;
const MATCH_PACKH: u32 = 0x8007033;
const MASK_PACKH: u32 = 0xfe00707f;
const MATCH_PACKU: u32 = 0x48004033;
const MASK_PACKU: u32 = 0xfe00707f;
const MATCH_PACKUW: u32 = 0x4800403b;
const MASK_PACKUW: u32 = 0xfe00707f;
const MATCH_PACKW: u32 = 0x800403b;
const MASK_PACKW: u32 = 0xfe00707f;
const MATCH_PAUSE: u32 = 0x100000f;
const MASK_PAUSE: u32 = 0xffffffff;
const MATCH_PBSAD: u32 = 0xfc000077;
const MASK_PBSAD: u32 = 0xfe00707f;
const MATCH_PBSADA: u32 = 0xfe000077;
const MASK_PBSADA: u32 = 0xfe00707f;
const MATCH_PKBB16: u32 = 0xe001077;
const MASK_PKBB16: u32 = 0xfe00707f;
const MATCH_PKBT16: u32 = 0x1e001077;
const MASK_PKBT16: u32 = 0xfe00707f;
const MATCH_PKBT32: u32 = 0x1e002077;
const MASK_PKBT32: u32 = 0xfe00707f;
const MATCH_PKTB16: u32 = 0x3e001077;
const MASK_PKTB16: u32 = 0xfe00707f;
const MATCH_PKTB32: u32 = 0x3e002077;
const MASK_PKTB32: u32 = 0xfe00707f;
const MATCH_PKTT16: u32 = 0x2e001077;
const MASK_PKTT16: u32 = 0xfe00707f;
const MATCH_PREFETCH_I: u32 = 0x6013;
const MASK_PREFETCH_I: u32 = 0x1f07fff;
const MATCH_PREFETCH_R: u32 = 0x106013;
const MASK_PREFETCH_R: u32 = 0x1f07fff;
const MATCH_PREFETCH_W: u32 = 0x306013;
const MASK_PREFETCH_W: u32 = 0x1f07fff;
const MATCH_RADD16: u32 = 0x77;
const MASK_RADD16: u32 = 0xfe00707f;
const MATCH_RADD32: u32 = 0x2077;
const MASK_RADD32: u32 = 0xfe00707f;
const MATCH_RADD64: u32 = 0x80001077;
const MASK_RADD64: u32 = 0xfe00707f;
const MATCH_RADD8: u32 = 0x8000077;
const MASK_RADD8: u32 = 0xfe00707f;
const MATCH_RADDW: u32 = 0x20001077;
const MASK_RADDW: u32 = 0xfe00707f;
const MATCH_RCRAS16: u32 = 0x4000077;
const MASK_RCRAS16: u32 = 0xfe00707f;
const MATCH_RCRAS32: u32 = 0x4002077;
const MASK_RCRAS32: u32 = 0xfe00707f;
const MATCH_RCRSA16: u32 = 0x6000077;
const MASK_RCRSA16: u32 = 0xfe00707f;
const MATCH_RCRSA32: u32 = 0x6002077;
const MASK_RCRSA32: u32 = 0xfe00707f;
const MATCH_RDCYCLE: u32 = 0xc0002073;
const MASK_RDCYCLE: u32 = 0xfffff07f;
const MATCH_RDCYCLEH: u32 = 0xc8002073;
const MASK_RDCYCLEH: u32 = 0xfffff07f;
const MATCH_RDINSTRET: u32 = 0xc0202073;
const MASK_RDINSTRET: u32 = 0xfffff07f;
const MATCH_RDINSTRETH: u32 = 0xc8202073;
const MASK_RDINSTRETH: u32 = 0xfffff07f;
const MATCH_RDOV: u32 = 0x902073;
const MASK_RDOV: u32 = 0xfffff07f;
const MATCH_RDTIME: u32 = 0xc0102073;
const MASK_RDTIME: u32 = 0xfffff07f;
const MATCH_RDTIMEH: u32 = 0xc8102073;
const MASK_RDTIMEH: u32 = 0xfffff07f;
const MATCH_REM: u32 = 0x2006033;
const MASK_REM: u32 = 0xfe00707f;
const MATCH_REMU: u32 = 0x2007033;
const MASK_REMU: u32 = 0xfe00707f;
const MATCH_REMUW: u32 = 0x200703b;
const MASK_REMUW: u32 = 0xfe00707f;
const MATCH_REMW: u32 = 0x200603b;
const MASK_REMW: u32 = 0xfe00707f;
const MATCH_REV: u32 = 0x6bf05013;
const MASK_REV: u32 = 0xfff0707f;
const MATCH_REV8: u32 = 0x6b805013;
const MASK_REV8: u32 = 0xfff0707f;
const MATCH_REV8_H: u32 = 0x68805013;
const MASK_REV8_H: u32 = 0xfff0707f;
const MATCH_ROL: u32 = 0x60001033;
const MASK_ROL: u32 = 0xfe00707f;
const MATCH_ROLW: u32 = 0x6000103b;
const MASK_ROLW: u32 = 0xfe00707f;
const MATCH_ROR: u32 = 0x60005033;
const MASK_ROR: u32 = 0xfe00707f;
const MATCH_RORI: u32 = 0x60005013;
const MASK_RORI: u32 = 0xfc00707f;
const MATCH_RORIW: u32 = 0x6000501b;
const MASK_RORIW: u32 = 0xfe00707f;
const MATCH_RORW: u32 = 0x6000503b;
const MASK_RORW: u32 = 0xfe00707f;
const MATCH_RSTAS16: u32 = 0xb4002077;
const MASK_RSTAS16: u32 = 0xfe00707f;
const MATCH_RSTAS32: u32 = 0xb0002077;
const MASK_RSTAS32: u32 = 0xfe00707f;
const MATCH_RSTSA16: u32 = 0xb6002077;
const MASK_RSTSA16: u32 = 0xfe00707f;
const MATCH_RSTSA32: u32 = 0xb2002077;
const MASK_RSTSA32: u32 = 0xfe00707f;
const MATCH_RSUB16: u32 = 0x2000077;
const MASK_RSUB16: u32 = 0xfe00707f;
const MATCH_RSUB32: u32 = 0x2002077;
const MASK_RSUB32: u32 = 0xfe00707f;
const MATCH_RSUB64: u32 = 0x82001077;
const MASK_RSUB64: u32 = 0xfe00707f;
const MATCH_RSUB8: u32 = 0xa000077;
const MASK_RSUB8: u32 = 0xfe00707f;
const MATCH_RSUBW: u32 = 0x22001077;
const MASK_RSUBW: u32 = 0xfe00707f;
const MATCH_SB: u32 = 0x23;
const MASK_SB: u32 = 0x707f;
const MATCH_SB_RL: u32 = 0x3a00002f;
const MASK_SB_RL: u32 = 0xfa007fff;
const MATCH_SBREAK: u32 = 0x100073;
const MASK_SBREAK: u32 = 0xffffffff;
const MATCH_SC_D: u32 = 0x1800302f;
const MASK_SC_D: u32 = 0xf800707f;
const MATCH_SC_W: u32 = 0x1800202f;
const MASK_SC_W: u32 = 0xf800707f;
const MATCH_SCALL: u32 = 0x73;
const MASK_SCALL: u32 = 0xffffffff;
const MATCH_SCLIP16: u32 = 0x84000077;
const MASK_SCLIP16: u32 = 0xff00707f;
const MATCH_SCLIP32: u32 = 0xe4000077;
const MASK_SCLIP32: u32 = 0xfe00707f;
const MATCH_SCLIP8: u32 = 0x8c000077;
const MASK_SCLIP8: u32 = 0xff80707f;
const MATCH_SCMPLE16: u32 = 0x1c000077;
const MASK_SCMPLE16: u32 = 0xfe00707f;
const MATCH_SCMPLE8: u32 = 0x1e000077;
const MASK_SCMPLE8: u32 = 0xfe00707f;
const MATCH_SCMPLT16: u32 = 0xc000077;
const MASK_SCMPLT16: u32 = 0xfe00707f;
const MATCH_SCMPLT8: u32 = 0xe000077;
const MASK_SCMPLT8: u32 = 0xfe00707f;
const MATCH_SD: u32 = 0x3023;
const MASK_SD: u32 = 0x707f;
const MATCH_SD_RL: u32 = 0x3a00302f;
const MASK_SD_RL: u32 = 0xfa007fff;
const MATCH_SEXT_B: u32 = 0x60401013;
const MASK_SEXT_B: u32 = 0xfff0707f;
const MATCH_SEXT_H: u32 = 0x60501013;
const MASK_SEXT_H: u32 = 0xfff0707f;
const MATCH_SFENCE_INVAL_IR: u32 = 0x18100073;
const MASK_SFENCE_INVAL_IR: u32 = 0xffffffff;
const MATCH_SFENCE_VMA: u32 = 0x12000073;
const MASK_SFENCE_VMA: u32 = 0xfe007fff;
const MATCH_SFENCE_W_INVAL: u32 = 0x18000073;
const MASK_SFENCE_W_INVAL: u32 = 0xffffffff;
const MATCH_SH: u32 = 0x1023;
const MASK_SH: u32 = 0x707f;
const MATCH_SH1ADD: u32 = 0x20002033;
const MASK_SH1ADD: u32 = 0xfe00707f;
const MATCH_SH1ADD_UW: u32 = 0x2000203b;
const MASK_SH1ADD_UW: u32 = 0xfe00707f;
const MATCH_SH2ADD: u32 = 0x20004033;
const MASK_SH2ADD: u32 = 0xfe00707f;
const MATCH_SH2ADD_UW: u32 = 0x2000403b;
const MASK_SH2ADD_UW: u32 = 0xfe00707f;
const MATCH_SH3ADD: u32 = 0x20006033;
const MASK_SH3ADD: u32 = 0xfe00707f;
const MATCH_SH3ADD_UW: u32 = 0x2000603b;
const MASK_SH3ADD_UW: u32 = 0xfe00707f;
const MATCH_SH_RL: u32 = 0x3a00102f;
const MASK_SH_RL: u32 = 0xfa007fff;
const MATCH_SHA256SIG0: u32 = 0x10201013;
const MASK_SHA256SIG0: u32 = 0xfff0707f;
const MATCH_SHA256SIG1: u32 = 0x10301013;
const MASK_SHA256SIG1: u32 = 0xfff0707f;
const MATCH_SHA256SUM0: u32 = 0x10001013;
const MASK_SHA256SUM0: u32 = 0xfff0707f;
const MATCH_SHA256SUM1: u32 = 0x10101013;
const MASK_SHA256SUM1: u32 = 0xfff0707f;
const MATCH_SHA512SIG0: u32 = 0x10601013;
const MASK_SHA512SIG0: u32 = 0xfff0707f;
const MATCH_SHA512SIG0H: u32 = 0x5c000033;
const MASK_SHA512SIG0H: u32 = 0xfe00707f;
const MATCH_SHA512SIG0L: u32 = 0x54000033;
const MASK_SHA512SIG0L: u32 = 0xfe00707f;
const MATCH_SHA512SIG1: u32 = 0x10701013;
const MASK_SHA512SIG1: u32 = 0xfff0707f;
const MATCH_SHA512SIG1H: u32 = 0x5e000033;
const MASK_SHA512SIG1H: u32 = 0xfe00707f;
const MATCH_SHA512SIG1L: u32 = 0x56000033;
const MASK_SHA512SIG1L: u32 = 0xfe00707f;
const MATCH_SHA512SUM0: u32 = 0x10401013;
const MASK_SHA512SUM0: u32 = 0xfff0707f;
const MATCH_SHA512SUM0R: u32 = 0x50000033;
const MASK_SHA512SUM0R: u32 = 0xfe00707f;
const MATCH_SHA512SUM1: u32 = 0x10501013;
const MASK_SHA512SUM1: u32 = 0xfff0707f;
const MATCH_SHA512SUM1R: u32 = 0x52000033;
const MASK_SHA512SUM1R: u32 = 0xfe00707f;
const MATCH_SHFL: u32 = 0x8001033;
const MASK_SHFL: u32 = 0xfe00707f;
const MATCH_SHFLI: u32 = 0x8001013;
const MASK_SHFLI: u32 = 0xfe00707f;
const MATCH_SHFLW: u32 = 0x800103b;
const MASK_SHFLW: u32 = 0xfe00707f;
const MATCH_SINVAL_VMA: u32 = 0x16000073;
const MASK_SINVAL_VMA: u32 = 0xfe007fff;
const MATCH_SLL: u32 = 0x1033;
const MASK_SLL: u32 = 0xfe00707f;
const MATCH_SLL16: u32 = 0x54000077;
const MASK_SLL16: u32 = 0xfe00707f;
const MATCH_SLL32: u32 = 0x54002077;
const MASK_SLL32: u32 = 0xfe00707f;
const MATCH_SLL8: u32 = 0x5c000077;
const MASK_SLL8: u32 = 0xfe00707f;
const MATCH_SLLD: u32 = 0x107b;
const MASK_SLLD: u32 = 0xfe00707f;
const MATCH_SLLI: u32 = 0x1013;
const MASK_SLLI: u32 = 0xfc00707f;
const MATCH_SLLI16: u32 = 0x74000077;
const MASK_SLLI16: u32 = 0xff00707f;
const MATCH_SLLI32: u32 = 0x74002077;
const MASK_SLLI32: u32 = 0xfe00707f;
const MATCH_SLLI8: u32 = 0x7c000077;
const MASK_SLLI8: u32 = 0xff80707f;
const MATCH_SLLI_RV128: u32 = 0x1013;
const MASK_SLLI_RV128: u32 = 0xf800707f;
const MATCH_SLLI_RV32: u32 = 0x1013;
const MASK_SLLI_RV32: u32 = 0xfe00707f;
const MATCH_SLLI_UW: u32 = 0x800101b;
const MASK_SLLI_UW: u32 = 0xfc00707f;
const MATCH_SLLID: u32 = 0x105b;
const MASK_SLLID: u32 = 0xfc00707f;
const MATCH_SLLIW: u32 = 0x101b;
const MASK_SLLIW: u32 = 0xfe00707f;
const MATCH_SLLW: u32 = 0x103b;
const MASK_SLLW: u32 = 0xfe00707f;
const MATCH_SLO: u32 = 0x20001033;
const MASK_SLO: u32 = 0xfe00707f;
const MATCH_SLOI: u32 = 0x20001013;
const MASK_SLOI: u32 = 0xfc00707f;
const MATCH_SLOIW: u32 = 0x2000101b;
const MASK_SLOIW: u32 = 0xfe00707f;
const MATCH_SLOW: u32 = 0x2000103b;
const MASK_SLOW: u32 = 0xfe00707f;
const MATCH_SLT: u32 = 0x2033;
const MASK_SLT: u32 = 0xfe00707f;
const MATCH_SLTI: u32 = 0x2013;
const MASK_SLTI: u32 = 0x707f;
const MATCH_SLTIU: u32 = 0x3013;
const MASK_SLTIU: u32 = 0x707f;
const MATCH_SLTU: u32 = 0x3033;
const MASK_SLTU: u32 = 0xfe00707f;
const MATCH_SM3P0: u32 = 0x10801013;
const MASK_SM3P0: u32 = 0xfff0707f;
const MATCH_SM3P1: u32 = 0x10901013;
const MASK_SM3P1: u32 = 0xfff0707f;
const MATCH_SM4ED: u32 = 0x30000033;
const MASK_SM4ED: u32 = 0x3e00707f;
const MATCH_SM4KS: u32 = 0x34000033;
const MASK_SM4KS: u32 = 0x3e00707f;
const MATCH_SMAL: u32 = 0x5e001077;
const MASK_SMAL: u32 = 0xfe00707f;
const MATCH_SMALBB: u32 = 0x88001077;
const MASK_SMALBB: u32 = 0xfe00707f;
const MATCH_SMALBT: u32 = 0x98001077;
const MASK_SMALBT: u32 = 0xfe00707f;
const MATCH_SMALDA: u32 = 0x8c001077;
const MASK_SMALDA: u32 = 0xfe00707f;
const MATCH_SMALDRS: u32 = 0x9a001077;
const MASK_SMALDRS: u32 = 0xfe00707f;
const MATCH_SMALDS: u32 = 0x8a001077;
const MASK_SMALDS: u32 = 0xfe00707f;
const MATCH_SMALTT: u32 = 0xa8001077;
const MASK_SMALTT: u32 = 0xfe00707f;
const MATCH_SMALXDA: u32 = 0x9c001077;
const MASK_SMALXDA: u32 = 0xfe00707f;
const MATCH_SMALXDS: u32 = 0xaa001077;
const MASK_SMALXDS: u32 = 0xfe00707f;
const MATCH_SMAQA: u32 = 0xc8000077;
const MASK_SMAQA: u32 = 0xfe00707f;
const MATCH_SMAQA_SU: u32 = 0xca000077;
const MASK_SMAQA_SU: u32 = 0xfe00707f;
const MATCH_SMAR64: u32 = 0x84001077;
const MASK_SMAR64: u32 = 0xfe00707f;
const MATCH_SMAX16: u32 = 0x82000077;
const MASK_SMAX16: u32 = 0xfe00707f;
const MATCH_SMAX32: u32 = 0x92002077;
const MASK_SMAX32: u32 = 0xfe00707f;
const MATCH_SMAX8: u32 = 0x8a000077;
const MASK_SMAX8: u32 = 0xfe00707f;
const MATCH_SMBB16: u32 = 0x8001077;
const MASK_SMBB16: u32 = 0xfe00707f;
const MATCH_SMBT16: u32 = 0x18001077;
const MASK_SMBT16: u32 = 0xfe00707f;
const MATCH_SMBT32: u32 = 0x18002077;
const MASK_SMBT32: u32 = 0xfe00707f;
const MATCH_SMDRS: u32 = 0x68001077;
const MASK_SMDRS: u32 = 0xfe00707f;
const MATCH_SMDRS32: u32 = 0x68002077;
const MASK_SMDRS32: u32 = 0xfe00707f;
const MATCH_SMDS: u32 = 0x58001077;
const MASK_SMDS: u32 = 0xfe00707f;
const MATCH_SMDS32: u32 = 0x58002077;
const MASK_SMDS32: u32 = 0xfe00707f;
const MATCH_SMIN16: u32 = 0x80000077;
const MASK_SMIN16: u32 = 0xfe00707f;
const MATCH_SMIN32: u32 = 0x90002077;
const MASK_SMIN32: u32 = 0xfe00707f;
const MATCH_SMIN8: u32 = 0x88000077;
const MASK_SMIN8: u32 = 0xfe00707f;
const MATCH_SMMUL: u32 = 0x40001077;
const MASK_SMMUL: u32 = 0xfe00707f;
const MATCH_SMMUL_U: u32 = 0x50001077;
const MASK_SMMUL_U: u32 = 0xfe00707f;
const MATCH_SMMWB: u32 = 0x44001077;
const MASK_SMMWB: u32 = 0xfe00707f;
const MATCH_SMMWB_U: u32 = 0x54001077;
const MASK_SMMWB_U: u32 = 0xfe00707f;
const MATCH_SMMWT: u32 = 0x64001077;
const MASK_SMMWT: u32 = 0xfe00707f;
const MATCH_SMMWT_U: u32 = 0x74001077;
const MASK_SMMWT_U: u32 = 0xfe00707f;
const MATCH_SMSLDA: u32 = 0xac001077;
const MASK_SMSLDA: u32 = 0xfe00707f;
const MATCH_SMSLXDA: u32 = 0xbc001077;
const MASK_SMSLXDA: u32 = 0xfe00707f;
const MATCH_SMSR64: u32 = 0x86001077;
const MASK_SMSR64: u32 = 0xfe00707f;
const MATCH_SMTT16: u32 = 0x28001077;
const MASK_SMTT16: u32 = 0xfe00707f;
const MATCH_SMTT32: u32 = 0x28002077;
const MASK_SMTT32: u32 = 0xfe00707f;
const MATCH_SMUL16: u32 = 0xa0000077;
const MASK_SMUL16: u32 = 0xfe00707f;
const MATCH_SMUL8: u32 = 0xa8000077;
const MASK_SMUL8: u32 = 0xfe00707f;
const MATCH_SMULX16: u32 = 0xa2000077;
const MASK_SMULX16: u32 = 0xfe00707f;
const MATCH_SMULX8: u32 = 0xaa000077;
const MASK_SMULX8: u32 = 0xfe00707f;
const MATCH_SMXDS: u32 = 0x78001077;
const MASK_SMXDS: u32 = 0xfe00707f;
const MATCH_SMXDS32: u32 = 0x78002077;
const MASK_SMXDS32: u32 = 0xfe00707f;
const MATCH_SQ: u32 = 0x4023;
const MASK_SQ: u32 = 0x707f;
const MATCH_SRA: u32 = 0x40005033;
const MASK_SRA: u32 = 0xfe00707f;
const MATCH_SRA16: u32 = 0x50000077;
const MASK_SRA16: u32 = 0xfe00707f;
const MATCH_SRA16_U: u32 = 0x60000077;
const MASK_SRA16_U: u32 = 0xfe00707f;
const MATCH_SRA32: u32 = 0x50002077;
const MASK_SRA32: u32 = 0xfe00707f;
const MATCH_SRA32_U: u32 = 0x60002077;
const MASK_SRA32_U: u32 = 0xfe00707f;
const MATCH_SRA8: u32 = 0x58000077;
const MASK_SRA8: u32 = 0xfe00707f;
const MATCH_SRA8_U: u32 = 0x68000077;
const MASK_SRA8_U: u32 = 0xfe00707f;
const MATCH_SRA_U: u32 = 0x24001077;
const MASK_SRA_U: u32 = 0xfe00707f;
const MATCH_SRAD: u32 = 0x4000507b;
const MASK_SRAD: u32 = 0xfe00707f;
const MATCH_SRAI: u32 = 0x40005013;
const MASK_SRAI: u32 = 0xfc00707f;
const MATCH_SRAI16: u32 = 0x70000077;
const MASK_SRAI16: u32 = 0xff00707f;
const MATCH_SRAI16_U: u32 = 0x71000077;
const MASK_SRAI16_U: u32 = 0xff00707f;
const MATCH_SRAI32: u32 = 0x70002077;
const MASK_SRAI32: u32 = 0xfe00707f;
const MATCH_SRAI32_U: u32 = 0x80002077;
const MASK_SRAI32_U: u32 = 0xfe00707f;
const MATCH_SRAI8: u32 = 0x78000077;
const MASK_SRAI8: u32 = 0xff80707f;
const MATCH_SRAI8_U: u32 = 0x78800077;
const MASK_SRAI8_U: u32 = 0xff80707f;
const MATCH_SRAI_RV128: u32 = 0x40005013;
const MASK_SRAI_RV128: u32 = 0xf800707f;
const MATCH_SRAI_RV32: u32 = 0x40005013;
const MASK_SRAI_RV32: u32 = 0xfe00707f;
const MATCH_SRAI_U: u32 = 0xd4001077;
const MASK_SRAI_U: u32 = 0xfc00707f;
const MATCH_SRAID: u32 = 0x4000505b;
const MASK_SRAID: u32 = 0xfc00707f;
const MATCH_SRAIW: u32 = 0x4000501b;
const MASK_SRAIW: u32 = 0xfe00707f;
const MATCH_SRAIW_U: u32 = 0x34001077;
const MASK_SRAIW_U: u32 = 0xfe00707f;
const MATCH_SRAW: u32 = 0x4000503b;
const MASK_SRAW: u32 = 0xfe00707f;
const MATCH_SRET: u32 = 0x10200073;
const MASK_SRET: u32 = 0xffffffff;
const MATCH_SRL: u32 = 0x5033;
const MASK_SRL: u32 = 0xfe00707f;
const MATCH_SRL16: u32 = 0x52000077;
const MASK_SRL16: u32 = 0xfe00707f;
const MATCH_SRL16_U: u32 = 0x62000077;
const MASK_SRL16_U: u32 = 0xfe00707f;
const MATCH_SRL32: u32 = 0x52002077;
const MASK_SRL32: u32 = 0xfe00707f;
const MATCH_SRL32_U: u32 = 0x62002077;
const MASK_SRL32_U: u32 = 0xfe00707f;
const MATCH_SRL8: u32 = 0x5a000077;
const MASK_SRL8: u32 = 0xfe00707f;
const MATCH_SRL8_U: u32 = 0x6a000077;
const MASK_SRL8_U: u32 = 0xfe00707f;
const MATCH_SRLD: u32 = 0x507b;
const MASK_SRLD: u32 = 0xfe00707f;
const MATCH_SRLI: u32 = 0x5013;
const MASK_SRLI: u32 = 0xfc00707f;
const MATCH_SRLI16: u32 = 0x72000077;
const MASK_SRLI16: u32 = 0xff00707f;
const MATCH_SRLI16_U: u32 = 0x73000077;
const MASK_SRLI16_U: u32 = 0xff00707f;
const MATCH_SRLI32: u32 = 0x72002077;
const MASK_SRLI32: u32 = 0xfe00707f;
const MATCH_SRLI32_U: u32 = 0x82002077;
const MASK_SRLI32_U: u32 = 0xfe00707f;
const MATCH_SRLI8: u32 = 0x7a000077;
const MASK_SRLI8: u32 = 0xff80707f;
const MATCH_SRLI8_U: u32 = 0x7a800077;
const MASK_SRLI8_U: u32 = 0xff80707f;
const MATCH_SRLI_RV128: u32 = 0x5013;
const MASK_SRLI_RV128: u32 = 0xf800707f;
const MATCH_SRLI_RV32: u32 = 0x5013;
const MASK_SRLI_RV32: u32 = 0xfe00707f;
const MATCH_SRLID: u32 = 0x505b;
const MASK_SRLID: u32 = 0xfc00707f;
const MATCH_SRLIW: u32 = 0x501b;
const MASK_SRLIW: u32 = 0xfe00707f;
const MATCH_SRLW: u32 = 0x503b;
const MASK_SRLW: u32 = 0xfe00707f;
const MATCH_SRO: u32 = 0x20005033;
const MASK_SRO: u32 = 0xfe00707f;
const MATCH_SROI: u32 = 0x20005013;
const MASK_SROI: u32 = 0xfc00707f;
const MATCH_SROIW: u32 = 0x2000501b;
const MASK_SROIW: u32 = 0xfe00707f;
const MATCH_SROW: u32 = 0x2000503b;
const MASK_SROW: u32 = 0xfe00707f;
const MATCH_STAS16: u32 = 0xf4002077;
const MASK_STAS16: u32 = 0xfe00707f;
const MATCH_STAS32: u32 = 0xf0002077;
const MASK_STAS32: u32 = 0xfe00707f;
const MATCH_STSA16: u32 = 0xf6002077;
const MASK_STSA16: u32 = 0xfe00707f;
const MATCH_STSA32: u32 = 0xf2002077;
const MASK_STSA32: u32 = 0xfe00707f;
const MATCH_SUB: u32 = 0x40000033;
const MASK_SUB: u32 = 0xfe00707f;
const MATCH_SUB16: u32 = 0x42000077;
const MASK_SUB16: u32 = 0xfe00707f;
const MATCH_SUB32: u32 = 0x42002077;
const MASK_SUB32: u32 = 0xfe00707f;
const MATCH_SUB64: u32 = 0xc2001077;
const MASK_SUB64: u32 = 0xfe00707f;
const MATCH_SUB8: u32 = 0x4a000077;
const MASK_SUB8: u32 = 0xfe00707f;
const MATCH_SUBD: u32 = 0x4000007b;
const MASK_SUBD: u32 = 0xfe00707f;
const MATCH_SUBW: u32 = 0x4000003b;
const MASK_SUBW: u32 = 0xfe00707f;
const MATCH_SUNPKD810: u32 = 0xac800077;
const MASK_SUNPKD810: u32 = 0xfff0707f;
const MATCH_SUNPKD820: u32 = 0xac900077;
const MASK_SUNPKD820: u32 = 0xfff0707f;
const MATCH_SUNPKD830: u32 = 0xaca00077;
const MASK_SUNPKD830: u32 = 0xfff0707f;
const MATCH_SUNPKD831: u32 = 0xacb00077;
const MASK_SUNPKD831: u32 = 0xfff0707f;
const MATCH_SUNPKD832: u32 = 0xad300077;
const MASK_SUNPKD832: u32 = 0xfff0707f;
const MATCH_SW: u32 = 0x2023;
const MASK_SW: u32 = 0x707f;
const MATCH_SW_RL: u32 = 0x3a00202f;
const MASK_SW_RL: u32 = 0xfa007fff;
const MATCH_UCLIP16: u32 = 0x85000077;
const MASK_UCLIP16: u32 = 0xff00707f;
const MATCH_UCLIP32: u32 = 0xf4000077;
const MASK_UCLIP32: u32 = 0xfe00707f;
const MATCH_UCLIP8: u32 = 0x8d000077;
const MASK_UCLIP8: u32 = 0xff80707f;
const MATCH_UCMPLE16: u32 = 0x3c000077;
const MASK_UCMPLE16: u32 = 0xfe00707f;
const MATCH_UCMPLE8: u32 = 0x3e000077;
const MASK_UCMPLE8: u32 = 0xfe00707f;
const MATCH_UCMPLT16: u32 = 0x2c000077;
const MASK_UCMPLT16: u32 = 0xfe00707f;
const MATCH_UCMPLT8: u32 = 0x2e000077;
const MASK_UCMPLT8: u32 = 0xfe00707f;
const MATCH_UKADD16: u32 = 0x30000077;
const MASK_UKADD16: u32 = 0xfe00707f;
const MATCH_UKADD32: u32 = 0x30002077;
const MASK_UKADD32: u32 = 0xfe00707f;
const MATCH_UKADD64: u32 = 0xb0001077;
const MASK_UKADD64: u32 = 0xfe00707f;
const MATCH_UKADD8: u32 = 0x38000077;
const MASK_UKADD8: u32 = 0xfe00707f;
const MATCH_UKADDH: u32 = 0x14001077;
const MASK_UKADDH: u32 = 0xfe00707f;
const MATCH_UKADDW: u32 = 0x10001077;
const MASK_UKADDW: u32 = 0xfe00707f;
const MATCH_UKCRAS16: u32 = 0x34000077;
const MASK_UKCRAS16: u32 = 0xfe00707f;
const MATCH_UKCRAS32: u32 = 0x34002077;
const MASK_UKCRAS32: u32 = 0xfe00707f;
const MATCH_UKCRSA16: u32 = 0x36000077;
const MASK_UKCRSA16: u32 = 0xfe00707f;
const MATCH_UKCRSA32: u32 = 0x36002077;
const MASK_UKCRSA32: u32 = 0xfe00707f;
const MATCH_UKMAR64: u32 = 0xb4001077;
const MASK_UKMAR64: u32 = 0xfe00707f;
const MATCH_UKMSR64: u32 = 0xb6001077;
const MASK_UKMSR64: u32 = 0xfe00707f;
const MATCH_UKSTAS16: u32 = 0xe4002077;
const MASK_UKSTAS16: u32 = 0xfe00707f;
const MATCH_UKSTAS32: u32 = 0xe0002077;
const MASK_UKSTAS32: u32 = 0xfe00707f;
const MATCH_UKSTSA16: u32 = 0xe6002077;
const MASK_UKSTSA16: u32 = 0xfe00707f;
const MATCH_UKSTSA32: u32 = 0xe2002077;
const MASK_UKSTSA32: u32 = 0xfe00707f;
const MATCH_UKSUB16: u32 = 0x32000077;
const MASK_UKSUB16: u32 = 0xfe00707f;
const MATCH_UKSUB32: u32 = 0x32002077;
const MASK_UKSUB32: u32 = 0xfe00707f;
const MATCH_UKSUB64: u32 = 0xb2001077;
const MASK_UKSUB64: u32 = 0xfe00707f;
const MATCH_UKSUB8: u32 = 0x3a000077;
const MASK_UKSUB8: u32 = 0xfe00707f;
const MATCH_UKSUBH: u32 = 0x16001077;
const MASK_UKSUBH: u32 = 0xfe00707f;
const MATCH_UKSUBW: u32 = 0x12001077;
const MASK_UKSUBW: u32 = 0xfe00707f;
const MATCH_UMAQA: u32 = 0xcc000077;
const MASK_UMAQA: u32 = 0xfe00707f;
const MATCH_UMAR64: u32 = 0xa4001077;
const MASK_UMAR64: u32 = 0xfe00707f;
const MATCH_UMAX16: u32 = 0x92000077;
const MASK_UMAX16: u32 = 0xfe00707f;
const MATCH_UMAX32: u32 = 0xa2002077;
const MASK_UMAX32: u32 = 0xfe00707f;
const MATCH_UMAX8: u32 = 0x9a000077;
const MASK_UMAX8: u32 = 0xfe00707f;
const MATCH_UMIN16: u32 = 0x90000077;
const MASK_UMIN16: u32 = 0xfe00707f;
const MATCH_UMIN32: u32 = 0xa0002077;
const MASK_UMIN32: u32 = 0xfe00707f;
const MATCH_UMIN8: u32 = 0x98000077;
const MASK_UMIN8: u32 = 0xfe00707f;
const MATCH_UMSR64: u32 = 0xa6001077;
const MASK_UMSR64: u32 = 0xfe00707f;
const MATCH_UMUL16: u32 = 0xb0000077;
const MASK_UMUL16: u32 = 0xfe00707f;
const MATCH_UMUL8: u32 = 0xb8000077;
const MASK_UMUL8: u32 = 0xfe00707f;
const MATCH_UMULX16: u32 = 0xb2000077;
const MASK_UMULX16: u32 = 0xfe00707f;
const MATCH_UMULX8: u32 = 0xba000077;
const MASK_UMULX8: u32 = 0xfe00707f;
const MATCH_UNSHFL: u32 = 0x8005033;
const MASK_UNSHFL: u32 = 0xfe00707f;
const MATCH_UNSHFLI: u32 = 0x8005013;
const MASK_UNSHFLI: u32 = 0xfe00707f;
const MATCH_UNSHFLW: u32 = 0x800503b;
const MASK_UNSHFLW: u32 = 0xfe00707f;
const MATCH_UNZIP: u32 = 0x8f05013;
const MASK_UNZIP: u32 = 0xfff0707f;
const MATCH_UNZIP16: u32 = 0x9005013;
const MASK_UNZIP16: u32 = 0xfff0707f;
const MATCH_UNZIP8: u32 = 0x9805013;
const MASK_UNZIP8: u32 = 0xfff0707f;
const MATCH_URADD16: u32 = 0x20000077;
const MASK_URADD16: u32 = 0xfe00707f;
const MATCH_URADD32: u32 = 0x20002077;
const MASK_URADD32: u32 = 0xfe00707f;
const MATCH_URADD64: u32 = 0xa0001077;
const MASK_URADD64: u32 = 0xfe00707f;
const MATCH_URADD8: u32 = 0x28000077;
const MASK_URADD8: u32 = 0xfe00707f;
const MATCH_URADDW: u32 = 0x30001077;
const MASK_URADDW: u32 = 0xfe00707f;
const MATCH_URCRAS16: u32 = 0x24000077;
const MASK_URCRAS16: u32 = 0xfe00707f;
const MATCH_URCRAS32: u32 = 0x24002077;
const MASK_URCRAS32: u32 = 0xfe00707f;
const MATCH_URCRSA16: u32 = 0x26000077;
const MASK_URCRSA16: u32 = 0xfe00707f;
const MATCH_URCRSA32: u32 = 0x26002077;
const MASK_URCRSA32: u32 = 0xfe00707f;
const MATCH_URSTAS16: u32 = 0xd4002077;
const MASK_URSTAS16: u32 = 0xfe00707f;
const MATCH_URSTAS32: u32 = 0xd0002077;
const MASK_URSTAS32: u32 = 0xfe00707f;
const MATCH_URSTSA16: u32 = 0xd6002077;
const MASK_URSTSA16: u32 = 0xfe00707f;
const MATCH_URSTSA32: u32 = 0xd2002077;
const MASK_URSTSA32: u32 = 0xfe00707f;
const MATCH_URSUB16: u32 = 0x22000077;
const MASK_URSUB16: u32 = 0xfe00707f;
const MATCH_URSUB32: u32 = 0x22002077;
const MASK_URSUB32: u32 = 0xfe00707f;
const MATCH_URSUB64: u32 = 0xa2001077;
const MASK_URSUB64: u32 = 0xfe00707f;
const MATCH_URSUB8: u32 = 0x2a000077;
const MASK_URSUB8: u32 = 0xfe00707f;
const MATCH_URSUBW: u32 = 0x32001077;
const MASK_URSUBW: u32 = 0xfe00707f;
const MATCH_VAADD_VV: u32 = 0x24002057;
const MASK_VAADD_VV: u32 = 0xfc00707f;
const MATCH_VAADD_VX: u32 = 0x24006057;
const MASK_VAADD_VX: u32 = 0xfc00707f;
const MATCH_VAADDU_VV: u32 = 0x20002057;
const MASK_VAADDU_VV: u32 = 0xfc00707f;
const MATCH_VAADDU_VX: u32 = 0x20006057;
const MASK_VAADDU_VX: u32 = 0xfc00707f;
const MATCH_VADC_VIM: u32 = 0x40003057;
const MASK_VADC_VIM: u32 = 0xfe00707f;
const MATCH_VADC_VVM: u32 = 0x40000057;
const MASK_VADC_VVM: u32 = 0xfe00707f;
const MATCH_VADC_VXM: u32 = 0x40004057;
const MASK_VADC_VXM: u32 = 0xfe00707f;
const MATCH_VADD_VI: u32 = 0x3057;
const MASK_VADD_VI: u32 = 0xfc00707f;
const MATCH_VADD_VV: u32 = 0x57;
const MASK_VADD_VV: u32 = 0xfc00707f;
const MATCH_VADD_VX: u32 = 0x4057;
const MASK_VADD_VX: u32 = 0xfc00707f;
const MATCH_VAESDF_VS: u32 = 0xa600a077;
const MASK_VAESDF_VS: u32 = 0xfe0ff07f;
const MATCH_VAESDF_VV: u32 = 0xa200a077;
const MASK_VAESDF_VV: u32 = 0xfe0ff07f;
const MATCH_VAESDM_VS: u32 = 0xa6002077;
const MASK_VAESDM_VS: u32 = 0xfe0ff07f;
const MATCH_VAESDM_VV: u32 = 0xa2002077;
const MASK_VAESDM_VV: u32 = 0xfe0ff07f;
const MATCH_VAESEF_VS: u32 = 0xa601a077;
const MASK_VAESEF_VS: u32 = 0xfe0ff07f;
const MATCH_VAESEF_VV: u32 = 0xa201a077;
const MASK_VAESEF_VV: u32 = 0xfe0ff07f;
const MATCH_VAESEM_VS: u32 = 0xa6012077;
const MASK_VAESEM_VS: u32 = 0xfe0ff07f;
const MATCH_VAESEM_VV: u32 = 0xa2012077;
const MASK_VAESEM_VV: u32 = 0xfe0ff07f;
const MATCH_VAESKF1_VI: u32 = 0x8a002077;
const MASK_VAESKF1_VI: u32 = 0xfe00707f;
const MATCH_VAESKF2_VI: u32 = 0xaa002077;
const MASK_VAESKF2_VI: u32 = 0xfe00707f;
const MATCH_VAESZ_VS: u32 = 0xa603a077;
const MASK_VAESZ_VS: u32 = 0xfe0ff07f;
const MATCH_VAND_VI: u32 = 0x24003057;
const MASK_VAND_VI: u32 = 0xfc00707f;
const MATCH_VAND_VV: u32 = 0x24000057;
const MASK_VAND_VV: u32 = 0xfc00707f;
const MATCH_VAND_VX: u32 = 0x24004057;
const MASK_VAND_VX: u32 = 0xfc00707f;
const MATCH_VANDN_VV: u32 = 0x4000057;
const MASK_VANDN_VV: u32 = 0xfc00707f;
const MATCH_VANDN_VX: u32 = 0x4004057;
const MASK_VANDN_VX: u32 = 0xfc00707f;
const MATCH_VASUB_VV: u32 = 0x2c002057;
const MASK_VASUB_VV: u32 = 0xfc00707f;
const MATCH_VASUB_VX: u32 = 0x2c006057;
const MASK_VASUB_VX: u32 = 0xfc00707f;
const MATCH_VASUBU_VV: u32 = 0x28002057;
const MASK_VASUBU_VV: u32 = 0xfc00707f;
const MATCH_VASUBU_VX: u32 = 0x28006057;
const MASK_VASUBU_VX: u32 = 0xfc00707f;
const MATCH_VBREV8_V: u32 = 0x48042057;
const MASK_VBREV8_V: u32 = 0xfc0ff07f;
const MATCH_VBREV_V: u32 = 0x48052057;
const MASK_VBREV_V: u32 = 0xfc0ff07f;
const MATCH_VCLMUL_VV: u32 = 0x30002057;
const MASK_VCLMUL_VV: u32 = 0xfc00707f;
const MATCH_VCLMUL_VX: u32 = 0x30006057;
const MASK_VCLMUL_VX: u32 = 0xfc00707f;
const MATCH_VCLMULH_VV: u32 = 0x34002057;
const MASK_VCLMULH_VV: u32 = 0xfc00707f;
const MATCH_VCLMULH_VX: u32 = 0x34006057;
const MASK_VCLMULH_VX: u32 = 0xfc00707f;
const MATCH_VCLZ_V: u32 = 0x48062057;
const MASK_VCLZ_V: u32 = 0xfc0ff07f;
const MATCH_VCOMPRESS_VM: u32 = 0x5e002057;
const MASK_VCOMPRESS_VM: u32 = 0xfe00707f;
const MATCH_VCPOP_M: u32 = 0x40082057;
const MASK_VCPOP_M: u32 = 0xfc0ff07f;
const MATCH_VCPOP_V: u32 = 0x48072057;
const MASK_VCPOP_V: u32 = 0xfc0ff07f;
const MATCH_VCTZ_V: u32 = 0x4806a057;
const MASK_VCTZ_V: u32 = 0xfc0ff07f;
const MATCH_VDIV_VV: u32 = 0x84002057;
const MASK_VDIV_VV: u32 = 0xfc00707f;
const MATCH_VDIV_VX: u32 = 0x84006057;
const MASK_VDIV_VX: u32 = 0xfc00707f;
const MATCH_VDIVU_VV: u32 = 0x80002057;
const MASK_VDIVU_VV: u32 = 0xfc00707f;
const MATCH_VDIVU_VX: u32 = 0x80006057;
const MASK_VDIVU_VX: u32 = 0xfc00707f;
const MATCH_VFADD_VF: u32 = 0x5057;
const MASK_VFADD_VF: u32 = 0xfc00707f;
const MATCH_VFADD_VV: u32 = 0x1057;
const MASK_VFADD_VV: u32 = 0xfc00707f;
const MATCH_VFCLASS_V: u32 = 0x4c081057;
const MASK_VFCLASS_V: u32 = 0xfc0ff07f;
const MATCH_VFCVT_F_X_V: u32 = 0x48019057;
const MASK_VFCVT_F_X_V: u32 = 0xfc0ff07f;
const MATCH_VFCVT_F_XU_V: u32 = 0x48011057;
const MASK_VFCVT_F_XU_V: u32 = 0xfc0ff07f;
const MATCH_VFCVT_RTZ_X_F_V: u32 = 0x48039057;
const MASK_VFCVT_RTZ_X_F_V: u32 = 0xfc0ff07f;
const MATCH_VFCVT_RTZ_XU_F_V: u32 = 0x48031057;
const MASK_VFCVT_RTZ_XU_F_V: u32 = 0xfc0ff07f;
const MATCH_VFCVT_X_F_V: u32 = 0x48009057;
const MASK_VFCVT_X_F_V: u32 = 0xfc0ff07f;
const MATCH_VFCVT_XU_F_V: u32 = 0x48001057;
const MASK_VFCVT_XU_F_V: u32 = 0xfc0ff07f;
const MATCH_VFDIV_VF: u32 = 0x80005057;
const MASK_VFDIV_VF: u32 = 0xfc00707f;
const MATCH_VFDIV_VV: u32 = 0x80001057;
const MASK_VFDIV_VV: u32 = 0xfc00707f;
const MATCH_VFIRST_M: u32 = 0x4008a057;
const MASK_VFIRST_M: u32 = 0xfc0ff07f;
const MATCH_VFMACC_VF: u32 = 0xb0005057;
const MASK_VFMACC_VF: u32 = 0xfc00707f;
const MATCH_VFMACC_VV: u32 = 0xb0001057;
const MASK_VFMACC_VV: u32 = 0xfc00707f;
const MATCH_VFMADD_VF: u32 = 0xa0005057;
const MASK_VFMADD_VF: u32 = 0xfc00707f;
const MATCH_VFMADD_VV: u32 = 0xa0001057;
const MASK_VFMADD_VV: u32 = 0xfc00707f;
const MATCH_VFMAX_VF: u32 = 0x18005057;
const MASK_VFMAX_VF: u32 = 0xfc00707f;
const MATCH_VFMAX_VV: u32 = 0x18001057;
const MASK_VFMAX_VV: u32 = 0xfc00707f;
const MATCH_VFMERGE_VFM: u32 = 0x5c005057;
const MASK_VFMERGE_VFM: u32 = 0xfe00707f;
const MATCH_VFMIN_VF: u32 = 0x10005057;
const MASK_VFMIN_VF: u32 = 0xfc00707f;
const MATCH_VFMIN_VV: u32 = 0x10001057;
const MASK_VFMIN_VV: u32 = 0xfc00707f;
const MATCH_VFMSAC_VF: u32 = 0xb8005057;
const MASK_VFMSAC_VF: u32 = 0xfc00707f;
const MATCH_VFMSAC_VV: u32 = 0xb8001057;
const MASK_VFMSAC_VV: u32 = 0xfc00707f;
const MATCH_VFMSUB_VF: u32 = 0xa8005057;
const MASK_VFMSUB_VF: u32 = 0xfc00707f;
const MATCH_VFMSUB_VV: u32 = 0xa8001057;
const MASK_VFMSUB_VV: u32 = 0xfc00707f;
const MATCH_VFMUL_VF: u32 = 0x90005057;
const MASK_VFMUL_VF: u32 = 0xfc00707f;
const MATCH_VFMUL_VV: u32 = 0x90001057;
const MASK_VFMUL_VV: u32 = 0xfc00707f;
const MATCH_VFMV_F_S: u32 = 0x42001057;
const MASK_VFMV_F_S: u32 = 0xfe0ff07f;
const MATCH_VFMV_S_F: u32 = 0x42005057;
const MASK_VFMV_S_F: u32 = 0xfff0707f;
const MATCH_VFMV_V_F: u32 = 0x5e005057;
const MASK_VFMV_V_F: u32 = 0xfff0707f;
const MATCH_VFNCVT_F_F_W: u32 = 0x480a1057;
const MASK_VFNCVT_F_F_W: u32 = 0xfc0ff07f;
const MATCH_VFNCVT_F_X_W: u32 = 0x48099057;
const MASK_VFNCVT_F_X_W: u32 = 0xfc0ff07f;
const MATCH_VFNCVT_F_XU_W: u32 = 0x48091057;
const MASK_VFNCVT_F_XU_W: u32 = 0xfc0ff07f;
const MATCH_VFNCVT_ROD_F_F_W: u32 = 0x480a9057;
const MASK_VFNCVT_ROD_F_F_W: u32 = 0xfc0ff07f;
const MATCH_VFNCVT_RTZ_X_F_W: u32 = 0x480b9057;
const MASK_VFNCVT_RTZ_X_F_W: u32 = 0xfc0ff07f;
const MATCH_VFNCVT_RTZ_XU_F_W: u32 = 0x480b1057;
const MASK_VFNCVT_RTZ_XU_F_W: u32 = 0xfc0ff07f;
const MATCH_VFNCVT_X_F_W: u32 = 0x48089057;
const MASK_VFNCVT_X_F_W: u32 = 0xfc0ff07f;
const MATCH_VFNCVT_XU_F_W: u32 = 0x48081057;
const MASK_VFNCVT_XU_F_W: u32 = 0xfc0ff07f;
const MATCH_VFNCVTBF16_F_F_W: u32 = 0x480e9057;
const MASK_VFNCVTBF16_F_F_W: u32 = 0xfc0ff07f;
const MATCH_VFNMACC_VF: u32 = 0xb4005057;
const MASK_VFNMACC_VF: u32 = 0xfc00707f;
const MATCH_VFNMACC_VV: u32 = 0xb4001057;
const MASK_VFNMACC_VV: u32 = 0xfc00707f;
const MATCH_VFNMADD_VF: u32 = 0xa4005057;
const MASK_VFNMADD_VF: u32 = 0xfc00707f;
const MATCH_VFNMADD_VV: u32 = 0xa4001057;
const MASK_VFNMADD_VV: u32 = 0xfc00707f;
const MATCH_VFNMSAC_VF: u32 = 0xbc005057;
const MASK_VFNMSAC_VF: u32 = 0xfc00707f;
const MATCH_VFNMSAC_VV: u32 = 0xbc001057;
const MASK_VFNMSAC_VV: u32 = 0xfc00707f;
const MATCH_VFNMSUB_VF: u32 = 0xac005057;
const MASK_VFNMSUB_VF: u32 = 0xfc00707f;
const MATCH_VFNMSUB_VV: u32 = 0xac001057;
const MASK_VFNMSUB_VV: u32 = 0xfc00707f;
const MATCH_VFRDIV_VF: u32 = 0x84005057;
const MASK_VFRDIV_VF: u32 = 0xfc00707f;
const MATCH_VFREC7_V: u32 = 0x4c029057;
const MASK_VFREC7_V: u32 = 0xfc0ff07f;
const MATCH_VFREDMAX_VS: u32 = 0x1c001057;
const MASK_VFREDMAX_VS: u32 = 0xfc00707f;
const MATCH_VFREDMIN_VS: u32 = 0x14001057;
const MASK_VFREDMIN_VS: u32 = 0xfc00707f;
const MATCH_VFREDOSUM_VS: u32 = 0xc001057;
const MASK_VFREDOSUM_VS: u32 = 0xfc00707f;
const MATCH_VFREDSUM_VS: u32 = 0x4001057;
const MASK_VFREDSUM_VS: u32 = 0xfc00707f;
const MATCH_VFREDUSUM_VS: u32 = 0x4001057;
const MASK_VFREDUSUM_VS: u32 = 0xfc00707f;
const MATCH_VFRSQRT7_V: u32 = 0x4c021057;
const MASK_VFRSQRT7_V: u32 = 0xfc0ff07f;
const MATCH_VFRSUB_VF: u32 = 0x9c005057;
const MASK_VFRSUB_VF: u32 = 0xfc00707f;
const MATCH_VFSGNJ_VF: u32 = 0x20005057;
const MASK_VFSGNJ_VF: u32 = 0xfc00707f;
const MATCH_VFSGNJ_VV: u32 = 0x20001057;
const MASK_VFSGNJ_VV: u32 = 0xfc00707f;
const MATCH_VFSGNJN_VF: u32 = 0x24005057;
const MASK_VFSGNJN_VF: u32 = 0xfc00707f;
const MATCH_VFSGNJN_VV: u32 = 0x24001057;
const MASK_VFSGNJN_VV: u32 = 0xfc00707f;
const MATCH_VFSGNJX_VF: u32 = 0x28005057;
const MASK_VFSGNJX_VF: u32 = 0xfc00707f;
const MATCH_VFSGNJX_VV: u32 = 0x28001057;
const MASK_VFSGNJX_VV: u32 = 0xfc00707f;
const MATCH_VFSLIDE1DOWN_VF: u32 = 0x3c005057;
const MASK_VFSLIDE1DOWN_VF: u32 = 0xfc00707f;
const MATCH_VFSLIDE1UP_VF: u32 = 0x38005057;
const MASK_VFSLIDE1UP_VF: u32 = 0xfc00707f;
const MATCH_VFSQRT_V: u32 = 0x4c001057;
const MASK_VFSQRT_V: u32 = 0xfc0ff07f;
const MATCH_VFSUB_VF: u32 = 0x8005057;
const MASK_VFSUB_VF: u32 = 0xfc00707f;
const MATCH_VFSUB_VV: u32 = 0x8001057;
const MASK_VFSUB_VV: u32 = 0xfc00707f;
const MATCH_VFWADD_VF: u32 = 0xc0005057;
const MASK_VFWADD_VF: u32 = 0xfc00707f;
const MATCH_VFWADD_VV: u32 = 0xc0001057;
const MASK_VFWADD_VV: u32 = 0xfc00707f;
const MATCH_VFWADD_WF: u32 = 0xd0005057;
const MASK_VFWADD_WF: u32 = 0xfc00707f;
const MATCH_VFWADD_WV: u32 = 0xd0001057;
const MASK_VFWADD_WV: u32 = 0xfc00707f;
const MATCH_VFWCVT_F_F_V: u32 = 0x48061057;
const MASK_VFWCVT_F_F_V: u32 = 0xfc0ff07f;
const MATCH_VFWCVT_F_X_V: u32 = 0x48059057;
const MASK_VFWCVT_F_X_V: u32 = 0xfc0ff07f;
const MATCH_VFWCVT_F_XU_V: u32 = 0x48051057;
const MASK_VFWCVT_F_XU_V: u32 = 0xfc0ff07f;
const MATCH_VFWCVT_RTZ_X_F_V: u32 = 0x48079057;
const MASK_VFWCVT_RTZ_X_F_V: u32 = 0xfc0ff07f;
const MATCH_VFWCVT_RTZ_XU_F_V: u32 = 0x48071057;
const MASK_VFWCVT_RTZ_XU_F_V: u32 = 0xfc0ff07f;
const MATCH_VFWCVT_X_F_V: u32 = 0x48049057;
const MASK_VFWCVT_X_F_V: u32 = 0xfc0ff07f;
const MATCH_VFWCVT_XU_F_V: u32 = 0x48041057;
const MASK_VFWCVT_XU_F_V: u32 = 0xfc0ff07f;
const MATCH_VFWCVTBF16_F_F_V: u32 = 0x48069057;
const MASK_VFWCVTBF16_F_F_V: u32 = 0xfc0ff07f;
const MATCH_VFWMACC_VF: u32 = 0xf0005057;
const MASK_VFWMACC_VF: u32 = 0xfc00707f;
const MATCH_VFWMACC_VV: u32 = 0xf0001057;
const MASK_VFWMACC_VV: u32 = 0xfc00707f;
const MATCH_VFWMACCBF16_VF: u32 = 0xec005057;
const MASK_VFWMACCBF16_VF: u32 = 0xfc00707f;
const MATCH_VFWMACCBF16_VV: u32 = 0xec001057;
const MASK_VFWMACCBF16_VV: u32 = 0xfc00707f;
const MATCH_VFWMSAC_VF: u32 = 0xf8005057;
const MASK_VFWMSAC_VF: u32 = 0xfc00707f;
const MATCH_VFWMSAC_VV: u32 = 0xf8001057;
const MASK_VFWMSAC_VV: u32 = 0xfc00707f;
const MATCH_VFWMUL_VF: u32 = 0xe0005057;
const MASK_VFWMUL_VF: u32 = 0xfc00707f;
const MATCH_VFWMUL_VV: u32 = 0xe0001057;
const MASK_VFWMUL_VV: u32 = 0xfc00707f;
const MATCH_VFWNMACC_VF: u32 = 0xf4005057;
const MASK_VFWNMACC_VF: u32 = 0xfc00707f;
const MATCH_VFWNMACC_VV: u32 = 0xf4001057;
const MASK_VFWNMACC_VV: u32 = 0xfc00707f;
const MATCH_VFWNMSAC_VF: u32 = 0xfc005057;
const MASK_VFWNMSAC_VF: u32 = 0xfc00707f;
const MATCH_VFWNMSAC_VV: u32 = 0xfc001057;
const MASK_VFWNMSAC_VV: u32 = 0xfc00707f;
const MATCH_VFWREDOSUM_VS: u32 = 0xcc001057;
const MASK_VFWREDOSUM_VS: u32 = 0xfc00707f;
const MATCH_VFWREDSUM_VS: u32 = 0xc4001057;
const MASK_VFWREDSUM_VS: u32 = 0xfc00707f;
const MATCH_VFWREDUSUM_VS: u32 = 0xc4001057;
const MASK_VFWREDUSUM_VS: u32 = 0xfc00707f;
const MATCH_VFWSUB_VF: u32 = 0xc8005057;
const MASK_VFWSUB_VF: u32 = 0xfc00707f;
const MATCH_VFWSUB_VV: u32 = 0xc8001057;
const MASK_VFWSUB_VV: u32 = 0xfc00707f;
const MATCH_VFWSUB_WF: u32 = 0xd8005057;
const MASK_VFWSUB_WF: u32 = 0xfc00707f;
const MATCH_VFWSUB_WV: u32 = 0xd8001057;
const MASK_VFWSUB_WV: u32 = 0xfc00707f;
const MATCH_VGHSH_VV: u32 = 0xb2002077;
const MASK_VGHSH_VV: u32 = 0xfe00707f;
const MATCH_VGMUL_VV: u32 = 0xa208a077;
const MASK_VGMUL_VV: u32 = 0xfe0ff07f;
const MATCH_VID_V: u32 = 0x5008a057;
const MASK_VID_V: u32 = 0xfdfff07f;
const MATCH_VIOTA_M: u32 = 0x50082057;
const MASK_VIOTA_M: u32 = 0xfc0ff07f;
const MATCH_VL1R_V: u32 = 0x2800007;
const MASK_VL1R_V: u32 = 0xfff0707f;
const MATCH_VL1RE16_V: u32 = 0x2805007;
const MASK_VL1RE16_V: u32 = 0xfff0707f;
const MATCH_VL1RE32_V: u32 = 0x2806007;
const MASK_VL1RE32_V: u32 = 0xfff0707f;
const MATCH_VL1RE64_V: u32 = 0x2807007;
const MASK_VL1RE64_V: u32 = 0xfff0707f;
const MATCH_VL1RE8_V: u32 = 0x2800007;
const MASK_VL1RE8_V: u32 = 0xfff0707f;
const MATCH_VL2R_V: u32 = 0x22800007;
const MASK_VL2R_V: u32 = 0xfff0707f;
const MATCH_VL2RE16_V: u32 = 0x22805007;
const MASK_VL2RE16_V: u32 = 0xfff0707f;
const MATCH_VL2RE32_V: u32 = 0x22806007;
const MASK_VL2RE32_V: u32 = 0xfff0707f;
const MATCH_VL2RE64_V: u32 = 0x22807007;
const MASK_VL2RE64_V: u32 = 0xfff0707f;
const MATCH_VL2RE8_V: u32 = 0x22800007;
const MASK_VL2RE8_V: u32 = 0xfff0707f;
const MATCH_VL4R_V: u32 = 0x62800007;
const MASK_VL4R_V: u32 = 0xfff0707f;
const MATCH_VL4RE16_V: u32 = 0x62805007;
const MASK_VL4RE16_V: u32 = 0xfff0707f;
const MATCH_VL4RE32_V: u32 = 0x62806007;
const MASK_VL4RE32_V: u32 = 0xfff0707f;
const MATCH_VL4RE64_V: u32 = 0x62807007;
const MASK_VL4RE64_V: u32 = 0xfff0707f;
const MATCH_VL4RE8_V: u32 = 0x62800007;
const MASK_VL4RE8_V: u32 = 0xfff0707f;
const MATCH_VL8R_V: u32 = 0xe2800007;
const MASK_VL8R_V: u32 = 0xfff0707f;
const MATCH_VL8RE16_V: u32 = 0xe2805007;
const MASK_VL8RE16_V: u32 = 0xfff0707f;
const MATCH_VL8RE32_V: u32 = 0xe2806007;
const MASK_VL8RE32_V: u32 = 0xfff0707f;
const MATCH_VL8RE64_V: u32 = 0xe2807007;
const MASK_VL8RE64_V: u32 = 0xfff0707f;
const MATCH_VL8RE8_V: u32 = 0xe2800007;
const MASK_VL8RE8_V: u32 = 0xfff0707f;
const MATCH_VLE1024_V: u32 = 0x10007007;
const MASK_VLE1024_V: u32 = 0x1df0707f;
const MATCH_VLE1024FF_V: u32 = 0x11007007;
const MASK_VLE1024FF_V: u32 = 0x1df0707f;
const MATCH_VLE128_V: u32 = 0x10000007;
const MASK_VLE128_V: u32 = 0x1df0707f;
const MATCH_VLE128FF_V: u32 = 0x11000007;
const MASK_VLE128FF_V: u32 = 0x1df0707f;
const MATCH_VLE16_V: u32 = 0x5007;
const MASK_VLE16_V: u32 = 0x1df0707f;
const MATCH_VLE16FF_V: u32 = 0x1005007;
const MASK_VLE16FF_V: u32 = 0x1df0707f;
const MATCH_VLE1_V: u32 = 0x2b00007;
const MASK_VLE1_V: u32 = 0xfff0707f;
const MATCH_VLE256_V: u32 = 0x10005007;
const MASK_VLE256_V: u32 = 0x1df0707f;
const MATCH_VLE256FF_V: u32 = 0x11005007;
const MASK_VLE256FF_V: u32 = 0x1df0707f;
const MATCH_VLE32_V: u32 = 0x6007;
const MASK_VLE32_V: u32 = 0x1df0707f;
const MATCH_VLE32FF_V: u32 = 0x1006007;
const MASK_VLE32FF_V: u32 = 0x1df0707f;
const MATCH_VLE512_V: u32 = 0x10006007;
const MASK_VLE512_V: u32 = 0x1df0707f;
const MATCH_VLE512FF_V: u32 = 0x11006007;
const MASK_VLE512FF_V: u32 = 0x1df0707f;
const MATCH_VLE64_V: u32 = 0x7007;
const MASK_VLE64_V: u32 = 0x1df0707f;
const MATCH_VLE64FF_V: u32 = 0x1007007;
const MASK_VLE64FF_V: u32 = 0x1df0707f;
const MATCH_VLE8_V: u32 = 0x7;
const MASK_VLE8_V: u32 = 0x1df0707f;
const MATCH_VLE8FF_V: u32 = 0x1000007;
const MASK_VLE8FF_V: u32 = 0x1df0707f;
const MATCH_VLM_V: u32 = 0x2b00007;
const MASK_VLM_V: u32 = 0xfff0707f;
const MATCH_VLOXEI1024_V: u32 = 0x1c007007;
const MASK_VLOXEI1024_V: u32 = 0x1c00707f;
const MATCH_VLOXEI128_V: u32 = 0x1c000007;
const MASK_VLOXEI128_V: u32 = 0x1c00707f;
const MATCH_VLOXEI16_V: u32 = 0xc005007;
const MASK_VLOXEI16_V: u32 = 0x1c00707f;
const MATCH_VLOXEI256_V: u32 = 0x1c005007;
const MASK_VLOXEI256_V: u32 = 0x1c00707f;
const MATCH_VLOXEI32_V: u32 = 0xc006007;
const MASK_VLOXEI32_V: u32 = 0x1c00707f;
const MATCH_VLOXEI512_V: u32 = 0x1c006007;
const MASK_VLOXEI512_V: u32 = 0x1c00707f;
const MATCH_VLOXEI64_V: u32 = 0xc007007;
const MASK_VLOXEI64_V: u32 = 0x1c00707f;
const MATCH_VLOXEI8_V: u32 = 0xc000007;
const MASK_VLOXEI8_V: u32 = 0x1c00707f;
const MATCH_VLSE1024_V: u32 = 0x18007007;
const MASK_VLSE1024_V: u32 = 0x1c00707f;
const MATCH_VLSE128_V: u32 = 0x18000007;
const MASK_VLSE128_V: u32 = 0x1c00707f;
const MATCH_VLSE16_V: u32 = 0x8005007;
const MASK_VLSE16_V: u32 = 0x1c00707f;
const MATCH_VLSE256_V: u32 = 0x18005007;
const MASK_VLSE256_V: u32 = 0x1c00707f;
const MATCH_VLSE32_V: u32 = 0x8006007;
const MASK_VLSE32_V: u32 = 0x1c00707f;
const MATCH_VLSE512_V: u32 = 0x18006007;
const MASK_VLSE512_V: u32 = 0x1c00707f;
const MATCH_VLSE64_V: u32 = 0x8007007;
const MASK_VLSE64_V: u32 = 0x1c00707f;
const MATCH_VLSE8_V: u32 = 0x8000007;
const MASK_VLSE8_V: u32 = 0x1c00707f;
const MATCH_VLUXEI1024_V: u32 = 0x14007007;
const MASK_VLUXEI1024_V: u32 = 0x1c00707f;
const MATCH_VLUXEI128_V: u32 = 0x14000007;
const MASK_VLUXEI128_V: u32 = 0x1c00707f;
const MATCH_VLUXEI16_V: u32 = 0x4005007;
const MASK_VLUXEI16_V: u32 = 0x1c00707f;
const MATCH_VLUXEI256_V: u32 = 0x14005007;
const MASK_VLUXEI256_V: u32 = 0x1c00707f;
const MATCH_VLUXEI32_V: u32 = 0x4006007;
const MASK_VLUXEI32_V: u32 = 0x1c00707f;
const MATCH_VLUXEI512_V: u32 = 0x14006007;
const MASK_VLUXEI512_V: u32 = 0x1c00707f;
const MATCH_VLUXEI64_V: u32 = 0x4007007;
const MASK_VLUXEI64_V: u32 = 0x1c00707f;
const MATCH_VLUXEI8_V: u32 = 0x4000007;
const MASK_VLUXEI8_V: u32 = 0x1c00707f;
const MATCH_VMACC_VV: u32 = 0xb4002057;
const MASK_VMACC_VV: u32 = 0xfc00707f;
const MATCH_VMACC_VX: u32 = 0xb4006057;
const MASK_VMACC_VX: u32 = 0xfc00707f;
const MATCH_VMADC_VI: u32 = 0x46003057;
const MASK_VMADC_VI: u32 = 0xfe00707f;
const MATCH_VMADC_VIM: u32 = 0x44003057;
const MASK_VMADC_VIM: u32 = 0xfe00707f;
const MATCH_VMADC_VV: u32 = 0x46000057;
const MASK_VMADC_VV: u32 = 0xfe00707f;
const MATCH_VMADC_VVM: u32 = 0x44000057;
const MASK_VMADC_VVM: u32 = 0xfe00707f;
const MATCH_VMADC_VX: u32 = 0x46004057;
const MASK_VMADC_VX: u32 = 0xfe00707f;
const MATCH_VMADC_VXM: u32 = 0x44004057;
const MASK_VMADC_VXM: u32 = 0xfe00707f;
const MATCH_VMADD_VV: u32 = 0xa4002057;
const MASK_VMADD_VV: u32 = 0xfc00707f;
const MATCH_VMADD_VX: u32 = 0xa4006057;
const MASK_VMADD_VX: u32 = 0xfc00707f;
const MATCH_VMAND_MM: u32 = 0x66002057;
const MASK_VMAND_MM: u32 = 0xfe00707f;
const MATCH_VMANDN_MM: u32 = 0x62002057;
const MASK_VMANDN_MM: u32 = 0xfe00707f;
const MATCH_VMANDNOT_MM: u32 = 0x60002057;
const MASK_VMANDNOT_MM: u32 = 0xfc00707f;
const MATCH_VMAX_VV: u32 = 0x1c000057;
const MASK_VMAX_VV: u32 = 0xfc00707f;
const MATCH_VMAX_VX: u32 = 0x1c004057;
const MASK_VMAX_VX: u32 = 0xfc00707f;
const MATCH_VMAXU_VV: u32 = 0x18000057;
const MASK_VMAXU_VV: u32 = 0xfc00707f;
const MATCH_VMAXU_VX: u32 = 0x18004057;
const MASK_VMAXU_VX: u32 = 0xfc00707f;
const MATCH_VMERGE_VIM: u32 = 0x5c003057;
const MASK_VMERGE_VIM: u32 = 0xfe00707f;
const MATCH_VMERGE_VVM: u32 = 0x5c000057;
const MASK_VMERGE_VVM: u32 = 0xfe00707f;
const MATCH_VMERGE_VXM: u32 = 0x5c004057;
const MASK_VMERGE_VXM: u32 = 0xfe00707f;
const MATCH_VMFEQ_VF: u32 = 0x60005057;
const MASK_VMFEQ_VF: u32 = 0xfc00707f;
const MATCH_VMFEQ_VV: u32 = 0x60001057;
const MASK_VMFEQ_VV: u32 = 0xfc00707f;
const MATCH_VMFGE_VF: u32 = 0x7c005057;
const MASK_VMFGE_VF: u32 = 0xfc00707f;
const MATCH_VMFGT_VF: u32 = 0x74005057;
const MASK_VMFGT_VF: u32 = 0xfc00707f;
const MATCH_VMFLE_VF: u32 = 0x64005057;
const MASK_VMFLE_VF: u32 = 0xfc00707f;
const MATCH_VMFLE_VV: u32 = 0x64001057;
const MASK_VMFLE_VV: u32 = 0xfc00707f;
const MATCH_VMFLT_VF: u32 = 0x6c005057;
const MASK_VMFLT_VF: u32 = 0xfc00707f;
const MATCH_VMFLT_VV: u32 = 0x6c001057;
const MASK_VMFLT_VV: u32 = 0xfc00707f;
const MATCH_VMFNE_VF: u32 = 0x70005057;
const MASK_VMFNE_VF: u32 = 0xfc00707f;
const MATCH_VMFNE_VV: u32 = 0x70001057;
const MASK_VMFNE_VV: u32 = 0xfc00707f;
const MATCH_VMIN_VV: u32 = 0x14000057;
const MASK_VMIN_VV: u32 = 0xfc00707f;
const MATCH_VMIN_VX: u32 = 0x14004057;
const MASK_VMIN_VX: u32 = 0xfc00707f;
const MATCH_VMINU_VV: u32 = 0x10000057;
const MASK_VMINU_VV: u32 = 0xfc00707f;
const MATCH_VMINU_VX: u32 = 0x10004057;
const MASK_VMINU_VX: u32 = 0xfc00707f;
const MATCH_VMNAND_MM: u32 = 0x76002057;
const MASK_VMNAND_MM: u32 = 0xfe00707f;
const MATCH_VMNOR_MM: u32 = 0x7a002057;
const MASK_VMNOR_MM: u32 = 0xfe00707f;
const MATCH_VMOR_MM: u32 = 0x6a002057;
const MASK_VMOR_MM: u32 = 0xfe00707f;
const MATCH_VMORN_MM: u32 = 0x72002057;
const MASK_VMORN_MM: u32 = 0xfe00707f;
const MATCH_VMORNOT_MM: u32 = 0x70002057;
const MASK_VMORNOT_MM: u32 = 0xfc00707f;
const MATCH_VMSBC_VV: u32 = 0x4e000057;
const MASK_VMSBC_VV: u32 = 0xfe00707f;
const MATCH_VMSBC_VVM: u32 = 0x4c000057;
const MASK_VMSBC_VVM: u32 = 0xfe00707f;
const MATCH_VMSBC_VX: u32 = 0x4e004057;
const MASK_VMSBC_VX: u32 = 0xfe00707f;
const MATCH_VMSBC_VXM: u32 = 0x4c004057;
const MASK_VMSBC_VXM: u32 = 0xfe00707f;
const MATCH_VMSBF_M: u32 = 0x5000a057;
const MASK_VMSBF_M: u32 = 0xfc0ff07f;
const MATCH_VMSEQ_VI: u32 = 0x60003057;
const MASK_VMSEQ_VI: u32 = 0xfc00707f;
const MATCH_VMSEQ_VV: u32 = 0x60000057;
const MASK_VMSEQ_VV: u32 = 0xfc00707f;
const MATCH_VMSEQ_VX: u32 = 0x60004057;
const MASK_VMSEQ_VX: u32 = 0xfc00707f;
const MATCH_VMSGT_VI: u32 = 0x7c003057;
const MASK_VMSGT_VI: u32 = 0xfc00707f;
const MATCH_VMSGT_VX: u32 = 0x7c004057;
const MASK_VMSGT_VX: u32 = 0xfc00707f;
const MATCH_VMSGTU_VI: u32 = 0x78003057;
const MASK_VMSGTU_VI: u32 = 0xfc00707f;
const MATCH_VMSGTU_VX: u32 = 0x78004057;
const MASK_VMSGTU_VX: u32 = 0xfc00707f;
const MATCH_VMSIF_M: u32 = 0x5001a057;
const MASK_VMSIF_M: u32 = 0xfc0ff07f;
const MATCH_VMSLE_VI: u32 = 0x74003057;
const MASK_VMSLE_VI: u32 = 0xfc00707f;
const MATCH_VMSLE_VV: u32 = 0x74000057;
const MASK_VMSLE_VV: u32 = 0xfc00707f;
const MATCH_VMSLE_VX: u32 = 0x74004057;
const MASK_VMSLE_VX: u32 = 0xfc00707f;
const MATCH_VMSLEU_VI: u32 = 0x70003057;
const MASK_VMSLEU_VI: u32 = 0xfc00707f;
const MATCH_VMSLEU_VV: u32 = 0x70000057;
const MASK_VMSLEU_VV: u32 = 0xfc00707f;
const MATCH_VMSLEU_VX: u32 = 0x70004057;
const MASK_VMSLEU_VX: u32 = 0xfc00707f;
const MATCH_VMSLT_VV: u32 = 0x6c000057;
const MASK_VMSLT_VV: u32 = 0xfc00707f;
const MATCH_VMSLT_VX: u32 = 0x6c004057;
const MASK_VMSLT_VX: u32 = 0xfc00707f;
const MATCH_VMSLTU_VV: u32 = 0x68000057;
const MASK_VMSLTU_VV: u32 = 0xfc00707f;
const MATCH_VMSLTU_VX: u32 = 0x68004057;
const MASK_VMSLTU_VX: u32 = 0xfc00707f;
const MATCH_VMSNE_VI: u32 = 0x64003057;
const MASK_VMSNE_VI: u32 = 0xfc00707f;
const MATCH_VMSNE_VV: u32 = 0x64000057;
const MASK_VMSNE_VV: u32 = 0xfc00707f;
const MATCH_VMSNE_VX: u32 = 0x64004057;
const MASK_VMSNE_VX: u32 = 0xfc00707f;
const MATCH_VMSOF_M: u32 = 0x50012057;
const MASK_VMSOF_M: u32 = 0xfc0ff07f;
const MATCH_VMUL_VV: u32 = 0x94002057;
const MASK_VMUL_VV: u32 = 0xfc00707f;
const MATCH_VMUL_VX: u32 = 0x94006057;
const MASK_VMUL_VX: u32 = 0xfc00707f;
const MATCH_VMULH_VV: u32 = 0x9c002057;
const MASK_VMULH_VV: u32 = 0xfc00707f;
const MATCH_VMULH_VX: u32 = 0x9c006057;
const MASK_VMULH_VX: u32 = 0xfc00707f;
const MATCH_VMULHSU_VV: u32 = 0x98002057;
const MASK_VMULHSU_VV: u32 = 0xfc00707f;
const MATCH_VMULHSU_VX: u32 = 0x98006057;
const MASK_VMULHSU_VX: u32 = 0xfc00707f;
const MATCH_VMULHU_VV: u32 = 0x90002057;
const MASK_VMULHU_VV: u32 = 0xfc00707f;
const MATCH_VMULHU_VX: u32 = 0x90006057;
const MASK_VMULHU_VX: u32 = 0xfc00707f;
const MATCH_VMV1R_V: u32 = 0x9e003057;
const MASK_VMV1R_V: u32 = 0xfe0ff07f;
const MATCH_VMV2R_V: u32 = 0x9e00b057;
const MASK_VMV2R_V: u32 = 0xfe0ff07f;
const MATCH_VMV4R_V: u32 = 0x9e01b057;
const MASK_VMV4R_V: u32 = 0xfe0ff07f;
const MATCH_VMV8R_V: u32 = 0x9e03b057;
const MASK_VMV8R_V: u32 = 0xfe0ff07f;
const MATCH_VMV_S_X: u32 = 0x42006057;
const MASK_VMV_S_X: u32 = 0xfff0707f;
const MATCH_VMV_V_I: u32 = 0x5e003057;
const MASK_VMV_V_I: u32 = 0xfff0707f;
const MATCH_VMV_V_V: u32 = 0x5e000057;
const MASK_VMV_V_V: u32 = 0xfff0707f;
const MATCH_VMV_V_X: u32 = 0x5e004057;
const MASK_VMV_V_X: u32 = 0xfff0707f;
const MATCH_VMV_X_S: u32 = 0x42002057;
const MASK_VMV_X_S: u32 = 0xfe0ff07f;
const MATCH_VMXNOR_MM: u32 = 0x7e002057;
const MASK_VMXNOR_MM: u32 = 0xfe00707f;
const MATCH_VMXOR_MM: u32 = 0x6e002057;
const MASK_VMXOR_MM: u32 = 0xfe00707f;
const MATCH_VNCLIP_WI: u32 = 0xbc003057;
const MASK_VNCLIP_WI: u32 = 0xfc00707f;
const MATCH_VNCLIP_WV: u32 = 0xbc000057;
const MASK_VNCLIP_WV: u32 = 0xfc00707f;
const MATCH_VNCLIP_WX: u32 = 0xbc004057;
const MASK_VNCLIP_WX: u32 = 0xfc00707f;
const MATCH_VNCLIPU_WI: u32 = 0xb8003057;
const MASK_VNCLIPU_WI: u32 = 0xfc00707f;
const MATCH_VNCLIPU_WV: u32 = 0xb8000057;
const MASK_VNCLIPU_WV: u32 = 0xfc00707f;
const MATCH_VNCLIPU_WX: u32 = 0xb8004057;
const MASK_VNCLIPU_WX: u32 = 0xfc00707f;
const MATCH_VNMSAC_VV: u32 = 0xbc002057;
const MASK_VNMSAC_VV: u32 = 0xfc00707f;
const MATCH_VNMSAC_VX: u32 = 0xbc006057;
const MASK_VNMSAC_VX: u32 = 0xfc00707f;
const MATCH_VNMSUB_VV: u32 = 0xac002057;
const MASK_VNMSUB_VV: u32 = 0xfc00707f;
const MATCH_VNMSUB_VX: u32 = 0xac006057;
const MASK_VNMSUB_VX: u32 = 0xfc00707f;
const MATCH_VNSRA_WI: u32 = 0xb4003057;
const MASK_VNSRA_WI: u32 = 0xfc00707f;
const MATCH_VNSRA_WV: u32 = 0xb4000057;
const MASK_VNSRA_WV: u32 = 0xfc00707f;
const MATCH_VNSRA_WX: u32 = 0xb4004057;
const MASK_VNSRA_WX: u32 = 0xfc00707f;
const MATCH_VNSRL_WI: u32 = 0xb0003057;
const MASK_VNSRL_WI: u32 = 0xfc00707f;
const MATCH_VNSRL_WV: u32 = 0xb0000057;
const MASK_VNSRL_WV: u32 = 0xfc00707f;
const MATCH_VNSRL_WX: u32 = 0xb0004057;
const MASK_VNSRL_WX: u32 = 0xfc00707f;
const MATCH_VOR_VI: u32 = 0x28003057;
const MASK_VOR_VI: u32 = 0xfc00707f;
const MATCH_VOR_VV: u32 = 0x28000057;
const MASK_VOR_VV: u32 = 0xfc00707f;
const MATCH_VOR_VX: u32 = 0x28004057;
const MASK_VOR_VX: u32 = 0xfc00707f;
const MATCH_VPOPC_M: u32 = 0x40082057;
const MASK_VPOPC_M: u32 = 0xfc0ff07f;
const MATCH_VREDAND_VS: u32 = 0x4002057;
const MASK_VREDAND_VS: u32 = 0xfc00707f;
const MATCH_VREDMAX_VS: u32 = 0x1c002057;
const MASK_VREDMAX_VS: u32 = 0xfc00707f;
const MATCH_VREDMAXU_VS: u32 = 0x18002057;
const MASK_VREDMAXU_VS: u32 = 0xfc00707f;
const MATCH_VREDMIN_VS: u32 = 0x14002057;
const MASK_VREDMIN_VS: u32 = 0xfc00707f;
const MATCH_VREDMINU_VS: u32 = 0x10002057;
const MASK_VREDMINU_VS: u32 = 0xfc00707f;
const MATCH_VREDOR_VS: u32 = 0x8002057;
const MASK_VREDOR_VS: u32 = 0xfc00707f;
const MATCH_VREDSUM_VS: u32 = 0x2057;
const MASK_VREDSUM_VS: u32 = 0xfc00707f;
const MATCH_VREDXOR_VS: u32 = 0xc002057;
const MASK_VREDXOR_VS: u32 = 0xfc00707f;
const MATCH_VREM_VV: u32 = 0x8c002057;
const MASK_VREM_VV: u32 = 0xfc00707f;
const MATCH_VREM_VX: u32 = 0x8c006057;
const MASK_VREM_VX: u32 = 0xfc00707f;
const MATCH_VREMU_VV: u32 = 0x88002057;
const MASK_VREMU_VV: u32 = 0xfc00707f;
const MATCH_VREMU_VX: u32 = 0x88006057;
const MASK_VREMU_VX: u32 = 0xfc00707f;
const MATCH_VREV8_V: u32 = 0x4804a057;
const MASK_VREV8_V: u32 = 0xfc0ff07f;
const MATCH_VRGATHER_VI: u32 = 0x30003057;
const MASK_VRGATHER_VI: u32 = 0xfc00707f;
const MATCH_VRGATHER_VV: u32 = 0x30000057;
const MASK_VRGATHER_VV: u32 = 0xfc00707f;
const MATCH_VRGATHER_VX: u32 = 0x30004057;
const MASK_VRGATHER_VX: u32 = 0xfc00707f;
const MATCH_VRGATHEREI16_VV: u32 = 0x38000057;
const MASK_VRGATHEREI16_VV: u32 = 0xfc00707f;
const MATCH_VROL_VV: u32 = 0x54000057;
const MASK_VROL_VV: u32 = 0xfc00707f;
const MATCH_VROL_VX: u32 = 0x54004057;
const MASK_VROL_VX: u32 = 0xfc00707f;
const MATCH_VROR_VI: u32 = 0x50003057;
const MASK_VROR_VI: u32 = 0xf800707f;
const MATCH_VROR_VV: u32 = 0x50000057;
const MASK_VROR_VV: u32 = 0xfc00707f;
const MATCH_VROR_VX: u32 = 0x50004057;
const MASK_VROR_VX: u32 = 0xfc00707f;
const MATCH_VRSUB_VI: u32 = 0xc003057;
const MASK_VRSUB_VI: u32 = 0xfc00707f;
const MATCH_VRSUB_VX: u32 = 0xc004057;
const MASK_VRSUB_VX: u32 = 0xfc00707f;
const MATCH_VS1R_V: u32 = 0x2800027;
const MASK_VS1R_V: u32 = 0xfff0707f;
const MATCH_VS2R_V: u32 = 0x22800027;
const MASK_VS2R_V: u32 = 0xfff0707f;
const MATCH_VS4R_V: u32 = 0x62800027;
const MASK_VS4R_V: u32 = 0xfff0707f;
const MATCH_VS8R_V: u32 = 0xe2800027;
const MASK_VS8R_V: u32 = 0xfff0707f;
const MATCH_VSADD_VI: u32 = 0x84003057;
const MASK_VSADD_VI: u32 = 0xfc00707f;
const MATCH_VSADD_VV: u32 = 0x84000057;
const MASK_VSADD_VV: u32 = 0xfc00707f;
const MATCH_VSADD_VX: u32 = 0x84004057;
const MASK_VSADD_VX: u32 = 0xfc00707f;
const MATCH_VSADDU_VI: u32 = 0x80003057;
const MASK_VSADDU_VI: u32 = 0xfc00707f;
const MATCH_VSADDU_VV: u32 = 0x80000057;
const MASK_VSADDU_VV: u32 = 0xfc00707f;
const MATCH_VSADDU_VX: u32 = 0x80004057;
const MASK_VSADDU_VX: u32 = 0xfc00707f;
const MATCH_VSBC_VVM: u32 = 0x48000057;
const MASK_VSBC_VVM: u32 = 0xfe00707f;
const MATCH_VSBC_VXM: u32 = 0x48004057;
const MASK_VSBC_VXM: u32 = 0xfe00707f;
const MATCH_VSE1024_V: u32 = 0x10007027;
const MASK_VSE1024_V: u32 = 0x1df0707f;
const MATCH_VSE128_V: u32 = 0x10000027;
const MASK_VSE128_V: u32 = 0x1df0707f;
const MATCH_VSE16_V: u32 = 0x5027;
const MASK_VSE16_V: u32 = 0x1df0707f;
const MATCH_VSE1_V: u32 = 0x2b00027;
const MASK_VSE1_V: u32 = 0xfff0707f;
const MATCH_VSE256_V: u32 = 0x10005027;
const MASK_VSE256_V: u32 = 0x1df0707f;
const MATCH_VSE32_V: u32 = 0x6027;
const MASK_VSE32_V: u32 = 0x1df0707f;
const MATCH_VSE512_V: u32 = 0x10006027;
const MASK_VSE512_V: u32 = 0x1df0707f;
const MATCH_VSE64_V: u32 = 0x7027;
const MASK_VSE64_V: u32 = 0x1df0707f;
const MATCH_VSE8_V: u32 = 0x27;
const MASK_VSE8_V: u32 = 0x1df0707f;
const MATCH_VSETIVLI: u32 = 0xc0007057;
const MASK_VSETIVLI: u32 = 0xc000707f;
const MATCH_VSETVL: u32 = 0x80007057;
const MASK_VSETVL: u32 = 0xfe00707f;
const MATCH_VSETVLI: u32 = 0x7057;
const MASK_VSETVLI: u32 = 0x8000707f;
const MATCH_VSEXT_VF2: u32 = 0x4803a057;
const MASK_VSEXT_VF2: u32 = 0xfc0ff07f;
const MATCH_VSEXT_VF4: u32 = 0x4802a057;
const MASK_VSEXT_VF4: u32 = 0xfc0ff07f;
const MATCH_VSEXT_VF8: u32 = 0x4801a057;
const MASK_VSEXT_VF8: u32 = 0xfc0ff07f;
const MATCH_VSHA2CH_VV: u32 = 0xba002077;
const MASK_VSHA2CH_VV: u32 = 0xfe00707f;
const MATCH_VSHA2CL_VV: u32 = 0xbe002077;
const MASK_VSHA2CL_VV: u32 = 0xfe00707f;
const MATCH_VSHA2MS_VV: u32 = 0xb6002077;
const MASK_VSHA2MS_VV: u32 = 0xfe00707f;
const MATCH_VSLIDE1DOWN_VX: u32 = 0x3c006057;
const MASK_VSLIDE1DOWN_VX: u32 = 0xfc00707f;
const MATCH_VSLIDE1UP_VX: u32 = 0x38006057;
const MASK_VSLIDE1UP_VX: u32 = 0xfc00707f;
const MATCH_VSLIDEDOWN_VI: u32 = 0x3c003057;
const MASK_VSLIDEDOWN_VI: u32 = 0xfc00707f;
const MATCH_VSLIDEDOWN_VX: u32 = 0x3c004057;
const MASK_VSLIDEDOWN_VX: u32 = 0xfc00707f;
const MATCH_VSLIDEUP_VI: u32 = 0x38003057;
const MASK_VSLIDEUP_VI: u32 = 0xfc00707f;
const MATCH_VSLIDEUP_VX: u32 = 0x38004057;
const MASK_VSLIDEUP_VX: u32 = 0xfc00707f;
const MATCH_VSLL_VI: u32 = 0x94003057;
const MASK_VSLL_VI: u32 = 0xfc00707f;
const MATCH_VSLL_VV: u32 = 0x94000057;
const MASK_VSLL_VV: u32 = 0xfc00707f;
const MATCH_VSLL_VX: u32 = 0x94004057;
const MASK_VSLL_VX: u32 = 0xfc00707f;
const MATCH_VSM3C_VI: u32 = 0xae002077;
const MASK_VSM3C_VI: u32 = 0xfe00707f;
const MATCH_VSM3ME_VV: u32 = 0x82002077;
const MASK_VSM3ME_VV: u32 = 0xfe00707f;
const MATCH_VSM4K_VI: u32 = 0x86002077;
const MASK_VSM4K_VI: u32 = 0xfe00707f;
const MATCH_VSM4R_VS: u32 = 0xa6082077;
const MASK_VSM4R_VS: u32 = 0xfe0ff07f;
const MATCH_VSM4R_VV: u32 = 0xa2082077;
const MASK_VSM4R_VV: u32 = 0xfe0ff07f;
const MATCH_VSM_V: u32 = 0x2b00027;
const MASK_VSM_V: u32 = 0xfff0707f;
const MATCH_VSMUL_VV: u32 = 0x9c000057;
const MASK_VSMUL_VV: u32 = 0xfc00707f;
const MATCH_VSMUL_VX: u32 = 0x9c004057;
const MASK_VSMUL_VX: u32 = 0xfc00707f;
const MATCH_VSOXEI1024_V: u32 = 0x1c007027;
const MASK_VSOXEI1024_V: u32 = 0x1c00707f;
const MATCH_VSOXEI128_V: u32 = 0x1c000027;
const MASK_VSOXEI128_V: u32 = 0x1c00707f;
const MATCH_VSOXEI16_V: u32 = 0xc005027;
const MASK_VSOXEI16_V: u32 = 0x1c00707f;
const MATCH_VSOXEI256_V: u32 = 0x1c005027;
const MASK_VSOXEI256_V: u32 = 0x1c00707f;
const MATCH_VSOXEI32_V: u32 = 0xc006027;
const MASK_VSOXEI32_V: u32 = 0x1c00707f;
const MATCH_VSOXEI512_V: u32 = 0x1c006027;
const MASK_VSOXEI512_V: u32 = 0x1c00707f;
const MATCH_VSOXEI64_V: u32 = 0xc007027;
const MASK_VSOXEI64_V: u32 = 0x1c00707f;
const MATCH_VSOXEI8_V: u32 = 0xc000027;
const MASK_VSOXEI8_V: u32 = 0x1c00707f;
const MATCH_VSRA_VI: u32 = 0xa4003057;
const MASK_VSRA_VI: u32 = 0xfc00707f;
const MATCH_VSRA_VV: u32 = 0xa4000057;
const MASK_VSRA_VV: u32 = 0xfc00707f;
const MATCH_VSRA_VX: u32 = 0xa4004057;
const MASK_VSRA_VX: u32 = 0xfc00707f;
const MATCH_VSRL_VI: u32 = 0xa0003057;
const MASK_VSRL_VI: u32 = 0xfc00707f;
const MATCH_VSRL_VV: u32 = 0xa0000057;
const MASK_VSRL_VV: u32 = 0xfc00707f;
const MATCH_VSRL_VX: u32 = 0xa0004057;
const MASK_VSRL_VX: u32 = 0xfc00707f;
const MATCH_VSSE1024_V: u32 = 0x18007027;
const MASK_VSSE1024_V: u32 = 0x1c00707f;
const MATCH_VSSE128_V: u32 = 0x18000027;
const MASK_VSSE128_V: u32 = 0x1c00707f;
const MATCH_VSSE16_V: u32 = 0x8005027;
const MASK_VSSE16_V: u32 = 0x1c00707f;
const MATCH_VSSE256_V: u32 = 0x18005027;
const MASK_VSSE256_V: u32 = 0x1c00707f;
const MATCH_VSSE32_V: u32 = 0x8006027;
const MASK_VSSE32_V: u32 = 0x1c00707f;
const MATCH_VSSE512_V: u32 = 0x18006027;
const MASK_VSSE512_V: u32 = 0x1c00707f;
const MATCH_VSSE64_V: u32 = 0x8007027;
const MASK_VSSE64_V: u32 = 0x1c00707f;
const MATCH_VSSE8_V: u32 = 0x8000027;
const MASK_VSSE8_V: u32 = 0x1c00707f;
const MATCH_VSSRA_VI: u32 = 0xac003057;
const MASK_VSSRA_VI: u32 = 0xfc00707f;
const MATCH_VSSRA_VV: u32 = 0xac000057;
const MASK_VSSRA_VV: u32 = 0xfc00707f;
const MATCH_VSSRA_VX: u32 = 0xac004057;
const MASK_VSSRA_VX: u32 = 0xfc00707f;
const MATCH_VSSRL_VI: u32 = 0xa8003057;
const MASK_VSSRL_VI: u32 = 0xfc00707f;
const MATCH_VSSRL_VV: u32 = 0xa8000057;
const MASK_VSSRL_VV: u32 = 0xfc00707f;
const MATCH_VSSRL_VX: u32 = 0xa8004057;
const MASK_VSSRL_VX: u32 = 0xfc00707f;
const MATCH_VSSUB_VV: u32 = 0x8c000057;
const MASK_VSSUB_VV: u32 = 0xfc00707f;
const MATCH_VSSUB_VX: u32 = 0x8c004057;
const MASK_VSSUB_VX: u32 = 0xfc00707f;
const MATCH_VSSUBU_VV: u32 = 0x88000057;
const MASK_VSSUBU_VV: u32 = 0xfc00707f;
const MATCH_VSSUBU_VX: u32 = 0x88004057;
const MASK_VSSUBU_VX: u32 = 0xfc00707f;
const MATCH_VSUB_VV: u32 = 0x8000057;
const MASK_VSUB_VV: u32 = 0xfc00707f;
const MATCH_VSUB_VX: u32 = 0x8004057;
const MASK_VSUB_VX: u32 = 0xfc00707f;
const MATCH_VSUXEI1024_V: u32 = 0x14007027;
const MASK_VSUXEI1024_V: u32 = 0x1c00707f;
const MATCH_VSUXEI128_V: u32 = 0x14000027;
const MASK_VSUXEI128_V: u32 = 0x1c00707f;
const MATCH_VSUXEI16_V: u32 = 0x4005027;
const MASK_VSUXEI16_V: u32 = 0x1c00707f;
const MATCH_VSUXEI256_V: u32 = 0x14005027;
const MASK_VSUXEI256_V: u32 = 0x1c00707f;
const MATCH_VSUXEI32_V: u32 = 0x4006027;
const MASK_VSUXEI32_V: u32 = 0x1c00707f;
const MATCH_VSUXEI512_V: u32 = 0x14006027;
const MASK_VSUXEI512_V: u32 = 0x1c00707f;
const MATCH_VSUXEI64_V: u32 = 0x4007027;
const MASK_VSUXEI64_V: u32 = 0x1c00707f;
const MATCH_VSUXEI8_V: u32 = 0x4000027;
const MASK_VSUXEI8_V: u32 = 0x1c00707f;
const MATCH_VWADD_VV: u32 = 0xc4002057;
const MASK_VWADD_VV: u32 = 0xfc00707f;
const MATCH_VWADD_VX: u32 = 0xc4006057;
const MASK_VWADD_VX: u32 = 0xfc00707f;
const MATCH_VWADD_WV: u32 = 0xd4002057;
const MASK_VWADD_WV: u32 = 0xfc00707f;
const MATCH_VWADD_WX: u32 = 0xd4006057;
const MASK_VWADD_WX: u32 = 0xfc00707f;
const MATCH_VWADDU_VV: u32 = 0xc0002057;
const MASK_VWADDU_VV: u32 = 0xfc00707f;
const MATCH_VWADDU_VX: u32 = 0xc0006057;
const MASK_VWADDU_VX: u32 = 0xfc00707f;
const MATCH_VWADDU_WV: u32 = 0xd0002057;
const MASK_VWADDU_WV: u32 = 0xfc00707f;
const MATCH_VWADDU_WX: u32 = 0xd0006057;
const MASK_VWADDU_WX: u32 = 0xfc00707f;
const MATCH_VWMACC_VV: u32 = 0xf4002057;
const MASK_VWMACC_VV: u32 = 0xfc00707f;
const MATCH_VWMACC_VX: u32 = 0xf4006057;
const MASK_VWMACC_VX: u32 = 0xfc00707f;
const MATCH_VWMACCSU_VV: u32 = 0xfc002057;
const MASK_VWMACCSU_VV: u32 = 0xfc00707f;
const MATCH_VWMACCSU_VX: u32 = 0xfc006057;
const MASK_VWMACCSU_VX: u32 = 0xfc00707f;
const MATCH_VWMACCU_VV: u32 = 0xf0002057;
const MASK_VWMACCU_VV: u32 = 0xfc00707f;
const MATCH_VWMACCU_VX: u32 = 0xf0006057;
const MASK_VWMACCU_VX: u32 = 0xfc00707f;
const MATCH_VWMACCUS_VX: u32 = 0xf8006057;
const MASK_VWMACCUS_VX: u32 = 0xfc00707f;
const MATCH_VWMUL_VV: u32 = 0xec002057;
const MASK_VWMUL_VV: u32 = 0xfc00707f;
const MATCH_VWMUL_VX: u32 = 0xec006057;
const MASK_VWMUL_VX: u32 = 0xfc00707f;
const MATCH_VWMULSU_VV: u32 = 0xe8002057;
const MASK_VWMULSU_VV: u32 = 0xfc00707f;
const MATCH_VWMULSU_VX: u32 = 0xe8006057;
const MASK_VWMULSU_VX: u32 = 0xfc00707f;
const MATCH_VWMULU_VV: u32 = 0xe0002057;
const MASK_VWMULU_VV: u32 = 0xfc00707f;
const MATCH_VWMULU_VX: u32 = 0xe0006057;
const MASK_VWMULU_VX: u32 = 0xfc00707f;
const MATCH_VWREDSUM_VS: u32 = 0xc4000057;
const MASK_VWREDSUM_VS: u32 = 0xfc00707f;
const MATCH_VWREDSUMU_VS: u32 = 0xc0000057;
const MASK_VWREDSUMU_VS: u32 = 0xfc00707f;
const MATCH_VWSLL_VI: u32 = 0xd4003057;
const MASK_VWSLL_VI: u32 = 0xfc00707f;
const MATCH_VWSLL_VV: u32 = 0xd4000057;
const MASK_VWSLL_VV: u32 = 0xfc00707f;
const MATCH_VWSLL_VX: u32 = 0xd4004057;
const MASK_VWSLL_VX: u32 = 0xfc00707f;
const MATCH_VWSUB_VV: u32 = 0xcc002057;
const MASK_VWSUB_VV: u32 = 0xfc00707f;
const MATCH_VWSUB_VX: u32 = 0xcc006057;
const MASK_VWSUB_VX: u32 = 0xfc00707f;
const MATCH_VWSUB_WV: u32 = 0xdc002057;
const MASK_VWSUB_WV: u32 = 0xfc00707f;
const MATCH_VWSUB_WX: u32 = 0xdc006057;
const MASK_VWSUB_WX: u32 = 0xfc00707f;
const MATCH_VWSUBU_VV: u32 = 0xc8002057;
const MASK_VWSUBU_VV: u32 = 0xfc00707f;
const MATCH_VWSUBU_VX: u32 = 0xc8006057;
const MASK_VWSUBU_VX: u32 = 0xfc00707f;
const MATCH_VWSUBU_WV: u32 = 0xd8002057;
const MASK_VWSUBU_WV: u32 = 0xfc00707f;
const MATCH_VWSUBU_WX: u32 = 0xd8006057;
const MASK_VWSUBU_WX: u32 = 0xfc00707f;
const MATCH_VXOR_VI: u32 = 0x2c003057;
const MASK_VXOR_VI: u32 = 0xfc00707f;
const MATCH_VXOR_VV: u32 = 0x2c000057;
const MASK_VXOR_VV: u32 = 0xfc00707f;
const MATCH_VXOR_VX: u32 = 0x2c004057;
const MASK_VXOR_VX: u32 = 0xfc00707f;
const MATCH_VZEXT_VF2: u32 = 0x48032057;
const MASK_VZEXT_VF2: u32 = 0xfc0ff07f;
const MATCH_VZEXT_VF4: u32 = 0x48022057;
const MASK_VZEXT_VF4: u32 = 0xfc0ff07f;
const MATCH_VZEXT_VF8: u32 = 0x48012057;
const MASK_VZEXT_VF8: u32 = 0xfc0ff07f;
const MATCH_WFI: u32 = 0x10500073;
const MASK_WFI: u32 = 0xffffffff;
const MATCH_WRS_NTO: u32 = 0xd00073;
const MASK_WRS_NTO: u32 = 0xffffffff;
const MATCH_WRS_STO: u32 = 0x1d00073;
const MASK_WRS_STO: u32 = 0xffffffff;
const MATCH_XNOR: u32 = 0x40004033;
const MASK_XNOR: u32 = 0xfe00707f;
const MATCH_XOR: u32 = 0x4033;
const MASK_XOR: u32 = 0xfe00707f;
const MATCH_XORI: u32 = 0x4013;
const MASK_XORI: u32 = 0x707f;
const MATCH_XPERM16: u32 = 0x28006033;
const MASK_XPERM16: u32 = 0xfe00707f;
const MATCH_XPERM32: u32 = 0x28000033;
const MASK_XPERM32: u32 = 0xfe00707f;
const MATCH_XPERM4: u32 = 0x28002033;
const MASK_XPERM4: u32 = 0xfe00707f;
const MATCH_XPERM8: u32 = 0x28004033;
const MASK_XPERM8: u32 = 0xfe00707f;
const MATCH_ZEXT_H: u32 = 0x800403b;
const MASK_ZEXT_H: u32 = 0xfff0707f;
const MATCH_ZIP: u32 = 0x8f01013;
const MASK_ZIP: u32 = 0xfff0707f;
const MATCH_ZUNPKD810: u32 = 0xacc00077;
const MASK_ZUNPKD810: u32 = 0xfff0707f;
const MATCH_ZUNPKD820: u32 = 0xacd00077;
const MASK_ZUNPKD820: u32 = 0xfff0707f;
const MATCH_ZUNPKD830: u32 = 0xace00077;
const MASK_ZUNPKD830: u32 = 0xfff0707f;
const MATCH_ZUNPKD831: u32 = 0xacf00077;
const MASK_ZUNPKD831: u32 = 0xfff0707f;
const MATCH_ZUNPKD832: u32 = 0xad700077;
const MASK_ZUNPKD832: u32 = 0xfff0707f;
const CSR_FFLAGS: u16 = 0x1;
const CSR_FRM: u16 = 0x2;
const CSR_FCSR: u16 = 0x3;
const CSR_VSTART: u16 = 0x8;
const CSR_VXSAT: u16 = 0x9;
const CSR_VXRM: u16 = 0xa;
const CSR_VCSR: u16 = 0xf;
const CSR_SEED: u16 = 0x15;
const CSR_JVT: u16 = 0x17;
const CSR_CYCLE: u16 = 0xc00;
const CSR_TIME: u16 = 0xc01;
const CSR_INSTRET: u16 = 0xc02;
const CSR_HPMCOUNTER3: u16 = 0xc03;
const CSR_HPMCOUNTER4: u16 = 0xc04;
const CSR_HPMCOUNTER5: u16 = 0xc05;
const CSR_HPMCOUNTER6: u16 = 0xc06;
const CSR_HPMCOUNTER7: u16 = 0xc07;
const CSR_HPMCOUNTER8: u16 = 0xc08;
const CSR_HPMCOUNTER9: u16 = 0xc09;
const CSR_HPMCOUNTER10: u16 = 0xc0a;
const CSR_HPMCOUNTER11: u16 = 0xc0b;
const CSR_HPMCOUNTER12: u16 = 0xc0c;
const CSR_HPMCOUNTER13: u16 = 0xc0d;
const CSR_HPMCOUNTER14: u16 = 0xc0e;
const CSR_HPMCOUNTER15: u16 = 0xc0f;
const CSR_HPMCOUNTER16: u16 = 0xc10;
const CSR_HPMCOUNTER17: u16 = 0xc11;
const CSR_HPMCOUNTER18: u16 = 0xc12;
const CSR_HPMCOUNTER19: u16 = 0xc13;
const CSR_HPMCOUNTER20: u16 = 0xc14;
const CSR_HPMCOUNTER21: u16 = 0xc15;
const CSR_HPMCOUNTER22: u16 = 0xc16;
const CSR_HPMCOUNTER23: u16 = 0xc17;
const CSR_HPMCOUNTER24: u16 = 0xc18;
const CSR_HPMCOUNTER25: u16 = 0xc19;
const CSR_HPMCOUNTER26: u16 = 0xc1a;
const CSR_HPMCOUNTER27: u16 = 0xc1b;
const CSR_HPMCOUNTER28: u16 = 0xc1c;
const CSR_HPMCOUNTER29: u16 = 0xc1d;
const CSR_HPMCOUNTER30: u16 = 0xc1e;
const CSR_HPMCOUNTER31: u16 = 0xc1f;
const CSR_VL: u16 = 0xc20;
const CSR_VTYPE: u16 = 0xc21;
const CSR_VLENB: u16 = 0xc22;
const CSR_SSTATUS: u16 = 0x100;
const CSR_SEDELEG: u16 = 0x102;
const CSR_SIDELEG: u16 = 0x103;
const CSR_SIE: u16 = 0x104;
const CSR_STVEC: u16 = 0x105;
const CSR_SCOUNTEREN: u16 = 0x106;
const CSR_SENVCFG: u16 = 0x10a;
const CSR_SSTATEEN0: u16 = 0x10c;
const CSR_SSTATEEN1: u16 = 0x10d;
const CSR_SSTATEEN2: u16 = 0x10e;
const CSR_SSTATEEN3: u16 = 0x10f;
const CSR_SCOUNTINHIBIT: u16 = 0x120;
const CSR_SSCRATCH: u16 = 0x140;
const CSR_SEPC: u16 = 0x141;
const CSR_SCAUSE: u16 = 0x142;
const CSR_STVAL: u16 = 0x143;
const CSR_SIP: u16 = 0x144;
const CSR_STIMECMP: u16 = 0x14d;
const CSR_SISELECT: u16 = 0x150;
const CSR_SIREG: u16 = 0x151;
const CSR_SIREG2: u16 = 0x152;
const CSR_SIREG3: u16 = 0x153;
const CSR_SIREG4: u16 = 0x155;
const CSR_SIREG5: u16 = 0x156;
const CSR_SIREG6: u16 = 0x157;
const CSR_STOPEI: u16 = 0x15c;
const CSR_SATP: u16 = 0x180;
const CSR_SCONTEXT: u16 = 0x5a8;
const CSR_VSSTATUS: u16 = 0x200;
const CSR_VSIE: u16 = 0x204;
const CSR_VSTVEC: u16 = 0x205;
const CSR_VSSCRATCH: u16 = 0x240;
const CSR_VSEPC: u16 = 0x241;
const CSR_VSCAUSE: u16 = 0x242;
const CSR_VSTVAL: u16 = 0x243;
const CSR_VSIP: u16 = 0x244;
const CSR_VSTIMECMP: u16 = 0x24d;
const CSR_VSISELECT: u16 = 0x250;
const CSR_VSIREG: u16 = 0x251;
const CSR_VSIREG2: u16 = 0x252;
const CSR_VSIREG3: u16 = 0x253;
const CSR_VSIREG4: u16 = 0x255;
const CSR_VSIREG5: u16 = 0x256;
const CSR_VSIREG6: u16 = 0x257;
const CSR_VSTOPEI: u16 = 0x25c;
const CSR_VSATP: u16 = 0x280;
const CSR_HSTATUS: u16 = 0x600;
const CSR_HEDELEG: u16 = 0x602;
const CSR_HIDELEG: u16 = 0x603;
const CSR_HIE: u16 = 0x604;
const CSR_HTIMEDELTA: u16 = 0x605;
const CSR_HCOUNTEREN: u16 = 0x606;
const CSR_HGEIE: u16 = 0x607;
const CSR_HVIEN: u16 = 0x608;
const CSR_HVICTL: u16 = 0x609;
const CSR_HENVCFG: u16 = 0x60a;
const CSR_HSTATEEN0: u16 = 0x60c;
const CSR_HSTATEEN1: u16 = 0x60d;
const CSR_HSTATEEN2: u16 = 0x60e;
const CSR_HSTATEEN3: u16 = 0x60f;
const CSR_HTVAL: u16 = 0x643;
const CSR_HIP: u16 = 0x644;
const CSR_HVIP: u16 = 0x645;
const CSR_HVIPRIO1: u16 = 0x646;
const CSR_HVIPRIO2: u16 = 0x647;
const CSR_HTINST: u16 = 0x64a;
const CSR_HGATP: u16 = 0x680;
const CSR_HCONTEXT: u16 = 0x6a8;
const CSR_HGEIP: u16 = 0xe12;
const CSR_VSTOPI: u16 = 0xeb0;
const CSR_SCOUNTOVF: u16 = 0xda0;
const CSR_STOPI: u16 = 0xdb0;
const CSR_UTVT: u16 = 0x7;
const CSR_UNXTI: u16 = 0x45;
const CSR_UINTSTATUS: u16 = 0x46;
const CSR_USCRATCHCSW: u16 = 0x48;
const CSR_USCRATCHCSWL: u16 = 0x49;
const CSR_STVT: u16 = 0x107;
const CSR_SNXTI: u16 = 0x145;
const CSR_SINTSTATUS: u16 = 0x146;
const CSR_SSCRATCHCSW: u16 = 0x148;
const CSR_SSCRATCHCSWL: u16 = 0x149;
const CSR_MTVT: u16 = 0x307;
const CSR_MNXTI: u16 = 0x345;
const CSR_MINTSTATUS: u16 = 0x346;
const CSR_MSCRATCHCSW: u16 = 0x348;
const CSR_MSCRATCHCSWL: u16 = 0x349;
const CSR_MSTATUS: u16 = 0x300;
const CSR_MISA: u16 = 0x301;
const CSR_MEDELEG: u16 = 0x302;
const CSR_MIDELEG: u16 = 0x303;
const CSR_MIE: u16 = 0x304;
const CSR_MTVEC: u16 = 0x305;
const CSR_MCOUNTEREN: u16 = 0x306;
const CSR_MVIEN: u16 = 0x308;
const CSR_MVIP: u16 = 0x309;
const CSR_MENVCFG: u16 = 0x30a;
const CSR_MSTATEEN0: u16 = 0x30c;
const CSR_MSTATEEN1: u16 = 0x30d;
const CSR_MSTATEEN2: u16 = 0x30e;
const CSR_MSTATEEN3: u16 = 0x30f;
const CSR_MCOUNTINHIBIT: u16 = 0x320;
const CSR_MSCRATCH: u16 = 0x340;
const CSR_MEPC: u16 = 0x341;
const CSR_MCAUSE: u16 = 0x342;
const CSR_MTVAL: u16 = 0x343;
const CSR_MIP: u16 = 0x344;
const CSR_MTINST: u16 = 0x34a;
const CSR_MTVAL2: u16 = 0x34b;
const CSR_MISELECT: u16 = 0x350;
const CSR_MIREG: u16 = 0x351;
const CSR_MIREG2: u16 = 0x352;
const CSR_MIREG3: u16 = 0x353;
const CSR_MIREG4: u16 = 0x355;
const CSR_MIREG5: u16 = 0x356;
const CSR_MIREG6: u16 = 0x357;
const CSR_MTOPEI: u16 = 0x35c;
const CSR_PMPCFG0: u16 = 0x3a0;
const CSR_PMPCFG1: u16 = 0x3a1;
const CSR_PMPCFG2: u16 = 0x3a2;
const CSR_PMPCFG3: u16 = 0x3a3;
const CSR_PMPCFG4: u16 = 0x3a4;
const CSR_PMPCFG5: u16 = 0x3a5;
const CSR_PMPCFG6: u16 = 0x3a6;
const CSR_PMPCFG7: u16 = 0x3a7;
const CSR_PMPCFG8: u16 = 0x3a8;
const CSR_PMPCFG9: u16 = 0x3a9;
const CSR_PMPCFG10: u16 = 0x3aa;
const CSR_PMPCFG11: u16 = 0x3ab;
const CSR_PMPCFG12: u16 = 0x3ac;
const CSR_PMPCFG13: u16 = 0x3ad;
const CSR_PMPCFG14: u16 = 0x3ae;
const CSR_PMPCFG15: u16 = 0x3af;
const CSR_PMPADDR0: u16 = 0x3b0;
const CSR_PMPADDR1: u16 = 0x3b1;
const CSR_PMPADDR2: u16 = 0x3b2;
const CSR_PMPADDR3: u16 = 0x3b3;
const CSR_PMPADDR4: u16 = 0x3b4;
const CSR_PMPADDR5: u16 = 0x3b5;
const CSR_PMPADDR6: u16 = 0x3b6;
const CSR_PMPADDR7: u16 = 0x3b7;
const CSR_PMPADDR8: u16 = 0x3b8;
const CSR_PMPADDR9: u16 = 0x3b9;
const CSR_PMPADDR10: u16 = 0x3ba;
const CSR_PMPADDR11: u16 = 0x3bb;
const CSR_PMPADDR12: u16 = 0x3bc;
const CSR_PMPADDR13: u16 = 0x3bd;
const CSR_PMPADDR14: u16 = 0x3be;
const CSR_PMPADDR15: u16 = 0x3bf;
const CSR_PMPADDR16: u16 = 0x3c0;
const CSR_PMPADDR17: u16 = 0x3c1;
const CSR_PMPADDR18: u16 = 0x3c2;
const CSR_PMPADDR19: u16 = 0x3c3;
const CSR_PMPADDR20: u16 = 0x3c4;
const CSR_PMPADDR21: u16 = 0x3c5;
const CSR_PMPADDR22: u16 = 0x3c6;
const CSR_PMPADDR23: u16 = 0x3c7;
const CSR_PMPADDR24: u16 = 0x3c8;
const CSR_PMPADDR25: u16 = 0x3c9;
const CSR_PMPADDR26: u16 = 0x3ca;
const CSR_PMPADDR27: u16 = 0x3cb;
const CSR_PMPADDR28: u16 = 0x3cc;
const CSR_PMPADDR29: u16 = 0x3cd;
const CSR_PMPADDR30: u16 = 0x3ce;
const CSR_PMPADDR31: u16 = 0x3cf;
const CSR_PMPADDR32: u16 = 0x3d0;
const CSR_PMPADDR33: u16 = 0x3d1;
const CSR_PMPADDR34: u16 = 0x3d2;
const CSR_PMPADDR35: u16 = 0x3d3;
const CSR_PMPADDR36: u16 = 0x3d4;
const CSR_PMPADDR37: u16 = 0x3d5;
const CSR_PMPADDR38: u16 = 0x3d6;
const CSR_PMPADDR39: u16 = 0x3d7;
const CSR_PMPADDR40: u16 = 0x3d8;
const CSR_PMPADDR41: u16 = 0x3d9;
const CSR_PMPADDR42: u16 = 0x3da;
const CSR_PMPADDR43: u16 = 0x3db;
const CSR_PMPADDR44: u16 = 0x3dc;
const CSR_PMPADDR45: u16 = 0x3dd;
const CSR_PMPADDR46: u16 = 0x3de;
const CSR_PMPADDR47: u16 = 0x3df;
const CSR_PMPADDR48: u16 = 0x3e0;
const CSR_PMPADDR49: u16 = 0x3e1;
const CSR_PMPADDR50: u16 = 0x3e2;
const CSR_PMPADDR51: u16 = 0x3e3;
const CSR_PMPADDR52: u16 = 0x3e4;
const CSR_PMPADDR53: u16 = 0x3e5;
const CSR_PMPADDR54: u16 = 0x3e6;
const CSR_PMPADDR55: u16 = 0x3e7;
const CSR_PMPADDR56: u16 = 0x3e8;
const CSR_PMPADDR57: u16 = 0x3e9;
const CSR_PMPADDR58: u16 = 0x3ea;
const CSR_PMPADDR59: u16 = 0x3eb;
const CSR_PMPADDR60: u16 = 0x3ec;
const CSR_PMPADDR61: u16 = 0x3ed;
const CSR_PMPADDR62: u16 = 0x3ee;
const CSR_PMPADDR63: u16 = 0x3ef;
const CSR_MSECCFG: u16 = 0x747;
const CSR_TSELECT: u16 = 0x7a0;
const CSR_TDATA1: u16 = 0x7a1;
const CSR_TDATA2: u16 = 0x7a2;
const CSR_TDATA3: u16 = 0x7a3;
const CSR_TINFO: u16 = 0x7a4;
const CSR_TCONTROL: u16 = 0x7a5;
const CSR_MCONTEXT: u16 = 0x7a8;
const CSR_MSCONTEXT: u16 = 0x7aa;
const CSR_DCSR: u16 = 0x7b0;
const CSR_DPC: u16 = 0x7b1;
const CSR_DSCRATCH0: u16 = 0x7b2;
const CSR_DSCRATCH1: u16 = 0x7b3;
const CSR_MCYCLE: u16 = 0xb00;
const CSR_MINSTRET: u16 = 0xb02;
const CSR_MHPMCOUNTER3: u16 = 0xb03;
const CSR_MHPMCOUNTER4: u16 = 0xb04;
const CSR_MHPMCOUNTER5: u16 = 0xb05;
const CSR_MHPMCOUNTER6: u16 = 0xb06;
const CSR_MHPMCOUNTER7: u16 = 0xb07;
const CSR_MHPMCOUNTER8: u16 = 0xb08;
const CSR_MHPMCOUNTER9: u16 = 0xb09;
const CSR_MHPMCOUNTER10: u16 = 0xb0a;
const CSR_MHPMCOUNTER11: u16 = 0xb0b;
const CSR_MHPMCOUNTER12: u16 = 0xb0c;
const CSR_MHPMCOUNTER13: u16 = 0xb0d;
const CSR_MHPMCOUNTER14: u16 = 0xb0e;
const CSR_MHPMCOUNTER15: u16 = 0xb0f;
const CSR_MHPMCOUNTER16: u16 = 0xb10;
const CSR_MHPMCOUNTER17: u16 = 0xb11;
const CSR_MHPMCOUNTER18: u16 = 0xb12;
const CSR_MHPMCOUNTER19: u16 = 0xb13;
const CSR_MHPMCOUNTER20: u16 = 0xb14;
const CSR_MHPMCOUNTER21: u16 = 0xb15;
const CSR_MHPMCOUNTER22: u16 = 0xb16;
const CSR_MHPMCOUNTER23: u16 = 0xb17;
const CSR_MHPMCOUNTER24: u16 = 0xb18;
const CSR_MHPMCOUNTER25: u16 = 0xb19;
const CSR_MHPMCOUNTER26: u16 = 0xb1a;
const CSR_MHPMCOUNTER27: u16 = 0xb1b;
const CSR_MHPMCOUNTER28: u16 = 0xb1c;
const CSR_MHPMCOUNTER29: u16 = 0xb1d;
const CSR_MHPMCOUNTER30: u16 = 0xb1e;
const CSR_MHPMCOUNTER31: u16 = 0xb1f;
const CSR_MCYCLECFG: u16 = 0x321;
const CSR_MINSTRETCFG: u16 = 0x322;
const CSR_MHPMEVENT3: u16 = 0x323;
const CSR_MHPMEVENT4: u16 = 0x324;
const CSR_MHPMEVENT5: u16 = 0x325;
const CSR_MHPMEVENT6: u16 = 0x326;
const CSR_MHPMEVENT7: u16 = 0x327;
const CSR_MHPMEVENT8: u16 = 0x328;
const CSR_MHPMEVENT9: u16 = 0x329;
const CSR_MHPMEVENT10: u16 = 0x32a;
const CSR_MHPMEVENT11: u16 = 0x32b;
const CSR_MHPMEVENT12: u16 = 0x32c;
const CSR_MHPMEVENT13: u16 = 0x32d;
const CSR_MHPMEVENT14: u16 = 0x32e;
const CSR_MHPMEVENT15: u16 = 0x32f;
const CSR_MHPMEVENT16: u16 = 0x330;
const CSR_MHPMEVENT17: u16 = 0x331;
const CSR_MHPMEVENT18: u16 = 0x332;
const CSR_MHPMEVENT19: u16 = 0x333;
const CSR_MHPMEVENT20: u16 = 0x334;
const CSR_MHPMEVENT21: u16 = 0x335;
const CSR_MHPMEVENT22: u16 = 0x336;
const CSR_MHPMEVENT23: u16 = 0x337;
const CSR_MHPMEVENT24: u16 = 0x338;
const CSR_MHPMEVENT25: u16 = 0x339;
const CSR_MHPMEVENT26: u16 = 0x33a;
const CSR_MHPMEVENT27: u16 = 0x33b;
const CSR_MHPMEVENT28: u16 = 0x33c;
const CSR_MHPMEVENT29: u16 = 0x33d;
const CSR_MHPMEVENT30: u16 = 0x33e;
const CSR_MHPMEVENT31: u16 = 0x33f;
const CSR_MVENDORID: u16 = 0xf11;
const CSR_MARCHID: u16 = 0xf12;
const CSR_MIMPID: u16 = 0xf13;
const CSR_MHARTID: u16 = 0xf14;
const CSR_MCONFIGPTR: u16 = 0xf15;
const CSR_MTOPI: u16 = 0xfb0;
const CSR_SIEH: u16 = 0x114;
const CSR_SIPH: u16 = 0x154;
const CSR_STIMECMPH: u16 = 0x15d;
const CSR_VSIEH: u16 = 0x214;
const CSR_VSIPH: u16 = 0x254;
const CSR_VSTIMECMPH: u16 = 0x25d;
const CSR_HTIMEDELTAH: u16 = 0x615;
const CSR_HIDELEGH: u16 = 0x613;
const CSR_HVIENH: u16 = 0x618;
const CSR_HENVCFGH: u16 = 0x61a;
const CSR_HVIPH: u16 = 0x655;
const CSR_HVIPRIO1H: u16 = 0x656;
const CSR_HVIPRIO2H: u16 = 0x657;
const CSR_HSTATEEN0H: u16 = 0x61c;
const CSR_HSTATEEN1H: u16 = 0x61d;
const CSR_HSTATEEN2H: u16 = 0x61e;
const CSR_HSTATEEN3H: u16 = 0x61f;
const CSR_CYCLEH: u16 = 0xc80;
const CSR_TIMEH: u16 = 0xc81;
const CSR_INSTRETH: u16 = 0xc82;
const CSR_HPMCOUNTER3H: u16 = 0xc83;
const CSR_HPMCOUNTER4H: u16 = 0xc84;
const CSR_HPMCOUNTER5H: u16 = 0xc85;
const CSR_HPMCOUNTER6H: u16 = 0xc86;
const CSR_HPMCOUNTER7H: u16 = 0xc87;
const CSR_HPMCOUNTER8H: u16 = 0xc88;
const CSR_HPMCOUNTER9H: u16 = 0xc89;
const CSR_HPMCOUNTER10H: u16 = 0xc8a;
const CSR_HPMCOUNTER11H: u16 = 0xc8b;
const CSR_HPMCOUNTER12H: u16 = 0xc8c;
const CSR_HPMCOUNTER13H: u16 = 0xc8d;
const CSR_HPMCOUNTER14H: u16 = 0xc8e;
const CSR_HPMCOUNTER15H: u16 = 0xc8f;
const CSR_HPMCOUNTER16H: u16 = 0xc90;
const CSR_HPMCOUNTER17H: u16 = 0xc91;
const CSR_HPMCOUNTER18H: u16 = 0xc92;
const CSR_HPMCOUNTER19H: u16 = 0xc93;
const CSR_HPMCOUNTER20H: u16 = 0xc94;
const CSR_HPMCOUNTER21H: u16 = 0xc95;
const CSR_HPMCOUNTER22H: u16 = 0xc96;
const CSR_HPMCOUNTER23H: u16 = 0xc97;
const CSR_HPMCOUNTER24H: u16 = 0xc98;
const CSR_HPMCOUNTER25H: u16 = 0xc99;
const CSR_HPMCOUNTER26H: u16 = 0xc9a;
const CSR_HPMCOUNTER27H: u16 = 0xc9b;
const CSR_HPMCOUNTER28H: u16 = 0xc9c;
const CSR_HPMCOUNTER29H: u16 = 0xc9d;
const CSR_HPMCOUNTER30H: u16 = 0xc9e;
const CSR_HPMCOUNTER31H: u16 = 0xc9f;
const CSR_MSTATUSH: u16 = 0x310;
const CSR_MIDELEGH: u16 = 0x313;
const CSR_MIEH: u16 = 0x314;
const CSR_MVIENH: u16 = 0x318;
const CSR_MVIPH: u16 = 0x319;
const CSR_MENVCFGH: u16 = 0x31a;
const CSR_MSTATEEN0H: u16 = 0x31c;
const CSR_MSTATEEN1H: u16 = 0x31d;
const CSR_MSTATEEN2H: u16 = 0x31e;
const CSR_MSTATEEN3H: u16 = 0x31f;
const CSR_MIPH: u16 = 0x354;
const CSR_MCYCLECFGH: u16 = 0x721;
const CSR_MINSTRETCFGH: u16 = 0x722;
const CSR_MHPMEVENT3H: u16 = 0x723;
const CSR_MHPMEVENT4H: u16 = 0x724;
const CSR_MHPMEVENT5H: u16 = 0x725;
const CSR_MHPMEVENT6H: u16 = 0x726;
const CSR_MHPMEVENT7H: u16 = 0x727;
const CSR_MHPMEVENT8H: u16 = 0x728;
const CSR_MHPMEVENT9H: u16 = 0x729;
const CSR_MHPMEVENT10H: u16 = 0x72a;
const CSR_MHPMEVENT11H: u16 = 0x72b;
const CSR_MHPMEVENT12H: u16 = 0x72c;
const CSR_MHPMEVENT13H: u16 = 0x72d;
const CSR_MHPMEVENT14H: u16 = 0x72e;
const CSR_MHPMEVENT15H: u16 = 0x72f;
const CSR_MHPMEVENT16H: u16 = 0x730;
const CSR_MHPMEVENT17H: u16 = 0x731;
const CSR_MHPMEVENT18H: u16 = 0x732;
const CSR_MHPMEVENT19H: u16 = 0x733;
const CSR_MHPMEVENT20H: u16 = 0x734;
const CSR_MHPMEVENT21H: u16 = 0x735;
const CSR_MHPMEVENT22H: u16 = 0x736;
const CSR_MHPMEVENT23H: u16 = 0x737;
const CSR_MHPMEVENT24H: u16 = 0x738;
const CSR_MHPMEVENT25H: u16 = 0x739;
const CSR_MHPMEVENT26H: u16 = 0x73a;
const CSR_MHPMEVENT27H: u16 = 0x73b;
const CSR_MHPMEVENT28H: u16 = 0x73c;
const CSR_MHPMEVENT29H: u16 = 0x73d;
const CSR_MHPMEVENT30H: u16 = 0x73e;
const CSR_MHPMEVENT31H: u16 = 0x73f;
const CSR_MNSCRATCH: u16 = 0x740;
const CSR_MNEPC: u16 = 0x741;
const CSR_MNCAUSE: u16 = 0x742;
const CSR_MNSTATUS: u16 = 0x744;
const CSR_MSECCFGH: u16 = 0x757;
const CSR_MCYCLEH: u16 = 0xb80;
const CSR_MINSTRETH: u16 = 0xb82;
const CSR_MHPMCOUNTER3H: u16 = 0xb83;
const CSR_MHPMCOUNTER4H: u16 = 0xb84;
const CSR_MHPMCOUNTER5H: u16 = 0xb85;
const CSR_MHPMCOUNTER6H: u16 = 0xb86;
const CSR_MHPMCOUNTER7H: u16 = 0xb87;
const CSR_MHPMCOUNTER8H: u16 = 0xb88;
const CSR_MHPMCOUNTER9H: u16 = 0xb89;
const CSR_MHPMCOUNTER10H: u16 = 0xb8a;
const CSR_MHPMCOUNTER11H: u16 = 0xb8b;
const CSR_MHPMCOUNTER12H: u16 = 0xb8c;
const CSR_MHPMCOUNTER13H: u16 = 0xb8d;
const CSR_MHPMCOUNTER14H: u16 = 0xb8e;
const CSR_MHPMCOUNTER15H: u16 = 0xb8f;
const CSR_MHPMCOUNTER16H: u16 = 0xb90;
const CSR_MHPMCOUNTER17H: u16 = 0xb91;
const CSR_MHPMCOUNTER18H: u16 = 0xb92;
const CSR_MHPMCOUNTER19H: u16 = 0xb93;
const CSR_MHPMCOUNTER20H: u16 = 0xb94;
const CSR_MHPMCOUNTER21H: u16 = 0xb95;
const CSR_MHPMCOUNTER22H: u16 = 0xb96;
const CSR_MHPMCOUNTER23H: u16 = 0xb97;
const CSR_MHPMCOUNTER24H: u16 = 0xb98;
const CSR_MHPMCOUNTER25H: u16 = 0xb99;
const CSR_MHPMCOUNTER26H: u16 = 0xb9a;
const CSR_MHPMCOUNTER27H: u16 = 0xb9b;
const CSR_MHPMCOUNTER28H: u16 = 0xb9c;
const CSR_MHPMCOUNTER29H: u16 = 0xb9d;
const CSR_MHPMCOUNTER30H: u16 = 0xb9e;
const CSR_MHPMCOUNTER31H: u16 = 0xb9f;
const CAUSE_MISALIGNED_FETCH: u8 = 0x0;
const CAUSE_FETCH_ACCESS: u8 = 0x1;
const CAUSE_ILLEGAL_INSTRUCTION: u8 = 0x2;
const CAUSE_BREAKPOINT: u8 = 0x3;
const CAUSE_MISALIGNED_LOAD: u8 = 0x4;
const CAUSE_LOAD_ACCESS: u8 = 0x5;
const CAUSE_MISALIGNED_STORE: u8 = 0x6;
const CAUSE_STORE_ACCESS: u8 = 0x7;
const CAUSE_USER_ECALL: u8 = 0x8;
const CAUSE_SUPERVISOR_ECALL: u8 = 0x9;
const CAUSE_VIRTUAL_SUPERVISOR_ECALL: u8 = 0xa;
const CAUSE_MACHINE_ECALL: u8 = 0xb;
const CAUSE_FETCH_PAGE_FAULT: u8 = 0xc;
const CAUSE_LOAD_PAGE_FAULT: u8 = 0xd;
const CAUSE_STORE_PAGE_FAULT: u8 = 0xf;
const CAUSE_FETCH_GUEST_PAGE_FAULT: u8 = 0x14;
const CAUSE_LOAD_GUEST_PAGE_FAULT: u8 = 0x15;
const CAUSE_VIRTUAL_INSTRUCTION: u8 = 0x16;
const CAUSE_STORE_GUEST_PAGE_FAULT: u8 = 0x17;