#[derive(Clone, Copy)]
pub struct Immediate {
position_in_opcode: (u32, u32),
position_in_immediate: (u32, u32),
}
pub const UIMM_LO: Immediate = Immediate {
position_in_opcode: (31, 12),
position_in_immediate: (31, 12),
};
pub const S_TYPE_HI: Immediate = Immediate {
position_in_immediate: (11, 5),
position_in_opcode: (31, 25),
};
pub const S_TYPE_LO: Immediate = Immediate {
position_in_immediate: (4, 0),
position_in_opcode: (11, 7),
};
pub const UJ_TYPE_IMM_20: Immediate = Immediate {
position_in_immediate: (20, 20),
position_in_opcode: (31, 31),
};
pub const UJ_TYPE_IMM_10_1: Immediate = Immediate {
position_in_immediate: (10, 1),
position_in_opcode: (30, 21),
};
pub const UJ_TYPE_IMM_11: Immediate = Immediate {
position_in_immediate: (11, 11),
position_in_opcode: (20, 20),
};
pub const UJ_TYPE_IMM_19_12: Immediate = Immediate {
position_in_immediate: (19, 12),
position_in_opcode: (19, 12),
};
pub const I_TYPE_11_0: Immediate = Immediate {
position_in_immediate: (11, 0),
position_in_opcode: (31, 20),
};
pub const B_TYPE_IMM_12: Immediate = Immediate {
position_in_immediate: (12, 12),
position_in_opcode: (31, 31),
};
pub const B_TYPE_IMM_10_5: Immediate = Immediate {
position_in_immediate: (10, 5),
position_in_opcode: (30, 25),
};
pub const B_TYPE_IMM_4_1: Immediate = Immediate {
position_in_immediate: (4, 1),
position_in_opcode: (11, 8),
};
pub const B_TYPE_IMM_11: Immediate = Immediate {
position_in_immediate: (11, 11),
position_in_opcode: (7, 7),
};
pub const CJ_TYPE_IMM_11: Immediate = Immediate {
position_in_immediate: (11, 11),
position_in_opcode: (12, 12), };
pub const CJ_TYPE_IMM_4: Immediate = Immediate {
position_in_immediate: (4, 4),
position_in_opcode: (11, 11), };
pub const CJ_TYPE_IMM_9_8: Immediate = Immediate {
position_in_immediate: (9, 8),
position_in_opcode: (10, 9), };
pub const CJ_TYPE_IMM_10: Immediate = Immediate {
position_in_immediate: (10, 10),
position_in_opcode: (8, 8), };
pub const CJ_TYPE_IMM_6: Immediate = Immediate {
position_in_immediate: (6, 6),
position_in_opcode: (7, 7), };
pub const CJ_TYPE_IMM_7: Immediate = Immediate {
position_in_immediate: (7, 7),
position_in_opcode: (6, 6), };
pub const CJ_TYPE_IMM_3_1: Immediate = Immediate {
position_in_immediate: (3, 1),
position_in_opcode: (5, 3), };
pub const CJ_TYPE_IMM_5: Immediate = Immediate {
position_in_immediate: (5, 5),
position_in_opcode: (2, 2), };
pub const BIMM12LOHI: &[Immediate] = &[
B_TYPE_IMM_12,
B_TYPE_IMM_11,
B_TYPE_IMM_10_5,
B_TYPE_IMM_4_1,
];
pub const S_TYPE: &[Immediate] = &[S_TYPE_HI, S_TYPE_LO];
pub const IMM20: &[Immediate] = &[UIMM_LO];
pub const JIMM20: &[Immediate] = &[
UJ_TYPE_IMM_20,
UJ_TYPE_IMM_19_12,
UJ_TYPE_IMM_11,
UJ_TYPE_IMM_10_1,
];
pub const I_TYPE: &[Immediate] = &[I_TYPE_11_0];
pub const SIMM5: &[Immediate] = &[Immediate {
position_in_immediate: (4, 0),
position_in_opcode: (19, 15),
}];
pub const IMM6: &[Immediate] = &[];
pub const IMM12LOHI: &[Immediate] = &[
Immediate {
position_in_immediate: (11, 5),
position_in_opcode: (31, 25),
},
Immediate {
position_in_immediate: (4, 0),
position_in_opcode: (11, 7),
},
];
pub const IMM12: &[Immediate] = &[Immediate {
position_in_immediate: (11, 0),
position_in_opcode: (31, 20),
}];
pub const ZIMM: &[Immediate] = &[Immediate {
position_in_immediate: (4, 0),
position_in_opcode: (19, 15),
}];
pub const ZIMM6LOHI: &[Immediate] = &[
Immediate {
position_in_immediate: (5, 5),
position_in_opcode: (26, 26),
},
Immediate {
position_in_immediate: (4, 0),
position_in_opcode: (19, 15),
},
];
pub const ZIMM11: &[Immediate] = &[Immediate {
position_in_immediate: (10, 0),
position_in_opcode: (30, 20),
}];
pub const ZIMM10: &[Immediate] = &[Immediate {
position_in_immediate: (9, 0),
position_in_opcode: (29, 20),
}];
pub const ZIMM5: &[Immediate] = &[Immediate {
position_in_immediate: (4, 0),
position_in_opcode: (19, 15),
}];
pub const C_SPIMM: &[Immediate] = &[Immediate {
position_in_immediate: (5, 4),
position_in_opcode: (3, 2),
}];
pub const C_UIMM8SP_S: &[Immediate] = &[
Immediate {
position_in_immediate: (5, 2),
position_in_opcode: (12, 9),
},
Immediate {
position_in_immediate: (7, 6),
position_in_opcode: (6, 5),
},
];
pub const C_UIMM1: &[Immediate] = &[Immediate {
position_in_immediate: (1, 1),
position_in_opcode: (5, 5),
}];
pub const C_UIMM7LOHI: &[Immediate] = &[
Immediate {
position_in_immediate: (5, 3),
position_in_opcode: (12, 10),
},
Immediate {
position_in_immediate: (2, 2),
position_in_opcode: (6, 6),
},
Immediate {
position_in_immediate: (6, 6),
position_in_opcode: (5, 5),
},
];
pub const C_UIMM9_SPLOHI: &[Immediate] = &[
Immediate {
position_in_immediate: (5, 5),
position_in_opcode: (12, 12),
},
Immediate {
position_in_immediate: (4, 2),
position_in_opcode: (6, 4),
},
Immediate {
position_in_immediate: (7, 6),
position_in_opcode: (3, 2),
},
];
pub const C_UIMM9SP_S: &[Immediate] = &[
Immediate {
position_in_immediate: (5, 3),
position_in_opcode: (12, 9),
},
Immediate {
position_in_immediate: (8, 6),
position_in_opcode: (8, 6),
},
];
pub const C_UIMM2: &[Immediate] = &[
Immediate {
position_in_immediate: (0, 0),
position_in_opcode: (6, 6),
},
Immediate {
position_in_immediate: (1, 1),
position_in_opcode: (5, 5),
},
];
pub const C_NZUIMM10: &[Immediate] = &[
Immediate {
position_in_immediate: (5, 4),
position_in_opcode: (12, 11),
},
Immediate {
position_in_immediate: (9, 6),
position_in_opcode: (10, 7),
},
Immediate {
position_in_immediate: (2, 2),
position_in_opcode: (6, 6),
},
Immediate {
position_in_immediate: (3, 3),
position_in_opcode: (5, 5),
},
];
pub const C_NZIMM10LOHI: &[Immediate] = &[
Immediate {
position_in_immediate: (5, 5),
position_in_opcode: (12, 12),
},
Immediate {
position_in_immediate: (4, 0),
position_in_opcode: (6, 2),
},
];
pub const C_UIMM10SP_S: &[Immediate] = &[];
pub const C_UIMM10SPLOHI: &[Immediate] = &[];
pub const C_UIMM9LOHI: &[Immediate] = &[];
pub const IMM5: &[Immediate] = &[];
pub const IMM4: &[Immediate] = &[];
pub const IMM3: &[Immediate] = &[];
pub const IMM2: &[Immediate] = &[];
pub const C_NZUIMM5: &[Immediate] = C_NZUIMM6LOHI;
pub const C_NZIMM18LOHI: &[Immediate] = &[
Immediate {
position_in_immediate: (5, 5),
position_in_opcode: (12, 12),
},
Immediate {
position_in_immediate: (4, 0),
position_in_opcode: (6, 2),
},
];
pub const C_NZUIMM18LOHI: &[Immediate] = &[
Immediate {
position_in_immediate: (5, 5),
position_in_opcode: (12, 12),
},
Immediate {
position_in_immediate: (4, 0),
position_in_opcode: (6, 2),
},
];
pub const C_NZUIMM6LOHI: &[Immediate] = &[
Immediate {
position_in_immediate: (5, 5),
position_in_opcode: (13, 13),
},
Immediate {
position_in_immediate: (4, 0),
position_in_opcode: (7, 2),
},
];
pub const C_UIMM6LOHI: &[Immediate] = &[
Immediate {
position_in_immediate: (5, 5),
position_in_opcode: (12, 12),
},
Immediate {
position_in_immediate: (4, 0),
position_in_opcode: (6, 2),
},
];
pub const C_UIMM8LOHI: &[Immediate] = &[
Immediate {
position_in_immediate: (5, 3),
position_in_opcode: (12, 10),
},
Immediate {
position_in_immediate: (7, 6),
position_in_opcode: (7, 6),
},
];
pub const C_UIMM9SPLOHI: &[Immediate] = &[
Immediate {
position_in_immediate: (5, 5),
position_in_opcode: (13, 13),
},
Immediate {
position_in_immediate: (4, 3),
position_in_opcode: (7, 5),
},
Immediate {
position_in_immediate: (8, 6),
position_in_opcode: (4, 3),
},
];
pub const C_NZIMM6LOHI: &[Immediate] = &[
Immediate {
position_in_immediate: (5, 5),
position_in_opcode: (12, 12),
},
Immediate {
position_in_immediate: (4, 0),
position_in_opcode: (6, 2),
},
];
pub const C_BIMM9LOHI: &[Immediate] = &[
Immediate {
position_in_immediate: (8, 8),
position_in_opcode: (12, 12),
},
Immediate {
position_in_immediate: (4, 3),
position_in_opcode: (11, 10),
},
Immediate {
position_in_immediate: (7, 6),
position_in_opcode: (6, 5),
},
Immediate {
position_in_immediate: (2, 1),
position_in_opcode: (4, 3),
},
Immediate {
position_in_immediate: (5, 5),
position_in_opcode: (2, 2),
},
];
pub const C_UIMM8SPLOHI: &[Immediate] = &[
Immediate {
position_in_immediate: (5, 5),
position_in_opcode: (12, 12),
},
Immediate {
position_in_immediate: (4, 2),
position_in_opcode: (6, 4),
},
Immediate {
position_in_immediate: (7, 6),
position_in_opcode: (3, 2),
},
];
pub const C_UIMM8SP_SLOHI: &[Immediate] = &[
Immediate {
position_in_immediate: (5, 2),
position_in_opcode: (12, 9),
},
Immediate {
position_in_immediate: (7, 6),
position_in_opcode: (8, 7),
},
];
pub const C_IMM6LOHI: &[Immediate] = &[
Immediate {
position_in_immediate: (5, 5),
position_in_opcode: (12, 12),
},
Immediate {
position_in_immediate: (4, 0),
position_in_opcode: (6, 2),
},
];
pub const C_IMM12: &[Immediate] = &[
Immediate {
position_in_immediate: (11, 11),
position_in_opcode: (12, 12),
},
Immediate {
position_in_immediate: (4, 4),
position_in_opcode: (11, 11),
},
Immediate {
position_in_immediate: (9, 8),
position_in_opcode: (10, 9),
},
Immediate {
position_in_immediate: (10, 10),
position_in_opcode: (8, 8),
},
Immediate {
position_in_immediate: (6, 6),
position_in_opcode: (7, 7),
},
Immediate {
position_in_immediate: (7, 7),
position_in_opcode: (6, 6),
},
Immediate {
position_in_immediate: (3, 1),
position_in_opcode: (5, 3),
},
Immediate {
position_in_immediate: (5, 5),
position_in_opcode: (2, 2),
},
];
pub const C_IMM12LOHI: &[Immediate] = &[
Immediate {
position_in_immediate: (11, 11),
position_in_opcode: (12, 12),
},
Immediate {
position_in_immediate: (4, 4),
position_in_opcode: (11, 11),
},
Immediate {
position_in_immediate: (9, 8),
position_in_opcode: (10, 9),
},
Immediate {
position_in_immediate: (10, 10),
position_in_opcode: (8, 8),
},
Immediate {
position_in_immediate: (6, 6),
position_in_opcode: (7, 7),
},
Immediate {
position_in_immediate: (7, 7),
position_in_opcode: (6, 6),
},
Immediate {
position_in_immediate: (3, 1),
position_in_opcode: (5, 3),
},
Immediate {
position_in_immediate: (5, 5),
position_in_opcode: (2, 2),
},
];
pub const fn encode_immediate(immediate: &[Immediate], imm: i32) -> u32 {
let mut res = 0;
let mut i = 0;
while i < immediate.len() {
res |= immediate[i].encode(imm);
i += 1;
}
res
}
pub const fn decode_immediate(immediate: &[Immediate], op: u32) -> i32 {
let mut res = 0i32;
let mut i = 0;
while i < immediate.len() {
res |= immediate[i].decode(op);
i += 1;
}
res as _
}
pub fn is_immediate_valid(immediate: &[Immediate], imm: i32) -> bool {
immediate.iter().all(|i| i.is_valid(imm))
}
impl Immediate {
pub const fn encode(&self, imm: i32) -> u32 {
let imm = imm as u32;
let bit_count = self.position_in_immediate.0 - self.position_in_immediate.1 + 1;
let mask = (1u32 << bit_count) - 1;
((imm >> self.position_in_immediate.1) & mask) << self.position_in_opcode.1
}
pub const fn decode(&self, op: u32) -> i32 {
let bit_count = self.position_in_opcode.0 - self.position_in_opcode.1 + 1;
let mask = (1u32 << bit_count) - 1;
(((op >> self.position_in_opcode.1) & mask) << self.position_in_immediate.1) as _
}
pub const fn is_valid(&self, imm: i32) -> bool {
self.decode(self.encode(imm)) == imm
}
}
pub const MATCH_ADD: u32 = 0x33;
pub const MASK_ADD: u32 = 0xfe00707f;
pub const MATCH_ADD_UW: u32 = 0x800003b;
pub const MASK_ADD_UW: u32 = 0xfe00707f;
pub const MATCH_ADDI: u32 = 0x13;
pub const MASK_ADDI: u32 = 0x707f;
pub const MATCH_ADDIW: u32 = 0x1b;
pub const MASK_ADDIW: u32 = 0x707f;
pub const MATCH_ADDW: u32 = 0x3b;
pub const MASK_ADDW: u32 = 0xfe00707f;
pub const MATCH_AES32DSI: u32 = 0x2a000033;
pub const MASK_AES32DSI: u32 = 0x3e00707f;
pub const MATCH_AES32DSMI: u32 = 0x2e000033;
pub const MASK_AES32DSMI: u32 = 0x3e00707f;
pub const MATCH_AES32ESI: u32 = 0x22000033;
pub const MASK_AES32ESI: u32 = 0x3e00707f;
pub const MATCH_AES32ESMI: u32 = 0x26000033;
pub const MASK_AES32ESMI: u32 = 0x3e00707f;
pub const MATCH_AES64DS: u32 = 0x3a000033;
pub const MASK_AES64DS: u32 = 0xfe00707f;
pub const MATCH_AES64DSM: u32 = 0x3e000033;
pub const MASK_AES64DSM: u32 = 0xfe00707f;
pub const MATCH_AES64ES: u32 = 0x32000033;
pub const MASK_AES64ES: u32 = 0xfe00707f;
pub const MATCH_AES64ESM: u32 = 0x36000033;
pub const MASK_AES64ESM: u32 = 0xfe00707f;
pub const MATCH_AES64IM: u32 = 0x30001013;
pub const MASK_AES64IM: u32 = 0xfff0707f;
pub const MATCH_AES64KS1I: u32 = 0x31001013;
pub const MASK_AES64KS1I: u32 = 0xff00707f;
pub const MATCH_AES64KS2: u32 = 0x7e000033;
pub const MASK_AES64KS2: u32 = 0xfe00707f;
pub const MATCH_AMOADD_B: u32 = 0x2f;
pub const MASK_AMOADD_B: u32 = 0xf800707f;
pub const MATCH_AMOADD_D: u32 = 0x302f;
pub const MASK_AMOADD_D: u32 = 0xf800707f;
pub const MATCH_AMOADD_H: u32 = 0x102f;
pub const MASK_AMOADD_H: u32 = 0xf800707f;
pub const MATCH_AMOADD_W: u32 = 0x202f;
pub const MASK_AMOADD_W: u32 = 0xf800707f;
pub const MATCH_AMOAND_B: u32 = 0x6000002f;
pub const MASK_AMOAND_B: u32 = 0xf800707f;
pub const MATCH_AMOAND_D: u32 = 0x6000302f;
pub const MASK_AMOAND_D: u32 = 0xf800707f;
pub const MATCH_AMOAND_H: u32 = 0x6000102f;
pub const MASK_AMOAND_H: u32 = 0xf800707f;
pub const MATCH_AMOAND_W: u32 = 0x6000202f;
pub const MASK_AMOAND_W: u32 = 0xf800707f;
pub const MATCH_AMOCAS_B: u32 = 0x2800002f;
pub const MASK_AMOCAS_B: u32 = 0xf800707f;
pub const MATCH_AMOCAS_D: u32 = 0x2800302f;
pub const MASK_AMOCAS_D: u32 = 0xf800707f;
pub const MATCH_AMOCAS_H: u32 = 0x2800102f;
pub const MASK_AMOCAS_H: u32 = 0xf800707f;
pub const MATCH_AMOCAS_Q: u32 = 0x2800402f;
pub const MASK_AMOCAS_Q: u32 = 0xf800707f;
pub const MATCH_AMOCAS_W: u32 = 0x2800202f;
pub const MASK_AMOCAS_W: u32 = 0xf800707f;
pub const MATCH_AMOMAX_B: u32 = 0xa000002f;
pub const MASK_AMOMAX_B: u32 = 0xf800707f;
pub const MATCH_AMOMAX_D: u32 = 0xa000302f;
pub const MASK_AMOMAX_D: u32 = 0xf800707f;
pub const MATCH_AMOMAX_H: u32 = 0xa000102f;
pub const MASK_AMOMAX_H: u32 = 0xf800707f;
pub const MATCH_AMOMAX_W: u32 = 0xa000202f;
pub const MASK_AMOMAX_W: u32 = 0xf800707f;
pub const MATCH_AMOMAXU_B: u32 = 0xe000002f;
pub const MASK_AMOMAXU_B: u32 = 0xf800707f;
pub const MATCH_AMOMAXU_D: u32 = 0xe000302f;
pub const MASK_AMOMAXU_D: u32 = 0xf800707f;
pub const MATCH_AMOMAXU_H: u32 = 0xe000102f;
pub const MASK_AMOMAXU_H: u32 = 0xf800707f;
pub const MATCH_AMOMAXU_W: u32 = 0xe000202f;
pub const MASK_AMOMAXU_W: u32 = 0xf800707f;
pub const MATCH_AMOMIN_B: u32 = 0x8000002f;
pub const MASK_AMOMIN_B: u32 = 0xf800707f;
pub const MATCH_AMOMIN_D: u32 = 0x8000302f;
pub const MASK_AMOMIN_D: u32 = 0xf800707f;
pub const MATCH_AMOMIN_H: u32 = 0x8000102f;
pub const MASK_AMOMIN_H: u32 = 0xf800707f;
pub const MATCH_AMOMIN_W: u32 = 0x8000202f;
pub const MASK_AMOMIN_W: u32 = 0xf800707f;
pub const MATCH_AMOMINU_B: u32 = 0xc000002f;
pub const MASK_AMOMINU_B: u32 = 0xf800707f;
pub const MATCH_AMOMINU_D: u32 = 0xc000302f;
pub const MASK_AMOMINU_D: u32 = 0xf800707f;
pub const MATCH_AMOMINU_H: u32 = 0xc000102f;
pub const MASK_AMOMINU_H: u32 = 0xf800707f;
pub const MATCH_AMOMINU_W: u32 = 0xc000202f;
pub const MASK_AMOMINU_W: u32 = 0xf800707f;
pub const MATCH_AMOOR_B: u32 = 0x4000002f;
pub const MASK_AMOOR_B: u32 = 0xf800707f;
pub const MATCH_AMOOR_D: u32 = 0x4000302f;
pub const MASK_AMOOR_D: u32 = 0xf800707f;
pub const MATCH_AMOOR_H: u32 = 0x4000102f;
pub const MASK_AMOOR_H: u32 = 0xf800707f;
pub const MATCH_AMOOR_W: u32 = 0x4000202f;
pub const MASK_AMOOR_W: u32 = 0xf800707f;
pub const MATCH_AMOSWAP_B: u32 = 0x800002f;
pub const MASK_AMOSWAP_B: u32 = 0xf800707f;
pub const MATCH_AMOSWAP_D: u32 = 0x800302f;
pub const MASK_AMOSWAP_D: u32 = 0xf800707f;
pub const MATCH_AMOSWAP_H: u32 = 0x800102f;
pub const MASK_AMOSWAP_H: u32 = 0xf800707f;
pub const MATCH_AMOSWAP_W: u32 = 0x800202f;
pub const MASK_AMOSWAP_W: u32 = 0xf800707f;
pub const MATCH_AMOXOR_B: u32 = 0x2000002f;
pub const MASK_AMOXOR_B: u32 = 0xf800707f;
pub const MATCH_AMOXOR_D: u32 = 0x2000302f;
pub const MASK_AMOXOR_D: u32 = 0xf800707f;
pub const MATCH_AMOXOR_H: u32 = 0x2000102f;
pub const MASK_AMOXOR_H: u32 = 0xf800707f;
pub const MATCH_AMOXOR_W: u32 = 0x2000202f;
pub const MASK_AMOXOR_W: u32 = 0xf800707f;
pub const MATCH_AND: u32 = 0x7033;
pub const MASK_AND: u32 = 0xfe00707f;
pub const MATCH_ANDI: u32 = 0x7013;
pub const MASK_ANDI: u32 = 0x707f;
pub const MATCH_ANDN: u32 = 0x40007033;
pub const MASK_ANDN: u32 = 0xfe00707f;
pub const MATCH_AUIPC: u32 = 0x17;
pub const MASK_AUIPC: u32 = 0x7f;
pub const MATCH_BCLR: u32 = 0x48001033;
pub const MASK_BCLR: u32 = 0xfe00707f;
pub const MATCH_BCLRI: u32 = 0x48001013;
pub const MASK_BCLRI: u32 = 0xfc00707f;
pub const MATCH_BCLRI_RV32: u32 = 0x48001013;
pub const MASK_BCLRI_RV32: u32 = 0xfe00707f;
pub const MATCH_BEQ: u32 = 0x63;
pub const MASK_BEQ: u32 = 0x707f;
pub const MATCH_BEQZ: u32 = 0x63;
pub const MASK_BEQZ: u32 = 0x1f0707f;
pub const MATCH_BEXT: u32 = 0x48005033;
pub const MASK_BEXT: u32 = 0xfe00707f;
pub const MATCH_BEXTI: u32 = 0x48005013;
pub const MASK_BEXTI: u32 = 0xfc00707f;
pub const MATCH_BEXTI_RV32: u32 = 0x48005013;
pub const MASK_BEXTI_RV32: u32 = 0xfe00707f;
pub const MATCH_BGE: u32 = 0x5063;
pub const MASK_BGE: u32 = 0x707f;
pub const MATCH_BGEU: u32 = 0x7063;
pub const MASK_BGEU: u32 = 0x707f;
pub const MATCH_BGEZ: u32 = 0x5063;
pub const MASK_BGEZ: u32 = 0x1f0707f;
pub const MATCH_BGT: u32 = 0x4063;
pub const MASK_BGT: u32 = 0x707f;
pub const MATCH_BGTU: u32 = 0x6063;
pub const MASK_BGTU: u32 = 0x707f;
pub const MATCH_BGTZ: u32 = 0x4063;
pub const MASK_BGTZ: u32 = 0xff07f;
pub const MATCH_BINV: u32 = 0x68001033;
pub const MASK_BINV: u32 = 0xfe00707f;
pub const MATCH_BINVI: u32 = 0x68001013;
pub const MASK_BINVI: u32 = 0xfc00707f;
pub const MATCH_BINVI_RV32: u32 = 0x68001013;
pub const MASK_BINVI_RV32: u32 = 0xfe00707f;
pub const MATCH_BLE: u32 = 0x5063;
pub const MASK_BLE: u32 = 0x707f;
pub const MATCH_BLEU: u32 = 0x7063;
pub const MASK_BLEU: u32 = 0x707f;
pub const MATCH_BLEZ: u32 = 0x5063;
pub const MASK_BLEZ: u32 = 0xff07f;
pub const MATCH_BLT: u32 = 0x4063;
pub const MASK_BLT: u32 = 0x707f;
pub const MATCH_BLTU: u32 = 0x6063;
pub const MASK_BLTU: u32 = 0x707f;
pub const MATCH_BLTZ: u32 = 0x4063;
pub const MASK_BLTZ: u32 = 0x1f0707f;
pub const MATCH_BNE: u32 = 0x1063;
pub const MASK_BNE: u32 = 0x707f;
pub const MATCH_BNEZ: u32 = 0x1063;
pub const MASK_BNEZ: u32 = 0x1f0707f;
pub const MATCH_BREV8: u32 = 0x68705013;
pub const MASK_BREV8: u32 = 0xfff0707f;
pub const MATCH_BSET: u32 = 0x28001033;
pub const MASK_BSET: u32 = 0xfe00707f;
pub const MATCH_BSETI: u32 = 0x28001013;
pub const MASK_BSETI: u32 = 0xfc00707f;
pub const MATCH_BSETI_RV32: u32 = 0x28001013;
pub const MASK_BSETI_RV32: u32 = 0xfe00707f;
pub const MATCH_C_ADD: u32 = 0x9002;
pub const MASK_C_ADD: u32 = 0xf003;
pub const MATCH_C_ADDI: u32 = 0x1;
pub const MASK_C_ADDI: u32 = 0xe003;
pub const MATCH_C_ADDI16SP: u32 = 0x6101;
pub const MASK_C_ADDI16SP: u32 = 0xef83;
pub const MATCH_C_ADDI4SPN: u32 = 0x0;
pub const MASK_C_ADDI4SPN: u32 = 0xe003;
pub const MATCH_C_ADDIW: u32 = 0x2001;
pub const MASK_C_ADDIW: u32 = 0xe003;
pub const MATCH_C_ADDW: u32 = 0x9c21;
pub const MASK_C_ADDW: u32 = 0xfc63;
pub const MATCH_C_AND: u32 = 0x8c61;
pub const MASK_C_AND: u32 = 0xfc63;
pub const MATCH_C_ANDI: u32 = 0x8801;
pub const MASK_C_ANDI: u32 = 0xec03;
pub const MATCH_C_BEQZ: u32 = 0xc001;
pub const MASK_C_BEQZ: u32 = 0xe003;
pub const MATCH_C_BNEZ: u32 = 0xe001;
pub const MASK_C_BNEZ: u32 = 0xe003;
pub const MATCH_C_EBREAK: u32 = 0x9002;
pub const MASK_C_EBREAK: u32 = 0xffff;
pub const MATCH_C_FLD: u32 = 0x2000;
pub const MASK_C_FLD: u32 = 0xe003;
pub const MATCH_C_FLDSP: u32 = 0x2002;
pub const MASK_C_FLDSP: u32 = 0xe003;
pub const MATCH_C_FLW: u32 = 0x6000;
pub const MASK_C_FLW: u32 = 0xe003;
pub const MATCH_C_FLWSP: u32 = 0x6002;
pub const MASK_C_FLWSP: u32 = 0xe003;
pub const MATCH_C_FSD: u32 = 0xa000;
pub const MASK_C_FSD: u32 = 0xe003;
pub const MATCH_C_FSDSP: u32 = 0xa002;
pub const MASK_C_FSDSP: u32 = 0xe003;
pub const MATCH_C_FSW: u32 = 0xe000;
pub const MASK_C_FSW: u32 = 0xe003;
pub const MATCH_C_FSWSP: u32 = 0xe002;
pub const MASK_C_FSWSP: u32 = 0xe003;
pub const MATCH_C_J: u32 = 0xa001;
pub const MASK_C_J: u32 = 0xe003;
pub const MATCH_C_JAL: u32 = 0x2001;
pub const MASK_C_JAL: u32 = 0xe003;
pub const MATCH_C_JALR: u32 = 0x9002;
pub const MASK_C_JALR: u32 = 0xf07f;
pub const MATCH_C_JR: u32 = 0x8002;
pub const MASK_C_JR: u32 = 0xf07f;
pub const MATCH_C_LBU: u32 = 0x8000;
pub const MASK_C_LBU: u32 = 0xfc03;
pub const MATCH_C_LD: u32 = 0x6000;
pub const MASK_C_LD: u32 = 0xe003;
pub const MATCH_C_LDSP: u32 = 0x6002;
pub const MASK_C_LDSP: u32 = 0xe003;
pub const MATCH_C_LH: u32 = 0x8440;
pub const MASK_C_LH: u32 = 0xfc43;
pub const MATCH_C_LHU: u32 = 0x8400;
pub const MASK_C_LHU: u32 = 0xfc43;
pub const MATCH_C_LI: u32 = 0x4001;
pub const MASK_C_LI: u32 = 0xe003;
pub const MATCH_C_LUI: u32 = 0x6001;
pub const MASK_C_LUI: u32 = 0xe003;
pub const MATCH_C_LW: u32 = 0x4000;
pub const MASK_C_LW: u32 = 0xe003;
pub const MATCH_C_LWSP: u32 = 0x4002;
pub const MASK_C_LWSP: u32 = 0xe003;
pub const MATCH_C_MOP_1: u32 = 0x6081;
pub const MASK_C_MOP_1: u32 = 0xffff;
pub const MATCH_C_MOP_11: u32 = 0x6581;
pub const MASK_C_MOP_11: u32 = 0xffff;
pub const MATCH_C_MOP_13: u32 = 0x6681;
pub const MASK_C_MOP_13: u32 = 0xffff;
pub const MATCH_C_MOP_15: u32 = 0x6781;
pub const MASK_C_MOP_15: u32 = 0xffff;
pub const MATCH_C_MOP_3: u32 = 0x6181;
pub const MASK_C_MOP_3: u32 = 0xffff;
pub const MATCH_C_MOP_5: u32 = 0x6281;
pub const MASK_C_MOP_5: u32 = 0xffff;
pub const MATCH_C_MOP_7: u32 = 0x6381;
pub const MASK_C_MOP_7: u32 = 0xffff;
pub const MATCH_C_MOP_9: u32 = 0x6481;
pub const MASK_C_MOP_9: u32 = 0xffff;
pub const MATCH_C_MOP_N: u32 = 0x6081;
pub const MASK_C_MOP_N: u32 = 0xf8ff;
pub const MATCH_C_MUL: u32 = 0x9c41;
pub const MASK_C_MUL: u32 = 0xfc63;
pub const MATCH_C_MV: u32 = 0x8002;
pub const MASK_C_MV: u32 = 0xf003;
pub const MATCH_C_NOP: u32 = 0x1;
pub const MASK_C_NOP: u32 = 0xef83;
pub const MATCH_C_NOT: u32 = 0x9c75;
pub const MASK_C_NOT: u32 = 0xfc7f;
pub const MATCH_C_NTL_ALL: u32 = 0x9016;
pub const MASK_C_NTL_ALL: u32 = 0xffff;
pub const MATCH_C_NTL_P1: u32 = 0x900a;
pub const MASK_C_NTL_P1: u32 = 0xffff;
pub const MATCH_C_NTL_PALL: u32 = 0x900e;
pub const MASK_C_NTL_PALL: u32 = 0xffff;
pub const MATCH_C_NTL_S1: u32 = 0x9012;
pub const MASK_C_NTL_S1: u32 = 0xffff;
pub const MATCH_C_OR: u32 = 0x8c41;
pub const MASK_C_OR: u32 = 0xfc63;
pub const MATCH_C_SB: u32 = 0x8800;
pub const MASK_C_SB: u32 = 0xfc03;
pub const MATCH_C_SD: u32 = 0xe000;
pub const MASK_C_SD: u32 = 0xe003;
pub const MATCH_C_SDSP: u32 = 0xe002;
pub const MASK_C_SDSP: u32 = 0xe003;
pub const MATCH_C_SEXT_B: u32 = 0x9c65;
pub const MASK_C_SEXT_B: u32 = 0xfc7f;
pub const MATCH_C_SEXT_H: u32 = 0x9c6d;
pub const MASK_C_SEXT_H: u32 = 0xfc7f;
pub const MATCH_C_SEXT_W: u32 = 0x2001;
pub const MASK_C_SEXT_W: u32 = 0xf07f;
pub const MATCH_C_SH: u32 = 0x8c00;
pub const MASK_C_SH: u32 = 0xfc43;
pub const MATCH_C_SLLI: u32 = 0x2;
pub const MASK_C_SLLI: u32 = 0xe003;
pub const MATCH_C_SLLI_RV32: u32 = 0x2;
pub const MASK_C_SLLI_RV32: u32 = 0xf003;
pub const MATCH_C_SRAI: u32 = 0x8401;
pub const MASK_C_SRAI: u32 = 0xec03;
pub const MATCH_C_SRAI_RV32: u32 = 0x8401;
pub const MASK_C_SRAI_RV32: u32 = 0xfc03;
pub const MATCH_C_SRLI: u32 = 0x8001;
pub const MASK_C_SRLI: u32 = 0xec03;
pub const MATCH_C_SRLI_RV32: u32 = 0x8001;
pub const MASK_C_SRLI_RV32: u32 = 0xfc03;
pub const MATCH_C_SUB: u32 = 0x8c01;
pub const MASK_C_SUB: u32 = 0xfc63;
pub const MATCH_C_SUBW: u32 = 0x9c01;
pub const MASK_C_SUBW: u32 = 0xfc63;
pub const MATCH_C_SW: u32 = 0xc000;
pub const MASK_C_SW: u32 = 0xe003;
pub const MATCH_C_SWSP: u32 = 0xc002;
pub const MASK_C_SWSP: u32 = 0xe003;
pub const MATCH_C_XOR: u32 = 0x8c21;
pub const MASK_C_XOR: u32 = 0xfc63;
pub const MATCH_C_ZEXT_B: u32 = 0x9c61;
pub const MASK_C_ZEXT_B: u32 = 0xfc7f;
pub const MATCH_C_ZEXT_H: u32 = 0x9c69;
pub const MASK_C_ZEXT_H: u32 = 0xfc7f;
pub const MATCH_C_ZEXT_W: u32 = 0x9c71;
pub const MASK_C_ZEXT_W: u32 = 0xfc7f;
pub const MATCH_CBO_CLEAN: u32 = 0x10200f;
pub const MASK_CBO_CLEAN: u32 = 0xfff07fff;
pub const MATCH_CBO_FLUSH: u32 = 0x20200f;
pub const MASK_CBO_FLUSH: u32 = 0xfff07fff;
pub const MATCH_CBO_INVAL: u32 = 0x200f;
pub const MASK_CBO_INVAL: u32 = 0xfff07fff;
pub const MATCH_CBO_ZERO: u32 = 0x40200f;
pub const MASK_CBO_ZERO: u32 = 0xfff07fff;
pub const MATCH_CLMUL: u32 = 0xa001033;
pub const MASK_CLMUL: u32 = 0xfe00707f;
pub const MATCH_CLMULH: u32 = 0xa003033;
pub const MASK_CLMULH: u32 = 0xfe00707f;
pub const MATCH_CLMULR: u32 = 0xa002033;
pub const MASK_CLMULR: u32 = 0xfe00707f;
pub const MATCH_CLZ: u32 = 0x60001013;
pub const MASK_CLZ: u32 = 0xfff0707f;
pub const MATCH_CLZW: u32 = 0x6000101b;
pub const MASK_CLZW: u32 = 0xfff0707f;
pub const MATCH_CM_JALT: u32 = 0xa002;
pub const MASK_CM_JALT: u32 = 0xfc03;
pub const MATCH_CM_MVA01S: u32 = 0xac62;
pub const MASK_CM_MVA01S: u32 = 0xfc63;
pub const MATCH_CM_MVSA01: u32 = 0xac22;
pub const MASK_CM_MVSA01: u32 = 0xfc63;
pub const MATCH_CM_POP: u32 = 0xba02;
pub const MASK_CM_POP: u32 = 0xff03;
pub const MATCH_CM_POPRET: u32 = 0xbe02;
pub const MASK_CM_POPRET: u32 = 0xff03;
pub const MATCH_CM_POPRETZ: u32 = 0xbc02;
pub const MASK_CM_POPRETZ: u32 = 0xff03;
pub const MATCH_CM_PUSH: u32 = 0xb802;
pub const MASK_CM_PUSH: u32 = 0xff03;
pub const MATCH_CPOP: u32 = 0x60201013;
pub const MASK_CPOP: u32 = 0xfff0707f;
pub const MATCH_CPOPW: u32 = 0x6020101b;
pub const MASK_CPOPW: u32 = 0xfff0707f;
pub const MATCH_CSRC: u32 = 0x3073;
pub const MASK_CSRC: u32 = 0x7fff;
pub const MATCH_CSRCI: u32 = 0x7073;
pub const MASK_CSRCI: u32 = 0x7fff;
pub const MATCH_CSRR: u32 = 0x2073;
pub const MASK_CSRR: u32 = 0xff07f;
pub const MATCH_CSRRC: u32 = 0x3073;
pub const MASK_CSRRC: u32 = 0x707f;
pub const MATCH_CSRRCI: u32 = 0x7073;
pub const MASK_CSRRCI: u32 = 0x707f;
pub const MATCH_CSRRS: u32 = 0x2073;
pub const MASK_CSRRS: u32 = 0x707f;
pub const MATCH_CSRRSI: u32 = 0x6073;
pub const MASK_CSRRSI: u32 = 0x707f;
pub const MATCH_CSRRW: u32 = 0x1073;
pub const MASK_CSRRW: u32 = 0x707f;
pub const MATCH_CSRRWI: u32 = 0x5073;
pub const MASK_CSRRWI: u32 = 0x707f;
pub const MATCH_CSRS: u32 = 0x2073;
pub const MASK_CSRS: u32 = 0x7fff;
pub const MATCH_CSRSI: u32 = 0x6073;
pub const MASK_CSRSI: u32 = 0x7fff;
pub const MATCH_CSRW: u32 = 0x1073;
pub const MASK_CSRW: u32 = 0x7fff;
pub const MATCH_CSRWI: u32 = 0x5073;
pub const MASK_CSRWI: u32 = 0x7fff;
pub const MATCH_CTZ: u32 = 0x60101013;
pub const MASK_CTZ: u32 = 0xfff0707f;
pub const MATCH_CTZW: u32 = 0x6010101b;
pub const MASK_CTZW: u32 = 0xfff0707f;
pub const MATCH_CZERO_EQZ: u32 = 0xe005033;
pub const MASK_CZERO_EQZ: u32 = 0xfe00707f;
pub const MATCH_CZERO_NEZ: u32 = 0xe007033;
pub const MASK_CZERO_NEZ: u32 = 0xfe00707f;
pub const MATCH_DIV: u32 = 0x2004033;
pub const MASK_DIV: u32 = 0xfe00707f;
pub const MATCH_DIVU: u32 = 0x2005033;
pub const MASK_DIVU: u32 = 0xfe00707f;
pub const MATCH_DIVUW: u32 = 0x200503b;
pub const MASK_DIVUW: u32 = 0xfe00707f;
pub const MATCH_DIVW: u32 = 0x200403b;
pub const MASK_DIVW: u32 = 0xfe00707f;
pub const MATCH_DRET: u32 = 0x7b200073;
pub const MASK_DRET: u32 = 0xffffffff;
pub const MATCH_EBREAK: u32 = 0x100073;
pub const MASK_EBREAK: u32 = 0xffffffff;
pub const MATCH_ECALL: u32 = 0x73;
pub const MASK_ECALL: u32 = 0xffffffff;
pub const MATCH_FABS_D: u32 = 0x22002053;
pub const MASK_FABS_D: u32 = 0xfe00707f;
pub const MATCH_FABS_H: u32 = 0x24002053;
pub const MASK_FABS_H: u32 = 0xfe00707f;
pub const MATCH_FABS_Q: u32 = 0x26002053;
pub const MASK_FABS_Q: u32 = 0xfe00707f;
pub const MATCH_FABS_S: u32 = 0x20002053;
pub const MASK_FABS_S: u32 = 0xfe00707f;
pub const MATCH_FADD_D: u32 = 0x2000053;
pub const MASK_FADD_D: u32 = 0xfe00007f;
pub const MATCH_FADD_H: u32 = 0x4000053;
pub const MASK_FADD_H: u32 = 0xfe00007f;
pub const MATCH_FADD_Q: u32 = 0x6000053;
pub const MASK_FADD_Q: u32 = 0xfe00007f;
pub const MATCH_FADD_S: u32 = 0x53;
pub const MASK_FADD_S: u32 = 0xfe00007f;
pub const MATCH_FCLASS_D: u32 = 0xe2001053;
pub const MASK_FCLASS_D: u32 = 0xfff0707f;
pub const MATCH_FCLASS_H: u32 = 0xe4001053;
pub const MASK_FCLASS_H: u32 = 0xfff0707f;
pub const MATCH_FCLASS_Q: u32 = 0xe6001053;
pub const MASK_FCLASS_Q: u32 = 0xfff0707f;
pub const MATCH_FCLASS_S: u32 = 0xe0001053;
pub const MASK_FCLASS_S: u32 = 0xfff0707f;
pub const MATCH_FCVT_D_H: u32 = 0x42200053;
pub const MASK_FCVT_D_H: u32 = 0xfff0007f;
pub const MATCH_FCVT_D_L: u32 = 0xd2200053;
pub const MASK_FCVT_D_L: u32 = 0xfff0007f;
pub const MATCH_FCVT_D_LU: u32 = 0xd2300053;
pub const MASK_FCVT_D_LU: u32 = 0xfff0007f;
pub const MATCH_FCVT_D_Q: u32 = 0x42300053;
pub const MASK_FCVT_D_Q: u32 = 0xfff0007f;
pub const MATCH_FCVT_D_S: u32 = 0x42000053;
pub const MASK_FCVT_D_S: u32 = 0xfff0007f;
pub const MATCH_FCVT_D_W: u32 = 0xd2000053;
pub const MASK_FCVT_D_W: u32 = 0xfff0007f;
pub const MATCH_FCVT_D_WU: u32 = 0xd2100053;
pub const MASK_FCVT_D_WU: u32 = 0xfff0007f;
pub const MATCH_FCVT_H_D: u32 = 0x44100053;
pub const MASK_FCVT_H_D: u32 = 0xfff0007f;
pub const MATCH_FCVT_H_L: u32 = 0xd4200053;
pub const MASK_FCVT_H_L: u32 = 0xfff0007f;
pub const MATCH_FCVT_H_LU: u32 = 0xd4300053;
pub const MASK_FCVT_H_LU: u32 = 0xfff0007f;
pub const MATCH_FCVT_H_Q: u32 = 0x44300053;
pub const MASK_FCVT_H_Q: u32 = 0xfff0007f;
pub const MATCH_FCVT_H_S: u32 = 0x44000053;
pub const MASK_FCVT_H_S: u32 = 0xfff0007f;
pub const MATCH_FCVT_H_W: u32 = 0xd4000053;
pub const MASK_FCVT_H_W: u32 = 0xfff0007f;
pub const MATCH_FCVT_H_WU: u32 = 0xd4100053;
pub const MASK_FCVT_H_WU: u32 = 0xfff0007f;
pub const MATCH_FCVT_L_D: u32 = 0xc2200053;
pub const MASK_FCVT_L_D: u32 = 0xfff0007f;
pub const MATCH_FCVT_L_H: u32 = 0xc4200053;
pub const MASK_FCVT_L_H: u32 = 0xfff0007f;
pub const MATCH_FCVT_L_Q: u32 = 0xc6200053;
pub const MASK_FCVT_L_Q: u32 = 0xfff0007f;
pub const MATCH_FCVT_L_S: u32 = 0xc0200053;
pub const MASK_FCVT_L_S: u32 = 0xfff0007f;
pub const MATCH_FCVT_LU_D: u32 = 0xc2300053;
pub const MASK_FCVT_LU_D: u32 = 0xfff0007f;
pub const MATCH_FCVT_LU_H: u32 = 0xc4300053;
pub const MASK_FCVT_LU_H: u32 = 0xfff0007f;
pub const MATCH_FCVT_LU_Q: u32 = 0xc6300053;
pub const MASK_FCVT_LU_Q: u32 = 0xfff0007f;
pub const MATCH_FCVT_LU_S: u32 = 0xc0300053;
pub const MASK_FCVT_LU_S: u32 = 0xfff0007f;
pub const MATCH_FCVT_Q_D: u32 = 0x46100053;
pub const MASK_FCVT_Q_D: u32 = 0xfff0007f;
pub const MATCH_FCVT_Q_H: u32 = 0x46200053;
pub const MASK_FCVT_Q_H: u32 = 0xfff0007f;
pub const MATCH_FCVT_Q_L: u32 = 0xd6200053;
pub const MASK_FCVT_Q_L: u32 = 0xfff0007f;
pub const MATCH_FCVT_Q_LU: u32 = 0xd6300053;
pub const MASK_FCVT_Q_LU: u32 = 0xfff0007f;
pub const MATCH_FCVT_Q_S: u32 = 0x46000053;
pub const MASK_FCVT_Q_S: u32 = 0xfff0007f;
pub const MATCH_FCVT_Q_W: u32 = 0xd6000053;
pub const MASK_FCVT_Q_W: u32 = 0xfff0007f;
pub const MATCH_FCVT_Q_WU: u32 = 0xd6100053;
pub const MASK_FCVT_Q_WU: u32 = 0xfff0007f;
pub const MATCH_FCVT_S_D: u32 = 0x40100053;
pub const MASK_FCVT_S_D: u32 = 0xfff0007f;
pub const MATCH_FCVT_S_H: u32 = 0x40200053;
pub const MASK_FCVT_S_H: u32 = 0xfff0007f;
pub const MATCH_FCVT_S_L: u32 = 0xd0200053;
pub const MASK_FCVT_S_L: u32 = 0xfff0007f;
pub const MATCH_FCVT_S_LU: u32 = 0xd0300053;
pub const MASK_FCVT_S_LU: u32 = 0xfff0007f;
pub const MATCH_FCVT_S_Q: u32 = 0x40300053;
pub const MASK_FCVT_S_Q: u32 = 0xfff0007f;
pub const MATCH_FCVT_S_W: u32 = 0xd0000053;
pub const MASK_FCVT_S_W: u32 = 0xfff0007f;
pub const MATCH_FCVT_S_WU: u32 = 0xd0100053;
pub const MASK_FCVT_S_WU: u32 = 0xfff0007f;
pub const MATCH_FCVT_W_D: u32 = 0xc2000053;
pub const MASK_FCVT_W_D: u32 = 0xfff0007f;
pub const MATCH_FCVT_W_H: u32 = 0xc4000053;
pub const MASK_FCVT_W_H: u32 = 0xfff0007f;
pub const MATCH_FCVT_W_Q: u32 = 0xc6000053;
pub const MASK_FCVT_W_Q: u32 = 0xfff0007f;
pub const MATCH_FCVT_W_S: u32 = 0xc0000053;
pub const MASK_FCVT_W_S: u32 = 0xfff0007f;
pub const MATCH_FCVT_WU_D: u32 = 0xc2100053;
pub const MASK_FCVT_WU_D: u32 = 0xfff0007f;
pub const MATCH_FCVT_WU_H: u32 = 0xc4100053;
pub const MASK_FCVT_WU_H: u32 = 0xfff0007f;
pub const MATCH_FCVT_WU_Q: u32 = 0xc6100053;
pub const MASK_FCVT_WU_Q: u32 = 0xfff0007f;
pub const MATCH_FCVT_WU_S: u32 = 0xc0100053;
pub const MASK_FCVT_WU_S: u32 = 0xfff0007f;
pub const MATCH_FCVTMOD_W_D: u32 = 0xc2801053;
pub const MASK_FCVTMOD_W_D: u32 = 0xfff0707f;
pub const MATCH_FDIV_D: u32 = 0x1a000053;
pub const MASK_FDIV_D: u32 = 0xfe00007f;
pub const MATCH_FDIV_H: u32 = 0x1c000053;
pub const MASK_FDIV_H: u32 = 0xfe00007f;
pub const MATCH_FDIV_Q: u32 = 0x1e000053;
pub const MASK_FDIV_Q: u32 = 0xfe00007f;
pub const MATCH_FDIV_S: u32 = 0x18000053;
pub const MASK_FDIV_S: u32 = 0xfe00007f;
pub const MATCH_FENCE: u32 = 0xf;
pub const MASK_FENCE: u32 = 0x707f;
pub const MATCH_FENCE_I: u32 = 0x100f;
pub const MASK_FENCE_I: u32 = 0x707f;
pub const MATCH_FENCE_TSO: u32 = 0x8330000f;
pub const MASK_FENCE_TSO: u32 = 0xfff0707f;
pub const MATCH_FEQ_D: u32 = 0xa2002053;
pub const MASK_FEQ_D: u32 = 0xfe00707f;
pub const MATCH_FEQ_H: u32 = 0xa4002053;
pub const MASK_FEQ_H: u32 = 0xfe00707f;
pub const MATCH_FEQ_Q: u32 = 0xa6002053;
pub const MASK_FEQ_Q: u32 = 0xfe00707f;
pub const MATCH_FEQ_S: u32 = 0xa0002053;
pub const MASK_FEQ_S: u32 = 0xfe00707f;
pub const MATCH_FLD: u32 = 0x3007;
pub const MASK_FLD: u32 = 0x707f;
pub const MATCH_FLE_D: u32 = 0xa2000053;
pub const MASK_FLE_D: u32 = 0xfe00707f;
pub const MATCH_FLE_H: u32 = 0xa4000053;
pub const MASK_FLE_H: u32 = 0xfe00707f;
pub const MATCH_FLE_Q: u32 = 0xa6000053;
pub const MASK_FLE_Q: u32 = 0xfe00707f;
pub const MATCH_FLE_S: u32 = 0xa0000053;
pub const MASK_FLE_S: u32 = 0xfe00707f;
pub const MATCH_FLEQ_D: u32 = 0xa2004053;
pub const MASK_FLEQ_D: u32 = 0xfe00707f;
pub const MATCH_FLEQ_H: u32 = 0xa4004053;
pub const MASK_FLEQ_H: u32 = 0xfe00707f;
pub const MATCH_FLEQ_Q: u32 = 0xa6004053;
pub const MASK_FLEQ_Q: u32 = 0xfe00707f;
pub const MATCH_FLEQ_S: u32 = 0xa0004053;
pub const MASK_FLEQ_S: u32 = 0xfe00707f;
pub const MATCH_FLH: u32 = 0x1007;
pub const MASK_FLH: u32 = 0x707f;
pub const MATCH_FLI_D: u32 = 0xf2100053;
pub const MASK_FLI_D: u32 = 0xfff0707f;
pub const MATCH_FLI_H: u32 = 0xf4100053;
pub const MASK_FLI_H: u32 = 0xfff0707f;
pub const MATCH_FLI_Q: u32 = 0xf6100053;
pub const MASK_FLI_Q: u32 = 0xfff0707f;
pub const MATCH_FLI_S: u32 = 0xf0100053;
pub const MASK_FLI_S: u32 = 0xfff0707f;
pub const MATCH_FLQ: u32 = 0x4007;
pub const MASK_FLQ: u32 = 0x707f;
pub const MATCH_FLT_D: u32 = 0xa2001053;
pub const MASK_FLT_D: u32 = 0xfe00707f;
pub const MATCH_FLT_H: u32 = 0xa4001053;
pub const MASK_FLT_H: u32 = 0xfe00707f;
pub const MATCH_FLT_Q: u32 = 0xa6001053;
pub const MASK_FLT_Q: u32 = 0xfe00707f;
pub const MATCH_FLT_S: u32 = 0xa0001053;
pub const MASK_FLT_S: u32 = 0xfe00707f;
pub const MATCH_FLTQ_D: u32 = 0xa2005053;
pub const MASK_FLTQ_D: u32 = 0xfe00707f;
pub const MATCH_FLTQ_H: u32 = 0xa4005053;
pub const MASK_FLTQ_H: u32 = 0xfe00707f;
pub const MATCH_FLTQ_Q: u32 = 0xa6005053;
pub const MASK_FLTQ_Q: u32 = 0xfe00707f;
pub const MATCH_FLTQ_S: u32 = 0xa0005053;
pub const MASK_FLTQ_S: u32 = 0xfe00707f;
pub const MATCH_FLW: u32 = 0x2007;
pub const MASK_FLW: u32 = 0x707f;
pub const MATCH_FMADD_D: u32 = 0x2000043;
pub const MASK_FMADD_D: u32 = 0x600007f;
pub const MATCH_FMADD_H: u32 = 0x4000043;
pub const MASK_FMADD_H: u32 = 0x600007f;
pub const MATCH_FMADD_Q: u32 = 0x6000043;
pub const MASK_FMADD_Q: u32 = 0x600007f;
pub const MATCH_FMADD_S: u32 = 0x43;
pub const MASK_FMADD_S: u32 = 0x600007f;
pub const MATCH_FMAX_D: u32 = 0x2a001053;
pub const MASK_FMAX_D: u32 = 0xfe00707f;
pub const MATCH_FMAX_H: u32 = 0x2c001053;
pub const MASK_FMAX_H: u32 = 0xfe00707f;
pub const MATCH_FMAX_Q: u32 = 0x2e001053;
pub const MASK_FMAX_Q: u32 = 0xfe00707f;
pub const MATCH_FMAX_S: u32 = 0x28001053;
pub const MASK_FMAX_S: u32 = 0xfe00707f;
pub const MATCH_FMAXM_D: u32 = 0x2a003053;
pub const MASK_FMAXM_D: u32 = 0xfe00707f;
pub const MATCH_FMAXM_H: u32 = 0x2c003053;
pub const MASK_FMAXM_H: u32 = 0xfe00707f;
pub const MATCH_FMAXM_Q: u32 = 0x2e003053;
pub const MASK_FMAXM_Q: u32 = 0xfe00707f;
pub const MATCH_FMAXM_S: u32 = 0x28003053;
pub const MASK_FMAXM_S: u32 = 0xfe00707f;
pub const MATCH_FMIN_D: u32 = 0x2a000053;
pub const MASK_FMIN_D: u32 = 0xfe00707f;
pub const MATCH_FMIN_H: u32 = 0x2c000053;
pub const MASK_FMIN_H: u32 = 0xfe00707f;
pub const MATCH_FMIN_Q: u32 = 0x2e000053;
pub const MASK_FMIN_Q: u32 = 0xfe00707f;
pub const MATCH_FMIN_S: u32 = 0x28000053;
pub const MASK_FMIN_S: u32 = 0xfe00707f;
pub const MATCH_FMINM_D: u32 = 0x2a002053;
pub const MASK_FMINM_D: u32 = 0xfe00707f;
pub const MATCH_FMINM_H: u32 = 0x2c002053;
pub const MASK_FMINM_H: u32 = 0xfe00707f;
pub const MATCH_FMINM_Q: u32 = 0x2e002053;
pub const MASK_FMINM_Q: u32 = 0xfe00707f;
pub const MATCH_FMINM_S: u32 = 0x28002053;
pub const MASK_FMINM_S: u32 = 0xfe00707f;
pub const MATCH_FMSUB_D: u32 = 0x2000047;
pub const MASK_FMSUB_D: u32 = 0x600007f;
pub const MATCH_FMSUB_H: u32 = 0x4000047;
pub const MASK_FMSUB_H: u32 = 0x600007f;
pub const MATCH_FMSUB_Q: u32 = 0x6000047;
pub const MASK_FMSUB_Q: u32 = 0x600007f;
pub const MATCH_FMSUB_S: u32 = 0x47;
pub const MASK_FMSUB_S: u32 = 0x600007f;
pub const MATCH_FMUL_D: u32 = 0x12000053;
pub const MASK_FMUL_D: u32 = 0xfe00007f;
pub const MATCH_FMUL_H: u32 = 0x14000053;
pub const MASK_FMUL_H: u32 = 0xfe00007f;
pub const MATCH_FMUL_Q: u32 = 0x16000053;
pub const MASK_FMUL_Q: u32 = 0xfe00007f;
pub const MATCH_FMUL_S: u32 = 0x10000053;
pub const MASK_FMUL_S: u32 = 0xfe00007f;
pub const MATCH_FMV_D: u32 = 0x22000053;
pub const MASK_FMV_D: u32 = 0xfe00707f;
pub const MATCH_FMV_D_X: u32 = 0xf2000053;
pub const MASK_FMV_D_X: u32 = 0xfff0707f;
pub const MATCH_FMV_H: u32 = 0x24000053;
pub const MASK_FMV_H: u32 = 0xfe00707f;
pub const MATCH_FMV_H_X: u32 = 0xf4000053;
pub const MASK_FMV_H_X: u32 = 0xfff0707f;
pub const MATCH_FMV_Q: u32 = 0x26000053;
pub const MASK_FMV_Q: u32 = 0xfe00707f;
pub const MATCH_FMV_S: u32 = 0x20000053;
pub const MASK_FMV_S: u32 = 0xfe00707f;
pub const MATCH_FMV_S_X: u32 = 0xf0000053;
pub const MASK_FMV_S_X: u32 = 0xfff0707f;
pub const MATCH_FMV_W_X: u32 = 0xf0000053;
pub const MASK_FMV_W_X: u32 = 0xfff0707f;
pub const MATCH_FMV_X_D: u32 = 0xe2000053;
pub const MASK_FMV_X_D: u32 = 0xfff0707f;
pub const MATCH_FMV_X_H: u32 = 0xe4000053;
pub const MASK_FMV_X_H: u32 = 0xfff0707f;
pub const MATCH_FMV_X_S: u32 = 0xe0000053;
pub const MASK_FMV_X_S: u32 = 0xfff0707f;
pub const MATCH_FMV_X_W: u32 = 0xe0000053;
pub const MASK_FMV_X_W: u32 = 0xfff0707f;
pub const MATCH_FMVH_X_D: u32 = 0xe2100053;
pub const MASK_FMVH_X_D: u32 = 0xfff0707f;
pub const MATCH_FMVH_X_Q: u32 = 0xe6100053;
pub const MASK_FMVH_X_Q: u32 = 0xfff0707f;
pub const MATCH_FMVP_D_X: u32 = 0xb2000053;
pub const MASK_FMVP_D_X: u32 = 0xfe00707f;
pub const MATCH_FMVP_Q_X: u32 = 0xb6000053;
pub const MASK_FMVP_Q_X: u32 = 0xfe00707f;
pub const MATCH_FNEG_D: u32 = 0x22001053;
pub const MASK_FNEG_D: u32 = 0xfe00707f;
pub const MATCH_FNEG_H: u32 = 0x24001053;
pub const MASK_FNEG_H: u32 = 0xfe00707f;
pub const MATCH_FNEG_Q: u32 = 0x26001053;
pub const MASK_FNEG_Q: u32 = 0xfe00707f;
pub const MATCH_FNEG_S: u32 = 0x20001053;
pub const MASK_FNEG_S: u32 = 0xfe00707f;
pub const MATCH_FNMADD_D: u32 = 0x200004f;
pub const MASK_FNMADD_D: u32 = 0x600007f;
pub const MATCH_FNMADD_H: u32 = 0x400004f;
pub const MASK_FNMADD_H: u32 = 0x600007f;
pub const MATCH_FNMADD_Q: u32 = 0x600004f;
pub const MASK_FNMADD_Q: u32 = 0x600007f;
pub const MATCH_FNMADD_S: u32 = 0x4f;
pub const MASK_FNMADD_S: u32 = 0x600007f;
pub const MATCH_FNMSUB_D: u32 = 0x200004b;
pub const MASK_FNMSUB_D: u32 = 0x600007f;
pub const MATCH_FNMSUB_H: u32 = 0x400004b;
pub const MASK_FNMSUB_H: u32 = 0x600007f;
pub const MATCH_FNMSUB_Q: u32 = 0x600004b;
pub const MASK_FNMSUB_Q: u32 = 0x600007f;
pub const MATCH_FNMSUB_S: u32 = 0x4b;
pub const MASK_FNMSUB_S: u32 = 0x600007f;
pub const MATCH_FRCSR: u32 = 0x302073;
pub const MASK_FRCSR: u32 = 0xfffff07f;
pub const MATCH_FRFLAGS: u32 = 0x102073;
pub const MASK_FRFLAGS: u32 = 0xfffff07f;
pub const MATCH_FROUND_D: u32 = 0x42400053;
pub const MASK_FROUND_D: u32 = 0xfff0007f;
pub const MATCH_FROUND_H: u32 = 0x44400053;
pub const MASK_FROUND_H: u32 = 0xfff0007f;
pub const MATCH_FROUND_Q: u32 = 0x46400053;
pub const MASK_FROUND_Q: u32 = 0xfff0007f;
pub const MATCH_FROUND_S: u32 = 0x40400053;
pub const MASK_FROUND_S: u32 = 0xfff0007f;
pub const MATCH_FROUNDNX_D: u32 = 0x42500053;
pub const MASK_FROUNDNX_D: u32 = 0xfff0007f;
pub const MATCH_FROUNDNX_H: u32 = 0x44500053;
pub const MASK_FROUNDNX_H: u32 = 0xfff0007f;
pub const MATCH_FROUNDNX_Q: u32 = 0x46500053;
pub const MASK_FROUNDNX_Q: u32 = 0xfff0007f;
pub const MATCH_FROUNDNX_S: u32 = 0x40500053;
pub const MASK_FROUNDNX_S: u32 = 0xfff0007f;
pub const MATCH_FRRM: u32 = 0x202073;
pub const MASK_FRRM: u32 = 0xfffff07f;
pub const MATCH_FSCSR: u32 = 0x301073;
pub const MASK_FSCSR: u32 = 0xfff0707f;
pub const MATCH_FSD: u32 = 0x3027;
pub const MASK_FSD: u32 = 0x707f;
pub const MATCH_FSFLAGS: u32 = 0x101073;
pub const MASK_FSFLAGS: u32 = 0xfff0707f;
pub const MATCH_FSFLAGSI: u32 = 0x105073;
pub const MASK_FSFLAGSI: u32 = 0xfff0707f;
pub const MATCH_FSGNJ_D: u32 = 0x22000053;
pub const MASK_FSGNJ_D: u32 = 0xfe00707f;
pub const MATCH_FSGNJ_H: u32 = 0x24000053;
pub const MASK_FSGNJ_H: u32 = 0xfe00707f;
pub const MATCH_FSGNJ_Q: u32 = 0x26000053;
pub const MASK_FSGNJ_Q: u32 = 0xfe00707f;
pub const MATCH_FSGNJ_S: u32 = 0x20000053;
pub const MASK_FSGNJ_S: u32 = 0xfe00707f;
pub const MATCH_FSGNJN_D: u32 = 0x22001053;
pub const MASK_FSGNJN_D: u32 = 0xfe00707f;
pub const MATCH_FSGNJN_H: u32 = 0x24001053;
pub const MASK_FSGNJN_H: u32 = 0xfe00707f;
pub const MATCH_FSGNJN_Q: u32 = 0x26001053;
pub const MASK_FSGNJN_Q: u32 = 0xfe00707f;
pub const MATCH_FSGNJN_S: u32 = 0x20001053;
pub const MASK_FSGNJN_S: u32 = 0xfe00707f;
pub const MATCH_FSGNJX_D: u32 = 0x22002053;
pub const MASK_FSGNJX_D: u32 = 0xfe00707f;
pub const MATCH_FSGNJX_H: u32 = 0x24002053;
pub const MASK_FSGNJX_H: u32 = 0xfe00707f;
pub const MATCH_FSGNJX_Q: u32 = 0x26002053;
pub const MASK_FSGNJX_Q: u32 = 0xfe00707f;
pub const MATCH_FSGNJX_S: u32 = 0x20002053;
pub const MASK_FSGNJX_S: u32 = 0xfe00707f;
pub const MATCH_FSH: u32 = 0x1027;
pub const MASK_FSH: u32 = 0x707f;
pub const MATCH_FSQ: u32 = 0x4027;
pub const MASK_FSQ: u32 = 0x707f;
pub const MATCH_FSQRT_D: u32 = 0x5a000053;
pub const MASK_FSQRT_D: u32 = 0xfff0007f;
pub const MATCH_FSQRT_H: u32 = 0x5c000053;
pub const MASK_FSQRT_H: u32 = 0xfff0007f;
pub const MATCH_FSQRT_Q: u32 = 0x5e000053;
pub const MASK_FSQRT_Q: u32 = 0xfff0007f;
pub const MATCH_FSQRT_S: u32 = 0x58000053;
pub const MASK_FSQRT_S: u32 = 0xfff0007f;
pub const MATCH_FSRM: u32 = 0x201073;
pub const MASK_FSRM: u32 = 0xfff0707f;
pub const MATCH_FSRMI: u32 = 0x205073;
pub const MASK_FSRMI: u32 = 0xfff0707f;
pub const MATCH_FSUB_D: u32 = 0xa000053;
pub const MASK_FSUB_D: u32 = 0xfe00007f;
pub const MATCH_FSUB_H: u32 = 0xc000053;
pub const MASK_FSUB_H: u32 = 0xfe00007f;
pub const MATCH_FSUB_Q: u32 = 0xe000053;
pub const MASK_FSUB_Q: u32 = 0xfe00007f;
pub const MATCH_FSUB_S: u32 = 0x8000053;
pub const MASK_FSUB_S: u32 = 0xfe00007f;
pub const MATCH_FSW: u32 = 0x2027;
pub const MASK_FSW: u32 = 0x707f;
pub const MATCH_HFENCE_GVMA: u32 = 0x62000073;
pub const MASK_HFENCE_GVMA: u32 = 0xfe007fff;
pub const MATCH_HFENCE_VVMA: u32 = 0x22000073;
pub const MASK_HFENCE_VVMA: u32 = 0xfe007fff;
pub const MATCH_HINVAL_GVMA: u32 = 0x66000073;
pub const MASK_HINVAL_GVMA: u32 = 0xfe007fff;
pub const MATCH_HINVAL_VVMA: u32 = 0x26000073;
pub const MASK_HINVAL_VVMA: u32 = 0xfe007fff;
pub const MATCH_HLV_B: u32 = 0x60004073;
pub const MASK_HLV_B: u32 = 0xfff0707f;
pub const MATCH_HLV_BU: u32 = 0x60104073;
pub const MASK_HLV_BU: u32 = 0xfff0707f;
pub const MATCH_HLV_D: u32 = 0x6c004073;
pub const MASK_HLV_D: u32 = 0xfff0707f;
pub const MATCH_HLV_H: u32 = 0x64004073;
pub const MASK_HLV_H: u32 = 0xfff0707f;
pub const MATCH_HLV_HU: u32 = 0x64104073;
pub const MASK_HLV_HU: u32 = 0xfff0707f;
pub const MATCH_HLV_W: u32 = 0x68004073;
pub const MASK_HLV_W: u32 = 0xfff0707f;
pub const MATCH_HLV_WU: u32 = 0x68104073;
pub const MASK_HLV_WU: u32 = 0xfff0707f;
pub const MATCH_HLVX_HU: u32 = 0x64304073;
pub const MASK_HLVX_HU: u32 = 0xfff0707f;
pub const MATCH_HLVX_WU: u32 = 0x68304073;
pub const MASK_HLVX_WU: u32 = 0xfff0707f;
pub const MATCH_HSV_B: u32 = 0x62004073;
pub const MASK_HSV_B: u32 = 0xfe007fff;
pub const MATCH_HSV_D: u32 = 0x6e004073;
pub const MASK_HSV_D: u32 = 0xfe007fff;
pub const MATCH_HSV_H: u32 = 0x66004073;
pub const MASK_HSV_H: u32 = 0xfe007fff;
pub const MATCH_HSV_W: u32 = 0x6a004073;
pub const MASK_HSV_W: u32 = 0xfe007fff;
pub const MATCH_J: u32 = 0x6f;
pub const MASK_J: u32 = 0xfff;
pub const MATCH_JAL: u32 = 0x6f;
pub const MASK_JAL: u32 = 0x7f;
pub const MATCH_JAL_PSEUDO: u32 = 0xef;
pub const MASK_JAL_PSEUDO: u32 = 0xfff;
pub const MATCH_JALR: u32 = 0x67;
pub const MASK_JALR: u32 = 0x707f;
pub const MATCH_JALR_PSEUDO: u32 = 0xe7;
pub const MASK_JALR_PSEUDO: u32 = 0xfff07fff;
pub const MATCH_JR: u32 = 0x67;
pub const MASK_JR: u32 = 0xfff07fff;
pub const MATCH_LB: u32 = 0x3;
pub const MASK_LB: u32 = 0x707f;
pub const MATCH_LBU: u32 = 0x4003;
pub const MASK_LBU: u32 = 0x707f;
pub const MATCH_LD: u32 = 0x3003;
pub const MASK_LD: u32 = 0x707f;
pub const MATCH_LH: u32 = 0x1003;
pub const MASK_LH: u32 = 0x707f;
pub const MATCH_LHU: u32 = 0x5003;
pub const MASK_LHU: u32 = 0x707f;
pub const MATCH_LR_D: u32 = 0x1000302f;
pub const MASK_LR_D: u32 = 0xf9f0707f;
pub const MATCH_LR_W: u32 = 0x1000202f;
pub const MASK_LR_W: u32 = 0xf9f0707f;
pub const MATCH_LUI: u32 = 0x37;
pub const MASK_LUI: u32 = 0x7f;
pub const MATCH_LW: u32 = 0x2003;
pub const MASK_LW: u32 = 0x707f;
pub const MATCH_LWU: u32 = 0x6003;
pub const MASK_LWU: u32 = 0x707f;
pub const MATCH_MAX: u32 = 0xa006033;
pub const MASK_MAX: u32 = 0xfe00707f;
pub const MATCH_MAXU: u32 = 0xa007033;
pub const MASK_MAXU: u32 = 0xfe00707f;
pub const MATCH_MIN: u32 = 0xa004033;
pub const MASK_MIN: u32 = 0xfe00707f;
pub const MATCH_MINU: u32 = 0xa005033;
pub const MASK_MINU: u32 = 0xfe00707f;
pub const MATCH_MOP_R_0: u32 = 0x81c04073;
pub const MASK_MOP_R_0: u32 = 0xfff0707f;
pub const MATCH_MOP_R_1: u32 = 0x81d04073;
pub const MASK_MOP_R_1: u32 = 0xfff0707f;
pub const MATCH_MOP_R_10: u32 = 0x89e04073;
pub const MASK_MOP_R_10: u32 = 0xfff0707f;
pub const MATCH_MOP_R_11: u32 = 0x89f04073;
pub const MASK_MOP_R_11: u32 = 0xfff0707f;
pub const MATCH_MOP_R_12: u32 = 0x8dc04073;
pub const MASK_MOP_R_12: u32 = 0xfff0707f;
pub const MATCH_MOP_R_13: u32 = 0x8dd04073;
pub const MASK_MOP_R_13: u32 = 0xfff0707f;
pub const MATCH_MOP_R_14: u32 = 0x8de04073;
pub const MASK_MOP_R_14: u32 = 0xfff0707f;
pub const MATCH_MOP_R_15: u32 = 0x8df04073;
pub const MASK_MOP_R_15: u32 = 0xfff0707f;
pub const MATCH_MOP_R_16: u32 = 0xc1c04073;
pub const MASK_MOP_R_16: u32 = 0xfff0707f;
pub const MATCH_MOP_R_17: u32 = 0xc1d04073;
pub const MASK_MOP_R_17: u32 = 0xfff0707f;
pub const MATCH_MOP_R_18: u32 = 0xc1e04073;
pub const MASK_MOP_R_18: u32 = 0xfff0707f;
pub const MATCH_MOP_R_19: u32 = 0xc1f04073;
pub const MASK_MOP_R_19: u32 = 0xfff0707f;
pub const MATCH_MOP_R_2: u32 = 0x81e04073;
pub const MASK_MOP_R_2: u32 = 0xfff0707f;
pub const MATCH_MOP_R_20: u32 = 0xc5c04073;
pub const MASK_MOP_R_20: u32 = 0xfff0707f;
pub const MATCH_MOP_R_21: u32 = 0xc5d04073;
pub const MASK_MOP_R_21: u32 = 0xfff0707f;
pub const MATCH_MOP_R_22: u32 = 0xc5e04073;
pub const MASK_MOP_R_22: u32 = 0xfff0707f;
pub const MATCH_MOP_R_23: u32 = 0xc5f04073;
pub const MASK_MOP_R_23: u32 = 0xfff0707f;
pub const MATCH_MOP_R_24: u32 = 0xc9c04073;
pub const MASK_MOP_R_24: u32 = 0xfff0707f;
pub const MATCH_MOP_R_25: u32 = 0xc9d04073;
pub const MASK_MOP_R_25: u32 = 0xfff0707f;
pub const MATCH_MOP_R_26: u32 = 0xc9e04073;
pub const MASK_MOP_R_26: u32 = 0xfff0707f;
pub const MATCH_MOP_R_27: u32 = 0xc9f04073;
pub const MASK_MOP_R_27: u32 = 0xfff0707f;
pub const MATCH_MOP_R_28: u32 = 0xcdc04073;
pub const MASK_MOP_R_28: u32 = 0xfff0707f;
pub const MATCH_MOP_R_29: u32 = 0xcdd04073;
pub const MASK_MOP_R_29: u32 = 0xfff0707f;
pub const MATCH_MOP_R_3: u32 = 0x81f04073;
pub const MASK_MOP_R_3: u32 = 0xfff0707f;
pub const MATCH_MOP_R_30: u32 = 0xcde04073;
pub const MASK_MOP_R_30: u32 = 0xfff0707f;
pub const MATCH_MOP_R_31: u32 = 0xcdf04073;
pub const MASK_MOP_R_31: u32 = 0xfff0707f;
pub const MATCH_MOP_R_4: u32 = 0x85c04073;
pub const MASK_MOP_R_4: u32 = 0xfff0707f;
pub const MATCH_MOP_R_5: u32 = 0x85d04073;
pub const MASK_MOP_R_5: u32 = 0xfff0707f;
pub const MATCH_MOP_R_6: u32 = 0x85e04073;
pub const MASK_MOP_R_6: u32 = 0xfff0707f;
pub const MATCH_MOP_R_7: u32 = 0x85f04073;
pub const MASK_MOP_R_7: u32 = 0xfff0707f;
pub const MATCH_MOP_R_8: u32 = 0x89c04073;
pub const MASK_MOP_R_8: u32 = 0xfff0707f;
pub const MATCH_MOP_R_9: u32 = 0x89d04073;
pub const MASK_MOP_R_9: u32 = 0xfff0707f;
pub const MATCH_MOP_R_N: u32 = 0x81c04073;
pub const MASK_MOP_R_N: u32 = 0xb3c0707f;
pub const MATCH_MOP_RR_0: u32 = 0x82004073;
pub const MASK_MOP_RR_0: u32 = 0xfe00707f;
pub const MATCH_MOP_RR_1: u32 = 0x86004073;
pub const MASK_MOP_RR_1: u32 = 0xfe00707f;
pub const MATCH_MOP_RR_2: u32 = 0x8a004073;
pub const MASK_MOP_RR_2: u32 = 0xfe00707f;
pub const MATCH_MOP_RR_3: u32 = 0x8e004073;
pub const MASK_MOP_RR_3: u32 = 0xfe00707f;
pub const MATCH_MOP_RR_4: u32 = 0xc2004073;
pub const MASK_MOP_RR_4: u32 = 0xfe00707f;
pub const MATCH_MOP_RR_5: u32 = 0xc6004073;
pub const MASK_MOP_RR_5: u32 = 0xfe00707f;
pub const MATCH_MOP_RR_6: u32 = 0xca004073;
pub const MASK_MOP_RR_6: u32 = 0xfe00707f;
pub const MATCH_MOP_RR_7: u32 = 0xce004073;
pub const MASK_MOP_RR_7: u32 = 0xfe00707f;
pub const MATCH_MOP_RR_N: u32 = 0x82004073;
pub const MASK_MOP_RR_N: u32 = 0xb200707f;
pub const MATCH_MRET: u32 = 0x30200073;
pub const MASK_MRET: u32 = 0xffffffff;
pub const MATCH_MUL: u32 = 0x2000033;
pub const MASK_MUL: u32 = 0xfe00707f;
pub const MATCH_MULH: u32 = 0x2001033;
pub const MASK_MULH: u32 = 0xfe00707f;
pub const MATCH_MULHSU: u32 = 0x2002033;
pub const MASK_MULHSU: u32 = 0xfe00707f;
pub const MATCH_MULHU: u32 = 0x2003033;
pub const MASK_MULHU: u32 = 0xfe00707f;
pub const MATCH_MULW: u32 = 0x200003b;
pub const MASK_MULW: u32 = 0xfe00707f;
pub const MATCH_MV: u32 = 0x13;
pub const MASK_MV: u32 = 0xfff0707f;
pub const MATCH_NEG: u32 = 0x40000033;
pub const MASK_NEG: u32 = 0xfff0707f;
pub const MATCH_NOP: u32 = 0x13;
pub const MASK_NOP: u32 = 0xffffffff;
pub const MATCH_NTL_ALL: u32 = 0x500033;
pub const MASK_NTL_ALL: u32 = 0xffffffff;
pub const MATCH_NTL_P1: u32 = 0x200033;
pub const MASK_NTL_P1: u32 = 0xffffffff;
pub const MATCH_NTL_PALL: u32 = 0x300033;
pub const MASK_NTL_PALL: u32 = 0xffffffff;
pub const MATCH_NTL_S1: u32 = 0x400033;
pub const MASK_NTL_S1: u32 = 0xffffffff;
pub const MATCH_OR: u32 = 0x6033;
pub const MASK_OR: u32 = 0xfe00707f;
pub const MATCH_ORC_B: u32 = 0x28705013;
pub const MASK_ORC_B: u32 = 0xfff0707f;
pub const MATCH_ORI: u32 = 0x6013;
pub const MASK_ORI: u32 = 0x707f;
pub const MATCH_ORN: u32 = 0x40006033;
pub const MASK_ORN: u32 = 0xfe00707f;
pub const MATCH_PACK: u32 = 0x8004033;
pub const MASK_PACK: u32 = 0xfe00707f;
pub const MATCH_PACKH: u32 = 0x8007033;
pub const MASK_PACKH: u32 = 0xfe00707f;
pub const MATCH_PACKW: u32 = 0x800403b;
pub const MASK_PACKW: u32 = 0xfe00707f;
pub const MATCH_PAUSE: u32 = 0x100000f;
pub const MASK_PAUSE: u32 = 0xffffffff;
pub const MATCH_PREFETCH_I: u32 = 0x6013;
pub const MASK_PREFETCH_I: u32 = 0x1f07fff;
pub const MATCH_PREFETCH_R: u32 = 0x106013;
pub const MASK_PREFETCH_R: u32 = 0x1f07fff;
pub const MATCH_PREFETCH_W: u32 = 0x306013;
pub const MASK_PREFETCH_W: u32 = 0x1f07fff;
pub const MATCH_RDCYCLE: u32 = 0xc0002073;
pub const MASK_RDCYCLE: u32 = 0xfffff07f;
pub const MATCH_RDCYCLEH: u32 = 0xc8002073;
pub const MASK_RDCYCLEH: u32 = 0xfffff07f;
pub const MATCH_RDINSTRET: u32 = 0xc0202073;
pub const MASK_RDINSTRET: u32 = 0xfffff07f;
pub const MATCH_RDINSTRETH: u32 = 0xc8202073;
pub const MASK_RDINSTRETH: u32 = 0xfffff07f;
pub const MATCH_RDTIME: u32 = 0xc0102073;
pub const MASK_RDTIME: u32 = 0xfffff07f;
pub const MATCH_RDTIMEH: u32 = 0xc8102073;
pub const MASK_RDTIMEH: u32 = 0xfffff07f;
pub const MATCH_REM: u32 = 0x2006033;
pub const MASK_REM: u32 = 0xfe00707f;
pub const MATCH_REMU: u32 = 0x2007033;
pub const MASK_REMU: u32 = 0xfe00707f;
pub const MATCH_REMUW: u32 = 0x200703b;
pub const MASK_REMUW: u32 = 0xfe00707f;
pub const MATCH_REMW: u32 = 0x200603b;
pub const MASK_REMW: u32 = 0xfe00707f;
pub const MATCH_RET: u32 = 0x8067;
pub const MASK_RET: u32 = 0xffffffff;
pub const MATCH_REV8: u32 = 0x6b805013;
pub const MASK_REV8: u32 = 0xfff0707f;
pub const MATCH_REV8_RV32: u32 = 0x69805013;
pub const MASK_REV8_RV32: u32 = 0xfff0707f;
pub const MATCH_ROL: u32 = 0x60001033;
pub const MASK_ROL: u32 = 0xfe00707f;
pub const MATCH_ROLW: u32 = 0x6000103b;
pub const MASK_ROLW: u32 = 0xfe00707f;
pub const MATCH_ROR: u32 = 0x60005033;
pub const MASK_ROR: u32 = 0xfe00707f;
pub const MATCH_RORI: u32 = 0x60005013;
pub const MASK_RORI: u32 = 0xfc00707f;
pub const MATCH_RORI_RV32: u32 = 0x60005013;
pub const MASK_RORI_RV32: u32 = 0xfe00707f;
pub const MATCH_RORIW: u32 = 0x6000501b;
pub const MASK_RORIW: u32 = 0xfe00707f;
pub const MATCH_RORW: u32 = 0x6000503b;
pub const MASK_RORW: u32 = 0xfe00707f;
pub const MATCH_SB: u32 = 0x23;
pub const MASK_SB: u32 = 0x707f;
pub const MATCH_SBREAK: u32 = 0x100073;
pub const MASK_SBREAK: u32 = 0xffffffff;
pub const MATCH_SC_D: u32 = 0x1800302f;
pub const MASK_SC_D: u32 = 0xf800707f;
pub const MATCH_SC_W: u32 = 0x1800202f;
pub const MASK_SC_W: u32 = 0xf800707f;
pub const MATCH_SCALL: u32 = 0x73;
pub const MASK_SCALL: u32 = 0xffffffff;
pub const MATCH_SD: u32 = 0x3023;
pub const MASK_SD: u32 = 0x707f;
pub const MATCH_SEQZ: u32 = 0x103013;
pub const MASK_SEQZ: u32 = 0xfff0707f;
pub const MATCH_SEXT_B: u32 = 0x60401013;
pub const MASK_SEXT_B: u32 = 0xfff0707f;
pub const MATCH_SEXT_H: u32 = 0x60501013;
pub const MASK_SEXT_H: u32 = 0xfff0707f;
pub const MATCH_SEXT_W: u32 = 0x1b;
pub const MASK_SEXT_W: u32 = 0xfff0707f;
pub const MATCH_SFENCE_INVAL_IR: u32 = 0x18100073;
pub const MASK_SFENCE_INVAL_IR: u32 = 0xffffffff;
pub const MATCH_SFENCE_VMA: u32 = 0x12000073;
pub const MASK_SFENCE_VMA: u32 = 0xfe007fff;
pub const MATCH_SFENCE_W_INVAL: u32 = 0x18000073;
pub const MASK_SFENCE_W_INVAL: u32 = 0xffffffff;
pub const MATCH_SGTZ: u32 = 0x2033;
pub const MASK_SGTZ: u32 = 0xfe0ff07f;
pub const MATCH_SH: u32 = 0x1023;
pub const MASK_SH: u32 = 0x707f;
pub const MATCH_SH1ADD: u32 = 0x20002033;
pub const MASK_SH1ADD: u32 = 0xfe00707f;
pub const MATCH_SH1ADD_UW: u32 = 0x2000203b;
pub const MASK_SH1ADD_UW: u32 = 0xfe00707f;
pub const MATCH_SH2ADD: u32 = 0x20004033;
pub const MASK_SH2ADD: u32 = 0xfe00707f;
pub const MATCH_SH2ADD_UW: u32 = 0x2000403b;
pub const MASK_SH2ADD_UW: u32 = 0xfe00707f;
pub const MATCH_SH3ADD: u32 = 0x20006033;
pub const MASK_SH3ADD: u32 = 0xfe00707f;
pub const MATCH_SH3ADD_UW: u32 = 0x2000603b;
pub const MASK_SH3ADD_UW: u32 = 0xfe00707f;
pub const MATCH_SHA256SIG0: u32 = 0x10201013;
pub const MASK_SHA256SIG0: u32 = 0xfff0707f;
pub const MATCH_SHA256SIG1: u32 = 0x10301013;
pub const MASK_SHA256SIG1: u32 = 0xfff0707f;
pub const MATCH_SHA256SUM0: u32 = 0x10001013;
pub const MASK_SHA256SUM0: u32 = 0xfff0707f;
pub const MATCH_SHA256SUM1: u32 = 0x10101013;
pub const MASK_SHA256SUM1: u32 = 0xfff0707f;
pub const MATCH_SHA512SIG0: u32 = 0x10601013;
pub const MASK_SHA512SIG0: u32 = 0xfff0707f;
pub const MATCH_SHA512SIG0H: u32 = 0x5c000033;
pub const MASK_SHA512SIG0H: u32 = 0xfe00707f;
pub const MATCH_SHA512SIG0L: u32 = 0x54000033;
pub const MASK_SHA512SIG0L: u32 = 0xfe00707f;
pub const MATCH_SHA512SIG1: u32 = 0x10701013;
pub const MASK_SHA512SIG1: u32 = 0xfff0707f;
pub const MATCH_SHA512SIG1H: u32 = 0x5e000033;
pub const MASK_SHA512SIG1H: u32 = 0xfe00707f;
pub const MATCH_SHA512SIG1L: u32 = 0x56000033;
pub const MASK_SHA512SIG1L: u32 = 0xfe00707f;
pub const MATCH_SHA512SUM0: u32 = 0x10401013;
pub const MASK_SHA512SUM0: u32 = 0xfff0707f;
pub const MATCH_SHA512SUM0R: u32 = 0x50000033;
pub const MASK_SHA512SUM0R: u32 = 0xfe00707f;
pub const MATCH_SHA512SUM1: u32 = 0x10501013;
pub const MASK_SHA512SUM1: u32 = 0xfff0707f;
pub const MATCH_SHA512SUM1R: u32 = 0x52000033;
pub const MASK_SHA512SUM1R: u32 = 0xfe00707f;
pub const MATCH_SINVAL_VMA: u32 = 0x16000073;
pub const MASK_SINVAL_VMA: u32 = 0xfe007fff;
pub const MATCH_SLL: u32 = 0x1033;
pub const MASK_SLL: u32 = 0xfe00707f;
pub const MATCH_SLLI: u32 = 0x1013;
pub const MASK_SLLI: u32 = 0xfc00707f;
pub const MATCH_SLLI_RV32: u32 = 0x1013;
pub const MASK_SLLI_RV32: u32 = 0xfe00707f;
pub const MATCH_SLLI_UW: u32 = 0x800101b;
pub const MASK_SLLI_UW: u32 = 0xfc00707f;
pub const MATCH_SLLIW: u32 = 0x101b;
pub const MASK_SLLIW: u32 = 0xfe00707f;
pub const MATCH_SLLW: u32 = 0x103b;
pub const MASK_SLLW: u32 = 0xfe00707f;
pub const MATCH_SLT: u32 = 0x2033;
pub const MASK_SLT: u32 = 0xfe00707f;
pub const MATCH_SLTI: u32 = 0x2013;
pub const MASK_SLTI: u32 = 0x707f;
pub const MATCH_SLTIU: u32 = 0x3013;
pub const MASK_SLTIU: u32 = 0x707f;
pub const MATCH_SLTU: u32 = 0x3033;
pub const MASK_SLTU: u32 = 0xfe00707f;
pub const MATCH_SLTZ: u32 = 0x2033;
pub const MASK_SLTZ: u32 = 0xfff0707f;
pub const MATCH_SM3P0: u32 = 0x10801013;
pub const MASK_SM3P0: u32 = 0xfff0707f;
pub const MATCH_SM3P1: u32 = 0x10901013;
pub const MASK_SM3P1: u32 = 0xfff0707f;
pub const MATCH_SM4ED: u32 = 0x30000033;
pub const MASK_SM4ED: u32 = 0x3e00707f;
pub const MATCH_SM4KS: u32 = 0x34000033;
pub const MASK_SM4KS: u32 = 0x3e00707f;
pub const MATCH_SNEZ: u32 = 0x3033;
pub const MASK_SNEZ: u32 = 0xfe0ff07f;
pub const MATCH_SRA: u32 = 0x40005033;
pub const MASK_SRA: u32 = 0xfe00707f;
pub const MATCH_SRAI: u32 = 0x40005013;
pub const MASK_SRAI: u32 = 0xfc00707f;
pub const MATCH_SRAI_RV32: u32 = 0x40005013;
pub const MASK_SRAI_RV32: u32 = 0xfe00707f;
pub const MATCH_SRAIW: u32 = 0x4000501b;
pub const MASK_SRAIW: u32 = 0xfe00707f;
pub const MATCH_SRAW: u32 = 0x4000503b;
pub const MASK_SRAW: u32 = 0xfe00707f;
pub const MATCH_SRET: u32 = 0x10200073;
pub const MASK_SRET: u32 = 0xffffffff;
pub const MATCH_SRL: u32 = 0x5033;
pub const MASK_SRL: u32 = 0xfe00707f;
pub const MATCH_SRLI: u32 = 0x5013;
pub const MASK_SRLI: u32 = 0xfc00707f;
pub const MATCH_SRLI_RV32: u32 = 0x5013;
pub const MASK_SRLI_RV32: u32 = 0xfe00707f;
pub const MATCH_SRLIW: u32 = 0x501b;
pub const MASK_SRLIW: u32 = 0xfe00707f;
pub const MATCH_SRLW: u32 = 0x503b;
pub const MASK_SRLW: u32 = 0xfe00707f;
pub const MATCH_SUB: u32 = 0x40000033;
pub const MASK_SUB: u32 = 0xfe00707f;
pub const MATCH_SUBW: u32 = 0x4000003b;
pub const MASK_SUBW: u32 = 0xfe00707f;
pub const MATCH_SW: u32 = 0x2023;
pub const MASK_SW: u32 = 0x707f;
pub const MATCH_UNZIP: u32 = 0x8f05013;
pub const MASK_UNZIP: u32 = 0xfff0707f;
pub const MATCH_VAADD_VV: u32 = 0x24002057;
pub const MASK_VAADD_VV: u32 = 0xfc00707f;
pub const MATCH_VAADD_VX: u32 = 0x24006057;
pub const MASK_VAADD_VX: u32 = 0xfc00707f;
pub const MATCH_VAADDU_VV: u32 = 0x20002057;
pub const MASK_VAADDU_VV: u32 = 0xfc00707f;
pub const MATCH_VAADDU_VX: u32 = 0x20006057;
pub const MASK_VAADDU_VX: u32 = 0xfc00707f;
pub const MATCH_VADC_VIM: u32 = 0x40003057;
pub const MASK_VADC_VIM: u32 = 0xfe00707f;
pub const MATCH_VADC_VVM: u32 = 0x40000057;
pub const MASK_VADC_VVM: u32 = 0xfe00707f;
pub const MATCH_VADC_VXM: u32 = 0x40004057;
pub const MASK_VADC_VXM: u32 = 0xfe00707f;
pub const MATCH_VADD_VI: u32 = 0x3057;
pub const MASK_VADD_VI: u32 = 0xfc00707f;
pub const MATCH_VADD_VV: u32 = 0x57;
pub const MASK_VADD_VV: u32 = 0xfc00707f;
pub const MATCH_VADD_VX: u32 = 0x4057;
pub const MASK_VADD_VX: u32 = 0xfc00707f;
pub const MATCH_VAESDF_VS: u32 = 0xa600a077;
pub const MASK_VAESDF_VS: u32 = 0xfe0ff07f;
pub const MATCH_VAESDF_VV: u32 = 0xa200a077;
pub const MASK_VAESDF_VV: u32 = 0xfe0ff07f;
pub const MATCH_VAESDM_VS: u32 = 0xa6002077;
pub const MASK_VAESDM_VS: u32 = 0xfe0ff07f;
pub const MATCH_VAESDM_VV: u32 = 0xa2002077;
pub const MASK_VAESDM_VV: u32 = 0xfe0ff07f;
pub const MATCH_VAESEF_VS: u32 = 0xa601a077;
pub const MASK_VAESEF_VS: u32 = 0xfe0ff07f;
pub const MATCH_VAESEF_VV: u32 = 0xa201a077;
pub const MASK_VAESEF_VV: u32 = 0xfe0ff07f;
pub const MATCH_VAESEM_VS: u32 = 0xa6012077;
pub const MASK_VAESEM_VS: u32 = 0xfe0ff07f;
pub const MATCH_VAESEM_VV: u32 = 0xa2012077;
pub const MASK_VAESEM_VV: u32 = 0xfe0ff07f;
pub const MATCH_VAESKF1_VI: u32 = 0x8a002077;
pub const MASK_VAESKF1_VI: u32 = 0xfe00707f;
pub const MATCH_VAESKF2_VI: u32 = 0xaa002077;
pub const MASK_VAESKF2_VI: u32 = 0xfe00707f;
pub const MATCH_VAESZ_VS: u32 = 0xa603a077;
pub const MASK_VAESZ_VS: u32 = 0xfe0ff07f;
pub const MATCH_VAND_VI: u32 = 0x24003057;
pub const MASK_VAND_VI: u32 = 0xfc00707f;
pub const MATCH_VAND_VV: u32 = 0x24000057;
pub const MASK_VAND_VV: u32 = 0xfc00707f;
pub const MATCH_VAND_VX: u32 = 0x24004057;
pub const MASK_VAND_VX: u32 = 0xfc00707f;
pub const MATCH_VANDN_VV: u32 = 0x4000057;
pub const MASK_VANDN_VV: u32 = 0xfc00707f;
pub const MATCH_VANDN_VX: u32 = 0x4004057;
pub const MASK_VANDN_VX: u32 = 0xfc00707f;
pub const MATCH_VASUB_VV: u32 = 0x2c002057;
pub const MASK_VASUB_VV: u32 = 0xfc00707f;
pub const MATCH_VASUB_VX: u32 = 0x2c006057;
pub const MASK_VASUB_VX: u32 = 0xfc00707f;
pub const MATCH_VASUBU_VV: u32 = 0x28002057;
pub const MASK_VASUBU_VV: u32 = 0xfc00707f;
pub const MATCH_VASUBU_VX: u32 = 0x28006057;
pub const MASK_VASUBU_VX: u32 = 0xfc00707f;
pub const MATCH_VBREV8_V: u32 = 0x48042057;
pub const MASK_VBREV8_V: u32 = 0xfc0ff07f;
pub const MATCH_VBREV_V: u32 = 0x48052057;
pub const MASK_VBREV_V: u32 = 0xfc0ff07f;
pub const MATCH_VCLMUL_VV: u32 = 0x30002057;
pub const MASK_VCLMUL_VV: u32 = 0xfc00707f;
pub const MATCH_VCLMUL_VX: u32 = 0x30006057;
pub const MASK_VCLMUL_VX: u32 = 0xfc00707f;
pub const MATCH_VCLMULH_VV: u32 = 0x34002057;
pub const MASK_VCLMULH_VV: u32 = 0xfc00707f;
pub const MATCH_VCLMULH_VX: u32 = 0x34006057;
pub const MASK_VCLMULH_VX: u32 = 0xfc00707f;
pub const MATCH_VCLZ_V: u32 = 0x48062057;
pub const MASK_VCLZ_V: u32 = 0xfc0ff07f;
pub const MATCH_VCOMPRESS_VM: u32 = 0x5e002057;
pub const MASK_VCOMPRESS_VM: u32 = 0xfe00707f;
pub const MATCH_VCPOP_M: u32 = 0x40082057;
pub const MASK_VCPOP_M: u32 = 0xfc0ff07f;
pub const MATCH_VCPOP_V: u32 = 0x48072057;
pub const MASK_VCPOP_V: u32 = 0xfc0ff07f;
pub const MATCH_VCTZ_V: u32 = 0x4806a057;
pub const MASK_VCTZ_V: u32 = 0xfc0ff07f;
pub const MATCH_VDIV_VV: u32 = 0x84002057;
pub const MASK_VDIV_VV: u32 = 0xfc00707f;
pub const MATCH_VDIV_VX: u32 = 0x84006057;
pub const MASK_VDIV_VX: u32 = 0xfc00707f;
pub const MATCH_VDIVU_VV: u32 = 0x80002057;
pub const MASK_VDIVU_VV: u32 = 0xfc00707f;
pub const MATCH_VDIVU_VX: u32 = 0x80006057;
pub const MASK_VDIVU_VX: u32 = 0xfc00707f;
pub const MATCH_VFADD_VF: u32 = 0x5057;
pub const MASK_VFADD_VF: u32 = 0xfc00707f;
pub const MATCH_VFADD_VV: u32 = 0x1057;
pub const MASK_VFADD_VV: u32 = 0xfc00707f;
pub const MATCH_VFCLASS_V: u32 = 0x4c081057;
pub const MASK_VFCLASS_V: u32 = 0xfc0ff07f;
pub const MATCH_VFCVT_F_X_V: u32 = 0x48019057;
pub const MASK_VFCVT_F_X_V: u32 = 0xfc0ff07f;
pub const MATCH_VFCVT_F_XU_V: u32 = 0x48011057;
pub const MASK_VFCVT_F_XU_V: u32 = 0xfc0ff07f;
pub const MATCH_VFCVT_RTZ_X_F_V: u32 = 0x48039057;
pub const MASK_VFCVT_RTZ_X_F_V: u32 = 0xfc0ff07f;
pub const MATCH_VFCVT_RTZ_XU_F_V: u32 = 0x48031057;
pub const MASK_VFCVT_RTZ_XU_F_V: u32 = 0xfc0ff07f;
pub const MATCH_VFCVT_X_F_V: u32 = 0x48009057;
pub const MASK_VFCVT_X_F_V: u32 = 0xfc0ff07f;
pub const MATCH_VFCVT_XU_F_V: u32 = 0x48001057;
pub const MASK_VFCVT_XU_F_V: u32 = 0xfc0ff07f;
pub const MATCH_VFDIV_VF: u32 = 0x80005057;
pub const MASK_VFDIV_VF: u32 = 0xfc00707f;
pub const MATCH_VFDIV_VV: u32 = 0x80001057;
pub const MASK_VFDIV_VV: u32 = 0xfc00707f;
pub const MATCH_VFIRST_M: u32 = 0x4008a057;
pub const MASK_VFIRST_M: u32 = 0xfc0ff07f;
pub const MATCH_VFMACC_VF: u32 = 0xb0005057;
pub const MASK_VFMACC_VF: u32 = 0xfc00707f;
pub const MATCH_VFMACC_VV: u32 = 0xb0001057;
pub const MASK_VFMACC_VV: u32 = 0xfc00707f;
pub const MATCH_VFMADD_VF: u32 = 0xa0005057;
pub const MASK_VFMADD_VF: u32 = 0xfc00707f;
pub const MATCH_VFMADD_VV: u32 = 0xa0001057;
pub const MASK_VFMADD_VV: u32 = 0xfc00707f;
pub const MATCH_VFMAX_VF: u32 = 0x18005057;
pub const MASK_VFMAX_VF: u32 = 0xfc00707f;
pub const MATCH_VFMAX_VV: u32 = 0x18001057;
pub const MASK_VFMAX_VV: u32 = 0xfc00707f;
pub const MATCH_VFMERGE_VFM: u32 = 0x5c005057;
pub const MASK_VFMERGE_VFM: u32 = 0xfe00707f;
pub const MATCH_VFMIN_VF: u32 = 0x10005057;
pub const MASK_VFMIN_VF: u32 = 0xfc00707f;
pub const MATCH_VFMIN_VV: u32 = 0x10001057;
pub const MASK_VFMIN_VV: u32 = 0xfc00707f;
pub const MATCH_VFMSAC_VF: u32 = 0xb8005057;
pub const MASK_VFMSAC_VF: u32 = 0xfc00707f;
pub const MATCH_VFMSAC_VV: u32 = 0xb8001057;
pub const MASK_VFMSAC_VV: u32 = 0xfc00707f;
pub const MATCH_VFMSUB_VF: u32 = 0xa8005057;
pub const MASK_VFMSUB_VF: u32 = 0xfc00707f;
pub const MATCH_VFMSUB_VV: u32 = 0xa8001057;
pub const MASK_VFMSUB_VV: u32 = 0xfc00707f;
pub const MATCH_VFMUL_VF: u32 = 0x90005057;
pub const MASK_VFMUL_VF: u32 = 0xfc00707f;
pub const MATCH_VFMUL_VV: u32 = 0x90001057;
pub const MASK_VFMUL_VV: u32 = 0xfc00707f;
pub const MATCH_VFMV_F_S: u32 = 0x42001057;
pub const MASK_VFMV_F_S: u32 = 0xfe0ff07f;
pub const MATCH_VFMV_S_F: u32 = 0x42005057;
pub const MASK_VFMV_S_F: u32 = 0xfff0707f;
pub const MATCH_VFMV_V_F: u32 = 0x5e005057;
pub const MASK_VFMV_V_F: u32 = 0xfff0707f;
pub const MATCH_VFNCVT_F_F_W: u32 = 0x480a1057;
pub const MASK_VFNCVT_F_F_W: u32 = 0xfc0ff07f;
pub const MATCH_VFNCVT_F_X_W: u32 = 0x48099057;
pub const MASK_VFNCVT_F_X_W: u32 = 0xfc0ff07f;
pub const MATCH_VFNCVT_F_XU_W: u32 = 0x48091057;
pub const MASK_VFNCVT_F_XU_W: u32 = 0xfc0ff07f;
pub const MATCH_VFNCVT_ROD_F_F_W: u32 = 0x480a9057;
pub const MASK_VFNCVT_ROD_F_F_W: u32 = 0xfc0ff07f;
pub const MATCH_VFNCVT_RTZ_X_F_W: u32 = 0x480b9057;
pub const MASK_VFNCVT_RTZ_X_F_W: u32 = 0xfc0ff07f;
pub const MATCH_VFNCVT_RTZ_XU_F_W: u32 = 0x480b1057;
pub const MASK_VFNCVT_RTZ_XU_F_W: u32 = 0xfc0ff07f;
pub const MATCH_VFNCVT_X_F_W: u32 = 0x48089057;
pub const MASK_VFNCVT_X_F_W: u32 = 0xfc0ff07f;
pub const MATCH_VFNCVT_XU_F_W: u32 = 0x48081057;
pub const MASK_VFNCVT_XU_F_W: u32 = 0xfc0ff07f;
pub const MATCH_VFNMACC_VF: u32 = 0xb4005057;
pub const MASK_VFNMACC_VF: u32 = 0xfc00707f;
pub const MATCH_VFNMACC_VV: u32 = 0xb4001057;
pub const MASK_VFNMACC_VV: u32 = 0xfc00707f;
pub const MATCH_VFNMADD_VF: u32 = 0xa4005057;
pub const MASK_VFNMADD_VF: u32 = 0xfc00707f;
pub const MATCH_VFNMADD_VV: u32 = 0xa4001057;
pub const MASK_VFNMADD_VV: u32 = 0xfc00707f;
pub const MATCH_VFNMSAC_VF: u32 = 0xbc005057;
pub const MASK_VFNMSAC_VF: u32 = 0xfc00707f;
pub const MATCH_VFNMSAC_VV: u32 = 0xbc001057;
pub const MASK_VFNMSAC_VV: u32 = 0xfc00707f;
pub const MATCH_VFNMSUB_VF: u32 = 0xac005057;
pub const MASK_VFNMSUB_VF: u32 = 0xfc00707f;
pub const MATCH_VFNMSUB_VV: u32 = 0xac001057;
pub const MASK_VFNMSUB_VV: u32 = 0xfc00707f;
pub const MATCH_VFRDIV_VF: u32 = 0x84005057;
pub const MASK_VFRDIV_VF: u32 = 0xfc00707f;
pub const MATCH_VFREC7_V: u32 = 0x4c029057;
pub const MASK_VFREC7_V: u32 = 0xfc0ff07f;
pub const MATCH_VFREDMAX_VS: u32 = 0x1c001057;
pub const MASK_VFREDMAX_VS: u32 = 0xfc00707f;
pub const MATCH_VFREDMIN_VS: u32 = 0x14001057;
pub const MASK_VFREDMIN_VS: u32 = 0xfc00707f;
pub const MATCH_VFREDOSUM_VS: u32 = 0xc001057;
pub const MASK_VFREDOSUM_VS: u32 = 0xfc00707f;
pub const MATCH_VFREDSUM_VS: u32 = 0x4001057;
pub const MASK_VFREDSUM_VS: u32 = 0xfc00707f;
pub const MATCH_VFREDUSUM_VS: u32 = 0x4001057;
pub const MASK_VFREDUSUM_VS: u32 = 0xfc00707f;
pub const MATCH_VFRSQRT7_V: u32 = 0x4c021057;
pub const MASK_VFRSQRT7_V: u32 = 0xfc0ff07f;
pub const MATCH_VFRSUB_VF: u32 = 0x9c005057;
pub const MASK_VFRSUB_VF: u32 = 0xfc00707f;
pub const MATCH_VFSGNJ_VF: u32 = 0x20005057;
pub const MASK_VFSGNJ_VF: u32 = 0xfc00707f;
pub const MATCH_VFSGNJ_VV: u32 = 0x20001057;
pub const MASK_VFSGNJ_VV: u32 = 0xfc00707f;
pub const MATCH_VFSGNJN_VF: u32 = 0x24005057;
pub const MASK_VFSGNJN_VF: u32 = 0xfc00707f;
pub const MATCH_VFSGNJN_VV: u32 = 0x24001057;
pub const MASK_VFSGNJN_VV: u32 = 0xfc00707f;
pub const MATCH_VFSGNJX_VF: u32 = 0x28005057;
pub const MASK_VFSGNJX_VF: u32 = 0xfc00707f;
pub const MATCH_VFSGNJX_VV: u32 = 0x28001057;
pub const MASK_VFSGNJX_VV: u32 = 0xfc00707f;
pub const MATCH_VFSLIDE1DOWN_VF: u32 = 0x3c005057;
pub const MASK_VFSLIDE1DOWN_VF: u32 = 0xfc00707f;
pub const MATCH_VFSLIDE1UP_VF: u32 = 0x38005057;
pub const MASK_VFSLIDE1UP_VF: u32 = 0xfc00707f;
pub const MATCH_VFSQRT_V: u32 = 0x4c001057;
pub const MASK_VFSQRT_V: u32 = 0xfc0ff07f;
pub const MATCH_VFSUB_VF: u32 = 0x8005057;
pub const MASK_VFSUB_VF: u32 = 0xfc00707f;
pub const MATCH_VFSUB_VV: u32 = 0x8001057;
pub const MASK_VFSUB_VV: u32 = 0xfc00707f;
pub const MATCH_VFWADD_VF: u32 = 0xc0005057;
pub const MASK_VFWADD_VF: u32 = 0xfc00707f;
pub const MATCH_VFWADD_VV: u32 = 0xc0001057;
pub const MASK_VFWADD_VV: u32 = 0xfc00707f;
pub const MATCH_VFWADD_WF: u32 = 0xd0005057;
pub const MASK_VFWADD_WF: u32 = 0xfc00707f;
pub const MATCH_VFWADD_WV: u32 = 0xd0001057;
pub const MASK_VFWADD_WV: u32 = 0xfc00707f;
pub const MATCH_VFWCVT_F_F_V: u32 = 0x48061057;
pub const MASK_VFWCVT_F_F_V: u32 = 0xfc0ff07f;
pub const MATCH_VFWCVT_F_X_V: u32 = 0x48059057;
pub const MASK_VFWCVT_F_X_V: u32 = 0xfc0ff07f;
pub const MATCH_VFWCVT_F_XU_V: u32 = 0x48051057;
pub const MASK_VFWCVT_F_XU_V: u32 = 0xfc0ff07f;
pub const MATCH_VFWCVT_RTZ_X_F_V: u32 = 0x48079057;
pub const MASK_VFWCVT_RTZ_X_F_V: u32 = 0xfc0ff07f;
pub const MATCH_VFWCVT_RTZ_XU_F_V: u32 = 0x48071057;
pub const MASK_VFWCVT_RTZ_XU_F_V: u32 = 0xfc0ff07f;
pub const MATCH_VFWCVT_X_F_V: u32 = 0x48049057;
pub const MASK_VFWCVT_X_F_V: u32 = 0xfc0ff07f;
pub const MATCH_VFWCVT_XU_F_V: u32 = 0x48041057;
pub const MASK_VFWCVT_XU_F_V: u32 = 0xfc0ff07f;
pub const MATCH_VFWMACC_VF: u32 = 0xf0005057;
pub const MASK_VFWMACC_VF: u32 = 0xfc00707f;
pub const MATCH_VFWMACC_VV: u32 = 0xf0001057;
pub const MASK_VFWMACC_VV: u32 = 0xfc00707f;
pub const MATCH_VFWMSAC_VF: u32 = 0xf8005057;
pub const MASK_VFWMSAC_VF: u32 = 0xfc00707f;
pub const MATCH_VFWMSAC_VV: u32 = 0xf8001057;
pub const MASK_VFWMSAC_VV: u32 = 0xfc00707f;
pub const MATCH_VFWMUL_VF: u32 = 0xe0005057;
pub const MASK_VFWMUL_VF: u32 = 0xfc00707f;
pub const MATCH_VFWMUL_VV: u32 = 0xe0001057;
pub const MASK_VFWMUL_VV: u32 = 0xfc00707f;
pub const MATCH_VFWNMACC_VF: u32 = 0xf4005057;
pub const MASK_VFWNMACC_VF: u32 = 0xfc00707f;
pub const MATCH_VFWNMACC_VV: u32 = 0xf4001057;
pub const MASK_VFWNMACC_VV: u32 = 0xfc00707f;
pub const MATCH_VFWNMSAC_VF: u32 = 0xfc005057;
pub const MASK_VFWNMSAC_VF: u32 = 0xfc00707f;
pub const MATCH_VFWNMSAC_VV: u32 = 0xfc001057;
pub const MASK_VFWNMSAC_VV: u32 = 0xfc00707f;
pub const MATCH_VFWREDOSUM_VS: u32 = 0xcc001057;
pub const MASK_VFWREDOSUM_VS: u32 = 0xfc00707f;
pub const MATCH_VFWREDSUM_VS: u32 = 0xc4001057;
pub const MASK_VFWREDSUM_VS: u32 = 0xfc00707f;
pub const MATCH_VFWREDUSUM_VS: u32 = 0xc4001057;
pub const MASK_VFWREDUSUM_VS: u32 = 0xfc00707f;
pub const MATCH_VFWSUB_VF: u32 = 0xc8005057;
pub const MASK_VFWSUB_VF: u32 = 0xfc00707f;
pub const MATCH_VFWSUB_VV: u32 = 0xc8001057;
pub const MASK_VFWSUB_VV: u32 = 0xfc00707f;
pub const MATCH_VFWSUB_WF: u32 = 0xd8005057;
pub const MASK_VFWSUB_WF: u32 = 0xfc00707f;
pub const MATCH_VFWSUB_WV: u32 = 0xd8001057;
pub const MASK_VFWSUB_WV: u32 = 0xfc00707f;
pub const MATCH_VGHSH_VV: u32 = 0xb2002077;
pub const MASK_VGHSH_VV: u32 = 0xfe00707f;
pub const MATCH_VGMUL_VV: u32 = 0xa208a077;
pub const MASK_VGMUL_VV: u32 = 0xfe0ff07f;
pub const MATCH_VID_V: u32 = 0x5008a057;
pub const MASK_VID_V: u32 = 0xfdfff07f;
pub const MATCH_VIOTA_M: u32 = 0x50082057;
pub const MASK_VIOTA_M: u32 = 0xfc0ff07f;
pub const MATCH_VL1R_V: u32 = 0x2800007;
pub const MASK_VL1R_V: u32 = 0xfff0707f;
pub const MATCH_VL1RE16_V: u32 = 0x2805007;
pub const MASK_VL1RE16_V: u32 = 0xfff0707f;
pub const MATCH_VL1RE32_V: u32 = 0x2806007;
pub const MASK_VL1RE32_V: u32 = 0xfff0707f;
pub const MATCH_VL1RE64_V: u32 = 0x2807007;
pub const MASK_VL1RE64_V: u32 = 0xfff0707f;
pub const MATCH_VL1RE8_V: u32 = 0x2800007;
pub const MASK_VL1RE8_V: u32 = 0xfff0707f;
pub const MATCH_VL2R_V: u32 = 0x22800007;
pub const MASK_VL2R_V: u32 = 0xfff0707f;
pub const MATCH_VL2RE16_V: u32 = 0x22805007;
pub const MASK_VL2RE16_V: u32 = 0xfff0707f;
pub const MATCH_VL2RE32_V: u32 = 0x22806007;
pub const MASK_VL2RE32_V: u32 = 0xfff0707f;
pub const MATCH_VL2RE64_V: u32 = 0x22807007;
pub const MASK_VL2RE64_V: u32 = 0xfff0707f;
pub const MATCH_VL2RE8_V: u32 = 0x22800007;
pub const MASK_VL2RE8_V: u32 = 0xfff0707f;
pub const MATCH_VL4R_V: u32 = 0x62800007;
pub const MASK_VL4R_V: u32 = 0xfff0707f;
pub const MATCH_VL4RE16_V: u32 = 0x62805007;
pub const MASK_VL4RE16_V: u32 = 0xfff0707f;
pub const MATCH_VL4RE32_V: u32 = 0x62806007;
pub const MASK_VL4RE32_V: u32 = 0xfff0707f;
pub const MATCH_VL4RE64_V: u32 = 0x62807007;
pub const MASK_VL4RE64_V: u32 = 0xfff0707f;
pub const MATCH_VL4RE8_V: u32 = 0x62800007;
pub const MASK_VL4RE8_V: u32 = 0xfff0707f;
pub const MATCH_VL8R_V: u32 = 0xe2800007;
pub const MASK_VL8R_V: u32 = 0xfff0707f;
pub const MATCH_VL8RE16_V: u32 = 0xe2805007;
pub const MASK_VL8RE16_V: u32 = 0xfff0707f;
pub const MATCH_VL8RE32_V: u32 = 0xe2806007;
pub const MASK_VL8RE32_V: u32 = 0xfff0707f;
pub const MATCH_VL8RE64_V: u32 = 0xe2807007;
pub const MASK_VL8RE64_V: u32 = 0xfff0707f;
pub const MATCH_VL8RE8_V: u32 = 0xe2800007;
pub const MASK_VL8RE8_V: u32 = 0xfff0707f;
pub const MATCH_VLE16_V: u32 = 0x5007;
pub const MASK_VLE16_V: u32 = 0x1df0707f;
pub const MATCH_VLE16FF_V: u32 = 0x1005007;
pub const MASK_VLE16FF_V: u32 = 0x1df0707f;
pub const MATCH_VLE1_V: u32 = 0x2b00007;
pub const MASK_VLE1_V: u32 = 0xfff0707f;
pub const MATCH_VLE32_V: u32 = 0x6007;
pub const MASK_VLE32_V: u32 = 0x1df0707f;
pub const MATCH_VLE32FF_V: u32 = 0x1006007;
pub const MASK_VLE32FF_V: u32 = 0x1df0707f;
pub const MATCH_VLE64_V: u32 = 0x7007;
pub const MASK_VLE64_V: u32 = 0x1df0707f;
pub const MATCH_VLE64FF_V: u32 = 0x1007007;
pub const MASK_VLE64FF_V: u32 = 0x1df0707f;
pub const MATCH_VLE8_V: u32 = 0x7;
pub const MASK_VLE8_V: u32 = 0x1df0707f;
pub const MATCH_VLE8FF_V: u32 = 0x1000007;
pub const MASK_VLE8FF_V: u32 = 0x1df0707f;
pub const MATCH_VLM_V: u32 = 0x2b00007;
pub const MASK_VLM_V: u32 = 0xfff0707f;
pub const MATCH_VLOXEI16_V: u32 = 0xc005007;
pub const MASK_VLOXEI16_V: u32 = 0x1c00707f;
pub const MATCH_VLOXEI32_V: u32 = 0xc006007;
pub const MASK_VLOXEI32_V: u32 = 0x1c00707f;
pub const MATCH_VLOXEI64_V: u32 = 0xc007007;
pub const MASK_VLOXEI64_V: u32 = 0x1c00707f;
pub const MATCH_VLOXEI8_V: u32 = 0xc000007;
pub const MASK_VLOXEI8_V: u32 = 0x1c00707f;
pub const MATCH_VLSE16_V: u32 = 0x8005007;
pub const MASK_VLSE16_V: u32 = 0x1c00707f;
pub const MATCH_VLSE32_V: u32 = 0x8006007;
pub const MASK_VLSE32_V: u32 = 0x1c00707f;
pub const MATCH_VLSE64_V: u32 = 0x8007007;
pub const MASK_VLSE64_V: u32 = 0x1c00707f;
pub const MATCH_VLSE8_V: u32 = 0x8000007;
pub const MASK_VLSE8_V: u32 = 0x1c00707f;
pub const MATCH_VLUXEI16_V: u32 = 0x4005007;
pub const MASK_VLUXEI16_V: u32 = 0x1c00707f;
pub const MATCH_VLUXEI32_V: u32 = 0x4006007;
pub const MASK_VLUXEI32_V: u32 = 0x1c00707f;
pub const MATCH_VLUXEI64_V: u32 = 0x4007007;
pub const MASK_VLUXEI64_V: u32 = 0x1c00707f;
pub const MATCH_VLUXEI8_V: u32 = 0x4000007;
pub const MASK_VLUXEI8_V: u32 = 0x1c00707f;
pub const MATCH_VMACC_VV: u32 = 0xb4002057;
pub const MASK_VMACC_VV: u32 = 0xfc00707f;
pub const MATCH_VMACC_VX: u32 = 0xb4006057;
pub const MASK_VMACC_VX: u32 = 0xfc00707f;
pub const MATCH_VMADC_VI: u32 = 0x46003057;
pub const MASK_VMADC_VI: u32 = 0xfe00707f;
pub const MATCH_VMADC_VIM: u32 = 0x44003057;
pub const MASK_VMADC_VIM: u32 = 0xfe00707f;
pub const MATCH_VMADC_VV: u32 = 0x46000057;
pub const MASK_VMADC_VV: u32 = 0xfe00707f;
pub const MATCH_VMADC_VVM: u32 = 0x44000057;
pub const MASK_VMADC_VVM: u32 = 0xfe00707f;
pub const MATCH_VMADC_VX: u32 = 0x46004057;
pub const MASK_VMADC_VX: u32 = 0xfe00707f;
pub const MATCH_VMADC_VXM: u32 = 0x44004057;
pub const MASK_VMADC_VXM: u32 = 0xfe00707f;
pub const MATCH_VMADD_VV: u32 = 0xa4002057;
pub const MASK_VMADD_VV: u32 = 0xfc00707f;
pub const MATCH_VMADD_VX: u32 = 0xa4006057;
pub const MASK_VMADD_VX: u32 = 0xfc00707f;
pub const MATCH_VMAND_MM: u32 = 0x66002057;
pub const MASK_VMAND_MM: u32 = 0xfe00707f;
pub const MATCH_VMANDN_MM: u32 = 0x62002057;
pub const MASK_VMANDN_MM: u32 = 0xfe00707f;
pub const MATCH_VMANDNOT_MM: u32 = 0x60002057;
pub const MASK_VMANDNOT_MM: u32 = 0xfc00707f;
pub const MATCH_VMAX_VV: u32 = 0x1c000057;
pub const MASK_VMAX_VV: u32 = 0xfc00707f;
pub const MATCH_VMAX_VX: u32 = 0x1c004057;
pub const MASK_VMAX_VX: u32 = 0xfc00707f;
pub const MATCH_VMAXU_VV: u32 = 0x18000057;
pub const MASK_VMAXU_VV: u32 = 0xfc00707f;
pub const MATCH_VMAXU_VX: u32 = 0x18004057;
pub const MASK_VMAXU_VX: u32 = 0xfc00707f;
pub const MATCH_VMERGE_VIM: u32 = 0x5c003057;
pub const MASK_VMERGE_VIM: u32 = 0xfe00707f;
pub const MATCH_VMERGE_VVM: u32 = 0x5c000057;
pub const MASK_VMERGE_VVM: u32 = 0xfe00707f;
pub const MATCH_VMERGE_VXM: u32 = 0x5c004057;
pub const MASK_VMERGE_VXM: u32 = 0xfe00707f;
pub const MATCH_VMFEQ_VF: u32 = 0x60005057;
pub const MASK_VMFEQ_VF: u32 = 0xfc00707f;
pub const MATCH_VMFEQ_VV: u32 = 0x60001057;
pub const MASK_VMFEQ_VV: u32 = 0xfc00707f;
pub const MATCH_VMFGE_VF: u32 = 0x7c005057;
pub const MASK_VMFGE_VF: u32 = 0xfc00707f;
pub const MATCH_VMFGT_VF: u32 = 0x74005057;
pub const MASK_VMFGT_VF: u32 = 0xfc00707f;
pub const MATCH_VMFLE_VF: u32 = 0x64005057;
pub const MASK_VMFLE_VF: u32 = 0xfc00707f;
pub const MATCH_VMFLE_VV: u32 = 0x64001057;
pub const MASK_VMFLE_VV: u32 = 0xfc00707f;
pub const MATCH_VMFLT_VF: u32 = 0x6c005057;
pub const MASK_VMFLT_VF: u32 = 0xfc00707f;
pub const MATCH_VMFLT_VV: u32 = 0x6c001057;
pub const MASK_VMFLT_VV: u32 = 0xfc00707f;
pub const MATCH_VMFNE_VF: u32 = 0x70005057;
pub const MASK_VMFNE_VF: u32 = 0xfc00707f;
pub const MATCH_VMFNE_VV: u32 = 0x70001057;
pub const MASK_VMFNE_VV: u32 = 0xfc00707f;
pub const MATCH_VMIN_VV: u32 = 0x14000057;
pub const MASK_VMIN_VV: u32 = 0xfc00707f;
pub const MATCH_VMIN_VX: u32 = 0x14004057;
pub const MASK_VMIN_VX: u32 = 0xfc00707f;
pub const MATCH_VMINU_VV: u32 = 0x10000057;
pub const MASK_VMINU_VV: u32 = 0xfc00707f;
pub const MATCH_VMINU_VX: u32 = 0x10004057;
pub const MASK_VMINU_VX: u32 = 0xfc00707f;
pub const MATCH_VMNAND_MM: u32 = 0x76002057;
pub const MASK_VMNAND_MM: u32 = 0xfe00707f;
pub const MATCH_VMNOR_MM: u32 = 0x7a002057;
pub const MASK_VMNOR_MM: u32 = 0xfe00707f;
pub const MATCH_VMOR_MM: u32 = 0x6a002057;
pub const MASK_VMOR_MM: u32 = 0xfe00707f;
pub const MATCH_VMORN_MM: u32 = 0x72002057;
pub const MASK_VMORN_MM: u32 = 0xfe00707f;
pub const MATCH_VMORNOT_MM: u32 = 0x70002057;
pub const MASK_VMORNOT_MM: u32 = 0xfc00707f;
pub const MATCH_VMSBC_VV: u32 = 0x4e000057;
pub const MASK_VMSBC_VV: u32 = 0xfe00707f;
pub const MATCH_VMSBC_VVM: u32 = 0x4c000057;
pub const MASK_VMSBC_VVM: u32 = 0xfe00707f;
pub const MATCH_VMSBC_VX: u32 = 0x4e004057;
pub const MASK_VMSBC_VX: u32 = 0xfe00707f;
pub const MATCH_VMSBC_VXM: u32 = 0x4c004057;
pub const MASK_VMSBC_VXM: u32 = 0xfe00707f;
pub const MATCH_VMSBF_M: u32 = 0x5000a057;
pub const MASK_VMSBF_M: u32 = 0xfc0ff07f;
pub const MATCH_VMSEQ_VI: u32 = 0x60003057;
pub const MASK_VMSEQ_VI: u32 = 0xfc00707f;
pub const MATCH_VMSEQ_VV: u32 = 0x60000057;
pub const MASK_VMSEQ_VV: u32 = 0xfc00707f;
pub const MATCH_VMSEQ_VX: u32 = 0x60004057;
pub const MASK_VMSEQ_VX: u32 = 0xfc00707f;
pub const MATCH_VMSGT_VI: u32 = 0x7c003057;
pub const MASK_VMSGT_VI: u32 = 0xfc00707f;
pub const MATCH_VMSGT_VX: u32 = 0x7c004057;
pub const MASK_VMSGT_VX: u32 = 0xfc00707f;
pub const MATCH_VMSGTU_VI: u32 = 0x78003057;
pub const MASK_VMSGTU_VI: u32 = 0xfc00707f;
pub const MATCH_VMSGTU_VX: u32 = 0x78004057;
pub const MASK_VMSGTU_VX: u32 = 0xfc00707f;
pub const MATCH_VMSIF_M: u32 = 0x5001a057;
pub const MASK_VMSIF_M: u32 = 0xfc0ff07f;
pub const MATCH_VMSLE_VI: u32 = 0x74003057;
pub const MASK_VMSLE_VI: u32 = 0xfc00707f;
pub const MATCH_VMSLE_VV: u32 = 0x74000057;
pub const MASK_VMSLE_VV: u32 = 0xfc00707f;
pub const MATCH_VMSLE_VX: u32 = 0x74004057;
pub const MASK_VMSLE_VX: u32 = 0xfc00707f;
pub const MATCH_VMSLEU_VI: u32 = 0x70003057;
pub const MASK_VMSLEU_VI: u32 = 0xfc00707f;
pub const MATCH_VMSLEU_VV: u32 = 0x70000057;
pub const MASK_VMSLEU_VV: u32 = 0xfc00707f;
pub const MATCH_VMSLEU_VX: u32 = 0x70004057;
pub const MASK_VMSLEU_VX: u32 = 0xfc00707f;
pub const MATCH_VMSLT_VV: u32 = 0x6c000057;
pub const MASK_VMSLT_VV: u32 = 0xfc00707f;
pub const MATCH_VMSLT_VX: u32 = 0x6c004057;
pub const MASK_VMSLT_VX: u32 = 0xfc00707f;
pub const MATCH_VMSLTU_VV: u32 = 0x68000057;
pub const MASK_VMSLTU_VV: u32 = 0xfc00707f;
pub const MATCH_VMSLTU_VX: u32 = 0x68004057;
pub const MASK_VMSLTU_VX: u32 = 0xfc00707f;
pub const MATCH_VMSNE_VI: u32 = 0x64003057;
pub const MASK_VMSNE_VI: u32 = 0xfc00707f;
pub const MATCH_VMSNE_VV: u32 = 0x64000057;
pub const MASK_VMSNE_VV: u32 = 0xfc00707f;
pub const MATCH_VMSNE_VX: u32 = 0x64004057;
pub const MASK_VMSNE_VX: u32 = 0xfc00707f;
pub const MATCH_VMSOF_M: u32 = 0x50012057;
pub const MASK_VMSOF_M: u32 = 0xfc0ff07f;
pub const MATCH_VMUL_VV: u32 = 0x94002057;
pub const MASK_VMUL_VV: u32 = 0xfc00707f;
pub const MATCH_VMUL_VX: u32 = 0x94006057;
pub const MASK_VMUL_VX: u32 = 0xfc00707f;
pub const MATCH_VMULH_VV: u32 = 0x9c002057;
pub const MASK_VMULH_VV: u32 = 0xfc00707f;
pub const MATCH_VMULH_VX: u32 = 0x9c006057;
pub const MASK_VMULH_VX: u32 = 0xfc00707f;
pub const MATCH_VMULHSU_VV: u32 = 0x98002057;
pub const MASK_VMULHSU_VV: u32 = 0xfc00707f;
pub const MATCH_VMULHSU_VX: u32 = 0x98006057;
pub const MASK_VMULHSU_VX: u32 = 0xfc00707f;
pub const MATCH_VMULHU_VV: u32 = 0x90002057;
pub const MASK_VMULHU_VV: u32 = 0xfc00707f;
pub const MATCH_VMULHU_VX: u32 = 0x90006057;
pub const MASK_VMULHU_VX: u32 = 0xfc00707f;
pub const MATCH_VMV1R_V: u32 = 0x9e003057;
pub const MASK_VMV1R_V: u32 = 0xfe0ff07f;
pub const MATCH_VMV2R_V: u32 = 0x9e00b057;
pub const MASK_VMV2R_V: u32 = 0xfe0ff07f;
pub const MATCH_VMV4R_V: u32 = 0x9e01b057;
pub const MASK_VMV4R_V: u32 = 0xfe0ff07f;
pub const MATCH_VMV8R_V: u32 = 0x9e03b057;
pub const MASK_VMV8R_V: u32 = 0xfe0ff07f;
pub const MATCH_VMV_S_X: u32 = 0x42006057;
pub const MASK_VMV_S_X: u32 = 0xfff0707f;
pub const MATCH_VMV_V_I: u32 = 0x5e003057;
pub const MASK_VMV_V_I: u32 = 0xfff0707f;
pub const MATCH_VMV_V_V: u32 = 0x5e000057;
pub const MASK_VMV_V_V: u32 = 0xfff0707f;
pub const MATCH_VMV_V_X: u32 = 0x5e004057;
pub const MASK_VMV_V_X: u32 = 0xfff0707f;
pub const MATCH_VMV_X_S: u32 = 0x42002057;
pub const MASK_VMV_X_S: u32 = 0xfe0ff07f;
pub const MATCH_VMXNOR_MM: u32 = 0x7e002057;
pub const MASK_VMXNOR_MM: u32 = 0xfe00707f;
pub const MATCH_VMXOR_MM: u32 = 0x6e002057;
pub const MASK_VMXOR_MM: u32 = 0xfe00707f;
pub const MATCH_VNCLIP_WI: u32 = 0xbc003057;
pub const MASK_VNCLIP_WI: u32 = 0xfc00707f;
pub const MATCH_VNCLIP_WV: u32 = 0xbc000057;
pub const MASK_VNCLIP_WV: u32 = 0xfc00707f;
pub const MATCH_VNCLIP_WX: u32 = 0xbc004057;
pub const MASK_VNCLIP_WX: u32 = 0xfc00707f;
pub const MATCH_VNCLIPU_WI: u32 = 0xb8003057;
pub const MASK_VNCLIPU_WI: u32 = 0xfc00707f;
pub const MATCH_VNCLIPU_WV: u32 = 0xb8000057;
pub const MASK_VNCLIPU_WV: u32 = 0xfc00707f;
pub const MATCH_VNCLIPU_WX: u32 = 0xb8004057;
pub const MASK_VNCLIPU_WX: u32 = 0xfc00707f;
pub const MATCH_VNMSAC_VV: u32 = 0xbc002057;
pub const MASK_VNMSAC_VV: u32 = 0xfc00707f;
pub const MATCH_VNMSAC_VX: u32 = 0xbc006057;
pub const MASK_VNMSAC_VX: u32 = 0xfc00707f;
pub const MATCH_VNMSUB_VV: u32 = 0xac002057;
pub const MASK_VNMSUB_VV: u32 = 0xfc00707f;
pub const MATCH_VNMSUB_VX: u32 = 0xac006057;
pub const MASK_VNMSUB_VX: u32 = 0xfc00707f;
pub const MATCH_VNSRA_WI: u32 = 0xb4003057;
pub const MASK_VNSRA_WI: u32 = 0xfc00707f;
pub const MATCH_VNSRA_WV: u32 = 0xb4000057;
pub const MASK_VNSRA_WV: u32 = 0xfc00707f;
pub const MATCH_VNSRA_WX: u32 = 0xb4004057;
pub const MASK_VNSRA_WX: u32 = 0xfc00707f;
pub const MATCH_VNSRL_WI: u32 = 0xb0003057;
pub const MASK_VNSRL_WI: u32 = 0xfc00707f;
pub const MATCH_VNSRL_WV: u32 = 0xb0000057;
pub const MASK_VNSRL_WV: u32 = 0xfc00707f;
pub const MATCH_VNSRL_WX: u32 = 0xb0004057;
pub const MASK_VNSRL_WX: u32 = 0xfc00707f;
pub const MATCH_VOR_VI: u32 = 0x28003057;
pub const MASK_VOR_VI: u32 = 0xfc00707f;
pub const MATCH_VOR_VV: u32 = 0x28000057;
pub const MASK_VOR_VV: u32 = 0xfc00707f;
pub const MATCH_VOR_VX: u32 = 0x28004057;
pub const MASK_VOR_VX: u32 = 0xfc00707f;
pub const MATCH_VPOPC_M: u32 = 0x40082057;
pub const MASK_VPOPC_M: u32 = 0xfc0ff07f;
pub const MATCH_VREDAND_VS: u32 = 0x4002057;
pub const MASK_VREDAND_VS: u32 = 0xfc00707f;
pub const MATCH_VREDMAX_VS: u32 = 0x1c002057;
pub const MASK_VREDMAX_VS: u32 = 0xfc00707f;
pub const MATCH_VREDMAXU_VS: u32 = 0x18002057;
pub const MASK_VREDMAXU_VS: u32 = 0xfc00707f;
pub const MATCH_VREDMIN_VS: u32 = 0x14002057;
pub const MASK_VREDMIN_VS: u32 = 0xfc00707f;
pub const MATCH_VREDMINU_VS: u32 = 0x10002057;
pub const MASK_VREDMINU_VS: u32 = 0xfc00707f;
pub const MATCH_VREDOR_VS: u32 = 0x8002057;
pub const MASK_VREDOR_VS: u32 = 0xfc00707f;
pub const MATCH_VREDSUM_VS: u32 = 0x2057;
pub const MASK_VREDSUM_VS: u32 = 0xfc00707f;
pub const MATCH_VREDXOR_VS: u32 = 0xc002057;
pub const MASK_VREDXOR_VS: u32 = 0xfc00707f;
pub const MATCH_VREM_VV: u32 = 0x8c002057;
pub const MASK_VREM_VV: u32 = 0xfc00707f;
pub const MATCH_VREM_VX: u32 = 0x8c006057;
pub const MASK_VREM_VX: u32 = 0xfc00707f;
pub const MATCH_VREMU_VV: u32 = 0x88002057;
pub const MASK_VREMU_VV: u32 = 0xfc00707f;
pub const MATCH_VREMU_VX: u32 = 0x88006057;
pub const MASK_VREMU_VX: u32 = 0xfc00707f;
pub const MATCH_VREV8_V: u32 = 0x4804a057;
pub const MASK_VREV8_V: u32 = 0xfc0ff07f;
pub const MATCH_VRGATHER_VI: u32 = 0x30003057;
pub const MASK_VRGATHER_VI: u32 = 0xfc00707f;
pub const MATCH_VRGATHER_VV: u32 = 0x30000057;
pub const MASK_VRGATHER_VV: u32 = 0xfc00707f;
pub const MATCH_VRGATHER_VX: u32 = 0x30004057;
pub const MASK_VRGATHER_VX: u32 = 0xfc00707f;
pub const MATCH_VRGATHEREI16_VV: u32 = 0x38000057;
pub const MASK_VRGATHEREI16_VV: u32 = 0xfc00707f;
pub const MATCH_VROL_VV: u32 = 0x54000057;
pub const MASK_VROL_VV: u32 = 0xfc00707f;
pub const MATCH_VROL_VX: u32 = 0x54004057;
pub const MASK_VROL_VX: u32 = 0xfc00707f;
pub const MATCH_VROR_VI: u32 = 0x50003057;
pub const MASK_VROR_VI: u32 = 0xf800707f;
pub const MATCH_VROR_VV: u32 = 0x50000057;
pub const MASK_VROR_VV: u32 = 0xfc00707f;
pub const MATCH_VROR_VX: u32 = 0x50004057;
pub const MASK_VROR_VX: u32 = 0xfc00707f;
pub const MATCH_VRSUB_VI: u32 = 0xc003057;
pub const MASK_VRSUB_VI: u32 = 0xfc00707f;
pub const MATCH_VRSUB_VX: u32 = 0xc004057;
pub const MASK_VRSUB_VX: u32 = 0xfc00707f;
pub const MATCH_VS1R_V: u32 = 0x2800027;
pub const MASK_VS1R_V: u32 = 0xfff0707f;
pub const MATCH_VS2R_V: u32 = 0x22800027;
pub const MASK_VS2R_V: u32 = 0xfff0707f;
pub const MATCH_VS4R_V: u32 = 0x62800027;
pub const MASK_VS4R_V: u32 = 0xfff0707f;
pub const MATCH_VS8R_V: u32 = 0xe2800027;
pub const MASK_VS8R_V: u32 = 0xfff0707f;
pub const MATCH_VSADD_VI: u32 = 0x84003057;
pub const MASK_VSADD_VI: u32 = 0xfc00707f;
pub const MATCH_VSADD_VV: u32 = 0x84000057;
pub const MASK_VSADD_VV: u32 = 0xfc00707f;
pub const MATCH_VSADD_VX: u32 = 0x84004057;
pub const MASK_VSADD_VX: u32 = 0xfc00707f;
pub const MATCH_VSADDU_VI: u32 = 0x80003057;
pub const MASK_VSADDU_VI: u32 = 0xfc00707f;
pub const MATCH_VSADDU_VV: u32 = 0x80000057;
pub const MASK_VSADDU_VV: u32 = 0xfc00707f;
pub const MATCH_VSADDU_VX: u32 = 0x80004057;
pub const MASK_VSADDU_VX: u32 = 0xfc00707f;
pub const MATCH_VSBC_VVM: u32 = 0x48000057;
pub const MASK_VSBC_VVM: u32 = 0xfe00707f;
pub const MATCH_VSBC_VXM: u32 = 0x48004057;
pub const MASK_VSBC_VXM: u32 = 0xfe00707f;
pub const MATCH_VSE16_V: u32 = 0x5027;
pub const MASK_VSE16_V: u32 = 0x1df0707f;
pub const MATCH_VSE1_V: u32 = 0x2b00027;
pub const MASK_VSE1_V: u32 = 0xfff0707f;
pub const MATCH_VSE32_V: u32 = 0x6027;
pub const MASK_VSE32_V: u32 = 0x1df0707f;
pub const MATCH_VSE64_V: u32 = 0x7027;
pub const MASK_VSE64_V: u32 = 0x1df0707f;
pub const MATCH_VSE8_V: u32 = 0x27;
pub const MASK_VSE8_V: u32 = 0x1df0707f;
pub const MATCH_VSETIVLI: u32 = 0xc0007057;
pub const MASK_VSETIVLI: u32 = 0xc000707f;
pub const MATCH_VSETVL: u32 = 0x80007057;
pub const MASK_VSETVL: u32 = 0xfe00707f;
pub const MATCH_VSETVLI: u32 = 0x7057;
pub const MASK_VSETVLI: u32 = 0x8000707f;
pub const MATCH_VSEXT_VF2: u32 = 0x4803a057;
pub const MASK_VSEXT_VF2: u32 = 0xfc0ff07f;
pub const MATCH_VSEXT_VF4: u32 = 0x4802a057;
pub const MASK_VSEXT_VF4: u32 = 0xfc0ff07f;
pub const MATCH_VSEXT_VF8: u32 = 0x4801a057;
pub const MASK_VSEXT_VF8: u32 = 0xfc0ff07f;
pub const MATCH_VSHA2CH_VV: u32 = 0xba002077;
pub const MASK_VSHA2CH_VV: u32 = 0xfe00707f;
pub const MATCH_VSHA2CL_VV: u32 = 0xbe002077;
pub const MASK_VSHA2CL_VV: u32 = 0xfe00707f;
pub const MATCH_VSHA2MS_VV: u32 = 0xb6002077;
pub const MASK_VSHA2MS_VV: u32 = 0xfe00707f;
pub const MATCH_VSLIDE1DOWN_VX: u32 = 0x3c006057;
pub const MASK_VSLIDE1DOWN_VX: u32 = 0xfc00707f;
pub const MATCH_VSLIDE1UP_VX: u32 = 0x38006057;
pub const MASK_VSLIDE1UP_VX: u32 = 0xfc00707f;
pub const MATCH_VSLIDEDOWN_VI: u32 = 0x3c003057;
pub const MASK_VSLIDEDOWN_VI: u32 = 0xfc00707f;
pub const MATCH_VSLIDEDOWN_VX: u32 = 0x3c004057;
pub const MASK_VSLIDEDOWN_VX: u32 = 0xfc00707f;
pub const MATCH_VSLIDEUP_VI: u32 = 0x38003057;
pub const MASK_VSLIDEUP_VI: u32 = 0xfc00707f;
pub const MATCH_VSLIDEUP_VX: u32 = 0x38004057;
pub const MASK_VSLIDEUP_VX: u32 = 0xfc00707f;
pub const MATCH_VSLL_VI: u32 = 0x94003057;
pub const MASK_VSLL_VI: u32 = 0xfc00707f;
pub const MATCH_VSLL_VV: u32 = 0x94000057;
pub const MASK_VSLL_VV: u32 = 0xfc00707f;
pub const MATCH_VSLL_VX: u32 = 0x94004057;
pub const MASK_VSLL_VX: u32 = 0xfc00707f;
pub const MATCH_VSM3C_VI: u32 = 0xae002077;
pub const MASK_VSM3C_VI: u32 = 0xfe00707f;
pub const MATCH_VSM3ME_VV: u32 = 0x82002077;
pub const MASK_VSM3ME_VV: u32 = 0xfe00707f;
pub const MATCH_VSM4K_VI: u32 = 0x86002077;
pub const MASK_VSM4K_VI: u32 = 0xfe00707f;
pub const MATCH_VSM4R_VS: u32 = 0xa6082077;
pub const MASK_VSM4R_VS: u32 = 0xfe0ff07f;
pub const MATCH_VSM4R_VV: u32 = 0xa2082077;
pub const MASK_VSM4R_VV: u32 = 0xfe0ff07f;
pub const MATCH_VSM_V: u32 = 0x2b00027;
pub const MASK_VSM_V: u32 = 0xfff0707f;
pub const MATCH_VSMUL_VV: u32 = 0x9c000057;
pub const MASK_VSMUL_VV: u32 = 0xfc00707f;
pub const MATCH_VSMUL_VX: u32 = 0x9c004057;
pub const MASK_VSMUL_VX: u32 = 0xfc00707f;
pub const MATCH_VSOXEI16_V: u32 = 0xc005027;
pub const MASK_VSOXEI16_V: u32 = 0x1c00707f;
pub const MATCH_VSOXEI32_V: u32 = 0xc006027;
pub const MASK_VSOXEI32_V: u32 = 0x1c00707f;
pub const MATCH_VSOXEI64_V: u32 = 0xc007027;
pub const MASK_VSOXEI64_V: u32 = 0x1c00707f;
pub const MATCH_VSOXEI8_V: u32 = 0xc000027;
pub const MASK_VSOXEI8_V: u32 = 0x1c00707f;
pub const MATCH_VSRA_VI: u32 = 0xa4003057;
pub const MASK_VSRA_VI: u32 = 0xfc00707f;
pub const MATCH_VSRA_VV: u32 = 0xa4000057;
pub const MASK_VSRA_VV: u32 = 0xfc00707f;
pub const MATCH_VSRA_VX: u32 = 0xa4004057;
pub const MASK_VSRA_VX: u32 = 0xfc00707f;
pub const MATCH_VSRL_VI: u32 = 0xa0003057;
pub const MASK_VSRL_VI: u32 = 0xfc00707f;
pub const MATCH_VSRL_VV: u32 = 0xa0000057;
pub const MASK_VSRL_VV: u32 = 0xfc00707f;
pub const MATCH_VSRL_VX: u32 = 0xa0004057;
pub const MASK_VSRL_VX: u32 = 0xfc00707f;
pub const MATCH_VSSE16_V: u32 = 0x8005027;
pub const MASK_VSSE16_V: u32 = 0x1c00707f;
pub const MATCH_VSSE32_V: u32 = 0x8006027;
pub const MASK_VSSE32_V: u32 = 0x1c00707f;
pub const MATCH_VSSE64_V: u32 = 0x8007027;
pub const MASK_VSSE64_V: u32 = 0x1c00707f;
pub const MATCH_VSSE8_V: u32 = 0x8000027;
pub const MASK_VSSE8_V: u32 = 0x1c00707f;
pub const MATCH_VSSRA_VI: u32 = 0xac003057;
pub const MASK_VSSRA_VI: u32 = 0xfc00707f;
pub const MATCH_VSSRA_VV: u32 = 0xac000057;
pub const MASK_VSSRA_VV: u32 = 0xfc00707f;
pub const MATCH_VSSRA_VX: u32 = 0xac004057;
pub const MASK_VSSRA_VX: u32 = 0xfc00707f;
pub const MATCH_VSSRL_VI: u32 = 0xa8003057;
pub const MASK_VSSRL_VI: u32 = 0xfc00707f;
pub const MATCH_VSSRL_VV: u32 = 0xa8000057;
pub const MASK_VSSRL_VV: u32 = 0xfc00707f;
pub const MATCH_VSSRL_VX: u32 = 0xa8004057;
pub const MASK_VSSRL_VX: u32 = 0xfc00707f;
pub const MATCH_VSSUB_VV: u32 = 0x8c000057;
pub const MASK_VSSUB_VV: u32 = 0xfc00707f;
pub const MATCH_VSSUB_VX: u32 = 0x8c004057;
pub const MASK_VSSUB_VX: u32 = 0xfc00707f;
pub const MATCH_VSSUBU_VV: u32 = 0x88000057;
pub const MASK_VSSUBU_VV: u32 = 0xfc00707f;
pub const MATCH_VSSUBU_VX: u32 = 0x88004057;
pub const MASK_VSSUBU_VX: u32 = 0xfc00707f;
pub const MATCH_VSUB_VV: u32 = 0x8000057;
pub const MASK_VSUB_VV: u32 = 0xfc00707f;
pub const MATCH_VSUB_VX: u32 = 0x8004057;
pub const MASK_VSUB_VX: u32 = 0xfc00707f;
pub const MATCH_VSUXEI16_V: u32 = 0x4005027;
pub const MASK_VSUXEI16_V: u32 = 0x1c00707f;
pub const MATCH_VSUXEI32_V: u32 = 0x4006027;
pub const MASK_VSUXEI32_V: u32 = 0x1c00707f;
pub const MATCH_VSUXEI64_V: u32 = 0x4007027;
pub const MASK_VSUXEI64_V: u32 = 0x1c00707f;
pub const MATCH_VSUXEI8_V: u32 = 0x4000027;
pub const MASK_VSUXEI8_V: u32 = 0x1c00707f;
pub const MATCH_VWADD_VV: u32 = 0xc4002057;
pub const MASK_VWADD_VV: u32 = 0xfc00707f;
pub const MATCH_VWADD_VX: u32 = 0xc4006057;
pub const MASK_VWADD_VX: u32 = 0xfc00707f;
pub const MATCH_VWADD_WV: u32 = 0xd4002057;
pub const MASK_VWADD_WV: u32 = 0xfc00707f;
pub const MATCH_VWADD_WX: u32 = 0xd4006057;
pub const MASK_VWADD_WX: u32 = 0xfc00707f;
pub const MATCH_VWADDU_VV: u32 = 0xc0002057;
pub const MASK_VWADDU_VV: u32 = 0xfc00707f;
pub const MATCH_VWADDU_VX: u32 = 0xc0006057;
pub const MASK_VWADDU_VX: u32 = 0xfc00707f;
pub const MATCH_VWADDU_WV: u32 = 0xd0002057;
pub const MASK_VWADDU_WV: u32 = 0xfc00707f;
pub const MATCH_VWADDU_WX: u32 = 0xd0006057;
pub const MASK_VWADDU_WX: u32 = 0xfc00707f;
pub const MATCH_VWMACC_VV: u32 = 0xf4002057;
pub const MASK_VWMACC_VV: u32 = 0xfc00707f;
pub const MATCH_VWMACC_VX: u32 = 0xf4006057;
pub const MASK_VWMACC_VX: u32 = 0xfc00707f;
pub const MATCH_VWMACCSU_VV: u32 = 0xfc002057;
pub const MASK_VWMACCSU_VV: u32 = 0xfc00707f;
pub const MATCH_VWMACCSU_VX: u32 = 0xfc006057;
pub const MASK_VWMACCSU_VX: u32 = 0xfc00707f;
pub const MATCH_VWMACCU_VV: u32 = 0xf0002057;
pub const MASK_VWMACCU_VV: u32 = 0xfc00707f;
pub const MATCH_VWMACCU_VX: u32 = 0xf0006057;
pub const MASK_VWMACCU_VX: u32 = 0xfc00707f;
pub const MATCH_VWMACCUS_VX: u32 = 0xf8006057;
pub const MASK_VWMACCUS_VX: u32 = 0xfc00707f;
pub const MATCH_VWMUL_VV: u32 = 0xec002057;
pub const MASK_VWMUL_VV: u32 = 0xfc00707f;
pub const MATCH_VWMUL_VX: u32 = 0xec006057;
pub const MASK_VWMUL_VX: u32 = 0xfc00707f;
pub const MATCH_VWMULSU_VV: u32 = 0xe8002057;
pub const MASK_VWMULSU_VV: u32 = 0xfc00707f;
pub const MATCH_VWMULSU_VX: u32 = 0xe8006057;
pub const MASK_VWMULSU_VX: u32 = 0xfc00707f;
pub const MATCH_VWMULU_VV: u32 = 0xe0002057;
pub const MASK_VWMULU_VV: u32 = 0xfc00707f;
pub const MATCH_VWMULU_VX: u32 = 0xe0006057;
pub const MASK_VWMULU_VX: u32 = 0xfc00707f;
pub const MATCH_VWREDSUM_VS: u32 = 0xc4000057;
pub const MASK_VWREDSUM_VS: u32 = 0xfc00707f;
pub const MATCH_VWREDSUMU_VS: u32 = 0xc0000057;
pub const MASK_VWREDSUMU_VS: u32 = 0xfc00707f;
pub const MATCH_VWSLL_VI: u32 = 0xd4003057;
pub const MASK_VWSLL_VI: u32 = 0xfc00707f;
pub const MATCH_VWSLL_VV: u32 = 0xd4000057;
pub const MASK_VWSLL_VV: u32 = 0xfc00707f;
pub const MATCH_VWSLL_VX: u32 = 0xd4004057;
pub const MASK_VWSLL_VX: u32 = 0xfc00707f;
pub const MATCH_VWSUB_VV: u32 = 0xcc002057;
pub const MASK_VWSUB_VV: u32 = 0xfc00707f;
pub const MATCH_VWSUB_VX: u32 = 0xcc006057;
pub const MASK_VWSUB_VX: u32 = 0xfc00707f;
pub const MATCH_VWSUB_WV: u32 = 0xdc002057;
pub const MASK_VWSUB_WV: u32 = 0xfc00707f;
pub const MATCH_VWSUB_WX: u32 = 0xdc006057;
pub const MASK_VWSUB_WX: u32 = 0xfc00707f;
pub const MATCH_VWSUBU_VV: u32 = 0xc8002057;
pub const MASK_VWSUBU_VV: u32 = 0xfc00707f;
pub const MATCH_VWSUBU_VX: u32 = 0xc8006057;
pub const MASK_VWSUBU_VX: u32 = 0xfc00707f;
pub const MATCH_VWSUBU_WV: u32 = 0xd8002057;
pub const MASK_VWSUBU_WV: u32 = 0xfc00707f;
pub const MATCH_VWSUBU_WX: u32 = 0xd8006057;
pub const MASK_VWSUBU_WX: u32 = 0xfc00707f;
pub const MATCH_VXOR_VI: u32 = 0x2c003057;
pub const MASK_VXOR_VI: u32 = 0xfc00707f;
pub const MATCH_VXOR_VV: u32 = 0x2c000057;
pub const MASK_VXOR_VV: u32 = 0xfc00707f;
pub const MATCH_VXOR_VX: u32 = 0x2c004057;
pub const MASK_VXOR_VX: u32 = 0xfc00707f;
pub const MATCH_VZEXT_VF2: u32 = 0x48032057;
pub const MASK_VZEXT_VF2: u32 = 0xfc0ff07f;
pub const MATCH_VZEXT_VF4: u32 = 0x48022057;
pub const MASK_VZEXT_VF4: u32 = 0xfc0ff07f;
pub const MATCH_VZEXT_VF8: u32 = 0x48012057;
pub const MASK_VZEXT_VF8: u32 = 0xfc0ff07f;
pub const MATCH_WFI: u32 = 0x10500073;
pub const MASK_WFI: u32 = 0xffffffff;
pub const MATCH_WRS_NTO: u32 = 0xd00073;
pub const MASK_WRS_NTO: u32 = 0xffffffff;
pub const MATCH_WRS_STO: u32 = 0x1d00073;
pub const MASK_WRS_STO: u32 = 0xffffffff;
pub const MATCH_XNOR: u32 = 0x40004033;
pub const MASK_XNOR: u32 = 0xfe00707f;
pub const MATCH_XOR: u32 = 0x4033;
pub const MASK_XOR: u32 = 0xfe00707f;
pub const MATCH_XORI: u32 = 0x4013;
pub const MASK_XORI: u32 = 0x707f;
pub const MATCH_XPERM4: u32 = 0x28002033;
pub const MASK_XPERM4: u32 = 0xfe00707f;
pub const MATCH_XPERM8: u32 = 0x28004033;
pub const MASK_XPERM8: u32 = 0xfe00707f;
pub const MATCH_ZEXT_B: u32 = 0x7013;
pub const MASK_ZEXT_B: u32 = 0xfff0707f;
pub const MATCH_ZEXT_H: u32 = 0x800403b;
pub const MASK_ZEXT_H: u32 = 0xfff0707f;
pub const MATCH_ZEXT_H_RV32: u32 = 0x8004033;
pub const MASK_ZEXT_H_RV32: u32 = 0xfff0707f;
pub const MATCH_ZEXT_W: u32 = 0x800003b;
pub const MASK_ZEXT_W: u32 = 0xfff0707f;
pub const MATCH_ZIP: u32 = 0x8f01013;
pub const MASK_ZIP: u32 = 0xfff0707f;
pub const CSR_FFLAGS: u16 = 0x1;
pub const CSR_FRM: u16 = 0x2;
pub const CSR_FCSR: u16 = 0x3;
pub const CSR_VSTART: u16 = 0x8;
pub const CSR_VXSAT: u16 = 0x9;
pub const CSR_VXRM: u16 = 0xa;
pub const CSR_VCSR: u16 = 0xf;
pub const CSR_SSP: u16 = 0x11;
pub const CSR_SEED: u16 = 0x15;
pub const CSR_JVT: u16 = 0x17;
pub const CSR_CYCLE: u16 = 0xc00;
pub const CSR_TIME: u16 = 0xc01;
pub const CSR_INSTRET: u16 = 0xc02;
pub const CSR_HPMCOUNTER3: u16 = 0xc03;
pub const CSR_HPMCOUNTER4: u16 = 0xc04;
pub const CSR_HPMCOUNTER5: u16 = 0xc05;
pub const CSR_HPMCOUNTER6: u16 = 0xc06;
pub const CSR_HPMCOUNTER7: u16 = 0xc07;
pub const CSR_HPMCOUNTER8: u16 = 0xc08;
pub const CSR_HPMCOUNTER9: u16 = 0xc09;
pub const CSR_HPMCOUNTER10: u16 = 0xc0a;
pub const CSR_HPMCOUNTER11: u16 = 0xc0b;
pub const CSR_HPMCOUNTER12: u16 = 0xc0c;
pub const CSR_HPMCOUNTER13: u16 = 0xc0d;
pub const CSR_HPMCOUNTER14: u16 = 0xc0e;
pub const CSR_HPMCOUNTER15: u16 = 0xc0f;
pub const CSR_HPMCOUNTER16: u16 = 0xc10;
pub const CSR_HPMCOUNTER17: u16 = 0xc11;
pub const CSR_HPMCOUNTER18: u16 = 0xc12;
pub const CSR_HPMCOUNTER19: u16 = 0xc13;
pub const CSR_HPMCOUNTER20: u16 = 0xc14;
pub const CSR_HPMCOUNTER21: u16 = 0xc15;
pub const CSR_HPMCOUNTER22: u16 = 0xc16;
pub const CSR_HPMCOUNTER23: u16 = 0xc17;
pub const CSR_HPMCOUNTER24: u16 = 0xc18;
pub const CSR_HPMCOUNTER25: u16 = 0xc19;
pub const CSR_HPMCOUNTER26: u16 = 0xc1a;
pub const CSR_HPMCOUNTER27: u16 = 0xc1b;
pub const CSR_HPMCOUNTER28: u16 = 0xc1c;
pub const CSR_HPMCOUNTER29: u16 = 0xc1d;
pub const CSR_HPMCOUNTER30: u16 = 0xc1e;
pub const CSR_HPMCOUNTER31: u16 = 0xc1f;
pub const CSR_VL: u16 = 0xc20;
pub const CSR_VTYPE: u16 = 0xc21;
pub const CSR_VLENB: u16 = 0xc22;
pub const CSR_SSTATUS: u16 = 0x100;
pub const CSR_SEDELEG: u16 = 0x102;
pub const CSR_SIDELEG: u16 = 0x103;
pub const CSR_SIE: u16 = 0x104;
pub const CSR_STVEC: u16 = 0x105;
pub const CSR_SCOUNTEREN: u16 = 0x106;
pub const CSR_SENVCFG: u16 = 0x10a;
pub const CSR_SSTATEEN0: u16 = 0x10c;
pub const CSR_SSTATEEN1: u16 = 0x10d;
pub const CSR_SSTATEEN2: u16 = 0x10e;
pub const CSR_SSTATEEN3: u16 = 0x10f;
pub const CSR_SCOUNTINHIBIT: u16 = 0x120;
pub const CSR_SSCRATCH: u16 = 0x140;
pub const CSR_SEPC: u16 = 0x141;
pub const CSR_SCAUSE: u16 = 0x142;
pub const CSR_STVAL: u16 = 0x143;
pub const CSR_SIP: u16 = 0x144;
pub const CSR_STIMECMP: u16 = 0x14d;
pub const CSR_SCTRCTL: u16 = 0x14e;
pub const CSR_SCTRSTATUS: u16 = 0x14f;
pub const CSR_SISELECT: u16 = 0x150;
pub const CSR_SIREG: u16 = 0x151;
pub const CSR_SIREG2: u16 = 0x152;
pub const CSR_SIREG3: u16 = 0x153;
pub const CSR_SIREG4: u16 = 0x155;
pub const CSR_SIREG5: u16 = 0x156;
pub const CSR_SIREG6: u16 = 0x157;
pub const CSR_STOPEI: u16 = 0x15c;
pub const CSR_SCTRDEPTH: u16 = 0x15f;
pub const CSR_SATP: u16 = 0x180;
pub const CSR_SRMCFG: u16 = 0x181;
pub const CSR_SCONTEXT: u16 = 0x5a8;
pub const CSR_VSSTATUS: u16 = 0x200;
pub const CSR_VSIE: u16 = 0x204;
pub const CSR_VSTVEC: u16 = 0x205;
pub const CSR_VSSCRATCH: u16 = 0x240;
pub const CSR_VSEPC: u16 = 0x241;
pub const CSR_VSCAUSE: u16 = 0x242;
pub const CSR_VSTVAL: u16 = 0x243;
pub const CSR_VSIP: u16 = 0x244;
pub const CSR_VSTIMECMP: u16 = 0x24d;
pub const CSR_VSCTRCTL: u16 = 0x24e;
pub const CSR_VSISELECT: u16 = 0x250;
pub const CSR_VSIREG: u16 = 0x251;
pub const CSR_VSIREG2: u16 = 0x252;
pub const CSR_VSIREG3: u16 = 0x253;
pub const CSR_VSIREG4: u16 = 0x255;
pub const CSR_VSIREG5: u16 = 0x256;
pub const CSR_VSIREG6: u16 = 0x257;
pub const CSR_VSTOPEI: u16 = 0x25c;
pub const CSR_VSATP: u16 = 0x280;
pub const CSR_HSTATUS: u16 = 0x600;
pub const CSR_HEDELEG: u16 = 0x602;
pub const CSR_HIDELEG: u16 = 0x603;
pub const CSR_HIE: u16 = 0x604;
pub const CSR_HTIMEDELTA: u16 = 0x605;
pub const CSR_HCOUNTEREN: u16 = 0x606;
pub const CSR_HGEIE: u16 = 0x607;
pub const CSR_HVIEN: u16 = 0x608;
pub const CSR_HVICTL: u16 = 0x609;
pub const CSR_HENVCFG: u16 = 0x60a;
pub const CSR_HSTATEEN0: u16 = 0x60c;
pub const CSR_HSTATEEN1: u16 = 0x60d;
pub const CSR_HSTATEEN2: u16 = 0x60e;
pub const CSR_HSTATEEN3: u16 = 0x60f;
pub const CSR_HTVAL: u16 = 0x643;
pub const CSR_HIP: u16 = 0x644;
pub const CSR_HVIP: u16 = 0x645;
pub const CSR_HVIPRIO1: u16 = 0x646;
pub const CSR_HVIPRIO2: u16 = 0x647;
pub const CSR_HTINST: u16 = 0x64a;
pub const CSR_HGATP: u16 = 0x680;
pub const CSR_HCONTEXT: u16 = 0x6a8;
pub const CSR_HGEIP: u16 = 0xe12;
pub const CSR_VSTOPI: u16 = 0xeb0;
pub const CSR_SCOUNTOVF: u16 = 0xda0;
pub const CSR_STOPI: u16 = 0xdb0;
pub const CSR_UTVT: u16 = 0x7;
pub const CSR_UNXTI: u16 = 0x45;
pub const CSR_UINTSTATUS: u16 = 0x46;
pub const CSR_USCRATCHCSW: u16 = 0x48;
pub const CSR_USCRATCHCSWL: u16 = 0x49;
pub const CSR_STVT: u16 = 0x107;
pub const CSR_SNXTI: u16 = 0x145;
pub const CSR_SINTSTATUS: u16 = 0x146;
pub const CSR_SSCRATCHCSW: u16 = 0x148;
pub const CSR_SSCRATCHCSWL: u16 = 0x149;
pub const CSR_MTVT: u16 = 0x307;
pub const CSR_MNXTI: u16 = 0x345;
pub const CSR_MINTSTATUS: u16 = 0x346;
pub const CSR_MSCRATCHCSW: u16 = 0x348;
pub const CSR_MSCRATCHCSWL: u16 = 0x349;
pub const CSR_MSTATUS: u16 = 0x300;
pub const CSR_MISA: u16 = 0x301;
pub const CSR_MEDELEG: u16 = 0x302;
pub const CSR_MIDELEG: u16 = 0x303;
pub const CSR_MIE: u16 = 0x304;
pub const CSR_MTVEC: u16 = 0x305;
pub const CSR_MCOUNTEREN: u16 = 0x306;
pub const CSR_MVIEN: u16 = 0x308;
pub const CSR_MVIP: u16 = 0x309;
pub const CSR_MENVCFG: u16 = 0x30a;
pub const CSR_MSTATEEN0: u16 = 0x30c;
pub const CSR_MSTATEEN1: u16 = 0x30d;
pub const CSR_MSTATEEN2: u16 = 0x30e;
pub const CSR_MSTATEEN3: u16 = 0x30f;
pub const CSR_MCOUNTINHIBIT: u16 = 0x320;
pub const CSR_MSCRATCH: u16 = 0x340;
pub const CSR_MEPC: u16 = 0x341;
pub const CSR_MCAUSE: u16 = 0x342;
pub const CSR_MTVAL: u16 = 0x343;
pub const CSR_MIP: u16 = 0x344;
pub const CSR_MTINST: u16 = 0x34a;
pub const CSR_MTVAL2: u16 = 0x34b;
pub const CSR_MCTRCTL: u16 = 0x34e;
pub const CSR_MISELECT: u16 = 0x350;
pub const CSR_MIREG: u16 = 0x351;
pub const CSR_MIREG2: u16 = 0x352;
pub const CSR_MIREG3: u16 = 0x353;
pub const CSR_MIREG4: u16 = 0x355;
pub const CSR_MIREG5: u16 = 0x356;
pub const CSR_MIREG6: u16 = 0x357;
pub const CSR_MTOPEI: u16 = 0x35c;
pub const CSR_PMPCFG0: u16 = 0x3a0;
pub const CSR_PMPCFG1: u16 = 0x3a1;
pub const CSR_PMPCFG2: u16 = 0x3a2;
pub const CSR_PMPCFG3: u16 = 0x3a3;
pub const CSR_PMPCFG4: u16 = 0x3a4;
pub const CSR_PMPCFG5: u16 = 0x3a5;
pub const CSR_PMPCFG6: u16 = 0x3a6;
pub const CSR_PMPCFG7: u16 = 0x3a7;
pub const CSR_PMPCFG8: u16 = 0x3a8;
pub const CSR_PMPCFG9: u16 = 0x3a9;
pub const CSR_PMPCFG10: u16 = 0x3aa;
pub const CSR_PMPCFG11: u16 = 0x3ab;
pub const CSR_PMPCFG12: u16 = 0x3ac;
pub const CSR_PMPCFG13: u16 = 0x3ad;
pub const CSR_PMPCFG14: u16 = 0x3ae;
pub const CSR_PMPCFG15: u16 = 0x3af;
pub const CSR_PMPADDR0: u16 = 0x3b0;
pub const CSR_PMPADDR1: u16 = 0x3b1;
pub const CSR_PMPADDR2: u16 = 0x3b2;
pub const CSR_PMPADDR3: u16 = 0x3b3;
pub const CSR_PMPADDR4: u16 = 0x3b4;
pub const CSR_PMPADDR5: u16 = 0x3b5;
pub const CSR_PMPADDR6: u16 = 0x3b6;
pub const CSR_PMPADDR7: u16 = 0x3b7;
pub const CSR_PMPADDR8: u16 = 0x3b8;
pub const CSR_PMPADDR9: u16 = 0x3b9;
pub const CSR_PMPADDR10: u16 = 0x3ba;
pub const CSR_PMPADDR11: u16 = 0x3bb;
pub const CSR_PMPADDR12: u16 = 0x3bc;
pub const CSR_PMPADDR13: u16 = 0x3bd;
pub const CSR_PMPADDR14: u16 = 0x3be;
pub const CSR_PMPADDR15: u16 = 0x3bf;
pub const CSR_PMPADDR16: u16 = 0x3c0;
pub const CSR_PMPADDR17: u16 = 0x3c1;
pub const CSR_PMPADDR18: u16 = 0x3c2;
pub const CSR_PMPADDR19: u16 = 0x3c3;
pub const CSR_PMPADDR20: u16 = 0x3c4;
pub const CSR_PMPADDR21: u16 = 0x3c5;
pub const CSR_PMPADDR22: u16 = 0x3c6;
pub const CSR_PMPADDR23: u16 = 0x3c7;
pub const CSR_PMPADDR24: u16 = 0x3c8;
pub const CSR_PMPADDR25: u16 = 0x3c9;
pub const CSR_PMPADDR26: u16 = 0x3ca;
pub const CSR_PMPADDR27: u16 = 0x3cb;
pub const CSR_PMPADDR28: u16 = 0x3cc;
pub const CSR_PMPADDR29: u16 = 0x3cd;
pub const CSR_PMPADDR30: u16 = 0x3ce;
pub const CSR_PMPADDR31: u16 = 0x3cf;
pub const CSR_PMPADDR32: u16 = 0x3d0;
pub const CSR_PMPADDR33: u16 = 0x3d1;
pub const CSR_PMPADDR34: u16 = 0x3d2;
pub const CSR_PMPADDR35: u16 = 0x3d3;
pub const CSR_PMPADDR36: u16 = 0x3d4;
pub const CSR_PMPADDR37: u16 = 0x3d5;
pub const CSR_PMPADDR38: u16 = 0x3d6;
pub const CSR_PMPADDR39: u16 = 0x3d7;
pub const CSR_PMPADDR40: u16 = 0x3d8;
pub const CSR_PMPADDR41: u16 = 0x3d9;
pub const CSR_PMPADDR42: u16 = 0x3da;
pub const CSR_PMPADDR43: u16 = 0x3db;
pub const CSR_PMPADDR44: u16 = 0x3dc;
pub const CSR_PMPADDR45: u16 = 0x3dd;
pub const CSR_PMPADDR46: u16 = 0x3de;
pub const CSR_PMPADDR47: u16 = 0x3df;
pub const CSR_PMPADDR48: u16 = 0x3e0;
pub const CSR_PMPADDR49: u16 = 0x3e1;
pub const CSR_PMPADDR50: u16 = 0x3e2;
pub const CSR_PMPADDR51: u16 = 0x3e3;
pub const CSR_PMPADDR52: u16 = 0x3e4;
pub const CSR_PMPADDR53: u16 = 0x3e5;
pub const CSR_PMPADDR54: u16 = 0x3e6;
pub const CSR_PMPADDR55: u16 = 0x3e7;
pub const CSR_PMPADDR56: u16 = 0x3e8;
pub const CSR_PMPADDR57: u16 = 0x3e9;
pub const CSR_PMPADDR58: u16 = 0x3ea;
pub const CSR_PMPADDR59: u16 = 0x3eb;
pub const CSR_PMPADDR60: u16 = 0x3ec;
pub const CSR_PMPADDR61: u16 = 0x3ed;
pub const CSR_PMPADDR62: u16 = 0x3ee;
pub const CSR_PMPADDR63: u16 = 0x3ef;
pub const CSR_MSECCFG: u16 = 0x747;
pub const CSR_TSELECT: u16 = 0x7a0;
pub const CSR_TDATA1: u16 = 0x7a1;
pub const CSR_TDATA2: u16 = 0x7a2;
pub const CSR_TDATA3: u16 = 0x7a3;
pub const CSR_TINFO: u16 = 0x7a4;
pub const CSR_TCONTROL: u16 = 0x7a5;
pub const CSR_MCONTEXT: u16 = 0x7a8;
pub const CSR_MSCONTEXT: u16 = 0x7aa;
pub const CSR_DCSR: u16 = 0x7b0;
pub const CSR_DPC: u16 = 0x7b1;
pub const CSR_DSCRATCH0: u16 = 0x7b2;
pub const CSR_DSCRATCH1: u16 = 0x7b3;
pub const CSR_MCYCLE: u16 = 0xb00;
pub const CSR_MINSTRET: u16 = 0xb02;
pub const CSR_MHPMCOUNTER3: u16 = 0xb03;
pub const CSR_MHPMCOUNTER4: u16 = 0xb04;
pub const CSR_MHPMCOUNTER5: u16 = 0xb05;
pub const CSR_MHPMCOUNTER6: u16 = 0xb06;
pub const CSR_MHPMCOUNTER7: u16 = 0xb07;
pub const CSR_MHPMCOUNTER8: u16 = 0xb08;
pub const CSR_MHPMCOUNTER9: u16 = 0xb09;
pub const CSR_MHPMCOUNTER10: u16 = 0xb0a;
pub const CSR_MHPMCOUNTER11: u16 = 0xb0b;
pub const CSR_MHPMCOUNTER12: u16 = 0xb0c;
pub const CSR_MHPMCOUNTER13: u16 = 0xb0d;
pub const CSR_MHPMCOUNTER14: u16 = 0xb0e;
pub const CSR_MHPMCOUNTER15: u16 = 0xb0f;
pub const CSR_MHPMCOUNTER16: u16 = 0xb10;
pub const CSR_MHPMCOUNTER17: u16 = 0xb11;
pub const CSR_MHPMCOUNTER18: u16 = 0xb12;
pub const CSR_MHPMCOUNTER19: u16 = 0xb13;
pub const CSR_MHPMCOUNTER20: u16 = 0xb14;
pub const CSR_MHPMCOUNTER21: u16 = 0xb15;
pub const CSR_MHPMCOUNTER22: u16 = 0xb16;
pub const CSR_MHPMCOUNTER23: u16 = 0xb17;
pub const CSR_MHPMCOUNTER24: u16 = 0xb18;
pub const CSR_MHPMCOUNTER25: u16 = 0xb19;
pub const CSR_MHPMCOUNTER26: u16 = 0xb1a;
pub const CSR_MHPMCOUNTER27: u16 = 0xb1b;
pub const CSR_MHPMCOUNTER28: u16 = 0xb1c;
pub const CSR_MHPMCOUNTER29: u16 = 0xb1d;
pub const CSR_MHPMCOUNTER30: u16 = 0xb1e;
pub const CSR_MHPMCOUNTER31: u16 = 0xb1f;
pub const CSR_MCYCLECFG: u16 = 0x321;
pub const CSR_MINSTRETCFG: u16 = 0x322;
pub const CSR_MHPMEVENT3: u16 = 0x323;
pub const CSR_MHPMEVENT4: u16 = 0x324;
pub const CSR_MHPMEVENT5: u16 = 0x325;
pub const CSR_MHPMEVENT6: u16 = 0x326;
pub const CSR_MHPMEVENT7: u16 = 0x327;
pub const CSR_MHPMEVENT8: u16 = 0x328;
pub const CSR_MHPMEVENT9: u16 = 0x329;
pub const CSR_MHPMEVENT10: u16 = 0x32a;
pub const CSR_MHPMEVENT11: u16 = 0x32b;
pub const CSR_MHPMEVENT12: u16 = 0x32c;
pub const CSR_MHPMEVENT13: u16 = 0x32d;
pub const CSR_MHPMEVENT14: u16 = 0x32e;
pub const CSR_MHPMEVENT15: u16 = 0x32f;
pub const CSR_MHPMEVENT16: u16 = 0x330;
pub const CSR_MHPMEVENT17: u16 = 0x331;
pub const CSR_MHPMEVENT18: u16 = 0x332;
pub const CSR_MHPMEVENT19: u16 = 0x333;
pub const CSR_MHPMEVENT20: u16 = 0x334;
pub const CSR_MHPMEVENT21: u16 = 0x335;
pub const CSR_MHPMEVENT22: u16 = 0x336;
pub const CSR_MHPMEVENT23: u16 = 0x337;
pub const CSR_MHPMEVENT24: u16 = 0x338;
pub const CSR_MHPMEVENT25: u16 = 0x339;
pub const CSR_MHPMEVENT26: u16 = 0x33a;
pub const CSR_MHPMEVENT27: u16 = 0x33b;
pub const CSR_MHPMEVENT28: u16 = 0x33c;
pub const CSR_MHPMEVENT29: u16 = 0x33d;
pub const CSR_MHPMEVENT30: u16 = 0x33e;
pub const CSR_MHPMEVENT31: u16 = 0x33f;
pub const CSR_MVENDORID: u16 = 0xf11;
pub const CSR_MARCHID: u16 = 0xf12;
pub const CSR_MIMPID: u16 = 0xf13;
pub const CSR_MHARTID: u16 = 0xf14;
pub const CSR_MCONFIGPTR: u16 = 0xf15;
pub const CSR_MTOPI: u16 = 0xfb0;
pub const CSR_SIEH: u16 = 0x114;
pub const CSR_SIPH: u16 = 0x154;
pub const CSR_STIMECMPH: u16 = 0x15d;
pub const CSR_VSIEH: u16 = 0x214;
pub const CSR_VSIPH: u16 = 0x254;
pub const CSR_VSTIMECMPH: u16 = 0x25d;
pub const CSR_HTIMEDELTAH: u16 = 0x615;
pub const CSR_HIDELEGH: u16 = 0x613;
pub const CSR_HVIENH: u16 = 0x618;
pub const CSR_HENVCFGH: u16 = 0x61a;
pub const CSR_HVIPH: u16 = 0x655;
pub const CSR_HVIPRIO1H: u16 = 0x656;
pub const CSR_HVIPRIO2H: u16 = 0x657;
pub const CSR_HSTATEEN0H: u16 = 0x61c;
pub const CSR_HSTATEEN1H: u16 = 0x61d;
pub const CSR_HSTATEEN2H: u16 = 0x61e;
pub const CSR_HSTATEEN3H: u16 = 0x61f;
pub const CSR_CYCLEH: u16 = 0xc80;
pub const CSR_TIMEH: u16 = 0xc81;
pub const CSR_INSTRETH: u16 = 0xc82;
pub const CSR_HPMCOUNTER3H: u16 = 0xc83;
pub const CSR_HPMCOUNTER4H: u16 = 0xc84;
pub const CSR_HPMCOUNTER5H: u16 = 0xc85;
pub const CSR_HPMCOUNTER6H: u16 = 0xc86;
pub const CSR_HPMCOUNTER7H: u16 = 0xc87;
pub const CSR_HPMCOUNTER8H: u16 = 0xc88;
pub const CSR_HPMCOUNTER9H: u16 = 0xc89;
pub const CSR_HPMCOUNTER10H: u16 = 0xc8a;
pub const CSR_HPMCOUNTER11H: u16 = 0xc8b;
pub const CSR_HPMCOUNTER12H: u16 = 0xc8c;
pub const CSR_HPMCOUNTER13H: u16 = 0xc8d;
pub const CSR_HPMCOUNTER14H: u16 = 0xc8e;
pub const CSR_HPMCOUNTER15H: u16 = 0xc8f;
pub const CSR_HPMCOUNTER16H: u16 = 0xc90;
pub const CSR_HPMCOUNTER17H: u16 = 0xc91;
pub const CSR_HPMCOUNTER18H: u16 = 0xc92;
pub const CSR_HPMCOUNTER19H: u16 = 0xc93;
pub const CSR_HPMCOUNTER20H: u16 = 0xc94;
pub const CSR_HPMCOUNTER21H: u16 = 0xc95;
pub const CSR_HPMCOUNTER22H: u16 = 0xc96;
pub const CSR_HPMCOUNTER23H: u16 = 0xc97;
pub const CSR_HPMCOUNTER24H: u16 = 0xc98;
pub const CSR_HPMCOUNTER25H: u16 = 0xc99;
pub const CSR_HPMCOUNTER26H: u16 = 0xc9a;
pub const CSR_HPMCOUNTER27H: u16 = 0xc9b;
pub const CSR_HPMCOUNTER28H: u16 = 0xc9c;
pub const CSR_HPMCOUNTER29H: u16 = 0xc9d;
pub const CSR_HPMCOUNTER30H: u16 = 0xc9e;
pub const CSR_HPMCOUNTER31H: u16 = 0xc9f;
pub const CSR_MSTATUSH: u16 = 0x310;
pub const CSR_MIDELEGH: u16 = 0x313;
pub const CSR_MIEH: u16 = 0x314;
pub const CSR_MVIENH: u16 = 0x318;
pub const CSR_MVIPH: u16 = 0x319;
pub const CSR_MENVCFGH: u16 = 0x31a;
pub const CSR_MSTATEEN0H: u16 = 0x31c;
pub const CSR_MSTATEEN1H: u16 = 0x31d;
pub const CSR_MSTATEEN2H: u16 = 0x31e;
pub const CSR_MSTATEEN3H: u16 = 0x31f;
pub const CSR_MIPH: u16 = 0x354;
pub const CSR_MCYCLECFGH: u16 = 0x721;
pub const CSR_MINSTRETCFGH: u16 = 0x722;
pub const CSR_MHPMEVENT3H: u16 = 0x723;
pub const CSR_MHPMEVENT4H: u16 = 0x724;
pub const CSR_MHPMEVENT5H: u16 = 0x725;
pub const CSR_MHPMEVENT6H: u16 = 0x726;
pub const CSR_MHPMEVENT7H: u16 = 0x727;
pub const CSR_MHPMEVENT8H: u16 = 0x728;
pub const CSR_MHPMEVENT9H: u16 = 0x729;
pub const CSR_MHPMEVENT10H: u16 = 0x72a;
pub const CSR_MHPMEVENT11H: u16 = 0x72b;
pub const CSR_MHPMEVENT12H: u16 = 0x72c;
pub const CSR_MHPMEVENT13H: u16 = 0x72d;
pub const CSR_MHPMEVENT14H: u16 = 0x72e;
pub const CSR_MHPMEVENT15H: u16 = 0x72f;
pub const CSR_MHPMEVENT16H: u16 = 0x730;
pub const CSR_MHPMEVENT17H: u16 = 0x731;
pub const CSR_MHPMEVENT18H: u16 = 0x732;
pub const CSR_MHPMEVENT19H: u16 = 0x733;
pub const CSR_MHPMEVENT20H: u16 = 0x734;
pub const CSR_MHPMEVENT21H: u16 = 0x735;
pub const CSR_MHPMEVENT22H: u16 = 0x736;
pub const CSR_MHPMEVENT23H: u16 = 0x737;
pub const CSR_MHPMEVENT24H: u16 = 0x738;
pub const CSR_MHPMEVENT25H: u16 = 0x739;
pub const CSR_MHPMEVENT26H: u16 = 0x73a;
pub const CSR_MHPMEVENT27H: u16 = 0x73b;
pub const CSR_MHPMEVENT28H: u16 = 0x73c;
pub const CSR_MHPMEVENT29H: u16 = 0x73d;
pub const CSR_MHPMEVENT30H: u16 = 0x73e;
pub const CSR_MHPMEVENT31H: u16 = 0x73f;
pub const CSR_MNSCRATCH: u16 = 0x740;
pub const CSR_MNEPC: u16 = 0x741;
pub const CSR_MNCAUSE: u16 = 0x742;
pub const CSR_MNSTATUS: u16 = 0x744;
pub const CSR_MSECCFGH: u16 = 0x757;
pub const CSR_MCYCLEH: u16 = 0xb80;
pub const CSR_MINSTRETH: u16 = 0xb82;
pub const CSR_MHPMCOUNTER3H: u16 = 0xb83;
pub const CSR_MHPMCOUNTER4H: u16 = 0xb84;
pub const CSR_MHPMCOUNTER5H: u16 = 0xb85;
pub const CSR_MHPMCOUNTER6H: u16 = 0xb86;
pub const CSR_MHPMCOUNTER7H: u16 = 0xb87;
pub const CSR_MHPMCOUNTER8H: u16 = 0xb88;
pub const CSR_MHPMCOUNTER9H: u16 = 0xb89;
pub const CSR_MHPMCOUNTER10H: u16 = 0xb8a;
pub const CSR_MHPMCOUNTER11H: u16 = 0xb8b;
pub const CSR_MHPMCOUNTER12H: u16 = 0xb8c;
pub const CSR_MHPMCOUNTER13H: u16 = 0xb8d;
pub const CSR_MHPMCOUNTER14H: u16 = 0xb8e;
pub const CSR_MHPMCOUNTER15H: u16 = 0xb8f;
pub const CSR_MHPMCOUNTER16H: u16 = 0xb90;
pub const CSR_MHPMCOUNTER17H: u16 = 0xb91;
pub const CSR_MHPMCOUNTER18H: u16 = 0xb92;
pub const CSR_MHPMCOUNTER19H: u16 = 0xb93;
pub const CSR_MHPMCOUNTER20H: u16 = 0xb94;
pub const CSR_MHPMCOUNTER21H: u16 = 0xb95;
pub const CSR_MHPMCOUNTER22H: u16 = 0xb96;
pub const CSR_MHPMCOUNTER23H: u16 = 0xb97;
pub const CSR_MHPMCOUNTER24H: u16 = 0xb98;
pub const CSR_MHPMCOUNTER25H: u16 = 0xb99;
pub const CSR_MHPMCOUNTER26H: u16 = 0xb9a;
pub const CSR_MHPMCOUNTER27H: u16 = 0xb9b;
pub const CSR_MHPMCOUNTER28H: u16 = 0xb9c;
pub const CSR_MHPMCOUNTER29H: u16 = 0xb9d;
pub const CSR_MHPMCOUNTER30H: u16 = 0xb9e;
pub const CSR_MHPMCOUNTER31H: u16 = 0xb9f;
pub const CAUSE_MISALIGNED_FETCH: u8 = 0x0;
pub const CAUSE_FETCH_ACCESS: u8 = 0x1;
pub const CAUSE_ILLEGAL_INSTRUCTION: u8 = 0x2;
pub const CAUSE_BREAKPOINT: u8 = 0x3;
pub const CAUSE_MISALIGNED_LOAD: u8 = 0x4;
pub const CAUSE_LOAD_ACCESS: u8 = 0x5;
pub const CAUSE_MISALIGNED_STORE: u8 = 0x6;
pub const CAUSE_STORE_ACCESS: u8 = 0x7;
pub const CAUSE_USER_ECALL: u8 = 0x8;
pub const CAUSE_SUPERVISOR_ECALL: u8 = 0x9;
pub const CAUSE_VIRTUAL_SUPERVISOR_ECALL: u8 = 0xa;
pub const CAUSE_MACHINE_ECALL: u8 = 0xb;
pub const CAUSE_FETCH_PAGE_FAULT: u8 = 0xc;
pub const CAUSE_LOAD_PAGE_FAULT: u8 = 0xd;
pub const CAUSE_STORE_PAGE_FAULT: u8 = 0xf;
pub const CAUSE_DOUBLE_TRAP: u8 = 0x10;
pub const CAUSE_SOFTWARE_CHECK_FAULT: u8 = 0x12;
pub const CAUSE_HARDWARE_ERROR_FAULT: u8 = 0x13;
pub const CAUSE_FETCH_GUEST_PAGE_FAULT: u8 = 0x14;
pub const CAUSE_LOAD_GUEST_PAGE_FAULT: u8 = 0x15;
pub const CAUSE_VIRTUAL_INSTRUCTION: u8 = 0x16;
pub const CAUSE_STORE_GUEST_PAGE_FAULT: u8 = 0x17;
pub static OPCODE32_MATCH: [u32; 1021] = [
0x33,
0xffff_ffff,
0x13,
0xffff_ffff,
0xffff_ffff,
0x2a000033,
0x2e000033,
0x22000033,
0x26000033,
0xffff_ffff,
0xffff_ffff,
0xffff_ffff,
0xffff_ffff,
0xffff_ffff,
0xffff_ffff,
0xffff_ffff,
0x2f,
0xffff_ffff,
0x102f,
0x202f,
0x6000002f,
0xffff_ffff,
0x6000102f,
0x6000202f,
0x2800002f,
0x2800302f,
0x2800102f,
0xffff_ffff,
0x2800202f,
0xa000002f,
0xffff_ffff,
0xa000102f,
0xa000202f,
0xe000002f,
0xffff_ffff,
0xe000102f,
0xe000202f,
0x8000002f,
0xffff_ffff,
0x8000102f,
0x8000202f,
0xc000002f,
0xffff_ffff,
0xc000102f,
0xc000202f,
0x4000002f,
0xffff_ffff,
0x4000102f,
0x4000202f,
0x800002f,
0xffff_ffff,
0x800102f,
0x800202f,
0x2000002f,
0xffff_ffff,
0x2000102f,
0x2000202f,
0x7033,
0x7013,
0x40007033,
0x17,
0x48001033,
0xffff_ffff,
0x48001013,
0x63,
0x63,
0x48005033,
0xffff_ffff,
0x48005013,
0x5063,
0x7063,
0x5063,
0x4063,
0x6063,
0x4063,
0x68001033,
0xffff_ffff,
0x68001013,
0x5063,
0x7063,
0x5063,
0x4063,
0x6063,
0x4063,
0x1063,
0x1063,
0x68705013,
0x28001033,
0xffff_ffff,
0x28001013,
0x9002,
0x1,
0x6101,
0x0,
0xffff_ffff,
0xffff_ffff,
0x8c61,
0x8801,
0xc001,
0xe001,
0x9002,
0x2000,
0x2002,
0x6000,
0x6002,
0xa000,
0xa002,
0xe000,
0xe002,
0xa001,
0x2001,
0x9002,
0x8002,
0x8000,
0xffff_ffff,
0xffff_ffff,
0x8440,
0x8400,
0x4001,
0x6001,
0x4000,
0x4002,
0x6081,
0x6581,
0x6681,
0x6781,
0x6181,
0x6281,
0x6381,
0x6481,
0x6081,
0x9c41,
0x8002,
0x1,
0x9c75,
0x9016,
0x900a,
0x900e,
0x9012,
0x8c41,
0x8800,
0xffff_ffff,
0xffff_ffff,
0x9c65,
0x9c6d,
0xffff_ffff,
0x8c00,
0x2,
0x2,
0x8401,
0x8401,
0x8001,
0x8001,
0x8c01,
0xffff_ffff,
0xc000,
0xc002,
0x8c21,
0x9c61,
0x9c69,
0xffff_ffff,
0x10200f,
0x20200f,
0x200f,
0x40200f,
0xa001033,
0xa003033,
0xa002033,
0x60001013,
0xffff_ffff,
0xa002,
0xac62,
0xac22,
0xba02,
0xbe02,
0xbc02,
0xb802,
0x60201013,
0xffff_ffff,
0x3073,
0x7073,
0x2073,
0x3073,
0x7073,
0x2073,
0x6073,
0x1073,
0x5073,
0x2073,
0x6073,
0x1073,
0x5073,
0x60101013,
0xffff_ffff,
0xe005033,
0xe007033,
0x2004033,
0x2005033,
0xffff_ffff,
0xffff_ffff,
0x7b200073,
0x100073,
0x73,
0x22002053,
0x24002053,
0x26002053,
0x20002053,
0x2000053,
0x4000053,
0x6000053,
0x53,
0xe2001053,
0xe4001053,
0xe6001053,
0xe0001053,
0x42200053,
0xffff_ffff,
0xffff_ffff,
0x42300053,
0x42000053,
0xd2000053,
0xd2100053,
0x44100053,
0xffff_ffff,
0xffff_ffff,
0x44300053,
0x44000053,
0xd4000053,
0xd4100053,
0xffff_ffff,
0xffff_ffff,
0xffff_ffff,
0xffff_ffff,
0xffff_ffff,
0xffff_ffff,
0xffff_ffff,
0xffff_ffff,
0x46100053,
0x46200053,
0xffff_ffff,
0xffff_ffff,
0x46000053,
0xd6000053,
0xd6100053,
0x40100053,
0x40200053,
0xffff_ffff,
0xffff_ffff,
0x40300053,
0xd0000053,
0xd0100053,
0xc2000053,
0xc4000053,
0xc6000053,
0xc0000053,
0xc2100053,
0xc4100053,
0xc6100053,
0xc0100053,
0xc2801053,
0x1a000053,
0x1c000053,
0x1e000053,
0x18000053,
0xf,
0x100f,
0x8330000f,
0xa2002053,
0xa4002053,
0xa6002053,
0xa0002053,
0x3007,
0xa2000053,
0xa4000053,
0xa6000053,
0xa0000053,
0xa2004053,
0xa4004053,
0xa6004053,
0xa0004053,
0x1007,
0xf2100053,
0xf4100053,
0xf6100053,
0xf0100053,
0x4007,
0xa2001053,
0xa4001053,
0xa6001053,
0xa0001053,
0xa2005053,
0xa4005053,
0xa6005053,
0xa0005053,
0x2007,
0x2000043,
0x4000043,
0x6000043,
0x43,
0x2a001053,
0x2c001053,
0x2e001053,
0x28001053,
0x2a003053,
0x2c003053,
0x2e003053,
0x28003053,
0x2a000053,
0x2c000053,
0x2e000053,
0x28000053,
0x2a002053,
0x2c002053,
0x2e002053,
0x28002053,
0x2000047,
0x4000047,
0x6000047,
0x47,
0x12000053,
0x14000053,
0x16000053,
0x10000053,
0x22000053,
0xffff_ffff,
0x24000053,
0xf4000053,
0x26000053,
0x20000053,
0xf0000053,
0xf0000053,
0xffff_ffff,
0xe4000053,
0xe0000053,
0xe0000053,
0xe2100053,
0xffff_ffff,
0xb2000053,
0xffff_ffff,
0x22001053,
0x24001053,
0x26001053,
0x20001053,
0x200004f,
0x400004f,
0x600004f,
0x4f,
0x200004b,
0x400004b,
0x600004b,
0x4b,
0x302073,
0x102073,
0x42400053,
0x44400053,
0x46400053,
0x40400053,
0x42500053,
0x44500053,
0x46500053,
0x40500053,
0x202073,
0x301073,
0x3027,
0x101073,
0x105073,
0x22000053,
0x24000053,
0x26000053,
0x20000053,
0x22001053,
0x24001053,
0x26001053,
0x20001053,
0x22002053,
0x24002053,
0x26002053,
0x20002053,
0x1027,
0x4027,
0x5a000053,
0x5c000053,
0x5e000053,
0x58000053,
0x201073,
0x205073,
0xa000053,
0xc000053,
0xe000053,
0x8000053,
0x2027,
0x62000073,
0x22000073,
0x66000073,
0x26000073,
0x60004073,
0x60104073,
0xffff_ffff,
0x64004073,
0x64104073,
0x68004073,
0xffff_ffff,
0x64304073,
0x68304073,
0x62004073,
0xffff_ffff,
0x66004073,
0x6a004073,
0x6f,
0x6f,
0xef,
0x67,
0xe7,
0x67,
0x3,
0x4003,
0xffff_ffff,
0x1003,
0x5003,
0xffff_ffff,
0x1000202f,
0x37,
0x2003,
0xffff_ffff,
0xa006033,
0xa007033,
0xa004033,
0xa005033,
0x81c04073,
0x81d04073,
0x89e04073,
0x89f04073,
0x8dc04073,
0x8dd04073,
0x8de04073,
0x8df04073,
0xc1c04073,
0xc1d04073,
0xc1e04073,
0xc1f04073,
0x81e04073,
0xc5c04073,
0xc5d04073,
0xc5e04073,
0xc5f04073,
0xc9c04073,
0xc9d04073,
0xc9e04073,
0xc9f04073,
0xcdc04073,
0xcdd04073,
0x81f04073,
0xcde04073,
0xcdf04073,
0x85c04073,
0x85d04073,
0x85e04073,
0x85f04073,
0x89c04073,
0x89d04073,
0x81c04073,
0x82004073,
0x86004073,
0x8a004073,
0x8e004073,
0xc2004073,
0xc6004073,
0xca004073,
0xce004073,
0x82004073,
0x30200073,
0x2000033,
0x2001033,
0x2002033,
0x2003033,
0xffff_ffff,
0x13,
0x40000033,
0x13,
0x500033,
0x200033,
0x300033,
0x400033,
0x6033,
0x28705013,
0x6013,
0x40006033,
0x8004033,
0x8007033,
0xffff_ffff,
0x100000f,
0x6013,
0x106013,
0x306013,
0xc0002073,
0xc8002073,
0xc0202073,
0xc8202073,
0xc0102073,
0xc8102073,
0x2006033,
0x2007033,
0xffff_ffff,
0xffff_ffff,
0x8067,
0xffff_ffff,
0x69805013,
0x60001033,
0xffff_ffff,
0x60005033,
0xffff_ffff,
0x60005013,
0xffff_ffff,
0xffff_ffff,
0x23,
0x100073,
0xffff_ffff,
0x1800202f,
0x73,
0xffff_ffff,
0x103013,
0x60401013,
0x60501013,
0xffff_ffff,
0x18100073,
0x12000073,
0x18000073,
0x2033,
0x1023,
0x20002033,
0xffff_ffff,
0x20004033,
0xffff_ffff,
0x20006033,
0xffff_ffff,
0x10201013,
0x10301013,
0x10001013,
0x10101013,
0xffff_ffff,
0x5c000033,
0x54000033,
0xffff_ffff,
0x5e000033,
0x56000033,
0xffff_ffff,
0x50000033,
0xffff_ffff,
0x52000033,
0x16000073,
0x1033,
0x1013,
0x1013,
0xffff_ffff,
0xffff_ffff,
0xffff_ffff,
0x2033,
0x2013,
0x3013,
0x3033,
0x2033,
0x10801013,
0x10901013,
0x30000033,
0x34000033,
0x3033,
0x40005033,
0x40005013,
0x40005013,
0xffff_ffff,
0xffff_ffff,
0x10200073,
0x5033,
0x5013,
0x5013,
0xffff_ffff,
0xffff_ffff,
0x40000033,
0xffff_ffff,
0x2023,
0x8f05013,
0x24002057,
0x24006057,
0x20002057,
0x20006057,
0x40003057,
0x40000057,
0x40004057,
0x3057,
0x57,
0x4057,
0xa600a077,
0xa200a077,
0xa6002077,
0xa2002077,
0xa601a077,
0xa201a077,
0xa6012077,
0xa2012077,
0x8a002077,
0xaa002077,
0xa603a077,
0x24003057,
0x24000057,
0x24004057,
0x4000057,
0x4004057,
0x2c002057,
0x2c006057,
0x28002057,
0x28006057,
0x48042057,
0x48052057,
0x30002057,
0x30006057,
0x34002057,
0x34006057,
0x48062057,
0x5e002057,
0x40082057,
0x48072057,
0x4806a057,
0x84002057,
0x84006057,
0x80002057,
0x80006057,
0x5057,
0x1057,
0x4c081057,
0x48019057,
0x48011057,
0x48039057,
0x48031057,
0x48009057,
0x48001057,
0x80005057,
0x80001057,
0x4008a057,
0xb0005057,
0xb0001057,
0xa0005057,
0xa0001057,
0x18005057,
0x18001057,
0x5c005057,
0x10005057,
0x10001057,
0xb8005057,
0xb8001057,
0xa8005057,
0xa8001057,
0x90005057,
0x90001057,
0x42001057,
0x42005057,
0x5e005057,
0x480a1057,
0x48099057,
0x48091057,
0x480a9057,
0x480b9057,
0x480b1057,
0x48089057,
0x48081057,
0xb4005057,
0xb4001057,
0xa4005057,
0xa4001057,
0xbc005057,
0xbc001057,
0xac005057,
0xac001057,
0x84005057,
0x4c029057,
0x1c001057,
0x14001057,
0xc001057,
0x4001057,
0x4001057,
0x4c021057,
0x9c005057,
0x20005057,
0x20001057,
0x24005057,
0x24001057,
0x28005057,
0x28001057,
0x3c005057,
0x38005057,
0x4c001057,
0x8005057,
0x8001057,
0xc0005057,
0xc0001057,
0xd0005057,
0xd0001057,
0x48061057,
0x48059057,
0x48051057,
0x48079057,
0x48071057,
0x48049057,
0x48041057,
0xf0005057,
0xf0001057,
0xf8005057,
0xf8001057,
0xe0005057,
0xe0001057,
0xf4005057,
0xf4001057,
0xfc005057,
0xfc001057,
0xcc001057,
0xc4001057,
0xc4001057,
0xc8005057,
0xc8001057,
0xd8005057,
0xd8001057,
0xb2002077,
0xa208a077,
0x5008a057,
0x50082057,
0x2800007,
0x2805007,
0x2806007,
0x2807007,
0x2800007,
0x22800007,
0x22805007,
0x22806007,
0x22807007,
0x22800007,
0x62800007,
0x62805007,
0x62806007,
0x62807007,
0x62800007,
0xe2800007,
0xe2805007,
0xe2806007,
0xe2807007,
0xe2800007,
0x5007,
0x1005007,
0x2b00007,
0x6007,
0x1006007,
0x7007,
0x1007007,
0x7,
0x1000007,
0x2b00007,
0xc005007,
0xc006007,
0xc007007,
0xc000007,
0x8005007,
0x8006007,
0x8007007,
0x8000007,
0x4005007,
0x4006007,
0x4007007,
0x4000007,
0xb4002057,
0xb4006057,
0x46003057,
0x44003057,
0x46000057,
0x44000057,
0x46004057,
0x44004057,
0xa4002057,
0xa4006057,
0x66002057,
0x62002057,
0x60002057,
0x1c000057,
0x1c004057,
0x18000057,
0x18004057,
0x5c003057,
0x5c000057,
0x5c004057,
0x60005057,
0x60001057,
0x7c005057,
0x74005057,
0x64005057,
0x64001057,
0x6c005057,
0x6c001057,
0x70005057,
0x70001057,
0x14000057,
0x14004057,
0x10000057,
0x10004057,
0x76002057,
0x7a002057,
0x6a002057,
0x72002057,
0x70002057,
0x4e000057,
0x4c000057,
0x4e004057,
0x4c004057,
0x5000a057,
0x60003057,
0x60000057,
0x60004057,
0x7c003057,
0x7c004057,
0x78003057,
0x78004057,
0x5001a057,
0x74003057,
0x74000057,
0x74004057,
0x70003057,
0x70000057,
0x70004057,
0x6c000057,
0x6c004057,
0x68000057,
0x68004057,
0x64003057,
0x64000057,
0x64004057,
0x50012057,
0x94002057,
0x94006057,
0x9c002057,
0x9c006057,
0x98002057,
0x98006057,
0x90002057,
0x90006057,
0x9e003057,
0x9e00b057,
0x9e01b057,
0x9e03b057,
0x42006057,
0x5e003057,
0x5e000057,
0x5e004057,
0x42002057,
0x7e002057,
0x6e002057,
0xbc003057,
0xbc000057,
0xbc004057,
0xb8003057,
0xb8000057,
0xb8004057,
0xbc002057,
0xbc006057,
0xac002057,
0xac006057,
0xb4003057,
0xb4000057,
0xb4004057,
0xb0003057,
0xb0000057,
0xb0004057,
0x28003057,
0x28000057,
0x28004057,
0x40082057,
0x4002057,
0x1c002057,
0x18002057,
0x14002057,
0x10002057,
0x8002057,
0x2057,
0xc002057,
0x8c002057,
0x8c006057,
0x88002057,
0x88006057,
0x4804a057,
0x30003057,
0x30000057,
0x30004057,
0x38000057,
0x54000057,
0x54004057,
0x50003057,
0x50000057,
0x50004057,
0xc003057,
0xc004057,
0x2800027,
0x22800027,
0x62800027,
0xe2800027,
0x84003057,
0x84000057,
0x84004057,
0x80003057,
0x80000057,
0x80004057,
0x48000057,
0x48004057,
0x5027,
0x2b00027,
0x6027,
0x7027,
0x27,
0xc0007057,
0x80007057,
0x7057,
0x4803a057,
0x4802a057,
0x4801a057,
0xba002077,
0xbe002077,
0xb6002077,
0x3c006057,
0x38006057,
0x3c003057,
0x3c004057,
0x38003057,
0x38004057,
0x94003057,
0x94000057,
0x94004057,
0xae002077,
0x82002077,
0x86002077,
0xa6082077,
0xa2082077,
0x2b00027,
0x9c000057,
0x9c004057,
0xc005027,
0xc006027,
0xc007027,
0xc000027,
0xa4003057,
0xa4000057,
0xa4004057,
0xa0003057,
0xa0000057,
0xa0004057,
0x8005027,
0x8006027,
0x8007027,
0x8000027,
0xac003057,
0xac000057,
0xac004057,
0xa8003057,
0xa8000057,
0xa8004057,
0x8c000057,
0x8c004057,
0x88000057,
0x88004057,
0x8000057,
0x8004057,
0x4005027,
0x4006027,
0x4007027,
0x4000027,
0xc4002057,
0xc4006057,
0xd4002057,
0xd4006057,
0xc0002057,
0xc0006057,
0xd0002057,
0xd0006057,
0xf4002057,
0xf4006057,
0xfc002057,
0xfc006057,
0xf0002057,
0xf0006057,
0xf8006057,
0xec002057,
0xec006057,
0xe8002057,
0xe8006057,
0xe0002057,
0xe0006057,
0xc4000057,
0xc0000057,
0xd4003057,
0xd4000057,
0xd4004057,
0xcc002057,
0xcc006057,
0xdc002057,
0xdc006057,
0xc8002057,
0xc8006057,
0xd8002057,
0xd8006057,
0x2c003057,
0x2c000057,
0x2c004057,
0x48032057,
0x48022057,
0x48012057,
0x10500073,
0xd00073,
0x1d00073,
0x40004033,
0x4033,
0x4013,
0x28002033,
0x28004033,
0x7013,
0xffff_ffff,
0x8004033,
0xffff_ffff,
0x8f01013,
];
pub static OPCODE32_MASK: [u32; 1021] = [
0xfe00707f,
0xffff_ffff,
0x707f,
0xffff_ffff,
0xffff_ffff,
0x3e00707f,
0x3e00707f,
0x3e00707f,
0x3e00707f,
0xffff_ffff,
0xffff_ffff,
0xffff_ffff,
0xffff_ffff,
0xffff_ffff,
0xffff_ffff,
0xffff_ffff,
0xf800707f,
0xffff_ffff,
0xf800707f,
0xf800707f,
0xf800707f,
0xffff_ffff,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xffff_ffff,
0xf800707f,
0xf800707f,
0xffff_ffff,
0xf800707f,
0xf800707f,
0xf800707f,
0xffff_ffff,
0xf800707f,
0xf800707f,
0xf800707f,
0xffff_ffff,
0xf800707f,
0xf800707f,
0xf800707f,
0xffff_ffff,
0xf800707f,
0xf800707f,
0xf800707f,
0xffff_ffff,
0xf800707f,
0xf800707f,
0xf800707f,
0xffff_ffff,
0xf800707f,
0xf800707f,
0xf800707f,
0xffff_ffff,
0xf800707f,
0xf800707f,
0xfe00707f,
0x707f,
0xfe00707f,
0x7f,
0xfe00707f,
0xffff_ffff,
0xfe00707f,
0x707f,
0x1f0707f,
0xfe00707f,
0xffff_ffff,
0xfe00707f,
0x707f,
0x707f,
0x1f0707f,
0x707f,
0x707f,
0xff07f,
0xfe00707f,
0xffff_ffff,
0xfe00707f,
0x707f,
0x707f,
0xff07f,
0x707f,
0x707f,
0x1f0707f,
0x707f,
0x1f0707f,
0xfff0707f,
0xfe00707f,
0xffff_ffff,
0xfe00707f,
0xf003,
0xe003,
0xef83,
0xe003,
0xffff_ffff,
0xffff_ffff,
0xfc63,
0xec03,
0xe003,
0xe003,
0xffff,
0xe003,
0xe003,
0xe003,
0xe003,
0xe003,
0xe003,
0xe003,
0xe003,
0xe003,
0xe003,
0xf07f,
0xf07f,
0xfc03,
0xffff_ffff,
0xffff_ffff,
0xfc43,
0xfc43,
0xe003,
0xe003,
0xe003,
0xe003,
0xffff,
0xffff,
0xffff,
0xffff,
0xffff,
0xffff,
0xffff,
0xffff,
0xf8ff,
0xfc63,
0xf003,
0xef83,
0xfc7f,
0xffff,
0xffff,
0xffff,
0xffff,
0xfc63,
0xfc03,
0xffff_ffff,
0xffff_ffff,
0xfc7f,
0xfc7f,
0xffff_ffff,
0xfc43,
0xe003,
0xf003,
0xec03,
0xfc03,
0xec03,
0xfc03,
0xfc63,
0xffff_ffff,
0xe003,
0xe003,
0xfc63,
0xfc7f,
0xfc7f,
0xffff_ffff,
0xfff07fff,
0xfff07fff,
0xfff07fff,
0xfff07fff,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfff0707f,
0xffff_ffff,
0xfc03,
0xfc63,
0xfc63,
0xff03,
0xff03,
0xff03,
0xff03,
0xfff0707f,
0xffff_ffff,
0x7fff,
0x7fff,
0xff07f,
0x707f,
0x707f,
0x707f,
0x707f,
0x707f,
0x707f,
0x7fff,
0x7fff,
0x7fff,
0x7fff,
0xfff0707f,
0xffff_ffff,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xffff_ffff,
0xffff_ffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00007f,
0xfe00007f,
0xfe00007f,
0xfe00007f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0007f,
0xffff_ffff,
0xffff_ffff,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xffff_ffff,
0xffff_ffff,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xffff_ffff,
0xffff_ffff,
0xffff_ffff,
0xffff_ffff,
0xffff_ffff,
0xffff_ffff,
0xffff_ffff,
0xffff_ffff,
0xfff0007f,
0xfff0007f,
0xffff_ffff,
0xffff_ffff,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xffff_ffff,
0xffff_ffff,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0707f,
0xfe00007f,
0xfe00007f,
0xfe00007f,
0xfe00007f,
0x707f,
0x707f,
0xfff0707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0x707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0x707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0x707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0x707f,
0x600007f,
0x600007f,
0x600007f,
0x600007f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0x600007f,
0x600007f,
0x600007f,
0x600007f,
0xfe00007f,
0xfe00007f,
0xfe00007f,
0xfe00007f,
0xfe00707f,
0xffff_ffff,
0xfe00707f,
0xfff0707f,
0xfe00707f,
0xfe00707f,
0xfff0707f,
0xfff0707f,
0xffff_ffff,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xffff_ffff,
0xfe00707f,
0xffff_ffff,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0x600007f,
0x600007f,
0x600007f,
0x600007f,
0x600007f,
0x600007f,
0x600007f,
0x600007f,
0xfffff07f,
0xfffff07f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfffff07f,
0xfff0707f,
0x707f,
0xfff0707f,
0xfff0707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0x707f,
0x707f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0707f,
0xfff0707f,
0xfe00007f,
0xfe00007f,
0xfe00007f,
0xfe00007f,
0x707f,
0xfe007fff,
0xfe007fff,
0xfe007fff,
0xfe007fff,
0xfff0707f,
0xfff0707f,
0xffff_ffff,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xffff_ffff,
0xfff0707f,
0xfff0707f,
0xfe007fff,
0xffff_ffff,
0xfe007fff,
0xfe007fff,
0xfff,
0x7f,
0xfff,
0x707f,
0xfff07fff,
0xfff07fff,
0x707f,
0x707f,
0xffff_ffff,
0x707f,
0x707f,
0xffff_ffff,
0xf9f0707f,
0x7f,
0x707f,
0xffff_ffff,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xb3c0707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xb200707f,
0xffffffff,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xffff_ffff,
0xfff0707f,
0xfff0707f,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xfe00707f,
0xfff0707f,
0x707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xffff_ffff,
0xffffffff,
0x1f07fff,
0x1f07fff,
0x1f07fff,
0xfffff07f,
0xfffff07f,
0xfffff07f,
0xfffff07f,
0xfffff07f,
0xfffff07f,
0xfe00707f,
0xfe00707f,
0xffff_ffff,
0xffff_ffff,
0xffffffff,
0xffff_ffff,
0xfff0707f,
0xfe00707f,
0xffff_ffff,
0xfe00707f,
0xffff_ffff,
0xfe00707f,
0xffff_ffff,
0xffff_ffff,
0x707f,
0xffffffff,
0xffff_ffff,
0xf800707f,
0xffffffff,
0xffff_ffff,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xffff_ffff,
0xffffffff,
0xfe007fff,
0xffffffff,
0xfe0ff07f,
0x707f,
0xfe00707f,
0xffff_ffff,
0xfe00707f,
0xffff_ffff,
0xfe00707f,
0xffff_ffff,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xffff_ffff,
0xfe00707f,
0xfe00707f,
0xffff_ffff,
0xfe00707f,
0xfe00707f,
0xffff_ffff,
0xfe00707f,
0xffff_ffff,
0xfe00707f,
0xfe007fff,
0xfe00707f,
0xfc00707f,
0xfe00707f,
0xffff_ffff,
0xffff_ffff,
0xffff_ffff,
0xfe00707f,
0x707f,
0x707f,
0xfe00707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0x3e00707f,
0x3e00707f,
0xfe0ff07f,
0xfe00707f,
0xfc00707f,
0xfe00707f,
0xffff_ffff,
0xffff_ffff,
0xffffffff,
0xfe00707f,
0xfc00707f,
0xfe00707f,
0xffff_ffff,
0xffff_ffff,
0xfe00707f,
0xffff_ffff,
0x707f,
0xfff0707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfe0ff07f,
0xfe0ff07f,
0xfe0ff07f,
0xfe0ff07f,
0xfe0ff07f,
0xfe0ff07f,
0xfe0ff07f,
0xfe0ff07f,
0xfe00707f,
0xfe00707f,
0xfe0ff07f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc0ff07f,
0xfc0ff07f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc0ff07f,
0xfe00707f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfc00707f,
0xfc00707f,
0xfc0ff07f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfe00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfe0ff07f,
0xfff0707f,
0xfff0707f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc0ff07f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc0ff07f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc0ff07f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfe00707f,
0xfe0ff07f,
0xfdfff07f,
0xfc0ff07f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0x1df0707f,
0x1df0707f,
0xfff0707f,
0x1df0707f,
0x1df0707f,
0x1df0707f,
0x1df0707f,
0x1df0707f,
0x1df0707f,
0xfff0707f,
0x1c00707f,
0x1c00707f,
0x1c00707f,
0x1c00707f,
0x1c00707f,
0x1c00707f,
0x1c00707f,
0x1c00707f,
0x1c00707f,
0x1c00707f,
0x1c00707f,
0x1c00707f,
0xfc00707f,
0xfc00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfc00707f,
0xfc00707f,
0xfe00707f,
0xfe00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfc00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfc0ff07f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc0ff07f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc0ff07f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfe0ff07f,
0xfe0ff07f,
0xfe0ff07f,
0xfe0ff07f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfe0ff07f,
0xfe00707f,
0xfe00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc0ff07f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc0ff07f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xf800707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfe00707f,
0xfe00707f,
0x1df0707f,
0xfff0707f,
0x1df0707f,
0x1df0707f,
0x1df0707f,
0xc000707f,
0xfe00707f,
0x8000707f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe0ff07f,
0xfe0ff07f,
0xfff0707f,
0xfc00707f,
0xfc00707f,
0x1c00707f,
0x1c00707f,
0x1c00707f,
0x1c00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0x1c00707f,
0x1c00707f,
0x1c00707f,
0x1c00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0x1c00707f,
0x1c00707f,
0x1c00707f,
0x1c00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xffffffff,
0xffffffff,
0xffffffff,
0xfe00707f,
0xfe00707f,
0x707f,
0xfe00707f,
0xfe00707f,
0xfff0707f,
0xffff_ffff,
0xfff0707f,
0xffff_ffff,
0xfff0707f,
];
pub static OPCODE64_MATCH: [u32; 1021] = [
0x33,
0x800003b,
0x13,
0x1b,
0x3b,
0xffff_ffff,
0xffff_ffff,
0xffff_ffff,
0xffff_ffff,
0x3a000033,
0x3e000033,
0x32000033,
0x36000033,
0x30001013,
0x31001013,
0x7e000033,
0x2f,
0x302f,
0x102f,
0x202f,
0x6000002f,
0x6000302f,
0x6000102f,
0x6000202f,
0x2800002f,
0x2800302f,
0x2800102f,
0x2800402f,
0x2800202f,
0xa000002f,
0xa000302f,
0xa000102f,
0xa000202f,
0xe000002f,
0xe000302f,
0xe000102f,
0xe000202f,
0x8000002f,
0x8000302f,
0x8000102f,
0x8000202f,
0xc000002f,
0xc000302f,
0xc000102f,
0xc000202f,
0x4000002f,
0x4000302f,
0x4000102f,
0x4000202f,
0x800002f,
0x800302f,
0x800102f,
0x800202f,
0x2000002f,
0x2000302f,
0x2000102f,
0x2000202f,
0x7033,
0x7013,
0x40007033,
0x17,
0x48001033,
0x48001013,
0xffff_ffff,
0x63,
0x63,
0x48005033,
0x48005013,
0xffff_ffff,
0x5063,
0x7063,
0x5063,
0x4063,
0x6063,
0x4063,
0x68001033,
0x68001013,
0xffff_ffff,
0x5063,
0x7063,
0x5063,
0x4063,
0x6063,
0x4063,
0x1063,
0x1063,
0x68705013,
0x28001033,
0x28001013,
0xffff_ffff,
0x9002,
0x1,
0x6101,
0x0,
0x2001,
0x9c21,
0x8c61,
0x8801,
0xc001,
0xe001,
0x9002,
0x2000,
0x2002,
0xffff_ffff,
0xffff_ffff,
0xa000,
0xa002,
0xffff_ffff,
0xffff_ffff,
0xa001,
0xffff_ffff,
0x9002,
0x8002,
0x8000,
0x6000,
0x6002,
0x8440,
0x8400,
0x4001,
0x6001,
0x4000,
0x4002,
0x6081,
0x6581,
0x6681,
0x6781,
0x6181,
0x6281,
0x6381,
0x6481,
0x6081,
0x9c41,
0x8002,
0x1,
0x9c75,
0x9016,
0x900a,
0x900e,
0x9012,
0x8c41,
0x8800,
0xe000,
0xe002,
0x9c65,
0x9c6d,
0x2001,
0x8c00,
0x2,
0xffff_ffff,
0x8401,
0xffff_ffff,
0x8001,
0xffff_ffff,
0x8c01,
0x9c01,
0xc000,
0xc002,
0x8c21,
0x9c61,
0x9c69,
0x9c71,
0x10200f,
0x20200f,
0x200f,
0x40200f,
0xa001033,
0xa003033,
0xa002033,
0x60001013,
0x6000101b,
0xa002,
0xac62,
0xac22,
0xba02,
0xbe02,
0xbc02,
0xb802,
0x60201013,
0x6020101b,
0x3073,
0x7073,
0x2073,
0x3073,
0x7073,
0x2073,
0x6073,
0x1073,
0x5073,
0x2073,
0x6073,
0x1073,
0x5073,
0x60101013,
0x6010101b,
0xe005033,
0xe007033,
0x2004033,
0x2005033,
0x200503b,
0x200403b,
0x7b200073,
0x100073,
0x73,
0x22002053,
0x24002053,
0x26002053,
0x20002053,
0x2000053,
0x4000053,
0x6000053,
0x53,
0xe2001053,
0xe4001053,
0xe6001053,
0xe0001053,
0x42200053,
0xd2200053,
0xd2300053,
0x42300053,
0x42000053,
0xd2000053,
0xd2100053,
0x44100053,
0xd4200053,
0xd4300053,
0x44300053,
0x44000053,
0xd4000053,
0xd4100053,
0xc2200053,
0xc4200053,
0xc6200053,
0xc0200053,
0xc2300053,
0xc4300053,
0xc6300053,
0xc0300053,
0x46100053,
0x46200053,
0xd6200053,
0xd6300053,
0x46000053,
0xd6000053,
0xd6100053,
0x40100053,
0x40200053,
0xd0200053,
0xd0300053,
0x40300053,
0xd0000053,
0xd0100053,
0xc2000053,
0xc4000053,
0xc6000053,
0xc0000053,
0xc2100053,
0xc4100053,
0xc6100053,
0xc0100053,
0xc2801053,
0x1a000053,
0x1c000053,
0x1e000053,
0x18000053,
0xf,
0x100f,
0x8330000f,
0xa2002053,
0xa4002053,
0xa6002053,
0xa0002053,
0x3007,
0xa2000053,
0xa4000053,
0xa6000053,
0xa0000053,
0xa2004053,
0xa4004053,
0xa6004053,
0xa0004053,
0x1007,
0xf2100053,
0xf4100053,
0xf6100053,
0xf0100053,
0x4007,
0xa2001053,
0xa4001053,
0xa6001053,
0xa0001053,
0xa2005053,
0xa4005053,
0xa6005053,
0xa0005053,
0x2007,
0x2000043,
0x4000043,
0x6000043,
0x43,
0x2a001053,
0x2c001053,
0x2e001053,
0x28001053,
0x2a003053,
0x2c003053,
0x2e003053,
0x28003053,
0x2a000053,
0x2c000053,
0x2e000053,
0x28000053,
0x2a002053,
0x2c002053,
0x2e002053,
0x28002053,
0x2000047,
0x4000047,
0x6000047,
0x47,
0x12000053,
0x14000053,
0x16000053,
0x10000053,
0x22000053,
0xf2000053,
0x24000053,
0xf4000053,
0x26000053,
0x20000053,
0xf0000053,
0xf0000053,
0xe2000053,
0xe4000053,
0xe0000053,
0xe0000053,
0xffff_ffff,
0xe6100053,
0xffff_ffff,
0xb6000053,
0x22001053,
0x24001053,
0x26001053,
0x20001053,
0x200004f,
0x400004f,
0x600004f,
0x4f,
0x200004b,
0x400004b,
0x600004b,
0x4b,
0x302073,
0x102073,
0x42400053,
0x44400053,
0x46400053,
0x40400053,
0x42500053,
0x44500053,
0x46500053,
0x40500053,
0x202073,
0x301073,
0x3027,
0x101073,
0x105073,
0x22000053,
0x24000053,
0x26000053,
0x20000053,
0x22001053,
0x24001053,
0x26001053,
0x20001053,
0x22002053,
0x24002053,
0x26002053,
0x20002053,
0x1027,
0x4027,
0x5a000053,
0x5c000053,
0x5e000053,
0x58000053,
0x201073,
0x205073,
0xa000053,
0xc000053,
0xe000053,
0x8000053,
0x2027,
0x62000073,
0x22000073,
0x66000073,
0x26000073,
0x60004073,
0x60104073,
0x6c004073,
0x64004073,
0x64104073,
0x68004073,
0x68104073,
0x64304073,
0x68304073,
0x62004073,
0x6e004073,
0x66004073,
0x6a004073,
0x6f,
0x6f,
0xef,
0x67,
0xe7,
0x67,
0x3,
0x4003,
0x3003,
0x1003,
0x5003,
0x1000302f,
0x1000202f,
0x37,
0x2003,
0x6003,
0xa006033,
0xa007033,
0xa004033,
0xa005033,
0x81c04073,
0x81d04073,
0x89e04073,
0x89f04073,
0x8dc04073,
0x8dd04073,
0x8de04073,
0x8df04073,
0xc1c04073,
0xc1d04073,
0xc1e04073,
0xc1f04073,
0x81e04073,
0xc5c04073,
0xc5d04073,
0xc5e04073,
0xc5f04073,
0xc9c04073,
0xc9d04073,
0xc9e04073,
0xc9f04073,
0xcdc04073,
0xcdd04073,
0x81f04073,
0xcde04073,
0xcdf04073,
0x85c04073,
0x85d04073,
0x85e04073,
0x85f04073,
0x89c04073,
0x89d04073,
0x81c04073,
0x82004073,
0x86004073,
0x8a004073,
0x8e004073,
0xc2004073,
0xc6004073,
0xca004073,
0xce004073,
0x82004073,
0x30200073,
0x2000033,
0x2001033,
0x2002033,
0x2003033,
0x200003b,
0x13,
0x40000033,
0x13,
0x500033,
0x200033,
0x300033,
0x400033,
0x6033,
0x28705013,
0x6013,
0x40006033,
0x8004033,
0x8007033,
0x800403b,
0x100000f,
0x6013,
0x106013,
0x306013,
0xc0002073,
0xffff_ffff,
0xc0202073,
0xffff_ffff,
0xc0102073,
0xffff_ffff,
0x2006033,
0x2007033,
0x200703b,
0x200603b,
0x8067,
0x6b805013,
0xffff_ffff,
0x60001033,
0x6000103b,
0x60005033,
0x60005013,
0xffff_ffff,
0x6000501b,
0x6000503b,
0x23,
0x100073,
0x1800302f,
0x1800202f,
0x73,
0x3023,
0x103013,
0x60401013,
0x60501013,
0x1b,
0x18100073,
0x12000073,
0x18000073,
0x2033,
0x1023,
0x20002033,
0x2000203b,
0x20004033,
0x2000403b,
0x20006033,
0x2000603b,
0x10201013,
0x10301013,
0x10001013,
0x10101013,
0x10601013,
0xffff_ffff,
0xffff_ffff,
0x10701013,
0xffff_ffff,
0xffff_ffff,
0x10401013,
0xffff_ffff,
0x10501013,
0xffff_ffff,
0x16000073,
0x1033,
0x1013,
0xffff_ffff,
0x800101b,
0x101b,
0x103b,
0x2033,
0x2013,
0x3013,
0x3033,
0x2033,
0x10801013,
0x10901013,
0x30000033,
0x34000033,
0x3033,
0x40005033,
0x40005013,
0xffff_ffff,
0x4000501b,
0x4000503b,
0x10200073,
0x5033,
0x5013,
0xffff_ffff,
0x501b,
0x503b,
0x40000033,
0x4000003b,
0x2023,
0xffff_ffff,
0x24002057,
0x24006057,
0x20002057,
0x20006057,
0x40003057,
0x40000057,
0x40004057,
0x3057,
0x57,
0x4057,
0xa600a077,
0xa200a077,
0xa6002077,
0xa2002077,
0xa601a077,
0xa201a077,
0xa6012077,
0xa2012077,
0x8a002077,
0xaa002077,
0xa603a077,
0x24003057,
0x24000057,
0x24004057,
0x4000057,
0x4004057,
0x2c002057,
0x2c006057,
0x28002057,
0x28006057,
0x48042057,
0x48052057,
0x30002057,
0x30006057,
0x34002057,
0x34006057,
0x48062057,
0x5e002057,
0x40082057,
0x48072057,
0x4806a057,
0x84002057,
0x84006057,
0x80002057,
0x80006057,
0x5057,
0x1057,
0x4c081057,
0x48019057,
0x48011057,
0x48039057,
0x48031057,
0x48009057,
0x48001057,
0x80005057,
0x80001057,
0x4008a057,
0xb0005057,
0xb0001057,
0xa0005057,
0xa0001057,
0x18005057,
0x18001057,
0x5c005057,
0x10005057,
0x10001057,
0xb8005057,
0xb8001057,
0xa8005057,
0xa8001057,
0x90005057,
0x90001057,
0x42001057,
0x42005057,
0x5e005057,
0x480a1057,
0x48099057,
0x48091057,
0x480a9057,
0x480b9057,
0x480b1057,
0x48089057,
0x48081057,
0xb4005057,
0xb4001057,
0xa4005057,
0xa4001057,
0xbc005057,
0xbc001057,
0xac005057,
0xac001057,
0x84005057,
0x4c029057,
0x1c001057,
0x14001057,
0xc001057,
0x4001057,
0x4001057,
0x4c021057,
0x9c005057,
0x20005057,
0x20001057,
0x24005057,
0x24001057,
0x28005057,
0x28001057,
0x3c005057,
0x38005057,
0x4c001057,
0x8005057,
0x8001057,
0xc0005057,
0xc0001057,
0xd0005057,
0xd0001057,
0x48061057,
0x48059057,
0x48051057,
0x48079057,
0x48071057,
0x48049057,
0x48041057,
0xf0005057,
0xf0001057,
0xf8005057,
0xf8001057,
0xe0005057,
0xe0001057,
0xf4005057,
0xf4001057,
0xfc005057,
0xfc001057,
0xcc001057,
0xc4001057,
0xc4001057,
0xc8005057,
0xc8001057,
0xd8005057,
0xd8001057,
0xb2002077,
0xa208a077,
0x5008a057,
0x50082057,
0x2800007,
0x2805007,
0x2806007,
0x2807007,
0x2800007,
0x22800007,
0x22805007,
0x22806007,
0x22807007,
0x22800007,
0x62800007,
0x62805007,
0x62806007,
0x62807007,
0x62800007,
0xe2800007,
0xe2805007,
0xe2806007,
0xe2807007,
0xe2800007,
0x5007,
0x1005007,
0x2b00007,
0x6007,
0x1006007,
0x7007,
0x1007007,
0x7,
0x1000007,
0x2b00007,
0xc005007,
0xc006007,
0xc007007,
0xc000007,
0x8005007,
0x8006007,
0x8007007,
0x8000007,
0x4005007,
0x4006007,
0x4007007,
0x4000007,
0xb4002057,
0xb4006057,
0x46003057,
0x44003057,
0x46000057,
0x44000057,
0x46004057,
0x44004057,
0xa4002057,
0xa4006057,
0x66002057,
0x62002057,
0x60002057,
0x1c000057,
0x1c004057,
0x18000057,
0x18004057,
0x5c003057,
0x5c000057,
0x5c004057,
0x60005057,
0x60001057,
0x7c005057,
0x74005057,
0x64005057,
0x64001057,
0x6c005057,
0x6c001057,
0x70005057,
0x70001057,
0x14000057,
0x14004057,
0x10000057,
0x10004057,
0x76002057,
0x7a002057,
0x6a002057,
0x72002057,
0x70002057,
0x4e000057,
0x4c000057,
0x4e004057,
0x4c004057,
0x5000a057,
0x60003057,
0x60000057,
0x60004057,
0x7c003057,
0x7c004057,
0x78003057,
0x78004057,
0x5001a057,
0x74003057,
0x74000057,
0x74004057,
0x70003057,
0x70000057,
0x70004057,
0x6c000057,
0x6c004057,
0x68000057,
0x68004057,
0x64003057,
0x64000057,
0x64004057,
0x50012057,
0x94002057,
0x94006057,
0x9c002057,
0x9c006057,
0x98002057,
0x98006057,
0x90002057,
0x90006057,
0x9e003057,
0x9e00b057,
0x9e01b057,
0x9e03b057,
0x42006057,
0x5e003057,
0x5e000057,
0x5e004057,
0x42002057,
0x7e002057,
0x6e002057,
0xbc003057,
0xbc000057,
0xbc004057,
0xb8003057,
0xb8000057,
0xb8004057,
0xbc002057,
0xbc006057,
0xac002057,
0xac006057,
0xb4003057,
0xb4000057,
0xb4004057,
0xb0003057,
0xb0000057,
0xb0004057,
0x28003057,
0x28000057,
0x28004057,
0x40082057,
0x4002057,
0x1c002057,
0x18002057,
0x14002057,
0x10002057,
0x8002057,
0x2057,
0xc002057,
0x8c002057,
0x8c006057,
0x88002057,
0x88006057,
0x4804a057,
0x30003057,
0x30000057,
0x30004057,
0x38000057,
0x54000057,
0x54004057,
0x50003057,
0x50000057,
0x50004057,
0xc003057,
0xc004057,
0x2800027,
0x22800027,
0x62800027,
0xe2800027,
0x84003057,
0x84000057,
0x84004057,
0x80003057,
0x80000057,
0x80004057,
0x48000057,
0x48004057,
0x5027,
0x2b00027,
0x6027,
0x7027,
0x27,
0xc0007057,
0x80007057,
0x7057,
0x4803a057,
0x4802a057,
0x4801a057,
0xba002077,
0xbe002077,
0xb6002077,
0x3c006057,
0x38006057,
0x3c003057,
0x3c004057,
0x38003057,
0x38004057,
0x94003057,
0x94000057,
0x94004057,
0xae002077,
0x82002077,
0x86002077,
0xa6082077,
0xa2082077,
0x2b00027,
0x9c000057,
0x9c004057,
0xc005027,
0xc006027,
0xc007027,
0xc000027,
0xa4003057,
0xa4000057,
0xa4004057,
0xa0003057,
0xa0000057,
0xa0004057,
0x8005027,
0x8006027,
0x8007027,
0x8000027,
0xac003057,
0xac000057,
0xac004057,
0xa8003057,
0xa8000057,
0xa8004057,
0x8c000057,
0x8c004057,
0x88000057,
0x88004057,
0x8000057,
0x8004057,
0x4005027,
0x4006027,
0x4007027,
0x4000027,
0xc4002057,
0xc4006057,
0xd4002057,
0xd4006057,
0xc0002057,
0xc0006057,
0xd0002057,
0xd0006057,
0xf4002057,
0xf4006057,
0xfc002057,
0xfc006057,
0xf0002057,
0xf0006057,
0xf8006057,
0xec002057,
0xec006057,
0xe8002057,
0xe8006057,
0xe0002057,
0xe0006057,
0xc4000057,
0xc0000057,
0xd4003057,
0xd4000057,
0xd4004057,
0xcc002057,
0xcc006057,
0xdc002057,
0xdc006057,
0xc8002057,
0xc8006057,
0xd8002057,
0xd8006057,
0x2c003057,
0x2c000057,
0x2c004057,
0x48032057,
0x48022057,
0x48012057,
0x10500073,
0xd00073,
0x1d00073,
0x40004033,
0x4033,
0x4013,
0x28002033,
0x28004033,
0x7013,
0x800403b,
0xffff_ffff,
0x800003b,
0xffff_ffff,
];
pub static OPCODE64_MASK: [u32; 1021] = [
0xfe00707f,
0xfe00707f,
0x707f,
0x707f,
0xfe00707f,
0xffff_ffff,
0xffff_ffff,
0xffff_ffff,
0xffff_ffff,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfff0707f,
0xff00707f,
0xfe00707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xf800707f,
0xfe00707f,
0x707f,
0xfe00707f,
0x7f,
0xfe00707f,
0xfc00707f,
0xffff_ffff,
0x707f,
0x1f0707f,
0xfe00707f,
0xfc00707f,
0xffff_ffff,
0x707f,
0x707f,
0x1f0707f,
0x707f,
0x707f,
0xff07f,
0xfe00707f,
0xfc00707f,
0xffff_ffff,
0x707f,
0x707f,
0xff07f,
0x707f,
0x707f,
0x1f0707f,
0x707f,
0x1f0707f,
0xfff0707f,
0xfe00707f,
0xfc00707f,
0xffff_ffff,
0xf003,
0xe003,
0xef83,
0xe003,
0xe003,
0xfc63,
0xfc63,
0xec03,
0xe003,
0xe003,
0xffff,
0xe003,
0xe003,
0xffff_ffff,
0xffff_ffff,
0xe003,
0xe003,
0xffff_ffff,
0xffff_ffff,
0xe003,
0xffff_ffff,
0xf07f,
0xf07f,
0xfc03,
0xe003,
0xe003,
0xfc43,
0xfc43,
0xe003,
0xe003,
0xe003,
0xe003,
0xffff,
0xffff,
0xffff,
0xffff,
0xffff,
0xffff,
0xffff,
0xffff,
0xf8ff,
0xfc63,
0xf003,
0xef83,
0xfc7f,
0xffff,
0xffff,
0xffff,
0xffff,
0xfc63,
0xfc03,
0xe003,
0xe003,
0xfc7f,
0xfc7f,
0xf07f,
0xfc43,
0xe003,
0xffff_ffff,
0xec03,
0xffff_ffff,
0xec03,
0xffff_ffff,
0xfc63,
0xfc63,
0xe003,
0xe003,
0xfc63,
0xfc7f,
0xfc7f,
0xfc7f,
0xfff07fff,
0xfff07fff,
0xfff07fff,
0xfff07fff,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfff0707f,
0xfff0707f,
0xfc03,
0xfc63,
0xfc63,
0xff03,
0xff03,
0xff03,
0xff03,
0xfff0707f,
0xfff0707f,
0x7fff,
0x7fff,
0xff07f,
0x707f,
0x707f,
0x707f,
0x707f,
0x707f,
0x707f,
0x7fff,
0x7fff,
0x7fff,
0x7fff,
0xfff0707f,
0xfff0707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xffffffff,
0xffffffff,
0xffffffff,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00007f,
0xfe00007f,
0xfe00007f,
0xfe00007f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0707f,
0xfe00007f,
0xfe00007f,
0xfe00007f,
0xfe00007f,
0x707f,
0x707f,
0xfff0707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0x707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0x707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0x707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0x707f,
0x600007f,
0x600007f,
0x600007f,
0x600007f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0x600007f,
0x600007f,
0x600007f,
0x600007f,
0xfe00007f,
0xfe00007f,
0xfe00007f,
0xfe00007f,
0xfe00707f,
0xfff0707f,
0xfe00707f,
0xfff0707f,
0xfe00707f,
0xfe00707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xffff_ffff,
0xfff0707f,
0xffff_ffff,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0x600007f,
0x600007f,
0x600007f,
0x600007f,
0x600007f,
0x600007f,
0x600007f,
0x600007f,
0xfffff07f,
0xfffff07f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfffff07f,
0xfff0707f,
0x707f,
0xfff0707f,
0xfff0707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0x707f,
0x707f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0007f,
0xfff0707f,
0xfff0707f,
0xfe00007f,
0xfe00007f,
0xfe00007f,
0xfe00007f,
0x707f,
0xfe007fff,
0xfe007fff,
0xfe007fff,
0xfe007fff,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfe007fff,
0xfe007fff,
0xfe007fff,
0xfe007fff,
0xfff,
0x7f,
0xfff,
0x707f,
0xfff07fff,
0xfff07fff,
0x707f,
0x707f,
0x707f,
0x707f,
0x707f,
0xf9f0707f,
0xf9f0707f,
0x7f,
0x707f,
0x707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xb3c0707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xb200707f,
0xffffffff,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfff0707f,
0xfff0707f,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xfe00707f,
0xfff0707f,
0x707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xffffffff,
0x1f07fff,
0x1f07fff,
0x1f07fff,
0xfffff07f,
0xffff_ffff,
0xfffff07f,
0xffff_ffff,
0xfffff07f,
0xffff_ffff,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xffffffff,
0xfff0707f,
0xffff_ffff,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfc00707f,
0xffff_ffff,
0xfe00707f,
0xfe00707f,
0x707f,
0xffffffff,
0xf800707f,
0xf800707f,
0xffffffff,
0x707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xffffffff,
0xfe007fff,
0xffffffff,
0xfe0ff07f,
0x707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xffff_ffff,
0xffff_ffff,
0xfff0707f,
0xffff_ffff,
0xffff_ffff,
0xfff0707f,
0xffff_ffff,
0xfff0707f,
0xffff_ffff,
0xfe007fff,
0xfe00707f,
0xfc00707f,
0xffff_ffff,
0xfc00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0x707f,
0x707f,
0xfe00707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0x3e00707f,
0x3e00707f,
0xfe0ff07f,
0xfe00707f,
0xfc00707f,
0xffff_ffff,
0xfe00707f,
0xfe00707f,
0xffffffff,
0xfe00707f,
0xfc00707f,
0xffff_ffff,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0x707f,
0xffff_ffff,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfe0ff07f,
0xfe0ff07f,
0xfe0ff07f,
0xfe0ff07f,
0xfe0ff07f,
0xfe0ff07f,
0xfe0ff07f,
0xfe0ff07f,
0xfe00707f,
0xfe00707f,
0xfe0ff07f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc0ff07f,
0xfc0ff07f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc0ff07f,
0xfe00707f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfc00707f,
0xfc00707f,
0xfc0ff07f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfe00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfe0ff07f,
0xfff0707f,
0xfff0707f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc0ff07f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc0ff07f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc0ff07f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfe00707f,
0xfe0ff07f,
0xfdfff07f,
0xfc0ff07f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0x1df0707f,
0x1df0707f,
0xfff0707f,
0x1df0707f,
0x1df0707f,
0x1df0707f,
0x1df0707f,
0x1df0707f,
0x1df0707f,
0xfff0707f,
0x1c00707f,
0x1c00707f,
0x1c00707f,
0x1c00707f,
0x1c00707f,
0x1c00707f,
0x1c00707f,
0x1c00707f,
0x1c00707f,
0x1c00707f,
0x1c00707f,
0x1c00707f,
0xfc00707f,
0xfc00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfc00707f,
0xfc00707f,
0xfe00707f,
0xfe00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfc00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfc0ff07f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc0ff07f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc0ff07f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfe0ff07f,
0xfe0ff07f,
0xfe0ff07f,
0xfe0ff07f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfe0ff07f,
0xfe00707f,
0xfe00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc0ff07f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc0ff07f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xf800707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfff0707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfe00707f,
0xfe00707f,
0x1df0707f,
0xfff0707f,
0x1df0707f,
0x1df0707f,
0x1df0707f,
0xc000707f,
0xfe00707f,
0x8000707f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfe00707f,
0xfe00707f,
0xfe00707f,
0xfe0ff07f,
0xfe0ff07f,
0xfff0707f,
0xfc00707f,
0xfc00707f,
0x1c00707f,
0x1c00707f,
0x1c00707f,
0x1c00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0x1c00707f,
0x1c00707f,
0x1c00707f,
0x1c00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0x1c00707f,
0x1c00707f,
0x1c00707f,
0x1c00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc00707f,
0xfc0ff07f,
0xfc0ff07f,
0xfc0ff07f,
0xffffffff,
0xffffffff,
0xffffffff,
0xfe00707f,
0xfe00707f,
0x707f,
0xfe00707f,
0xfe00707f,
0xfff0707f,
0xfff0707f,
0xffff_ffff,
0xfff0707f,
0xffff_ffff,
];
pub static OPCODE_MATCH: [u32; 1021] = [
0x33, 0x800003b, 0x13, 0x1b, 0x3b, 0x2a000033, 0x2e000033, 0x22000033, 0x26000033, 0x3a000033,
0x3e000033, 0x32000033, 0x36000033, 0x30001013, 0x31001013, 0x7e000033, 0x2f, 0x302f, 0x102f,
0x202f, 0x6000002f, 0x6000302f, 0x6000102f, 0x6000202f, 0x2800002f, 0x2800302f, 0x2800102f,
0x2800402f, 0x2800202f, 0xa000002f, 0xa000302f, 0xa000102f, 0xa000202f, 0xe000002f, 0xe000302f,
0xe000102f, 0xe000202f, 0x8000002f, 0x8000302f, 0x8000102f, 0x8000202f, 0xc000002f, 0xc000302f,
0xc000102f, 0xc000202f, 0x4000002f, 0x4000302f, 0x4000102f, 0x4000202f, 0x800002f, 0x800302f,
0x800102f, 0x800202f, 0x2000002f, 0x2000302f, 0x2000102f, 0x2000202f, 0x7033, 0x7013,
0x40007033, 0x17, 0x48001033, 0x48001013, 0x48001013, 0x63, 0x63, 0x48005033, 0x48005013,
0x48005013, 0x5063, 0x7063, 0x5063, 0x4063, 0x6063, 0x4063, 0x68001033, 0x68001013, 0x68001013,
0x5063, 0x7063, 0x5063, 0x4063, 0x6063, 0x4063, 0x1063, 0x1063, 0x68705013, 0x28001033,
0x28001013, 0x28001013, 0x9002, 0x1, 0x6101, 0x0, 0x2001, 0x9c21, 0x8c61, 0x8801, 0xc001,
0xe001, 0x9002, 0x2000, 0x2002, 0x6000, 0x6002, 0xa000, 0xa002, 0xe000, 0xe002, 0xa001, 0x2001,
0x9002, 0x8002, 0x8000, 0x6000, 0x6002, 0x8440, 0x8400, 0x4001, 0x6001, 0x4000, 0x4002, 0x6081,
0x6581, 0x6681, 0x6781, 0x6181, 0x6281, 0x6381, 0x6481, 0x6081, 0x9c41, 0x8002, 0x1, 0x9c75,
0x9016, 0x900a, 0x900e, 0x9012, 0x8c41, 0x8800, 0xe000, 0xe002, 0x9c65, 0x9c6d, 0x2001, 0x8c00,
0x2, 0x2, 0x8401, 0x8401, 0x8001, 0x8001, 0x8c01, 0x9c01, 0xc000, 0xc002, 0x8c21, 0x9c61,
0x9c69, 0x9c71, 0x10200f, 0x20200f, 0x200f, 0x40200f, 0xa001033, 0xa003033, 0xa002033,
0x60001013, 0x6000101b, 0xa002, 0xac62, 0xac22, 0xba02, 0xbe02, 0xbc02, 0xb802, 0x60201013,
0x6020101b, 0x3073, 0x7073, 0x2073, 0x3073, 0x7073, 0x2073, 0x6073, 0x1073, 0x5073, 0x2073,
0x6073, 0x1073, 0x5073, 0x60101013, 0x6010101b, 0xe005033, 0xe007033, 0x2004033, 0x2005033,
0x200503b, 0x200403b, 0x7b200073, 0x100073, 0x73, 0x22002053, 0x24002053, 0x26002053,
0x20002053, 0x2000053, 0x4000053, 0x6000053, 0x53, 0xe2001053, 0xe4001053, 0xe6001053,
0xe0001053, 0x42200053, 0xd2200053, 0xd2300053, 0x42300053, 0x42000053, 0xd2000053, 0xd2100053,
0x44100053, 0xd4200053, 0xd4300053, 0x44300053, 0x44000053, 0xd4000053, 0xd4100053, 0xc2200053,
0xc4200053, 0xc6200053, 0xc0200053, 0xc2300053, 0xc4300053, 0xc6300053, 0xc0300053, 0x46100053,
0x46200053, 0xd6200053, 0xd6300053, 0x46000053, 0xd6000053, 0xd6100053, 0x40100053, 0x40200053,
0xd0200053, 0xd0300053, 0x40300053, 0xd0000053, 0xd0100053, 0xc2000053, 0xc4000053, 0xc6000053,
0xc0000053, 0xc2100053, 0xc4100053, 0xc6100053, 0xc0100053, 0xc2801053, 0x1a000053, 0x1c000053,
0x1e000053, 0x18000053, 0xf, 0x100f, 0x8330000f, 0xa2002053, 0xa4002053, 0xa6002053,
0xa0002053, 0x3007, 0xa2000053, 0xa4000053, 0xa6000053, 0xa0000053, 0xa2004053, 0xa4004053,
0xa6004053, 0xa0004053, 0x1007, 0xf2100053, 0xf4100053, 0xf6100053, 0xf0100053, 0x4007,
0xa2001053, 0xa4001053, 0xa6001053, 0xa0001053, 0xa2005053, 0xa4005053, 0xa6005053, 0xa0005053,
0x2007, 0x2000043, 0x4000043, 0x6000043, 0x43, 0x2a001053, 0x2c001053, 0x2e001053, 0x28001053,
0x2a003053, 0x2c003053, 0x2e003053, 0x28003053, 0x2a000053, 0x2c000053, 0x2e000053, 0x28000053,
0x2a002053, 0x2c002053, 0x2e002053, 0x28002053, 0x2000047, 0x4000047, 0x6000047, 0x47,
0x12000053, 0x14000053, 0x16000053, 0x10000053, 0x22000053, 0xf2000053, 0x24000053, 0xf4000053,
0x26000053, 0x20000053, 0xf0000053, 0xf0000053, 0xe2000053, 0xe4000053, 0xe0000053, 0xe0000053,
0xe2100053, 0xe6100053, 0xb2000053, 0xb6000053, 0x22001053, 0x24001053, 0x26001053, 0x20001053,
0x200004f, 0x400004f, 0x600004f, 0x4f, 0x200004b, 0x400004b, 0x600004b, 0x4b, 0x302073,
0x102073, 0x42400053, 0x44400053, 0x46400053, 0x40400053, 0x42500053, 0x44500053, 0x46500053,
0x40500053, 0x202073, 0x301073, 0x3027, 0x101073, 0x105073, 0x22000053, 0x24000053, 0x26000053,
0x20000053, 0x22001053, 0x24001053, 0x26001053, 0x20001053, 0x22002053, 0x24002053, 0x26002053,
0x20002053, 0x1027, 0x4027, 0x5a000053, 0x5c000053, 0x5e000053, 0x58000053, 0x201073, 0x205073,
0xa000053, 0xc000053, 0xe000053, 0x8000053, 0x2027, 0x62000073, 0x22000073, 0x66000073,
0x26000073, 0x60004073, 0x60104073, 0x6c004073, 0x64004073, 0x64104073, 0x68004073, 0x68104073,
0x64304073, 0x68304073, 0x62004073, 0x6e004073, 0x66004073, 0x6a004073, 0x6f, 0x6f, 0xef, 0x67,
0xe7, 0x67, 0x3, 0x4003, 0x3003, 0x1003, 0x5003, 0x1000302f, 0x1000202f, 0x37, 0x2003, 0x6003,
0xa006033, 0xa007033, 0xa004033, 0xa005033, 0x81c04073, 0x81d04073, 0x89e04073, 0x89f04073,
0x8dc04073, 0x8dd04073, 0x8de04073, 0x8df04073, 0xc1c04073, 0xc1d04073, 0xc1e04073, 0xc1f04073,
0x81e04073, 0xc5c04073, 0xc5d04073, 0xc5e04073, 0xc5f04073, 0xc9c04073, 0xc9d04073, 0xc9e04073,
0xc9f04073, 0xcdc04073, 0xcdd04073, 0x81f04073, 0xcde04073, 0xcdf04073, 0x85c04073, 0x85d04073,
0x85e04073, 0x85f04073, 0x89c04073, 0x89d04073, 0x81c04073, 0x82004073, 0x86004073, 0x8a004073,
0x8e004073, 0xc2004073, 0xc6004073, 0xca004073, 0xce004073, 0x82004073, 0x30200073, 0x2000033,
0x2001033, 0x2002033, 0x2003033, 0x200003b, 0x13, 0x40000033, 0x13, 0x500033, 0x200033,
0x300033, 0x400033, 0x6033, 0x28705013, 0x6013, 0x40006033, 0x8004033, 0x8007033, 0x800403b,
0x100000f, 0x6013, 0x106013, 0x306013, 0xc0002073, 0xc8002073, 0xc0202073, 0xc8202073,
0xc0102073, 0xc8102073, 0x2006033, 0x2007033, 0x200703b, 0x200603b, 0x8067, 0x6b805013,
0x69805013, 0x60001033, 0x6000103b, 0x60005033, 0x60005013, 0x60005013, 0x6000501b, 0x6000503b,
0x23, 0x100073, 0x1800302f, 0x1800202f, 0x73, 0x3023, 0x103013, 0x60401013, 0x60501013, 0x1b,
0x18100073, 0x12000073, 0x18000073, 0x2033, 0x1023, 0x20002033, 0x2000203b, 0x20004033,
0x2000403b, 0x20006033, 0x2000603b, 0x10201013, 0x10301013, 0x10001013, 0x10101013, 0x10601013,
0x5c000033, 0x54000033, 0x10701013, 0x5e000033, 0x56000033, 0x10401013, 0x50000033, 0x10501013,
0x52000033, 0x16000073, 0x1033, 0x1013, 0x1013, 0x800101b, 0x101b, 0x103b, 0x2033, 0x2013,
0x3013, 0x3033, 0x2033, 0x10801013, 0x10901013, 0x30000033, 0x34000033, 0x3033, 0x40005033,
0x40005013, 0x40005013, 0x4000501b, 0x4000503b, 0x10200073, 0x5033, 0x5013, 0x5013, 0x501b,
0x503b, 0x40000033, 0x4000003b, 0x2023, 0x8f05013, 0x24002057, 0x24006057, 0x20002057,
0x20006057, 0x40003057, 0x40000057, 0x40004057, 0x3057, 0x57, 0x4057, 0xa600a077, 0xa200a077,
0xa6002077, 0xa2002077, 0xa601a077, 0xa201a077, 0xa6012077, 0xa2012077, 0x8a002077, 0xaa002077,
0xa603a077, 0x24003057, 0x24000057, 0x24004057, 0x4000057, 0x4004057, 0x2c002057, 0x2c006057,
0x28002057, 0x28006057, 0x48042057, 0x48052057, 0x30002057, 0x30006057, 0x34002057, 0x34006057,
0x48062057, 0x5e002057, 0x40082057, 0x48072057, 0x4806a057, 0x84002057, 0x84006057, 0x80002057,
0x80006057, 0x5057, 0x1057, 0x4c081057, 0x48019057, 0x48011057, 0x48039057, 0x48031057,
0x48009057, 0x48001057, 0x80005057, 0x80001057, 0x4008a057, 0xb0005057, 0xb0001057, 0xa0005057,
0xa0001057, 0x18005057, 0x18001057, 0x5c005057, 0x10005057, 0x10001057, 0xb8005057, 0xb8001057,
0xa8005057, 0xa8001057, 0x90005057, 0x90001057, 0x42001057, 0x42005057, 0x5e005057, 0x480a1057,
0x48099057, 0x48091057, 0x480a9057, 0x480b9057, 0x480b1057, 0x48089057, 0x48081057, 0xb4005057,
0xb4001057, 0xa4005057, 0xa4001057, 0xbc005057, 0xbc001057, 0xac005057, 0xac001057, 0x84005057,
0x4c029057, 0x1c001057, 0x14001057, 0xc001057, 0x4001057, 0x4001057, 0x4c021057, 0x9c005057,
0x20005057, 0x20001057, 0x24005057, 0x24001057, 0x28005057, 0x28001057, 0x3c005057, 0x38005057,
0x4c001057, 0x8005057, 0x8001057, 0xc0005057, 0xc0001057, 0xd0005057, 0xd0001057, 0x48061057,
0x48059057, 0x48051057, 0x48079057, 0x48071057, 0x48049057, 0x48041057, 0xf0005057, 0xf0001057,
0xf8005057, 0xf8001057, 0xe0005057, 0xe0001057, 0xf4005057, 0xf4001057, 0xfc005057, 0xfc001057,
0xcc001057, 0xc4001057, 0xc4001057, 0xc8005057, 0xc8001057, 0xd8005057, 0xd8001057, 0xb2002077,
0xa208a077, 0x5008a057, 0x50082057, 0x2800007, 0x2805007, 0x2806007, 0x2807007, 0x2800007,
0x22800007, 0x22805007, 0x22806007, 0x22807007, 0x22800007, 0x62800007, 0x62805007, 0x62806007,
0x62807007, 0x62800007, 0xe2800007, 0xe2805007, 0xe2806007, 0xe2807007, 0xe2800007, 0x5007,
0x1005007, 0x2b00007, 0x6007, 0x1006007, 0x7007, 0x1007007, 0x7, 0x1000007, 0x2b00007,
0xc005007, 0xc006007, 0xc007007, 0xc000007, 0x8005007, 0x8006007, 0x8007007, 0x8000007,
0x4005007, 0x4006007, 0x4007007, 0x4000007, 0xb4002057, 0xb4006057, 0x46003057, 0x44003057,
0x46000057, 0x44000057, 0x46004057, 0x44004057, 0xa4002057, 0xa4006057, 0x66002057, 0x62002057,
0x60002057, 0x1c000057, 0x1c004057, 0x18000057, 0x18004057, 0x5c003057, 0x5c000057, 0x5c004057,
0x60005057, 0x60001057, 0x7c005057, 0x74005057, 0x64005057, 0x64001057, 0x6c005057, 0x6c001057,
0x70005057, 0x70001057, 0x14000057, 0x14004057, 0x10000057, 0x10004057, 0x76002057, 0x7a002057,
0x6a002057, 0x72002057, 0x70002057, 0x4e000057, 0x4c000057, 0x4e004057, 0x4c004057, 0x5000a057,
0x60003057, 0x60000057, 0x60004057, 0x7c003057, 0x7c004057, 0x78003057, 0x78004057, 0x5001a057,
0x74003057, 0x74000057, 0x74004057, 0x70003057, 0x70000057, 0x70004057, 0x6c000057, 0x6c004057,
0x68000057, 0x68004057, 0x64003057, 0x64000057, 0x64004057, 0x50012057, 0x94002057, 0x94006057,
0x9c002057, 0x9c006057, 0x98002057, 0x98006057, 0x90002057, 0x90006057, 0x9e003057, 0x9e00b057,
0x9e01b057, 0x9e03b057, 0x42006057, 0x5e003057, 0x5e000057, 0x5e004057, 0x42002057, 0x7e002057,
0x6e002057, 0xbc003057, 0xbc000057, 0xbc004057, 0xb8003057, 0xb8000057, 0xb8004057, 0xbc002057,
0xbc006057, 0xac002057, 0xac006057, 0xb4003057, 0xb4000057, 0xb4004057, 0xb0003057, 0xb0000057,
0xb0004057, 0x28003057, 0x28000057, 0x28004057, 0x40082057, 0x4002057, 0x1c002057, 0x18002057,
0x14002057, 0x10002057, 0x8002057, 0x2057, 0xc002057, 0x8c002057, 0x8c006057, 0x88002057,
0x88006057, 0x4804a057, 0x30003057, 0x30000057, 0x30004057, 0x38000057, 0x54000057, 0x54004057,
0x50003057, 0x50000057, 0x50004057, 0xc003057, 0xc004057, 0x2800027, 0x22800027, 0x62800027,
0xe2800027, 0x84003057, 0x84000057, 0x84004057, 0x80003057, 0x80000057, 0x80004057, 0x48000057,
0x48004057, 0x5027, 0x2b00027, 0x6027, 0x7027, 0x27, 0xc0007057, 0x80007057, 0x7057,
0x4803a057, 0x4802a057, 0x4801a057, 0xba002077, 0xbe002077, 0xb6002077, 0x3c006057, 0x38006057,
0x3c003057, 0x3c004057, 0x38003057, 0x38004057, 0x94003057, 0x94000057, 0x94004057, 0xae002077,
0x82002077, 0x86002077, 0xa6082077, 0xa2082077, 0x2b00027, 0x9c000057, 0x9c004057, 0xc005027,
0xc006027, 0xc007027, 0xc000027, 0xa4003057, 0xa4000057, 0xa4004057, 0xa0003057, 0xa0000057,
0xa0004057, 0x8005027, 0x8006027, 0x8007027, 0x8000027, 0xac003057, 0xac000057, 0xac004057,
0xa8003057, 0xa8000057, 0xa8004057, 0x8c000057, 0x8c004057, 0x88000057, 0x88004057, 0x8000057,
0x8004057, 0x4005027, 0x4006027, 0x4007027, 0x4000027, 0xc4002057, 0xc4006057, 0xd4002057,
0xd4006057, 0xc0002057, 0xc0006057, 0xd0002057, 0xd0006057, 0xf4002057, 0xf4006057, 0xfc002057,
0xfc006057, 0xf0002057, 0xf0006057, 0xf8006057, 0xec002057, 0xec006057, 0xe8002057, 0xe8006057,
0xe0002057, 0xe0006057, 0xc4000057, 0xc0000057, 0xd4003057, 0xd4000057, 0xd4004057, 0xcc002057,
0xcc006057, 0xdc002057, 0xdc006057, 0xc8002057, 0xc8006057, 0xd8002057, 0xd8006057, 0x2c003057,
0x2c000057, 0x2c004057, 0x48032057, 0x48022057, 0x48012057, 0x10500073, 0xd00073, 0x1d00073,
0x40004033, 0x4033, 0x4013, 0x28002033, 0x28004033, 0x7013, 0x800403b, 0x8004033, 0x800003b,
0x8f01013,
];
pub static OPCODE_MASK: [u32; 1021] = [
0xfe00707f, 0xfe00707f, 0x707f, 0x707f, 0xfe00707f, 0x3e00707f, 0x3e00707f, 0x3e00707f,
0x3e00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfff0707f, 0xff00707f, 0xfe00707f,
0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f,
0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f,
0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f,
0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f,
0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f, 0xf800707f,
0xf800707f, 0xfe00707f, 0x707f, 0xfe00707f, 0x7f, 0xfe00707f, 0xfc00707f, 0xfe00707f, 0x707f,
0x1f0707f, 0xfe00707f, 0xfc00707f, 0xfe00707f, 0x707f, 0x707f, 0x1f0707f, 0x707f, 0x707f,
0xff07f, 0xfe00707f, 0xfc00707f, 0xfe00707f, 0x707f, 0x707f, 0xff07f, 0x707f, 0x707f,
0x1f0707f, 0x707f, 0x1f0707f, 0xfff0707f, 0xfe00707f, 0xfc00707f, 0xfe00707f, 0xf003, 0xe003,
0xef83, 0xe003, 0xe003, 0xfc63, 0xfc63, 0xec03, 0xe003, 0xe003, 0xffff, 0xe003, 0xe003, 0xe003,
0xe003, 0xe003, 0xe003, 0xe003, 0xe003, 0xe003, 0xe003, 0xf07f, 0xf07f, 0xfc03, 0xe003, 0xe003,
0xfc43, 0xfc43, 0xe003, 0xe003, 0xe003, 0xe003, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xf8ff, 0xfc63, 0xf003, 0xef83, 0xfc7f, 0xffff, 0xffff, 0xffff, 0xffff, 0xfc63,
0xfc03, 0xe003, 0xe003, 0xfc7f, 0xfc7f, 0xf07f, 0xfc43, 0xe003, 0xf003, 0xec03, 0xfc03, 0xec03,
0xfc03, 0xfc63, 0xfc63, 0xe003, 0xe003, 0xfc63, 0xfc7f, 0xfc7f, 0xfc7f, 0xfff07fff, 0xfff07fff,
0xfff07fff, 0xfff07fff, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfff0707f, 0xfff0707f, 0xfc03,
0xfc63, 0xfc63, 0xff03, 0xff03, 0xff03, 0xff03, 0xfff0707f, 0xfff0707f, 0x7fff, 0x7fff,
0xff07f, 0x707f, 0x707f, 0x707f, 0x707f, 0x707f, 0x707f, 0x7fff, 0x7fff, 0x7fff, 0x7fff,
0xfff0707f, 0xfff0707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f,
0xffffffff, 0xffffffff, 0xffffffff, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00007f,
0xfe00007f, 0xfe00007f, 0xfe00007f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0007f,
0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f,
0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f,
0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f,
0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f,
0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f,
0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0707f, 0xfe00007f, 0xfe00007f, 0xfe00007f, 0xfe00007f,
0x707f, 0x707f, 0xfff0707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0x707f, 0xfe00707f,
0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0x707f,
0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0x707f, 0xfe00707f, 0xfe00707f, 0xfe00707f,
0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0x707f, 0x600007f, 0x600007f,
0x600007f, 0x600007f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f,
0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f,
0xfe00707f, 0xfe00707f, 0x600007f, 0x600007f, 0x600007f, 0x600007f, 0xfe00007f, 0xfe00007f,
0xfe00007f, 0xfe00007f, 0xfe00707f, 0xfff0707f, 0xfe00707f, 0xfff0707f, 0xfe00707f, 0xfe00707f,
0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f,
0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0x600007f, 0x600007f,
0x600007f, 0x600007f, 0x600007f, 0x600007f, 0x600007f, 0x600007f, 0xfffff07f, 0xfffff07f,
0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f,
0xfffff07f, 0xfff0707f, 0x707f, 0xfff0707f, 0xfff0707f, 0xfe00707f, 0xfe00707f, 0xfe00707f,
0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f,
0xfe00707f, 0x707f, 0x707f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0007f, 0xfff0707f,
0xfff0707f, 0xfe00007f, 0xfe00007f, 0xfe00007f, 0xfe00007f, 0x707f, 0xfe007fff, 0xfe007fff,
0xfe007fff, 0xfe007fff, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f,
0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfe007fff, 0xfe007fff, 0xfe007fff, 0xfe007fff, 0xfff,
0x7f, 0xfff, 0x707f, 0xfff07fff, 0xfff07fff, 0x707f, 0x707f, 0x707f, 0x707f, 0x707f,
0xf9f0707f, 0xf9f0707f, 0x7f, 0x707f, 0x707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f,
0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f,
0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f,
0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f,
0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f,
0xb3c0707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f,
0xfe00707f, 0xb200707f, 0xffffffff, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f,
0xfff0707f, 0xfff0707f, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xfe00707f,
0xfff0707f, 0x707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xffffffff, 0x1f07fff,
0x1f07fff, 0x1f07fff, 0xfffff07f, 0xfffff07f, 0xfffff07f, 0xfffff07f, 0xfffff07f, 0xfffff07f,
0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xffffffff, 0xfff0707f, 0xfff0707f, 0xfe00707f,
0xfe00707f, 0xfe00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0x707f, 0xffffffff,
0xf800707f, 0xf800707f, 0xffffffff, 0x707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f,
0xffffffff, 0xfe007fff, 0xffffffff, 0xfe0ff07f, 0x707f, 0xfe00707f, 0xfe00707f, 0xfe00707f,
0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f,
0xfe00707f, 0xfe00707f, 0xfff0707f, 0xfe00707f, 0xfe00707f, 0xfff0707f, 0xfe00707f, 0xfff0707f,
0xfe00707f, 0xfe007fff, 0xfe00707f, 0xfc00707f, 0xfe00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f,
0xfe00707f, 0x707f, 0x707f, 0xfe00707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0x3e00707f,
0x3e00707f, 0xfe0ff07f, 0xfe00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xffffffff,
0xfe00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0x707f,
0xfff0707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f,
0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe0ff07f, 0xfe0ff07f, 0xfe0ff07f, 0xfe0ff07f, 0xfe0ff07f,
0xfe0ff07f, 0xfe0ff07f, 0xfe0ff07f, 0xfe00707f, 0xfe00707f, 0xfe0ff07f, 0xfc00707f, 0xfc00707f,
0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f,
0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfe00707f, 0xfc0ff07f,
0xfc0ff07f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc00707f,
0xfc00707f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
0xfe00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
0xfc00707f, 0xfe0ff07f, 0xfff0707f, 0xfff0707f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f,
0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f,
0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f,
0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f,
0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe00707f, 0xfe0ff07f, 0xfdfff07f, 0xfc0ff07f,
0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f,
0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f,
0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0x1df0707f, 0x1df0707f, 0xfff0707f, 0x1df0707f,
0x1df0707f, 0x1df0707f, 0x1df0707f, 0x1df0707f, 0x1df0707f, 0xfff0707f, 0x1c00707f, 0x1c00707f,
0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f,
0x1c00707f, 0x1c00707f, 0xfc00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f,
0xfe00707f, 0xfe00707f, 0xfc00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0xfc00707f, 0xfc00707f,
0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfc00707f, 0xfc00707f,
0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f,
0xfc00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f,
0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f,
0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe0ff07f, 0xfe0ff07f, 0xfe0ff07f, 0xfe0ff07f,
0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfe0ff07f, 0xfe00707f, 0xfe00707f, 0xfc00707f,
0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
0xfc00707f, 0xfc00707f, 0xfc0ff07f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc0ff07f,
0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xf800707f, 0xfc00707f,
0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfc00707f,
0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f, 0x1df0707f,
0xfff0707f, 0x1df0707f, 0x1df0707f, 0x1df0707f, 0xc000707f, 0xfe00707f, 0x8000707f, 0xfc0ff07f,
0xfc0ff07f, 0xfc0ff07f, 0xfe00707f, 0xfe00707f, 0xfe00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfe00707f, 0xfe00707f,
0xfe00707f, 0xfe0ff07f, 0xfe0ff07f, 0xfff0707f, 0xfc00707f, 0xfc00707f, 0x1c00707f, 0x1c00707f,
0x1c00707f, 0x1c00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
0x1c00707f, 0x1c00707f, 0x1c00707f, 0x1c00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f, 0xfc00707f,
0xfc00707f, 0xfc0ff07f, 0xfc0ff07f, 0xfc0ff07f, 0xffffffff, 0xffffffff, 0xffffffff, 0xfe00707f,
0xfe00707f, 0x707f, 0xfe00707f, 0xfe00707f, 0xfff0707f, 0xfff0707f, 0xfff0707f, 0xfff0707f,
0xfff0707f,
];
pub static OPCODE_MASK_COMPRESSED: [u16; 1021] = [
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61443, 57347,
61315, 57347, 57347, 64611, 64611, 60419, 57347, 57347, 65535, 57347, 57347, 57347, 57347,
57347, 57347, 57347, 57347, 57347, 57347, 61567, 61567, 64515, 57347, 57347, 64579, 64579,
57347, 57347, 57347, 57347, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 63743,
64611, 61443, 61315, 64639, 65535, 65535, 65535, 65535, 64611, 64515, 57347, 57347, 64639,
64639, 61567, 64579, 57347, 61443, 60419, 64515, 60419, 64515, 64611, 64611, 57347, 57347,
64611, 64639, 64639, 64639, 32767, 32767, 32767, 32767, 28799, 28799, 28799, 28799, 28799,
64515, 64611, 64611, 65283, 65283, 65283, 65283, 28799, 28799, 32767, 32767, 61567, 28799,
28799, 28799, 28799, 28799, 28799, 32767, 32767, 32767, 32767, 28799, 28799, 28799, 28799, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
];
pub static OPCODE_MATCH_COMPRESSED: [u16; 1021] = [
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36866, 1, 24833,
0, 8193, 39969, 35937, 34817, 49153, 57345, 36866, 8192, 8194, 24576, 24578, 40960, 40962,
57344, 57346, 40961, 8193, 36866, 32770, 32768, 24576, 24578, 33856, 33792, 16385, 24577,
16384, 16386, 24705, 25985, 26241, 26497, 24961, 25217, 25473, 25729, 24705, 40001, 32770, 1,
40053, 36886, 36874, 36878, 36882, 35905, 34816, 57344, 57346, 40037, 40045, 8193, 35840, 2, 2,
33793, 33793, 32769, 32769, 35841, 39937, 49152, 49154, 35873, 40033, 40041, 40049, 8207, 8207,
8207, 8207, 4147, 12339, 8243, 4115, 4123, 40962, 44130, 44066, 47618, 48642, 48130, 47106,
4115, 4123, 12403, 28787, 8307, 12403, 28787, 8307, 24691, 4211, 20595, 8307, 24691, 4211,
20595, 4115, 4123, 20531, 28723, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0,
];
pub static ALL_OPCODES: [Opcode; 1021] = [
Opcode::ADD,
Opcode::ADDUW,
Opcode::ADDI,
Opcode::ADDIW,
Opcode::ADDW,
Opcode::AES32DSI,
Opcode::AES32DSMI,
Opcode::AES32ESI,
Opcode::AES32ESMI,
Opcode::AES64DS,
Opcode::AES64DSM,
Opcode::AES64ES,
Opcode::AES64ESM,
Opcode::AES64IM,
Opcode::AES64KS1I,
Opcode::AES64KS2,
Opcode::AMOADDB,
Opcode::AMOADDD,
Opcode::AMOADDH,
Opcode::AMOADDW,
Opcode::AMOANDB,
Opcode::AMOANDD,
Opcode::AMOANDH,
Opcode::AMOANDW,
Opcode::AMOCASB,
Opcode::AMOCASD,
Opcode::AMOCASH,
Opcode::AMOCASQ,
Opcode::AMOCASW,
Opcode::AMOMAXB,
Opcode::AMOMAXD,
Opcode::AMOMAXH,
Opcode::AMOMAXW,
Opcode::AMOMAXUB,
Opcode::AMOMAXUD,
Opcode::AMOMAXUH,
Opcode::AMOMAXUW,
Opcode::AMOMINB,
Opcode::AMOMIND,
Opcode::AMOMINH,
Opcode::AMOMINW,
Opcode::AMOMINUB,
Opcode::AMOMINUD,
Opcode::AMOMINUH,
Opcode::AMOMINUW,
Opcode::AMOORB,
Opcode::AMOORD,
Opcode::AMOORH,
Opcode::AMOORW,
Opcode::AMOSWAPB,
Opcode::AMOSWAPD,
Opcode::AMOSWAPH,
Opcode::AMOSWAPW,
Opcode::AMOXORB,
Opcode::AMOXORD,
Opcode::AMOXORH,
Opcode::AMOXORW,
Opcode::AND,
Opcode::ANDI,
Opcode::ANDN,
Opcode::AUIPC,
Opcode::BCLR,
Opcode::BCLRI,
Opcode::BCLRIRV32,
Opcode::BEQ,
Opcode::BEQZ,
Opcode::BEXT,
Opcode::BEXTI,
Opcode::BEXTIRV32,
Opcode::BGE,
Opcode::BGEU,
Opcode::BGEZ,
Opcode::BGT,
Opcode::BGTU,
Opcode::BGTZ,
Opcode::BINV,
Opcode::BINVI,
Opcode::BINVIRV32,
Opcode::BLE,
Opcode::BLEU,
Opcode::BLEZ,
Opcode::BLT,
Opcode::BLTU,
Opcode::BLTZ,
Opcode::BNE,
Opcode::BNEZ,
Opcode::BREV8,
Opcode::BSET,
Opcode::BSETI,
Opcode::BSETIRV32,
Opcode::CADD,
Opcode::CADDI,
Opcode::CADDI16SP,
Opcode::CADDI4SPN,
Opcode::CADDIW,
Opcode::CADDW,
Opcode::CAND,
Opcode::CANDI,
Opcode::CBEQZ,
Opcode::CBNEZ,
Opcode::CEBREAK,
Opcode::CFLD,
Opcode::CFLDSP,
Opcode::CFLW,
Opcode::CFLWSP,
Opcode::CFSD,
Opcode::CFSDSP,
Opcode::CFSW,
Opcode::CFSWSP,
Opcode::CJ,
Opcode::CJAL,
Opcode::CJALR,
Opcode::CJR,
Opcode::CLBU,
Opcode::CLD,
Opcode::CLDSP,
Opcode::CLH,
Opcode::CLHU,
Opcode::CLI,
Opcode::CLUI,
Opcode::CLW,
Opcode::CLWSP,
Opcode::CMOP1,
Opcode::CMOP11,
Opcode::CMOP13,
Opcode::CMOP15,
Opcode::CMOP3,
Opcode::CMOP5,
Opcode::CMOP7,
Opcode::CMOP9,
Opcode::CMOPN,
Opcode::CMUL,
Opcode::CMV,
Opcode::CNOP,
Opcode::CNOT,
Opcode::CNTLALL,
Opcode::CNTLP1,
Opcode::CNTLPALL,
Opcode::CNTLS1,
Opcode::COR,
Opcode::CSB,
Opcode::CSD,
Opcode::CSDSP,
Opcode::CSEXTB,
Opcode::CSEXTH,
Opcode::CSEXTW,
Opcode::CSH,
Opcode::CSLLI,
Opcode::CSLLIRV32,
Opcode::CSRAI,
Opcode::CSRAIRV32,
Opcode::CSRLI,
Opcode::CSRLIRV32,
Opcode::CSUB,
Opcode::CSUBW,
Opcode::CSW,
Opcode::CSWSP,
Opcode::CXOR,
Opcode::CZEXTB,
Opcode::CZEXTH,
Opcode::CZEXTW,
Opcode::CBOCLEAN,
Opcode::CBOFLUSH,
Opcode::CBOINVAL,
Opcode::CBOZERO,
Opcode::CLMUL,
Opcode::CLMULH,
Opcode::CLMULR,
Opcode::CLZ,
Opcode::CLZW,
Opcode::CMJALT,
Opcode::CMMVA01S,
Opcode::CMMVSA01,
Opcode::CMPOP,
Opcode::CMPOPRET,
Opcode::CMPOPRETZ,
Opcode::CMPUSH,
Opcode::CPOP,
Opcode::CPOPW,
Opcode::CSRC,
Opcode::CSRCI,
Opcode::CSRR,
Opcode::CSRRC,
Opcode::CSRRCI,
Opcode::CSRRS,
Opcode::CSRRSI,
Opcode::CSRRW,
Opcode::CSRRWI,
Opcode::CSRS,
Opcode::CSRSI,
Opcode::CSRW,
Opcode::CSRWI,
Opcode::CTZ,
Opcode::CTZW,
Opcode::CZEROEQZ,
Opcode::CZERONEZ,
Opcode::DIV,
Opcode::DIVU,
Opcode::DIVUW,
Opcode::DIVW,
Opcode::DRET,
Opcode::EBREAK,
Opcode::ECALL,
Opcode::FABSD,
Opcode::FABSH,
Opcode::FABSQ,
Opcode::FABSS,
Opcode::FADDD,
Opcode::FADDH,
Opcode::FADDQ,
Opcode::FADDS,
Opcode::FCLASSD,
Opcode::FCLASSH,
Opcode::FCLASSQ,
Opcode::FCLASSS,
Opcode::FCVTDH,
Opcode::FCVTDL,
Opcode::FCVTDLU,
Opcode::FCVTDQ,
Opcode::FCVTDS,
Opcode::FCVTDW,
Opcode::FCVTDWU,
Opcode::FCVTHD,
Opcode::FCVTHL,
Opcode::FCVTHLU,
Opcode::FCVTHQ,
Opcode::FCVTHS,
Opcode::FCVTHW,
Opcode::FCVTHWU,
Opcode::FCVTLD,
Opcode::FCVTLH,
Opcode::FCVTLQ,
Opcode::FCVTLS,
Opcode::FCVTLUD,
Opcode::FCVTLUH,
Opcode::FCVTLUQ,
Opcode::FCVTLUS,
Opcode::FCVTQD,
Opcode::FCVTQH,
Opcode::FCVTQL,
Opcode::FCVTQLU,
Opcode::FCVTQS,
Opcode::FCVTQW,
Opcode::FCVTQWU,
Opcode::FCVTSD,
Opcode::FCVTSH,
Opcode::FCVTSL,
Opcode::FCVTSLU,
Opcode::FCVTSQ,
Opcode::FCVTSW,
Opcode::FCVTSWU,
Opcode::FCVTWD,
Opcode::FCVTWH,
Opcode::FCVTWQ,
Opcode::FCVTWS,
Opcode::FCVTWUD,
Opcode::FCVTWUH,
Opcode::FCVTWUQ,
Opcode::FCVTWUS,
Opcode::FCVTMODWD,
Opcode::FDIVD,
Opcode::FDIVH,
Opcode::FDIVQ,
Opcode::FDIVS,
Opcode::FENCE,
Opcode::FENCEI,
Opcode::FENCETSO,
Opcode::FEQD,
Opcode::FEQH,
Opcode::FEQQ,
Opcode::FEQS,
Opcode::FLD,
Opcode::FLED,
Opcode::FLEH,
Opcode::FLEQ,
Opcode::FLES,
Opcode::FLEQD,
Opcode::FLEQH,
Opcode::FLEQQ,
Opcode::FLEQS,
Opcode::FLH,
Opcode::FLID,
Opcode::FLIH,
Opcode::FLIQ,
Opcode::FLIS,
Opcode::FLQ,
Opcode::FLTD,
Opcode::FLTH,
Opcode::FLTQ,
Opcode::FLTS,
Opcode::FLTQD,
Opcode::FLTQH,
Opcode::FLTQQ,
Opcode::FLTQS,
Opcode::FLW,
Opcode::FMADDD,
Opcode::FMADDH,
Opcode::FMADDQ,
Opcode::FMADDS,
Opcode::FMAXD,
Opcode::FMAXH,
Opcode::FMAXQ,
Opcode::FMAXS,
Opcode::FMAXMD,
Opcode::FMAXMH,
Opcode::FMAXMQ,
Opcode::FMAXMS,
Opcode::FMIND,
Opcode::FMINH,
Opcode::FMINQ,
Opcode::FMINS,
Opcode::FMINMD,
Opcode::FMINMH,
Opcode::FMINMQ,
Opcode::FMINMS,
Opcode::FMSUBD,
Opcode::FMSUBH,
Opcode::FMSUBQ,
Opcode::FMSUBS,
Opcode::FMULD,
Opcode::FMULH,
Opcode::FMULQ,
Opcode::FMULS,
Opcode::FMVD,
Opcode::FMVDX,
Opcode::FMVH,
Opcode::FMVHX,
Opcode::FMVQ,
Opcode::FMVS,
Opcode::FMVSX,
Opcode::FMVWX,
Opcode::FMVXD,
Opcode::FMVXH,
Opcode::FMVXS,
Opcode::FMVXW,
Opcode::FMVHXD,
Opcode::FMVHXQ,
Opcode::FMVPDX,
Opcode::FMVPQX,
Opcode::FNEGD,
Opcode::FNEGH,
Opcode::FNEGQ,
Opcode::FNEGS,
Opcode::FNMADDD,
Opcode::FNMADDH,
Opcode::FNMADDQ,
Opcode::FNMADDS,
Opcode::FNMSUBD,
Opcode::FNMSUBH,
Opcode::FNMSUBQ,
Opcode::FNMSUBS,
Opcode::FRCSR,
Opcode::FRFLAGS,
Opcode::FROUNDD,
Opcode::FROUNDH,
Opcode::FROUNDQ,
Opcode::FROUNDS,
Opcode::FROUNDNXD,
Opcode::FROUNDNXH,
Opcode::FROUNDNXQ,
Opcode::FROUNDNXS,
Opcode::FRRM,
Opcode::FSCSR,
Opcode::FSD,
Opcode::FSFLAGS,
Opcode::FSFLAGSI,
Opcode::FSGNJD,
Opcode::FSGNJH,
Opcode::FSGNJQ,
Opcode::FSGNJS,
Opcode::FSGNJND,
Opcode::FSGNJNH,
Opcode::FSGNJNQ,
Opcode::FSGNJNS,
Opcode::FSGNJXD,
Opcode::FSGNJXH,
Opcode::FSGNJXQ,
Opcode::FSGNJXS,
Opcode::FSH,
Opcode::FSQ,
Opcode::FSQRTD,
Opcode::FSQRTH,
Opcode::FSQRTQ,
Opcode::FSQRTS,
Opcode::FSRM,
Opcode::FSRMI,
Opcode::FSUBD,
Opcode::FSUBH,
Opcode::FSUBQ,
Opcode::FSUBS,
Opcode::FSW,
Opcode::HFENCEGVMA,
Opcode::HFENCEVVMA,
Opcode::HINVALGVMA,
Opcode::HINVALVVMA,
Opcode::HLVB,
Opcode::HLVBU,
Opcode::HLVD,
Opcode::HLVH,
Opcode::HLVHU,
Opcode::HLVW,
Opcode::HLVWU,
Opcode::HLVXHU,
Opcode::HLVXWU,
Opcode::HSVB,
Opcode::HSVD,
Opcode::HSVH,
Opcode::HSVW,
Opcode::J,
Opcode::JAL,
Opcode::JALPSEUDO,
Opcode::JALR,
Opcode::JALRPSEUDO,
Opcode::JR,
Opcode::LB,
Opcode::LBU,
Opcode::LD,
Opcode::LH,
Opcode::LHU,
Opcode::LRD,
Opcode::LRW,
Opcode::LUI,
Opcode::LW,
Opcode::LWU,
Opcode::MAX,
Opcode::MAXU,
Opcode::MIN,
Opcode::MINU,
Opcode::MOPR0,
Opcode::MOPR1,
Opcode::MOPR10,
Opcode::MOPR11,
Opcode::MOPR12,
Opcode::MOPR13,
Opcode::MOPR14,
Opcode::MOPR15,
Opcode::MOPR16,
Opcode::MOPR17,
Opcode::MOPR18,
Opcode::MOPR19,
Opcode::MOPR2,
Opcode::MOPR20,
Opcode::MOPR21,
Opcode::MOPR22,
Opcode::MOPR23,
Opcode::MOPR24,
Opcode::MOPR25,
Opcode::MOPR26,
Opcode::MOPR27,
Opcode::MOPR28,
Opcode::MOPR29,
Opcode::MOPR3,
Opcode::MOPR30,
Opcode::MOPR31,
Opcode::MOPR4,
Opcode::MOPR5,
Opcode::MOPR6,
Opcode::MOPR7,
Opcode::MOPR8,
Opcode::MOPR9,
Opcode::MOPRN,
Opcode::MOPRR0,
Opcode::MOPRR1,
Opcode::MOPRR2,
Opcode::MOPRR3,
Opcode::MOPRR4,
Opcode::MOPRR5,
Opcode::MOPRR6,
Opcode::MOPRR7,
Opcode::MOPRRN,
Opcode::MRET,
Opcode::MUL,
Opcode::MULH,
Opcode::MULHSU,
Opcode::MULHU,
Opcode::MULW,
Opcode::MV,
Opcode::NEG,
Opcode::NOP,
Opcode::NTLALL,
Opcode::NTLP1,
Opcode::NTLPALL,
Opcode::NTLS1,
Opcode::OR,
Opcode::ORCB,
Opcode::ORI,
Opcode::ORN,
Opcode::PACK,
Opcode::PACKH,
Opcode::PACKW,
Opcode::PAUSE,
Opcode::PREFETCHI,
Opcode::PREFETCHR,
Opcode::PREFETCHW,
Opcode::RDCYCLE,
Opcode::RDCYCLEH,
Opcode::RDINSTRET,
Opcode::RDINSTRETH,
Opcode::RDTIME,
Opcode::RDTIMEH,
Opcode::REM,
Opcode::REMU,
Opcode::REMUW,
Opcode::REMW,
Opcode::RET,
Opcode::REV8,
Opcode::REV8RV32,
Opcode::ROL,
Opcode::ROLW,
Opcode::ROR,
Opcode::RORI,
Opcode::RORIRV32,
Opcode::RORIW,
Opcode::RORW,
Opcode::SB,
Opcode::SBREAK,
Opcode::SCD,
Opcode::SCW,
Opcode::SCALL,
Opcode::SD,
Opcode::SEQZ,
Opcode::SEXTB,
Opcode::SEXTH,
Opcode::SEXTW,
Opcode::SFENCEINVALIR,
Opcode::SFENCEVMA,
Opcode::SFENCEWINVAL,
Opcode::SGTZ,
Opcode::SH,
Opcode::SH1ADD,
Opcode::SH1ADDUW,
Opcode::SH2ADD,
Opcode::SH2ADDUW,
Opcode::SH3ADD,
Opcode::SH3ADDUW,
Opcode::SHA256SIG0,
Opcode::SHA256SIG1,
Opcode::SHA256SUM0,
Opcode::SHA256SUM1,
Opcode::SHA512SIG0,
Opcode::SHA512SIG0H,
Opcode::SHA512SIG0L,
Opcode::SHA512SIG1,
Opcode::SHA512SIG1H,
Opcode::SHA512SIG1L,
Opcode::SHA512SUM0,
Opcode::SHA512SUM0R,
Opcode::SHA512SUM1,
Opcode::SHA512SUM1R,
Opcode::SINVALVMA,
Opcode::SLL,
Opcode::SLLI,
Opcode::SLLIRV32,
Opcode::SLLIUW,
Opcode::SLLIW,
Opcode::SLLW,
Opcode::SLT,
Opcode::SLTI,
Opcode::SLTIU,
Opcode::SLTU,
Opcode::SLTZ,
Opcode::SM3P0,
Opcode::SM3P1,
Opcode::SM4ED,
Opcode::SM4KS,
Opcode::SNEZ,
Opcode::SRA,
Opcode::SRAI,
Opcode::SRAIRV32,
Opcode::SRAIW,
Opcode::SRAW,
Opcode::SRET,
Opcode::SRL,
Opcode::SRLI,
Opcode::SRLIRV32,
Opcode::SRLIW,
Opcode::SRLW,
Opcode::SUB,
Opcode::SUBW,
Opcode::SW,
Opcode::UNZIP,
Opcode::VAADDVV,
Opcode::VAADDVX,
Opcode::VAADDUVV,
Opcode::VAADDUVX,
Opcode::VADCVIM,
Opcode::VADCVVM,
Opcode::VADCVXM,
Opcode::VADDVI,
Opcode::VADDVV,
Opcode::VADDVX,
Opcode::VAESDFVS,
Opcode::VAESDFVV,
Opcode::VAESDMVS,
Opcode::VAESDMVV,
Opcode::VAESEFVS,
Opcode::VAESEFVV,
Opcode::VAESEMVS,
Opcode::VAESEMVV,
Opcode::VAESKF1VI,
Opcode::VAESKF2VI,
Opcode::VAESZVS,
Opcode::VANDVI,
Opcode::VANDVV,
Opcode::VANDVX,
Opcode::VANDNVV,
Opcode::VANDNVX,
Opcode::VASUBVV,
Opcode::VASUBVX,
Opcode::VASUBUVV,
Opcode::VASUBUVX,
Opcode::VBREV8V,
Opcode::VBREVV,
Opcode::VCLMULVV,
Opcode::VCLMULVX,
Opcode::VCLMULHVV,
Opcode::VCLMULHVX,
Opcode::VCLZV,
Opcode::VCOMPRESSVM,
Opcode::VCPOPM,
Opcode::VCPOPV,
Opcode::VCTZV,
Opcode::VDIVVV,
Opcode::VDIVVX,
Opcode::VDIVUVV,
Opcode::VDIVUVX,
Opcode::VFADDVF,
Opcode::VFADDVV,
Opcode::VFCLASSV,
Opcode::VFCVTFXV,
Opcode::VFCVTFXUV,
Opcode::VFCVTRTZXFV,
Opcode::VFCVTRTZXUFV,
Opcode::VFCVTXFV,
Opcode::VFCVTXUFV,
Opcode::VFDIVVF,
Opcode::VFDIVVV,
Opcode::VFIRSTM,
Opcode::VFMACCVF,
Opcode::VFMACCVV,
Opcode::VFMADDVF,
Opcode::VFMADDVV,
Opcode::VFMAXVF,
Opcode::VFMAXVV,
Opcode::VFMERGEVFM,
Opcode::VFMINVF,
Opcode::VFMINVV,
Opcode::VFMSACVF,
Opcode::VFMSACVV,
Opcode::VFMSUBVF,
Opcode::VFMSUBVV,
Opcode::VFMULVF,
Opcode::VFMULVV,
Opcode::VFMVFS,
Opcode::VFMVSF,
Opcode::VFMVVF,
Opcode::VFNCVTFFW,
Opcode::VFNCVTFXW,
Opcode::VFNCVTFXUW,
Opcode::VFNCVTRODFFW,
Opcode::VFNCVTRTZXFW,
Opcode::VFNCVTRTZXUFW,
Opcode::VFNCVTXFW,
Opcode::VFNCVTXUFW,
Opcode::VFNMACCVF,
Opcode::VFNMACCVV,
Opcode::VFNMADDVF,
Opcode::VFNMADDVV,
Opcode::VFNMSACVF,
Opcode::VFNMSACVV,
Opcode::VFNMSUBVF,
Opcode::VFNMSUBVV,
Opcode::VFRDIVVF,
Opcode::VFREC7V,
Opcode::VFREDMAXVS,
Opcode::VFREDMINVS,
Opcode::VFREDOSUMVS,
Opcode::VFREDSUMVS,
Opcode::VFREDUSUMVS,
Opcode::VFRSQRT7V,
Opcode::VFRSUBVF,
Opcode::VFSGNJVF,
Opcode::VFSGNJVV,
Opcode::VFSGNJNVF,
Opcode::VFSGNJNVV,
Opcode::VFSGNJXVF,
Opcode::VFSGNJXVV,
Opcode::VFSLIDE1DOWNVF,
Opcode::VFSLIDE1UPVF,
Opcode::VFSQRTV,
Opcode::VFSUBVF,
Opcode::VFSUBVV,
Opcode::VFWADDVF,
Opcode::VFWADDVV,
Opcode::VFWADDWF,
Opcode::VFWADDWV,
Opcode::VFWCVTFFV,
Opcode::VFWCVTFXV,
Opcode::VFWCVTFXUV,
Opcode::VFWCVTRTZXFV,
Opcode::VFWCVTRTZXUFV,
Opcode::VFWCVTXFV,
Opcode::VFWCVTXUFV,
Opcode::VFWMACCVF,
Opcode::VFWMACCVV,
Opcode::VFWMSACVF,
Opcode::VFWMSACVV,
Opcode::VFWMULVF,
Opcode::VFWMULVV,
Opcode::VFWNMACCVF,
Opcode::VFWNMACCVV,
Opcode::VFWNMSACVF,
Opcode::VFWNMSACVV,
Opcode::VFWREDOSUMVS,
Opcode::VFWREDSUMVS,
Opcode::VFWREDUSUMVS,
Opcode::VFWSUBVF,
Opcode::VFWSUBVV,
Opcode::VFWSUBWF,
Opcode::VFWSUBWV,
Opcode::VGHSHVV,
Opcode::VGMULVV,
Opcode::VIDV,
Opcode::VIOTAM,
Opcode::VL1RV,
Opcode::VL1RE16V,
Opcode::VL1RE32V,
Opcode::VL1RE64V,
Opcode::VL1RE8V,
Opcode::VL2RV,
Opcode::VL2RE16V,
Opcode::VL2RE32V,
Opcode::VL2RE64V,
Opcode::VL2RE8V,
Opcode::VL4RV,
Opcode::VL4RE16V,
Opcode::VL4RE32V,
Opcode::VL4RE64V,
Opcode::VL4RE8V,
Opcode::VL8RV,
Opcode::VL8RE16V,
Opcode::VL8RE32V,
Opcode::VL8RE64V,
Opcode::VL8RE8V,
Opcode::VLE16V,
Opcode::VLE16FFV,
Opcode::VLE1V,
Opcode::VLE32V,
Opcode::VLE32FFV,
Opcode::VLE64V,
Opcode::VLE64FFV,
Opcode::VLE8V,
Opcode::VLE8FFV,
Opcode::VLMV,
Opcode::VLOXEI16V,
Opcode::VLOXEI32V,
Opcode::VLOXEI64V,
Opcode::VLOXEI8V,
Opcode::VLSE16V,
Opcode::VLSE32V,
Opcode::VLSE64V,
Opcode::VLSE8V,
Opcode::VLUXEI16V,
Opcode::VLUXEI32V,
Opcode::VLUXEI64V,
Opcode::VLUXEI8V,
Opcode::VMACCVV,
Opcode::VMACCVX,
Opcode::VMADCVI,
Opcode::VMADCVIM,
Opcode::VMADCVV,
Opcode::VMADCVVM,
Opcode::VMADCVX,
Opcode::VMADCVXM,
Opcode::VMADDVV,
Opcode::VMADDVX,
Opcode::VMANDMM,
Opcode::VMANDNMM,
Opcode::VMANDNOTMM,
Opcode::VMAXVV,
Opcode::VMAXVX,
Opcode::VMAXUVV,
Opcode::VMAXUVX,
Opcode::VMERGEVIM,
Opcode::VMERGEVVM,
Opcode::VMERGEVXM,
Opcode::VMFEQVF,
Opcode::VMFEQVV,
Opcode::VMFGEVF,
Opcode::VMFGTVF,
Opcode::VMFLEVF,
Opcode::VMFLEVV,
Opcode::VMFLTVF,
Opcode::VMFLTVV,
Opcode::VMFNEVF,
Opcode::VMFNEVV,
Opcode::VMINVV,
Opcode::VMINVX,
Opcode::VMINUVV,
Opcode::VMINUVX,
Opcode::VMNANDMM,
Opcode::VMNORMM,
Opcode::VMORMM,
Opcode::VMORNMM,
Opcode::VMORNOTMM,
Opcode::VMSBCVV,
Opcode::VMSBCVVM,
Opcode::VMSBCVX,
Opcode::VMSBCVXM,
Opcode::VMSBFM,
Opcode::VMSEQVI,
Opcode::VMSEQVV,
Opcode::VMSEQVX,
Opcode::VMSGTVI,
Opcode::VMSGTVX,
Opcode::VMSGTUVI,
Opcode::VMSGTUVX,
Opcode::VMSIFM,
Opcode::VMSLEVI,
Opcode::VMSLEVV,
Opcode::VMSLEVX,
Opcode::VMSLEUVI,
Opcode::VMSLEUVV,
Opcode::VMSLEUVX,
Opcode::VMSLTVV,
Opcode::VMSLTVX,
Opcode::VMSLTUVV,
Opcode::VMSLTUVX,
Opcode::VMSNEVI,
Opcode::VMSNEVV,
Opcode::VMSNEVX,
Opcode::VMSOFM,
Opcode::VMULVV,
Opcode::VMULVX,
Opcode::VMULHVV,
Opcode::VMULHVX,
Opcode::VMULHSUVV,
Opcode::VMULHSUVX,
Opcode::VMULHUVV,
Opcode::VMULHUVX,
Opcode::VMV1RV,
Opcode::VMV2RV,
Opcode::VMV4RV,
Opcode::VMV8RV,
Opcode::VMVSX,
Opcode::VMVVI,
Opcode::VMVVV,
Opcode::VMVVX,
Opcode::VMVXS,
Opcode::VMXNORMM,
Opcode::VMXORMM,
Opcode::VNCLIPWI,
Opcode::VNCLIPWV,
Opcode::VNCLIPWX,
Opcode::VNCLIPUWI,
Opcode::VNCLIPUWV,
Opcode::VNCLIPUWX,
Opcode::VNMSACVV,
Opcode::VNMSACVX,
Opcode::VNMSUBVV,
Opcode::VNMSUBVX,
Opcode::VNSRAWI,
Opcode::VNSRAWV,
Opcode::VNSRAWX,
Opcode::VNSRLWI,
Opcode::VNSRLWV,
Opcode::VNSRLWX,
Opcode::VORVI,
Opcode::VORVV,
Opcode::VORVX,
Opcode::VPOPCM,
Opcode::VREDANDVS,
Opcode::VREDMAXVS,
Opcode::VREDMAXUVS,
Opcode::VREDMINVS,
Opcode::VREDMINUVS,
Opcode::VREDORVS,
Opcode::VREDSUMVS,
Opcode::VREDXORVS,
Opcode::VREMVV,
Opcode::VREMVX,
Opcode::VREMUVV,
Opcode::VREMUVX,
Opcode::VREV8V,
Opcode::VRGATHERVI,
Opcode::VRGATHERVV,
Opcode::VRGATHERVX,
Opcode::VRGATHEREI16VV,
Opcode::VROLVV,
Opcode::VROLVX,
Opcode::VRORVI,
Opcode::VRORVV,
Opcode::VRORVX,
Opcode::VRSUBVI,
Opcode::VRSUBVX,
Opcode::VS1RV,
Opcode::VS2RV,
Opcode::VS4RV,
Opcode::VS8RV,
Opcode::VSADDVI,
Opcode::VSADDVV,
Opcode::VSADDVX,
Opcode::VSADDUVI,
Opcode::VSADDUVV,
Opcode::VSADDUVX,
Opcode::VSBCVVM,
Opcode::VSBCVXM,
Opcode::VSE16V,
Opcode::VSE1V,
Opcode::VSE32V,
Opcode::VSE64V,
Opcode::VSE8V,
Opcode::VSETIVLI,
Opcode::VSETVL,
Opcode::VSETVLI,
Opcode::VSEXTVF2,
Opcode::VSEXTVF4,
Opcode::VSEXTVF8,
Opcode::VSHA2CHVV,
Opcode::VSHA2CLVV,
Opcode::VSHA2MSVV,
Opcode::VSLIDE1DOWNVX,
Opcode::VSLIDE1UPVX,
Opcode::VSLIDEDOWNVI,
Opcode::VSLIDEDOWNVX,
Opcode::VSLIDEUPVI,
Opcode::VSLIDEUPVX,
Opcode::VSLLVI,
Opcode::VSLLVV,
Opcode::VSLLVX,
Opcode::VSM3CVI,
Opcode::VSM3MEVV,
Opcode::VSM4KVI,
Opcode::VSM4RVS,
Opcode::VSM4RVV,
Opcode::VSMV,
Opcode::VSMULVV,
Opcode::VSMULVX,
Opcode::VSOXEI16V,
Opcode::VSOXEI32V,
Opcode::VSOXEI64V,
Opcode::VSOXEI8V,
Opcode::VSRAVI,
Opcode::VSRAVV,
Opcode::VSRAVX,
Opcode::VSRLVI,
Opcode::VSRLVV,
Opcode::VSRLVX,
Opcode::VSSE16V,
Opcode::VSSE32V,
Opcode::VSSE64V,
Opcode::VSSE8V,
Opcode::VSSRAVI,
Opcode::VSSRAVV,
Opcode::VSSRAVX,
Opcode::VSSRLVI,
Opcode::VSSRLVV,
Opcode::VSSRLVX,
Opcode::VSSUBVV,
Opcode::VSSUBVX,
Opcode::VSSUBUVV,
Opcode::VSSUBUVX,
Opcode::VSUBVV,
Opcode::VSUBVX,
Opcode::VSUXEI16V,
Opcode::VSUXEI32V,
Opcode::VSUXEI64V,
Opcode::VSUXEI8V,
Opcode::VWADDVV,
Opcode::VWADDVX,
Opcode::VWADDWV,
Opcode::VWADDWX,
Opcode::VWADDUVV,
Opcode::VWADDUVX,
Opcode::VWADDUWV,
Opcode::VWADDUWX,
Opcode::VWMACCVV,
Opcode::VWMACCVX,
Opcode::VWMACCSUVV,
Opcode::VWMACCSUVX,
Opcode::VWMACCUVV,
Opcode::VWMACCUVX,
Opcode::VWMACCUSVX,
Opcode::VWMULVV,
Opcode::VWMULVX,
Opcode::VWMULSUVV,
Opcode::VWMULSUVX,
Opcode::VWMULUVV,
Opcode::VWMULUVX,
Opcode::VWREDSUMVS,
Opcode::VWREDSUMUVS,
Opcode::VWSLLVI,
Opcode::VWSLLVV,
Opcode::VWSLLVX,
Opcode::VWSUBVV,
Opcode::VWSUBVX,
Opcode::VWSUBWV,
Opcode::VWSUBWX,
Opcode::VWSUBUVV,
Opcode::VWSUBUVX,
Opcode::VWSUBUWV,
Opcode::VWSUBUWX,
Opcode::VXORVI,
Opcode::VXORVV,
Opcode::VXORVX,
Opcode::VZEXTVF2,
Opcode::VZEXTVF4,
Opcode::VZEXTVF8,
Opcode::WFI,
Opcode::WRSNTO,
Opcode::WRSSTO,
Opcode::XNOR,
Opcode::XOR,
Opcode::XORI,
Opcode::XPERM4,
Opcode::XPERM8,
Opcode::ZEXTB,
Opcode::ZEXTH,
Opcode::ZEXTHRV32,
Opcode::ZEXTW,
Opcode::ZIP,
];
pub static SHORT_OPCODE: [bool; 1021] = [
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, true, true,
true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
true, true, true, true, true, true, true, true, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
];
pub const SHORT_OPCODES: [Opcode; 106] = [
Opcode::CADD,
Opcode::CADDI,
Opcode::CADDI16SP,
Opcode::CADDI4SPN,
Opcode::CADDIW,
Opcode::CADDW,
Opcode::CAND,
Opcode::CANDI,
Opcode::CBEQZ,
Opcode::CBNEZ,
Opcode::CEBREAK,
Opcode::CFLD,
Opcode::CFLDSP,
Opcode::CFLW,
Opcode::CFLWSP,
Opcode::CFSD,
Opcode::CFSDSP,
Opcode::CFSW,
Opcode::CFSWSP,
Opcode::CJ,
Opcode::CJAL,
Opcode::CJALR,
Opcode::CJR,
Opcode::CLBU,
Opcode::CLD,
Opcode::CLDSP,
Opcode::CLH,
Opcode::CLHU,
Opcode::CLI,
Opcode::CLUI,
Opcode::CLW,
Opcode::CLWSP,
Opcode::CMOP1,
Opcode::CMOP11,
Opcode::CMOP13,
Opcode::CMOP15,
Opcode::CMOP3,
Opcode::CMOP5,
Opcode::CMOP7,
Opcode::CMOP9,
Opcode::CMOPN,
Opcode::CMUL,
Opcode::CMV,
Opcode::CNOP,
Opcode::CNOT,
Opcode::CNTLALL,
Opcode::CNTLP1,
Opcode::CNTLPALL,
Opcode::CNTLS1,
Opcode::COR,
Opcode::CSB,
Opcode::CSD,
Opcode::CSDSP,
Opcode::CSEXTB,
Opcode::CSEXTH,
Opcode::CSEXTW,
Opcode::CSH,
Opcode::CSLLI,
Opcode::CSLLIRV32,
Opcode::CSRAI,
Opcode::CSRAIRV32,
Opcode::CSRLI,
Opcode::CSRLIRV32,
Opcode::CSUB,
Opcode::CSUBW,
Opcode::CSW,
Opcode::CSWSP,
Opcode::CXOR,
Opcode::CZEXTB,
Opcode::CZEXTH,
Opcode::CZEXTW,
Opcode::CBOCLEAN,
Opcode::CBOFLUSH,
Opcode::CBOINVAL,
Opcode::CBOZERO,
Opcode::CLMUL,
Opcode::CLMULH,
Opcode::CLMULR,
Opcode::CLZ,
Opcode::CLZW,
Opcode::CMJALT,
Opcode::CMMVA01S,
Opcode::CMMVSA01,
Opcode::CMPOP,
Opcode::CMPOPRET,
Opcode::CMPOPRETZ,
Opcode::CMPUSH,
Opcode::CPOP,
Opcode::CPOPW,
Opcode::CSRC,
Opcode::CSRCI,
Opcode::CSRR,
Opcode::CSRRC,
Opcode::CSRRCI,
Opcode::CSRRS,
Opcode::CSRRSI,
Opcode::CSRRW,
Opcode::CSRRWI,
Opcode::CSRS,
Opcode::CSRSI,
Opcode::CSRW,
Opcode::CSRWI,
Opcode::CTZ,
Opcode::CTZW,
Opcode::CZEROEQZ,
Opcode::CZERONEZ,
];
#[derive(Copy, Clone, PartialEq, Eq, Hash, Debug)]
#[repr(u32)]
pub enum Opcode {
ADD,
ADDUW,
ADDI,
ADDIW,
ADDW,
AES32DSI,
AES32DSMI,
AES32ESI,
AES32ESMI,
AES64DS,
AES64DSM,
AES64ES,
AES64ESM,
AES64IM,
AES64KS1I,
AES64KS2,
AMOADDB,
AMOADDD,
AMOADDH,
AMOADDW,
AMOANDB,
AMOANDD,
AMOANDH,
AMOANDW,
AMOCASB,
AMOCASD,
AMOCASH,
AMOCASQ,
AMOCASW,
AMOMAXB,
AMOMAXD,
AMOMAXH,
AMOMAXW,
AMOMAXUB,
AMOMAXUD,
AMOMAXUH,
AMOMAXUW,
AMOMINB,
AMOMIND,
AMOMINH,
AMOMINW,
AMOMINUB,
AMOMINUD,
AMOMINUH,
AMOMINUW,
AMOORB,
AMOORD,
AMOORH,
AMOORW,
AMOSWAPB,
AMOSWAPD,
AMOSWAPH,
AMOSWAPW,
AMOXORB,
AMOXORD,
AMOXORH,
AMOXORW,
AND,
ANDI,
ANDN,
AUIPC,
BCLR,
BCLRI,
BCLRIRV32,
BEQ,
BEQZ,
BEXT,
BEXTI,
BEXTIRV32,
BGE,
BGEU,
BGEZ,
BGT,
BGTU,
BGTZ,
BINV,
BINVI,
BINVIRV32,
BLE,
BLEU,
BLEZ,
BLT,
BLTU,
BLTZ,
BNE,
BNEZ,
BREV8,
BSET,
BSETI,
BSETIRV32,
CADD,
CADDI,
CADDI16SP,
CADDI4SPN,
CADDIW,
CADDW,
CAND,
CANDI,
CBEQZ,
CBNEZ,
CEBREAK,
CFLD,
CFLDSP,
CFLW,
CFLWSP,
CFSD,
CFSDSP,
CFSW,
CFSWSP,
CJ,
CJAL,
CJALR,
CJR,
CLBU,
CLD,
CLDSP,
CLH,
CLHU,
CLI,
CLUI,
CLW,
CLWSP,
CMOP1,
CMOP11,
CMOP13,
CMOP15,
CMOP3,
CMOP5,
CMOP7,
CMOP9,
CMOPN,
CMUL,
CMV,
CNOP,
CNOT,
CNTLALL,
CNTLP1,
CNTLPALL,
CNTLS1,
COR,
CSB,
CSD,
CSDSP,
CSEXTB,
CSEXTH,
CSEXTW,
CSH,
CSLLI,
CSLLIRV32,
CSRAI,
CSRAIRV32,
CSRLI,
CSRLIRV32,
CSUB,
CSUBW,
CSW,
CSWSP,
CXOR,
CZEXTB,
CZEXTH,
CZEXTW,
CBOCLEAN,
CBOFLUSH,
CBOINVAL,
CBOZERO,
CLMUL,
CLMULH,
CLMULR,
CLZ,
CLZW,
CMJALT,
CMMVA01S,
CMMVSA01,
CMPOP,
CMPOPRET,
CMPOPRETZ,
CMPUSH,
CPOP,
CPOPW,
CSRC,
CSRCI,
CSRR,
CSRRC,
CSRRCI,
CSRRS,
CSRRSI,
CSRRW,
CSRRWI,
CSRS,
CSRSI,
CSRW,
CSRWI,
CTZ,
CTZW,
CZEROEQZ,
CZERONEZ,
DIV,
DIVU,
DIVUW,
DIVW,
DRET,
EBREAK,
ECALL,
FABSD,
FABSH,
FABSQ,
FABSS,
FADDD,
FADDH,
FADDQ,
FADDS,
FCLASSD,
FCLASSH,
FCLASSQ,
FCLASSS,
FCVTDH,
FCVTDL,
FCVTDLU,
FCVTDQ,
FCVTDS,
FCVTDW,
FCVTDWU,
FCVTHD,
FCVTHL,
FCVTHLU,
FCVTHQ,
FCVTHS,
FCVTHW,
FCVTHWU,
FCVTLD,
FCVTLH,
FCVTLQ,
FCVTLS,
FCVTLUD,
FCVTLUH,
FCVTLUQ,
FCVTLUS,
FCVTQD,
FCVTQH,
FCVTQL,
FCVTQLU,
FCVTQS,
FCVTQW,
FCVTQWU,
FCVTSD,
FCVTSH,
FCVTSL,
FCVTSLU,
FCVTSQ,
FCVTSW,
FCVTSWU,
FCVTWD,
FCVTWH,
FCVTWQ,
FCVTWS,
FCVTWUD,
FCVTWUH,
FCVTWUQ,
FCVTWUS,
FCVTMODWD,
FDIVD,
FDIVH,
FDIVQ,
FDIVS,
FENCE,
FENCEI,
FENCETSO,
FEQD,
FEQH,
FEQQ,
FEQS,
FLD,
FLED,
FLEH,
FLEQ,
FLES,
FLEQD,
FLEQH,
FLEQQ,
FLEQS,
FLH,
FLID,
FLIH,
FLIQ,
FLIS,
FLQ,
FLTD,
FLTH,
FLTQ,
FLTS,
FLTQD,
FLTQH,
FLTQQ,
FLTQS,
FLW,
FMADDD,
FMADDH,
FMADDQ,
FMADDS,
FMAXD,
FMAXH,
FMAXQ,
FMAXS,
FMAXMD,
FMAXMH,
FMAXMQ,
FMAXMS,
FMIND,
FMINH,
FMINQ,
FMINS,
FMINMD,
FMINMH,
FMINMQ,
FMINMS,
FMSUBD,
FMSUBH,
FMSUBQ,
FMSUBS,
FMULD,
FMULH,
FMULQ,
FMULS,
FMVD,
FMVDX,
FMVH,
FMVHX,
FMVQ,
FMVS,
FMVSX,
FMVWX,
FMVXD,
FMVXH,
FMVXS,
FMVXW,
FMVHXD,
FMVHXQ,
FMVPDX,
FMVPQX,
FNEGD,
FNEGH,
FNEGQ,
FNEGS,
FNMADDD,
FNMADDH,
FNMADDQ,
FNMADDS,
FNMSUBD,
FNMSUBH,
FNMSUBQ,
FNMSUBS,
FRCSR,
FRFLAGS,
FROUNDD,
FROUNDH,
FROUNDQ,
FROUNDS,
FROUNDNXD,
FROUNDNXH,
FROUNDNXQ,
FROUNDNXS,
FRRM,
FSCSR,
FSD,
FSFLAGS,
FSFLAGSI,
FSGNJD,
FSGNJH,
FSGNJQ,
FSGNJS,
FSGNJND,
FSGNJNH,
FSGNJNQ,
FSGNJNS,
FSGNJXD,
FSGNJXH,
FSGNJXQ,
FSGNJXS,
FSH,
FSQ,
FSQRTD,
FSQRTH,
FSQRTQ,
FSQRTS,
FSRM,
FSRMI,
FSUBD,
FSUBH,
FSUBQ,
FSUBS,
FSW,
HFENCEGVMA,
HFENCEVVMA,
HINVALGVMA,
HINVALVVMA,
HLVB,
HLVBU,
HLVD,
HLVH,
HLVHU,
HLVW,
HLVWU,
HLVXHU,
HLVXWU,
HSVB,
HSVD,
HSVH,
HSVW,
J,
JAL,
JALPSEUDO,
JALR,
JALRPSEUDO,
JR,
LB,
LBU,
LD,
LH,
LHU,
LRD,
LRW,
LUI,
LW,
LWU,
MAX,
MAXU,
MIN,
MINU,
MOPR0,
MOPR1,
MOPR10,
MOPR11,
MOPR12,
MOPR13,
MOPR14,
MOPR15,
MOPR16,
MOPR17,
MOPR18,
MOPR19,
MOPR2,
MOPR20,
MOPR21,
MOPR22,
MOPR23,
MOPR24,
MOPR25,
MOPR26,
MOPR27,
MOPR28,
MOPR29,
MOPR3,
MOPR30,
MOPR31,
MOPR4,
MOPR5,
MOPR6,
MOPR7,
MOPR8,
MOPR9,
MOPRN,
MOPRR0,
MOPRR1,
MOPRR2,
MOPRR3,
MOPRR4,
MOPRR5,
MOPRR6,
MOPRR7,
MOPRRN,
MRET,
MUL,
MULH,
MULHSU,
MULHU,
MULW,
MV,
NEG,
NOP,
NTLALL,
NTLP1,
NTLPALL,
NTLS1,
OR,
ORCB,
ORI,
ORN,
PACK,
PACKH,
PACKW,
PAUSE,
PREFETCHI,
PREFETCHR,
PREFETCHW,
RDCYCLE,
RDCYCLEH,
RDINSTRET,
RDINSTRETH,
RDTIME,
RDTIMEH,
REM,
REMU,
REMUW,
REMW,
RET,
REV8,
REV8RV32,
ROL,
ROLW,
ROR,
RORI,
RORIRV32,
RORIW,
RORW,
SB,
SBREAK,
SCD,
SCW,
SCALL,
SD,
SEQZ,
SEXTB,
SEXTH,
SEXTW,
SFENCEINVALIR,
SFENCEVMA,
SFENCEWINVAL,
SGTZ,
SH,
SH1ADD,
SH1ADDUW,
SH2ADD,
SH2ADDUW,
SH3ADD,
SH3ADDUW,
SHA256SIG0,
SHA256SIG1,
SHA256SUM0,
SHA256SUM1,
SHA512SIG0,
SHA512SIG0H,
SHA512SIG0L,
SHA512SIG1,
SHA512SIG1H,
SHA512SIG1L,
SHA512SUM0,
SHA512SUM0R,
SHA512SUM1,
SHA512SUM1R,
SINVALVMA,
SLL,
SLLI,
SLLIRV32,
SLLIUW,
SLLIW,
SLLW,
SLT,
SLTI,
SLTIU,
SLTU,
SLTZ,
SM3P0,
SM3P1,
SM4ED,
SM4KS,
SNEZ,
SRA,
SRAI,
SRAIRV32,
SRAIW,
SRAW,
SRET,
SRL,
SRLI,
SRLIRV32,
SRLIW,
SRLW,
SUB,
SUBW,
SW,
UNZIP,
VAADDVV,
VAADDVX,
VAADDUVV,
VAADDUVX,
VADCVIM,
VADCVVM,
VADCVXM,
VADDVI,
VADDVV,
VADDVX,
VAESDFVS,
VAESDFVV,
VAESDMVS,
VAESDMVV,
VAESEFVS,
VAESEFVV,
VAESEMVS,
VAESEMVV,
VAESKF1VI,
VAESKF2VI,
VAESZVS,
VANDVI,
VANDVV,
VANDVX,
VANDNVV,
VANDNVX,
VASUBVV,
VASUBVX,
VASUBUVV,
VASUBUVX,
VBREV8V,
VBREVV,
VCLMULVV,
VCLMULVX,
VCLMULHVV,
VCLMULHVX,
VCLZV,
VCOMPRESSVM,
VCPOPM,
VCPOPV,
VCTZV,
VDIVVV,
VDIVVX,
VDIVUVV,
VDIVUVX,
VFADDVF,
VFADDVV,
VFCLASSV,
VFCVTFXV,
VFCVTFXUV,
VFCVTRTZXFV,
VFCVTRTZXUFV,
VFCVTXFV,
VFCVTXUFV,
VFDIVVF,
VFDIVVV,
VFIRSTM,
VFMACCVF,
VFMACCVV,
VFMADDVF,
VFMADDVV,
VFMAXVF,
VFMAXVV,
VFMERGEVFM,
VFMINVF,
VFMINVV,
VFMSACVF,
VFMSACVV,
VFMSUBVF,
VFMSUBVV,
VFMULVF,
VFMULVV,
VFMVFS,
VFMVSF,
VFMVVF,
VFNCVTFFW,
VFNCVTFXW,
VFNCVTFXUW,
VFNCVTRODFFW,
VFNCVTRTZXFW,
VFNCVTRTZXUFW,
VFNCVTXFW,
VFNCVTXUFW,
VFNMACCVF,
VFNMACCVV,
VFNMADDVF,
VFNMADDVV,
VFNMSACVF,
VFNMSACVV,
VFNMSUBVF,
VFNMSUBVV,
VFRDIVVF,
VFREC7V,
VFREDMAXVS,
VFREDMINVS,
VFREDOSUMVS,
VFREDSUMVS,
VFREDUSUMVS,
VFRSQRT7V,
VFRSUBVF,
VFSGNJVF,
VFSGNJVV,
VFSGNJNVF,
VFSGNJNVV,
VFSGNJXVF,
VFSGNJXVV,
VFSLIDE1DOWNVF,
VFSLIDE1UPVF,
VFSQRTV,
VFSUBVF,
VFSUBVV,
VFWADDVF,
VFWADDVV,
VFWADDWF,
VFWADDWV,
VFWCVTFFV,
VFWCVTFXV,
VFWCVTFXUV,
VFWCVTRTZXFV,
VFWCVTRTZXUFV,
VFWCVTXFV,
VFWCVTXUFV,
VFWMACCVF,
VFWMACCVV,
VFWMSACVF,
VFWMSACVV,
VFWMULVF,
VFWMULVV,
VFWNMACCVF,
VFWNMACCVV,
VFWNMSACVF,
VFWNMSACVV,
VFWREDOSUMVS,
VFWREDSUMVS,
VFWREDUSUMVS,
VFWSUBVF,
VFWSUBVV,
VFWSUBWF,
VFWSUBWV,
VGHSHVV,
VGMULVV,
VIDV,
VIOTAM,
VL1RV,
VL1RE16V,
VL1RE32V,
VL1RE64V,
VL1RE8V,
VL2RV,
VL2RE16V,
VL2RE32V,
VL2RE64V,
VL2RE8V,
VL4RV,
VL4RE16V,
VL4RE32V,
VL4RE64V,
VL4RE8V,
VL8RV,
VL8RE16V,
VL8RE32V,
VL8RE64V,
VL8RE8V,
VLE16V,
VLE16FFV,
VLE1V,
VLE32V,
VLE32FFV,
VLE64V,
VLE64FFV,
VLE8V,
VLE8FFV,
VLMV,
VLOXEI16V,
VLOXEI32V,
VLOXEI64V,
VLOXEI8V,
VLSE16V,
VLSE32V,
VLSE64V,
VLSE8V,
VLUXEI16V,
VLUXEI32V,
VLUXEI64V,
VLUXEI8V,
VMACCVV,
VMACCVX,
VMADCVI,
VMADCVIM,
VMADCVV,
VMADCVVM,
VMADCVX,
VMADCVXM,
VMADDVV,
VMADDVX,
VMANDMM,
VMANDNMM,
VMANDNOTMM,
VMAXVV,
VMAXVX,
VMAXUVV,
VMAXUVX,
VMERGEVIM,
VMERGEVVM,
VMERGEVXM,
VMFEQVF,
VMFEQVV,
VMFGEVF,
VMFGTVF,
VMFLEVF,
VMFLEVV,
VMFLTVF,
VMFLTVV,
VMFNEVF,
VMFNEVV,
VMINVV,
VMINVX,
VMINUVV,
VMINUVX,
VMNANDMM,
VMNORMM,
VMORMM,
VMORNMM,
VMORNOTMM,
VMSBCVV,
VMSBCVVM,
VMSBCVX,
VMSBCVXM,
VMSBFM,
VMSEQVI,
VMSEQVV,
VMSEQVX,
VMSGTVI,
VMSGTVX,
VMSGTUVI,
VMSGTUVX,
VMSIFM,
VMSLEVI,
VMSLEVV,
VMSLEVX,
VMSLEUVI,
VMSLEUVV,
VMSLEUVX,
VMSLTVV,
VMSLTVX,
VMSLTUVV,
VMSLTUVX,
VMSNEVI,
VMSNEVV,
VMSNEVX,
VMSOFM,
VMULVV,
VMULVX,
VMULHVV,
VMULHVX,
VMULHSUVV,
VMULHSUVX,
VMULHUVV,
VMULHUVX,
VMV1RV,
VMV2RV,
VMV4RV,
VMV8RV,
VMVSX,
VMVVI,
VMVVV,
VMVVX,
VMVXS,
VMXNORMM,
VMXORMM,
VNCLIPWI,
VNCLIPWV,
VNCLIPWX,
VNCLIPUWI,
VNCLIPUWV,
VNCLIPUWX,
VNMSACVV,
VNMSACVX,
VNMSUBVV,
VNMSUBVX,
VNSRAWI,
VNSRAWV,
VNSRAWX,
VNSRLWI,
VNSRLWV,
VNSRLWX,
VORVI,
VORVV,
VORVX,
VPOPCM,
VREDANDVS,
VREDMAXVS,
VREDMAXUVS,
VREDMINVS,
VREDMINUVS,
VREDORVS,
VREDSUMVS,
VREDXORVS,
VREMVV,
VREMVX,
VREMUVV,
VREMUVX,
VREV8V,
VRGATHERVI,
VRGATHERVV,
VRGATHERVX,
VRGATHEREI16VV,
VROLVV,
VROLVX,
VRORVI,
VRORVV,
VRORVX,
VRSUBVI,
VRSUBVX,
VS1RV,
VS2RV,
VS4RV,
VS8RV,
VSADDVI,
VSADDVV,
VSADDVX,
VSADDUVI,
VSADDUVV,
VSADDUVX,
VSBCVVM,
VSBCVXM,
VSE16V,
VSE1V,
VSE32V,
VSE64V,
VSE8V,
VSETIVLI,
VSETVL,
VSETVLI,
VSEXTVF2,
VSEXTVF4,
VSEXTVF8,
VSHA2CHVV,
VSHA2CLVV,
VSHA2MSVV,
VSLIDE1DOWNVX,
VSLIDE1UPVX,
VSLIDEDOWNVI,
VSLIDEDOWNVX,
VSLIDEUPVI,
VSLIDEUPVX,
VSLLVI,
VSLLVV,
VSLLVX,
VSM3CVI,
VSM3MEVV,
VSM4KVI,
VSM4RVS,
VSM4RVV,
VSMV,
VSMULVV,
VSMULVX,
VSOXEI16V,
VSOXEI32V,
VSOXEI64V,
VSOXEI8V,
VSRAVI,
VSRAVV,
VSRAVX,
VSRLVI,
VSRLVV,
VSRLVX,
VSSE16V,
VSSE32V,
VSSE64V,
VSSE8V,
VSSRAVI,
VSSRAVV,
VSSRAVX,
VSSRLVI,
VSSRLVV,
VSSRLVX,
VSSUBVV,
VSSUBVX,
VSSUBUVV,
VSSUBUVX,
VSUBVV,
VSUBVX,
VSUXEI16V,
VSUXEI32V,
VSUXEI64V,
VSUXEI8V,
VWADDVV,
VWADDVX,
VWADDWV,
VWADDWX,
VWADDUVV,
VWADDUVX,
VWADDUWV,
VWADDUWX,
VWMACCVV,
VWMACCVX,
VWMACCSUVV,
VWMACCSUVX,
VWMACCUVV,
VWMACCUVX,
VWMACCUSVX,
VWMULVV,
VWMULVX,
VWMULSUVV,
VWMULSUVX,
VWMULUVV,
VWMULUVX,
VWREDSUMVS,
VWREDSUMUVS,
VWSLLVI,
VWSLLVV,
VWSLLVX,
VWSUBVV,
VWSUBVX,
VWSUBWV,
VWSUBWX,
VWSUBUVV,
VWSUBUVX,
VWSUBUWV,
VWSUBUWX,
VXORVI,
VXORVV,
VXORVX,
VZEXTVF2,
VZEXTVF4,
VZEXTVF8,
WFI,
WRSNTO,
WRSSTO,
XNOR,
XOR,
XORI,
XPERM4,
XPERM8,
ZEXTB,
ZEXTH,
ZEXTHRV32,
ZEXTW,
ZIP,
Invalid,
}
pub const OPCODE_STR: &[&str] = &[
"add",
"add.uw",
"addi",
"addiw",
"addw",
"aes32dsi",
"aes32dsmi",
"aes32esi",
"aes32esmi",
"aes64ds",
"aes64dsm",
"aes64es",
"aes64esm",
"aes64im",
"aes64ks1i",
"aes64ks2",
"amoadd.b",
"amoadd.d",
"amoadd.h",
"amoadd.w",
"amoand.b",
"amoand.d",
"amoand.h",
"amoand.w",
"amocas.b",
"amocas.d",
"amocas.h",
"amocas.q",
"amocas.w",
"amomax.b",
"amomax.d",
"amomax.h",
"amomax.w",
"amomaxu.b",
"amomaxu.d",
"amomaxu.h",
"amomaxu.w",
"amomin.b",
"amomin.d",
"amomin.h",
"amomin.w",
"amominu.b",
"amominu.d",
"amominu.h",
"amominu.w",
"amoor.b",
"amoor.d",
"amoor.h",
"amoor.w",
"amoswap.b",
"amoswap.d",
"amoswap.h",
"amoswap.w",
"amoxor.b",
"amoxor.d",
"amoxor.h",
"amoxor.w",
"and",
"andi",
"andn",
"auipc",
"bclr",
"bclri",
"bclri.rv32",
"beq",
"beqz",
"bext",
"bexti",
"bexti.rv32",
"bge",
"bgeu",
"bgez",
"bgt",
"bgtu",
"bgtz",
"binv",
"binvi",
"binvi.rv32",
"ble",
"bleu",
"blez",
"blt",
"bltu",
"bltz",
"bne",
"bnez",
"brev8",
"bset",
"bseti",
"bseti.rv32",
"c.add",
"c.addi",
"c.addi16sp",
"c.addi4spn",
"c.addiw",
"c.addw",
"c.and",
"c.andi",
"c.beqz",
"c.bnez",
"c.ebreak",
"c.fld",
"c.fldsp",
"c.flw",
"c.flwsp",
"c.fsd",
"c.fsdsp",
"c.fsw",
"c.fswsp",
"c.j",
"c.jal",
"c.jalr",
"c.jr",
"c.lbu",
"c.ld",
"c.ldsp",
"c.lh",
"c.lhu",
"c.li",
"c.lui",
"c.lw",
"c.lwsp",
"c.mop.1",
"c.mop.11",
"c.mop.13",
"c.mop.15",
"c.mop.3",
"c.mop.5",
"c.mop.7",
"c.mop.9",
"c.mop.n",
"c.mul",
"c.mv",
"c.nop",
"c.not",
"c.ntl.all",
"c.ntl.p1",
"c.ntl.pall",
"c.ntl.s1",
"c.or",
"c.sb",
"c.sd",
"c.sdsp",
"c.sext.b",
"c.sext.h",
"c.sext.w",
"c.sh",
"c.slli",
"c.slli.rv32",
"c.srai",
"c.srai.rv32",
"c.srli",
"c.srli.rv32",
"c.sub",
"c.subw",
"c.sw",
"c.swsp",
"c.xor",
"c.zext.b",
"c.zext.h",
"c.zext.w",
"cbo.clean",
"cbo.flush",
"cbo.inval",
"cbo.zero",
"clmul",
"clmulh",
"clmulr",
"clz",
"clzw",
"cm.jalt",
"cm.mva01s",
"cm.mvsa01",
"cm.pop",
"cm.popret",
"cm.popretz",
"cm.push",
"cpop",
"cpopw",
"csrc",
"csrci",
"csrr",
"csrrc",
"csrrci",
"csrrs",
"csrrsi",
"csrrw",
"csrrwi",
"csrs",
"csrsi",
"csrw",
"csrwi",
"ctz",
"ctzw",
"czero.eqz",
"czero.nez",
"div",
"divu",
"divuw",
"divw",
"dret",
"ebreak",
"ecall",
"fabs.d",
"fabs.h",
"fabs.q",
"fabs.s",
"fadd.d",
"fadd.h",
"fadd.q",
"fadd.s",
"fclass.d",
"fclass.h",
"fclass.q",
"fclass.s",
"fcvt.d.h",
"fcvt.d.l",
"fcvt.d.lu",
"fcvt.d.q",
"fcvt.d.s",
"fcvt.d.w",
"fcvt.d.wu",
"fcvt.h.d",
"fcvt.h.l",
"fcvt.h.lu",
"fcvt.h.q",
"fcvt.h.s",
"fcvt.h.w",
"fcvt.h.wu",
"fcvt.l.d",
"fcvt.l.h",
"fcvt.l.q",
"fcvt.l.s",
"fcvt.lu.d",
"fcvt.lu.h",
"fcvt.lu.q",
"fcvt.lu.s",
"fcvt.q.d",
"fcvt.q.h",
"fcvt.q.l",
"fcvt.q.lu",
"fcvt.q.s",
"fcvt.q.w",
"fcvt.q.wu",
"fcvt.s.d",
"fcvt.s.h",
"fcvt.s.l",
"fcvt.s.lu",
"fcvt.s.q",
"fcvt.s.w",
"fcvt.s.wu",
"fcvt.w.d",
"fcvt.w.h",
"fcvt.w.q",
"fcvt.w.s",
"fcvt.wu.d",
"fcvt.wu.h",
"fcvt.wu.q",
"fcvt.wu.s",
"fcvtmod.w.d",
"fdiv.d",
"fdiv.h",
"fdiv.q",
"fdiv.s",
"fence",
"fence.i",
"fence.tso",
"feq.d",
"feq.h",
"feq.q",
"feq.s",
"fld",
"fle.d",
"fle.h",
"fle.q",
"fle.s",
"fleq.d",
"fleq.h",
"fleq.q",
"fleq.s",
"flh",
"fli.d",
"fli.h",
"fli.q",
"fli.s",
"flq",
"flt.d",
"flt.h",
"flt.q",
"flt.s",
"fltq.d",
"fltq.h",
"fltq.q",
"fltq.s",
"flw",
"fmadd.d",
"fmadd.h",
"fmadd.q",
"fmadd.s",
"fmax.d",
"fmax.h",
"fmax.q",
"fmax.s",
"fmaxm.d",
"fmaxm.h",
"fmaxm.q",
"fmaxm.s",
"fmin.d",
"fmin.h",
"fmin.q",
"fmin.s",
"fminm.d",
"fminm.h",
"fminm.q",
"fminm.s",
"fmsub.d",
"fmsub.h",
"fmsub.q",
"fmsub.s",
"fmul.d",
"fmul.h",
"fmul.q",
"fmul.s",
"fmv.d",
"fmv.d.x",
"fmv.h",
"fmv.h.x",
"fmv.q",
"fmv.s",
"fmv.s.x",
"fmv.w.x",
"fmv.x.d",
"fmv.x.h",
"fmv.x.s",
"fmv.x.w",
"fmvh.x.d",
"fmvh.x.q",
"fmvp.d.x",
"fmvp.q.x",
"fneg.d",
"fneg.h",
"fneg.q",
"fneg.s",
"fnmadd.d",
"fnmadd.h",
"fnmadd.q",
"fnmadd.s",
"fnmsub.d",
"fnmsub.h",
"fnmsub.q",
"fnmsub.s",
"frcsr",
"frflags",
"fround.d",
"fround.h",
"fround.q",
"fround.s",
"froundnx.d",
"froundnx.h",
"froundnx.q",
"froundnx.s",
"frrm",
"fscsr",
"fsd",
"fsflags",
"fsflagsi",
"fsgnj.d",
"fsgnj.h",
"fsgnj.q",
"fsgnj.s",
"fsgnjn.d",
"fsgnjn.h",
"fsgnjn.q",
"fsgnjn.s",
"fsgnjx.d",
"fsgnjx.h",
"fsgnjx.q",
"fsgnjx.s",
"fsh",
"fsq",
"fsqrt.d",
"fsqrt.h",
"fsqrt.q",
"fsqrt.s",
"fsrm",
"fsrmi",
"fsub.d",
"fsub.h",
"fsub.q",
"fsub.s",
"fsw",
"hfence.gvma",
"hfence.vvma",
"hinval.gvma",
"hinval.vvma",
"hlv.b",
"hlv.bu",
"hlv.d",
"hlv.h",
"hlv.hu",
"hlv.w",
"hlv.wu",
"hlvx.hu",
"hlvx.wu",
"hsv.b",
"hsv.d",
"hsv.h",
"hsv.w",
"j",
"jal",
"jal.pseudo",
"jalr",
"jalr.pseudo",
"jr",
"lb",
"lbu",
"ld",
"lh",
"lhu",
"lr.d",
"lr.w",
"lui",
"lw",
"lwu",
"max",
"maxu",
"min",
"minu",
"mop.r.0",
"mop.r.1",
"mop.r.10",
"mop.r.11",
"mop.r.12",
"mop.r.13",
"mop.r.14",
"mop.r.15",
"mop.r.16",
"mop.r.17",
"mop.r.18",
"mop.r.19",
"mop.r.2",
"mop.r.20",
"mop.r.21",
"mop.r.22",
"mop.r.23",
"mop.r.24",
"mop.r.25",
"mop.r.26",
"mop.r.27",
"mop.r.28",
"mop.r.29",
"mop.r.3",
"mop.r.30",
"mop.r.31",
"mop.r.4",
"mop.r.5",
"mop.r.6",
"mop.r.7",
"mop.r.8",
"mop.r.9",
"mop.r.n",
"mop.rr.0",
"mop.rr.1",
"mop.rr.2",
"mop.rr.3",
"mop.rr.4",
"mop.rr.5",
"mop.rr.6",
"mop.rr.7",
"mop.rr.n",
"mret",
"mul",
"mulh",
"mulhsu",
"mulhu",
"mulw",
"mv",
"neg",
"nop",
"ntl.all",
"ntl.p1",
"ntl.pall",
"ntl.s1",
"or",
"orc.b",
"ori",
"orn",
"pack",
"packh",
"packw",
"pause",
"prefetch.i",
"prefetch.r",
"prefetch.w",
"rdcycle",
"rdcycleh",
"rdinstret",
"rdinstreth",
"rdtime",
"rdtimeh",
"rem",
"remu",
"remuw",
"remw",
"ret",
"rev8",
"rev8.rv32",
"rol",
"rolw",
"ror",
"rori",
"rori.rv32",
"roriw",
"rorw",
"sb",
"sbreak",
"sc.d",
"sc.w",
"scall",
"sd",
"seqz",
"sext.b",
"sext.h",
"sext.w",
"sfence.inval.ir",
"sfence.vma",
"sfence.w.inval",
"sgtz",
"sh",
"sh1add",
"sh1add.uw",
"sh2add",
"sh2add.uw",
"sh3add",
"sh3add.uw",
"sha256sig0",
"sha256sig1",
"sha256sum0",
"sha256sum1",
"sha512sig0",
"sha512sig0h",
"sha512sig0l",
"sha512sig1",
"sha512sig1h",
"sha512sig1l",
"sha512sum0",
"sha512sum0r",
"sha512sum1",
"sha512sum1r",
"sinval.vma",
"sll",
"slli",
"slli.rv32",
"slli.uw",
"slliw",
"sllw",
"slt",
"slti",
"sltiu",
"sltu",
"sltz",
"sm3p0",
"sm3p1",
"sm4ed",
"sm4ks",
"snez",
"sra",
"srai",
"srai.rv32",
"sraiw",
"sraw",
"sret",
"srl",
"srli",
"srli.rv32",
"srliw",
"srlw",
"sub",
"subw",
"sw",
"unzip",
"vaadd.vv",
"vaadd.vx",
"vaaddu.vv",
"vaaddu.vx",
"vadc.vim",
"vadc.vvm",
"vadc.vxm",
"vadd.vi",
"vadd.vv",
"vadd.vx",
"vaesdf.vs",
"vaesdf.vv",
"vaesdm.vs",
"vaesdm.vv",
"vaesef.vs",
"vaesef.vv",
"vaesem.vs",
"vaesem.vv",
"vaeskf1.vi",
"vaeskf2.vi",
"vaesz.vs",
"vand.vi",
"vand.vv",
"vand.vx",
"vandn.vv",
"vandn.vx",
"vasub.vv",
"vasub.vx",
"vasubu.vv",
"vasubu.vx",
"vbrev8.v",
"vbrev.v",
"vclmul.vv",
"vclmul.vx",
"vclmulh.vv",
"vclmulh.vx",
"vclz.v",
"vcompress.vm",
"vcpop.m",
"vcpop.v",
"vctz.v",
"vdiv.vv",
"vdiv.vx",
"vdivu.vv",
"vdivu.vx",
"vfadd.vf",
"vfadd.vv",
"vfclass.v",
"vfcvt.f.x.v",
"vfcvt.f.xu.v",
"vfcvt.rtz.x.f.v",
"vfcvt.rtz.xu.f.v",
"vfcvt.x.f.v",
"vfcvt.xu.f.v",
"vfdiv.vf",
"vfdiv.vv",
"vfirst.m",
"vfmacc.vf",
"vfmacc.vv",
"vfmadd.vf",
"vfmadd.vv",
"vfmax.vf",
"vfmax.vv",
"vfmerge.vfm",
"vfmin.vf",
"vfmin.vv",
"vfmsac.vf",
"vfmsac.vv",
"vfmsub.vf",
"vfmsub.vv",
"vfmul.vf",
"vfmul.vv",
"vfmv.f.s",
"vfmv.s.f",
"vfmv.v.f",
"vfncvt.f.f.w",
"vfncvt.f.x.w",
"vfncvt.f.xu.w",
"vfncvt.rod.f.f.w",
"vfncvt.rtz.x.f.w",
"vfncvt.rtz.xu.f.w",
"vfncvt.x.f.w",
"vfncvt.xu.f.w",
"vfnmacc.vf",
"vfnmacc.vv",
"vfnmadd.vf",
"vfnmadd.vv",
"vfnmsac.vf",
"vfnmsac.vv",
"vfnmsub.vf",
"vfnmsub.vv",
"vfrdiv.vf",
"vfrec7.v",
"vfredmax.vs",
"vfredmin.vs",
"vfredosum.vs",
"vfredsum.vs",
"vfredusum.vs",
"vfrsqrt7.v",
"vfrsub.vf",
"vfsgnj.vf",
"vfsgnj.vv",
"vfsgnjn.vf",
"vfsgnjn.vv",
"vfsgnjx.vf",
"vfsgnjx.vv",
"vfslide1down.vf",
"vfslide1up.vf",
"vfsqrt.v",
"vfsub.vf",
"vfsub.vv",
"vfwadd.vf",
"vfwadd.vv",
"vfwadd.wf",
"vfwadd.wv",
"vfwcvt.f.f.v",
"vfwcvt.f.x.v",
"vfwcvt.f.xu.v",
"vfwcvt.rtz.x.f.v",
"vfwcvt.rtz.xu.f.v",
"vfwcvt.x.f.v",
"vfwcvt.xu.f.v",
"vfwmacc.vf",
"vfwmacc.vv",
"vfwmsac.vf",
"vfwmsac.vv",
"vfwmul.vf",
"vfwmul.vv",
"vfwnmacc.vf",
"vfwnmacc.vv",
"vfwnmsac.vf",
"vfwnmsac.vv",
"vfwredosum.vs",
"vfwredsum.vs",
"vfwredusum.vs",
"vfwsub.vf",
"vfwsub.vv",
"vfwsub.wf",
"vfwsub.wv",
"vghsh.vv",
"vgmul.vv",
"vid.v",
"viota.m",
"vl1r.v",
"vl1re16.v",
"vl1re32.v",
"vl1re64.v",
"vl1re8.v",
"vl2r.v",
"vl2re16.v",
"vl2re32.v",
"vl2re64.v",
"vl2re8.v",
"vl4r.v",
"vl4re16.v",
"vl4re32.v",
"vl4re64.v",
"vl4re8.v",
"vl8r.v",
"vl8re16.v",
"vl8re32.v",
"vl8re64.v",
"vl8re8.v",
"vle16.v",
"vle16ff.v",
"vle1.v",
"vle32.v",
"vle32ff.v",
"vle64.v",
"vle64ff.v",
"vle8.v",
"vle8ff.v",
"vlm.v",
"vloxei16.v",
"vloxei32.v",
"vloxei64.v",
"vloxei8.v",
"vlse16.v",
"vlse32.v",
"vlse64.v",
"vlse8.v",
"vluxei16.v",
"vluxei32.v",
"vluxei64.v",
"vluxei8.v",
"vmacc.vv",
"vmacc.vx",
"vmadc.vi",
"vmadc.vim",
"vmadc.vv",
"vmadc.vvm",
"vmadc.vx",
"vmadc.vxm",
"vmadd.vv",
"vmadd.vx",
"vmand.mm",
"vmandn.mm",
"vmandnot.mm",
"vmax.vv",
"vmax.vx",
"vmaxu.vv",
"vmaxu.vx",
"vmerge.vim",
"vmerge.vvm",
"vmerge.vxm",
"vmfeq.vf",
"vmfeq.vv",
"vmfge.vf",
"vmfgt.vf",
"vmfle.vf",
"vmfle.vv",
"vmflt.vf",
"vmflt.vv",
"vmfne.vf",
"vmfne.vv",
"vmin.vv",
"vmin.vx",
"vminu.vv",
"vminu.vx",
"vmnand.mm",
"vmnor.mm",
"vmor.mm",
"vmorn.mm",
"vmornot.mm",
"vmsbc.vv",
"vmsbc.vvm",
"vmsbc.vx",
"vmsbc.vxm",
"vmsbf.m",
"vmseq.vi",
"vmseq.vv",
"vmseq.vx",
"vmsgt.vi",
"vmsgt.vx",
"vmsgtu.vi",
"vmsgtu.vx",
"vmsif.m",
"vmsle.vi",
"vmsle.vv",
"vmsle.vx",
"vmsleu.vi",
"vmsleu.vv",
"vmsleu.vx",
"vmslt.vv",
"vmslt.vx",
"vmsltu.vv",
"vmsltu.vx",
"vmsne.vi",
"vmsne.vv",
"vmsne.vx",
"vmsof.m",
"vmul.vv",
"vmul.vx",
"vmulh.vv",
"vmulh.vx",
"vmulhsu.vv",
"vmulhsu.vx",
"vmulhu.vv",
"vmulhu.vx",
"vmv1r.v",
"vmv2r.v",
"vmv4r.v",
"vmv8r.v",
"vmv.s.x",
"vmv.v.i",
"vmv.v.v",
"vmv.v.x",
"vmv.x.s",
"vmxnor.mm",
"vmxor.mm",
"vnclip.wi",
"vnclip.wv",
"vnclip.wx",
"vnclipu.wi",
"vnclipu.wv",
"vnclipu.wx",
"vnmsac.vv",
"vnmsac.vx",
"vnmsub.vv",
"vnmsub.vx",
"vnsra.wi",
"vnsra.wv",
"vnsra.wx",
"vnsrl.wi",
"vnsrl.wv",
"vnsrl.wx",
"vor.vi",
"vor.vv",
"vor.vx",
"vpopc.m",
"vredand.vs",
"vredmax.vs",
"vredmaxu.vs",
"vredmin.vs",
"vredminu.vs",
"vredor.vs",
"vredsum.vs",
"vredxor.vs",
"vrem.vv",
"vrem.vx",
"vremu.vv",
"vremu.vx",
"vrev8.v",
"vrgather.vi",
"vrgather.vv",
"vrgather.vx",
"vrgatherei16.vv",
"vrol.vv",
"vrol.vx",
"vror.vi",
"vror.vv",
"vror.vx",
"vrsub.vi",
"vrsub.vx",
"vs1r.v",
"vs2r.v",
"vs4r.v",
"vs8r.v",
"vsadd.vi",
"vsadd.vv",
"vsadd.vx",
"vsaddu.vi",
"vsaddu.vv",
"vsaddu.vx",
"vsbc.vvm",
"vsbc.vxm",
"vse16.v",
"vse1.v",
"vse32.v",
"vse64.v",
"vse8.v",
"vsetivli",
"vsetvl",
"vsetvli",
"vsext.vf2",
"vsext.vf4",
"vsext.vf8",
"vsha2ch.vv",
"vsha2cl.vv",
"vsha2ms.vv",
"vslide1down.vx",
"vslide1up.vx",
"vslidedown.vi",
"vslidedown.vx",
"vslideup.vi",
"vslideup.vx",
"vsll.vi",
"vsll.vv",
"vsll.vx",
"vsm3c.vi",
"vsm3me.vv",
"vsm4k.vi",
"vsm4r.vs",
"vsm4r.vv",
"vsm.v",
"vsmul.vv",
"vsmul.vx",
"vsoxei16.v",
"vsoxei32.v",
"vsoxei64.v",
"vsoxei8.v",
"vsra.vi",
"vsra.vv",
"vsra.vx",
"vsrl.vi",
"vsrl.vv",
"vsrl.vx",
"vsse16.v",
"vsse32.v",
"vsse64.v",
"vsse8.v",
"vssra.vi",
"vssra.vv",
"vssra.vx",
"vssrl.vi",
"vssrl.vv",
"vssrl.vx",
"vssub.vv",
"vssub.vx",
"vssubu.vv",
"vssubu.vx",
"vsub.vv",
"vsub.vx",
"vsuxei16.v",
"vsuxei32.v",
"vsuxei64.v",
"vsuxei8.v",
"vwadd.vv",
"vwadd.vx",
"vwadd.wv",
"vwadd.wx",
"vwaddu.vv",
"vwaddu.vx",
"vwaddu.wv",
"vwaddu.wx",
"vwmacc.vv",
"vwmacc.vx",
"vwmaccsu.vv",
"vwmaccsu.vx",
"vwmaccu.vv",
"vwmaccu.vx",
"vwmaccus.vx",
"vwmul.vv",
"vwmul.vx",
"vwmulsu.vv",
"vwmulsu.vx",
"vwmulu.vv",
"vwmulu.vx",
"vwredsum.vs",
"vwredsumu.vs",
"vwsll.vi",
"vwsll.vv",
"vwsll.vx",
"vwsub.vv",
"vwsub.vx",
"vwsub.wv",
"vwsub.wx",
"vwsubu.vv",
"vwsubu.vx",
"vwsubu.wv",
"vwsubu.wx",
"vxor.vi",
"vxor.vv",
"vxor.vx",
"vzext.vf2",
"vzext.vf4",
"vzext.vf8",
"wfi",
"wrs.nto",
"wrs.sto",
"xnor",
"xor",
"xori",
"xperm4",
"xperm8",
"zext.b",
"zext.h",
"zext.h.rv32",
"zext.w",
"zip",
"<invalid>",
];
#[derive(Copy, Clone, PartialEq, Eq, Hash, Debug)]
pub struct Inst {
pub opcode: u32,
pub funct3: u32,
pub rs1: u32,
pub rs2: u32,
pub csr: i64,
pub funct7: u32,
}
impl Inst {
pub const fn encode(&self) -> InstructionValue {
InstructionValue::new(
(self.funct7 << 25)
| (self.rs2 << 20)
| (self.rs1 << 15)
| (self.funct3 << 12)
| self.opcode,
)
}
pub const fn new(op: Opcode) -> Self {
match op {
Opcode::Invalid => unreachable!(),
Opcode::ADD => Inst {
opcode: 0x33,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::ADDUW => Inst {
opcode: 0x3b,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x80,
funct7: 0x4,
},
Opcode::ADDI => Inst {
opcode: 0x13,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::ADDIW => Inst {
opcode: 0x1b,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::ADDW => Inst {
opcode: 0x3b,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::AES32DSI => Inst {
opcode: 0x33,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x2a0,
funct7: 0x15,
},
Opcode::AES32DSMI => Inst {
opcode: 0x33,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x2e0,
funct7: 0x17,
},
Opcode::AES32ESI => Inst {
opcode: 0x33,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x220,
funct7: 0x11,
},
Opcode::AES32ESMI => Inst {
opcode: 0x33,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x260,
funct7: 0x13,
},
Opcode::AES64DS => Inst {
opcode: 0x33,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x3a0,
funct7: 0x1d,
},
Opcode::AES64DSM => Inst {
opcode: 0x33,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x3e0,
funct7: 0x1f,
},
Opcode::AES64ES => Inst {
opcode: 0x33,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x320,
funct7: 0x19,
},
Opcode::AES64ESM => Inst {
opcode: 0x33,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x360,
funct7: 0x1b,
},
Opcode::AES64IM => Inst {
opcode: 0x13,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x300,
funct7: 0x18,
},
Opcode::AES64KS1I => Inst {
opcode: 0x13,
funct3: 0x1,
rs1: 0x0,
rs2: 0x10,
csr: 0x310,
funct7: 0x18,
},
Opcode::AES64KS2 => Inst {
opcode: 0x33,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x7e0,
funct7: 0x3f,
},
Opcode::AMOADDB => Inst {
opcode: 0x2f,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::AMOADDD => Inst {
opcode: 0x2f,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::AMOADDH => Inst {
opcode: 0x2f,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::AMOADDW => Inst {
opcode: 0x2f,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::AMOANDB => Inst {
opcode: 0x2f,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x600,
funct7: 0x30,
},
Opcode::AMOANDD => Inst {
opcode: 0x2f,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x600,
funct7: 0x30,
},
Opcode::AMOANDH => Inst {
opcode: 0x2f,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x600,
funct7: 0x30,
},
Opcode::AMOANDW => Inst {
opcode: 0x2f,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x600,
funct7: 0x30,
},
Opcode::AMOCASB => Inst {
opcode: 0x2f,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x280,
funct7: 0x14,
},
Opcode::AMOCASD => Inst {
opcode: 0x2f,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x280,
funct7: 0x14,
},
Opcode::AMOCASH => Inst {
opcode: 0x2f,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x280,
funct7: 0x14,
},
Opcode::AMOCASQ => Inst {
opcode: 0x2f,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x280,
funct7: 0x14,
},
Opcode::AMOCASW => Inst {
opcode: 0x2f,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x280,
funct7: 0x14,
},
Opcode::AMOMAXB => Inst {
opcode: 0x2f,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xa00,
funct7: 0x50,
},
Opcode::AMOMAXD => Inst {
opcode: 0x2f,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0xa00,
funct7: 0x50,
},
Opcode::AMOMAXH => Inst {
opcode: 0x2f,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0xa00,
funct7: 0x50,
},
Opcode::AMOMAXW => Inst {
opcode: 0x2f,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xa00,
funct7: 0x50,
},
Opcode::AMOMAXUB => Inst {
opcode: 0x2f,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xe00,
funct7: 0x70,
},
Opcode::AMOMAXUD => Inst {
opcode: 0x2f,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0xe00,
funct7: 0x70,
},
Opcode::AMOMAXUH => Inst {
opcode: 0x2f,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0xe00,
funct7: 0x70,
},
Opcode::AMOMAXUW => Inst {
opcode: 0x2f,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xe00,
funct7: 0x70,
},
Opcode::AMOMINB => Inst {
opcode: 0x2f,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x800,
funct7: 0x40,
},
Opcode::AMOMIND => Inst {
opcode: 0x2f,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x800,
funct7: 0x40,
},
Opcode::AMOMINH => Inst {
opcode: 0x2f,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x800,
funct7: 0x40,
},
Opcode::AMOMINW => Inst {
opcode: 0x2f,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x800,
funct7: 0x40,
},
Opcode::AMOMINUB => Inst {
opcode: 0x2f,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xc00,
funct7: 0x60,
},
Opcode::AMOMINUD => Inst {
opcode: 0x2f,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0xc00,
funct7: 0x60,
},
Opcode::AMOMINUH => Inst {
opcode: 0x2f,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0xc00,
funct7: 0x60,
},
Opcode::AMOMINUW => Inst {
opcode: 0x2f,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xc00,
funct7: 0x60,
},
Opcode::AMOORB => Inst {
opcode: 0x2f,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x400,
funct7: 0x20,
},
Opcode::AMOORD => Inst {
opcode: 0x2f,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x400,
funct7: 0x20,
},
Opcode::AMOORH => Inst {
opcode: 0x2f,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x400,
funct7: 0x20,
},
Opcode::AMOORW => Inst {
opcode: 0x2f,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x400,
funct7: 0x20,
},
Opcode::AMOSWAPB => Inst {
opcode: 0x2f,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x80,
funct7: 0x4,
},
Opcode::AMOSWAPD => Inst {
opcode: 0x2f,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x80,
funct7: 0x4,
},
Opcode::AMOSWAPH => Inst {
opcode: 0x2f,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x80,
funct7: 0x4,
},
Opcode::AMOSWAPW => Inst {
opcode: 0x2f,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x80,
funct7: 0x4,
},
Opcode::AMOXORB => Inst {
opcode: 0x2f,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x200,
funct7: 0x10,
},
Opcode::AMOXORD => Inst {
opcode: 0x2f,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x200,
funct7: 0x10,
},
Opcode::AMOXORH => Inst {
opcode: 0x2f,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x200,
funct7: 0x10,
},
Opcode::AMOXORW => Inst {
opcode: 0x2f,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x200,
funct7: 0x10,
},
Opcode::AND => Inst {
opcode: 0x33,
funct3: 0x7,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::ANDI => Inst {
opcode: 0x13,
funct3: 0x7,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::ANDN => Inst {
opcode: 0x33,
funct3: 0x7,
rs1: 0x0,
rs2: 0x0,
csr: 0x400,
funct7: 0x20,
},
Opcode::AUIPC => Inst {
opcode: 0x17,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::BCLR => Inst {
opcode: 0x33,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::BCLRI => Inst {
opcode: 0x13,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::BCLRIRV32 => Inst {
opcode: 0x13,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::BEQ => Inst {
opcode: 0x63,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::BEQZ => Inst {
opcode: 0x63,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::BEXT => Inst {
opcode: 0x33,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::BEXTI => Inst {
opcode: 0x13,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::BEXTIRV32 => Inst {
opcode: 0x13,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::BGE => Inst {
opcode: 0x63,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::BGEU => Inst {
opcode: 0x63,
funct3: 0x7,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::BGEZ => Inst {
opcode: 0x63,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::BGT => Inst {
opcode: 0x63,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::BGTU => Inst {
opcode: 0x63,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::BGTZ => Inst {
opcode: 0x63,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::BINV => Inst {
opcode: 0x33,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x680,
funct7: 0x34,
},
Opcode::BINVI => Inst {
opcode: 0x13,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x680,
funct7: 0x34,
},
Opcode::BINVIRV32 => Inst {
opcode: 0x13,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x680,
funct7: 0x34,
},
Opcode::BLE => Inst {
opcode: 0x63,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::BLEU => Inst {
opcode: 0x63,
funct3: 0x7,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::BLEZ => Inst {
opcode: 0x63,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::BLT => Inst {
opcode: 0x63,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::BLTU => Inst {
opcode: 0x63,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::BLTZ => Inst {
opcode: 0x63,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::BNE => Inst {
opcode: 0x63,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::BNEZ => Inst {
opcode: 0x63,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::BREV8 => Inst {
opcode: 0x13,
funct3: 0x5,
rs1: 0x0,
rs2: 0x7,
csr: 0x687,
funct7: 0x34,
},
Opcode::BSET => Inst {
opcode: 0x33,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x280,
funct7: 0x14,
},
Opcode::BSETI => Inst {
opcode: 0x13,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x280,
funct7: 0x14,
},
Opcode::BSETIRV32 => Inst {
opcode: 0x13,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x280,
funct7: 0x14,
},
Opcode::CADD => Inst {
opcode: 0x2,
funct3: 0x1,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CADDI => Inst {
opcode: 0x1,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CADDI16SP => Inst {
opcode: 0x1,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CADDI4SPN => Inst {
opcode: 0x0,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CADDIW => Inst {
opcode: 0x1,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CADDW => Inst {
opcode: 0x21,
funct3: 0x1,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CAND => Inst {
opcode: 0x61,
funct3: 0x0,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CANDI => Inst {
opcode: 0x1,
funct3: 0x0,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CBEQZ => Inst {
opcode: 0x1,
funct3: 0x4,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CBNEZ => Inst {
opcode: 0x1,
funct3: 0x6,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CEBREAK => Inst {
opcode: 0x2,
funct3: 0x1,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CFLD => Inst {
opcode: 0x0,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CFLDSP => Inst {
opcode: 0x2,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CFLW => Inst {
opcode: 0x0,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CFLWSP => Inst {
opcode: 0x2,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CFSD => Inst {
opcode: 0x0,
funct3: 0x2,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CFSDSP => Inst {
opcode: 0x2,
funct3: 0x2,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CFSW => Inst {
opcode: 0x0,
funct3: 0x6,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CFSWSP => Inst {
opcode: 0x2,
funct3: 0x6,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CJ => Inst {
opcode: 0x1,
funct3: 0x2,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CJAL => Inst {
opcode: 0x1,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CJALR => Inst {
opcode: 0x2,
funct3: 0x1,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CJR => Inst {
opcode: 0x2,
funct3: 0x0,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CLBU => Inst {
opcode: 0x0,
funct3: 0x0,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CLD => Inst {
opcode: 0x0,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CLDSP => Inst {
opcode: 0x2,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CLH => Inst {
opcode: 0x40,
funct3: 0x0,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CLHU => Inst {
opcode: 0x0,
funct3: 0x0,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CLI => Inst {
opcode: 0x1,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CLUI => Inst {
opcode: 0x1,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CLW => Inst {
opcode: 0x0,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CLWSP => Inst {
opcode: 0x2,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CMOP1 => Inst {
opcode: 0x1,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CMOP11 => Inst {
opcode: 0x1,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CMOP13 => Inst {
opcode: 0x1,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CMOP15 => Inst {
opcode: 0x1,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CMOP3 => Inst {
opcode: 0x1,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CMOP5 => Inst {
opcode: 0x1,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CMOP7 => Inst {
opcode: 0x1,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CMOP9 => Inst {
opcode: 0x1,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CMOPN => Inst {
opcode: 0x1,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CMUL => Inst {
opcode: 0x41,
funct3: 0x1,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CMV => Inst {
opcode: 0x2,
funct3: 0x0,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CNOP => Inst {
opcode: 0x1,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CNOT => Inst {
opcode: 0x75,
funct3: 0x1,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CNTLALL => Inst {
opcode: 0x16,
funct3: 0x1,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CNTLP1 => Inst {
opcode: 0xa,
funct3: 0x1,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CNTLPALL => Inst {
opcode: 0xe,
funct3: 0x1,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CNTLS1 => Inst {
opcode: 0x12,
funct3: 0x1,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::COR => Inst {
opcode: 0x41,
funct3: 0x0,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CSB => Inst {
opcode: 0x0,
funct3: 0x0,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CSD => Inst {
opcode: 0x0,
funct3: 0x6,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CSDSP => Inst {
opcode: 0x2,
funct3: 0x6,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CSEXTB => Inst {
opcode: 0x65,
funct3: 0x1,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CSEXTH => Inst {
opcode: 0x6d,
funct3: 0x1,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CSEXTW => Inst {
opcode: 0x1,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CSH => Inst {
opcode: 0x0,
funct3: 0x0,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CSLLI => Inst {
opcode: 0x2,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CSLLIRV32 => Inst {
opcode: 0x2,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CSRAI => Inst {
opcode: 0x1,
funct3: 0x0,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CSRAIRV32 => Inst {
opcode: 0x1,
funct3: 0x0,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CSRLI => Inst {
opcode: 0x1,
funct3: 0x0,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CSRLIRV32 => Inst {
opcode: 0x1,
funct3: 0x0,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CSUB => Inst {
opcode: 0x1,
funct3: 0x0,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CSUBW => Inst {
opcode: 0x1,
funct3: 0x1,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CSW => Inst {
opcode: 0x0,
funct3: 0x4,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CSWSP => Inst {
opcode: 0x2,
funct3: 0x4,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CXOR => Inst {
opcode: 0x21,
funct3: 0x0,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CZEXTB => Inst {
opcode: 0x61,
funct3: 0x1,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CZEXTH => Inst {
opcode: 0x69,
funct3: 0x1,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CZEXTW => Inst {
opcode: 0x71,
funct3: 0x1,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CBOCLEAN => Inst {
opcode: 0xf,
funct3: 0x2,
rs1: 0x0,
rs2: 0x1,
csr: 0x1,
funct7: 0x0,
},
Opcode::CBOFLUSH => Inst {
opcode: 0xf,
funct3: 0x2,
rs1: 0x0,
rs2: 0x2,
csr: 0x2,
funct7: 0x0,
},
Opcode::CBOINVAL => Inst {
opcode: 0xf,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CBOZERO => Inst {
opcode: 0xf,
funct3: 0x2,
rs1: 0x0,
rs2: 0x4,
csr: 0x4,
funct7: 0x0,
},
Opcode::CLMUL => Inst {
opcode: 0x33,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0xa0,
funct7: 0x5,
},
Opcode::CLMULH => Inst {
opcode: 0x33,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0xa0,
funct7: 0x5,
},
Opcode::CLMULR => Inst {
opcode: 0x33,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xa0,
funct7: 0x5,
},
Opcode::CLZ => Inst {
opcode: 0x13,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x600,
funct7: 0x30,
},
Opcode::CLZW => Inst {
opcode: 0x1b,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x600,
funct7: 0x30,
},
Opcode::CMJALT => Inst {
opcode: 0x2,
funct3: 0x2,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CMMVA01S => Inst {
opcode: 0x62,
funct3: 0x2,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CMMVSA01 => Inst {
opcode: 0x22,
funct3: 0x2,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CMPOP => Inst {
opcode: 0x2,
funct3: 0x3,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CMPOPRET => Inst {
opcode: 0x2,
funct3: 0x3,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CMPOPRETZ => Inst {
opcode: 0x2,
funct3: 0x3,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CMPUSH => Inst {
opcode: 0x2,
funct3: 0x3,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CPOP => Inst {
opcode: 0x13,
funct3: 0x1,
rs1: 0x0,
rs2: 0x2,
csr: 0x602,
funct7: 0x30,
},
Opcode::CPOPW => Inst {
opcode: 0x1b,
funct3: 0x1,
rs1: 0x0,
rs2: 0x2,
csr: 0x602,
funct7: 0x30,
},
Opcode::CSRC => Inst {
opcode: 0x73,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CSRCI => Inst {
opcode: 0x73,
funct3: 0x7,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CSRR => Inst {
opcode: 0x73,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CSRRC => Inst {
opcode: 0x73,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CSRRCI => Inst {
opcode: 0x73,
funct3: 0x7,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CSRRS => Inst {
opcode: 0x73,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CSRRSI => Inst {
opcode: 0x73,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CSRRW => Inst {
opcode: 0x73,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CSRRWI => Inst {
opcode: 0x73,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CSRS => Inst {
opcode: 0x73,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CSRSI => Inst {
opcode: 0x73,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CSRW => Inst {
opcode: 0x73,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CSRWI => Inst {
opcode: 0x73,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::CTZ => Inst {
opcode: 0x13,
funct3: 0x1,
rs1: 0x0,
rs2: 0x1,
csr: 0x601,
funct7: 0x30,
},
Opcode::CTZW => Inst {
opcode: 0x1b,
funct3: 0x1,
rs1: 0x0,
rs2: 0x1,
csr: 0x601,
funct7: 0x30,
},
Opcode::CZEROEQZ => Inst {
opcode: 0x33,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0xe0,
funct7: 0x7,
},
Opcode::CZERONEZ => Inst {
opcode: 0x33,
funct3: 0x7,
rs1: 0x0,
rs2: 0x0,
csr: 0xe0,
funct7: 0x7,
},
Opcode::DIV => Inst {
opcode: 0x33,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x20,
funct7: 0x1,
},
Opcode::DIVU => Inst {
opcode: 0x33,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x20,
funct7: 0x1,
},
Opcode::DIVUW => Inst {
opcode: 0x3b,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x20,
funct7: 0x1,
},
Opcode::DIVW => Inst {
opcode: 0x3b,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x20,
funct7: 0x1,
},
Opcode::DRET => Inst {
opcode: 0x73,
funct3: 0x0,
rs1: 0x0,
rs2: 0x12,
csr: 0x7b2,
funct7: 0x3d,
},
Opcode::EBREAK => Inst {
opcode: 0x73,
funct3: 0x0,
rs1: 0x0,
rs2: 0x1,
csr: 0x1,
funct7: 0x0,
},
Opcode::ECALL => Inst {
opcode: 0x73,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::FABSD => Inst {
opcode: 0x53,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x220,
funct7: 0x11,
},
Opcode::FABSH => Inst {
opcode: 0x53,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x240,
funct7: 0x12,
},
Opcode::FABSQ => Inst {
opcode: 0x53,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x260,
funct7: 0x13,
},
Opcode::FABSS => Inst {
opcode: 0x53,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x200,
funct7: 0x10,
},
Opcode::FADDD => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x20,
funct7: 0x1,
},
Opcode::FADDH => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x40,
funct7: 0x2,
},
Opcode::FADDQ => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x60,
funct7: 0x3,
},
Opcode::FADDS => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::FCLASSD => Inst {
opcode: 0x53,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0xe20,
funct7: 0x71,
},
Opcode::FCLASSH => Inst {
opcode: 0x53,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0xe40,
funct7: 0x72,
},
Opcode::FCLASSQ => Inst {
opcode: 0x53,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0xe60,
funct7: 0x73,
},
Opcode::FCLASSS => Inst {
opcode: 0x53,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0xe00,
funct7: 0x70,
},
Opcode::FCVTDH => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x2,
csr: 0x422,
funct7: 0x21,
},
Opcode::FCVTDL => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x2,
csr: 0xd22,
funct7: 0x69,
},
Opcode::FCVTDLU => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x3,
csr: 0xd23,
funct7: 0x69,
},
Opcode::FCVTDQ => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x3,
csr: 0x423,
funct7: 0x21,
},
Opcode::FCVTDS => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x420,
funct7: 0x21,
},
Opcode::FCVTDW => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xd20,
funct7: 0x69,
},
Opcode::FCVTDWU => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x1,
csr: 0xd21,
funct7: 0x69,
},
Opcode::FCVTHD => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x1,
csr: 0x441,
funct7: 0x22,
},
Opcode::FCVTHL => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x2,
csr: 0xd42,
funct7: 0x6a,
},
Opcode::FCVTHLU => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x3,
csr: 0xd43,
funct7: 0x6a,
},
Opcode::FCVTHQ => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x3,
csr: 0x443,
funct7: 0x22,
},
Opcode::FCVTHS => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x440,
funct7: 0x22,
},
Opcode::FCVTHW => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xd40,
funct7: 0x6a,
},
Opcode::FCVTHWU => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x1,
csr: 0xd41,
funct7: 0x6a,
},
Opcode::FCVTLD => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x2,
csr: 0xc22,
funct7: 0x61,
},
Opcode::FCVTLH => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x2,
csr: 0xc42,
funct7: 0x62,
},
Opcode::FCVTLQ => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x2,
csr: 0xc62,
funct7: 0x63,
},
Opcode::FCVTLS => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x2,
csr: 0xc02,
funct7: 0x60,
},
Opcode::FCVTLUD => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x3,
csr: 0xc23,
funct7: 0x61,
},
Opcode::FCVTLUH => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x3,
csr: 0xc43,
funct7: 0x62,
},
Opcode::FCVTLUQ => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x3,
csr: 0xc63,
funct7: 0x63,
},
Opcode::FCVTLUS => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x3,
csr: 0xc03,
funct7: 0x60,
},
Opcode::FCVTQD => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x1,
csr: 0x461,
funct7: 0x23,
},
Opcode::FCVTQH => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x2,
csr: 0x462,
funct7: 0x23,
},
Opcode::FCVTQL => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x2,
csr: 0xd62,
funct7: 0x6b,
},
Opcode::FCVTQLU => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x3,
csr: 0xd63,
funct7: 0x6b,
},
Opcode::FCVTQS => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x460,
funct7: 0x23,
},
Opcode::FCVTQW => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xd60,
funct7: 0x6b,
},
Opcode::FCVTQWU => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x1,
csr: 0xd61,
funct7: 0x6b,
},
Opcode::FCVTSD => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x1,
csr: 0x401,
funct7: 0x20,
},
Opcode::FCVTSH => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x2,
csr: 0x402,
funct7: 0x20,
},
Opcode::FCVTSL => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x2,
csr: 0xd02,
funct7: 0x68,
},
Opcode::FCVTSLU => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x3,
csr: 0xd03,
funct7: 0x68,
},
Opcode::FCVTSQ => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x3,
csr: 0x403,
funct7: 0x20,
},
Opcode::FCVTSW => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xd00,
funct7: 0x68,
},
Opcode::FCVTSWU => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x1,
csr: 0xd01,
funct7: 0x68,
},
Opcode::FCVTWD => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xc20,
funct7: 0x61,
},
Opcode::FCVTWH => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xc40,
funct7: 0x62,
},
Opcode::FCVTWQ => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xc60,
funct7: 0x63,
},
Opcode::FCVTWS => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xc00,
funct7: 0x60,
},
Opcode::FCVTWUD => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x1,
csr: 0xc21,
funct7: 0x61,
},
Opcode::FCVTWUH => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x1,
csr: 0xc41,
funct7: 0x62,
},
Opcode::FCVTWUQ => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x1,
csr: 0xc61,
funct7: 0x63,
},
Opcode::FCVTWUS => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x1,
csr: 0xc01,
funct7: 0x60,
},
Opcode::FCVTMODWD => Inst {
opcode: 0x53,
funct3: 0x1,
rs1: 0x0,
rs2: 0x8,
csr: 0xc28,
funct7: 0x61,
},
Opcode::FDIVD => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x1a0,
funct7: 0xd,
},
Opcode::FDIVH => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x1c0,
funct7: 0xe,
},
Opcode::FDIVQ => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x1e0,
funct7: 0xf,
},
Opcode::FDIVS => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x180,
funct7: 0xc,
},
Opcode::FENCE => Inst {
opcode: 0xf,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::FENCEI => Inst {
opcode: 0xf,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::FENCETSO => Inst {
opcode: 0xf,
funct3: 0x0,
rs1: 0x0,
rs2: 0x13,
csr: 0x833,
funct7: 0x41,
},
Opcode::FEQD => Inst {
opcode: 0x53,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xa20,
funct7: 0x51,
},
Opcode::FEQH => Inst {
opcode: 0x53,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xa40,
funct7: 0x52,
},
Opcode::FEQQ => Inst {
opcode: 0x53,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xa60,
funct7: 0x53,
},
Opcode::FEQS => Inst {
opcode: 0x53,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xa00,
funct7: 0x50,
},
Opcode::FLD => Inst {
opcode: 0x7,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::FLED => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xa20,
funct7: 0x51,
},
Opcode::FLEH => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xa40,
funct7: 0x52,
},
Opcode::FLEQ => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xa60,
funct7: 0x53,
},
Opcode::FLES => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xa00,
funct7: 0x50,
},
Opcode::FLEQD => Inst {
opcode: 0x53,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0xa20,
funct7: 0x51,
},
Opcode::FLEQH => Inst {
opcode: 0x53,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0xa40,
funct7: 0x52,
},
Opcode::FLEQQ => Inst {
opcode: 0x53,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0xa60,
funct7: 0x53,
},
Opcode::FLEQS => Inst {
opcode: 0x53,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0xa00,
funct7: 0x50,
},
Opcode::FLH => Inst {
opcode: 0x7,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::FLID => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x1,
csr: 0xf21,
funct7: 0x79,
},
Opcode::FLIH => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x1,
csr: 0xf41,
funct7: 0x7a,
},
Opcode::FLIQ => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x1,
csr: 0xf61,
funct7: 0x7b,
},
Opcode::FLIS => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x1,
csr: 0xf01,
funct7: 0x78,
},
Opcode::FLQ => Inst {
opcode: 0x7,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::FLTD => Inst {
opcode: 0x53,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0xa20,
funct7: 0x51,
},
Opcode::FLTH => Inst {
opcode: 0x53,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0xa40,
funct7: 0x52,
},
Opcode::FLTQ => Inst {
opcode: 0x53,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0xa60,
funct7: 0x53,
},
Opcode::FLTS => Inst {
opcode: 0x53,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0xa00,
funct7: 0x50,
},
Opcode::FLTQD => Inst {
opcode: 0x53,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0xa20,
funct7: 0x51,
},
Opcode::FLTQH => Inst {
opcode: 0x53,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0xa40,
funct7: 0x52,
},
Opcode::FLTQQ => Inst {
opcode: 0x53,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0xa60,
funct7: 0x53,
},
Opcode::FLTQS => Inst {
opcode: 0x53,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0xa00,
funct7: 0x50,
},
Opcode::FLW => Inst {
opcode: 0x7,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::FMADDD => Inst {
opcode: 0x43,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x20,
funct7: 0x1,
},
Opcode::FMADDH => Inst {
opcode: 0x43,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x40,
funct7: 0x2,
},
Opcode::FMADDQ => Inst {
opcode: 0x43,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x60,
funct7: 0x3,
},
Opcode::FMADDS => Inst {
opcode: 0x43,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::FMAXD => Inst {
opcode: 0x53,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x2a0,
funct7: 0x15,
},
Opcode::FMAXH => Inst {
opcode: 0x53,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x2c0,
funct7: 0x16,
},
Opcode::FMAXQ => Inst {
opcode: 0x53,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x2e0,
funct7: 0x17,
},
Opcode::FMAXS => Inst {
opcode: 0x53,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x280,
funct7: 0x14,
},
Opcode::FMAXMD => Inst {
opcode: 0x53,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x2a0,
funct7: 0x15,
},
Opcode::FMAXMH => Inst {
opcode: 0x53,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x2c0,
funct7: 0x16,
},
Opcode::FMAXMQ => Inst {
opcode: 0x53,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x2e0,
funct7: 0x17,
},
Opcode::FMAXMS => Inst {
opcode: 0x53,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x280,
funct7: 0x14,
},
Opcode::FMIND => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x2a0,
funct7: 0x15,
},
Opcode::FMINH => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x2c0,
funct7: 0x16,
},
Opcode::FMINQ => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x2e0,
funct7: 0x17,
},
Opcode::FMINS => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x280,
funct7: 0x14,
},
Opcode::FMINMD => Inst {
opcode: 0x53,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x2a0,
funct7: 0x15,
},
Opcode::FMINMH => Inst {
opcode: 0x53,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x2c0,
funct7: 0x16,
},
Opcode::FMINMQ => Inst {
opcode: 0x53,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x2e0,
funct7: 0x17,
},
Opcode::FMINMS => Inst {
opcode: 0x53,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x280,
funct7: 0x14,
},
Opcode::FMSUBD => Inst {
opcode: 0x47,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x20,
funct7: 0x1,
},
Opcode::FMSUBH => Inst {
opcode: 0x47,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x40,
funct7: 0x2,
},
Opcode::FMSUBQ => Inst {
opcode: 0x47,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x60,
funct7: 0x3,
},
Opcode::FMSUBS => Inst {
opcode: 0x47,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::FMULD => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x120,
funct7: 0x9,
},
Opcode::FMULH => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x140,
funct7: 0xa,
},
Opcode::FMULQ => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x160,
funct7: 0xb,
},
Opcode::FMULS => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x100,
funct7: 0x8,
},
Opcode::FMVD => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x220,
funct7: 0x11,
},
Opcode::FMVDX => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xf20,
funct7: 0x79,
},
Opcode::FMVH => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x240,
funct7: 0x12,
},
Opcode::FMVHX => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xf40,
funct7: 0x7a,
},
Opcode::FMVQ => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x260,
funct7: 0x13,
},
Opcode::FMVS => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x200,
funct7: 0x10,
},
Opcode::FMVSX => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xf00,
funct7: 0x78,
},
Opcode::FMVWX => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xf00,
funct7: 0x78,
},
Opcode::FMVXD => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xe20,
funct7: 0x71,
},
Opcode::FMVXH => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xe40,
funct7: 0x72,
},
Opcode::FMVXS => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xe00,
funct7: 0x70,
},
Opcode::FMVXW => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xe00,
funct7: 0x70,
},
Opcode::FMVHXD => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x1,
csr: 0xe21,
funct7: 0x71,
},
Opcode::FMVHXQ => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x1,
csr: 0xe61,
funct7: 0x73,
},
Opcode::FMVPDX => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xb20,
funct7: 0x59,
},
Opcode::FMVPQX => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xb60,
funct7: 0x5b,
},
Opcode::FNEGD => Inst {
opcode: 0x53,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x220,
funct7: 0x11,
},
Opcode::FNEGH => Inst {
opcode: 0x53,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x240,
funct7: 0x12,
},
Opcode::FNEGQ => Inst {
opcode: 0x53,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x260,
funct7: 0x13,
},
Opcode::FNEGS => Inst {
opcode: 0x53,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x200,
funct7: 0x10,
},
Opcode::FNMADDD => Inst {
opcode: 0x4f,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x20,
funct7: 0x1,
},
Opcode::FNMADDH => Inst {
opcode: 0x4f,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x40,
funct7: 0x2,
},
Opcode::FNMADDQ => Inst {
opcode: 0x4f,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x60,
funct7: 0x3,
},
Opcode::FNMADDS => Inst {
opcode: 0x4f,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::FNMSUBD => Inst {
opcode: 0x4b,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x20,
funct7: 0x1,
},
Opcode::FNMSUBH => Inst {
opcode: 0x4b,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x40,
funct7: 0x2,
},
Opcode::FNMSUBQ => Inst {
opcode: 0x4b,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x60,
funct7: 0x3,
},
Opcode::FNMSUBS => Inst {
opcode: 0x4b,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::FRCSR => Inst {
opcode: 0x73,
funct3: 0x2,
rs1: 0x0,
rs2: 0x3,
csr: 0x3,
funct7: 0x0,
},
Opcode::FRFLAGS => Inst {
opcode: 0x73,
funct3: 0x2,
rs1: 0x0,
rs2: 0x1,
csr: 0x1,
funct7: 0x0,
},
Opcode::FROUNDD => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x4,
csr: 0x424,
funct7: 0x21,
},
Opcode::FROUNDH => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x4,
csr: 0x444,
funct7: 0x22,
},
Opcode::FROUNDQ => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x4,
csr: 0x464,
funct7: 0x23,
},
Opcode::FROUNDS => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x4,
csr: 0x404,
funct7: 0x20,
},
Opcode::FROUNDNXD => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x5,
csr: 0x425,
funct7: 0x21,
},
Opcode::FROUNDNXH => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x5,
csr: 0x445,
funct7: 0x22,
},
Opcode::FROUNDNXQ => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x5,
csr: 0x465,
funct7: 0x23,
},
Opcode::FROUNDNXS => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x5,
csr: 0x405,
funct7: 0x20,
},
Opcode::FRRM => Inst {
opcode: 0x73,
funct3: 0x2,
rs1: 0x0,
rs2: 0x2,
csr: 0x2,
funct7: 0x0,
},
Opcode::FSCSR => Inst {
opcode: 0x73,
funct3: 0x1,
rs1: 0x0,
rs2: 0x3,
csr: 0x3,
funct7: 0x0,
},
Opcode::FSD => Inst {
opcode: 0x27,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::FSFLAGS => Inst {
opcode: 0x73,
funct3: 0x1,
rs1: 0x0,
rs2: 0x1,
csr: 0x1,
funct7: 0x0,
},
Opcode::FSFLAGSI => Inst {
opcode: 0x73,
funct3: 0x5,
rs1: 0x0,
rs2: 0x1,
csr: 0x1,
funct7: 0x0,
},
Opcode::FSGNJD => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x220,
funct7: 0x11,
},
Opcode::FSGNJH => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x240,
funct7: 0x12,
},
Opcode::FSGNJQ => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x260,
funct7: 0x13,
},
Opcode::FSGNJS => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x200,
funct7: 0x10,
},
Opcode::FSGNJND => Inst {
opcode: 0x53,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x220,
funct7: 0x11,
},
Opcode::FSGNJNH => Inst {
opcode: 0x53,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x240,
funct7: 0x12,
},
Opcode::FSGNJNQ => Inst {
opcode: 0x53,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x260,
funct7: 0x13,
},
Opcode::FSGNJNS => Inst {
opcode: 0x53,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x200,
funct7: 0x10,
},
Opcode::FSGNJXD => Inst {
opcode: 0x53,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x220,
funct7: 0x11,
},
Opcode::FSGNJXH => Inst {
opcode: 0x53,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x240,
funct7: 0x12,
},
Opcode::FSGNJXQ => Inst {
opcode: 0x53,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x260,
funct7: 0x13,
},
Opcode::FSGNJXS => Inst {
opcode: 0x53,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x200,
funct7: 0x10,
},
Opcode::FSH => Inst {
opcode: 0x27,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::FSQ => Inst {
opcode: 0x27,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::FSQRTD => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x5a0,
funct7: 0x2d,
},
Opcode::FSQRTH => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x5c0,
funct7: 0x2e,
},
Opcode::FSQRTQ => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x5e0,
funct7: 0x2f,
},
Opcode::FSQRTS => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x580,
funct7: 0x2c,
},
Opcode::FSRM => Inst {
opcode: 0x73,
funct3: 0x1,
rs1: 0x0,
rs2: 0x2,
csr: 0x2,
funct7: 0x0,
},
Opcode::FSRMI => Inst {
opcode: 0x73,
funct3: 0x5,
rs1: 0x0,
rs2: 0x2,
csr: 0x2,
funct7: 0x0,
},
Opcode::FSUBD => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xa0,
funct7: 0x5,
},
Opcode::FSUBH => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xc0,
funct7: 0x6,
},
Opcode::FSUBQ => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xe0,
funct7: 0x7,
},
Opcode::FSUBS => Inst {
opcode: 0x53,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x80,
funct7: 0x4,
},
Opcode::FSW => Inst {
opcode: 0x27,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::HFENCEGVMA => Inst {
opcode: 0x73,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x620,
funct7: 0x31,
},
Opcode::HFENCEVVMA => Inst {
opcode: 0x73,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x220,
funct7: 0x11,
},
Opcode::HINVALGVMA => Inst {
opcode: 0x73,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x660,
funct7: 0x33,
},
Opcode::HINVALVVMA => Inst {
opcode: 0x73,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x260,
funct7: 0x13,
},
Opcode::HLVB => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x600,
funct7: 0x30,
},
Opcode::HLVBU => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1,
csr: 0x601,
funct7: 0x30,
},
Opcode::HLVD => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x6c0,
funct7: 0x36,
},
Opcode::HLVH => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x640,
funct7: 0x32,
},
Opcode::HLVHU => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1,
csr: 0x641,
funct7: 0x32,
},
Opcode::HLVW => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x680,
funct7: 0x34,
},
Opcode::HLVWU => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1,
csr: 0x681,
funct7: 0x34,
},
Opcode::HLVXHU => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x3,
csr: 0x643,
funct7: 0x32,
},
Opcode::HLVXWU => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x3,
csr: 0x683,
funct7: 0x34,
},
Opcode::HSVB => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x620,
funct7: 0x31,
},
Opcode::HSVD => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x6e0,
funct7: 0x37,
},
Opcode::HSVH => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x660,
funct7: 0x33,
},
Opcode::HSVW => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x6a0,
funct7: 0x35,
},
Opcode::J => Inst {
opcode: 0x6f,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::JAL => Inst {
opcode: 0x6f,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::JALPSEUDO => Inst {
opcode: 0x6f,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::JALR => Inst {
opcode: 0x67,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::JALRPSEUDO => Inst {
opcode: 0x67,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::JR => Inst {
opcode: 0x67,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::LB => Inst {
opcode: 0x3,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::LBU => Inst {
opcode: 0x3,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::LD => Inst {
opcode: 0x3,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::LH => Inst {
opcode: 0x3,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::LHU => Inst {
opcode: 0x3,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::LRD => Inst {
opcode: 0x2f,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x100,
funct7: 0x8,
},
Opcode::LRW => Inst {
opcode: 0x2f,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x100,
funct7: 0x8,
},
Opcode::LUI => Inst {
opcode: 0x37,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::LW => Inst {
opcode: 0x3,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::LWU => Inst {
opcode: 0x3,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::MAX => Inst {
opcode: 0x33,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0xa0,
funct7: 0x5,
},
Opcode::MAXU => Inst {
opcode: 0x33,
funct3: 0x7,
rs1: 0x0,
rs2: 0x0,
csr: 0xa0,
funct7: 0x5,
},
Opcode::MIN => Inst {
opcode: 0x33,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0xa0,
funct7: 0x5,
},
Opcode::MINU => Inst {
opcode: 0x33,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0xa0,
funct7: 0x5,
},
Opcode::MOPR0 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1c,
csr: 0x81c,
funct7: 0x40,
},
Opcode::MOPR1 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1d,
csr: 0x81d,
funct7: 0x40,
},
Opcode::MOPR10 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1e,
csr: 0x89e,
funct7: 0x44,
},
Opcode::MOPR11 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1f,
csr: 0x89f,
funct7: 0x44,
},
Opcode::MOPR12 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1c,
csr: 0x8dc,
funct7: 0x46,
},
Opcode::MOPR13 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1d,
csr: 0x8dd,
funct7: 0x46,
},
Opcode::MOPR14 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1e,
csr: 0x8de,
funct7: 0x46,
},
Opcode::MOPR15 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1f,
csr: 0x8df,
funct7: 0x46,
},
Opcode::MOPR16 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1c,
csr: 0xc1c,
funct7: 0x60,
},
Opcode::MOPR17 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1d,
csr: 0xc1d,
funct7: 0x60,
},
Opcode::MOPR18 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1e,
csr: 0xc1e,
funct7: 0x60,
},
Opcode::MOPR19 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1f,
csr: 0xc1f,
funct7: 0x60,
},
Opcode::MOPR2 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1e,
csr: 0x81e,
funct7: 0x40,
},
Opcode::MOPR20 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1c,
csr: 0xc5c,
funct7: 0x62,
},
Opcode::MOPR21 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1d,
csr: 0xc5d,
funct7: 0x62,
},
Opcode::MOPR22 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1e,
csr: 0xc5e,
funct7: 0x62,
},
Opcode::MOPR23 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1f,
csr: 0xc5f,
funct7: 0x62,
},
Opcode::MOPR24 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1c,
csr: 0xc9c,
funct7: 0x64,
},
Opcode::MOPR25 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1d,
csr: 0xc9d,
funct7: 0x64,
},
Opcode::MOPR26 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1e,
csr: 0xc9e,
funct7: 0x64,
},
Opcode::MOPR27 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1f,
csr: 0xc9f,
funct7: 0x64,
},
Opcode::MOPR28 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1c,
csr: 0xcdc,
funct7: 0x66,
},
Opcode::MOPR29 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1d,
csr: 0xcdd,
funct7: 0x66,
},
Opcode::MOPR3 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1f,
csr: 0x81f,
funct7: 0x40,
},
Opcode::MOPR30 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1e,
csr: 0xcde,
funct7: 0x66,
},
Opcode::MOPR31 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1f,
csr: 0xcdf,
funct7: 0x66,
},
Opcode::MOPR4 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1c,
csr: 0x85c,
funct7: 0x42,
},
Opcode::MOPR5 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1d,
csr: 0x85d,
funct7: 0x42,
},
Opcode::MOPR6 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1e,
csr: 0x85e,
funct7: 0x42,
},
Opcode::MOPR7 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1f,
csr: 0x85f,
funct7: 0x42,
},
Opcode::MOPR8 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1c,
csr: 0x89c,
funct7: 0x44,
},
Opcode::MOPR9 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1d,
csr: 0x89d,
funct7: 0x44,
},
Opcode::MOPRN => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x1c,
csr: 0x81c,
funct7: 0x40,
},
Opcode::MOPRR0 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x820,
funct7: 0x41,
},
Opcode::MOPRR1 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x860,
funct7: 0x43,
},
Opcode::MOPRR2 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x8a0,
funct7: 0x45,
},
Opcode::MOPRR3 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x8e0,
funct7: 0x47,
},
Opcode::MOPRR4 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0xc20,
funct7: 0x61,
},
Opcode::MOPRR5 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0xc60,
funct7: 0x63,
},
Opcode::MOPRR6 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0xca0,
funct7: 0x65,
},
Opcode::MOPRR7 => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0xce0,
funct7: 0x67,
},
Opcode::MOPRRN => Inst {
opcode: 0x73,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x820,
funct7: 0x41,
},
Opcode::MRET => Inst {
opcode: 0x73,
funct3: 0x0,
rs1: 0x0,
rs2: 0x2,
csr: 0x302,
funct7: 0x18,
},
Opcode::MUL => Inst {
opcode: 0x33,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x20,
funct7: 0x1,
},
Opcode::MULH => Inst {
opcode: 0x33,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x20,
funct7: 0x1,
},
Opcode::MULHSU => Inst {
opcode: 0x33,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x20,
funct7: 0x1,
},
Opcode::MULHU => Inst {
opcode: 0x33,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x20,
funct7: 0x1,
},
Opcode::MULW => Inst {
opcode: 0x3b,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x20,
funct7: 0x1,
},
Opcode::MV => Inst {
opcode: 0x13,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::NEG => Inst {
opcode: 0x33,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x400,
funct7: 0x20,
},
Opcode::NOP => Inst {
opcode: 0x13,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::NTLALL => Inst {
opcode: 0x33,
funct3: 0x0,
rs1: 0x0,
rs2: 0x5,
csr: 0x5,
funct7: 0x0,
},
Opcode::NTLP1 => Inst {
opcode: 0x33,
funct3: 0x0,
rs1: 0x0,
rs2: 0x2,
csr: 0x2,
funct7: 0x0,
},
Opcode::NTLPALL => Inst {
opcode: 0x33,
funct3: 0x0,
rs1: 0x0,
rs2: 0x3,
csr: 0x3,
funct7: 0x0,
},
Opcode::NTLS1 => Inst {
opcode: 0x33,
funct3: 0x0,
rs1: 0x0,
rs2: 0x4,
csr: 0x4,
funct7: 0x0,
},
Opcode::OR => Inst {
opcode: 0x33,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::ORCB => Inst {
opcode: 0x13,
funct3: 0x5,
rs1: 0x0,
rs2: 0x7,
csr: 0x287,
funct7: 0x14,
},
Opcode::ORI => Inst {
opcode: 0x13,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::ORN => Inst {
opcode: 0x33,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x400,
funct7: 0x20,
},
Opcode::PACK => Inst {
opcode: 0x33,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x80,
funct7: 0x4,
},
Opcode::PACKH => Inst {
opcode: 0x33,
funct3: 0x7,
rs1: 0x0,
rs2: 0x0,
csr: 0x80,
funct7: 0x4,
},
Opcode::PACKW => Inst {
opcode: 0x3b,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x80,
funct7: 0x4,
},
Opcode::PAUSE => Inst {
opcode: 0xf,
funct3: 0x0,
rs1: 0x0,
rs2: 0x10,
csr: 0x10,
funct7: 0x0,
},
Opcode::PREFETCHI => Inst {
opcode: 0x13,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::PREFETCHR => Inst {
opcode: 0x13,
funct3: 0x6,
rs1: 0x0,
rs2: 0x1,
csr: 0x1,
funct7: 0x0,
},
Opcode::PREFETCHW => Inst {
opcode: 0x13,
funct3: 0x6,
rs1: 0x0,
rs2: 0x3,
csr: 0x3,
funct7: 0x0,
},
Opcode::RDCYCLE => Inst {
opcode: 0x73,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xc00,
funct7: 0x60,
},
Opcode::RDCYCLEH => Inst {
opcode: 0x73,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xc80,
funct7: 0x64,
},
Opcode::RDINSTRET => Inst {
opcode: 0x73,
funct3: 0x2,
rs1: 0x0,
rs2: 0x2,
csr: 0xc02,
funct7: 0x60,
},
Opcode::RDINSTRETH => Inst {
opcode: 0x73,
funct3: 0x2,
rs1: 0x0,
rs2: 0x2,
csr: 0xc82,
funct7: 0x64,
},
Opcode::RDTIME => Inst {
opcode: 0x73,
funct3: 0x2,
rs1: 0x0,
rs2: 0x1,
csr: 0xc01,
funct7: 0x60,
},
Opcode::RDTIMEH => Inst {
opcode: 0x73,
funct3: 0x2,
rs1: 0x0,
rs2: 0x1,
csr: 0xc81,
funct7: 0x64,
},
Opcode::REM => Inst {
opcode: 0x33,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x20,
funct7: 0x1,
},
Opcode::REMU => Inst {
opcode: 0x33,
funct3: 0x7,
rs1: 0x0,
rs2: 0x0,
csr: 0x20,
funct7: 0x1,
},
Opcode::REMUW => Inst {
opcode: 0x3b,
funct3: 0x7,
rs1: 0x0,
rs2: 0x0,
csr: 0x20,
funct7: 0x1,
},
Opcode::REMW => Inst {
opcode: 0x3b,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x20,
funct7: 0x1,
},
Opcode::RET => Inst {
opcode: 0x67,
funct3: 0x0,
rs1: 0x1,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::REV8 => Inst {
opcode: 0x13,
funct3: 0x5,
rs1: 0x0,
rs2: 0x18,
csr: 0x6b8,
funct7: 0x35,
},
Opcode::REV8RV32 => Inst {
opcode: 0x13,
funct3: 0x5,
rs1: 0x0,
rs2: 0x18,
csr: 0x698,
funct7: 0x34,
},
Opcode::ROL => Inst {
opcode: 0x33,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x600,
funct7: 0x30,
},
Opcode::ROLW => Inst {
opcode: 0x3b,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x600,
funct7: 0x30,
},
Opcode::ROR => Inst {
opcode: 0x33,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x600,
funct7: 0x30,
},
Opcode::RORI => Inst {
opcode: 0x13,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x600,
funct7: 0x30,
},
Opcode::RORIRV32 => Inst {
opcode: 0x13,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x600,
funct7: 0x30,
},
Opcode::RORIW => Inst {
opcode: 0x1b,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x600,
funct7: 0x30,
},
Opcode::RORW => Inst {
opcode: 0x3b,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x600,
funct7: 0x30,
},
Opcode::SB => Inst {
opcode: 0x23,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::SBREAK => Inst {
opcode: 0x73,
funct3: 0x0,
rs1: 0x0,
rs2: 0x1,
csr: 0x1,
funct7: 0x0,
},
Opcode::SCD => Inst {
opcode: 0x2f,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x180,
funct7: 0xc,
},
Opcode::SCW => Inst {
opcode: 0x2f,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x180,
funct7: 0xc,
},
Opcode::SCALL => Inst {
opcode: 0x73,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::SD => Inst {
opcode: 0x23,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::SEQZ => Inst {
opcode: 0x13,
funct3: 0x3,
rs1: 0x0,
rs2: 0x1,
csr: 0x1,
funct7: 0x0,
},
Opcode::SEXTB => Inst {
opcode: 0x13,
funct3: 0x1,
rs1: 0x0,
rs2: 0x4,
csr: 0x604,
funct7: 0x30,
},
Opcode::SEXTH => Inst {
opcode: 0x13,
funct3: 0x1,
rs1: 0x0,
rs2: 0x5,
csr: 0x605,
funct7: 0x30,
},
Opcode::SEXTW => Inst {
opcode: 0x1b,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::SFENCEINVALIR => Inst {
opcode: 0x73,
funct3: 0x0,
rs1: 0x0,
rs2: 0x1,
csr: 0x181,
funct7: 0xc,
},
Opcode::SFENCEVMA => Inst {
opcode: 0x73,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x120,
funct7: 0x9,
},
Opcode::SFENCEWINVAL => Inst {
opcode: 0x73,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x180,
funct7: 0xc,
},
Opcode::SGTZ => Inst {
opcode: 0x33,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::SH => Inst {
opcode: 0x23,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::SH1ADD => Inst {
opcode: 0x33,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x200,
funct7: 0x10,
},
Opcode::SH1ADDUW => Inst {
opcode: 0x3b,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x200,
funct7: 0x10,
},
Opcode::SH2ADD => Inst {
opcode: 0x33,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x200,
funct7: 0x10,
},
Opcode::SH2ADDUW => Inst {
opcode: 0x3b,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x200,
funct7: 0x10,
},
Opcode::SH3ADD => Inst {
opcode: 0x33,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x200,
funct7: 0x10,
},
Opcode::SH3ADDUW => Inst {
opcode: 0x3b,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x200,
funct7: 0x10,
},
Opcode::SHA256SIG0 => Inst {
opcode: 0x13,
funct3: 0x1,
rs1: 0x0,
rs2: 0x2,
csr: 0x102,
funct7: 0x8,
},
Opcode::SHA256SIG1 => Inst {
opcode: 0x13,
funct3: 0x1,
rs1: 0x0,
rs2: 0x3,
csr: 0x103,
funct7: 0x8,
},
Opcode::SHA256SUM0 => Inst {
opcode: 0x13,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x100,
funct7: 0x8,
},
Opcode::SHA256SUM1 => Inst {
opcode: 0x13,
funct3: 0x1,
rs1: 0x0,
rs2: 0x1,
csr: 0x101,
funct7: 0x8,
},
Opcode::SHA512SIG0 => Inst {
opcode: 0x13,
funct3: 0x1,
rs1: 0x0,
rs2: 0x6,
csr: 0x106,
funct7: 0x8,
},
Opcode::SHA512SIG0H => Inst {
opcode: 0x33,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x5c0,
funct7: 0x2e,
},
Opcode::SHA512SIG0L => Inst {
opcode: 0x33,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x540,
funct7: 0x2a,
},
Opcode::SHA512SIG1 => Inst {
opcode: 0x13,
funct3: 0x1,
rs1: 0x0,
rs2: 0x7,
csr: 0x107,
funct7: 0x8,
},
Opcode::SHA512SIG1H => Inst {
opcode: 0x33,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x5e0,
funct7: 0x2f,
},
Opcode::SHA512SIG1L => Inst {
opcode: 0x33,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x560,
funct7: 0x2b,
},
Opcode::SHA512SUM0 => Inst {
opcode: 0x13,
funct3: 0x1,
rs1: 0x0,
rs2: 0x4,
csr: 0x104,
funct7: 0x8,
},
Opcode::SHA512SUM0R => Inst {
opcode: 0x33,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x500,
funct7: 0x28,
},
Opcode::SHA512SUM1 => Inst {
opcode: 0x13,
funct3: 0x1,
rs1: 0x0,
rs2: 0x5,
csr: 0x105,
funct7: 0x8,
},
Opcode::SHA512SUM1R => Inst {
opcode: 0x33,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x520,
funct7: 0x29,
},
Opcode::SINVALVMA => Inst {
opcode: 0x73,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x160,
funct7: 0xb,
},
Opcode::SLL => Inst {
opcode: 0x33,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::SLLI => Inst {
opcode: 0x13,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::SLLIRV32 => Inst {
opcode: 0x13,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::SLLIUW => Inst {
opcode: 0x1b,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x80,
funct7: 0x4,
},
Opcode::SLLIW => Inst {
opcode: 0x1b,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::SLLW => Inst {
opcode: 0x3b,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::SLT => Inst {
opcode: 0x33,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::SLTI => Inst {
opcode: 0x13,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::SLTIU => Inst {
opcode: 0x13,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::SLTU => Inst {
opcode: 0x33,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::SLTZ => Inst {
opcode: 0x33,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::SM3P0 => Inst {
opcode: 0x13,
funct3: 0x1,
rs1: 0x0,
rs2: 0x8,
csr: 0x108,
funct7: 0x8,
},
Opcode::SM3P1 => Inst {
opcode: 0x13,
funct3: 0x1,
rs1: 0x0,
rs2: 0x9,
csr: 0x109,
funct7: 0x8,
},
Opcode::SM4ED => Inst {
opcode: 0x33,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x300,
funct7: 0x18,
},
Opcode::SM4KS => Inst {
opcode: 0x33,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x340,
funct7: 0x1a,
},
Opcode::SNEZ => Inst {
opcode: 0x33,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::SRA => Inst {
opcode: 0x33,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x400,
funct7: 0x20,
},
Opcode::SRAI => Inst {
opcode: 0x13,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x400,
funct7: 0x20,
},
Opcode::SRAIRV32 => Inst {
opcode: 0x13,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x400,
funct7: 0x20,
},
Opcode::SRAIW => Inst {
opcode: 0x1b,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x400,
funct7: 0x20,
},
Opcode::SRAW => Inst {
opcode: 0x3b,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x400,
funct7: 0x20,
},
Opcode::SRET => Inst {
opcode: 0x73,
funct3: 0x0,
rs1: 0x0,
rs2: 0x2,
csr: 0x102,
funct7: 0x8,
},
Opcode::SRL => Inst {
opcode: 0x33,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::SRLI => Inst {
opcode: 0x13,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::SRLIRV32 => Inst {
opcode: 0x13,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::SRLIW => Inst {
opcode: 0x1b,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::SRLW => Inst {
opcode: 0x3b,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::SUB => Inst {
opcode: 0x33,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x400,
funct7: 0x20,
},
Opcode::SUBW => Inst {
opcode: 0x3b,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x400,
funct7: 0x20,
},
Opcode::SW => Inst {
opcode: 0x23,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::UNZIP => Inst {
opcode: 0x13,
funct3: 0x5,
rs1: 0x0,
rs2: 0xf,
csr: 0x8f,
funct7: 0x4,
},
Opcode::VAADDVV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x240,
funct7: 0x12,
},
Opcode::VAADDVX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x240,
funct7: 0x12,
},
Opcode::VAADDUVV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x200,
funct7: 0x10,
},
Opcode::VAADDUVX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x200,
funct7: 0x10,
},
Opcode::VADCVIM => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x400,
funct7: 0x20,
},
Opcode::VADCVVM => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x400,
funct7: 0x20,
},
Opcode::VADCVXM => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x400,
funct7: 0x20,
},
Opcode::VADDVI => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::VADDVV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::VADDVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::VAESDFVS => Inst {
opcode: 0x77,
funct3: 0x2,
rs1: 0x1,
rs2: 0x0,
csr: 0xa60,
funct7: 0x53,
},
Opcode::VAESDFVV => Inst {
opcode: 0x77,
funct3: 0x2,
rs1: 0x1,
rs2: 0x0,
csr: 0xa20,
funct7: 0x51,
},
Opcode::VAESDMVS => Inst {
opcode: 0x77,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xa60,
funct7: 0x53,
},
Opcode::VAESDMVV => Inst {
opcode: 0x77,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xa20,
funct7: 0x51,
},
Opcode::VAESEFVS => Inst {
opcode: 0x77,
funct3: 0x2,
rs1: 0x3,
rs2: 0x0,
csr: 0xa60,
funct7: 0x53,
},
Opcode::VAESEFVV => Inst {
opcode: 0x77,
funct3: 0x2,
rs1: 0x3,
rs2: 0x0,
csr: 0xa20,
funct7: 0x51,
},
Opcode::VAESEMVS => Inst {
opcode: 0x77,
funct3: 0x2,
rs1: 0x2,
rs2: 0x0,
csr: 0xa60,
funct7: 0x53,
},
Opcode::VAESEMVV => Inst {
opcode: 0x77,
funct3: 0x2,
rs1: 0x2,
rs2: 0x0,
csr: 0xa20,
funct7: 0x51,
},
Opcode::VAESKF1VI => Inst {
opcode: 0x77,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x8a0,
funct7: 0x45,
},
Opcode::VAESKF2VI => Inst {
opcode: 0x77,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xaa0,
funct7: 0x55,
},
Opcode::VAESZVS => Inst {
opcode: 0x77,
funct3: 0x2,
rs1: 0x7,
rs2: 0x0,
csr: 0xa60,
funct7: 0x53,
},
Opcode::VANDVI => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x240,
funct7: 0x12,
},
Opcode::VANDVV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x240,
funct7: 0x12,
},
Opcode::VANDVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x240,
funct7: 0x12,
},
Opcode::VANDNVV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x40,
funct7: 0x2,
},
Opcode::VANDNVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x40,
funct7: 0x2,
},
Opcode::VASUBVV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x2c0,
funct7: 0x16,
},
Opcode::VASUBVX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x2c0,
funct7: 0x16,
},
Opcode::VASUBUVV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x280,
funct7: 0x14,
},
Opcode::VASUBUVX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x280,
funct7: 0x14,
},
Opcode::VBREV8V => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x8,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::VBREVV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0xa,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::VCLMULVV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x300,
funct7: 0x18,
},
Opcode::VCLMULVX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x300,
funct7: 0x18,
},
Opcode::VCLMULHVV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x340,
funct7: 0x1a,
},
Opcode::VCLMULHVX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x340,
funct7: 0x1a,
},
Opcode::VCLZV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0xc,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::VCOMPRESSVM => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x5e0,
funct7: 0x2f,
},
Opcode::VCPOPM => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x10,
rs2: 0x0,
csr: 0x400,
funct7: 0x20,
},
Opcode::VCPOPV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0xe,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::VCTZV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0xd,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::VDIVVV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x840,
funct7: 0x42,
},
Opcode::VDIVVX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x840,
funct7: 0x42,
},
Opcode::VDIVUVV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x800,
funct7: 0x40,
},
Opcode::VDIVUVX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x800,
funct7: 0x40,
},
Opcode::VFADDVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::VFADDVV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::VFCLASSV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x10,
rs2: 0x0,
csr: 0x4c0,
funct7: 0x26,
},
Opcode::VFCVTFXV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x3,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::VFCVTFXUV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x2,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::VFCVTRTZXFV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x7,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::VFCVTRTZXUFV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x6,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::VFCVTXFV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x1,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::VFCVTXUFV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::VFDIVVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x800,
funct7: 0x40,
},
Opcode::VFDIVVV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x800,
funct7: 0x40,
},
Opcode::VFIRSTM => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x11,
rs2: 0x0,
csr: 0x400,
funct7: 0x20,
},
Opcode::VFMACCVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0xb00,
funct7: 0x58,
},
Opcode::VFMACCVV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0xb00,
funct7: 0x58,
},
Opcode::VFMADDVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0xa00,
funct7: 0x50,
},
Opcode::VFMADDVV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0xa00,
funct7: 0x50,
},
Opcode::VFMAXVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x180,
funct7: 0xc,
},
Opcode::VFMAXVV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x180,
funct7: 0xc,
},
Opcode::VFMERGEVFM => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x5c0,
funct7: 0x2e,
},
Opcode::VFMINVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x100,
funct7: 0x8,
},
Opcode::VFMINVV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x100,
funct7: 0x8,
},
Opcode::VFMSACVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0xb80,
funct7: 0x5c,
},
Opcode::VFMSACVV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0xb80,
funct7: 0x5c,
},
Opcode::VFMSUBVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0xa80,
funct7: 0x54,
},
Opcode::VFMSUBVV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0xa80,
funct7: 0x54,
},
Opcode::VFMULVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x900,
funct7: 0x48,
},
Opcode::VFMULVV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x900,
funct7: 0x48,
},
Opcode::VFMVFS => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x420,
funct7: 0x21,
},
Opcode::VFMVSF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x420,
funct7: 0x21,
},
Opcode::VFMVVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x5e0,
funct7: 0x2f,
},
Opcode::VFNCVTFFW => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x14,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::VFNCVTFXW => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x13,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::VFNCVTFXUW => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x12,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::VFNCVTRODFFW => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x15,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::VFNCVTRTZXFW => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x17,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::VFNCVTRTZXUFW => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x16,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::VFNCVTXFW => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x11,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::VFNCVTXUFW => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x10,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::VFNMACCVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0xb40,
funct7: 0x5a,
},
Opcode::VFNMACCVV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0xb40,
funct7: 0x5a,
},
Opcode::VFNMADDVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0xa40,
funct7: 0x52,
},
Opcode::VFNMADDVV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0xa40,
funct7: 0x52,
},
Opcode::VFNMSACVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0xbc0,
funct7: 0x5e,
},
Opcode::VFNMSACVV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0xbc0,
funct7: 0x5e,
},
Opcode::VFNMSUBVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0xac0,
funct7: 0x56,
},
Opcode::VFNMSUBVV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0xac0,
funct7: 0x56,
},
Opcode::VFRDIVVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x840,
funct7: 0x42,
},
Opcode::VFREC7V => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x5,
rs2: 0x0,
csr: 0x4c0,
funct7: 0x26,
},
Opcode::VFREDMAXVS => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x1c0,
funct7: 0xe,
},
Opcode::VFREDMINVS => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x140,
funct7: 0xa,
},
Opcode::VFREDOSUMVS => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0xc0,
funct7: 0x6,
},
Opcode::VFREDSUMVS => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x40,
funct7: 0x2,
},
Opcode::VFREDUSUMVS => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x40,
funct7: 0x2,
},
Opcode::VFRSQRT7V => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x4,
rs2: 0x0,
csr: 0x4c0,
funct7: 0x26,
},
Opcode::VFRSUBVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x9c0,
funct7: 0x4e,
},
Opcode::VFSGNJVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x200,
funct7: 0x10,
},
Opcode::VFSGNJVV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x200,
funct7: 0x10,
},
Opcode::VFSGNJNVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x240,
funct7: 0x12,
},
Opcode::VFSGNJNVV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x240,
funct7: 0x12,
},
Opcode::VFSGNJXVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x280,
funct7: 0x14,
},
Opcode::VFSGNJXVV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x280,
funct7: 0x14,
},
Opcode::VFSLIDE1DOWNVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x3c0,
funct7: 0x1e,
},
Opcode::VFSLIDE1UPVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x380,
funct7: 0x1c,
},
Opcode::VFSQRTV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x4c0,
funct7: 0x26,
},
Opcode::VFSUBVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x80,
funct7: 0x4,
},
Opcode::VFSUBVV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x80,
funct7: 0x4,
},
Opcode::VFWADDVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0xc00,
funct7: 0x60,
},
Opcode::VFWADDVV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0xc00,
funct7: 0x60,
},
Opcode::VFWADDWF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0xd00,
funct7: 0x68,
},
Opcode::VFWADDWV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0xd00,
funct7: 0x68,
},
Opcode::VFWCVTFFV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0xc,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::VFWCVTFXV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0xb,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::VFWCVTFXUV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0xa,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::VFWCVTRTZXFV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0xf,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::VFWCVTRTZXUFV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0xe,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::VFWCVTXFV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x9,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::VFWCVTXUFV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x8,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::VFWMACCVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0xf00,
funct7: 0x78,
},
Opcode::VFWMACCVV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0xf00,
funct7: 0x78,
},
Opcode::VFWMSACVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0xf80,
funct7: 0x7c,
},
Opcode::VFWMSACVV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0xf80,
funct7: 0x7c,
},
Opcode::VFWMULVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0xe00,
funct7: 0x70,
},
Opcode::VFWMULVV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0xe00,
funct7: 0x70,
},
Opcode::VFWNMACCVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0xf40,
funct7: 0x7a,
},
Opcode::VFWNMACCVV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0xf40,
funct7: 0x7a,
},
Opcode::VFWNMSACVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0xfc0,
funct7: 0x7e,
},
Opcode::VFWNMSACVV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0xfc0,
funct7: 0x7e,
},
Opcode::VFWREDOSUMVS => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0xcc0,
funct7: 0x66,
},
Opcode::VFWREDSUMVS => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0xc40,
funct7: 0x62,
},
Opcode::VFWREDUSUMVS => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0xc40,
funct7: 0x62,
},
Opcode::VFWSUBVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0xc80,
funct7: 0x64,
},
Opcode::VFWSUBVV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0xc80,
funct7: 0x64,
},
Opcode::VFWSUBWF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0xd80,
funct7: 0x6c,
},
Opcode::VFWSUBWV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0xd80,
funct7: 0x6c,
},
Opcode::VGHSHVV => Inst {
opcode: 0x77,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xb20,
funct7: 0x59,
},
Opcode::VGMULVV => Inst {
opcode: 0x77,
funct3: 0x2,
rs1: 0x11,
rs2: 0x0,
csr: 0xa20,
funct7: 0x51,
},
Opcode::VIDV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x11,
rs2: 0x0,
csr: 0x500,
funct7: 0x28,
},
Opcode::VIOTAM => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x10,
rs2: 0x0,
csr: 0x500,
funct7: 0x28,
},
Opcode::VL1RV => Inst {
opcode: 0x7,
funct3: 0x0,
rs1: 0x0,
rs2: 0x8,
csr: 0x28,
funct7: 0x1,
},
Opcode::VL1RE16V => Inst {
opcode: 0x7,
funct3: 0x5,
rs1: 0x0,
rs2: 0x8,
csr: 0x28,
funct7: 0x1,
},
Opcode::VL1RE32V => Inst {
opcode: 0x7,
funct3: 0x6,
rs1: 0x0,
rs2: 0x8,
csr: 0x28,
funct7: 0x1,
},
Opcode::VL1RE64V => Inst {
opcode: 0x7,
funct3: 0x7,
rs1: 0x0,
rs2: 0x8,
csr: 0x28,
funct7: 0x1,
},
Opcode::VL1RE8V => Inst {
opcode: 0x7,
funct3: 0x0,
rs1: 0x0,
rs2: 0x8,
csr: 0x28,
funct7: 0x1,
},
Opcode::VL2RV => Inst {
opcode: 0x7,
funct3: 0x0,
rs1: 0x0,
rs2: 0x8,
csr: 0x228,
funct7: 0x11,
},
Opcode::VL2RE16V => Inst {
opcode: 0x7,
funct3: 0x5,
rs1: 0x0,
rs2: 0x8,
csr: 0x228,
funct7: 0x11,
},
Opcode::VL2RE32V => Inst {
opcode: 0x7,
funct3: 0x6,
rs1: 0x0,
rs2: 0x8,
csr: 0x228,
funct7: 0x11,
},
Opcode::VL2RE64V => Inst {
opcode: 0x7,
funct3: 0x7,
rs1: 0x0,
rs2: 0x8,
csr: 0x228,
funct7: 0x11,
},
Opcode::VL2RE8V => Inst {
opcode: 0x7,
funct3: 0x0,
rs1: 0x0,
rs2: 0x8,
csr: 0x228,
funct7: 0x11,
},
Opcode::VL4RV => Inst {
opcode: 0x7,
funct3: 0x0,
rs1: 0x0,
rs2: 0x8,
csr: 0x628,
funct7: 0x31,
},
Opcode::VL4RE16V => Inst {
opcode: 0x7,
funct3: 0x5,
rs1: 0x0,
rs2: 0x8,
csr: 0x628,
funct7: 0x31,
},
Opcode::VL4RE32V => Inst {
opcode: 0x7,
funct3: 0x6,
rs1: 0x0,
rs2: 0x8,
csr: 0x628,
funct7: 0x31,
},
Opcode::VL4RE64V => Inst {
opcode: 0x7,
funct3: 0x7,
rs1: 0x0,
rs2: 0x8,
csr: 0x628,
funct7: 0x31,
},
Opcode::VL4RE8V => Inst {
opcode: 0x7,
funct3: 0x0,
rs1: 0x0,
rs2: 0x8,
csr: 0x628,
funct7: 0x31,
},
Opcode::VL8RV => Inst {
opcode: 0x7,
funct3: 0x0,
rs1: 0x0,
rs2: 0x8,
csr: 0xe28,
funct7: 0x71,
},
Opcode::VL8RE16V => Inst {
opcode: 0x7,
funct3: 0x5,
rs1: 0x0,
rs2: 0x8,
csr: 0xe28,
funct7: 0x71,
},
Opcode::VL8RE32V => Inst {
opcode: 0x7,
funct3: 0x6,
rs1: 0x0,
rs2: 0x8,
csr: 0xe28,
funct7: 0x71,
},
Opcode::VL8RE64V => Inst {
opcode: 0x7,
funct3: 0x7,
rs1: 0x0,
rs2: 0x8,
csr: 0xe28,
funct7: 0x71,
},
Opcode::VL8RE8V => Inst {
opcode: 0x7,
funct3: 0x0,
rs1: 0x0,
rs2: 0x8,
csr: 0xe28,
funct7: 0x71,
},
Opcode::VLE16V => Inst {
opcode: 0x7,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::VLE16FFV => Inst {
opcode: 0x7,
funct3: 0x5,
rs1: 0x0,
rs2: 0x10,
csr: 0x10,
funct7: 0x0,
},
Opcode::VLE1V => Inst {
opcode: 0x7,
funct3: 0x0,
rs1: 0x0,
rs2: 0xb,
csr: 0x2b,
funct7: 0x1,
},
Opcode::VLE32V => Inst {
opcode: 0x7,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::VLE32FFV => Inst {
opcode: 0x7,
funct3: 0x6,
rs1: 0x0,
rs2: 0x10,
csr: 0x10,
funct7: 0x0,
},
Opcode::VLE64V => Inst {
opcode: 0x7,
funct3: 0x7,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::VLE64FFV => Inst {
opcode: 0x7,
funct3: 0x7,
rs1: 0x0,
rs2: 0x10,
csr: 0x10,
funct7: 0x0,
},
Opcode::VLE8V => Inst {
opcode: 0x7,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::VLE8FFV => Inst {
opcode: 0x7,
funct3: 0x0,
rs1: 0x0,
rs2: 0x10,
csr: 0x10,
funct7: 0x0,
},
Opcode::VLMV => Inst {
opcode: 0x7,
funct3: 0x0,
rs1: 0x0,
rs2: 0xb,
csr: 0x2b,
funct7: 0x1,
},
Opcode::VLOXEI16V => Inst {
opcode: 0x7,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0xc0,
funct7: 0x6,
},
Opcode::VLOXEI32V => Inst {
opcode: 0x7,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0xc0,
funct7: 0x6,
},
Opcode::VLOXEI64V => Inst {
opcode: 0x7,
funct3: 0x7,
rs1: 0x0,
rs2: 0x0,
csr: 0xc0,
funct7: 0x6,
},
Opcode::VLOXEI8V => Inst {
opcode: 0x7,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xc0,
funct7: 0x6,
},
Opcode::VLSE16V => Inst {
opcode: 0x7,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x80,
funct7: 0x4,
},
Opcode::VLSE32V => Inst {
opcode: 0x7,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x80,
funct7: 0x4,
},
Opcode::VLSE64V => Inst {
opcode: 0x7,
funct3: 0x7,
rs1: 0x0,
rs2: 0x0,
csr: 0x80,
funct7: 0x4,
},
Opcode::VLSE8V => Inst {
opcode: 0x7,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x80,
funct7: 0x4,
},
Opcode::VLUXEI16V => Inst {
opcode: 0x7,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x40,
funct7: 0x2,
},
Opcode::VLUXEI32V => Inst {
opcode: 0x7,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x40,
funct7: 0x2,
},
Opcode::VLUXEI64V => Inst {
opcode: 0x7,
funct3: 0x7,
rs1: 0x0,
rs2: 0x0,
csr: 0x40,
funct7: 0x2,
},
Opcode::VLUXEI8V => Inst {
opcode: 0x7,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x40,
funct7: 0x2,
},
Opcode::VMACCVV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xb40,
funct7: 0x5a,
},
Opcode::VMACCVX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0xb40,
funct7: 0x5a,
},
Opcode::VMADCVI => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x460,
funct7: 0x23,
},
Opcode::VMADCVIM => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x440,
funct7: 0x22,
},
Opcode::VMADCVV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x460,
funct7: 0x23,
},
Opcode::VMADCVVM => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x440,
funct7: 0x22,
},
Opcode::VMADCVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x460,
funct7: 0x23,
},
Opcode::VMADCVXM => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x440,
funct7: 0x22,
},
Opcode::VMADDVV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xa40,
funct7: 0x52,
},
Opcode::VMADDVX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0xa40,
funct7: 0x52,
},
Opcode::VMANDMM => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x660,
funct7: 0x33,
},
Opcode::VMANDNMM => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x620,
funct7: 0x31,
},
Opcode::VMANDNOTMM => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x600,
funct7: 0x30,
},
Opcode::VMAXVV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x1c0,
funct7: 0xe,
},
Opcode::VMAXVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x1c0,
funct7: 0xe,
},
Opcode::VMAXUVV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x180,
funct7: 0xc,
},
Opcode::VMAXUVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x180,
funct7: 0xc,
},
Opcode::VMERGEVIM => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x5c0,
funct7: 0x2e,
},
Opcode::VMERGEVVM => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x5c0,
funct7: 0x2e,
},
Opcode::VMERGEVXM => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x5c0,
funct7: 0x2e,
},
Opcode::VMFEQVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x600,
funct7: 0x30,
},
Opcode::VMFEQVV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x600,
funct7: 0x30,
},
Opcode::VMFGEVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x7c0,
funct7: 0x3e,
},
Opcode::VMFGTVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x740,
funct7: 0x3a,
},
Opcode::VMFLEVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x640,
funct7: 0x32,
},
Opcode::VMFLEVV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x640,
funct7: 0x32,
},
Opcode::VMFLTVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x6c0,
funct7: 0x36,
},
Opcode::VMFLTVV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x6c0,
funct7: 0x36,
},
Opcode::VMFNEVF => Inst {
opcode: 0x57,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x700,
funct7: 0x38,
},
Opcode::VMFNEVV => Inst {
opcode: 0x57,
funct3: 0x1,
rs1: 0x0,
rs2: 0x0,
csr: 0x700,
funct7: 0x38,
},
Opcode::VMINVV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x140,
funct7: 0xa,
},
Opcode::VMINVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x140,
funct7: 0xa,
},
Opcode::VMINUVV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x100,
funct7: 0x8,
},
Opcode::VMINUVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x100,
funct7: 0x8,
},
Opcode::VMNANDMM => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x760,
funct7: 0x3b,
},
Opcode::VMNORMM => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x7a0,
funct7: 0x3d,
},
Opcode::VMORMM => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x6a0,
funct7: 0x35,
},
Opcode::VMORNMM => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x720,
funct7: 0x39,
},
Opcode::VMORNOTMM => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x700,
funct7: 0x38,
},
Opcode::VMSBCVV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x4e0,
funct7: 0x27,
},
Opcode::VMSBCVVM => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x4c0,
funct7: 0x26,
},
Opcode::VMSBCVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x4e0,
funct7: 0x27,
},
Opcode::VMSBCVXM => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x4c0,
funct7: 0x26,
},
Opcode::VMSBFM => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x1,
rs2: 0x0,
csr: 0x500,
funct7: 0x28,
},
Opcode::VMSEQVI => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x600,
funct7: 0x30,
},
Opcode::VMSEQVV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x600,
funct7: 0x30,
},
Opcode::VMSEQVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x600,
funct7: 0x30,
},
Opcode::VMSGTVI => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x7c0,
funct7: 0x3e,
},
Opcode::VMSGTVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x7c0,
funct7: 0x3e,
},
Opcode::VMSGTUVI => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x780,
funct7: 0x3c,
},
Opcode::VMSGTUVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x780,
funct7: 0x3c,
},
Opcode::VMSIFM => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x3,
rs2: 0x0,
csr: 0x500,
funct7: 0x28,
},
Opcode::VMSLEVI => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x740,
funct7: 0x3a,
},
Opcode::VMSLEVV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x740,
funct7: 0x3a,
},
Opcode::VMSLEVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x740,
funct7: 0x3a,
},
Opcode::VMSLEUVI => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x700,
funct7: 0x38,
},
Opcode::VMSLEUVV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x700,
funct7: 0x38,
},
Opcode::VMSLEUVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x700,
funct7: 0x38,
},
Opcode::VMSLTVV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x6c0,
funct7: 0x36,
},
Opcode::VMSLTVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x6c0,
funct7: 0x36,
},
Opcode::VMSLTUVV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x680,
funct7: 0x34,
},
Opcode::VMSLTUVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x680,
funct7: 0x34,
},
Opcode::VMSNEVI => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x640,
funct7: 0x32,
},
Opcode::VMSNEVV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x640,
funct7: 0x32,
},
Opcode::VMSNEVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x640,
funct7: 0x32,
},
Opcode::VMSOFM => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x2,
rs2: 0x0,
csr: 0x500,
funct7: 0x28,
},
Opcode::VMULVV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x940,
funct7: 0x4a,
},
Opcode::VMULVX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x940,
funct7: 0x4a,
},
Opcode::VMULHVV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x9c0,
funct7: 0x4e,
},
Opcode::VMULHVX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x9c0,
funct7: 0x4e,
},
Opcode::VMULHSUVV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x980,
funct7: 0x4c,
},
Opcode::VMULHSUVX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x980,
funct7: 0x4c,
},
Opcode::VMULHUVV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x900,
funct7: 0x48,
},
Opcode::VMULHUVX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x900,
funct7: 0x48,
},
Opcode::VMV1RV => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x9e0,
funct7: 0x4f,
},
Opcode::VMV2RV => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x1,
rs2: 0x0,
csr: 0x9e0,
funct7: 0x4f,
},
Opcode::VMV4RV => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x3,
rs2: 0x0,
csr: 0x9e0,
funct7: 0x4f,
},
Opcode::VMV8RV => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x7,
rs2: 0x0,
csr: 0x9e0,
funct7: 0x4f,
},
Opcode::VMVSX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x420,
funct7: 0x21,
},
Opcode::VMVVI => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x5e0,
funct7: 0x2f,
},
Opcode::VMVVV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x5e0,
funct7: 0x2f,
},
Opcode::VMVVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x5e0,
funct7: 0x2f,
},
Opcode::VMVXS => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x420,
funct7: 0x21,
},
Opcode::VMXNORMM => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x7e0,
funct7: 0x3f,
},
Opcode::VMXORMM => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x6e0,
funct7: 0x37,
},
Opcode::VNCLIPWI => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0xbc0,
funct7: 0x5e,
},
Opcode::VNCLIPWV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xbc0,
funct7: 0x5e,
},
Opcode::VNCLIPWX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0xbc0,
funct7: 0x5e,
},
Opcode::VNCLIPUWI => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0xb80,
funct7: 0x5c,
},
Opcode::VNCLIPUWV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xb80,
funct7: 0x5c,
},
Opcode::VNCLIPUWX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0xb80,
funct7: 0x5c,
},
Opcode::VNMSACVV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xbc0,
funct7: 0x5e,
},
Opcode::VNMSACVX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0xbc0,
funct7: 0x5e,
},
Opcode::VNMSUBVV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xac0,
funct7: 0x56,
},
Opcode::VNMSUBVX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0xac0,
funct7: 0x56,
},
Opcode::VNSRAWI => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0xb40,
funct7: 0x5a,
},
Opcode::VNSRAWV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xb40,
funct7: 0x5a,
},
Opcode::VNSRAWX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0xb40,
funct7: 0x5a,
},
Opcode::VNSRLWI => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0xb00,
funct7: 0x58,
},
Opcode::VNSRLWV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xb00,
funct7: 0x58,
},
Opcode::VNSRLWX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0xb00,
funct7: 0x58,
},
Opcode::VORVI => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x280,
funct7: 0x14,
},
Opcode::VORVV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x280,
funct7: 0x14,
},
Opcode::VORVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x280,
funct7: 0x14,
},
Opcode::VPOPCM => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x10,
rs2: 0x0,
csr: 0x400,
funct7: 0x20,
},
Opcode::VREDANDVS => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x40,
funct7: 0x2,
},
Opcode::VREDMAXVS => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x1c0,
funct7: 0xe,
},
Opcode::VREDMAXUVS => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x180,
funct7: 0xc,
},
Opcode::VREDMINVS => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x140,
funct7: 0xa,
},
Opcode::VREDMINUVS => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x100,
funct7: 0x8,
},
Opcode::VREDORVS => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x80,
funct7: 0x4,
},
Opcode::VREDSUMVS => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::VREDXORVS => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xc0,
funct7: 0x6,
},
Opcode::VREMVV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x8c0,
funct7: 0x46,
},
Opcode::VREMVX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x8c0,
funct7: 0x46,
},
Opcode::VREMUVV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x880,
funct7: 0x44,
},
Opcode::VREMUVX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x880,
funct7: 0x44,
},
Opcode::VREV8V => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x9,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::VRGATHERVI => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x300,
funct7: 0x18,
},
Opcode::VRGATHERVV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x300,
funct7: 0x18,
},
Opcode::VRGATHERVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x300,
funct7: 0x18,
},
Opcode::VRGATHEREI16VV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x380,
funct7: 0x1c,
},
Opcode::VROLVV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x540,
funct7: 0x2a,
},
Opcode::VROLVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x540,
funct7: 0x2a,
},
Opcode::VRORVI => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x500,
funct7: 0x28,
},
Opcode::VRORVV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x500,
funct7: 0x28,
},
Opcode::VRORVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x500,
funct7: 0x28,
},
Opcode::VRSUBVI => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0xc0,
funct7: 0x6,
},
Opcode::VRSUBVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0xc0,
funct7: 0x6,
},
Opcode::VS1RV => Inst {
opcode: 0x27,
funct3: 0x0,
rs1: 0x0,
rs2: 0x8,
csr: 0x28,
funct7: 0x1,
},
Opcode::VS2RV => Inst {
opcode: 0x27,
funct3: 0x0,
rs1: 0x0,
rs2: 0x8,
csr: 0x228,
funct7: 0x11,
},
Opcode::VS4RV => Inst {
opcode: 0x27,
funct3: 0x0,
rs1: 0x0,
rs2: 0x8,
csr: 0x628,
funct7: 0x31,
},
Opcode::VS8RV => Inst {
opcode: 0x27,
funct3: 0x0,
rs1: 0x0,
rs2: 0x8,
csr: 0xe28,
funct7: 0x71,
},
Opcode::VSADDVI => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x840,
funct7: 0x42,
},
Opcode::VSADDVV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x840,
funct7: 0x42,
},
Opcode::VSADDVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x840,
funct7: 0x42,
},
Opcode::VSADDUVI => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x800,
funct7: 0x40,
},
Opcode::VSADDUVV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x800,
funct7: 0x40,
},
Opcode::VSADDUVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x800,
funct7: 0x40,
},
Opcode::VSBCVVM => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::VSBCVXM => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::VSE16V => Inst {
opcode: 0x27,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::VSE1V => Inst {
opcode: 0x27,
funct3: 0x0,
rs1: 0x0,
rs2: 0xb,
csr: 0x2b,
funct7: 0x1,
},
Opcode::VSE32V => Inst {
opcode: 0x27,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::VSE64V => Inst {
opcode: 0x27,
funct3: 0x7,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::VSE8V => Inst {
opcode: 0x27,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::VSETIVLI => Inst {
opcode: 0x57,
funct3: 0x7,
rs1: 0x0,
rs2: 0x0,
csr: 0xc00,
funct7: 0x60,
},
Opcode::VSETVL => Inst {
opcode: 0x57,
funct3: 0x7,
rs1: 0x0,
rs2: 0x0,
csr: 0x800,
funct7: 0x40,
},
Opcode::VSETVLI => Inst {
opcode: 0x57,
funct3: 0x7,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::VSEXTVF2 => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x7,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::VSEXTVF4 => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x5,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::VSEXTVF8 => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x3,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::VSHA2CHVV => Inst {
opcode: 0x77,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xba0,
funct7: 0x5d,
},
Opcode::VSHA2CLVV => Inst {
opcode: 0x77,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xbe0,
funct7: 0x5f,
},
Opcode::VSHA2MSVV => Inst {
opcode: 0x77,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xb60,
funct7: 0x5b,
},
Opcode::VSLIDE1DOWNVX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x3c0,
funct7: 0x1e,
},
Opcode::VSLIDE1UPVX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x380,
funct7: 0x1c,
},
Opcode::VSLIDEDOWNVI => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x3c0,
funct7: 0x1e,
},
Opcode::VSLIDEDOWNVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x3c0,
funct7: 0x1e,
},
Opcode::VSLIDEUPVI => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x380,
funct7: 0x1c,
},
Opcode::VSLIDEUPVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x380,
funct7: 0x1c,
},
Opcode::VSLLVI => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x940,
funct7: 0x4a,
},
Opcode::VSLLVV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x940,
funct7: 0x4a,
},
Opcode::VSLLVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x940,
funct7: 0x4a,
},
Opcode::VSM3CVI => Inst {
opcode: 0x77,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xae0,
funct7: 0x57,
},
Opcode::VSM3MEVV => Inst {
opcode: 0x77,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x820,
funct7: 0x41,
},
Opcode::VSM4KVI => Inst {
opcode: 0x77,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x860,
funct7: 0x43,
},
Opcode::VSM4RVS => Inst {
opcode: 0x77,
funct3: 0x2,
rs1: 0x10,
rs2: 0x0,
csr: 0xa60,
funct7: 0x53,
},
Opcode::VSM4RVV => Inst {
opcode: 0x77,
funct3: 0x2,
rs1: 0x10,
rs2: 0x0,
csr: 0xa20,
funct7: 0x51,
},
Opcode::VSMV => Inst {
opcode: 0x27,
funct3: 0x0,
rs1: 0x0,
rs2: 0xb,
csr: 0x2b,
funct7: 0x1,
},
Opcode::VSMULVV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x9c0,
funct7: 0x4e,
},
Opcode::VSMULVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x9c0,
funct7: 0x4e,
},
Opcode::VSOXEI16V => Inst {
opcode: 0x27,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0xc0,
funct7: 0x6,
},
Opcode::VSOXEI32V => Inst {
opcode: 0x27,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0xc0,
funct7: 0x6,
},
Opcode::VSOXEI64V => Inst {
opcode: 0x27,
funct3: 0x7,
rs1: 0x0,
rs2: 0x0,
csr: 0xc0,
funct7: 0x6,
},
Opcode::VSOXEI8V => Inst {
opcode: 0x27,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xc0,
funct7: 0x6,
},
Opcode::VSRAVI => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0xa40,
funct7: 0x52,
},
Opcode::VSRAVV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xa40,
funct7: 0x52,
},
Opcode::VSRAVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0xa40,
funct7: 0x52,
},
Opcode::VSRLVI => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0xa00,
funct7: 0x50,
},
Opcode::VSRLVV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xa00,
funct7: 0x50,
},
Opcode::VSRLVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0xa00,
funct7: 0x50,
},
Opcode::VSSE16V => Inst {
opcode: 0x27,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x80,
funct7: 0x4,
},
Opcode::VSSE32V => Inst {
opcode: 0x27,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x80,
funct7: 0x4,
},
Opcode::VSSE64V => Inst {
opcode: 0x27,
funct3: 0x7,
rs1: 0x0,
rs2: 0x0,
csr: 0x80,
funct7: 0x4,
},
Opcode::VSSE8V => Inst {
opcode: 0x27,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x80,
funct7: 0x4,
},
Opcode::VSSRAVI => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0xac0,
funct7: 0x56,
},
Opcode::VSSRAVV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xac0,
funct7: 0x56,
},
Opcode::VSSRAVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0xac0,
funct7: 0x56,
},
Opcode::VSSRLVI => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0xa80,
funct7: 0x54,
},
Opcode::VSSRLVV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xa80,
funct7: 0x54,
},
Opcode::VSSRLVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0xa80,
funct7: 0x54,
},
Opcode::VSSUBVV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x8c0,
funct7: 0x46,
},
Opcode::VSSUBVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x8c0,
funct7: 0x46,
},
Opcode::VSSUBUVV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x880,
funct7: 0x44,
},
Opcode::VSSUBUVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x880,
funct7: 0x44,
},
Opcode::VSUBVV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x80,
funct7: 0x4,
},
Opcode::VSUBVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x80,
funct7: 0x4,
},
Opcode::VSUXEI16V => Inst {
opcode: 0x27,
funct3: 0x5,
rs1: 0x0,
rs2: 0x0,
csr: 0x40,
funct7: 0x2,
},
Opcode::VSUXEI32V => Inst {
opcode: 0x27,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0x40,
funct7: 0x2,
},
Opcode::VSUXEI64V => Inst {
opcode: 0x27,
funct3: 0x7,
rs1: 0x0,
rs2: 0x0,
csr: 0x40,
funct7: 0x2,
},
Opcode::VSUXEI8V => Inst {
opcode: 0x27,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x40,
funct7: 0x2,
},
Opcode::VWADDVV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xc40,
funct7: 0x62,
},
Opcode::VWADDVX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0xc40,
funct7: 0x62,
},
Opcode::VWADDWV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xd40,
funct7: 0x6a,
},
Opcode::VWADDWX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0xd40,
funct7: 0x6a,
},
Opcode::VWADDUVV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xc00,
funct7: 0x60,
},
Opcode::VWADDUVX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0xc00,
funct7: 0x60,
},
Opcode::VWADDUWV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xd00,
funct7: 0x68,
},
Opcode::VWADDUWX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0xd00,
funct7: 0x68,
},
Opcode::VWMACCVV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xf40,
funct7: 0x7a,
},
Opcode::VWMACCVX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0xf40,
funct7: 0x7a,
},
Opcode::VWMACCSUVV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xfc0,
funct7: 0x7e,
},
Opcode::VWMACCSUVX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0xfc0,
funct7: 0x7e,
},
Opcode::VWMACCUVV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xf00,
funct7: 0x78,
},
Opcode::VWMACCUVX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0xf00,
funct7: 0x78,
},
Opcode::VWMACCUSVX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0xf80,
funct7: 0x7c,
},
Opcode::VWMULVV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xec0,
funct7: 0x76,
},
Opcode::VWMULVX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0xec0,
funct7: 0x76,
},
Opcode::VWMULSUVV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xe80,
funct7: 0x74,
},
Opcode::VWMULSUVX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0xe80,
funct7: 0x74,
},
Opcode::VWMULUVV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xe00,
funct7: 0x70,
},
Opcode::VWMULUVX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0xe00,
funct7: 0x70,
},
Opcode::VWREDSUMVS => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xc40,
funct7: 0x62,
},
Opcode::VWREDSUMUVS => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xc00,
funct7: 0x60,
},
Opcode::VWSLLVI => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0xd40,
funct7: 0x6a,
},
Opcode::VWSLLVV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0xd40,
funct7: 0x6a,
},
Opcode::VWSLLVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0xd40,
funct7: 0x6a,
},
Opcode::VWSUBVV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xcc0,
funct7: 0x66,
},
Opcode::VWSUBVX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0xcc0,
funct7: 0x66,
},
Opcode::VWSUBWV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xdc0,
funct7: 0x6e,
},
Opcode::VWSUBWX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0xdc0,
funct7: 0x6e,
},
Opcode::VWSUBUVV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xc80,
funct7: 0x64,
},
Opcode::VWSUBUVX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0xc80,
funct7: 0x64,
},
Opcode::VWSUBUWV => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0xd80,
funct7: 0x6c,
},
Opcode::VWSUBUWX => Inst {
opcode: 0x57,
funct3: 0x6,
rs1: 0x0,
rs2: 0x0,
csr: 0xd80,
funct7: 0x6c,
},
Opcode::VXORVI => Inst {
opcode: 0x57,
funct3: 0x3,
rs1: 0x0,
rs2: 0x0,
csr: 0x2c0,
funct7: 0x16,
},
Opcode::VXORVV => Inst {
opcode: 0x57,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x2c0,
funct7: 0x16,
},
Opcode::VXORVX => Inst {
opcode: 0x57,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x2c0,
funct7: 0x16,
},
Opcode::VZEXTVF2 => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x6,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::VZEXTVF4 => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x4,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::VZEXTVF8 => Inst {
opcode: 0x57,
funct3: 0x2,
rs1: 0x2,
rs2: 0x0,
csr: 0x480,
funct7: 0x24,
},
Opcode::WFI => Inst {
opcode: 0x73,
funct3: 0x0,
rs1: 0x0,
rs2: 0x5,
csr: 0x105,
funct7: 0x8,
},
Opcode::WRSNTO => Inst {
opcode: 0x73,
funct3: 0x0,
rs1: 0x0,
rs2: 0xd,
csr: 0xd,
funct7: 0x0,
},
Opcode::WRSSTO => Inst {
opcode: 0x73,
funct3: 0x0,
rs1: 0x0,
rs2: 0x1d,
csr: 0x1d,
funct7: 0x0,
},
Opcode::XNOR => Inst {
opcode: 0x33,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x400,
funct7: 0x20,
},
Opcode::XOR => Inst {
opcode: 0x33,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::XORI => Inst {
opcode: 0x13,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::XPERM4 => Inst {
opcode: 0x33,
funct3: 0x2,
rs1: 0x0,
rs2: 0x0,
csr: 0x280,
funct7: 0x14,
},
Opcode::XPERM8 => Inst {
opcode: 0x33,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x280,
funct7: 0x14,
},
Opcode::ZEXTB => Inst {
opcode: 0x13,
funct3: 0x7,
rs1: 0x0,
rs2: 0x0,
csr: 0x0,
funct7: 0x0,
},
Opcode::ZEXTH => Inst {
opcode: 0x3b,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x80,
funct7: 0x4,
},
Opcode::ZEXTHRV32 => Inst {
opcode: 0x33,
funct3: 0x4,
rs1: 0x0,
rs2: 0x0,
csr: 0x80,
funct7: 0x4,
},
Opcode::ZEXTW => Inst {
opcode: 0x3b,
funct3: 0x0,
rs1: 0x0,
rs2: 0x0,
csr: 0x80,
funct7: 0x4,
},
Opcode::ZIP => Inst {
opcode: 0x13,
funct3: 0x1,
rs1: 0x0,
rs2: 0xf,
csr: 0x8f,
funct7: 0x4,
},
}
}
}
#[derive(Copy, Clone, PartialEq, Eq, Debug, Hash)]
pub enum Encoding {
Bimm12HiRs1Bimm12lo,
Bimm12HiRs1Rs2Bimm12lo,
Bimm12HiRs2Bimm12lo,
Bimm12HiRs2Rs1Bimm12lo,
CImm12,
CIndex,
CMopT,
CNzimm10hiCNzimm10lo,
CNzimm6hiCNzimm6lo,
CRlistCSpimm,
CRs1N0,
CRs2CUimm8spS,
CRs2CUimm9spS,
CSreg1CSreg2,
CsrZimm,
Empty,
FmPredSuccRs1Rd,
Imm12HiRs1Rs2Imm12lo,
Imm12Rs1Rd,
Jimm20,
MopRT30MopRT2726MopRT2120RdRs1,
MopRrT30MopRrT2726RdRs1Rs2,
NfVmRs1Vd,
NfVmRs1Vs3,
NfVmRs2Rs1Vd,
NfVmRs2Rs1Vs3,
NfVmVs2Rs1Vd,
NfVmVs2Rs1Vs3,
Rd,
RdCUimm8sphiCUimm8splo,
RdCUimm9sphiCUimm9splo,
RdCsr,
RdCsrZimm,
RdImm20,
RdJimm20,
RdN0CImm6loCImm6hi,
RdN0CRs2N0,
RdN0CUimm8sphiCUimm8splo,
RdN0CUimm9sphiCUimm9splo,
RdN2CNzimm18hiCNzimm18lo,
RdPCNzuimm10,
RdPRs1PCUimm1,
RdPRs1PCUimm2,
RdPRs1PCUimm7loCUimm7hi,
RdPRs1PCUimm8loCUimm8hi,
RdRs1,
RdRs1AqRl,
RdRs1Csr,
RdRs1Imm12,
RdRs1N0,
RdRs1N0CImm6loCImm6hi,
RdRs1N0CNzimm6loCNzimm6hi,
RdRs1N0CNzuimm6hiCNzuimm6lo,
RdRs1N0CNzuimm6lo,
RdRs1N0CRs2N0,
RdRs1P,
RdRs1PCImm6hiCImm6lo,
RdRs1PCNzuimm5,
RdRs1PCNzuimm6loCNzuimm6hi,
RdRs1PRs2P,
RdRs1Rm,
RdRs1Rnum,
RdRs1Rs2,
RdRs1Rs2AqRl,
RdRs1Rs2Bs,
RdRs1Rs2EqRs1,
RdRs1Rs2Rm,
RdRs1Rs2Rs3Rm,
RdRs1Shamtd,
RdRs1Shamtw,
RdRs2,
RdZimm,
Rs1,
Rs1Csr,
Rs1Imm12hi,
Rs1N0,
Rs1PCBimm9loCBimm9hi,
Rs1PRs2PCUimm7loCUimm7hi,
Rs1PRs2PCUimm8hiCUimm8lo,
Rs1PRs2PCUimm8loCUimm8hi,
Rs1Rd,
Rs1Rs2,
Rs1Vd,
Rs1Vs3,
Rs2PRs1PCUimm1,
Rs2PRs1PCUimm2,
Rs2Rs1Rd,
Simm5Vd,
VmVd,
VmVs2Rd,
VmVs2Rs1Vd,
VmVs2Simm5Vd,
VmVs2Vd,
VmVs2Vs1Vd,
VmVs2Zimm5Vd,
Vs1Vd,
Vs2Rd,
Vs2Rs1Vd,
Vs2Simm5Vd,
Vs2Vd,
Vs2Vs1Vd,
Vs2Zimm5Vd,
Zimm10ZimmRd,
Zimm11Rs1Rd,
Zimm6HiVmVs2Zimm6loVd,
}
impl Opcode {
pub fn encoding(self) -> Encoding {
use Opcode::*;
match self {
Opcode::Invalid => unreachable!(),
BEQZ | BGEZ | BLTZ | BNEZ => Encoding::Bimm12HiRs1Bimm12lo,
BEQ | BGE | BGEU | BLT | BLTU | BNE => Encoding::Bimm12HiRs1Rs2Bimm12lo,
BGTZ | BLEZ => Encoding::Bimm12HiRs2Bimm12lo,
BGT | BGTU | BLE | BLEU => Encoding::Bimm12HiRs2Rs1Bimm12lo,
CJ | CJAL => Encoding::CImm12,
CMJALT => Encoding::CIndex,
CMOPN => Encoding::CMopT,
CADDI16SP => Encoding::CNzimm10hiCNzimm10lo,
CNOP => Encoding::CNzimm6hiCNzimm6lo,
CMPOP | CMPOPRET | CMPOPRETZ | CMPUSH => Encoding::CRlistCSpimm,
CJALR => Encoding::CRs1N0,
CFSWSP | CSWSP => Encoding::CRs2CUimm8spS,
CFSDSP | CSDSP => Encoding::CRs2CUimm9spS,
CMMVA01S | CMMVSA01 => Encoding::CSreg1CSreg2,
CSRCI | CSRSI | CSRWI => Encoding::CsrZimm,
CEBREAK | CMOP1 | CMOP11 | CMOP13 | CMOP15 | CMOP3 | CMOP5 | CMOP7 | CMOP9
| CNTLALL | CNTLP1 | CNTLPALL | CNTLS1 | DRET | EBREAK | ECALL | MRET | NOP
| NTLALL | NTLP1 | NTLPALL | NTLS1 | PAUSE | RET | SBREAK | SCALL | SFENCEINVALIR
| SFENCEWINVAL | SRET | WFI | WRSNTO | WRSSTO => Encoding::Empty,
FENCE => Encoding::FmPredSuccRs1Rd,
FSD | FSH | FSQ | FSW | SB | SD | SH | SW => Encoding::Imm12HiRs1Rs2Imm12lo,
FENCEI => Encoding::Imm12Rs1Rd,
J | JALPSEUDO => Encoding::Jimm20,
MOPRN => Encoding::MopRT30MopRT2726MopRT2120RdRs1,
MOPRRN => Encoding::MopRrT30MopRrT2726RdRs1Rs2,
VLE16V | VLE16FFV | VLE32V | VLE32FFV | VLE64V | VLE64FFV | VLE8V | VLE8FFV => {
Encoding::NfVmRs1Vd
}
VSE16V | VSE32V | VSE64V | VSE8V => Encoding::NfVmRs1Vs3,
VLSE16V | VLSE32V | VLSE64V | VLSE8V => Encoding::NfVmRs2Rs1Vd,
VSSE16V | VSSE32V | VSSE64V | VSSE8V => Encoding::NfVmRs2Rs1Vs3,
VLOXEI16V | VLOXEI32V | VLOXEI64V | VLOXEI8V | VLUXEI16V | VLUXEI32V | VLUXEI64V
| VLUXEI8V => Encoding::NfVmVs2Rs1Vd,
VSOXEI16V | VSOXEI32V | VSOXEI64V | VSOXEI8V | VSUXEI16V | VSUXEI32V | VSUXEI64V
| VSUXEI8V => Encoding::NfVmVs2Rs1Vs3,
FRCSR | FRFLAGS | FRRM | RDCYCLE | RDCYCLEH | RDINSTRET | RDINSTRETH | RDTIME
| RDTIMEH => Encoding::Rd,
CFLWSP => Encoding::RdCUimm8sphiCUimm8splo,
CFLDSP => Encoding::RdCUimm9sphiCUimm9splo,
CSRR => Encoding::RdCsr,
CSRRCI | CSRRSI | CSRRWI => Encoding::RdCsrZimm,
AUIPC | LUI => Encoding::RdImm20,
JAL => Encoding::RdJimm20,
CLI => Encoding::RdN0CImm6loCImm6hi,
CMV => Encoding::RdN0CRs2N0,
CLWSP => Encoding::RdN0CUimm8sphiCUimm8splo,
CLDSP => Encoding::RdN0CUimm9sphiCUimm9splo,
CLUI => Encoding::RdN2CNzimm18hiCNzimm18lo,
CADDI4SPN => Encoding::RdPCNzuimm10,
CLH | CLHU => Encoding::RdPRs1PCUimm1,
CLBU => Encoding::RdPRs1PCUimm2,
CFLW | CLW => Encoding::RdPRs1PCUimm7loCUimm7hi,
CFLD | CLD => Encoding::RdPRs1PCUimm8loCUimm8hi,
AES64IM | BREV8 | CLZ | CLZW | CPOP | CPOPW | CTZ | CTZW | FCLASSD | FCLASSH
| FCLASSQ | FCLASSS | FCVTMODWD | FLID | FLIH | FLIQ | FLIS | FMVDX | FMVHX | FMVSX
| FMVWX | FMVXD | FMVXH | FMVXS | FMVXW | FMVHXD | FMVHXQ | FSCSR | FSFLAGS | FSRM
| HLVB | HLVBU | HLVD | HLVH | HLVHU | HLVW | HLVWU | HLVXHU | HLVXWU | MOPR0
| MOPR1 | MOPR10 | MOPR11 | MOPR12 | MOPR13 | MOPR14 | MOPR15 | MOPR16 | MOPR17
| MOPR18 | MOPR19 | MOPR2 | MOPR20 | MOPR21 | MOPR22 | MOPR23 | MOPR24 | MOPR25
| MOPR26 | MOPR27 | MOPR28 | MOPR29 | MOPR3 | MOPR30 | MOPR31 | MOPR4 | MOPR5
| MOPR6 | MOPR7 | MOPR8 | MOPR9 | MV | NEG | ORCB | REV8 | REV8RV32 | SEQZ | SEXTB
| SEXTH | SEXTW | SHA256SIG0 | SHA256SIG1 | SHA256SUM0 | SHA256SUM1 | SHA512SIG0
| SHA512SIG1 | SHA512SUM0 | SHA512SUM1 | SLTZ | SM3P0 | SM3P1 | UNZIP | ZEXTB
| ZEXTH | ZEXTHRV32 | ZEXTW | ZIP => Encoding::RdRs1,
LRD | LRW => Encoding::RdRs1AqRl,
CSRRC | CSRRS | CSRRW => Encoding::RdRs1Csr,
ADDI | ADDIW | ANDI | FLD | FLH | FLQ | FLW | JALR | LB | LBU | LD | LH | LHU | LW
| LWU | ORI | SLTI | SLTIU | XORI => Encoding::RdRs1Imm12,
CSEXTW => Encoding::RdRs1N0,
CADDIW => Encoding::RdRs1N0CImm6loCImm6hi,
CADDI => Encoding::RdRs1N0CNzimm6loCNzimm6hi,
CSLLI => Encoding::RdRs1N0CNzuimm6hiCNzuimm6lo,
CSLLIRV32 => Encoding::RdRs1N0CNzuimm6lo,
CADD => Encoding::RdRs1N0CRs2N0,
CNOT | CSEXTB | CSEXTH | CZEXTB | CZEXTH | CZEXTW => Encoding::RdRs1P,
CANDI => Encoding::RdRs1PCImm6hiCImm6lo,
CSRAIRV32 | CSRLIRV32 => Encoding::RdRs1PCNzuimm5,
CSRAI | CSRLI => Encoding::RdRs1PCNzuimm6loCNzuimm6hi,
CADDW | CAND | CMUL | COR | CSUB | CSUBW | CXOR => Encoding::RdRs1PRs2P,
FCVTDH | FCVTDL | FCVTDLU | FCVTDQ | FCVTDS | FCVTDW | FCVTDWU | FCVTHD | FCVTHL
| FCVTHLU | FCVTHQ | FCVTHS | FCVTHW | FCVTHWU | FCVTLD | FCVTLH | FCVTLQ | FCVTLS
| FCVTLUD | FCVTLUH | FCVTLUQ | FCVTLUS | FCVTQD | FCVTQH | FCVTQL | FCVTQLU
| FCVTQS | FCVTQW | FCVTQWU | FCVTSD | FCVTSH | FCVTSL | FCVTSLU | FCVTSQ | FCVTSW
| FCVTSWU | FCVTWD | FCVTWH | FCVTWQ | FCVTWS | FCVTWUD | FCVTWUH | FCVTWUQ
| FCVTWUS | FROUNDD | FROUNDH | FROUNDQ | FROUNDS | FROUNDNXD | FROUNDNXH
| FROUNDNXQ | FROUNDNXS | FSQRTD | FSQRTH | FSQRTQ | FSQRTS => Encoding::RdRs1Rm,
AES64KS1I => Encoding::RdRs1Rnum,
ADD | ADDUW | ADDW | AES64DS | AES64DSM | AES64ES | AES64ESM | AES64KS2 | AND
| ANDN | BCLR | BEXT | BINV | BSET | CLMUL | CLMULH | CLMULR | CZEROEQZ | CZERONEZ
| DIV | DIVU | DIVUW | DIVW | FEQD | FEQH | FEQQ | FEQS | FLED | FLEH | FLEQ | FLES
| FLEQD | FLEQH | FLEQQ | FLEQS | FLTD | FLTH | FLTQ | FLTS | FLTQD | FLTQH | FLTQQ
| FLTQS | FMAXD | FMAXH | FMAXQ | FMAXS | FMAXMD | FMAXMH | FMAXMQ | FMAXMS | FMIND
| FMINH | FMINQ | FMINS | FMINMD | FMINMH | FMINMQ | FMINMS | FMVPDX | FMVPQX
| FSGNJD | FSGNJH | FSGNJQ | FSGNJS | FSGNJND | FSGNJNH | FSGNJNQ | FSGNJNS
| FSGNJXD | FSGNJXH | FSGNJXQ | FSGNJXS | MAX | MAXU | MIN | MINU | MOPRR0 | MOPRR1
| MOPRR2 | MOPRR3 | MOPRR4 | MOPRR5 | MOPRR6 | MOPRR7 | MUL | MULH | MULHSU | MULHU
| MULW | OR | ORN | PACK | PACKH | PACKW | REM | REMU | REMUW | REMW | ROL | ROLW
| ROR | RORW | SH1ADD | SH1ADDUW | SH2ADD | SH2ADDUW | SH3ADD | SH3ADDUW
| SHA512SIG0H | SHA512SIG0L | SHA512SIG1H | SHA512SIG1L | SHA512SUM0R | SHA512SUM1R
| SLL | SLLW | SLT | SLTU | SRA | SRAW | SRL | SRLW | SUB | SUBW | XNOR | XOR
| XPERM4 | XPERM8 => Encoding::RdRs1Rs2,
AMOADDB | AMOADDD | AMOADDH | AMOADDW | AMOANDB | AMOANDD | AMOANDH | AMOANDW
| AMOCASB | AMOCASD | AMOCASH | AMOCASQ | AMOCASW | AMOMAXB | AMOMAXD | AMOMAXH
| AMOMAXW | AMOMAXUB | AMOMAXUD | AMOMAXUH | AMOMAXUW | AMOMINB | AMOMIND | AMOMINH
| AMOMINW | AMOMINUB | AMOMINUD | AMOMINUH | AMOMINUW | AMOORB | AMOORD | AMOORH
| AMOORW | AMOSWAPB | AMOSWAPD | AMOSWAPH | AMOSWAPW | AMOXORB | AMOXORD | AMOXORH
| AMOXORW | SCD | SCW => Encoding::RdRs1Rs2AqRl,
AES32DSI | AES32DSMI | AES32ESI | AES32ESMI | SM4ED | SM4KS => Encoding::RdRs1Rs2Bs,
FABSD | FABSH | FABSQ | FABSS | FMVD | FMVH | FMVQ | FMVS | FNEGD | FNEGH | FNEGQ
| FNEGS => Encoding::RdRs1Rs2EqRs1,
FADDD | FADDH | FADDQ | FADDS | FDIVD | FDIVH | FDIVQ | FDIVS | FMULD | FMULH
| FMULQ | FMULS | FSUBD | FSUBH | FSUBQ | FSUBS => Encoding::RdRs1Rs2Rm,
FMADDD | FMADDH | FMADDQ | FMADDS | FMSUBD | FMSUBH | FMSUBQ | FMSUBS | FNMADDD
| FNMADDH | FNMADDQ | FNMADDS | FNMSUBD | FNMSUBH | FNMSUBQ | FNMSUBS => {
Encoding::RdRs1Rs2Rs3Rm
}
BCLRI | BEXTI | BINVI | BSETI | RORI | SLLI | SLLIUW | SRAI | SRLI => {
Encoding::RdRs1Shamtd
}
BCLRIRV32 | BEXTIRV32 | BINVIRV32 | BSETIRV32 | RORIRV32 | RORIW | SLLIRV32 | SLLIW
| SRAIRV32 | SRAIW | SRLIRV32 | SRLIW => Encoding::RdRs1Shamtw,
SGTZ | SNEZ => Encoding::RdRs2,
FSFLAGSI | FSRMI => Encoding::RdZimm,
CBOCLEAN | CBOFLUSH | CBOINVAL | CBOZERO | JALRPSEUDO | JR => Encoding::Rs1,
CSRC | CSRS | CSRW => Encoding::Rs1Csr,
PREFETCHI | PREFETCHR | PREFETCHW => Encoding::Rs1Imm12hi,
CJR => Encoding::Rs1N0,
CBEQZ | CBNEZ => Encoding::Rs1PCBimm9loCBimm9hi,
CFSW | CSW => Encoding::Rs1PRs2PCUimm7loCUimm7hi,
CSD => Encoding::Rs1PRs2PCUimm8hiCUimm8lo,
CFSD => Encoding::Rs1PRs2PCUimm8loCUimm8hi,
FENCETSO => Encoding::Rs1Rd,
HFENCEGVMA | HFENCEVVMA | HINVALGVMA | HINVALVVMA | HSVB | HSVD | HSVH | HSVW
| SFENCEVMA | SINVALVMA => Encoding::Rs1Rs2,
VFMVSF | VFMVVF | VL1RV | VL1RE16V | VL1RE32V | VL1RE64V | VL1RE8V | VL2RV
| VL2RE16V | VL2RE32V | VL2RE64V | VL2RE8V | VL4RV | VL4RE16V | VL4RE32V | VL4RE64V
| VL4RE8V | VL8RV | VL8RE16V | VL8RE32V | VL8RE64V | VL8RE8V | VLE1V | VLMV | VMVSX
| VMVVX => Encoding::Rs1Vd,
VS1RV | VS2RV | VS4RV | VS8RV | VSE1V | VSMV => Encoding::Rs1Vs3,
CSH => Encoding::Rs2PRs1PCUimm1,
CSB => Encoding::Rs2PRs1PCUimm2,
VSETVL => Encoding::Rs2Rs1Rd,
VMVVI => Encoding::Simm5Vd,
VIDV => Encoding::VmVd,
VCPOPM | VFIRSTM | VPOPCM => Encoding::VmVs2Rd,
VAADDVX | VAADDUVX | VADDVX | VANDVX | VANDNVX | VASUBVX | VASUBUVX | VCLMULVX
| VCLMULHVX | VDIVVX | VDIVUVX | VFADDVF | VFDIVVF | VFMACCVF | VFMADDVF | VFMAXVF
| VFMINVF | VFMSACVF | VFMSUBVF | VFMULVF | VFNMACCVF | VFNMADDVF | VFNMSACVF
| VFNMSUBVF | VFRDIVVF | VFRSUBVF | VFSGNJVF | VFSGNJNVF | VFSGNJXVF
| VFSLIDE1DOWNVF | VFSLIDE1UPVF | VFSUBVF | VFWADDVF | VFWADDWF | VFWMACCVF
| VFWMSACVF | VFWMULVF | VFWNMACCVF | VFWNMSACVF | VFWSUBVF | VFWSUBWF | VMACCVX
| VMADDVX | VMAXVX | VMAXUVX | VMFEQVF | VMFGEVF | VMFGTVF | VMFLEVF | VMFLTVF
| VMFNEVF | VMINVX | VMINUVX | VMSEQVX | VMSGTVX | VMSGTUVX | VMSLEVX | VMSLEUVX
| VMSLTVX | VMSLTUVX | VMSNEVX | VMULVX | VMULHVX | VMULHSUVX | VMULHUVX | VNCLIPWX
| VNCLIPUWX | VNMSACVX | VNMSUBVX | VNSRAWX | VNSRLWX | VORVX | VREMVX | VREMUVX
| VRGATHERVX | VROLVX | VRORVX | VRSUBVX | VSADDVX | VSADDUVX | VSLIDE1DOWNVX
| VSLIDE1UPVX | VSLIDEDOWNVX | VSLIDEUPVX | VSLLVX | VSMULVX | VSRAVX | VSRLVX
| VSSRAVX | VSSRLVX | VSSUBVX | VSSUBUVX | VSUBVX | VWADDVX | VWADDWX | VWADDUVX
| VWADDUWX | VWMACCVX | VWMACCSUVX | VWMACCUVX | VWMACCUSVX | VWMULVX | VWMULSUVX
| VWMULUVX | VWSLLVX | VWSUBVX | VWSUBWX | VWSUBUVX | VWSUBUWX | VXORVX => {
Encoding::VmVs2Rs1Vd
}
VADDVI | VANDVI | VMSEQVI | VMSGTVI | VMSGTUVI | VMSLEVI | VMSLEUVI | VMSNEVI
| VNCLIPWI | VNCLIPUWI | VNSRAWI | VNSRLWI | VORVI | VRGATHERVI | VRSUBVI | VSADDVI
| VSADDUVI | VSLIDEDOWNVI | VSLIDEUPVI | VSLLVI | VSRAVI | VSRLVI | VSSRAVI
| VSSRLVI | VXORVI => Encoding::VmVs2Simm5Vd,
VBREV8V | VBREVV | VCLZV | VCPOPV | VCTZV | VFCLASSV | VFCVTFXV | VFCVTFXUV
| VFCVTRTZXFV | VFCVTRTZXUFV | VFCVTXFV | VFCVTXUFV | VFNCVTFFW | VFNCVTFXW
| VFNCVTFXUW | VFNCVTRODFFW | VFNCVTRTZXFW | VFNCVTRTZXUFW | VFNCVTXFW | VFNCVTXUFW
| VFREC7V | VFRSQRT7V | VFSQRTV | VFWCVTFFV | VFWCVTFXV | VFWCVTFXUV | VFWCVTRTZXFV
| VFWCVTRTZXUFV | VFWCVTXFV | VFWCVTXUFV | VIOTAM | VMSBFM | VMSIFM | VMSOFM
| VREV8V | VSEXTVF2 | VSEXTVF4 | VSEXTVF8 | VZEXTVF2 | VZEXTVF4 | VZEXTVF8 => {
Encoding::VmVs2Vd
}
VAADDVV | VAADDUVV | VADDVV | VANDVV | VANDNVV | VASUBVV | VASUBUVV | VCLMULVV
| VCLMULHVV | VDIVVV | VDIVUVV | VFADDVV | VFDIVVV | VFMACCVV | VFMADDVV | VFMAXVV
| VFMINVV | VFMSACVV | VFMSUBVV | VFMULVV | VFNMACCVV | VFNMADDVV | VFNMSACVV
| VFNMSUBVV | VFREDMAXVS | VFREDMINVS | VFREDOSUMVS | VFREDSUMVS | VFREDUSUMVS
| VFSGNJVV | VFSGNJNVV | VFSGNJXVV | VFSUBVV | VFWADDVV | VFWADDWV | VFWMACCVV
| VFWMSACVV | VFWMULVV | VFWNMACCVV | VFWNMSACVV | VFWREDOSUMVS | VFWREDSUMVS
| VFWREDUSUMVS | VFWSUBVV | VFWSUBWV | VMACCVV | VMADDVV | VMANDNOTMM | VMAXVV
| VMAXUVV | VMFEQVV | VMFLEVV | VMFLTVV | VMFNEVV | VMINVV | VMINUVV | VMORNOTMM
| VMSEQVV | VMSLEVV | VMSLEUVV | VMSLTVV | VMSLTUVV | VMSNEVV | VMULVV | VMULHVV
| VMULHSUVV | VMULHUVV | VNCLIPWV | VNCLIPUWV | VNMSACVV | VNMSUBVV | VNSRAWV
| VNSRLWV | VORVV | VREDANDVS | VREDMAXVS | VREDMAXUVS | VREDMINVS | VREDMINUVS
| VREDORVS | VREDSUMVS | VREDXORVS | VREMVV | VREMUVV | VRGATHERVV | VRGATHEREI16VV
| VROLVV | VRORVV | VSADDVV | VSADDUVV | VSLLVV | VSMULVV | VSRAVV | VSRLVV
| VSSRAVV | VSSRLVV | VSSUBVV | VSSUBUVV | VSUBVV | VWADDVV | VWADDWV | VWADDUVV
| VWADDUWV | VWMACCVV | VWMACCSUVV | VWMACCUVV | VWMULVV | VWMULSUVV | VWMULUVV
| VWREDSUMVS | VWREDSUMUVS | VWSLLVV | VWSUBVV | VWSUBWV | VWSUBUVV | VWSUBUWV
| VXORVV => Encoding::VmVs2Vs1Vd,
VWSLLVI => Encoding::VmVs2Zimm5Vd,
VMVVV => Encoding::Vs1Vd,
VFMVFS | VMVXS => Encoding::Vs2Rd,
VADCVXM | VFMERGEVFM | VMADCVX | VMADCVXM | VMERGEVXM | VMSBCVX | VMSBCVXM
| VSBCVXM => Encoding::Vs2Rs1Vd,
VADCVIM | VMADCVI | VMADCVIM | VMERGEVIM => Encoding::Vs2Simm5Vd,
VAESDFVS | VAESDFVV | VAESDMVS | VAESDMVV | VAESEFVS | VAESEFVV | VAESEMVS
| VAESEMVV | VAESZVS | VGMULVV | VMV1RV | VMV2RV | VMV4RV | VMV8RV | VSM4RVS
| VSM4RVV => Encoding::Vs2Vd,
VADCVVM | VCOMPRESSVM | VGHSHVV | VMADCVV | VMADCVVM | VMANDMM | VMANDNMM
| VMERGEVVM | VMNANDMM | VMNORMM | VMORMM | VMORNMM | VMSBCVV | VMSBCVVM | VMXNORMM
| VMXORMM | VSBCVVM | VSHA2CHVV | VSHA2CLVV | VSHA2MSVV | VSM3MEVV => {
Encoding::Vs2Vs1Vd
}
VAESKF1VI | VAESKF2VI | VSM3CVI | VSM4KVI => Encoding::Vs2Zimm5Vd,
VSETIVLI => Encoding::Zimm10ZimmRd,
VSETVLI => Encoding::Zimm11Rs1Rd,
VRORVI => Encoding::Zimm6HiVmVs2Zimm6loVd,
}
}
}
pub const INSN_FIELD_RD: u32 = 0xf80;
pub const INSN_FIELD_RD_START: u32 = 7;
pub const INSN_FIELD_RD_SIZE: u32 = 5;
pub const INSN_FIELD_RT: u32 = 0xf8000;
pub const INSN_FIELD_RT_START: u32 = 15;
pub const INSN_FIELD_RT_SIZE: u32 = 5;
pub const INSN_FIELD_RS1: u32 = 0xf8000;
pub const INSN_FIELD_RS1_START: u32 = 15;
pub const INSN_FIELD_RS1_SIZE: u32 = 5;
pub const INSN_FIELD_RS2: u32 = 0x1f00000;
pub const INSN_FIELD_RS2_START: u32 = 20;
pub const INSN_FIELD_RS2_SIZE: u32 = 5;
pub const INSN_FIELD_RS3: u32 = 0xf8000000;
pub const INSN_FIELD_RS3_START: u32 = 27;
pub const INSN_FIELD_RS3_SIZE: u32 = 5;
pub const INSN_FIELD_AQRL: u32 = 0x6000000;
pub const INSN_FIELD_AQRL_START: u32 = 25;
pub const INSN_FIELD_AQRL_SIZE: u32 = 2;
pub const INSN_FIELD_AQ: u32 = 0x4000000;
pub const INSN_FIELD_AQ_START: u32 = 26;
pub const INSN_FIELD_AQ_SIZE: u32 = 1;
pub const INSN_FIELD_RL: u32 = 0x2000000;
pub const INSN_FIELD_RL_START: u32 = 25;
pub const INSN_FIELD_RL_SIZE: u32 = 1;
pub const INSN_FIELD_FM: u32 = 0xf0000000;
pub const INSN_FIELD_FM_START: u32 = 28;
pub const INSN_FIELD_FM_SIZE: u32 = 4;
pub const INSN_FIELD_PRED: u32 = 0xf000000;
pub const INSN_FIELD_PRED_START: u32 = 24;
pub const INSN_FIELD_PRED_SIZE: u32 = 4;
pub const INSN_FIELD_SUCC: u32 = 0xf00000;
pub const INSN_FIELD_SUCC_START: u32 = 20;
pub const INSN_FIELD_SUCC_SIZE: u32 = 4;
pub const INSN_FIELD_RM: u32 = 0x7000;
pub const INSN_FIELD_RM_START: u32 = 12;
pub const INSN_FIELD_RM_SIZE: u32 = 3;
pub const INSN_FIELD_FUNCT3: u32 = 0x7000;
pub const INSN_FIELD_FUNCT3_START: u32 = 12;
pub const INSN_FIELD_FUNCT3_SIZE: u32 = 3;
pub const INSN_FIELD_FUNCT2: u32 = 0x6000000;
pub const INSN_FIELD_FUNCT2_START: u32 = 25;
pub const INSN_FIELD_FUNCT2_SIZE: u32 = 2;
pub const INSN_FIELD_IMM20: u32 = 0xfffff000;
pub const INSN_FIELD_IMM20_START: u32 = 12;
pub const INSN_FIELD_IMM20_SIZE: u32 = 20;
pub const INSN_FIELD_JIMM20: u32 = 0xfffff000;
pub const INSN_FIELD_JIMM20_START: u32 = 12;
pub const INSN_FIELD_JIMM20_SIZE: u32 = 20;
pub const INSN_FIELD_IMM12: u32 = 0xfff00000;
pub const INSN_FIELD_IMM12_START: u32 = 20;
pub const INSN_FIELD_IMM12_SIZE: u32 = 12;
pub const INSN_FIELD_CSR: u32 = 0xfff00000;
pub const INSN_FIELD_CSR_START: u32 = 20;
pub const INSN_FIELD_CSR_SIZE: u32 = 12;
pub const INSN_FIELD_IMM12HI: u32 = 0xfe000000;
pub const INSN_FIELD_IMM12HI_START: u32 = 25;
pub const INSN_FIELD_IMM12HI_SIZE: u32 = 7;
pub const INSN_FIELD_BIMM12HI: u32 = 0xfe000000;
pub const INSN_FIELD_BIMM12HI_START: u32 = 25;
pub const INSN_FIELD_BIMM12HI_SIZE: u32 = 7;
pub const INSN_FIELD_IMM12LO: u32 = 0xf80;
pub const INSN_FIELD_IMM12LO_START: u32 = 7;
pub const INSN_FIELD_IMM12LO_SIZE: u32 = 5;
pub const INSN_FIELD_BIMM12LO: u32 = 0xf80;
pub const INSN_FIELD_BIMM12LO_START: u32 = 7;
pub const INSN_FIELD_BIMM12LO_SIZE: u32 = 5;
pub const INSN_FIELD_SHAMTQ: u32 = 0x7f00000;
pub const INSN_FIELD_SHAMTQ_START: u32 = 20;
pub const INSN_FIELD_SHAMTQ_SIZE: u32 = 7;
pub const INSN_FIELD_SHAMTW: u32 = 0x1f00000;
pub const INSN_FIELD_SHAMTW_START: u32 = 20;
pub const INSN_FIELD_SHAMTW_SIZE: u32 = 5;
pub const INSN_FIELD_SHAMTW4: u32 = 0xf00000;
pub const INSN_FIELD_SHAMTW4_START: u32 = 20;
pub const INSN_FIELD_SHAMTW4_SIZE: u32 = 4;
pub const INSN_FIELD_SHAMTD: u32 = 0x3f00000;
pub const INSN_FIELD_SHAMTD_START: u32 = 20;
pub const INSN_FIELD_SHAMTD_SIZE: u32 = 6;
pub const INSN_FIELD_BS: u32 = 0xc0000000;
pub const INSN_FIELD_BS_START: u32 = 30;
pub const INSN_FIELD_BS_SIZE: u32 = 2;
pub const INSN_FIELD_RNUM: u32 = 0xf00000;
pub const INSN_FIELD_RNUM_START: u32 = 20;
pub const INSN_FIELD_RNUM_SIZE: u32 = 4;
pub const INSN_FIELD_RC: u32 = 0x3e000000;
pub const INSN_FIELD_RC_START: u32 = 25;
pub const INSN_FIELD_RC_SIZE: u32 = 5;
pub const INSN_FIELD_IMM2: u32 = 0x300000;
pub const INSN_FIELD_IMM2_START: u32 = 20;
pub const INSN_FIELD_IMM2_SIZE: u32 = 2;
pub const INSN_FIELD_IMM3: u32 = 0x700000;
pub const INSN_FIELD_IMM3_START: u32 = 20;
pub const INSN_FIELD_IMM3_SIZE: u32 = 3;
pub const INSN_FIELD_IMM4: u32 = 0xf00000;
pub const INSN_FIELD_IMM4_START: u32 = 20;
pub const INSN_FIELD_IMM4_SIZE: u32 = 4;
pub const INSN_FIELD_IMM5: u32 = 0x1f00000;
pub const INSN_FIELD_IMM5_START: u32 = 20;
pub const INSN_FIELD_IMM5_SIZE: u32 = 5;
pub const INSN_FIELD_IMM6: u32 = 0x3f00000;
pub const INSN_FIELD_IMM6_START: u32 = 20;
pub const INSN_FIELD_IMM6_SIZE: u32 = 6;
pub const INSN_FIELD_ZIMM: u32 = 0xf8000;
pub const INSN_FIELD_ZIMM_START: u32 = 15;
pub const INSN_FIELD_ZIMM_SIZE: u32 = 5;
pub const INSN_FIELD_OPCODE: u32 = 0x7f;
pub const INSN_FIELD_OPCODE_START: u32 = 0;
pub const INSN_FIELD_OPCODE_SIZE: u32 = 7;
pub const INSN_FIELD_FUNCT7: u32 = 0xfe000000;
pub const INSN_FIELD_FUNCT7_START: u32 = 25;
pub const INSN_FIELD_FUNCT7_SIZE: u32 = 7;
pub const INSN_FIELD_VD: u32 = 0xf80;
pub const INSN_FIELD_VD_START: u32 = 7;
pub const INSN_FIELD_VD_SIZE: u32 = 5;
pub const INSN_FIELD_VS3: u32 = 0xf80;
pub const INSN_FIELD_VS3_START: u32 = 7;
pub const INSN_FIELD_VS3_SIZE: u32 = 5;
pub const INSN_FIELD_VS1: u32 = 0xf8000;
pub const INSN_FIELD_VS1_START: u32 = 15;
pub const INSN_FIELD_VS1_SIZE: u32 = 5;
pub const INSN_FIELD_VS2: u32 = 0x1f00000;
pub const INSN_FIELD_VS2_START: u32 = 20;
pub const INSN_FIELD_VS2_SIZE: u32 = 5;
pub const INSN_FIELD_VM: u32 = 0x2000000;
pub const INSN_FIELD_VM_START: u32 = 25;
pub const INSN_FIELD_VM_SIZE: u32 = 1;
pub const INSN_FIELD_WD: u32 = 0x4000000;
pub const INSN_FIELD_WD_START: u32 = 26;
pub const INSN_FIELD_WD_SIZE: u32 = 1;
pub const INSN_FIELD_AMOOP: u32 = 0xf8000000;
pub const INSN_FIELD_AMOOP_START: u32 = 27;
pub const INSN_FIELD_AMOOP_SIZE: u32 = 5;
pub const INSN_FIELD_NF: u32 = 0xe0000000;
pub const INSN_FIELD_NF_START: u32 = 29;
pub const INSN_FIELD_NF_SIZE: u32 = 3;
pub const INSN_FIELD_SIMM5: u32 = 0xf8000;
pub const INSN_FIELD_SIMM5_START: u32 = 15;
pub const INSN_FIELD_SIMM5_SIZE: u32 = 5;
pub const INSN_FIELD_ZIMM5: u32 = 0xf8000;
pub const INSN_FIELD_ZIMM5_START: u32 = 15;
pub const INSN_FIELD_ZIMM5_SIZE: u32 = 5;
pub const INSN_FIELD_ZIMM10: u32 = 0x3ff00000;
pub const INSN_FIELD_ZIMM10_START: u32 = 20;
pub const INSN_FIELD_ZIMM10_SIZE: u32 = 10;
pub const INSN_FIELD_ZIMM11: u32 = 0x7ff00000;
pub const INSN_FIELD_ZIMM11_START: u32 = 20;
pub const INSN_FIELD_ZIMM11_SIZE: u32 = 11;
pub const INSN_FIELD_ZIMM6HI: u32 = 0x4000000;
pub const INSN_FIELD_ZIMM6HI_START: u32 = 26;
pub const INSN_FIELD_ZIMM6HI_SIZE: u32 = 1;
pub const INSN_FIELD_ZIMM6LO: u32 = 0xf8000;
pub const INSN_FIELD_ZIMM6LO_START: u32 = 15;
pub const INSN_FIELD_ZIMM6LO_SIZE: u32 = 5;
pub const INSN_FIELD_C_NZUIMM10: u32 = 0x1fe0;
pub const INSN_FIELD_C_NZUIMM10_START: u32 = 5;
pub const INSN_FIELD_C_NZUIMM10_SIZE: u32 = 8;
pub const INSN_FIELD_C_UIMM7LO: u32 = 0x60;
pub const INSN_FIELD_C_UIMM7LO_START: u32 = 5;
pub const INSN_FIELD_C_UIMM7LO_SIZE: u32 = 2;
pub const INSN_FIELD_C_UIMM7HI: u32 = 0x1c00;
pub const INSN_FIELD_C_UIMM7HI_START: u32 = 10;
pub const INSN_FIELD_C_UIMM7HI_SIZE: u32 = 3;
pub const INSN_FIELD_C_UIMM8LO: u32 = 0x60;
pub const INSN_FIELD_C_UIMM8LO_START: u32 = 5;
pub const INSN_FIELD_C_UIMM8LO_SIZE: u32 = 2;
pub const INSN_FIELD_C_UIMM8HI: u32 = 0x1c00;
pub const INSN_FIELD_C_UIMM8HI_START: u32 = 10;
pub const INSN_FIELD_C_UIMM8HI_SIZE: u32 = 3;
pub const INSN_FIELD_C_UIMM9LO: u32 = 0x60;
pub const INSN_FIELD_C_UIMM9LO_START: u32 = 5;
pub const INSN_FIELD_C_UIMM9LO_SIZE: u32 = 2;
pub const INSN_FIELD_C_UIMM9HI: u32 = 0x1c00;
pub const INSN_FIELD_C_UIMM9HI_START: u32 = 10;
pub const INSN_FIELD_C_UIMM9HI_SIZE: u32 = 3;
pub const INSN_FIELD_C_NZIMM6LO: u32 = 0x7c;
pub const INSN_FIELD_C_NZIMM6LO_START: u32 = 2;
pub const INSN_FIELD_C_NZIMM6LO_SIZE: u32 = 5;
pub const INSN_FIELD_C_NZIMM6HI: u32 = 0x1000;
pub const INSN_FIELD_C_NZIMM6HI_START: u32 = 12;
pub const INSN_FIELD_C_NZIMM6HI_SIZE: u32 = 1;
pub const INSN_FIELD_C_IMM6LO: u32 = 0x7c;
pub const INSN_FIELD_C_IMM6LO_START: u32 = 2;
pub const INSN_FIELD_C_IMM6LO_SIZE: u32 = 5;
pub const INSN_FIELD_C_IMM6HI: u32 = 0x1000;
pub const INSN_FIELD_C_IMM6HI_START: u32 = 12;
pub const INSN_FIELD_C_IMM6HI_SIZE: u32 = 1;
pub const INSN_FIELD_C_NZIMM10HI: u32 = 0x1000;
pub const INSN_FIELD_C_NZIMM10HI_START: u32 = 12;
pub const INSN_FIELD_C_NZIMM10HI_SIZE: u32 = 1;
pub const INSN_FIELD_C_NZIMM10LO: u32 = 0x7c;
pub const INSN_FIELD_C_NZIMM10LO_START: u32 = 2;
pub const INSN_FIELD_C_NZIMM10LO_SIZE: u32 = 5;
pub const INSN_FIELD_C_NZIMM18HI: u32 = 0x1000;
pub const INSN_FIELD_C_NZIMM18HI_START: u32 = 12;
pub const INSN_FIELD_C_NZIMM18HI_SIZE: u32 = 1;
pub const INSN_FIELD_C_NZIMM18LO: u32 = 0x7c;
pub const INSN_FIELD_C_NZIMM18LO_START: u32 = 2;
pub const INSN_FIELD_C_NZIMM18LO_SIZE: u32 = 5;
pub const INSN_FIELD_C_IMM12: u32 = 0x1ffc;
pub const INSN_FIELD_C_IMM12_START: u32 = 2;
pub const INSN_FIELD_C_IMM12_SIZE: u32 = 11;
pub const INSN_FIELD_C_BIMM9LO: u32 = 0x7c;
pub const INSN_FIELD_C_BIMM9LO_START: u32 = 2;
pub const INSN_FIELD_C_BIMM9LO_SIZE: u32 = 5;
pub const INSN_FIELD_C_BIMM9HI: u32 = 0x1c00;
pub const INSN_FIELD_C_BIMM9HI_START: u32 = 10;
pub const INSN_FIELD_C_BIMM9HI_SIZE: u32 = 3;
pub const INSN_FIELD_C_NZUIMM5: u32 = 0x7c;
pub const INSN_FIELD_C_NZUIMM5_START: u32 = 2;
pub const INSN_FIELD_C_NZUIMM5_SIZE: u32 = 5;
pub const INSN_FIELD_C_NZUIMM6LO: u32 = 0x7c;
pub const INSN_FIELD_C_NZUIMM6LO_START: u32 = 2;
pub const INSN_FIELD_C_NZUIMM6LO_SIZE: u32 = 5;
pub const INSN_FIELD_C_NZUIMM6HI: u32 = 0x1000;
pub const INSN_FIELD_C_NZUIMM6HI_START: u32 = 12;
pub const INSN_FIELD_C_NZUIMM6HI_SIZE: u32 = 1;
pub const INSN_FIELD_C_UIMM8SPLO: u32 = 0x7c;
pub const INSN_FIELD_C_UIMM8SPLO_START: u32 = 2;
pub const INSN_FIELD_C_UIMM8SPLO_SIZE: u32 = 5;
pub const INSN_FIELD_C_UIMM8SPHI: u32 = 0x1000;
pub const INSN_FIELD_C_UIMM8SPHI_START: u32 = 12;
pub const INSN_FIELD_C_UIMM8SPHI_SIZE: u32 = 1;
pub const INSN_FIELD_C_UIMM8SP_S: u32 = 0x1f80;
pub const INSN_FIELD_C_UIMM8SP_S_START: u32 = 7;
pub const INSN_FIELD_C_UIMM8SP_S_SIZE: u32 = 6;
pub const INSN_FIELD_C_UIMM10SPLO: u32 = 0x7c;
pub const INSN_FIELD_C_UIMM10SPLO_START: u32 = 2;
pub const INSN_FIELD_C_UIMM10SPLO_SIZE: u32 = 5;
pub const INSN_FIELD_C_UIMM10SPHI: u32 = 0x1000;
pub const INSN_FIELD_C_UIMM10SPHI_START: u32 = 12;
pub const INSN_FIELD_C_UIMM10SPHI_SIZE: u32 = 1;
pub const INSN_FIELD_C_UIMM9SPLO: u32 = 0x7c;
pub const INSN_FIELD_C_UIMM9SPLO_START: u32 = 2;
pub const INSN_FIELD_C_UIMM9SPLO_SIZE: u32 = 5;
pub const INSN_FIELD_C_UIMM9SPHI: u32 = 0x1000;
pub const INSN_FIELD_C_UIMM9SPHI_START: u32 = 12;
pub const INSN_FIELD_C_UIMM9SPHI_SIZE: u32 = 1;
pub const INSN_FIELD_C_UIMM10SP_S: u32 = 0x1f80;
pub const INSN_FIELD_C_UIMM10SP_S_START: u32 = 7;
pub const INSN_FIELD_C_UIMM10SP_S_SIZE: u32 = 6;
pub const INSN_FIELD_C_UIMM9SP_S: u32 = 0x1f80;
pub const INSN_FIELD_C_UIMM9SP_S_START: u32 = 7;
pub const INSN_FIELD_C_UIMM9SP_S_SIZE: u32 = 6;
pub const INSN_FIELD_C_UIMM2: u32 = 0x60;
pub const INSN_FIELD_C_UIMM2_START: u32 = 5;
pub const INSN_FIELD_C_UIMM2_SIZE: u32 = 2;
pub const INSN_FIELD_C_UIMM1: u32 = 0x20;
pub const INSN_FIELD_C_UIMM1_START: u32 = 5;
pub const INSN_FIELD_C_UIMM1_SIZE: u32 = 1;
pub const INSN_FIELD_C_RLIST: u32 = 0xf0;
pub const INSN_FIELD_C_RLIST_START: u32 = 4;
pub const INSN_FIELD_C_RLIST_SIZE: u32 = 4;
pub const INSN_FIELD_C_SPIMM: u32 = 0xc;
pub const INSN_FIELD_C_SPIMM_START: u32 = 2;
pub const INSN_FIELD_C_SPIMM_SIZE: u32 = 2;
pub const INSN_FIELD_C_INDEX: u32 = 0x3fc;
pub const INSN_FIELD_C_INDEX_START: u32 = 2;
pub const INSN_FIELD_C_INDEX_SIZE: u32 = 8;
pub const INSN_FIELD_RS1_P: u32 = 0x380;
pub const INSN_FIELD_RS1_P_START: u32 = 7;
pub const INSN_FIELD_RS1_P_SIZE: u32 = 3;
pub const INSN_FIELD_RS2_P: u32 = 0x1c;
pub const INSN_FIELD_RS2_P_START: u32 = 2;
pub const INSN_FIELD_RS2_P_SIZE: u32 = 3;
pub const INSN_FIELD_RD_P: u32 = 0x1c;
pub const INSN_FIELD_RD_P_START: u32 = 2;
pub const INSN_FIELD_RD_P_SIZE: u32 = 3;
pub const INSN_FIELD_RD_RS1_N0: u32 = 0xf80;
pub const INSN_FIELD_RD_RS1_N0_START: u32 = 7;
pub const INSN_FIELD_RD_RS1_N0_SIZE: u32 = 5;
pub const INSN_FIELD_RD_RS1_P: u32 = 0x380;
pub const INSN_FIELD_RD_RS1_P_START: u32 = 7;
pub const INSN_FIELD_RD_RS1_P_SIZE: u32 = 3;
pub const INSN_FIELD_RD_RS1: u32 = 0xf80;
pub const INSN_FIELD_RD_RS1_START: u32 = 7;
pub const INSN_FIELD_RD_RS1_SIZE: u32 = 5;
pub const INSN_FIELD_RD_N2: u32 = 0xf80;
pub const INSN_FIELD_RD_N2_START: u32 = 7;
pub const INSN_FIELD_RD_N2_SIZE: u32 = 5;
pub const INSN_FIELD_RD_N0: u32 = 0xf80;
pub const INSN_FIELD_RD_N0_START: u32 = 7;
pub const INSN_FIELD_RD_N0_SIZE: u32 = 5;
pub const INSN_FIELD_RS1_N0: u32 = 0xf80;
pub const INSN_FIELD_RS1_N0_START: u32 = 7;
pub const INSN_FIELD_RS1_N0_SIZE: u32 = 5;
pub const INSN_FIELD_C_RS2_N0: u32 = 0x7c;
pub const INSN_FIELD_C_RS2_N0_START: u32 = 2;
pub const INSN_FIELD_C_RS2_N0_SIZE: u32 = 5;
pub const INSN_FIELD_C_RS1_N0: u32 = 0xf80;
pub const INSN_FIELD_C_RS1_N0_START: u32 = 7;
pub const INSN_FIELD_C_RS1_N0_SIZE: u32 = 5;
pub const INSN_FIELD_C_RS2: u32 = 0x7c;
pub const INSN_FIELD_C_RS2_START: u32 = 2;
pub const INSN_FIELD_C_RS2_SIZE: u32 = 5;
pub const INSN_FIELD_C_SREG1: u32 = 0x380;
pub const INSN_FIELD_C_SREG1_START: u32 = 7;
pub const INSN_FIELD_C_SREG1_SIZE: u32 = 3;
pub const INSN_FIELD_C_SREG2: u32 = 0x1c;
pub const INSN_FIELD_C_SREG2_START: u32 = 2;
pub const INSN_FIELD_C_SREG2_SIZE: u32 = 3;
pub const INSN_FIELD_MOP_R_T_30: u32 = 0x40000000;
pub const INSN_FIELD_MOP_R_T_30_START: u32 = 30;
pub const INSN_FIELD_MOP_R_T_30_SIZE: u32 = 1;
pub const INSN_FIELD_MOP_R_T_27_26: u32 = 0xc000000;
pub const INSN_FIELD_MOP_R_T_27_26_START: u32 = 26;
pub const INSN_FIELD_MOP_R_T_27_26_SIZE: u32 = 2;
pub const INSN_FIELD_MOP_R_T_21_20: u32 = 0x300000;
pub const INSN_FIELD_MOP_R_T_21_20_START: u32 = 20;
pub const INSN_FIELD_MOP_R_T_21_20_SIZE: u32 = 2;
pub const INSN_FIELD_MOP_RR_T_30: u32 = 0x40000000;
pub const INSN_FIELD_MOP_RR_T_30_START: u32 = 30;
pub const INSN_FIELD_MOP_RR_T_30_SIZE: u32 = 1;
pub const INSN_FIELD_MOP_RR_T_27_26: u32 = 0xc000000;
pub const INSN_FIELD_MOP_RR_T_27_26_START: u32 = 26;
pub const INSN_FIELD_MOP_RR_T_27_26_SIZE: u32 = 2;
pub const INSN_FIELD_C_MOP_T: u32 = 0x700;
pub const INSN_FIELD_C_MOP_T_START: u32 = 8;
pub const INSN_FIELD_C_MOP_T_SIZE: u32 = 3;
pub const INSN_FIELD_RS2_EQ_RS1: u32 = 0x1f00000;
pub const INSN_FIELD_RS2_EQ_RS1_START: u32 = 20;
pub const INSN_FIELD_RS2_EQ_RS1_SIZE: u32 = 5;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[repr(transparent)]
pub struct InstructionValue {
pub value: u32,
}
impl InstructionValue {
pub const fn new(value: u32) -> Self {
Self { value }
}
pub const fn field<const FIELD_START: usize, const FIELD_SIZE: usize>(self) -> u32 {
(self.value >> FIELD_START) & ((1 << FIELD_SIZE) - 1)
}
pub const fn rd(self) -> u32 {
(self.value >> INSN_FIELD_RD_START) & ((1 << INSN_FIELD_RD_SIZE) - 1)
}
pub const fn set_rd(mut self, value: u32) -> Self {
let mask = INSN_FIELD_RD;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_RD_SIZE) - 1)) << INSN_FIELD_RD_START;
self
}
pub const fn rt(self) -> u32 {
(self.value >> INSN_FIELD_RT_START) & ((1 << INSN_FIELD_RT_SIZE) - 1)
}
pub const fn set_rt(mut self, value: u32) -> Self {
let mask = INSN_FIELD_RT;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_RT_SIZE) - 1)) << INSN_FIELD_RT_START;
self
}
pub const fn rs1(self) -> u32 {
(self.value >> INSN_FIELD_RS1_START) & ((1 << INSN_FIELD_RS1_SIZE) - 1)
}
pub const fn set_rs1(mut self, value: u32) -> Self {
let mask = INSN_FIELD_RS1;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_RS1_SIZE) - 1)) << INSN_FIELD_RS1_START;
self
}
pub const fn rs2(self) -> u32 {
(self.value >> INSN_FIELD_RS2_START) & ((1 << INSN_FIELD_RS2_SIZE) - 1)
}
pub const fn set_rs2(mut self, value: u32) -> Self {
let mask = INSN_FIELD_RS2;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_RS2_SIZE) - 1)) << INSN_FIELD_RS2_START;
self
}
pub const fn rs3(self) -> u32 {
(self.value >> INSN_FIELD_RS3_START) & ((1 << INSN_FIELD_RS3_SIZE) - 1)
}
pub const fn set_rs3(mut self, value: u32) -> Self {
let mask = INSN_FIELD_RS3;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_RS3_SIZE) - 1)) << INSN_FIELD_RS3_START;
self
}
pub const fn aqrl(self) -> u32 {
(self.value >> INSN_FIELD_AQRL_START) & ((1 << INSN_FIELD_AQRL_SIZE) - 1)
}
pub const fn set_aqrl(mut self, value: u32) -> Self {
let mask = INSN_FIELD_AQRL;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_AQRL_SIZE) - 1)) << INSN_FIELD_AQRL_START;
self
}
pub const fn aq(self) -> u32 {
(self.value >> INSN_FIELD_AQ_START) & ((1 << INSN_FIELD_AQ_SIZE) - 1)
}
pub const fn set_aq(mut self, value: u32) -> Self {
let mask = INSN_FIELD_AQ;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_AQ_SIZE) - 1)) << INSN_FIELD_AQ_START;
self
}
pub const fn rl(self) -> u32 {
(self.value >> INSN_FIELD_RL_START) & ((1 << INSN_FIELD_RL_SIZE) - 1)
}
pub const fn set_rl(mut self, value: u32) -> Self {
let mask = INSN_FIELD_RL;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_RL_SIZE) - 1)) << INSN_FIELD_RL_START;
self
}
pub const fn fm(self) -> u32 {
(self.value >> INSN_FIELD_FM_START) & ((1 << INSN_FIELD_FM_SIZE) - 1)
}
pub const fn set_fm(mut self, value: u32) -> Self {
let mask = INSN_FIELD_FM;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_FM_SIZE) - 1)) << INSN_FIELD_FM_START;
self
}
pub const fn pred(self) -> u32 {
(self.value >> INSN_FIELD_PRED_START) & ((1 << INSN_FIELD_PRED_SIZE) - 1)
}
pub const fn set_pred(mut self, value: u32) -> Self {
let mask = INSN_FIELD_PRED;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_PRED_SIZE) - 1)) << INSN_FIELD_PRED_START;
self
}
pub const fn succ(self) -> u32 {
(self.value >> INSN_FIELD_SUCC_START) & ((1 << INSN_FIELD_SUCC_SIZE) - 1)
}
pub const fn set_succ(mut self, value: u32) -> Self {
let mask = INSN_FIELD_SUCC;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_SUCC_SIZE) - 1)) << INSN_FIELD_SUCC_START;
self
}
pub const fn rm(self) -> u32 {
(self.value >> INSN_FIELD_RM_START) & ((1 << INSN_FIELD_RM_SIZE) - 1)
}
pub const fn set_rm(mut self, value: u32) -> Self {
let mask = INSN_FIELD_RM;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_RM_SIZE) - 1)) << INSN_FIELD_RM_START;
self
}
pub const fn funct3(self) -> u32 {
(self.value >> INSN_FIELD_FUNCT3_START) & ((1 << INSN_FIELD_FUNCT3_SIZE) - 1)
}
pub const fn set_funct3(mut self, value: u32) -> Self {
let mask = INSN_FIELD_FUNCT3;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_FUNCT3_SIZE) - 1)) << INSN_FIELD_FUNCT3_START;
self
}
pub const fn funct2(self) -> u32 {
(self.value >> INSN_FIELD_FUNCT2_START) & ((1 << INSN_FIELD_FUNCT2_SIZE) - 1)
}
pub const fn set_funct2(mut self, value: u32) -> Self {
let mask = INSN_FIELD_FUNCT2;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_FUNCT2_SIZE) - 1)) << INSN_FIELD_FUNCT2_START;
self
}
pub const fn imm20_raw(self) -> u32 {
(self.value >> INSN_FIELD_IMM20_START) & ((1 << INSN_FIELD_IMM20_SIZE) - 1)
}
pub const fn set_imm20_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_IMM20;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_IMM20_SIZE) - 1)) << INSN_FIELD_IMM20_START;
self
}
pub const fn jimm20_raw(self) -> u32 {
(self.value >> INSN_FIELD_JIMM20_START) & ((1 << INSN_FIELD_JIMM20_SIZE) - 1)
}
pub const fn set_jimm20_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_JIMM20;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_JIMM20_SIZE) - 1)) << INSN_FIELD_JIMM20_START;
self
}
pub const fn imm12_raw(self) -> u32 {
(self.value >> INSN_FIELD_IMM12_START) & ((1 << INSN_FIELD_IMM12_SIZE) - 1)
}
pub const fn set_imm12_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_IMM12;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_IMM12_SIZE) - 1)) << INSN_FIELD_IMM12_START;
self
}
pub const fn csr(self) -> u32 {
(self.value >> INSN_FIELD_CSR_START) & ((1 << INSN_FIELD_CSR_SIZE) - 1)
}
pub const fn set_csr(mut self, value: u32) -> Self {
let mask = INSN_FIELD_CSR;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_CSR_SIZE) - 1)) << INSN_FIELD_CSR_START;
self
}
pub const fn imm12hi_raw(self) -> u32 {
(self.value >> INSN_FIELD_IMM12HI_START) & ((1 << INSN_FIELD_IMM12HI_SIZE) - 1)
}
pub const fn set_imm12hi_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_IMM12HI;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_IMM12HI_SIZE) - 1)) << INSN_FIELD_IMM12HI_START;
self
}
pub const fn bimm12hi_raw(self) -> u32 {
(self.value >> INSN_FIELD_BIMM12HI_START) & ((1 << INSN_FIELD_BIMM12HI_SIZE) - 1)
}
pub const fn set_bimm12hi_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_BIMM12HI;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_BIMM12HI_SIZE) - 1)) << INSN_FIELD_BIMM12HI_START;
self
}
pub const fn imm12lo_raw(self) -> u32 {
(self.value >> INSN_FIELD_IMM12LO_START) & ((1 << INSN_FIELD_IMM12LO_SIZE) - 1)
}
pub const fn set_imm12lo_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_IMM12LO;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_IMM12LO_SIZE) - 1)) << INSN_FIELD_IMM12LO_START;
self
}
pub const fn bimm12lo_raw(self) -> u32 {
(self.value >> INSN_FIELD_BIMM12LO_START) & ((1 << INSN_FIELD_BIMM12LO_SIZE) - 1)
}
pub const fn set_bimm12lo_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_BIMM12LO;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_BIMM12LO_SIZE) - 1)) << INSN_FIELD_BIMM12LO_START;
self
}
pub const fn shamtq(self) -> u32 {
(self.value >> INSN_FIELD_SHAMTQ_START) & ((1 << INSN_FIELD_SHAMTQ_SIZE) - 1)
}
pub const fn set_shamtq(mut self, value: u32) -> Self {
let mask = INSN_FIELD_SHAMTQ;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_SHAMTQ_SIZE) - 1)) << INSN_FIELD_SHAMTQ_START;
self
}
pub const fn shamtw(self) -> u32 {
(self.value >> INSN_FIELD_SHAMTW_START) & ((1 << INSN_FIELD_SHAMTW_SIZE) - 1)
}
pub const fn set_shamtw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_SHAMTW;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_SHAMTW_SIZE) - 1)) << INSN_FIELD_SHAMTW_START;
self
}
pub const fn shamtw4(self) -> u32 {
(self.value >> INSN_FIELD_SHAMTW4_START) & ((1 << INSN_FIELD_SHAMTW4_SIZE) - 1)
}
pub const fn set_shamtw4(mut self, value: u32) -> Self {
let mask = INSN_FIELD_SHAMTW4;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_SHAMTW4_SIZE) - 1)) << INSN_FIELD_SHAMTW4_START;
self
}
pub const fn shamtd(self) -> u32 {
(self.value >> INSN_FIELD_SHAMTD_START) & ((1 << INSN_FIELD_SHAMTD_SIZE) - 1)
}
pub const fn set_shamtd(mut self, value: u32) -> Self {
let mask = INSN_FIELD_SHAMTD;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_SHAMTD_SIZE) - 1)) << INSN_FIELD_SHAMTD_START;
self
}
pub const fn bs(self) -> u32 {
(self.value >> INSN_FIELD_BS_START) & ((1 << INSN_FIELD_BS_SIZE) - 1)
}
pub const fn set_bs(mut self, value: u32) -> Self {
let mask = INSN_FIELD_BS;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_BS_SIZE) - 1)) << INSN_FIELD_BS_START;
self
}
pub const fn rnum(self) -> u32 {
(self.value >> INSN_FIELD_RNUM_START) & ((1 << INSN_FIELD_RNUM_SIZE) - 1)
}
pub const fn set_rnum(mut self, value: u32) -> Self {
let mask = INSN_FIELD_RNUM;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_RNUM_SIZE) - 1)) << INSN_FIELD_RNUM_START;
self
}
pub const fn rc(self) -> u32 {
(self.value >> INSN_FIELD_RC_START) & ((1 << INSN_FIELD_RC_SIZE) - 1)
}
pub const fn set_rc(mut self, value: u32) -> Self {
let mask = INSN_FIELD_RC;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_RC_SIZE) - 1)) << INSN_FIELD_RC_START;
self
}
pub const fn imm2_raw(self) -> u32 {
(self.value >> INSN_FIELD_IMM2_START) & ((1 << INSN_FIELD_IMM2_SIZE) - 1)
}
pub const fn set_imm2_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_IMM2;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_IMM2_SIZE) - 1)) << INSN_FIELD_IMM2_START;
self
}
pub const fn imm3_raw(self) -> u32 {
(self.value >> INSN_FIELD_IMM3_START) & ((1 << INSN_FIELD_IMM3_SIZE) - 1)
}
pub const fn set_imm3_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_IMM3;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_IMM3_SIZE) - 1)) << INSN_FIELD_IMM3_START;
self
}
pub const fn imm4_raw(self) -> u32 {
(self.value >> INSN_FIELD_IMM4_START) & ((1 << INSN_FIELD_IMM4_SIZE) - 1)
}
pub const fn set_imm4_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_IMM4;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_IMM4_SIZE) - 1)) << INSN_FIELD_IMM4_START;
self
}
pub const fn imm5_raw(self) -> u32 {
(self.value >> INSN_FIELD_IMM5_START) & ((1 << INSN_FIELD_IMM5_SIZE) - 1)
}
pub const fn set_imm5_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_IMM5;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_IMM5_SIZE) - 1)) << INSN_FIELD_IMM5_START;
self
}
pub const fn imm6_raw(self) -> u32 {
(self.value >> INSN_FIELD_IMM6_START) & ((1 << INSN_FIELD_IMM6_SIZE) - 1)
}
pub const fn set_imm6_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_IMM6;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_IMM6_SIZE) - 1)) << INSN_FIELD_IMM6_START;
self
}
pub const fn zimm_raw(self) -> u32 {
(self.value >> INSN_FIELD_ZIMM_START) & ((1 << INSN_FIELD_ZIMM_SIZE) - 1)
}
pub const fn set_zimm_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_ZIMM;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_ZIMM_SIZE) - 1)) << INSN_FIELD_ZIMM_START;
self
}
pub const fn opcode(self) -> u32 {
(self.value >> INSN_FIELD_OPCODE_START) & ((1 << INSN_FIELD_OPCODE_SIZE) - 1)
}
pub const fn set_opcode(mut self, value: u32) -> Self {
let mask = INSN_FIELD_OPCODE;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_OPCODE_SIZE) - 1)) << INSN_FIELD_OPCODE_START;
self
}
pub const fn funct7(self) -> u32 {
(self.value >> INSN_FIELD_FUNCT7_START) & ((1 << INSN_FIELD_FUNCT7_SIZE) - 1)
}
pub const fn set_funct7(mut self, value: u32) -> Self {
let mask = INSN_FIELD_FUNCT7;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_FUNCT7_SIZE) - 1)) << INSN_FIELD_FUNCT7_START;
self
}
pub const fn vd(self) -> u32 {
(self.value >> INSN_FIELD_VD_START) & ((1 << INSN_FIELD_VD_SIZE) - 1)
}
pub const fn set_vd(mut self, value: u32) -> Self {
let mask = INSN_FIELD_VD;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_VD_SIZE) - 1)) << INSN_FIELD_VD_START;
self
}
pub const fn vs3(self) -> u32 {
(self.value >> INSN_FIELD_VS3_START) & ((1 << INSN_FIELD_VS3_SIZE) - 1)
}
pub const fn set_vs3(mut self, value: u32) -> Self {
let mask = INSN_FIELD_VS3;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_VS3_SIZE) - 1)) << INSN_FIELD_VS3_START;
self
}
pub const fn vs1(self) -> u32 {
(self.value >> INSN_FIELD_VS1_START) & ((1 << INSN_FIELD_VS1_SIZE) - 1)
}
pub const fn set_vs1(mut self, value: u32) -> Self {
let mask = INSN_FIELD_VS1;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_VS1_SIZE) - 1)) << INSN_FIELD_VS1_START;
self
}
pub const fn vs2(self) -> u32 {
(self.value >> INSN_FIELD_VS2_START) & ((1 << INSN_FIELD_VS2_SIZE) - 1)
}
pub const fn set_vs2(mut self, value: u32) -> Self {
let mask = INSN_FIELD_VS2;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_VS2_SIZE) - 1)) << INSN_FIELD_VS2_START;
self
}
pub const fn vm(self) -> u32 {
(self.value >> INSN_FIELD_VM_START) & ((1 << INSN_FIELD_VM_SIZE) - 1)
}
pub const fn set_vm(mut self, value: u32) -> Self {
let mask = INSN_FIELD_VM;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_VM_SIZE) - 1)) << INSN_FIELD_VM_START;
self
}
pub const fn wd(self) -> u32 {
(self.value >> INSN_FIELD_WD_START) & ((1 << INSN_FIELD_WD_SIZE) - 1)
}
pub const fn set_wd(mut self, value: u32) -> Self {
let mask = INSN_FIELD_WD;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_WD_SIZE) - 1)) << INSN_FIELD_WD_START;
self
}
pub const fn amoop(self) -> u32 {
(self.value >> INSN_FIELD_AMOOP_START) & ((1 << INSN_FIELD_AMOOP_SIZE) - 1)
}
pub const fn set_amoop(mut self, value: u32) -> Self {
let mask = INSN_FIELD_AMOOP;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_AMOOP_SIZE) - 1)) << INSN_FIELD_AMOOP_START;
self
}
pub const fn nf(self) -> u32 {
(self.value >> INSN_FIELD_NF_START) & ((1 << INSN_FIELD_NF_SIZE) - 1)
}
pub const fn set_nf(mut self, value: u32) -> Self {
let mask = INSN_FIELD_NF;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_NF_SIZE) - 1)) << INSN_FIELD_NF_START;
self
}
pub const fn simm5_raw(self) -> u32 {
(self.value >> INSN_FIELD_SIMM5_START) & ((1 << INSN_FIELD_SIMM5_SIZE) - 1)
}
pub const fn set_simm5_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_SIMM5;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_SIMM5_SIZE) - 1)) << INSN_FIELD_SIMM5_START;
self
}
pub const fn zimm5_raw(self) -> u32 {
(self.value >> INSN_FIELD_ZIMM5_START) & ((1 << INSN_FIELD_ZIMM5_SIZE) - 1)
}
pub const fn set_zimm5_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_ZIMM5;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_ZIMM5_SIZE) - 1)) << INSN_FIELD_ZIMM5_START;
self
}
pub const fn zimm10_raw(self) -> u32 {
(self.value >> INSN_FIELD_ZIMM10_START) & ((1 << INSN_FIELD_ZIMM10_SIZE) - 1)
}
pub const fn set_zimm10_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_ZIMM10;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_ZIMM10_SIZE) - 1)) << INSN_FIELD_ZIMM10_START;
self
}
pub const fn zimm11_raw(self) -> u32 {
(self.value >> INSN_FIELD_ZIMM11_START) & ((1 << INSN_FIELD_ZIMM11_SIZE) - 1)
}
pub const fn set_zimm11_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_ZIMM11;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_ZIMM11_SIZE) - 1)) << INSN_FIELD_ZIMM11_START;
self
}
pub const fn zimm6hi_raw(self) -> u32 {
(self.value >> INSN_FIELD_ZIMM6HI_START) & ((1 << INSN_FIELD_ZIMM6HI_SIZE) - 1)
}
pub const fn set_zimm6hi_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_ZIMM6HI;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_ZIMM6HI_SIZE) - 1)) << INSN_FIELD_ZIMM6HI_START;
self
}
pub const fn zimm6lo_raw(self) -> u32 {
(self.value >> INSN_FIELD_ZIMM6LO_START) & ((1 << INSN_FIELD_ZIMM6LO_SIZE) - 1)
}
pub const fn set_zimm6lo_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_ZIMM6LO;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_ZIMM6LO_SIZE) - 1)) << INSN_FIELD_ZIMM6LO_START;
self
}
pub const fn c_nzuimm10_raw(self) -> u32 {
(self.value >> INSN_FIELD_C_NZUIMM10_START) & ((1 << INSN_FIELD_C_NZUIMM10_SIZE) - 1)
}
pub const fn set_c_nzuimm10_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_NZUIMM10;
self.value &= !mask;
self.value |=
(value & ((1 << INSN_FIELD_C_NZUIMM10_SIZE) - 1)) << INSN_FIELD_C_NZUIMM10_START;
self
}
pub const fn c_uimm7lo_raw(self) -> u32 {
(self.value >> INSN_FIELD_C_UIMM7LO_START) & ((1 << INSN_FIELD_C_UIMM7LO_SIZE) - 1)
}
pub const fn set_c_uimm7lo_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_UIMM7LO;
self.value &= !mask;
self.value |=
(value & ((1 << INSN_FIELD_C_UIMM7LO_SIZE) - 1)) << INSN_FIELD_C_UIMM7LO_START;
self
}
pub const fn c_uimm7hi_raw(self) -> u32 {
(self.value >> INSN_FIELD_C_UIMM7HI_START) & ((1 << INSN_FIELD_C_UIMM7HI_SIZE) - 1)
}
pub const fn set_c_uimm7hi_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_UIMM7HI;
self.value &= !mask;
self.value |=
(value & ((1 << INSN_FIELD_C_UIMM7HI_SIZE) - 1)) << INSN_FIELD_C_UIMM7HI_START;
self
}
pub const fn c_uimm8lo_raw(self) -> u32 {
(self.value >> INSN_FIELD_C_UIMM8LO_START) & ((1 << INSN_FIELD_C_UIMM8LO_SIZE) - 1)
}
pub const fn set_c_uimm8lo_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_UIMM8LO;
self.value &= !mask;
self.value |=
(value & ((1 << INSN_FIELD_C_UIMM8LO_SIZE) - 1)) << INSN_FIELD_C_UIMM8LO_START;
self
}
pub const fn c_uimm8hi_raw(self) -> u32 {
(self.value >> INSN_FIELD_C_UIMM8HI_START) & ((1 << INSN_FIELD_C_UIMM8HI_SIZE) - 1)
}
pub const fn set_c_uimm8hi_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_UIMM8HI;
self.value &= !mask;
self.value |=
(value & ((1 << INSN_FIELD_C_UIMM8HI_SIZE) - 1)) << INSN_FIELD_C_UIMM8HI_START;
self
}
pub const fn c_uimm9lo_raw(self) -> u32 {
(self.value >> INSN_FIELD_C_UIMM9LO_START) & ((1 << INSN_FIELD_C_UIMM9LO_SIZE) - 1)
}
pub const fn set_c_uimm9lo_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_UIMM9LO;
self.value &= !mask;
self.value |=
(value & ((1 << INSN_FIELD_C_UIMM9LO_SIZE) - 1)) << INSN_FIELD_C_UIMM9LO_START;
self
}
pub const fn c_uimm9hi_raw(self) -> u32 {
(self.value >> INSN_FIELD_C_UIMM9HI_START) & ((1 << INSN_FIELD_C_UIMM9HI_SIZE) - 1)
}
pub const fn set_c_uimm9hi_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_UIMM9HI;
self.value &= !mask;
self.value |=
(value & ((1 << INSN_FIELD_C_UIMM9HI_SIZE) - 1)) << INSN_FIELD_C_UIMM9HI_START;
self
}
pub const fn c_nzimm6lo_raw(self) -> u32 {
(self.value >> INSN_FIELD_C_NZIMM6LO_START) & ((1 << INSN_FIELD_C_NZIMM6LO_SIZE) - 1)
}
pub const fn set_c_nzimm6lo_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_NZIMM6LO;
self.value &= !mask;
self.value |=
(value & ((1 << INSN_FIELD_C_NZIMM6LO_SIZE) - 1)) << INSN_FIELD_C_NZIMM6LO_START;
self
}
pub const fn c_nzimm6hi_raw(self) -> u32 {
(self.value >> INSN_FIELD_C_NZIMM6HI_START) & ((1 << INSN_FIELD_C_NZIMM6HI_SIZE) - 1)
}
pub const fn set_c_nzimm6hi_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_NZIMM6HI;
self.value &= !mask;
self.value |=
(value & ((1 << INSN_FIELD_C_NZIMM6HI_SIZE) - 1)) << INSN_FIELD_C_NZIMM6HI_START;
self
}
pub const fn c_imm6lo_raw(self) -> u32 {
(self.value >> INSN_FIELD_C_IMM6LO_START) & ((1 << INSN_FIELD_C_IMM6LO_SIZE) - 1)
}
pub const fn set_c_imm6lo_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_IMM6LO;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_C_IMM6LO_SIZE) - 1)) << INSN_FIELD_C_IMM6LO_START;
self
}
pub const fn c_imm6hi_raw(self) -> u32 {
(self.value >> INSN_FIELD_C_IMM6HI_START) & ((1 << INSN_FIELD_C_IMM6HI_SIZE) - 1)
}
pub const fn set_c_imm6hi_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_IMM6HI;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_C_IMM6HI_SIZE) - 1)) << INSN_FIELD_C_IMM6HI_START;
self
}
pub const fn c_nzimm10hi_raw(self) -> u32 {
(self.value >> INSN_FIELD_C_NZIMM10HI_START) & ((1 << INSN_FIELD_C_NZIMM10HI_SIZE) - 1)
}
pub const fn set_c_nzimm10hi_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_NZIMM10HI;
self.value &= !mask;
self.value |=
(value & ((1 << INSN_FIELD_C_NZIMM10HI_SIZE) - 1)) << INSN_FIELD_C_NZIMM10HI_START;
self
}
pub const fn c_nzimm10lo_raw(self) -> u32 {
(self.value >> INSN_FIELD_C_NZIMM10LO_START) & ((1 << INSN_FIELD_C_NZIMM10LO_SIZE) - 1)
}
pub const fn set_c_nzimm10lo_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_NZIMM10LO;
self.value &= !mask;
self.value |=
(value & ((1 << INSN_FIELD_C_NZIMM10LO_SIZE) - 1)) << INSN_FIELD_C_NZIMM10LO_START;
self
}
pub const fn c_nzimm18hi_raw(self) -> u32 {
(self.value >> INSN_FIELD_C_NZIMM18HI_START) & ((1 << INSN_FIELD_C_NZIMM18HI_SIZE) - 1)
}
pub const fn set_c_nzimm18hi_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_NZIMM18HI;
self.value &= !mask;
self.value |=
(value & ((1 << INSN_FIELD_C_NZIMM18HI_SIZE) - 1)) << INSN_FIELD_C_NZIMM18HI_START;
self
}
pub const fn c_nzimm18lo_raw(self) -> u32 {
(self.value >> INSN_FIELD_C_NZIMM18LO_START) & ((1 << INSN_FIELD_C_NZIMM18LO_SIZE) - 1)
}
pub const fn set_c_nzimm18lo_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_NZIMM18LO;
self.value &= !mask;
self.value |=
(value & ((1 << INSN_FIELD_C_NZIMM18LO_SIZE) - 1)) << INSN_FIELD_C_NZIMM18LO_START;
self
}
pub const fn c_imm12_raw(self) -> u32 {
(self.value >> INSN_FIELD_C_IMM12_START) & ((1 << INSN_FIELD_C_IMM12_SIZE) - 1)
}
pub const fn set_c_imm12_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_IMM12;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_C_IMM12_SIZE) - 1)) << INSN_FIELD_C_IMM12_START;
self
}
pub const fn c_bimm9lo_raw(self) -> u32 {
(self.value >> INSN_FIELD_C_BIMM9LO_START) & ((1 << INSN_FIELD_C_BIMM9LO_SIZE) - 1)
}
pub const fn set_c_bimm9lo_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_BIMM9LO;
self.value &= !mask;
self.value |=
(value & ((1 << INSN_FIELD_C_BIMM9LO_SIZE) - 1)) << INSN_FIELD_C_BIMM9LO_START;
self
}
pub const fn c_bimm9hi_raw(self) -> u32 {
(self.value >> INSN_FIELD_C_BIMM9HI_START) & ((1 << INSN_FIELD_C_BIMM9HI_SIZE) - 1)
}
pub const fn set_c_bimm9hi_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_BIMM9HI;
self.value &= !mask;
self.value |=
(value & ((1 << INSN_FIELD_C_BIMM9HI_SIZE) - 1)) << INSN_FIELD_C_BIMM9HI_START;
self
}
pub const fn c_nzuimm5_raw(self) -> u32 {
(self.value >> INSN_FIELD_C_NZUIMM5_START) & ((1 << INSN_FIELD_C_NZUIMM5_SIZE) - 1)
}
pub const fn set_c_nzuimm5_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_NZUIMM5;
self.value &= !mask;
self.value |=
(value & ((1 << INSN_FIELD_C_NZUIMM5_SIZE) - 1)) << INSN_FIELD_C_NZUIMM5_START;
self
}
pub const fn c_nzuimm6lo_raw(self) -> u32 {
(self.value >> INSN_FIELD_C_NZUIMM6LO_START) & ((1 << INSN_FIELD_C_NZUIMM6LO_SIZE) - 1)
}
pub const fn set_c_nzuimm6lo_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_NZUIMM6LO;
self.value &= !mask;
self.value |=
(value & ((1 << INSN_FIELD_C_NZUIMM6LO_SIZE) - 1)) << INSN_FIELD_C_NZUIMM6LO_START;
self
}
pub const fn c_nzuimm6hi_raw(self) -> u32 {
(self.value >> INSN_FIELD_C_NZUIMM6HI_START) & ((1 << INSN_FIELD_C_NZUIMM6HI_SIZE) - 1)
}
pub const fn set_c_nzuimm6hi_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_NZUIMM6HI;
self.value &= !mask;
self.value |=
(value & ((1 << INSN_FIELD_C_NZUIMM6HI_SIZE) - 1)) << INSN_FIELD_C_NZUIMM6HI_START;
self
}
pub const fn c_uimm8splo_raw(self) -> u32 {
(self.value >> INSN_FIELD_C_UIMM8SPLO_START) & ((1 << INSN_FIELD_C_UIMM8SPLO_SIZE) - 1)
}
pub const fn set_c_uimm8splo_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_UIMM8SPLO;
self.value &= !mask;
self.value |=
(value & ((1 << INSN_FIELD_C_UIMM8SPLO_SIZE) - 1)) << INSN_FIELD_C_UIMM8SPLO_START;
self
}
pub const fn c_uimm8sphi_raw(self) -> u32 {
(self.value >> INSN_FIELD_C_UIMM8SPHI_START) & ((1 << INSN_FIELD_C_UIMM8SPHI_SIZE) - 1)
}
pub const fn set_c_uimm8sphi_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_UIMM8SPHI;
self.value &= !mask;
self.value |=
(value & ((1 << INSN_FIELD_C_UIMM8SPHI_SIZE) - 1)) << INSN_FIELD_C_UIMM8SPHI_START;
self
}
pub const fn c_uimm8sp_s_raw(self) -> u32 {
(self.value >> INSN_FIELD_C_UIMM8SP_S_START) & ((1 << INSN_FIELD_C_UIMM8SP_S_SIZE) - 1)
}
pub const fn set_c_uimm8sp_s_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_UIMM8SP_S;
self.value &= !mask;
self.value |=
(value & ((1 << INSN_FIELD_C_UIMM8SP_S_SIZE) - 1)) << INSN_FIELD_C_UIMM8SP_S_START;
self
}
pub const fn c_uimm10splo_raw(self) -> u32 {
(self.value >> INSN_FIELD_C_UIMM10SPLO_START) & ((1 << INSN_FIELD_C_UIMM10SPLO_SIZE) - 1)
}
pub const fn set_c_uimm10splo_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_UIMM10SPLO;
self.value &= !mask;
self.value |=
(value & ((1 << INSN_FIELD_C_UIMM10SPLO_SIZE) - 1)) << INSN_FIELD_C_UIMM10SPLO_START;
self
}
pub const fn c_uimm10sphi_raw(self) -> u32 {
(self.value >> INSN_FIELD_C_UIMM10SPHI_START) & ((1 << INSN_FIELD_C_UIMM10SPHI_SIZE) - 1)
}
pub const fn set_c_uimm10sphi_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_UIMM10SPHI;
self.value &= !mask;
self.value |=
(value & ((1 << INSN_FIELD_C_UIMM10SPHI_SIZE) - 1)) << INSN_FIELD_C_UIMM10SPHI_START;
self
}
pub const fn c_uimm9splo_raw(self) -> u32 {
(self.value >> INSN_FIELD_C_UIMM9SPLO_START) & ((1 << INSN_FIELD_C_UIMM9SPLO_SIZE) - 1)
}
pub const fn set_c_uimm9splo_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_UIMM9SPLO;
self.value &= !mask;
self.value |=
(value & ((1 << INSN_FIELD_C_UIMM9SPLO_SIZE) - 1)) << INSN_FIELD_C_UIMM9SPLO_START;
self
}
pub const fn c_uimm9sphi_raw(self) -> u32 {
(self.value >> INSN_FIELD_C_UIMM9SPHI_START) & ((1 << INSN_FIELD_C_UIMM9SPHI_SIZE) - 1)
}
pub const fn set_c_uimm9sphi_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_UIMM9SPHI;
self.value &= !mask;
self.value |=
(value & ((1 << INSN_FIELD_C_UIMM9SPHI_SIZE) - 1)) << INSN_FIELD_C_UIMM9SPHI_START;
self
}
pub const fn c_uimm10sp_s_raw(self) -> u32 {
(self.value >> INSN_FIELD_C_UIMM10SP_S_START) & ((1 << INSN_FIELD_C_UIMM10SP_S_SIZE) - 1)
}
pub const fn set_c_uimm10sp_s_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_UIMM10SP_S;
self.value &= !mask;
self.value |=
(value & ((1 << INSN_FIELD_C_UIMM10SP_S_SIZE) - 1)) << INSN_FIELD_C_UIMM10SP_S_START;
self
}
pub const fn c_uimm9sp_s_raw(self) -> u32 {
(self.value >> INSN_FIELD_C_UIMM9SP_S_START) & ((1 << INSN_FIELD_C_UIMM9SP_S_SIZE) - 1)
}
pub const fn set_c_uimm9sp_s_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_UIMM9SP_S;
self.value &= !mask;
self.value |=
(value & ((1 << INSN_FIELD_C_UIMM9SP_S_SIZE) - 1)) << INSN_FIELD_C_UIMM9SP_S_START;
self
}
pub const fn c_uimm2_raw(self) -> u32 {
(self.value >> INSN_FIELD_C_UIMM2_START) & ((1 << INSN_FIELD_C_UIMM2_SIZE) - 1)
}
pub const fn set_c_uimm2_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_UIMM2;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_C_UIMM2_SIZE) - 1)) << INSN_FIELD_C_UIMM2_START;
self
}
pub const fn c_uimm1_raw(self) -> u32 {
(self.value >> INSN_FIELD_C_UIMM1_START) & ((1 << INSN_FIELD_C_UIMM1_SIZE) - 1)
}
pub const fn set_c_uimm1_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_UIMM1;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_C_UIMM1_SIZE) - 1)) << INSN_FIELD_C_UIMM1_START;
self
}
pub const fn c_rlist(self) -> u32 {
(self.value >> INSN_FIELD_C_RLIST_START) & ((1 << INSN_FIELD_C_RLIST_SIZE) - 1)
}
pub const fn set_c_rlist(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_RLIST;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_C_RLIST_SIZE) - 1)) << INSN_FIELD_C_RLIST_START;
self
}
pub const fn c_spimm_raw(self) -> u32 {
(self.value >> INSN_FIELD_C_SPIMM_START) & ((1 << INSN_FIELD_C_SPIMM_SIZE) - 1)
}
pub const fn set_c_spimm_raw(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_SPIMM;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_C_SPIMM_SIZE) - 1)) << INSN_FIELD_C_SPIMM_START;
self
}
pub const fn c_index(self) -> u32 {
(self.value >> INSN_FIELD_C_INDEX_START) & ((1 << INSN_FIELD_C_INDEX_SIZE) - 1)
}
pub const fn set_c_index(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_INDEX;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_C_INDEX_SIZE) - 1)) << INSN_FIELD_C_INDEX_START;
self
}
pub const fn rs1_p(self) -> u32 {
(self.value >> INSN_FIELD_RS1_P_START) & ((1 << INSN_FIELD_RS1_P_SIZE) - 1)
}
pub const fn set_rs1_p(mut self, value: u32) -> Self {
let mask = INSN_FIELD_RS1_P;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_RS1_P_SIZE) - 1)) << INSN_FIELD_RS1_P_START;
self
}
pub const fn rs2_p(self) -> u32 {
(self.value >> INSN_FIELD_RS2_P_START) & ((1 << INSN_FIELD_RS2_P_SIZE) - 1)
}
pub const fn set_rs2_p(mut self, value: u32) -> Self {
let mask = INSN_FIELD_RS2_P;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_RS2_P_SIZE) - 1)) << INSN_FIELD_RS2_P_START;
self
}
pub const fn rd_p(self) -> u32 {
(self.value >> INSN_FIELD_RD_P_START) & ((1 << INSN_FIELD_RD_P_SIZE) - 1)
}
pub const fn set_rd_p(mut self, value: u32) -> Self {
let mask = INSN_FIELD_RD_P;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_RD_P_SIZE) - 1)) << INSN_FIELD_RD_P_START;
self
}
pub const fn rd_rs1_n0(self) -> u32 {
(self.value >> INSN_FIELD_RD_RS1_N0_START) & ((1 << INSN_FIELD_RD_RS1_N0_SIZE) - 1)
}
pub const fn set_rd_rs1_n0(mut self, value: u32) -> Self {
let mask = INSN_FIELD_RD_RS1_N0;
self.value &= !mask;
self.value |=
(value & ((1 << INSN_FIELD_RD_RS1_N0_SIZE) - 1)) << INSN_FIELD_RD_RS1_N0_START;
self
}
pub const fn rd_rs1_p(self) -> u32 {
(self.value >> INSN_FIELD_RD_RS1_P_START) & ((1 << INSN_FIELD_RD_RS1_P_SIZE) - 1)
}
pub const fn set_rd_rs1_p(mut self, value: u32) -> Self {
let mask = INSN_FIELD_RD_RS1_P;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_RD_RS1_P_SIZE) - 1)) << INSN_FIELD_RD_RS1_P_START;
self
}
pub const fn rd_rs1(self) -> u32 {
(self.value >> INSN_FIELD_RD_RS1_START) & ((1 << INSN_FIELD_RD_RS1_SIZE) - 1)
}
pub const fn set_rd_rs1(mut self, value: u32) -> Self {
let mask = INSN_FIELD_RD_RS1;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_RD_RS1_SIZE) - 1)) << INSN_FIELD_RD_RS1_START;
self
}
pub const fn rd_n2(self) -> u32 {
(self.value >> INSN_FIELD_RD_N2_START) & ((1 << INSN_FIELD_RD_N2_SIZE) - 1)
}
pub const fn set_rd_n2(mut self, value: u32) -> Self {
let mask = INSN_FIELD_RD_N2;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_RD_N2_SIZE) - 1)) << INSN_FIELD_RD_N2_START;
self
}
pub const fn rd_n0(self) -> u32 {
(self.value >> INSN_FIELD_RD_N0_START) & ((1 << INSN_FIELD_RD_N0_SIZE) - 1)
}
pub const fn set_rd_n0(mut self, value: u32) -> Self {
let mask = INSN_FIELD_RD_N0;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_RD_N0_SIZE) - 1)) << INSN_FIELD_RD_N0_START;
self
}
pub const fn rs1_n0(self) -> u32 {
(self.value >> INSN_FIELD_RS1_N0_START) & ((1 << INSN_FIELD_RS1_N0_SIZE) - 1)
}
pub const fn set_rs1_n0(mut self, value: u32) -> Self {
let mask = INSN_FIELD_RS1_N0;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_RS1_N0_SIZE) - 1)) << INSN_FIELD_RS1_N0_START;
self
}
pub const fn c_rs2_n0(self) -> u32 {
(self.value >> INSN_FIELD_C_RS2_N0_START) & ((1 << INSN_FIELD_C_RS2_N0_SIZE) - 1)
}
pub const fn set_c_rs2_n0(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_RS2_N0;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_C_RS2_N0_SIZE) - 1)) << INSN_FIELD_C_RS2_N0_START;
self
}
pub const fn c_rs1_n0(self) -> u32 {
(self.value >> INSN_FIELD_C_RS1_N0_START) & ((1 << INSN_FIELD_C_RS1_N0_SIZE) - 1)
}
pub const fn set_c_rs1_n0(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_RS1_N0;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_C_RS1_N0_SIZE) - 1)) << INSN_FIELD_C_RS1_N0_START;
self
}
pub const fn c_rs2(self) -> u32 {
(self.value >> INSN_FIELD_C_RS2_START) & ((1 << INSN_FIELD_C_RS2_SIZE) - 1)
}
pub const fn set_c_rs2(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_RS2;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_C_RS2_SIZE) - 1)) << INSN_FIELD_C_RS2_START;
self
}
pub const fn c_sreg1(self) -> u32 {
(self.value >> INSN_FIELD_C_SREG1_START) & ((1 << INSN_FIELD_C_SREG1_SIZE) - 1)
}
pub const fn set_c_sreg1(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_SREG1;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_C_SREG1_SIZE) - 1)) << INSN_FIELD_C_SREG1_START;
self
}
pub const fn c_sreg2(self) -> u32 {
(self.value >> INSN_FIELD_C_SREG2_START) & ((1 << INSN_FIELD_C_SREG2_SIZE) - 1)
}
pub const fn set_c_sreg2(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_SREG2;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_C_SREG2_SIZE) - 1)) << INSN_FIELD_C_SREG2_START;
self
}
pub const fn mop_r_t_30(self) -> u32 {
(self.value >> INSN_FIELD_MOP_R_T_30_START) & ((1 << INSN_FIELD_MOP_R_T_30_SIZE) - 1)
}
pub const fn set_mop_r_t_30(mut self, value: u32) -> Self {
let mask = INSN_FIELD_MOP_R_T_30;
self.value &= !mask;
self.value |=
(value & ((1 << INSN_FIELD_MOP_R_T_30_SIZE) - 1)) << INSN_FIELD_MOP_R_T_30_START;
self
}
pub const fn mop_r_t_27_26(self) -> u32 {
(self.value >> INSN_FIELD_MOP_R_T_27_26_START) & ((1 << INSN_FIELD_MOP_R_T_27_26_SIZE) - 1)
}
pub const fn set_mop_r_t_27_26(mut self, value: u32) -> Self {
let mask = INSN_FIELD_MOP_R_T_27_26;
self.value &= !mask;
self.value |=
(value & ((1 << INSN_FIELD_MOP_R_T_27_26_SIZE) - 1)) << INSN_FIELD_MOP_R_T_27_26_START;
self
}
pub const fn mop_r_t_21_20(self) -> u32 {
(self.value >> INSN_FIELD_MOP_R_T_21_20_START) & ((1 << INSN_FIELD_MOP_R_T_21_20_SIZE) - 1)
}
pub const fn set_mop_r_t_21_20(mut self, value: u32) -> Self {
let mask = INSN_FIELD_MOP_R_T_21_20;
self.value &= !mask;
self.value |=
(value & ((1 << INSN_FIELD_MOP_R_T_21_20_SIZE) - 1)) << INSN_FIELD_MOP_R_T_21_20_START;
self
}
pub const fn mop_rr_t_30(self) -> u32 {
(self.value >> INSN_FIELD_MOP_RR_T_30_START) & ((1 << INSN_FIELD_MOP_RR_T_30_SIZE) - 1)
}
pub const fn set_mop_rr_t_30(mut self, value: u32) -> Self {
let mask = INSN_FIELD_MOP_RR_T_30;
self.value &= !mask;
self.value |=
(value & ((1 << INSN_FIELD_MOP_RR_T_30_SIZE) - 1)) << INSN_FIELD_MOP_RR_T_30_START;
self
}
pub const fn mop_rr_t_27_26(self) -> u32 {
(self.value >> INSN_FIELD_MOP_RR_T_27_26_START)
& ((1 << INSN_FIELD_MOP_RR_T_27_26_SIZE) - 1)
}
pub const fn set_mop_rr_t_27_26(mut self, value: u32) -> Self {
let mask = INSN_FIELD_MOP_RR_T_27_26;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_MOP_RR_T_27_26_SIZE) - 1))
<< INSN_FIELD_MOP_RR_T_27_26_START;
self
}
pub const fn c_mop_t(self) -> u32 {
(self.value >> INSN_FIELD_C_MOP_T_START) & ((1 << INSN_FIELD_C_MOP_T_SIZE) - 1)
}
pub const fn set_c_mop_t(mut self, value: u32) -> Self {
let mask = INSN_FIELD_C_MOP_T;
self.value &= !mask;
self.value |= (value & ((1 << INSN_FIELD_C_MOP_T_SIZE) - 1)) << INSN_FIELD_C_MOP_T_START;
self
}
pub const fn rs2_eq_rs1(self) -> u32 {
(self.value >> INSN_FIELD_RS2_EQ_RS1_START) & ((1 << INSN_FIELD_RS2_EQ_RS1_SIZE) - 1)
}
pub const fn set_rs2_eq_rs1(mut self, value: u32) -> Self {
let mask = INSN_FIELD_RS2_EQ_RS1;
self.value &= !mask;
self.value |=
(value & ((1 << INSN_FIELD_RS2_EQ_RS1_SIZE) - 1)) << INSN_FIELD_RS2_EQ_RS1_START;
self
}
pub const fn imm20(self) -> i32 {
decode_immediate(IMM20, self.value as _) as _
}
pub const fn set_imm20(mut self, imm20: i32) -> Self {
self.value |= encode_immediate(IMM20, imm20 as _);
self
}
pub const fn jimm20(self) -> i32 {
decode_immediate(JIMM20, self.value as _) as _
}
pub const fn set_jimm20(mut self, jimm20: i32) -> Self {
self.value |= encode_immediate(JIMM20, jimm20 as _);
self
}
pub const fn imm12(self) -> i32 {
decode_immediate(IMM12, self.value as _) as _
}
pub const fn set_imm12(mut self, imm12: i32) -> Self {
self.value |= encode_immediate(IMM12, imm12 as _);
self
}
pub const fn imm12lohi(self) -> i32 {
decode_immediate(IMM12LOHI, self.value as _) as _
}
pub const fn set_imm12lohi(mut self, imm12lohi: i32) -> Self {
self.value |= encode_immediate(IMM12LOHI, imm12lohi as _);
self
}
pub const fn bimm12lohi(self) -> i32 {
decode_immediate(BIMM12LOHI, self.value as _) as _
}
pub const fn set_bimm12lohi(mut self, bimm12lohi: i32) -> Self {
self.value |= encode_immediate(BIMM12LOHI, bimm12lohi as _);
self
}
pub const fn imm2(self) -> i32 {
decode_immediate(IMM2, self.value as _) as _
}
pub const fn set_imm2(mut self, imm2: i32) -> Self {
self.value |= encode_immediate(IMM2, imm2 as _);
self
}
pub const fn imm3(self) -> i32 {
decode_immediate(IMM3, self.value as _) as _
}
pub const fn set_imm3(mut self, imm3: i32) -> Self {
self.value |= encode_immediate(IMM3, imm3 as _);
self
}
pub const fn imm4(self) -> i32 {
decode_immediate(IMM4, self.value as _) as _
}
pub const fn set_imm4(mut self, imm4: i32) -> Self {
self.value |= encode_immediate(IMM4, imm4 as _);
self
}
pub const fn imm5(self) -> i32 {
decode_immediate(IMM5, self.value as _) as _
}
pub const fn set_imm5(mut self, imm5: i32) -> Self {
self.value |= encode_immediate(IMM5, imm5 as _);
self
}
pub const fn imm6(self) -> i32 {
decode_immediate(IMM6, self.value as _) as _
}
pub const fn set_imm6(mut self, imm6: i32) -> Self {
self.value |= encode_immediate(IMM6, imm6 as _);
self
}
pub const fn zimm(self) -> i32 {
decode_immediate(ZIMM, self.value as _) as _
}
pub const fn set_zimm(mut self, zimm: i32) -> Self {
self.value |= encode_immediate(ZIMM, zimm as _);
self
}
pub const fn simm5(self) -> i32 {
decode_immediate(SIMM5, self.value as _) as _
}
pub const fn set_simm5(mut self, simm5: i32) -> Self {
self.value |= encode_immediate(SIMM5, simm5 as _);
self
}
pub const fn zimm5(self) -> i32 {
decode_immediate(ZIMM5, self.value as _) as _
}
pub const fn set_zimm5(mut self, zimm5: i32) -> Self {
self.value |= encode_immediate(ZIMM5, zimm5 as _);
self
}
pub const fn zimm10(self) -> i32 {
decode_immediate(ZIMM10, self.value as _) as _
}
pub const fn set_zimm10(mut self, zimm10: i32) -> Self {
self.value |= encode_immediate(ZIMM10, zimm10 as _);
self
}
pub const fn zimm11(self) -> i32 {
decode_immediate(ZIMM11, self.value as _) as _
}
pub const fn set_zimm11(mut self, zimm11: i32) -> Self {
self.value |= encode_immediate(ZIMM11, zimm11 as _);
self
}
pub const fn zimm6lohi(self) -> i32 {
decode_immediate(ZIMM6LOHI, self.value as _) as _
}
pub const fn set_zimm6lohi(mut self, zimm6lohi: i32) -> Self {
self.value |= encode_immediate(ZIMM6LOHI, zimm6lohi as _);
self
}
pub const fn c_nzuimm10(self) -> u32 {
decode_immediate(C_NZUIMM10, self.value as _) as _
}
pub const fn set_c_nzuimm10(mut self, c_nzuimm10: u32) -> Self {
self.value |= encode_immediate(C_NZUIMM10, c_nzuimm10 as _);
self
}
pub const fn c_uimm7lohi(self) -> u32 {
decode_immediate(C_UIMM7LOHI, self.value as _) as _
}
pub const fn set_c_uimm7lohi(mut self, c_uimm7lohi: u32) -> Self {
self.value |= encode_immediate(C_UIMM7LOHI, c_uimm7lohi as _);
self
}
pub const fn c_uimm8lohi(self) -> u32 {
decode_immediate(C_UIMM8LOHI, self.value as _) as _
}
pub const fn set_c_uimm8lohi(mut self, c_uimm8lohi: u32) -> Self {
self.value |= encode_immediate(C_UIMM8LOHI, c_uimm8lohi as _);
self
}
pub const fn c_uimm9lohi(self) -> u32 {
decode_immediate(C_UIMM9LOHI, self.value as _) as _
}
pub const fn set_c_uimm9lohi(mut self, c_uimm9lohi: u32) -> Self {
self.value |= encode_immediate(C_UIMM9LOHI, c_uimm9lohi as _);
self
}
pub const fn c_nzimm6lohi(self) -> i32 {
decode_immediate(C_NZIMM6LOHI, self.value as _) as _
}
pub const fn set_c_nzimm6lohi(mut self, c_nzimm6lohi: i32) -> Self {
self.value |= encode_immediate(C_NZIMM6LOHI, c_nzimm6lohi as _);
self
}
pub const fn c_imm6lohi(self) -> i32 {
decode_immediate(C_IMM6LOHI, self.value as _) as _
}
pub const fn set_c_imm6lohi(mut self, c_imm6lohi: i32) -> Self {
self.value |= encode_immediate(C_IMM6LOHI, c_imm6lohi as _);
self
}
pub const fn c_nzimm10lohi(self) -> i32 {
decode_immediate(C_NZIMM10LOHI, self.value as _) as _
}
pub const fn set_c_nzimm10lohi(mut self, c_nzimm10lohi: i32) -> Self {
self.value |= encode_immediate(C_NZIMM10LOHI, c_nzimm10lohi as _);
self
}
pub const fn c_nzimm18lohi(self) -> i32 {
decode_immediate(C_NZIMM18LOHI, self.value as _) as _
}
pub const fn set_c_nzimm18lohi(mut self, c_nzimm18lohi: i32) -> Self {
self.value |= encode_immediate(C_NZIMM18LOHI, c_nzimm18lohi as _);
self
}
pub const fn c_imm12(self) -> i32 {
decode_immediate(C_IMM12, self.value as _) as _
}
pub const fn set_c_imm12(mut self, c_imm12: i32) -> Self {
self.value |= encode_immediate(C_IMM12, c_imm12 as _);
self
}
pub const fn c_bimm9lohi(self) -> i32 {
decode_immediate(C_BIMM9LOHI, self.value as _) as _
}
pub const fn set_c_bimm9lohi(mut self, c_bimm9lohi: i32) -> Self {
self.value |= encode_immediate(C_BIMM9LOHI, c_bimm9lohi as _);
self
}
pub const fn c_nzuimm5(self) -> u32 {
decode_immediate(C_NZUIMM5, self.value as _) as _
}
pub const fn set_c_nzuimm5(mut self, c_nzuimm5: u32) -> Self {
self.value |= encode_immediate(C_NZUIMM5, c_nzuimm5 as _);
self
}
pub const fn c_nzuimm6lohi(self) -> u32 {
decode_immediate(C_NZUIMM6LOHI, self.value as _) as _
}
pub const fn set_c_nzuimm6lohi(mut self, c_nzuimm6lohi: u32) -> Self {
self.value |= encode_immediate(C_NZUIMM6LOHI, c_nzuimm6lohi as _);
self
}
pub const fn c_uimm8splohi(self) -> u32 {
decode_immediate(C_UIMM8SPLOHI, self.value as _) as _
}
pub const fn set_c_uimm8splohi(mut self, c_uimm8splohi: u32) -> Self {
self.value |= encode_immediate(C_UIMM8SPLOHI, c_uimm8splohi as _);
self
}
pub const fn c_uimm8sp_s(self) -> u32 {
decode_immediate(C_UIMM8SP_S, self.value as _) as _
}
pub const fn set_c_uimm8sp_s(mut self, c_uimm8sp_s: u32) -> Self {
self.value |= encode_immediate(C_UIMM8SP_S, c_uimm8sp_s as _);
self
}
pub const fn c_uimm10splohi(self) -> u32 {
decode_immediate(C_UIMM10SPLOHI, self.value as _) as _
}
pub const fn set_c_uimm10splohi(mut self, c_uimm10splohi: u32) -> Self {
self.value |= encode_immediate(C_UIMM10SPLOHI, c_uimm10splohi as _);
self
}
pub const fn c_uimm9splohi(self) -> u32 {
decode_immediate(C_UIMM9SPLOHI, self.value as _) as _
}
pub const fn set_c_uimm9splohi(mut self, c_uimm9splohi: u32) -> Self {
self.value |= encode_immediate(C_UIMM9SPLOHI, c_uimm9splohi as _);
self
}
pub const fn c_uimm10sp_s(self) -> u32 {
decode_immediate(C_UIMM10SP_S, self.value as _) as _
}
pub const fn set_c_uimm10sp_s(mut self, c_uimm10sp_s: u32) -> Self {
self.value |= encode_immediate(C_UIMM10SP_S, c_uimm10sp_s as _);
self
}
pub const fn c_uimm9sp_s(self) -> u32 {
decode_immediate(C_UIMM9SP_S, self.value as _) as _
}
pub const fn set_c_uimm9sp_s(mut self, c_uimm9sp_s: u32) -> Self {
self.value |= encode_immediate(C_UIMM9SP_S, c_uimm9sp_s as _);
self
}
pub const fn c_uimm2(self) -> u32 {
decode_immediate(C_UIMM2, self.value as _) as _
}
pub const fn set_c_uimm2(mut self, c_uimm2: u32) -> Self {
self.value |= encode_immediate(C_UIMM2, c_uimm2 as _);
self
}
pub const fn c_uimm1(self) -> u32 {
decode_immediate(C_UIMM1, self.value as _) as _
}
pub const fn set_c_uimm1(mut self, c_uimm1: u32) -> Self {
self.value |= encode_immediate(C_UIMM1, c_uimm1 as _);
self
}
pub const fn c_spimm(self) -> i32 {
decode_immediate(C_SPIMM, self.value as _) as _
}
pub const fn set_c_spimm(mut self, c_spimm: i32) -> Self {
self.value |= encode_immediate(C_SPIMM, c_spimm as _);
self
}
}