/* * LoongArch64 Disassembler * * Copyright (c) 2021 Loongson Technology Corporation Limited * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ #ifndef LOONGARCH_DISASSEMBLER_H #define LOONGARCH_DISASSEMBLER_H #include #include /* IR2_OPCODE; */ typedef enum { /* LISA_INVALID = 128, */ LISA_INVALID, LISA_ILL, LISA_LABEL, LISA_X86_INST, LISA_DUP, LISA_MOV64, LISA_MOV32_SX, LISA_MOV32_ZX, LISA_CLR_H32, LISA_ADD, LISA_SUB, LISA_ADDI_ADDRX, LISA_LOAD_ADDRX, LISA_STORE_ADDRX, LISA_GR2SCR, LISA_SCR2GR, LISA_CLO_W, LISA_CLZ_W, LISA_CTO_W, LISA_CTZ_W, LISA_CLO_D, LISA_CLZ_D, LISA_CTO_D, LISA_CTZ_D, LISA_REVB_2H, LISA_REVB_4H, LISA_REVB_2W, LISA_REVB_D, LISA_REVH_2W, LISA_REVH_D, LISA_BITREV_4B, LISA_BITREV_8B, LISA_BITREV_W, LISA_BITREV_D, LISA_EXT_W_H, LISA_EXT_W_B, LISA_RDTIMEL_W, LISA_RDTIMEH_W, LISA_RDTIME_D, LISA_CPUCFG, LISA_X86MTTOP, LISA_X86MFTOP, LISA_X86LOOPE, LISA_X86LOOPNE, LISA_X86INC_B, LISA_X86INC_H, LISA_X86INC_W, LISA_X86INC_D, LISA_X86DEC_B, LISA_X86DEC_H, LISA_X86DEC_W, LISA_X86DEC_D, LISA_X86SETTM, LISA_X86CLRTM, LISA_X86INCTOP, LISA_X86DECTOP, LISA_ASRTLE_D, LISA_ASRTGT_D, LISA_ALSL_W, LISA_ALSL_WU, LISA_BYTEPICK_W, LISA_BYTEPICK_D, LISA_ADD_W, LISA_ADD_D, LISA_SUB_W, LISA_SUB_D, LISA_SLT, LISA_SLTU, LISA_MASKEQZ, LISA_MASKNEZ, LISA_NOR, LISA_AND, LISA_OR, LISA_XOR, LISA_ORN, LISA_ANDN, LISA_SLL_W, LISA_SRL_W, LISA_SRA_W, LISA_SLL_D, LISA_SRL_D, LISA_SRA_D, LISA_ROTR_B, LISA_ROTR_H, LISA_ROTR_W, LISA_ROTR_D, LISA_MUL_W, LISA_MULH_W, LISA_MULH_WU, LISA_MUL_D, LISA_MULH_D, LISA_MULH_DU, LISA_MULW_D_W, LISA_MULW_D_WU, LISA_DIV_W, LISA_MOD_W, LISA_DIV_WU, LISA_MOD_WU, LISA_DIV_D, LISA_MOD_D, LISA_DIV_DU, LISA_MOD_DU, LISA_CRC_W_B_W, LISA_CRC_W_H_W, LISA_CRC_W_W_W, LISA_CRC_W_D_W, LISA_CRCC_W_B_W, LISA_CRCC_W_H_W, LISA_CRCC_W_W_W, LISA_CRCC_W_D_W, LISA_ADDU12I_W, LISA_ADDU12I_D, LISA_BREAK, LISA_DBGCALL, LISA_SYSCALL, LISA_HYPCALL, LISA_ALSL_D, LISA_ADC_B, LISA_ADC_H, LISA_ADC_W, LISA_ADC_D, LISA_SBC_B, LISA_SBC_H, LISA_SBC_W, LISA_SBC_D, LISA_RCR_B, LISA_RCR_H, LISA_RCR_W, LISA_RCR_D, LISA_ARMMOVE, LISA_SETX86J, LISA_SETARMJ, LISA_ARMADD_W, LISA_ARMSUB_W, LISA_ARMADC_W, LISA_ARMSBC_W, LISA_ARMAND_W, LISA_ARMOR_W, LISA_ARMXOR_W, LISA_ARMSLL_W, LISA_ARMSRL_W, LISA_ARMSRA_W, LISA_ARMROTR_W, LISA_ARMSLLI_W, LISA_ARMSRLI_W, LISA_ARMSRAI_W, LISA_ARMROTRI_W, LISA_X86MUL_B, LISA_X86MUL_H, LISA_X86MUL_W, LISA_X86MUL_D, LISA_X86MUL_BU, LISA_X86MUL_HU, LISA_X86MUL_WU, LISA_X86MUL_DU, LISA_X86ADD_WU, LISA_X86ADD_DU, LISA_X86SUB_WU, LISA_X86SUB_DU, LISA_X86ADD_B, LISA_X86ADD_H, LISA_X86ADD_W, LISA_X86ADD_D, LISA_X86SUB_B, LISA_X86SUB_H, LISA_X86SUB_W, LISA_X86SUB_D, LISA_X86ADC_B, LISA_X86ADC_H, LISA_X86ADC_W, LISA_X86ADC_D, LISA_X86SBC_B, LISA_X86SBC_H, LISA_X86SBC_W, LISA_X86SBC_D, LISA_X86SLL_B, LISA_X86SLL_H, LISA_X86SLL_W, LISA_X86SLL_D, LISA_X86SRL_B, LISA_X86SRL_H, LISA_X86SRL_W, LISA_X86SRL_D, LISA_X86SRA_B, LISA_X86SRA_H, LISA_X86SRA_W, LISA_X86SRA_D, LISA_X86ROTR_B, LISA_X86ROTR_H, LISA_X86ROTR_D, LISA_X86ROTR_W, LISA_X86ROTL_B, LISA_X86ROTL_H, LISA_X86ROTL_W, LISA_X86ROTL_D, LISA_X86RCR_B, LISA_X86RCR_H, LISA_X86RCR_W, LISA_X86RCR_D, LISA_X86RCL_B, LISA_X86RCL_H, LISA_X86RCL_W, LISA_X86RCL_D, LISA_X86AND_B, LISA_X86AND_H, LISA_X86AND_W, LISA_X86AND_D, LISA_X86OR_B, LISA_X86OR_H, LISA_X86OR_W, LISA_X86OR_D, LISA_X86XOR_B, LISA_X86XOR_H, LISA_X86XOR_W, LISA_X86XOR_D, LISA_ARMNOT_W, LISA_ARMMOV_W, LISA_ARMMOV_D, LISA_ARMRRX_W, LISA_SLLI_W, LISA_SLLI_D, LISA_SRLI_W, LISA_SRLI_D, LISA_SRAI_W, LISA_SRAI_D, LISA_ROTRI_B, LISA_ROTRI_H, LISA_ROTRI_W, LISA_ROTRI_D, LISA_RCRI_B, LISA_RCRI_H, LISA_RCRI_W, LISA_RCRI_D, LISA_X86SLLI_B, LISA_X86SLLI_H, LISA_X86SLLI_W, LISA_X86SLLI_D, LISA_X86SRLI_B, LISA_X86SRLI_H, LISA_X86SRLI_W, LISA_X86SRLI_D, LISA_X86SRAI_B, LISA_X86SRAI_H, LISA_X86SRAI_W, LISA_X86SRAI_D, LISA_X86ROTRI_B, LISA_X86ROTRI_H, LISA_X86ROTRI_W, LISA_X86ROTRI_D, LISA_X86RCRI_B, LISA_X86RCRI_H, LISA_X86RCRI_W, LISA_X86RCRI_D, LISA_X86ROTLI_B, LISA_X86ROTLI_H, LISA_X86ROTLI_W, LISA_X86ROTLI_D, LISA_X86RCLI_B, LISA_X86RCLI_H, LISA_X86RCLI_W, LISA_X86RCLI_D, LISA_X86SETTAG, LISA_X86MFFLAG, LISA_X86MTFLAG, LISA_ARMMFFLAG, LISA_ARMMTFLAG, LISA_BSTRINS_W, LISA_BSTRPICK_W, LISA_BSTRINS_D, LISA_BSTRPICK_D, LISA_SLTI, LISA_SLTUI, LISA_ADDI_W, LISA_ADDI_D, LISA_LU52I_D, LISA_ANDI, LISA_ORI, LISA_XORI, LISA_ADDU16I_D, LISA_LU12I_W, LISA_LU32I_D, LISA_PCADDI, LISA_PCALAU12I, LISA_PCADDU12I, LISA_PCADDU18I, LISA_LL_W, LISA_SC_W, LISA_LL_D, LISA_SC_D, LISA_LDPTR_W, LISA_STPTR_W, LISA_LDPTR_D, LISA_STPTR_D, LISA_LD_B, LISA_LD_H, LISA_LD_W, LISA_LD_D, LISA_ST_B, LISA_ST_H, LISA_ST_W, LISA_ST_D, LISA_LD_BU, LISA_LD_HU, LISA_LD_WU, LISA_PRELD, LISA_FLD_S, LISA_FST_S, LISA_FLD_D, LISA_FST_D, LISA_VLD, LISA_VST, LISA_XVLD, LISA_XVST, LISA_LDL_W, LISA_LDR_W, LISA_LDL_D, LISA_LDR_D, LISA_STL_W, LISA_STR_W, LISA_STL_D, LISA_STR_D, LISA_VLDREPL_D, LISA_VLDREPL_W, LISA_VLDREPL_H, LISA_VLDREPL_B, LISA_VSTELM_D, LISA_VSTELM_W, LISA_VSTELM_H, LISA_VSTELM_B, LISA_XVLDREPL_D, LISA_XVLDREPL_W, LISA_XVLDREPL_H, LISA_XVLDREPL_B, LISA_XVSTELM_D, LISA_XVSTELM_W, LISA_XVSTELM_H, LISA_XVSTELM_B, LISA_LDX_B, LISA_LDX_H, LISA_LDX_W, LISA_LDX_D, LISA_STX_B, LISA_STX_H, LISA_STX_W, LISA_STX_D, LISA_LDX_BU, LISA_LDX_HU, LISA_LDX_WU, LISA_PRELDX, LISA_FLDX_S, LISA_FLDX_D, LISA_FSTX_S, LISA_FSTX_D, LISA_VLDX, LISA_VSTX, LISA_XVLDX, LISA_XVSTX, LISA_AMSWAP_W, LISA_AMSWAP_D, LISA_AMADD_W, LISA_AMADD_D, LISA_AMAND_W, LISA_AMAND_D, LISA_AMOR_W, LISA_AMOR_D, LISA_AMXOR_W, LISA_AMXOR_D, LISA_AMMAX_W, LISA_AMMAX_D, LISA_AMMIN_W, LISA_AMMIN_D, LISA_AMMAX_WU, LISA_AMMAX_DU, LISA_AMMIN_WU, LISA_AMMIN_DU, LISA_AMSWAP_DB_W, LISA_AMSWAP_DB_D, LISA_AMADD_DB_W, LISA_AMADD_DB_D, LISA_AMAND_DB_W, LISA_AMAND_DB_D, LISA_AMOR_DB_W, LISA_AMOR_DB_D, LISA_AMXOR_DB_W, LISA_AMXOR_DB_D, LISA_AMMAX_DB_W, LISA_AMMAX_DB_D, LISA_AMMIN_DB_W, LISA_AMMIN_DB_D, LISA_AMMAX_DB_WU, LISA_AMMAX_DB_DU, LISA_AMMIN_DB_WU, LISA_AMMIN_DB_DU, LISA_DBAR, LISA_IBAR, LISA_FLDGT_S, LISA_FLDGT_D, LISA_FLDLE_S, LISA_FLDLE_D, LISA_FSTGT_S, LISA_FSTGT_D, LISA_FSTLE_S, LISA_FSTLE_D, LISA_LDGT_B, LISA_LDGT_H, LISA_LDGT_W, LISA_LDGT_D, LISA_LDLE_B, LISA_LDLE_H, LISA_LDLE_W, LISA_LDLE_D, LISA_STGT_B, LISA_STGT_H, LISA_STGT_W, LISA_STGT_D, LISA_STLE_B, LISA_STLE_H, LISA_STLE_W, LISA_STLE_D, LISA_BEQZ, LISA_BNEZ, LISA_BCEQZ, LISA_BCNEZ, LISA_JISCR0, LISA_JISCR1, LISA_JIRL, LISA_B, LISA_BL, LISA_BEQ, LISA_BNE, LISA_BLT, LISA_BGE, LISA_BLTU, LISA_BGEU, LISA_FADD_S, LISA_FADD_D, LISA_FSUB_S, LISA_FSUB_D, LISA_FMUL_S, LISA_FMUL_D, LISA_FDIV_S, LISA_FDIV_D, LISA_FMAX_S, LISA_FMAX_D, LISA_FMIN_S, LISA_FMIN_D, LISA_FMAXA_S, LISA_FMAXA_D, LISA_FMINA_S, LISA_FMINA_D, LISA_FSCALEB_S, LISA_FSCALEB_D, LISA_FCOPYSIGN_S, LISA_FCOPYSIGN_D, LISA_FABS_S, LISA_FABS_D, LISA_FNEG_S, LISA_FNEG_D, LISA_FLOGB_S, LISA_FLOGB_D, LISA_FCLASS_S, LISA_FCLASS_D, LISA_FSQRT_S, LISA_FSQRT_D, LISA_FRECIP_S, LISA_FRECIP_D, LISA_FRSQRT_S, LISA_FRSQRT_D, LISA_FMOV_S, LISA_FMOV_D, LISA_MOVGR2FR_W, LISA_MOVGR2FR_D, LISA_MOVGR2FRH_W, LISA_MOVFR2GR_S, LISA_MOVFR2GR_D, LISA_MOVFRH2GR_S, LISA_MOVGR2FCSR, LISA_MOVFCSR2GR, LISA_MOVFR2CF, LISA_MOVCF2FR, LISA_MOVGR2CF, LISA_MOVCF2GR, LISA_FCVT_LD_D, LISA_FCVT_UD_D, LISA_FCVT_D_LD, LISA_FCVT_S_D, LISA_FCVT_D_S, LISA_FTINTRM_W_S, LISA_FTINTRM_W_D, LISA_FTINTRM_L_S, LISA_FTINTRM_L_D, LISA_FTINTRP_W_S, LISA_FTINTRP_W_D, LISA_FTINTRP_L_S, LISA_FTINTRP_L_D, LISA_FTINTRZ_W_S, LISA_FTINTRZ_W_D, LISA_FTINTRZ_L_S, LISA_FTINTRZ_L_D, LISA_FTINTRNE_W_S, LISA_FTINTRNE_W_D, LISA_FTINTRNE_L_S, LISA_FTINTRNE_L_D, LISA_FTINT_W_S, LISA_FTINT_W_D, LISA_FTINT_L_S, LISA_FTINT_L_D, LISA_FFINT_S_W, LISA_FFINT_S_L, LISA_FFINT_D_W, LISA_FFINT_D_L, LISA_FRINT_S, LISA_FRINT_D, LISA_FMADD_S, LISA_FMADD_D, LISA_FMSUB_S, LISA_FMSUB_D, LISA_FNMADD_S, LISA_FNMADD_D, LISA_FNMSUB_S, LISA_FNMSUB_D, LISA_VFMADD_S, LISA_VFMADD_D, LISA_VFMSUB_S, LISA_VFMSUB_D, LISA_VFNMADD_S, LISA_VFNMADD_D, LISA_VFNMSUB_S, LISA_VFNMSUB_D, LISA_XVFMADD_S, LISA_XVFMADD_D, LISA_XVFMSUB_S, LISA_XVFMSUB_D, LISA_XVFNMADD_S, LISA_XVFNMADD_D, LISA_XVFNMSUB_S, LISA_XVFNMSUB_D, LISA_FCMP_COND_S, LISA_FCMP_COND_D, LISA_VFCMP_COND_S, LISA_VFCMP_COND_D, LISA_XVFCMP_COND_S, LISA_XVFCMP_COND_D, LISA_FSEL, LISA_VBITSEL_V, LISA_XVBITSEL_V, LISA_VSHUF_B, LISA_XVSHUF_B, LISA_VEXTR_V, LISA_XVEXTR_V, LISA_VFMADDSUB_S, LISA_VFMADDSUB_D, LISA_VFMSUBADD_S, LISA_VFMSUBADD_D, LISA_XVFMADDSUB_S, LISA_XVFMADDSUB_D, LISA_XVFMSUBADD_S, LISA_XVFMSUBADD_D, LISA_VSEQ_B, LISA_VSEQ_H, LISA_VSEQ_W, LISA_VSEQ_D, LISA_VSLE_B, LISA_VSLE_H, LISA_VSLE_W, LISA_VSLE_D, LISA_VSLE_BU, LISA_VSLE_HU, LISA_VSLE_WU, LISA_VSLE_DU, LISA_VSLT_B, LISA_VSLT_H, LISA_VSLT_W, LISA_VSLT_D, LISA_VSLT_BU, LISA_VSLT_HU, LISA_VSLT_WU, LISA_VSLT_DU, LISA_VADD_B, LISA_VADD_H, LISA_VADD_W, LISA_VADD_D, LISA_VSUB_B, LISA_VSUB_H, LISA_VSUB_W, LISA_VSUB_D, LISA_VADDW_H_H_B, LISA_VADDW_W_W_H, LISA_VADDW_D_D_W, LISA_VADDW_H_H_BU, LISA_VADDW_W_W_HU, LISA_VADDW_D_D_WU, LISA_VSUBW_H_H_B, LISA_VSUBW_W_W_H, LISA_VSUBW_D_D_W, LISA_VSUBW_H_H_BU, LISA_VSUBW_W_W_HU, LISA_VSUBW_D_D_WU, LISA_VSADDW_H_H_B, LISA_VSADDW_W_W_H, LISA_VSADDW_D_D_W, LISA_VSADDW_HU_HU_BU, LISA_VSADDW_WU_WU_HU, LISA_VSADDW_DU_DU_WU, LISA_VSSUBW_H_H_B, LISA_VSSUBW_W_W_H, LISA_VSSUBW_D_D_W, LISA_VSSUBW_HU_HU_BU, LISA_VSSUBW_WU_WU_HU, LISA_VSSUBW_DU_DU_WU, LISA_VADDWEV_H_B, LISA_VADDWEV_W_H, LISA_VADDWEV_D_W, LISA_VADDWEV_Q_D, LISA_VSUBWEV_H_B, LISA_VSUBWEV_W_H, LISA_VSUBWEV_D_W, LISA_VSUBWEV_Q_D, LISA_VADDWOD_H_B, LISA_VADDWOD_W_H, LISA_VADDWOD_D_W, LISA_VADDWOD_Q_D, LISA_VSUBWOD_H_B, LISA_VSUBWOD_W_H, LISA_VSUBWOD_D_W, LISA_VSUBWOD_Q_D, LISA_VADDWL_H_B, LISA_VADDWL_W_H, LISA_VADDWL_D_W, LISA_VADDWL_Q_D, LISA_VSUBWL_H_B, LISA_VSUBWL_W_H, LISA_VSUBWL_D_W, LISA_VSUBWL_Q_D, LISA_VADDWH_H_B, LISA_VADDWH_W_H, LISA_VADDWH_D_W, LISA_VADDWH_Q_D, LISA_VSUBWH_H_B, LISA_VSUBWH_W_H, LISA_VSUBWH_D_W, LISA_VSUBWH_Q_D, LISA_VADDWEV_H_BU, LISA_VADDWEV_W_HU, LISA_VADDWEV_D_WU, LISA_VADDWEV_Q_DU, LISA_VSUBWEV_H_BU, LISA_VSUBWEV_W_HU, LISA_VSUBWEV_D_WU, LISA_VSUBWEV_Q_DU, LISA_VADDWOD_H_BU, LISA_VADDWOD_W_HU, LISA_VADDWOD_D_WU, LISA_VADDWOD_Q_DU, LISA_VSUBWOD_H_BU, LISA_VSUBWOD_W_HU, LISA_VSUBWOD_D_WU, LISA_VSUBWOD_Q_DU, LISA_VADDWL_H_BU, LISA_VADDWL_W_HU, LISA_VADDWL_D_WU, LISA_VADDWL_Q_DU, LISA_VSUBWL_H_BU, LISA_VSUBWL_W_HU, LISA_VSUBWL_D_WU, LISA_VSUBWL_Q_DU, LISA_VADDWH_H_BU, LISA_VADDWH_W_HU, LISA_VADDWH_D_WU, LISA_VADDWH_Q_DU, LISA_VSUBWH_H_BU, LISA_VSUBWH_W_HU, LISA_VSUBWH_D_WU, LISA_VSUBWH_Q_DU, LISA_VADDWEV_H_BU_B, LISA_VADDWEV_W_HU_H, LISA_VADDWEV_D_WU_W, LISA_VADDWEV_Q_DU_D, LISA_VADDWOD_H_BU_B, LISA_VADDWOD_W_HU_H, LISA_VADDWOD_D_WU_W, LISA_VADDWOD_Q_DU_D, LISA_VADDWL_H_BU_B, LISA_VADDWL_W_HU_H, LISA_VADDWL_D_WU_W, LISA_VADDWL_Q_DU_D, LISA_VADDWH_H_BU_B, LISA_VADDWH_W_HU_H, LISA_VADDWH_D_WU_W, LISA_VADDWH_Q_DU_D, LISA_VSADD_B, LISA_VSADD_H, LISA_VSADD_W, LISA_VSADD_D, LISA_VSSUB_B, LISA_VSSUB_H, LISA_VSSUB_W, LISA_VSSUB_D, LISA_VSADD_BU, LISA_VSADD_HU, LISA_VSADD_WU, LISA_VSADD_DU, LISA_VSSUB_BU, LISA_VSSUB_HU, LISA_VSSUB_WU, LISA_VSSUB_DU, LISA_VSSUB_BU_BU_B, LISA_VSSUB_HU_HU_H, LISA_VSSUB_WU_WU_W, LISA_VSSUB_DU_DU_D, LISA_VSSUB_BU_B_BU, LISA_VSSUB_HU_H_HU, LISA_VSSUB_WU_W_WU, LISA_VSSUB_DU_D_DU, LISA_VSSUB_B_BU_BU, LISA_VSSUB_H_HU_HU, LISA_VSSUB_W_WU_WU, LISA_VSSUB_D_DU_DU, LISA_VHADDW_H_B, LISA_VHADDW_W_H, LISA_VHADDW_D_W, LISA_VHADDW_Q_D, LISA_VHSUBW_H_B, LISA_VHSUBW_W_H, LISA_VHSUBW_D_W, LISA_VHSUBW_Q_D, LISA_VHADDW_HU_BU, LISA_VHADDW_WU_HU, LISA_VHADDW_DU_WU, LISA_VHADDW_QU_DU, LISA_VHSUBW_HU_BU, LISA_VHSUBW_WU_HU, LISA_VHSUBW_DU_WU, LISA_VHSUBW_QU_DU, LISA_VADDA_B, LISA_VADDA_H, LISA_VADDA_W, LISA_VADDA_D, LISA_VSADDA_B, LISA_VSADDA_H, LISA_VSADDA_W, LISA_VSADDA_D, LISA_VABSD_B, LISA_VABSD_H, LISA_VABSD_W, LISA_VABSD_D, LISA_VABSD_BU, LISA_VABSD_HU, LISA_VABSD_WU, LISA_VABSD_DU, LISA_VAVG_B, LISA_VAVG_H, LISA_VAVG_W, LISA_VAVG_D, LISA_VAVG_BU, LISA_VAVG_HU, LISA_VAVG_WU, LISA_VAVG_DU, LISA_VAVGR_B, LISA_VAVGR_H, LISA_VAVGR_W, LISA_VAVGR_D, LISA_VAVGR_BU, LISA_VAVGR_HU, LISA_VAVGR_WU, LISA_VAVGR_DU, LISA_VHALFD_B, LISA_VHALFD_H, LISA_VHALFD_W, LISA_VHALFD_D, LISA_VHALFD_BU, LISA_VHALFD_HU, LISA_VHALFD_WU, LISA_VHALFD_DU, LISA_VMAX_B, LISA_VMAX_H, LISA_VMAX_W, LISA_VMAX_D, LISA_VMIN_B, LISA_VMIN_H, LISA_VMIN_W, LISA_VMIN_D, LISA_VMAX_BU, LISA_VMAX_HU, LISA_VMAX_WU, LISA_VMAX_DU, LISA_VMIN_BU, LISA_VMIN_HU, LISA_VMIN_WU, LISA_VMIN_DU, LISA_VMAXA_B, LISA_VMAXA_H, LISA_VMAXA_W, LISA_VMAXA_D, LISA_VMINA_B, LISA_VMINA_H, LISA_VMINA_W, LISA_VMINA_D, LISA_VSADW_H_B, LISA_VSADW_W_H, LISA_VSADW_D_W, LISA_VSADW_H_BU, LISA_VSADW_W_HU, LISA_VSADW_D_WU, LISA_VACCSADW_H_B, LISA_VACCSADW_W_H, LISA_VACCSADW_D_W, LISA_VACCSADW_H_BU, LISA_VACCSADW_W_HU, LISA_VACCSADW_D_WU, LISA_VMUL_B, LISA_VMUL_H, LISA_VMUL_W, LISA_VMUL_D, LISA_VMUH_B, LISA_VMUH_H, LISA_VMUH_W, LISA_VMUH_D, LISA_VMUH_BU, LISA_VMUH_HU, LISA_VMUH_WU, LISA_VMUH_DU, LISA_VMUH_BU_B, LISA_VMUH_HU_H, LISA_VMUH_WU_W, LISA_VMUH_DU_D, LISA_VMULXW_H_B, LISA_VMULXW_W_H, LISA_VMULXW_D_W, LISA_VMULXW_H_BU, LISA_VMULXW_W_HU, LISA_VMULXW_D_WU, LISA_VMULWEV_H_B, LISA_VMULWEV_W_H, LISA_VMULWEV_D_W, LISA_VMULWEV_Q_D, LISA_VMULWOD_H_B, LISA_VMULWOD_W_H, LISA_VMULWOD_D_W, LISA_VMULWOD_Q_D, LISA_VMULWL_H_B, LISA_VMULWL_W_H, LISA_VMULWL_D_W, LISA_VMULWL_Q_D, LISA_VMULWH_H_B, LISA_VMULWH_W_H, LISA_VMULWH_D_W, LISA_VMULWH_Q_D, LISA_VMULWEV_H_BU, LISA_VMULWEV_W_HU, LISA_VMULWEV_D_WU, LISA_VMULWEV_Q_DU, LISA_VMULWOD_H_BU, LISA_VMULWOD_W_HU, LISA_VMULWOD_D_WU, LISA_VMULWOD_Q_DU, LISA_VMULWL_H_BU, LISA_VMULWL_W_HU, LISA_VMULWL_D_WU, LISA_VMULWL_Q_DU, LISA_VMULWH_H_BU, LISA_VMULWH_W_HU, LISA_VMULWH_D_WU, LISA_VMULWH_Q_DU, LISA_VMULWEV_H_BU_B, LISA_VMULWEV_W_HU_H, LISA_VMULWEV_D_WU_W, LISA_VMULWEV_Q_DU_D, LISA_VMULWOD_H_BU_B, LISA_VMULWOD_W_HU_H, LISA_VMULWOD_D_WU_W, LISA_VMULWOD_Q_DU_D, LISA_VMULWL_H_BU_B, LISA_VMULWL_W_HU_H, LISA_VMULWL_D_WU_W, LISA_VMULWL_Q_DU_D, LISA_VMULWH_H_BU_B, LISA_VMULWH_W_HU_H, LISA_VMULWH_D_WU_W, LISA_VMULWH_Q_DU_D, LISA_VMADD_B, LISA_VMADD_H, LISA_VMADD_W, LISA_VMADD_D, LISA_VMSUB_B, LISA_VMSUB_H, LISA_VMSUB_W, LISA_VMSUB_D, LISA_VMADDWEV_H_B, LISA_VMADDWEV_W_H, LISA_VMADDWEV_D_W, LISA_VMADDWEV_Q_D, LISA_VMADDWOD_H_B, LISA_VMADDWOD_W_H, LISA_VMADDWOD_D_W, LISA_VMADDWOD_Q_D, LISA_VMADDWL_H_B, LISA_VMADDWL_W_H, LISA_VMADDWL_D_W, LISA_VMADDWL_Q_D, LISA_VMADDWH_H_B, LISA_VMADDWH_W_H, LISA_VMADDWH_D_W, LISA_VMADDWH_Q_D, LISA_VMADDWEV_H_BU, LISA_VMADDWEV_W_HU, LISA_VMADDWEV_D_WU, LISA_VMADDWEV_Q_DU, LISA_VMADDWOD_H_BU, LISA_VMADDWOD_W_HU, LISA_VMADDWOD_D_WU, LISA_VMADDWOD_Q_DU, LISA_VMADDWL_H_BU, LISA_VMADDWL_W_HU, LISA_VMADDWL_D_WU, LISA_VMADDWL_Q_DU, LISA_VMADDWH_H_BU, LISA_VMADDWH_W_HU, LISA_VMADDWH_D_WU, LISA_VMADDWH_Q_DU, LISA_VMADDWEV_H_BU_B, LISA_VMADDWEV_W_HU_H, LISA_VMADDWEV_D_WU_W, LISA_VMADDWEV_Q_DU_D, LISA_VMADDWOD_H_BU_B, LISA_VMADDWOD_W_HU_H, LISA_VMADDWOD_D_WU_W, LISA_VMADDWOD_Q_DU_D, LISA_VMADDWL_H_BU_B, LISA_VMADDWL_W_HU_H, LISA_VMADDWL_D_WU_W, LISA_VMADDWL_Q_DU_D, LISA_VMADDWH_H_BU_B, LISA_VMADDWH_W_HU_H, LISA_VMADDWH_D_WU_W, LISA_VMADDWH_Q_DU_D, LISA_VDP2_H_B, LISA_VDP2_W_H, LISA_VDP2_D_W, LISA_VDP2_Q_D, LISA_VDP2_HU_BU, LISA_VDP2_WU_HU, LISA_VDP2_DU_WU, LISA_VDP2_QU_DU, LISA_VDP2_H_BU_B, LISA_VDP2_W_HU_H, LISA_VDP2_D_WU_W, LISA_VDP2_Q_DU_D, LISA_VDP2ADD_H_B, LISA_VDP2ADD_W_H, LISA_VDP2ADD_D_W, LISA_VDP2ADD_Q_D, LISA_VDP2ADD_H_BU, LISA_VDP2ADD_W_HU, LISA_VDP2ADD_D_WU, LISA_VDP2ADD_Q_DU, LISA_VDP2ADD_H_BU_B, LISA_VDP2ADD_W_HU_H, LISA_VDP2ADD_D_WU_W, LISA_VDP2ADD_Q_DU_D, LISA_VDP2SUB_H_B, LISA_VDP2SUB_W_H, LISA_VDP2SUB_D_W, LISA_VDP2SUB_Q_D, LISA_VDP2SUB_H_BU, LISA_VDP2SUB_W_HU, LISA_VDP2SUB_D_WU, LISA_VDP2SUB_Q_DU, LISA_VDP4_W_B, LISA_VDP4_D_H, LISA_VDP4_Q_W, LISA_VDP4_W_BU, LISA_VDP4_D_HU, LISA_VDP4_Q_WU, LISA_VDP4_W_BU_B, LISA_VDP4_D_HU_H, LISA_VDP4_Q_WU_W, LISA_VDP4ADD_W_B, LISA_VDP4ADD_D_H, LISA_VDP4ADD_Q_W, LISA_VDP4ADD_W_BU, LISA_VDP4ADD_D_HU, LISA_VDP4ADD_Q_WU, LISA_VDP4ADD_W_BU_B, LISA_VDP4ADD_D_HU_H, LISA_VDP4ADD_Q_WU_W, LISA_VDIV_B, LISA_VDIV_H, LISA_VDIV_W, LISA_VDIV_D, LISA_VMOD_B, LISA_VMOD_H, LISA_VMOD_W, LISA_VMOD_D, LISA_VDIV_BU, LISA_VDIV_HU, LISA_VDIV_WU, LISA_VDIV_DU, LISA_VMOD_BU, LISA_VMOD_HU, LISA_VMOD_WU, LISA_VMOD_DU, LISA_VSLL_B, LISA_VSLL_H, LISA_VSLL_W, LISA_VSLL_D, LISA_VSRL_B, LISA_VSRL_H, LISA_VSRL_W, LISA_VSRL_D, LISA_VSRA_B, LISA_VSRA_H, LISA_VSRA_W, LISA_VSRA_D, LISA_VROTR_B, LISA_VROTR_H, LISA_VROTR_W, LISA_VROTR_D, LISA_VSRLR_B, LISA_VSRLR_H, LISA_VSRLR_W, LISA_VSRLR_D, LISA_VSRAR_B, LISA_VSRAR_H, LISA_VSRAR_W, LISA_VSRAR_D, LISA_VSRLN_B_H, LISA_VSRLN_H_W, LISA_VSRLN_W_D, LISA_VSRAN_B_H, LISA_VSRAN_H_W, LISA_VSRAN_W_D, LISA_VSRLRN_B_H, LISA_VSRLRN_H_W, LISA_VSRLRN_W_D, LISA_VSRARN_B_H, LISA_VSRARN_H_W, LISA_VSRARN_W_D, LISA_VSSRLN_B_H, LISA_VSSRLN_H_W, LISA_VSSRLN_W_D, LISA_VSSRAN_B_H, LISA_VSSRAN_H_W, LISA_VSSRAN_W_D, LISA_VSSRLRN_B_H, LISA_VSSRLRN_H_W, LISA_VSSRLRN_W_D, LISA_VSSRARN_B_H, LISA_VSSRARN_H_W, LISA_VSSRARN_W_D, LISA_VSSRLN_BU_H, LISA_VSSRLN_HU_W, LISA_VSSRLN_WU_D, LISA_VSSRAN_BU_H, LISA_VSSRAN_HU_W, LISA_VSSRAN_WU_D, LISA_VSSRLRN_BU_H, LISA_VSSRLRN_HU_W, LISA_VSSRLRN_WU_D, LISA_VSSRARN_BU_H, LISA_VSSRARN_HU_W, LISA_VSSRARN_WU_D, LISA_VBITCLR_B, LISA_VBITCLR_H, LISA_VBITCLR_W, LISA_VBITCLR_D, LISA_VBITSET_B, LISA_VBITSET_H, LISA_VBITSET_W, LISA_VBITSET_D, LISA_VBITREV_B, LISA_VBITREV_H, LISA_VBITREV_W, LISA_VBITREV_D, LISA_VBSTRC12_B, LISA_VBSTRC12_H, LISA_VBSTRC12_W, LISA_VBSTRC12_D, LISA_VBSTRC21_B, LISA_VBSTRC21_H, LISA_VBSTRC21_W, LISA_VBSTRC21_D, LISA_VPACKEV_B, LISA_VPACKEV_H, LISA_VPACKEV_W, LISA_VPACKEV_D, LISA_VPACKOD_B, LISA_VPACKOD_H, LISA_VPACKOD_W, LISA_VPACKOD_D, LISA_VILVL_B, LISA_VILVL_H, LISA_VILVL_W, LISA_VILVL_D, LISA_VILVH_B, LISA_VILVH_H, LISA_VILVH_W, LISA_VILVH_D, LISA_VPICKEV_B, LISA_VPICKEV_H, LISA_VPICKEV_W, LISA_VPICKEV_D, LISA_VPICKOD_B, LISA_VPICKOD_H, LISA_VPICKOD_W, LISA_VPICKOD_D, LISA_VREPLVE_B, LISA_VREPLVE_H, LISA_VREPLVE_W, LISA_VREPLVE_D, LISA_VEXTRCOL_B, LISA_VEXTRCOL_H, LISA_VEXTRCOL_W, LISA_VEXTRCOL_D, LISA_VAND_V, LISA_VOR_V, LISA_VXOR_V, LISA_VNOR_V, LISA_VANDN_V, LISA_VORN_V, LISA_VRANDSIGN_B, LISA_VRANDSIGN_H, LISA_VRORSIGN_B, LISA_VRORSIGN_H, LISA_VFRSTP_B, LISA_VFRSTP_H, LISA_VCLRSTRR_V, LISA_VCLRSTRV_V, LISA_VADD_Q, LISA_VSUB_Q, LISA_VSIGNCOV_B, LISA_VSIGNCOV_H, LISA_VSIGNCOV_W, LISA_VSIGNCOV_D, LISA_VFADD_S, LISA_VFADD_D, LISA_VFSUB_S, LISA_VFSUB_D, LISA_VFADDSUB_S, LISA_VFADDSUB_D, LISA_VFSUBADD_S, LISA_VFSUBADD_D, LISA_VFMUL_S, LISA_VFMUL_D, LISA_VFDIV_S, LISA_VFDIV_D, LISA_VFMAX_S, LISA_VFMAX_D, LISA_VFMIN_S, LISA_VFMIN_D, LISA_VFMAXA_S, LISA_VFMAXA_D, LISA_VFMINA_S, LISA_VFMINA_D, LISA_VFSCALEB_S, LISA_VFSCALEB_D, LISA_VFCVT_H_S, LISA_VFCVT_S_D, LISA_VFFINT_S_L, LISA_VFTINT_W_D, LISA_VFTINTRM_W_D, LISA_VFTINTRP_W_D, LISA_VFTINTRZ_W_D, LISA_VFTINTRNE_W_D, LISA_VHADD4_H_BU, LISA_VSHUF4_W, LISA_VSHUF2_D, LISA_AES128_ENC, LISA_AES128_DEC, LISA_AES192_ENC, LISA_AES192_DEC, LISA_AES256_ENC, LISA_AES256_DEC, LISA_AES_KG, LISA_AES_FR_ENC, LISA_AES_FR_DEC, LISA_AES_LR_ENC, LISA_AES_LR_DEC, LISA_AES_MC_ENC, LISA_AES_MC_DEC, LISA_AES_SB_ENC, LISA_AES_SB_DEC, LISA_AES_SR_ENC, LISA_AES_SR_DEC, LISA_MD5_MS, LISA_MD5_4R, LISA_SHA1_MS_1, LISA_SHA1_MS_2, LISA_SHA1_HASH_4R, LISA_SHA256_MS_1, LISA_SHA256_MS_2, LISA_SHA256_HASH_2R, LISA_SHA512_MS_1, LISA_SHA512_MS_2, LISA_SHA512_HASH_R_1, LISA_SHA512_HASH_R_2, LISA_VPMUL_W, LISA_VPMUL_D, LISA_VPMUH_W, LISA_VPMUH_D, LISA_VPMULACC_W, LISA_VPMULACC_D, LISA_VPMUHACC_W, LISA_VPMUHACC_D, LISA_VPMULWL_H_B, LISA_VPMULWL_W_H, LISA_VPMULWL_D_W, LISA_VPMULWL_Q_D, LISA_VPMULWH_H_B, LISA_VPMULWH_W_H, LISA_VPMULWH_D_W, LISA_VPMULWH_Q_D, LISA_VPMADDWL_H_B, LISA_VPMADDWL_W_H, LISA_VPMADDWL_D_W, LISA_VPMADDWL_Q_D, LISA_VPMADDWH_H_B, LISA_VPMADDWH_W_H, LISA_VPMADDWH_D_W, LISA_VPMADDWH_Q_D, LISA_VPDP2_Q_D, LISA_VPDP2ADD_Q_D, LISA_VCDP4_RE_D_H, LISA_VCDP4_IM_D_H, LISA_VCDP4ADD_RE_D_H, LISA_VCDP4ADD_IM_D_H, LISA_VCDP2_RE_Q_W, LISA_VCDP2_IM_Q_W, LISA_VCDP2ADD_RE_Q_W, LISA_VCDP2ADD_IM_Q_W, LISA_VSIGNSEL_W, LISA_VSIGNSEL_D, LISA_VSHUF_H, LISA_VSHUF_W, LISA_VSHUF_D, LISA_VSEQI_B, LISA_VSEQI_H, LISA_VSEQI_W, LISA_VSEQI_D, LISA_VSLEI_B, LISA_VSLEI_H, LISA_VSLEI_W, LISA_VSLEI_D, LISA_VSLEI_BU, LISA_VSLEI_HU, LISA_VSLEI_WU, LISA_VSLEI_DU, LISA_VSLTI_B, LISA_VSLTI_H, LISA_VSLTI_W, LISA_VSLTI_D, LISA_VSLTI_BU, LISA_VSLTI_HU, LISA_VSLTI_WU, LISA_VSLTI_DU, LISA_VADDI_BU, LISA_VADDI_HU, LISA_VADDI_WU, LISA_VADDI_DU, LISA_VSUBI_BU, LISA_VSUBI_HU, LISA_VSUBI_WU, LISA_VSUBI_DU, LISA_VBSLL_V, LISA_VBSRL_V, LISA_VMAXI_B, LISA_VMAXI_H, LISA_VMAXI_W, LISA_VMAXI_D, LISA_VMINI_B, LISA_VMINI_H, LISA_VMINI_W, LISA_VMINI_D, LISA_VMAXI_BU, LISA_VMAXI_HU, LISA_VMAXI_WU, LISA_VMAXI_DU, LISA_VMINI_BU, LISA_VMINI_HU, LISA_VMINI_WU, LISA_VMINI_DU, LISA_VRANDSIGNI_B, LISA_VRANDSIGNI_H, LISA_VRORSIGNI_B, LISA_VRORSIGNI_H, LISA_VFRSTPI_B, LISA_VFRSTPI_H, LISA_VCLRSTRI_V, LISA_VMEPATMSK_V, LISA_VCLO_B, LISA_VCLO_H, LISA_VCLO_W, LISA_VCLO_D, LISA_VCLZ_B, LISA_VCLZ_H, LISA_VCLZ_W, LISA_VCLZ_D, LISA_VPCNT_B, LISA_VPCNT_H, LISA_VPCNT_W, LISA_VPCNT_D, LISA_VNEG_B, LISA_VNEG_H, LISA_VNEG_W, LISA_VNEG_D, LISA_VMSKLTZ_B, LISA_VMSKLTZ_H, LISA_VMSKLTZ_W, LISA_VMSKLTZ_D, LISA_VMSKGEZ_B, LISA_VMSKNZ_B, LISA_VMSKCOPY_B, LISA_VMSKFILL_B, LISA_VFRSTM_B, LISA_VFRSTM_H, LISA_VSETEQZ_V, LISA_VSETNEZ_V, LISA_VSETANYEQZ_B, LISA_VSETANYEQZ_H, LISA_VSETANYEQZ_W, LISA_VSETANYEQZ_D, LISA_VSETALLNEZ_B, LISA_VSETALLNEZ_H, LISA_VSETALLNEZ_W, LISA_VSETALLNEZ_D, LISA_VFLOGB_S, LISA_VFLOGB_D, LISA_VFCLASS_S, LISA_VFCLASS_D, LISA_VFSQRT_S, LISA_VFSQRT_D, LISA_VFRECIP_S, LISA_VFRECIP_D, LISA_VFRSQRT_S, LISA_VFRSQRT_D, LISA_VFRINT_S, LISA_VFRINT_D, LISA_VFRINTRM_S, LISA_VFRINTRM_D, LISA_VFRINTRP_S, LISA_VFRINTRP_D, LISA_VFRINTRZ_S, LISA_VFRINTRZ_D, LISA_VFRINTRNE_S, LISA_VFRINTRNE_D, LISA_VEXTL_W_B, LISA_VEXTL_D_B, LISA_VEXTL_D_H, LISA_VEXTL_W_BU, LISA_VEXTL_D_BU, LISA_VEXTL_D_HU, LISA_VHADD8_D_BU, LISA_VHMINPOS_W_HU, LISA_VHMINPOS_D_HU, LISA_VHMINPOS_Q_HU, LISA_VCLRTAIL_B, LISA_VCLRTAIL_H, LISA_VFCVTL_S_H, LISA_VFCVTH_S_H, LISA_VFCVTL_D_S, LISA_VFCVTH_D_S, LISA_VFFINT_S_W, LISA_VFFINT_S_WU, LISA_VFFINT_D_L, LISA_VFFINT_D_LU, LISA_VFFINTL_D_W, LISA_VFFINTH_D_W, LISA_VFTINT_W_S, LISA_VFTINT_L_D, LISA_VFTINTRM_W_S, LISA_VFTINTRM_L_D, LISA_VFTINTRP_W_S, LISA_VFTINTRP_L_D, LISA_VFTINTRZ_W_S, LISA_VFTINTRZ_L_D, LISA_VFTINTRNE_W_S, LISA_VFTINTRNE_L_D, LISA_VFTINT_WU_S, LISA_VFTINT_LU_D, LISA_VFTINTRZ_WU_S, LISA_VFTINTRZ_LU_D, LISA_VFTINTL_L_S, LISA_VFTINTH_L_S, LISA_VFTINTRML_L_S, LISA_VFTINTRMH_L_S, LISA_VFTINTRPL_L_S, LISA_VFTINTRPH_L_S, LISA_VFTINTRZL_L_S, LISA_VFTINTRZH_L_S, LISA_VFTINTRNEL_L_S, LISA_VFTINTRNEH_L_S, LISA_VEXTH_H_B, LISA_VEXTH_W_H, LISA_VEXTH_D_W, LISA_VEXTH_Q_D, LISA_VEXTH_HU_BU, LISA_VEXTH_WU_HU, LISA_VEXTH_DU_WU, LISA_VEXTH_QU_DU, LISA_VREPLGR2VR_B, LISA_VREPLGR2VR_H, LISA_VREPLGR2VR_W, LISA_VREPLGR2VR_D, LISA_VROTRI_B, LISA_VROTRI_H, LISA_VROTRI_W, LISA_VROTRI_D, LISA_VSRLRI_B, LISA_VSRLRI_H, LISA_VSRLRI_W, LISA_VSRLRI_D, LISA_VSRARI_B, LISA_VSRARI_H, LISA_VSRARI_W, LISA_VSRARI_D, LISA_VINSGR2VR_B, LISA_VINSGR2VR_H, LISA_VINSGR2VR_W, LISA_VINSGR2VR_D, LISA_VPICKVE2GR_B, LISA_VPICKVE2GR_H, LISA_VPICKVE2GR_W, LISA_VPICKVE2GR_D, LISA_VPICKVE2GR_BU, LISA_VPICKVE2GR_HU, LISA_VPICKVE2GR_WU, LISA_VPICKVE2GR_DU, LISA_VREPLVEI_B, LISA_VREPLVEI_H, LISA_VREPLVEI_W, LISA_VREPLVEI_D, LISA_VEXTRCOLI_B, LISA_VEXTRCOLI_H, LISA_VEXTRCOLI_W, LISA_VEXTRCOLI_D, LISA_VSLLWIL_H_B, LISA_VSLLWIL_W_H, LISA_VSLLWIL_D_W, LISA_VEXTL_Q_D, LISA_VSLLWIL_HU_BU, LISA_VSLLWIL_WU_HU, LISA_VSLLWIL_DU_WU, LISA_VEXTL_QU_DU, LISA_VBITCLRI_B, LISA_VBITCLRI_H, LISA_VBITCLRI_W, LISA_VBITCLRI_D, LISA_VBITSETI_B, LISA_VBITSETI_H, LISA_VBITSETI_W, LISA_VBITSETI_D, LISA_VBITREVI_B, LISA_VBITREVI_H, LISA_VBITREVI_W, LISA_VBITREVI_D, LISA_VBSTRC12I_B, LISA_VBSTRC12I_H, LISA_VBSTRC12I_W, LISA_VBSTRC12I_D, LISA_VBSTRC21I_B, LISA_VBSTRC21I_H, LISA_VBSTRC21I_W, LISA_VBSTRC21I_D, LISA_VSAT_B, LISA_VSAT_H, LISA_VSAT_W, LISA_VSAT_D, LISA_VSAT_BU, LISA_VSAT_HU, LISA_VSAT_WU, LISA_VSAT_DU, LISA_VSLLI_B, LISA_VSLLI_H, LISA_VSLLI_W, LISA_VSLLI_D, LISA_VSRLI_B, LISA_VSRLI_H, LISA_VSRLI_W, LISA_VSRLI_D, LISA_VSRAI_B, LISA_VSRAI_H, LISA_VSRAI_W, LISA_VSRAI_D, LISA_VSRLRNENI_B_H, LISA_VSRLRNENI_H_W, LISA_VSRLRNENI_W_D, LISA_VSRLRNENI_D_Q, LISA_VSRARNENI_B_H, LISA_VSRARNENI_H_W, LISA_VSRARNENI_W_D, LISA_VSRARNENI_D_Q, LISA_VSRLNI_B_H, LISA_VSRLNI_H_W, LISA_VSRLNI_W_D, LISA_VSRLNI_D_Q, LISA_VSRLRNI_B_H, LISA_VSRLRNI_H_W, LISA_VSRLRNI_W_D, LISA_VSRLRNI_D_Q, LISA_VSSRLNI_B_H, LISA_VSSRLNI_H_W, LISA_VSSRLNI_W_D, LISA_VSSRLNI_D_Q, LISA_VSSRLNI_BU_H, LISA_VSSRLNI_HU_W, LISA_VSSRLNI_WU_D, LISA_VSSRLNI_DU_Q, LISA_VSSRLRNI_B_H, LISA_VSSRLRNI_H_W, LISA_VSSRLRNI_W_D, LISA_VSSRLRNI_D_Q, LISA_VSSRLRNI_BU_H, LISA_VSSRLRNI_HU_W, LISA_VSSRLRNI_WU_D, LISA_VSSRLRNI_DU_Q, LISA_VSRANI_B_H, LISA_VSRANI_H_W, LISA_VSRANI_W_D, LISA_VSRANI_D_Q, LISA_VSRARNI_B_H, LISA_VSRARNI_H_W, LISA_VSRARNI_W_D, LISA_VSRARNI_D_Q, LISA_VSSRANI_B_H, LISA_VSSRANI_H_W, LISA_VSSRANI_W_D, LISA_VSSRANI_D_Q, LISA_VSSRANI_BU_H, LISA_VSSRANI_HU_W, LISA_VSSRANI_WU_D, LISA_VSSRANI_DU_Q, LISA_VSSRARNI_B_H, LISA_VSSRARNI_H_W, LISA_VSSRARNI_W_D, LISA_VSSRARNI_D_Q, LISA_VSSRARNI_BU_H, LISA_VSSRARNI_HU_W, LISA_VSSRARNI_WU_D, LISA_VSSRARNI_DU_Q, LISA_VSSRLRNENI_B_H, LISA_VSSRLRNENI_H_W, LISA_VSSRLRNENI_W_D, LISA_VSSRLRNENI_D_Q, LISA_VSSRLRNENI_BU_H, LISA_VSSRLRNENI_HU_W, LISA_VSSRLRNENI_WU_D, LISA_VSSRLRNENI_DU_Q, LISA_VSSRARNENI_B_H, LISA_VSSRARNENI_H_W, LISA_VSSRARNENI_W_D, LISA_VSSRARNENI_D_Q, LISA_VSSRARNENI_BU_H, LISA_VSSRARNENI_HU_W, LISA_VSSRARNENI_WU_D, LISA_VSSRARNENI_DU_Q, LISA_VEXTRINS_D, LISA_VEXTRINS_W, LISA_VEXTRINS_H, LISA_VEXTRINS_B, LISA_VSHUF4I_B, LISA_VSHUF4I_H, LISA_VSHUF4I_W, LISA_VSHUF4I_D, LISA_VSHUFI1_B, LISA_VSHUFI2_B, LISA_VSHUFI3_B, LISA_VSHUFI4_B, LISA_VSHUFI1_H, LISA_VSHUFI2_H, LISA_VSELI_H, LISA_VSELI_W, LISA_VSELI_D, LISA_VBITSELI_B, LISA_VBITMVZI_B, LISA_VBITMVNZI_B, LISA_VANDI_B, LISA_VORI_B, LISA_VXORI_B, LISA_VNORI_B, LISA_VLDI, LISA_VPERMI_W, LISA_XVSEQ_B, LISA_XVSEQ_H, LISA_XVSEQ_W, LISA_XVSEQ_D, LISA_XVSLE_B, LISA_XVSLE_H, LISA_XVSLE_W, LISA_XVSLE_D, LISA_XVSLE_BU, LISA_XVSLE_HU, LISA_XVSLE_WU, LISA_XVSLE_DU, LISA_XVSLT_B, LISA_XVSLT_H, LISA_XVSLT_W, LISA_XVSLT_D, LISA_XVSLT_BU, LISA_XVSLT_HU, LISA_XVSLT_WU, LISA_XVSLT_DU, LISA_XVADD_B, LISA_XVADD_H, LISA_XVADD_W, LISA_XVADD_D, LISA_XVSUB_B, LISA_XVSUB_H, LISA_XVSUB_W, LISA_XVSUB_D, LISA_XVADDW_H_H_B, LISA_XVADDW_W_W_H, LISA_XVADDW_D_D_W, LISA_XVADDW_H_H_BU, LISA_XVADDW_W_W_HU, LISA_XVADDW_D_D_WU, LISA_XVSUBW_H_H_B, LISA_XVSUBW_W_W_H, LISA_XVSUBW_D_D_W, LISA_XVSUBW_H_H_BU, LISA_XVSUBW_W_W_HU, LISA_XVSUBW_D_D_WU, LISA_XVSADDW_H_H_B, LISA_XVSADDW_W_W_H, LISA_XVSADDW_D_D_W, LISA_XVSADDW_HU_HU_BU, LISA_XVSADDW_WU_WU_HU, LISA_XVSADDW_DU_DU_WU, LISA_XVSSUBW_H_H_B, LISA_XVSSUBW_W_W_H, LISA_XVSSUBW_D_D_W, LISA_XVSSUBW_HU_HU_BU, LISA_XVSSUBW_WU_WU_HU, LISA_XVSSUBW_DU_DU_WU, LISA_XVADDWEV_H_B, LISA_XVADDWEV_W_H, LISA_XVADDWEV_D_W, LISA_XVADDWEV_Q_D, LISA_XVSUBWEV_H_B, LISA_XVSUBWEV_W_H, LISA_XVSUBWEV_D_W, LISA_XVSUBWEV_Q_D, LISA_XVADDWOD_H_B, LISA_XVADDWOD_W_H, LISA_XVADDWOD_D_W, LISA_XVADDWOD_Q_D, LISA_XVSUBWOD_H_B, LISA_XVSUBWOD_W_H, LISA_XVSUBWOD_D_W, LISA_XVSUBWOD_Q_D, LISA_XVADDWL_H_B, LISA_XVADDWL_W_H, LISA_XVADDWL_D_W, LISA_XVADDWL_Q_D, LISA_XVSUBWL_H_B, LISA_XVSUBWL_W_H, LISA_XVSUBWL_D_W, LISA_XVSUBWL_Q_D, LISA_XVADDWH_H_B, LISA_XVADDWH_W_H, LISA_XVADDWH_D_W, LISA_XVADDWH_Q_D, LISA_XVSUBWH_H_B, LISA_XVSUBWH_W_H, LISA_XVSUBWH_D_W, LISA_XVSUBWH_Q_D, LISA_XVADDWEV_H_BU, LISA_XVADDWEV_W_HU, LISA_XVADDWEV_D_WU, LISA_XVADDWEV_Q_DU, LISA_XVSUBWEV_H_BU, LISA_XVSUBWEV_W_HU, LISA_XVSUBWEV_D_WU, LISA_XVSUBWEV_Q_DU, LISA_XVADDWOD_H_BU, LISA_XVADDWOD_W_HU, LISA_XVADDWOD_D_WU, LISA_XVADDWOD_Q_DU, LISA_XVSUBWOD_H_BU, LISA_XVSUBWOD_W_HU, LISA_XVSUBWOD_D_WU, LISA_XVSUBWOD_Q_DU, LISA_XVADDWL_H_BU, LISA_XVADDWL_W_HU, LISA_XVADDWL_D_WU, LISA_XVADDWL_Q_DU, LISA_XVSUBWL_H_BU, LISA_XVSUBWL_W_HU, LISA_XVSUBWL_D_WU, LISA_XVSUBWL_Q_DU, LISA_XVADDWH_H_BU, LISA_XVADDWH_W_HU, LISA_XVADDWH_D_WU, LISA_XVADDWH_Q_DU, LISA_XVSUBWH_H_BU, LISA_XVSUBWH_W_HU, LISA_XVSUBWH_D_WU, LISA_XVSUBWH_Q_DU, LISA_XVADDWEV_H_BU_B, LISA_XVADDWEV_W_HU_H, LISA_XVADDWEV_D_WU_W, LISA_XVADDWEV_Q_DU_D, LISA_XVADDWOD_H_BU_B, LISA_XVADDWOD_W_HU_H, LISA_XVADDWOD_D_WU_W, LISA_XVADDWOD_Q_DU_D, LISA_XVADDWL_H_BU_B, LISA_XVADDWL_W_HU_H, LISA_XVADDWL_D_WU_W, LISA_XVADDWL_Q_DU_D, LISA_XVADDWH_H_BU_B, LISA_XVADDWH_W_HU_H, LISA_XVADDWH_D_WU_W, LISA_XVADDWH_Q_DU_D, LISA_XVSADD_B, LISA_XVSADD_H, LISA_XVSADD_W, LISA_XVSADD_D, LISA_XVSSUB_B, LISA_XVSSUB_H, LISA_XVSSUB_W, LISA_XVSSUB_D, LISA_XVSADD_BU, LISA_XVSADD_HU, LISA_XVSADD_WU, LISA_XVSADD_DU, LISA_XVSSUB_BU, LISA_XVSSUB_HU, LISA_XVSSUB_WU, LISA_XVSSUB_DU, LISA_XVSSUB_BU_BU_B, LISA_XVSSUB_HU_HU_H, LISA_XVSSUB_WU_WU_W, LISA_XVSSUB_DU_DU_D, LISA_XVSSUB_BU_B_BU, LISA_XVSSUB_HU_H_HU, LISA_XVSSUB_WU_W_WU, LISA_XVSSUB_DU_D_DU, LISA_XVSSUB_B_BU_BU, LISA_XVSSUB_H_HU_HU, LISA_XVSSUB_W_WU_WU, LISA_XVSSUB_D_DU_DU, LISA_XVHADDW_H_B, LISA_XVHADDW_W_H, LISA_XVHADDW_D_W, LISA_XVHADDW_Q_D, LISA_XVHSUBW_H_B, LISA_XVHSUBW_W_H, LISA_XVHSUBW_D_W, LISA_XVHSUBW_Q_D, LISA_XVHADDW_HU_BU, LISA_XVHADDW_WU_HU, LISA_XVHADDW_DU_WU, LISA_XVHADDW_QU_DU, LISA_XVHSUBW_HU_BU, LISA_XVHSUBW_WU_HU, LISA_XVHSUBW_DU_WU, LISA_XVHSUBW_QU_DU, LISA_XVADDA_B, LISA_XVADDA_H, LISA_XVADDA_W, LISA_XVADDA_D, LISA_XVSADDA_B, LISA_XVSADDA_H, LISA_XVSADDA_W, LISA_XVSADDA_D, LISA_XVABSD_B, LISA_XVABSD_H, LISA_XVABSD_W, LISA_XVABSD_D, LISA_XVABSD_BU, LISA_XVABSD_HU, LISA_XVABSD_WU, LISA_XVABSD_DU, LISA_XVAVG_B, LISA_XVAVG_H, LISA_XVAVG_W, LISA_XVAVG_D, LISA_XVAVG_BU, LISA_XVAVG_HU, LISA_XVAVG_WU, LISA_XVAVG_DU, LISA_XVAVGR_B, LISA_XVAVGR_H, LISA_XVAVGR_W, LISA_XVAVGR_D, LISA_XVAVGR_BU, LISA_XVAVGR_HU, LISA_XVAVGR_WU, LISA_XVAVGR_DU, LISA_XVHALFD_B, LISA_XVHALFD_H, LISA_XVHALFD_W, LISA_XVHALFD_D, LISA_XVHALFD_BU, LISA_XVHALFD_HU, LISA_XVHALFD_WU, LISA_XVHALFD_DU, LISA_XVMAX_B, LISA_XVMAX_H, LISA_XVMAX_W, LISA_XVMAX_D, LISA_XVMIN_B, LISA_XVMIN_H, LISA_XVMIN_W, LISA_XVMIN_D, LISA_XVMAX_BU, LISA_XVMAX_HU, LISA_XVMAX_WU, LISA_XVMAX_DU, LISA_XVMIN_BU, LISA_XVMIN_HU, LISA_XVMIN_WU, LISA_XVMIN_DU, LISA_XVMAXA_B, LISA_XVMAXA_H, LISA_XVMAXA_W, LISA_XVMAXA_D, LISA_XVMINA_B, LISA_XVMINA_H, LISA_XVMINA_W, LISA_XVMINA_D, LISA_XVSADW_H_B, LISA_XVSADW_W_H, LISA_XVSADW_D_W, LISA_XVSADW_H_BU, LISA_XVSADW_W_HU, LISA_XVSADW_D_WU, LISA_XVACCSADW_H_B, LISA_XVACCSADW_W_H, LISA_XVACCSADW_D_W, LISA_XVACCSADW_H_BU, LISA_XVACCSADW_W_HU, LISA_XVACCSADW_D_WU, LISA_XVMUL_B, LISA_XVMUL_H, LISA_XVMUL_W, LISA_XVMUL_D, LISA_XVMUH_B, LISA_XVMUH_H, LISA_XVMUH_W, LISA_XVMUH_D, LISA_XVMUH_BU, LISA_XVMUH_HU, LISA_XVMUH_WU, LISA_XVMUH_DU, LISA_XVMUH_BU_B, LISA_XVMUH_HU_H, LISA_XVMUH_WU_W, LISA_XVMUH_DU_D, LISA_XVMULXW_H_B, LISA_XVMULXW_W_H, LISA_XVMULXW_D_W, LISA_XVMULXW_H_BU, LISA_XVMULXW_W_HU, LISA_XVMULXW_D_WU, LISA_XVMULWEV_H_B, LISA_XVMULWEV_W_H, LISA_XVMULWEV_D_W, LISA_XVMULWEV_Q_D, LISA_XVMULWOD_H_B, LISA_XVMULWOD_W_H, LISA_XVMULWOD_D_W, LISA_XVMULWOD_Q_D, LISA_XVMULWL_H_B, LISA_XVMULWL_W_H, LISA_XVMULWL_D_W, LISA_XVMULWL_Q_D, LISA_XVMULWH_H_B, LISA_XVMULWH_W_H, LISA_XVMULWH_D_W, LISA_XVMULWH_Q_D, LISA_XVMULWEV_H_BU, LISA_XVMULWEV_W_HU, LISA_XVMULWEV_D_WU, LISA_XVMULWEV_Q_DU, LISA_XVMULWOD_H_BU, LISA_XVMULWOD_W_HU, LISA_XVMULWOD_D_WU, LISA_XVMULWOD_Q_DU, LISA_XVMULWL_H_BU, LISA_XVMULWL_W_HU, LISA_XVMULWL_D_WU, LISA_XVMULWL_Q_DU, LISA_XVMULWH_H_BU, LISA_XVMULWH_W_HU, LISA_XVMULWH_D_WU, LISA_XVMULWH_Q_DU, LISA_XVMULWEV_H_BU_B, LISA_XVMULWEV_W_HU_H, LISA_XVMULWEV_D_WU_W, LISA_XVMULWEV_Q_DU_D, LISA_XVMULWOD_H_BU_B, LISA_XVMULWOD_W_HU_H, LISA_XVMULWOD_D_WU_W, LISA_XVMULWOD_Q_DU_D, LISA_XVMULWL_H_BU_B, LISA_XVMULWL_W_HU_H, LISA_XVMULWL_D_WU_W, LISA_XVMULWL_Q_DU_D, LISA_XVMULWH_H_BU_B, LISA_XVMULWH_W_HU_H, LISA_XVMULWH_D_WU_W, LISA_XVMULWH_Q_DU_D, LISA_XVMADD_B, LISA_XVMADD_H, LISA_XVMADD_W, LISA_XVMADD_D, LISA_XVMSUB_B, LISA_XVMSUB_H, LISA_XVMSUB_W, LISA_XVMSUB_D, LISA_XVMADDWEV_H_B, LISA_XVMADDWEV_W_H, LISA_XVMADDWEV_D_W, LISA_XVMADDWEV_Q_D, LISA_XVMADDWOD_H_B, LISA_XVMADDWOD_W_H, LISA_XVMADDWOD_D_W, LISA_XVMADDWOD_Q_D, LISA_XVMADDWL_H_B, LISA_XVMADDWL_W_H, LISA_XVMADDWL_D_W, LISA_XVMADDWL_Q_D, LISA_XVMADDWH_H_B, LISA_XVMADDWH_W_H, LISA_XVMADDWH_D_W, LISA_XVMADDWH_Q_D, LISA_XVMADDWEV_H_BU, LISA_XVMADDWEV_W_HU, LISA_XVMADDWEV_D_WU, LISA_XVMADDWEV_Q_DU, LISA_XVMADDWOD_H_BU, LISA_XVMADDWOD_W_HU, LISA_XVMADDWOD_D_WU, LISA_XVMADDWOD_Q_DU, LISA_XVMADDWL_H_BU, LISA_XVMADDWL_W_HU, LISA_XVMADDWL_D_WU, LISA_XVMADDWL_Q_DU, LISA_XVMADDWH_H_BU, LISA_XVMADDWH_W_HU, LISA_XVMADDWH_D_WU, LISA_XVMADDWH_Q_DU, LISA_XVMADDWEV_H_BU_B, LISA_XVMADDWEV_W_HU_H, LISA_XVMADDWEV_D_WU_W, LISA_XVMADDWEV_Q_DU_D, LISA_XVMADDWOD_H_BU_B, LISA_XVMADDWOD_W_HU_H, LISA_XVMADDWOD_D_WU_W, LISA_XVMADDWOD_Q_DU_D, LISA_XVMADDWL_H_BU_B, LISA_XVMADDWL_W_HU_H, LISA_XVMADDWL_D_WU_W, LISA_XVMADDWL_Q_DU_D, LISA_XVMADDWH_H_BU_B, LISA_XVMADDWH_W_HU_H, LISA_XVMADDWH_D_WU_W, LISA_XVMADDWH_Q_DU_D, LISA_XVDP2_H_B, LISA_XVDP2_W_H, LISA_XVDP2_D_W, LISA_XVDP2_Q_D, LISA_XVDP2_HU_BU, LISA_XVDP2_WU_HU, LISA_XVDP2_DU_WU, LISA_XVDP2_QU_DU, LISA_XVDP2_H_BU_B, LISA_XVDP2_W_HU_H, LISA_XVDP2_D_WU_W, LISA_XVDP2_Q_DU_D, LISA_XVDP2ADD_H_B, LISA_XVDP2ADD_W_H, LISA_XVDP2ADD_D_W, LISA_XVDP2ADD_Q_D, LISA_XVDP2ADD_H_BU, LISA_XVDP2ADD_W_HU, LISA_XVDP2ADD_D_WU, LISA_XVDP2ADD_Q_DU, LISA_XVDP2ADD_H_BU_B, LISA_XVDP2ADD_W_HU_H, LISA_XVDP2ADD_D_WU_W, LISA_XVDP2ADD_Q_DU_D, LISA_XVDP2SUB_H_B, LISA_XVDP2SUB_W_H, LISA_XVDP2SUB_D_W, LISA_XVDP2SUB_Q_D, LISA_XVDP2SUB_H_BU, LISA_XVDP2SUB_W_HU, LISA_XVDP2SUB_D_WU, LISA_XVDP2SUB_Q_DU, LISA_XVDP4_W_B, LISA_XVDP4_D_H, LISA_XVDP4_Q_W, LISA_XVDP4_W_BU, LISA_XVDP4_D_HU, LISA_XVDP4_Q_WU, LISA_XVDP4_W_BU_B, LISA_XVDP4_D_HU_H, LISA_XVDP4_Q_WU_W, LISA_XVDP4ADD_W_B, LISA_XVDP4ADD_D_H, LISA_XVDP4ADD_Q_W, LISA_XVDP4ADD_W_BU, LISA_XVDP4ADD_D_HU, LISA_XVDP4ADD_Q_WU, LISA_XVDP4ADD_W_BU_B, LISA_XVDP4ADD_D_HU_H, LISA_XVDP4ADD_Q_WU_W, LISA_XVDIV_B, LISA_XVDIV_H, LISA_XVDIV_W, LISA_XVDIV_D, LISA_XVMOD_B, LISA_XVMOD_H, LISA_XVMOD_W, LISA_XVMOD_D, LISA_XVDIV_BU, LISA_XVDIV_HU, LISA_XVDIV_WU, LISA_XVDIV_DU, LISA_XVMOD_BU, LISA_XVMOD_HU, LISA_XVMOD_WU, LISA_XVMOD_DU, LISA_XVSLL_B, LISA_XVSLL_H, LISA_XVSLL_W, LISA_XVSLL_D, LISA_XVSRL_B, LISA_XVSRL_H, LISA_XVSRL_W, LISA_XVSRL_D, LISA_XVSRA_B, LISA_XVSRA_H, LISA_XVSRA_W, LISA_XVSRA_D, LISA_XVROTR_B, LISA_XVROTR_H, LISA_XVROTR_W, LISA_XVROTR_D, LISA_XVSRLR_B, LISA_XVSRLR_H, LISA_XVSRLR_W, LISA_XVSRLR_D, LISA_XVSRAR_B, LISA_XVSRAR_H, LISA_XVSRAR_W, LISA_XVSRAR_D, LISA_XVSRLN_B_H, LISA_XVSRLN_H_W, LISA_XVSRLN_W_D, LISA_XVSRAN_B_H, LISA_XVSRAN_H_W, LISA_XVSRAN_W_D, LISA_XVSRLRN_B_H, LISA_XVSRLRN_H_W, LISA_XVSRLRN_W_D, LISA_XVSRARN_B_H, LISA_XVSRARN_H_W, LISA_XVSRARN_W_D, LISA_XVSSRLN_B_H, LISA_XVSSRLN_H_W, LISA_XVSSRLN_W_D, LISA_XVSSRAN_B_H, LISA_XVSSRAN_H_W, LISA_XVSSRAN_W_D, LISA_XVSSRLRN_B_H, LISA_XVSSRLRN_H_W, LISA_XVSSRLRN_W_D, LISA_XVSSRARN_B_H, LISA_XVSSRARN_H_W, LISA_XVSSRARN_W_D, LISA_XVSSRLN_BU_H, LISA_XVSSRLN_HU_W, LISA_XVSSRLN_WU_D, LISA_XVSSRAN_BU_H, LISA_XVSSRAN_HU_W, LISA_XVSSRAN_WU_D, LISA_XVSSRLRN_BU_H, LISA_XVSSRLRN_HU_W, LISA_XVSSRLRN_WU_D, LISA_XVSSRARN_BU_H, LISA_XVSSRARN_HU_W, LISA_XVSSRARN_WU_D, LISA_XVBITCLR_B, LISA_XVBITCLR_H, LISA_XVBITCLR_W, LISA_XVBITCLR_D, LISA_XVBITSET_B, LISA_XVBITSET_H, LISA_XVBITSET_W, LISA_XVBITSET_D, LISA_XVBITREV_B, LISA_XVBITREV_H, LISA_XVBITREV_W, LISA_XVBITREV_D, LISA_XVBSTRC12_B, LISA_XVBSTRC12_H, LISA_XVBSTRC12_W, LISA_XVBSTRC12_D, LISA_XVBSTRC21_B, LISA_XVBSTRC21_H, LISA_XVBSTRC21_W, LISA_XVBSTRC21_D, LISA_XVPACKEV_B, LISA_XVPACKEV_H, LISA_XVPACKEV_W, LISA_XVPACKEV_D, LISA_XVPACKOD_B, LISA_XVPACKOD_H, LISA_XVPACKOD_W, LISA_XVPACKOD_D, LISA_XVILVL_B, LISA_XVILVL_H, LISA_XVILVL_W, LISA_XVILVL_D, LISA_XVILVH_B, LISA_XVILVH_H, LISA_XVILVH_W, LISA_XVILVH_D, LISA_XVPICKEV_B, LISA_XVPICKEV_H, LISA_XVPICKEV_W, LISA_XVPICKEV_D, LISA_XVPICKOD_B, LISA_XVPICKOD_H, LISA_XVPICKOD_W, LISA_XVPICKOD_D, LISA_XVREPLVE_B, LISA_XVREPLVE_H, LISA_XVREPLVE_W, LISA_XVREPLVE_D, LISA_XVEXTRCOL_B, LISA_XVEXTRCOL_H, LISA_XVEXTRCOL_W, LISA_XVEXTRCOL_D, LISA_XVAND_V, LISA_XVOR_V, LISA_XVXOR_V, LISA_XVNOR_V, LISA_XVANDN_V, LISA_XVORN_V, LISA_XVRANDSIGN_B, LISA_XVRANDSIGN_H, LISA_XVRORSIGN_B, LISA_XVRORSIGN_H, LISA_XVFRSTP_B, LISA_XVFRSTP_H, LISA_XVCLRSTRR_V, LISA_XVCLRSTRV_V, LISA_XVADD_Q, LISA_XVSUB_Q, LISA_XVSIGNCOV_B, LISA_XVSIGNCOV_H, LISA_XVSIGNCOV_W, LISA_XVSIGNCOV_D, LISA_XVFADD_S, LISA_XVFADD_D, LISA_XVFSUB_S, LISA_XVFSUB_D, LISA_XVFADDSUB_S, LISA_XVFADDSUB_D, LISA_XVFSUBADD_S, LISA_XVFSUBADD_D, LISA_XVFMUL_S, LISA_XVFMUL_D, LISA_XVFDIV_S, LISA_XVFDIV_D, LISA_XVFMAX_S, LISA_XVFMAX_D, LISA_XVFMIN_S, LISA_XVFMIN_D, LISA_XVFMAXA_S, LISA_XVFMAXA_D, LISA_XVFMINA_S, LISA_XVFMINA_D, LISA_XVFSCALEB_S, LISA_XVFSCALEB_D, LISA_XVFCVT_H_S, LISA_XVFCVT_S_D, LISA_XVFFINT_S_L, LISA_XVFTINT_W_D, LISA_XVFTINTRM_W_D, LISA_XVFTINTRP_W_D, LISA_XVFTINTRZ_W_D, LISA_XVFTINTRNE_W_D, LISA_XVHADD4_H_BU, LISA_XVSHUF4_W, LISA_XVSHUF2_D, LISA_XVPMUL_W, LISA_XVPMUL_D, LISA_XVPMUH_W, LISA_XVPMUH_D, LISA_XVPMULACC_W, LISA_XVPMULACC_D, LISA_XVPMUHACC_W, LISA_XVPMUHACC_D, LISA_XVPMULWL_H_B, LISA_XVPMULWL_W_H, LISA_XVPMULWL_D_W, LISA_XVPMULWL_Q_D, LISA_XVPMULWH_H_B, LISA_XVPMULWH_W_H, LISA_XVPMULWH_D_W, LISA_XVPMULWH_Q_D, LISA_XVPMADDWL_H_B, LISA_XVPMADDWL_W_H, LISA_XVPMADDWL_D_W, LISA_XVPMADDWL_Q_D, LISA_XVPMADDWH_H_B, LISA_XVPMADDWH_W_H, LISA_XVPMADDWH_D_W, LISA_XVPMADDWH_Q_D, LISA_XVPDP2_Q_D, LISA_XVPDP2ADD_Q_D, LISA_XVCDP4_RE_D_H, LISA_XVCDP4_IM_D_H, LISA_XVCDP4ADD_RE_D_H, LISA_XVCDP4ADD_IM_D_H, LISA_XVCDP2_RE_Q_W, LISA_XVCDP2_IM_Q_W, LISA_XVCDP2ADD_RE_Q_W, LISA_XVCDP2ADD_IM_Q_W, LISA_XVSIGNSEL_W, LISA_XVSIGNSEL_D, LISA_XVSHUF_H, LISA_XVSHUF_W, LISA_XVSHUF_D, LISA_XVPERM_W, LISA_XVSEQI_B, LISA_XVSEQI_H, LISA_XVSEQI_W, LISA_XVSEQI_D, LISA_XVSLEI_B, LISA_XVSLEI_H, LISA_XVSLEI_W, LISA_XVSLEI_D, LISA_XVSLEI_BU, LISA_XVSLEI_HU, LISA_XVSLEI_WU, LISA_XVSLEI_DU, LISA_XVSLTI_B, LISA_XVSLTI_H, LISA_XVSLTI_W, LISA_XVSLTI_D, LISA_XVSLTI_BU, LISA_XVSLTI_HU, LISA_XVSLTI_WU, LISA_XVSLTI_DU, LISA_XVADDI_BU, LISA_XVADDI_HU, LISA_XVADDI_WU, LISA_XVADDI_DU, LISA_XVSUBI_BU, LISA_XVSUBI_HU, LISA_XVSUBI_WU, LISA_XVSUBI_DU, LISA_XVBSLL_V, LISA_XVBSRL_V, LISA_XVMAXI_B, LISA_XVMAXI_H, LISA_XVMAXI_W, LISA_XVMAXI_D, LISA_XVMINI_B, LISA_XVMINI_H, LISA_XVMINI_W, LISA_XVMINI_D, LISA_XVMAXI_BU, LISA_XVMAXI_HU, LISA_XVMAXI_WU, LISA_XVMAXI_DU, LISA_XVMINI_BU, LISA_XVMINI_HU, LISA_XVMINI_WU, LISA_XVMINI_DU, LISA_XVRANDSIGNI_B, LISA_XVRANDSIGNI_H, LISA_XVRORSIGNI_B, LISA_XVRORSIGNI_H, LISA_XVFRSTPI_B, LISA_XVFRSTPI_H, LISA_XVCLRSTRI_V, LISA_XVMEPATMSK_V, LISA_XVCLO_B, LISA_XVCLO_H, LISA_XVCLO_W, LISA_XVCLO_D, LISA_XVCLZ_B, LISA_XVCLZ_H, LISA_XVCLZ_W, LISA_XVCLZ_D, LISA_XVPCNT_B, LISA_XVPCNT_H, LISA_XVPCNT_W, LISA_XVPCNT_D, LISA_XVNEG_B, LISA_XVNEG_H, LISA_XVNEG_W, LISA_XVNEG_D, LISA_XVMSKLTZ_B, LISA_XVMSKLTZ_H, LISA_XVMSKLTZ_W, LISA_XVMSKLTZ_D, LISA_XVMSKGEZ_B, LISA_XVMSKNZ_B, LISA_XVMSKCOPY_B, LISA_XVMSKFILL_B, LISA_XVFRSTM_B, LISA_XVFRSTM_H, LISA_XVSETEQZ_V, LISA_XVSETNEZ_V, LISA_XVSETANYEQZ_B, LISA_XVSETANYEQZ_H, LISA_XVSETANYEQZ_W, LISA_XVSETANYEQZ_D, LISA_XVSETALLNEZ_B, LISA_XVSETALLNEZ_H, LISA_XVSETALLNEZ_W, LISA_XVSETALLNEZ_D, LISA_XVFLOGB_S, LISA_XVFLOGB_D, LISA_XVFCLASS_S, LISA_XVFCLASS_D, LISA_XVFSQRT_S, LISA_XVFSQRT_D, LISA_XVFRECIP_S, LISA_XVFRECIP_D, LISA_XVFRSQRT_S, LISA_XVFRSQRT_D, LISA_XVFRINT_S, LISA_XVFRINT_D, LISA_XVFRINTRM_S, LISA_XVFRINTRM_D, LISA_XVFRINTRP_S, LISA_XVFRINTRP_D, LISA_XVFRINTRZ_S, LISA_XVFRINTRZ_D, LISA_XVFRINTRNE_S, LISA_XVFRINTRNE_D, LISA_XVEXTL_W_B, LISA_XVEXTL_D_B, LISA_XVEXTL_D_H, LISA_XVEXTL_W_BU, LISA_XVEXTL_D_BU, LISA_XVEXTL_D_HU, LISA_XVHADD8_D_BU, LISA_XVHMINPOS_W_HU, LISA_XVHMINPOS_D_HU, LISA_XVHMINPOS_Q_HU, LISA_XVCLRTAIL_B, LISA_XVCLRTAIL_H, LISA_XVFCVTL_S_H, LISA_XVFCVTH_S_H, LISA_XVFCVTL_D_S, LISA_XVFCVTH_D_S, LISA_XVFFINT_S_W, LISA_XVFFINT_S_WU, LISA_XVFFINT_D_L, LISA_XVFFINT_D_LU, LISA_XVFFINTL_D_W, LISA_XVFFINTH_D_W, LISA_XVFTINT_W_S, LISA_XVFTINT_L_D, LISA_XVFTINTRM_W_S, LISA_XVFTINTRM_L_D, LISA_XVFTINTRP_W_S, LISA_XVFTINTRP_L_D, LISA_XVFTINTRZ_W_S, LISA_XVFTINTRZ_L_D, LISA_XVFTINTRNE_W_S, LISA_XVFTINTRNE_L_D, LISA_XVFTINT_WU_S, LISA_XVFTINT_LU_D, LISA_XVFTINTRZ_WU_S, LISA_XVFTINTRZ_LU_D, LISA_XVFTINTL_L_S, LISA_XVFTINTH_L_S, LISA_XVFTINTRML_L_S, LISA_XVFTINTRMH_L_S, LISA_XVFTINTRPL_L_S, LISA_XVFTINTRPH_L_S, LISA_XVFTINTRZL_L_S, LISA_XVFTINTRZH_L_S, LISA_XVFTINTRNEL_L_S, LISA_XVFTINTRNEH_L_S, LISA_XVEXTH_H_B, LISA_XVEXTH_W_H, LISA_XVEXTH_D_W, LISA_XVEXTH_Q_D, LISA_XVEXTH_HU_BU, LISA_XVEXTH_WU_HU, LISA_XVEXTH_DU_WU, LISA_XVEXTH_QU_DU, LISA_XVREPLGR2VR_B, LISA_XVREPLGR2VR_H, LISA_XVREPLGR2VR_W, LISA_XVREPLGR2VR_D, LISA_VEXT2XV_H_B, LISA_VEXT2XV_W_B, LISA_VEXT2XV_D_B, LISA_VEXT2XV_W_H, LISA_VEXT2XV_D_H, LISA_VEXT2XV_D_W, LISA_VEXT2XV_HU_BU, LISA_VEXT2XV_WU_BU, LISA_VEXT2XV_DU_BU, LISA_VEXT2XV_WU_HU, LISA_VEXT2XV_DU_HU, LISA_VEXT2XV_DU_WU, LISA_XVHSELI_D, LISA_XVROTRI_B, LISA_XVROTRI_H, LISA_XVROTRI_W, LISA_XVROTRI_D, LISA_XVSRLRI_B, LISA_XVSRLRI_H, LISA_XVSRLRI_W, LISA_XVSRLRI_D, LISA_XVSRARI_B, LISA_XVSRARI_H, LISA_XVSRARI_W, LISA_XVSRARI_D, LISA_XVINSGR2VR_W, LISA_XVINSGR2VR_D, LISA_XVPICKVE2GR_W, LISA_XVPICKVE2GR_D, LISA_XVPICKVE2GR_WU, LISA_XVPICKVE2GR_DU, LISA_XVREPL128VEI_B, LISA_XVREPL128VEI_H, LISA_XVREPL128VEI_W, LISA_XVREPL128VEI_D, LISA_XVEXTRCOLI_B, LISA_XVEXTRCOLI_H, LISA_XVEXTRCOLI_W, LISA_XVEXTRCOLI_D, LISA_XVINSVE0_W, LISA_XVINSVE0_D, LISA_XVPICKVE_W, LISA_XVPICKVE_D, LISA_XVREPLVE0_B, LISA_XVREPLVE0_H, LISA_XVREPLVE0_W, LISA_XVREPLVE0_D, LISA_XVREPLVE0_Q, LISA_XVSLLWIL_H_B, LISA_XVSLLWIL_W_H, LISA_XVSLLWIL_D_W, LISA_XVEXTL_Q_D, LISA_XVSLLWIL_HU_BU, LISA_XVSLLWIL_WU_HU, LISA_XVSLLWIL_DU_WU, LISA_XVEXTL_QU_DU, LISA_XVBITCLRI_B, LISA_XVBITCLRI_H, LISA_XVBITCLRI_W, LISA_XVBITCLRI_D, LISA_XVBITSETI_B, LISA_XVBITSETI_H, LISA_XVBITSETI_W, LISA_XVBITSETI_D, LISA_XVBITREVI_B, LISA_XVBITREVI_H, LISA_XVBITREVI_W, LISA_XVBITREVI_D, LISA_XVBSTRC12I_B, LISA_XVBSTRC12I_H, LISA_XVBSTRC12I_W, LISA_XVBSTRC12I_D, LISA_XVBSTRC21I_B, LISA_XVBSTRC21I_H, LISA_XVBSTRC21I_W, LISA_XVBSTRC21I_D, LISA_XVSAT_B, LISA_XVSAT_H, LISA_XVSAT_W, LISA_XVSAT_D, LISA_XVSAT_BU, LISA_XVSAT_HU, LISA_XVSAT_WU, LISA_XVSAT_DU, LISA_XVSLLI_B, LISA_XVSLLI_H, LISA_XVSLLI_W, LISA_XVSLLI_D, LISA_XVSRLI_B, LISA_XVSRLI_H, LISA_XVSRLI_W, LISA_XVSRLI_D, LISA_XVSRAI_B, LISA_XVSRAI_H, LISA_XVSRAI_W, LISA_XVSRAI_D, LISA_XVSRLRNENI_B_H, LISA_XVSRLRNENI_H_W, LISA_XVSRLRNENI_W_D, LISA_XVSRLRNENI_D_Q, LISA_XVSRARNENI_B_H, LISA_XVSRARNENI_H_W, LISA_XVSRARNENI_W_D, LISA_XVSRARNENI_D_Q, LISA_XVSRLNI_B_H, LISA_XVSRLNI_H_W, LISA_XVSRLNI_W_D, LISA_XVSRLNI_D_Q, LISA_XVSRLRNI_B_H, LISA_XVSRLRNI_H_W, LISA_XVSRLRNI_W_D, LISA_XVSRLRNI_D_Q, LISA_XVSSRLNI_B_H, LISA_XVSSRLNI_H_W, LISA_XVSSRLNI_W_D, LISA_XVSSRLNI_D_Q, LISA_XVSSRLNI_BU_H, LISA_XVSSRLNI_HU_W, LISA_XVSSRLNI_WU_D, LISA_XVSSRLNI_DU_Q, LISA_XVSSRLRNI_B_H, LISA_XVSSRLRNI_H_W, LISA_XVSSRLRNI_W_D, LISA_XVSSRLRNI_D_Q, LISA_XVSSRLRNI_BU_H, LISA_XVSSRLRNI_HU_W, LISA_XVSSRLRNI_WU_D, LISA_XVSSRLRNI_DU_Q, LISA_XVSRANI_B_H, LISA_XVSRANI_H_W, LISA_XVSRANI_W_D, LISA_XVSRANI_D_Q, LISA_XVSRARNI_B_H, LISA_XVSRARNI_H_W, LISA_XVSRARNI_W_D, LISA_XVSRARNI_D_Q, LISA_XVSSRANI_B_H, LISA_XVSSRANI_H_W, LISA_XVSSRANI_W_D, LISA_XVSSRANI_D_Q, LISA_XVSSRANI_BU_H, LISA_XVSSRANI_HU_W, LISA_XVSSRANI_WU_D, LISA_XVSSRANI_DU_Q, LISA_XVSSRARNI_B_H, LISA_XVSSRARNI_H_W, LISA_XVSSRARNI_W_D, LISA_XVSSRARNI_D_Q, LISA_XVSSRARNI_BU_H, LISA_XVSSRARNI_HU_W, LISA_XVSSRARNI_WU_D, LISA_XVSSRARNI_DU_Q, LISA_XVSSRLRNENI_B_H, LISA_XVSSRLRNENI_H_W, LISA_XVSSRLRNENI_W_D, LISA_XVSSRLRNENI_D_Q, LISA_XVSSRLRNENI_BU_H, LISA_XVSSRLRNENI_HU_W, LISA_XVSSRLRNENI_WU_D, LISA_XVSSRLRNENI_DU_Q, LISA_XVSSRARNENI_B_H, LISA_XVSSRARNENI_H_W, LISA_XVSSRARNENI_W_D, LISA_XVSSRARNENI_D_Q, LISA_XVSSRARNENI_BU_H, LISA_XVSSRARNENI_HU_W, LISA_XVSSRARNENI_WU_D, LISA_XVSSRARNENI_DU_Q, LISA_XVEXTRINS_D, LISA_XVEXTRINS_W, LISA_XVEXTRINS_H, LISA_XVEXTRINS_B, LISA_XVSHUF4I_B, LISA_XVSHUF4I_H, LISA_XVSHUF4I_W, LISA_XVSHUF4I_D, LISA_XVSHUFI1_B, LISA_XVSHUFI2_B, LISA_XVSHUFI3_B, LISA_XVSHUFI4_B, LISA_XVSHUFI1_H, LISA_XVSHUFI2_H, LISA_XVSELI_H, LISA_XVSELI_W, LISA_XVSELI_D, LISA_XVBITSELI_B, LISA_XVBITMVZI_B, LISA_XVBITMVNZI_B, LISA_XVANDI_B, LISA_XVORI_B, LISA_XVXORI_B, LISA_XVNORI_B, LISA_XVLDI, LISA_XVPERMI_W, LISA_XVPERMI_D, LISA_XVPERMI_Q, LISA_ENDING, } IR2_OPCODE; /* IR2_OPND_TYPE */ typedef enum { IR2_OPND_NONE = 80, IR2_OPND_GPR, IR2_OPND_SCR, IR2_OPND_FPR, IR2_OPND_FCSR, /* immediate used in cfc1/ctc1 */ IR2_OPND_CC, /* condition code, FCC field in FCSR */ IR2_OPND_IMM, /* immediate */ IR2_OPND_LABEL, IR2_OPND_MEM, /* middle type. not used as backend */ } IR2_OPND_TYPE; /* Operand Bit Field Type */ typedef enum { OPD_INVALID = 0, FCC_CA, FCC_CD, FCC_CJ, IMM_CODE, IMM_CONDF, IMM_CONDH, IMM_CONDL, OPD_CSR, FPR_FA, OPD_FCSRH, OPD_FCSRL, FPR_FD, FPR_FJ, FPR_FK, IMM_HINTL, IMM_HINTS, IMM_I13, IMM_IDXS, IMM_IDXM, IMM_IDXL, IMM_IDXLL, IMM_LEVEL, IMM_LSBD, IMM_LSBW, IMM_MODE, IMM_MSBD, IMM_MSBW, IMM_OFFS, IMM_OFFL, IMM_OFFLL, OPD_OPCACHE, IMM_OPX86, IMM_PTR, GPR_RD, GPR_RJ, GPR_RK, IMM_SA2, IMM_SA3, SCR_SD, IMM_SEQ, IMM_SI10, IMM_SI11, IMM_SI12, IMM_SI14, IMM_SI16, IMM_SI20, IMM_SI5, IMM_SI8, IMM_SI9, SCR_SJ, IMM_UI1, IMM_UI12, IMM_UI2, IMM_UI3, IMM_UI4, IMM_UI5H, IMM_UI5L, IMM_UI6, IMM_UI7, IMM_UI8, FPR_VA, FPR_VD, FPR_VJ, FPR_VK, FPR_XA, FPR_XD, FPR_XJ, FPR_XK, } GM_OPERAND_TYPE; extern const IR2_OPND_TYPE ir2_opnd_type_table[]; /* Opcode Format */ typedef struct pair { int start; int end; } pair; typedef struct { GM_OPERAND_TYPE type; pair bit_range_0; pair bit_range_1; /* some branch offset is splited into 2 parts */ } GM_OPERAND_PLACE_RELATION; typedef struct { IR2_OPCODE op; uint32_t opcode; GM_OPERAND_TYPE opnd[4]; } GM_LA_OPCODE_FORMAT; extern const GM_OPERAND_PLACE_RELATION bit_field_table[]; extern const GM_LA_OPCODE_FORMAT lisa_format_table[]; typedef IR2_OPCODE LA_OPCODE; typedef IR2_OPND_TYPE LA_OPND_TYPE; typedef struct { int val; } LA_OPND; typedef struct Ins { LA_OPCODE op; LA_OPND opnd[4]; int opnd_count; /* linked list */ struct Ins *prev; struct Ins *next; } Ins; struct LoongArch64LSInstructionInfo { int instructionSize = 4; bool isIntegerLoadStore; bool isFPLoadStore; int size; // 0 = 8-bit, 1 = 16-bit, 2 = 32-bit, 3 = 64-bit bool isMemoryWrite; }; uint32_t la_assemble(Ins *ins); void la_disasm(uint32_t opcode, Ins *ins); LA_OPCODE get_ins_op(uint32_t insn); int extract_opnd_val(uint32_t insn, GM_OPERAND_TYPE type); LA_OPND_TYPE get_opnd_type(Ins *ins, int i); const char *ins_name(Ins *ins); const char *gpr_name(uint32_t gpr); void sprint_op(LA_OPCODE op, char *msg); void sprint_ins(Ins *ins, char *msg); void sprint_disasm(uint32_t opcode, char *msg); void print_op(LA_OPCODE op); void print_ins(Ins *ins); void print_disasm(uint32_t opcode); bool LoongArch64AnalyzeLoadStore(uint64_t addr, uint32_t opcode, LoongArch64LSInstructionInfo *info); #endif