/*
 * 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.
 */

#include "loongarch-disasm.h"
#include <cstdlib>
#include <cstdio>
#include <cstring>

const IR2_OPND_TYPE ir2_opnd_type_table[] ={
    IR2_OPND_NONE, //OPD_INVALID
    IR2_OPND_CC, //FCC_CA
    IR2_OPND_CC, //FCC_CD
    IR2_OPND_CC, //FCC_CJ
    IR2_OPND_NONE, //IMM_CODE
    IR2_OPND_IMM, //IMM_CONDF
    IR2_OPND_IMM, //IMM_CONDH
    IR2_OPND_IMM, //IMM_CONDL
    IR2_OPND_NONE, //OPD_CSR
    IR2_OPND_FPR, //FPR_FA
    IR2_OPND_FCSR, //OPD_FCSRH
    IR2_OPND_FCSR, //OPD_FCSRL
    IR2_OPND_FPR, //FPR_FD
    IR2_OPND_FPR, //FPR_FJ
    IR2_OPND_FPR, //FPR_FK
    IR2_OPND_IMM, //IMM_HINTL
    IR2_OPND_IMM, //IMM_HINTS
    IR2_OPND_IMM, //IMM_I13
    IR2_OPND_NONE, //IMM_IDXS
    IR2_OPND_NONE, //IMM_IDXM
    IR2_OPND_NONE, //IMM_IDXL
    IR2_OPND_NONE, //IMM_IDXLL
    IR2_OPND_NONE, //IMM_LEVEL
    IR2_OPND_IMM, //IMM_LSBD
    IR2_OPND_IMM, //IMM_LSBW
    IR2_OPND_IMM, //IMM_MODE
    IR2_OPND_IMM, //IMM_MSBD
    IR2_OPND_IMM, //IMM_MSBW
    IR2_OPND_IMM, //IMM_OFFS
    IR2_OPND_IMM, //IMM_OFFL
    IR2_OPND_IMM, //IMM_OFFLL
    IR2_OPND_NONE, //OPD_OPCACHE
    IR2_OPND_IMM, //IMM_OPX86
    IR2_OPND_IMM, //IMM_PTR
    IR2_OPND_GPR, //GPR_RD
    IR2_OPND_GPR, //GPR_RJ
    IR2_OPND_GPR, //GPR_RK
    IR2_OPND_IMM, //IMM_SA2
    IR2_OPND_IMM, //IMM_SA3
    IR2_OPND_SCR, //SCR_SD
    IR2_OPND_NONE, //IMM_SEQ
    IR2_OPND_IMM, //IMM_SI10
    IR2_OPND_IMM, //IMM_SI11
    IR2_OPND_IMM, //IMM_SI12
    IR2_OPND_IMM, //IMM_SI14
    IR2_OPND_IMM, //IMM_SI16
    IR2_OPND_IMM, //IMM_SI20
    IR2_OPND_IMM, //IMM_SI5
    IR2_OPND_IMM, //IMM_SI8
    IR2_OPND_IMM, //IMM_SI9
    IR2_OPND_SCR, //SCR_SJ
    IR2_OPND_IMM, //IMM_UI1
    IR2_OPND_IMM, //IMM_UI12
    IR2_OPND_IMM, //IMM_UI2
    IR2_OPND_IMM, //IMM_UI3
    IR2_OPND_IMM, //IMM_UI4
    IR2_OPND_IMM, //IMM_UI5H
    IR2_OPND_IMM, //IMM_UI5L
    IR2_OPND_IMM, //IMM_UI6
    IR2_OPND_IMM, //IMM_UI7
    IR2_OPND_IMM, //IMM_UI8
    IR2_OPND_FPR, //FPR_VA
    IR2_OPND_FPR, //FPR_VD
    IR2_OPND_FPR, //FPR_VJ
    IR2_OPND_FPR, //FPR_VK
    IR2_OPND_FPR, //FPR_XA
    IR2_OPND_FPR, //FPR_XD
    IR2_OPND_FPR, //FPR_XJ
    IR2_OPND_FPR, //FPR_XK
};

const GM_OPERAND_PLACE_RELATION bit_field_table[] = {
    {OPD_INVALID, {-1, -1}, {-1, -1} },
    {FCC_CA, {15, 17}, {-1, -1} },
    {FCC_CD, {0, 2}, {-1, -1} },
    {FCC_CJ, {5, 7}, {-1, -1} },
    {IMM_CODE, {0, 14}, {-1, -1} },
    {IMM_CONDF, {15, 19}, {-1, -1} },
    {IMM_CONDH, {10, 13}, {-1, -1} },
    {IMM_CONDL, {0, 3}, {-1, -1} },
    {OPD_CSR, {10, 23}, {-1, -1} },
    {FPR_FA, {15, 19}, {-1, -1} },
    {OPD_FCSRH, {5, 9}, {-1, -1} },
    {OPD_FCSRL, {0, 4}, {-1, -1} },
    {FPR_FD, {0, 4}, {-1, -1} },
    {FPR_FJ, {5, 9}, {-1, -1} },
    {FPR_FK, {10, 14}, {-1, -1} },
    {IMM_HINTL, {0, 14}, {-1, -1} },
    {IMM_HINTS, {0, 4}, {-1, -1} },
    {IMM_I13, {5, 17}, {-1, -1} },
    {IMM_IDXS, {18, 18}, {-1, -1} },
    {IMM_IDXM, {18, 19}, {-1, -1} },
    {IMM_IDXL, {18, 20}, {-1, -1} },
    {IMM_IDXLL, {18, 21}, {-1, -1} },
    {IMM_LEVEL, {10, 17}, {-1, -1} },
    {IMM_LSBD, {10, 15}, {-1, -1} },
    {IMM_LSBW, {10, 14}, {-1, -1} },
    {IMM_MODE, {5, 9}, {-1, -1} },
    {IMM_MSBD, {16, 21}, {-1, -1} },
    {IMM_MSBW, {16, 20}, {-1, -1} },
    {IMM_OFFS, {10, 25}, {-1, -1} },
    {IMM_OFFL, {10, 25}, {0, 4} },
    {IMM_OFFLL, {10, 25}, {0, 9} },
    {OPD_OPCACHE, {0, 4}, {-1, -1} },
    {IMM_OPX86, {5, 9}, {-1, -1} },
    {IMM_PTR, {5, 7}, {-1, -1} },
    {GPR_RD, {0, 4}, {-1, -1} },
    {GPR_RJ, {5, 9}, {-1, -1} },
    {GPR_RK, {10, 14}, {-1, -1} },
    {IMM_SA2, {15, 16}, {-1, -1} },
    {IMM_SA3, {15, 17}, {-1, -1} },
    {SCR_SD, {0, 1}, {-1, -1} },
    {IMM_SEQ, {10, 17}, {-1, -1} },
    {IMM_SI10, {10, 19}, {-1, -1} },
    {IMM_SI11, {10, 20}, {-1, -1} },
    {IMM_SI12, {10, 21}, {-1, -1} },
    {IMM_SI14, {10, 23}, {-1, -1} },
    {IMM_SI16, {10, 25}, {-1, -1} },
    {IMM_SI20, {5, 24}, {-1, -1} },
    {IMM_SI5, {10, 14}, {-1, -1} },
    {IMM_SI8, {10, 17}, {-1, -1} },
    {IMM_SI9, {10, 18}, {-1, -1} },
    {SCR_SJ, {5, 6}, {-1, -1} },
    {IMM_UI1, {10, 10}, {-1, -1} },
    {IMM_UI12, {10, 21}, {-1, -1} },
    {IMM_UI2, {10, 11}, {-1, -1} },
    {IMM_UI3, {10, 12}, {-1, -1} },
    {IMM_UI4, {10, 13}, {-1, -1} },
    {IMM_UI5H, {15, 19}, {-1, -1} },
    {IMM_UI5L, {10, 14}, {-1, -1} },
    {IMM_UI6, {10, 15}, {-1, -1} },
    {IMM_UI7, {10, 16}, {-1, -1} },
    {IMM_UI8, {10, 17}, {-1, -1} },
    {FPR_VA, {15, 19}, {-1, -1} },
    {FPR_VD, {0, 4}, {-1, -1} },
    {FPR_VJ, {5, 9}, {-1, -1} },
    {FPR_VK, {10, 14}, {-1, -1} },
    {FPR_XA, {15, 19}, {-1, -1} },
    {FPR_XD, {0, 4}, {-1, -1} },
    {FPR_XJ, {5, 9}, {-1, -1} },
    {FPR_XK, {10, 14}, {-1, -1} },
};

const GM_LA_OPCODE_FORMAT lisa_format_table[] = {
    {LISA_INVALID, 0x0, {OPD_INVALID}},
    {LISA_ILL, 0xffffffff, {OPD_INVALID}},
    {LISA_LABEL, 0x0, {OPD_INVALID}},
    {LISA_X86_INST, 0x0, {OPD_INVALID}},
    {LISA_DUP, 0x0, {OPD_INVALID}},
    {LISA_MOV64, 0x0, {OPD_INVALID}},
    {LISA_MOV32_SX, 0x0, {OPD_INVALID}},
    {LISA_MOV32_ZX, 0x0, {OPD_INVALID}},
    {LISA_CLR_H32, 0x0, {OPD_INVALID}},
    {LISA_ADD, 0x0, {OPD_INVALID}},
    {LISA_SUB, 0x0, {OPD_INVALID}},
    {LISA_ADDI_ADDRX, 0x0, {OPD_INVALID}},
    {LISA_LOAD_ADDRX, 0x0, {OPD_INVALID}},
    {LISA_STORE_ADDRX, 0x0, {OPD_INVALID}},
    {LISA_GR2SCR, 0x00000800, {SCR_SD, GPR_RJ}},
    {LISA_SCR2GR, 0x00000c00, {GPR_RD, SCR_SJ}},
    {LISA_CLO_W, 0x00001000, {GPR_RD, GPR_RJ}},
    {LISA_CLZ_W, 0x00001400, {GPR_RD, GPR_RJ}},
    {LISA_CTO_W, 0x00001800, {GPR_RD, GPR_RJ}},
    {LISA_CTZ_W, 0x00001c00, {GPR_RD, GPR_RJ}},
    {LISA_CLO_D, 0x00002000, {GPR_RD, GPR_RJ}},
    {LISA_CLZ_D, 0x00002400, {GPR_RD, GPR_RJ}},
    {LISA_CTO_D, 0x00002800, {GPR_RD, GPR_RJ}},
    {LISA_CTZ_D, 0x00002c00, {GPR_RD, GPR_RJ}},
    {LISA_REVB_2H, 0x00003000, {GPR_RD, GPR_RJ}},
    {LISA_REVB_4H, 0x00003400, {GPR_RD, GPR_RJ}},
    {LISA_REVB_2W, 0x00003800, {GPR_RD, GPR_RJ}},
    {LISA_REVB_D, 0x00003c00, {GPR_RD, GPR_RJ}},
    {LISA_REVH_2W, 0x00004000, {GPR_RD, GPR_RJ}},
    {LISA_REVH_D, 0x00004400, {GPR_RD, GPR_RJ}},
    {LISA_BITREV_4B, 0x00004800, {GPR_RD, GPR_RJ}},
    {LISA_BITREV_8B, 0x00004c00, {GPR_RD, GPR_RJ}},
    {LISA_BITREV_W, 0x00005000, {GPR_RD, GPR_RJ}},
    {LISA_BITREV_D, 0x00005400, {GPR_RD, GPR_RJ}},
    {LISA_EXT_W_H, 0x00005800, {GPR_RD, GPR_RJ}},
    {LISA_EXT_W_B, 0x00005c00, {GPR_RD, GPR_RJ}},
    {LISA_RDTIMEL_W, 0x00006000, {GPR_RD, GPR_RJ}},
    {LISA_RDTIMEH_W, 0x00006400, {GPR_RD, GPR_RJ}},
    {LISA_RDTIME_D, 0x00006800, {GPR_RD, GPR_RJ}},
    {LISA_CPUCFG, 0x00006c00, {GPR_RD, GPR_RJ}},
    {LISA_X86MTTOP, 0x00007000, {IMM_PTR}},
    {LISA_X86MFTOP, 0x00007400, {GPR_RD}},
    {LISA_X86LOOPE, 0x00007800, {GPR_RD, GPR_RJ}},
    {LISA_X86LOOPNE, 0x00007c00, {GPR_RD, GPR_RJ}},
    {LISA_X86INC_B, 0x00008000, {GPR_RJ}},
    {LISA_X86INC_H, 0x00008001, {GPR_RJ}},
    {LISA_X86INC_W, 0x00008002, {GPR_RJ}},
    {LISA_X86INC_D, 0x00008003, {GPR_RJ}},
    {LISA_X86DEC_B, 0x00008004, {GPR_RJ}},
    {LISA_X86DEC_H, 0x00008005, {GPR_RJ}},
    {LISA_X86DEC_W, 0x00008006, {GPR_RJ}},
    {LISA_X86DEC_D, 0x00008007, {GPR_RJ}},
    {LISA_X86SETTM, 0x00008008, {}},
    {LISA_X86CLRTM, 0x00008028, {}},
    {LISA_X86INCTOP, 0x00008009, {}},
    {LISA_X86DECTOP, 0x00008029, {}},
    {LISA_ASRTLE_D, 0x00010000, {GPR_RJ, GPR_RK}},
    {LISA_ASRTGT_D, 0x00018000, {GPR_RJ, GPR_RK}},
    {LISA_ALSL_W, 0x00040000, {GPR_RD, GPR_RJ, GPR_RK, IMM_SA2}},
    {LISA_ALSL_WU, 0x00060000, {GPR_RD, GPR_RJ, GPR_RK, IMM_SA2}},
    {LISA_BYTEPICK_W, 0x00080000, {GPR_RD, GPR_RJ, GPR_RK, IMM_SA2}},
    {LISA_BYTEPICK_D, 0x000c0000, {GPR_RD, GPR_RJ, GPR_RK, IMM_SA3}},
    {LISA_ADD_W, 0x00100000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_ADD_D, 0x00108000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_SUB_W, 0x00110000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_SUB_D, 0x00118000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_SLT, 0x00120000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_SLTU, 0x00128000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_MASKEQZ, 0x00130000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_MASKNEZ, 0x00138000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_NOR, 0x00140000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_AND, 0x00148000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_OR, 0x00150000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_XOR, 0x00158000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_ORN, 0x00160000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_ANDN, 0x00168000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_SLL_W, 0x00170000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_SRL_W, 0x00178000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_SRA_W, 0x00180000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_SLL_D, 0x00188000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_SRL_D, 0x00190000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_SRA_D, 0x00198000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_ROTR_B, 0x001a0000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_ROTR_H, 0x001a8000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_ROTR_W, 0x001b0000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_ROTR_D, 0x001b8000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_MUL_W, 0x001c0000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_MULH_W, 0x001c8000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_MULH_WU, 0x001d0000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_MUL_D, 0x001d8000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_MULH_D, 0x001e0000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_MULH_DU, 0x001e8000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_MULW_D_W, 0x001f0000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_MULW_D_WU, 0x001f8000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_DIV_W, 0x00200000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_MOD_W, 0x00208000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_DIV_WU, 0x00210000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_MOD_WU, 0x00218000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_DIV_D, 0x00220000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_MOD_D, 0x00228000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_DIV_DU, 0x00230000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_MOD_DU, 0x00238000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_CRC_W_B_W, 0x00240000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_CRC_W_H_W, 0x00248000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_CRC_W_W_W, 0x00250000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_CRC_W_D_W, 0x00258000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_CRCC_W_B_W, 0x00260000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_CRCC_W_H_W, 0x00268000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_CRCC_W_W_W, 0x00270000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_CRCC_W_D_W, 0x00278000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_ADDU12I_W, 0x00290000, {GPR_RD, GPR_RJ, IMM_SI5}},
    {LISA_ADDU12I_D, 0x00298000, {GPR_RD, GPR_RJ, IMM_SI5}},
    {LISA_BREAK, 0x002a0000, {IMM_CODE}},
    {LISA_DBGCALL, 0x002a8000, {IMM_CODE}},
    {LISA_SYSCALL, 0x002b0000, {IMM_CODE}},
    {LISA_HYPCALL, 0x002b8000, {IMM_CODE}},
    {LISA_ALSL_D, 0x002c0000, {GPR_RD, GPR_RJ, GPR_RK, IMM_SA2}},
    {LISA_ADC_B, 0x00300000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_ADC_H, 0x00308000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_ADC_W, 0x00310000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_ADC_D, 0x00318000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_SBC_B, 0x00320000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_SBC_H, 0x00328000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_SBC_W, 0x00330000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_SBC_D, 0x00338000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_RCR_B, 0x00340000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_RCR_H, 0x00348000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_RCR_W, 0x00350000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_RCR_D, 0x00358000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_ARMMOVE, 0x00364000, {GPR_RD, GPR_RJ, IMM_CONDH}},
    {LISA_SETX86J, 0x00368000, {GPR_RD, IMM_CONDH}},
    {LISA_SETARMJ, 0x0036c000, {GPR_RD, IMM_CONDH}},
    {LISA_ARMADD_W, 0x00370010, {GPR_RJ, GPR_RK, IMM_CONDL}},
    {LISA_ARMSUB_W, 0x00378010, {GPR_RJ, GPR_RK, IMM_CONDL}},
    {LISA_ARMADC_W, 0x00380010, {GPR_RJ, GPR_RK, IMM_CONDL}},
    {LISA_ARMSBC_W, 0x00388010, {GPR_RJ, GPR_RK, IMM_CONDL}},
    {LISA_ARMAND_W, 0x00390010, {GPR_RJ, GPR_RK, IMM_CONDL}},
    {LISA_ARMOR_W, 0x00398010, {GPR_RJ, GPR_RK, IMM_CONDL}},
    {LISA_ARMXOR_W, 0x003a0010, {GPR_RJ, GPR_RK, IMM_CONDL}},
    {LISA_ARMSLL_W, 0x003a8010, {GPR_RJ, GPR_RK, IMM_CONDL}},
    {LISA_ARMSRL_W, 0x003b0010, {GPR_RJ, GPR_RK, IMM_CONDL}},
    {LISA_ARMSRA_W, 0x003b8010, {GPR_RJ, GPR_RK, IMM_CONDL}},
    {LISA_ARMROTR_W, 0x003c0010, {GPR_RJ, GPR_RK, IMM_CONDL}},
    {LISA_ARMSLLI_W, 0x003c8010, {GPR_RJ, IMM_UI5L, IMM_CONDL}},
    {LISA_ARMSRLI_W, 0x003d0010, {GPR_RJ, IMM_UI5L, IMM_CONDL}},
    {LISA_ARMSRAI_W, 0x003d8010, {GPR_RJ, IMM_UI5L, IMM_CONDL}},
    {LISA_ARMROTRI_W, 0x003e0010, {GPR_RJ, IMM_UI5L, IMM_CONDL}},
    {LISA_X86MUL_B, 0x003e8000, {GPR_RJ, GPR_RK}},
    {LISA_X86MUL_H, 0x003e8001, {GPR_RJ, GPR_RK}},
    {LISA_X86MUL_W, 0x003e8002, {GPR_RJ, GPR_RK}},
    {LISA_X86MUL_D, 0x003e8003, {GPR_RJ, GPR_RK}},
    {LISA_X86MUL_BU, 0x003e8004, {GPR_RJ, GPR_RK}},
    {LISA_X86MUL_HU, 0x003e8005, {GPR_RJ, GPR_RK}},
    {LISA_X86MUL_WU, 0x003e8006, {GPR_RJ, GPR_RK}},
    {LISA_X86MUL_DU, 0x003e8007, {GPR_RJ, GPR_RK}},
    {LISA_X86ADD_WU, 0x003f0000, {GPR_RJ, GPR_RK}},
    {LISA_X86ADD_DU, 0x003f0001, {GPR_RJ, GPR_RK}},
    {LISA_X86SUB_WU, 0x003f0002, {GPR_RJ, GPR_RK}},
    {LISA_X86SUB_DU, 0x003f0003, {GPR_RJ, GPR_RK}},
    {LISA_X86ADD_B, 0x003f0004, {GPR_RJ, GPR_RK}},
    {LISA_X86ADD_H, 0x003f0005, {GPR_RJ, GPR_RK}},
    {LISA_X86ADD_W, 0x003f0006, {GPR_RJ, GPR_RK}},
    {LISA_X86ADD_D, 0x003f0007, {GPR_RJ, GPR_RK}},
    {LISA_X86SUB_B, 0x003f0008, {GPR_RJ, GPR_RK}},
    {LISA_X86SUB_H, 0x003f0009, {GPR_RJ, GPR_RK}},
    {LISA_X86SUB_W, 0x003f000a, {GPR_RJ, GPR_RK}},
    {LISA_X86SUB_D, 0x003f000b, {GPR_RJ, GPR_RK}},
    {LISA_X86ADC_B, 0x003f000c, {GPR_RJ, GPR_RK}},
    {LISA_X86ADC_H, 0x003f000d, {GPR_RJ, GPR_RK}},
    {LISA_X86ADC_W, 0x003f000e, {GPR_RJ, GPR_RK}},
    {LISA_X86ADC_D, 0x003f000f, {GPR_RJ, GPR_RK}},
    {LISA_X86SBC_B, 0x003f0010, {GPR_RJ, GPR_RK}},
    {LISA_X86SBC_H, 0x003f0011, {GPR_RJ, GPR_RK}},
    {LISA_X86SBC_W, 0x003f0012, {GPR_RJ, GPR_RK}},
    {LISA_X86SBC_D, 0x003f0013, {GPR_RJ, GPR_RK}},
    {LISA_X86SLL_B, 0x003f0014, {GPR_RJ, GPR_RK}},
    {LISA_X86SLL_H, 0x003f0015, {GPR_RJ, GPR_RK}},
    {LISA_X86SLL_W, 0x003f0016, {GPR_RJ, GPR_RK}},
    {LISA_X86SLL_D, 0x003f0017, {GPR_RJ, GPR_RK}},
    {LISA_X86SRL_B, 0x003f0018, {GPR_RJ, GPR_RK}},
    {LISA_X86SRL_H, 0x003f0019, {GPR_RJ, GPR_RK}},
    {LISA_X86SRL_W, 0x003f001a, {GPR_RJ, GPR_RK}},
    {LISA_X86SRL_D, 0x003f001b, {GPR_RJ, GPR_RK}},
    {LISA_X86SRA_B, 0x003f001c, {GPR_RJ, GPR_RK}},
    {LISA_X86SRA_H, 0x003f001d, {GPR_RJ, GPR_RK}},
    {LISA_X86SRA_W, 0x003f001e, {GPR_RJ, GPR_RK}},
    {LISA_X86SRA_D, 0x003f001f, {GPR_RJ, GPR_RK}},
    {LISA_X86ROTR_B, 0x003f8000, {GPR_RJ, GPR_RK}},
    {LISA_X86ROTR_H, 0x003f8001, {GPR_RJ, GPR_RK}},
    {LISA_X86ROTR_D, 0x003f8002, {GPR_RJ, GPR_RK}},
    {LISA_X86ROTR_W, 0x003f8003, {GPR_RJ, GPR_RK}},
    {LISA_X86ROTL_B, 0x003f8004, {GPR_RJ, GPR_RK}},
    {LISA_X86ROTL_H, 0x003f8005, {GPR_RJ, GPR_RK}},
    {LISA_X86ROTL_W, 0x003f8006, {GPR_RJ, GPR_RK}},
    {LISA_X86ROTL_D, 0x003f8007, {GPR_RJ, GPR_RK}},
    {LISA_X86RCR_B, 0x003f8008, {GPR_RJ, GPR_RK}},
    {LISA_X86RCR_H, 0x003f8009, {GPR_RJ, GPR_RK}},
    {LISA_X86RCR_W, 0x003f800a, {GPR_RJ, GPR_RK}},
    {LISA_X86RCR_D, 0x003f800b, {GPR_RJ, GPR_RK}},
    {LISA_X86RCL_B, 0x003f800c, {GPR_RJ, GPR_RK}},
    {LISA_X86RCL_H, 0x003f800d, {GPR_RJ, GPR_RK}},
    {LISA_X86RCL_W, 0x003f800e, {GPR_RJ, GPR_RK}},
    {LISA_X86RCL_D, 0x003f800f, {GPR_RJ, GPR_RK}},
    {LISA_X86AND_B, 0x003f8010, {GPR_RJ, GPR_RK}},
    {LISA_X86AND_H, 0x003f8011, {GPR_RJ, GPR_RK}},
    {LISA_X86AND_W, 0x003f8012, {GPR_RJ, GPR_RK}},
    {LISA_X86AND_D, 0x003f8013, {GPR_RJ, GPR_RK}},
    {LISA_X86OR_B, 0x003f8014, {GPR_RJ, GPR_RK}},
    {LISA_X86OR_H, 0x003f8015, {GPR_RJ, GPR_RK}},
    {LISA_X86OR_W, 0x003f8016, {GPR_RJ, GPR_RK}},
    {LISA_X86OR_D, 0x003f8017, {GPR_RJ, GPR_RK}},
    {LISA_X86XOR_B, 0x003f8018, {GPR_RJ, GPR_RK}},
    {LISA_X86XOR_H, 0x003f8019, {GPR_RJ, GPR_RK}},
    {LISA_X86XOR_W, 0x003f801a, {GPR_RJ, GPR_RK}},
    {LISA_X86XOR_D, 0x003f801b, {GPR_RJ, GPR_RK}},
    {LISA_ARMNOT_W, 0x003fc01c, {GPR_RJ, IMM_CONDH}},
    {LISA_ARMMOV_W, 0x003fc01d, {GPR_RJ, IMM_CONDH}},
    {LISA_ARMMOV_D, 0x003fc01e, {GPR_RJ, IMM_CONDH}},
    {LISA_ARMRRX_W, 0x003fc01f, {GPR_RJ, IMM_CONDH}},
    {LISA_SLLI_W, 0x00408000, {GPR_RD, GPR_RJ, IMM_UI5L}},
    {LISA_SLLI_D, 0x00410000, {GPR_RD, GPR_RJ, IMM_UI6}},
    {LISA_SRLI_W, 0x00448000, {GPR_RD, GPR_RJ, IMM_UI5L}},
    {LISA_SRLI_D, 0x00450000, {GPR_RD, GPR_RJ, IMM_UI6}},
    {LISA_SRAI_W, 0x00488000, {GPR_RD, GPR_RJ, IMM_UI5L}},
    {LISA_SRAI_D, 0x00490000, {GPR_RD, GPR_RJ, IMM_UI6}},
    {LISA_ROTRI_B, 0x004c2000, {GPR_RD, GPR_RJ, IMM_UI3}},
    {LISA_ROTRI_H, 0x004c4000, {GPR_RD, GPR_RJ, IMM_UI4}},
    {LISA_ROTRI_W, 0x004c8000, {GPR_RD, GPR_RJ, IMM_UI5L}},
    {LISA_ROTRI_D, 0x004d0000, {GPR_RD, GPR_RJ, IMM_UI6}},
    {LISA_RCRI_B, 0x00502000, {GPR_RD, GPR_RJ, IMM_UI3}},
    {LISA_RCRI_H, 0x00504000, {GPR_RD, GPR_RJ, IMM_UI4}},
    {LISA_RCRI_W, 0x00508000, {GPR_RD, GPR_RJ, IMM_UI5L}},
    {LISA_RCRI_D, 0x00510000, {GPR_RD, GPR_RJ, IMM_UI6}},
    {LISA_X86SLLI_B, 0x00542000, {GPR_RJ, IMM_UI3}},
    {LISA_X86SLLI_H, 0x00544001, {GPR_RJ, IMM_UI4}},
    {LISA_X86SLLI_W, 0x00548002, {GPR_RJ, IMM_UI5L}},
    {LISA_X86SLLI_D, 0x00550003, {GPR_RJ, IMM_UI6}},
    {LISA_X86SRLI_B, 0x00542004, {GPR_RJ, IMM_UI3}},
    {LISA_X86SRLI_H, 0x00544005, {GPR_RJ, IMM_UI4}},
    {LISA_X86SRLI_W, 0x00548006, {GPR_RJ, IMM_UI5L}},
    {LISA_X86SRLI_D, 0x00550007, {GPR_RJ, IMM_UI6}},
    {LISA_X86SRAI_B, 0x00542008, {GPR_RJ, IMM_UI3}},
    {LISA_X86SRAI_H, 0x00544009, {GPR_RJ, IMM_UI4}},
    {LISA_X86SRAI_W, 0x0054800a, {GPR_RJ, IMM_UI5L}},
    {LISA_X86SRAI_D, 0x0055000b, {GPR_RJ, IMM_UI6}},
    {LISA_X86ROTRI_B, 0x0054200c, {GPR_RJ, IMM_UI3}},
    {LISA_X86ROTRI_H, 0x0054400d, {GPR_RJ, IMM_UI4}},
    {LISA_X86ROTRI_W, 0x0054800e, {GPR_RJ, IMM_UI5L}},
    {LISA_X86ROTRI_D, 0x0055000f, {GPR_RJ, IMM_UI6}},
    {LISA_X86RCRI_B, 0x00542010, {GPR_RJ, IMM_UI3}},
    {LISA_X86RCRI_H, 0x00544011, {GPR_RJ, IMM_UI4}},
    {LISA_X86RCRI_W, 0x00548012, {GPR_RJ, IMM_UI5L}},
    {LISA_X86RCRI_D, 0x00550013, {GPR_RJ, IMM_UI6}},
    {LISA_X86ROTLI_B, 0x00542014, {GPR_RJ, IMM_UI3}},
    {LISA_X86ROTLI_H, 0x00544015, {GPR_RJ, IMM_UI4}},
    {LISA_X86ROTLI_W, 0x00548016, {GPR_RJ, IMM_UI5L}},
    {LISA_X86ROTLI_D, 0x00550017, {GPR_RJ, IMM_UI6}},
    {LISA_X86RCLI_B, 0x00542018, {GPR_RJ, IMM_UI3}},
    {LISA_X86RCLI_H, 0x00544019, {GPR_RJ, IMM_UI4}},
    {LISA_X86RCLI_W, 0x0054801a, {GPR_RJ, IMM_UI5L}},
    {LISA_X86RCLI_D, 0x0055001b, {GPR_RJ, IMM_UI6}},
    {LISA_X86SETTAG, 0x00580000, {GPR_RD, IMM_OPX86, IMM_UI8}},
    {LISA_X86MFFLAG, 0x005c0000, {GPR_RD, IMM_UI8}},
    {LISA_X86MTFLAG, 0x005c0020, {GPR_RD, IMM_UI8}},
    {LISA_ARMMFFLAG, 0x005c0040, {GPR_RD, IMM_UI8}},
    {LISA_ARMMTFLAG, 0x005c0060, {GPR_RD, IMM_UI8}},
    {LISA_BSTRINS_W, 0x00600000, {GPR_RD, GPR_RJ, IMM_MSBW, IMM_LSBW}},
    {LISA_BSTRPICK_W, 0x00608000, {GPR_RD, GPR_RJ, IMM_MSBW, IMM_LSBW}},
    {LISA_BSTRINS_D, 0x00800000, {GPR_RD, GPR_RJ, IMM_MSBD, IMM_LSBD}},
    {LISA_BSTRPICK_D, 0x00c00000, {GPR_RD, GPR_RJ, IMM_MSBD, IMM_LSBD}},
    {LISA_SLTI, 0x02000000, {GPR_RD, GPR_RJ, IMM_SI12}},
    {LISA_SLTUI, 0x02400000, {GPR_RD, GPR_RJ, IMM_SI12}},
    {LISA_ADDI_W, 0x02800000, {GPR_RD, GPR_RJ, IMM_SI12}},
    {LISA_ADDI_D, 0x02c00000, {GPR_RD, GPR_RJ, IMM_SI12}},
    {LISA_LU52I_D, 0x03000000, {GPR_RD, GPR_RJ, IMM_SI12}},
    {LISA_ANDI, 0x03400000, {GPR_RD, GPR_RJ, IMM_UI12}},
    {LISA_ORI, 0x03800000, {GPR_RD, GPR_RJ, IMM_UI12}},
    {LISA_XORI, 0x03c00000, {GPR_RD, GPR_RJ, IMM_UI12}},
    {LISA_ADDU16I_D, 0x10000000, {GPR_RD, GPR_RJ, IMM_SI16}},
    {LISA_LU12I_W, 0x14000000, {GPR_RD, IMM_SI20}},
    {LISA_LU32I_D, 0x16000000, {GPR_RD, IMM_SI20}},
    {LISA_PCADDI, 0x18000000, {GPR_RD, IMM_SI20}},
    {LISA_PCALAU12I, 0x1a000000, {GPR_RD, IMM_SI20}},
    {LISA_PCADDU12I, 0x1c000000, {GPR_RD, IMM_SI20}},
    {LISA_PCADDU18I, 0x1e000000, {GPR_RD, IMM_SI20}},
    {LISA_LL_W, 0x20000000, {GPR_RD, GPR_RJ, IMM_SI14}},
    {LISA_SC_W, 0x21000000, {GPR_RD, GPR_RJ, IMM_SI14}},
    {LISA_LL_D, 0x22000000, {GPR_RD, GPR_RJ, IMM_SI14}},
    {LISA_SC_D, 0x23000000, {GPR_RD, GPR_RJ, IMM_SI14}},
    {LISA_LDPTR_W, 0x24000000, {GPR_RD, GPR_RJ, IMM_SI14}},
    {LISA_STPTR_W, 0x25000000, {GPR_RD, GPR_RJ, IMM_SI14}},
    {LISA_LDPTR_D, 0x26000000, {GPR_RD, GPR_RJ, IMM_SI14}},
    {LISA_STPTR_D, 0x27000000, {GPR_RD, GPR_RJ, IMM_SI14}},
    {LISA_LD_B, 0x28000000, {GPR_RD, GPR_RJ, IMM_SI12}},
    {LISA_LD_H, 0x28400000, {GPR_RD, GPR_RJ, IMM_SI12}},
    {LISA_LD_W, 0x28800000, {GPR_RD, GPR_RJ, IMM_SI12}},
    {LISA_LD_D, 0x28c00000, {GPR_RD, GPR_RJ, IMM_SI12}},
    {LISA_ST_B, 0x29000000, {GPR_RD, GPR_RJ, IMM_SI12}},
    {LISA_ST_H, 0x29400000, {GPR_RD, GPR_RJ, IMM_SI12}},
    {LISA_ST_W, 0x29800000, {GPR_RD, GPR_RJ, IMM_SI12}},
    {LISA_ST_D, 0x29c00000, {GPR_RD, GPR_RJ, IMM_SI12}},
    {LISA_LD_BU, 0x2a000000, {GPR_RD, GPR_RJ, IMM_SI12}},
    {LISA_LD_HU, 0x2a400000, {GPR_RD, GPR_RJ, IMM_SI12}},
    {LISA_LD_WU, 0x2a800000, {GPR_RD, GPR_RJ, IMM_SI12}},
    {LISA_PRELD, 0x2ac00000, {IMM_HINTS, GPR_RJ, IMM_SI12}},
    {LISA_FLD_S, 0x2b000000, {FPR_FD, GPR_RJ, IMM_SI12}},
    {LISA_FST_S, 0x2b400000, {FPR_FD, GPR_RJ, IMM_SI12}},
    {LISA_FLD_D, 0x2b800000, {FPR_FD, GPR_RJ, IMM_SI12}},
    {LISA_FST_D, 0x2bc00000, {FPR_FD, GPR_RJ, IMM_SI12}},
    {LISA_VLD, 0x2c000000, {FPR_VD, GPR_RJ, IMM_SI12}},
    {LISA_VST, 0x2c400000, {FPR_VD, GPR_RJ, IMM_SI12}},
    {LISA_XVLD, 0x2c800000, {FPR_XD, GPR_RJ, IMM_SI12}},
    {LISA_XVST, 0x2cc00000, {FPR_XD, GPR_RJ, IMM_SI12}},
    {LISA_LDL_W, 0x2e000000, {GPR_RD, GPR_RJ, IMM_SI12}},
    {LISA_LDR_W, 0x2e400000, {GPR_RD, GPR_RJ, IMM_SI12}},
    {LISA_LDL_D, 0x2e800000, {GPR_RD, GPR_RJ, IMM_SI12}},
    {LISA_LDR_D, 0x2ec00000, {GPR_RD, GPR_RJ, IMM_SI12}},
    {LISA_STL_W, 0x2f000000, {GPR_RD, GPR_RJ, IMM_SI12}},
    {LISA_STR_W, 0x2f400000, {GPR_RD, GPR_RJ, IMM_SI12}},
    {LISA_STL_D, 0x2f800000, {GPR_RD, GPR_RJ, IMM_SI12}},
    {LISA_STR_D, 0x2fc00000, {GPR_RD, GPR_RJ, IMM_SI12}},
    {LISA_VLDREPL_D, 0x30100000, {FPR_VD, GPR_RJ, IMM_SI9}},
    {LISA_VLDREPL_W, 0x30200000, {FPR_VD, GPR_RJ, IMM_SI10}},
    {LISA_VLDREPL_H, 0x30400000, {FPR_VD, GPR_RJ, IMM_SI11}},
    {LISA_VLDREPL_B, 0x30800000, {FPR_VD, GPR_RJ, IMM_SI12}},
    {LISA_VSTELM_D, 0x31100000, {FPR_VD, GPR_RJ, IMM_SI8, IMM_IDXS}},
    {LISA_VSTELM_W, 0x31200000, {FPR_VD, GPR_RJ, IMM_SI8, IMM_IDXM}},
    {LISA_VSTELM_H, 0x31400000, {FPR_VD, GPR_RJ, IMM_SI8, IMM_IDXL}},
    {LISA_VSTELM_B, 0x31800000, {FPR_VD, GPR_RJ, IMM_SI8, IMM_IDXLL}},
    {LISA_XVLDREPL_D, 0x32100000, {FPR_XD, GPR_RJ, IMM_SI9}},
    {LISA_XVLDREPL_W, 0x32200000, {FPR_XD, GPR_RJ, IMM_SI10}},
    {LISA_XVLDREPL_H, 0x32400000, {FPR_XD, GPR_RJ, IMM_SI11}},
    {LISA_XVLDREPL_B, 0x32800000, {FPR_XD, GPR_RJ, IMM_SI12}},
    {LISA_XVSTELM_D, 0x33100000, {FPR_XD, GPR_RJ, IMM_SI8, IMM_IDXS}},
    {LISA_XVSTELM_W, 0x33200000, {FPR_XD, GPR_RJ, IMM_SI8, IMM_IDXM}},
    {LISA_XVSTELM_H, 0x33400000, {FPR_XD, GPR_RJ, IMM_SI8, IMM_IDXL}},
    {LISA_XVSTELM_B, 0x33800000, {FPR_XD, GPR_RJ, IMM_SI8, IMM_IDXLL}},
    {LISA_LDX_B, 0x38000000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_LDX_H, 0x38040000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_LDX_W, 0x38080000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_LDX_D, 0x380c0000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_STX_B, 0x38100000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_STX_H, 0x38140000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_STX_W, 0x38180000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_STX_D, 0x381c0000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_LDX_BU, 0x38200000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_LDX_HU, 0x38240000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_LDX_WU, 0x38280000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_PRELDX, 0x382c0000, {IMM_HINTS, GPR_RJ, GPR_RK}},
    {LISA_FLDX_S, 0x38300000, {FPR_FD, GPR_RJ, GPR_RK}},
    {LISA_FLDX_D, 0x38340000, {FPR_FD, GPR_RJ, GPR_RK}},
    {LISA_FSTX_S, 0x38380000, {FPR_FD, GPR_RJ, GPR_RK}},
    {LISA_FSTX_D, 0x383c0000, {FPR_FD, GPR_RJ, GPR_RK}},
    {LISA_VLDX, 0x38400000, {FPR_VD, GPR_RJ, GPR_RK}},
    {LISA_VSTX, 0x38440000, {FPR_VD, GPR_RJ, GPR_RK}},
    {LISA_XVLDX, 0x38480000, {FPR_XD, GPR_RJ, GPR_RK}},
    {LISA_XVSTX, 0x384c0000, {FPR_XD, GPR_RJ, GPR_RK}},
    {LISA_AMSWAP_W, 0x38600000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMSWAP_D, 0x38608000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMADD_W, 0x38610000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMADD_D, 0x38618000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMAND_W, 0x38620000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMAND_D, 0x38628000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMOR_W, 0x38630000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMOR_D, 0x38638000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMXOR_W, 0x38640000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMXOR_D, 0x38648000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMMAX_W, 0x38650000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMMAX_D, 0x38658000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMMIN_W, 0x38660000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMMIN_D, 0x38668000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMMAX_WU, 0x38670000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMMAX_DU, 0x38678000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMMIN_WU, 0x38680000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMMIN_DU, 0x38688000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMSWAP_DB_W, 0x38690000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMSWAP_DB_D, 0x38698000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMADD_DB_W, 0x386a0000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMADD_DB_D, 0x386a8000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMAND_DB_W, 0x386b0000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMAND_DB_D, 0x386b8000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMOR_DB_W, 0x386c0000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMOR_DB_D, 0x386c8000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMXOR_DB_W, 0x386d0000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMXOR_DB_D, 0x386d8000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMMAX_DB_W, 0x386e0000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMMAX_DB_D, 0x386e8000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMMIN_DB_W, 0x386f0000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMMIN_DB_D, 0x386f8000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMMAX_DB_WU, 0x38700000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMMAX_DB_DU, 0x38708000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMMIN_DB_WU, 0x38710000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_AMMIN_DB_DU, 0x38718000, {GPR_RD, GPR_RK, GPR_RJ}},
    {LISA_DBAR, 0x38720000, {IMM_HINTL}},
    {LISA_IBAR, 0x38728000, {IMM_HINTL}},
    {LISA_FLDGT_S, 0x38740000, {FPR_FD, GPR_RJ, GPR_RK}},
    {LISA_FLDGT_D, 0x38748000, {FPR_FD, GPR_RJ, GPR_RK}},
    {LISA_FLDLE_S, 0x38750000, {FPR_FD, GPR_RJ, GPR_RK}},
    {LISA_FLDLE_D, 0x38758000, {FPR_FD, GPR_RJ, GPR_RK}},
    {LISA_FSTGT_S, 0x38760000, {FPR_FD, GPR_RJ, GPR_RK}},
    {LISA_FSTGT_D, 0x38768000, {FPR_FD, GPR_RJ, GPR_RK}},
    {LISA_FSTLE_S, 0x38770000, {FPR_FD, GPR_RJ, GPR_RK}},
    {LISA_FSTLE_D, 0x38778000, {FPR_FD, GPR_RJ, GPR_RK}},
    {LISA_LDGT_B, 0x38780000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_LDGT_H, 0x38788000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_LDGT_W, 0x38790000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_LDGT_D, 0x38798000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_LDLE_B, 0x387a0000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_LDLE_H, 0x387a8000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_LDLE_W, 0x387b0000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_LDLE_D, 0x387b8000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_STGT_B, 0x387c0000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_STGT_H, 0x387c8000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_STGT_W, 0x387d0000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_STGT_D, 0x387d8000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_STLE_B, 0x387e0000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_STLE_H, 0x387e8000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_STLE_W, 0x387f0000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_STLE_D, 0x387f8000, {GPR_RD, GPR_RJ, GPR_RK}},
    {LISA_BEQZ, 0x40000000, {GPR_RJ, IMM_OFFL}},
    {LISA_BNEZ, 0x44000000, {GPR_RJ, IMM_OFFL}},
    {LISA_BCEQZ, 0x48000000, {FCC_CJ, IMM_OFFL}},
    {LISA_BCNEZ, 0x48000100, {FCC_CJ, IMM_OFFL}},
    {LISA_JISCR0, 0x48000200, {IMM_OFFL}},
    {LISA_JISCR1, 0x48000300, {IMM_OFFL}},
    {LISA_JIRL, 0x4c000000, {GPR_RD, GPR_RJ, IMM_OFFS}},
    {LISA_B, 0x50000000, {IMM_OFFLL}},
    {LISA_BL, 0x54000000, {IMM_OFFLL}},
    {LISA_BEQ, 0x58000000, {GPR_RJ, GPR_RD, IMM_OFFS}},
    {LISA_BNE, 0x5c000000, {GPR_RJ, GPR_RD, IMM_OFFS}},
    {LISA_BLT, 0x60000000, {GPR_RJ, GPR_RD, IMM_OFFS}},
    {LISA_BGE, 0x64000000, {GPR_RJ, GPR_RD, IMM_OFFS}},
    {LISA_BLTU, 0x68000000, {GPR_RJ, GPR_RD, IMM_OFFS}},
    {LISA_BGEU, 0x6c000000, {GPR_RJ, GPR_RD, IMM_OFFS}},
    {LISA_FADD_S, 0x01008000, {FPR_FD, FPR_FJ, FPR_FK}},
    {LISA_FADD_D, 0x01010000, {FPR_FD, FPR_FJ, FPR_FK}},
    {LISA_FSUB_S, 0x01028000, {FPR_FD, FPR_FJ, FPR_FK}},
    {LISA_FSUB_D, 0x01030000, {FPR_FD, FPR_FJ, FPR_FK}},
    {LISA_FMUL_S, 0x01048000, {FPR_FD, FPR_FJ, FPR_FK}},
    {LISA_FMUL_D, 0x01050000, {FPR_FD, FPR_FJ, FPR_FK}},
    {LISA_FDIV_S, 0x01068000, {FPR_FD, FPR_FJ, FPR_FK}},
    {LISA_FDIV_D, 0x01070000, {FPR_FD, FPR_FJ, FPR_FK}},
    {LISA_FMAX_S, 0x01088000, {FPR_FD, FPR_FJ, FPR_FK}},
    {LISA_FMAX_D, 0x01090000, {FPR_FD, FPR_FJ, FPR_FK}},
    {LISA_FMIN_S, 0x010a8000, {FPR_FD, FPR_FJ, FPR_FK}},
    {LISA_FMIN_D, 0x010b0000, {FPR_FD, FPR_FJ, FPR_FK}},
    {LISA_FMAXA_S, 0x010c8000, {FPR_FD, FPR_FJ, FPR_FK}},
    {LISA_FMAXA_D, 0x010d0000, {FPR_FD, FPR_FJ, FPR_FK}},
    {LISA_FMINA_S, 0x010e8000, {FPR_FD, FPR_FJ, FPR_FK}},
    {LISA_FMINA_D, 0x010f0000, {FPR_FD, FPR_FJ, FPR_FK}},
    {LISA_FSCALEB_S, 0x01108000, {FPR_FD, FPR_FJ, FPR_FK}},
    {LISA_FSCALEB_D, 0x01110000, {FPR_FD, FPR_FJ, FPR_FK}},
    {LISA_FCOPYSIGN_S, 0x01128000, {FPR_FD, FPR_FJ, FPR_FK}},
    {LISA_FCOPYSIGN_D, 0x01130000, {FPR_FD, FPR_FJ, FPR_FK}},
    {LISA_FABS_S, 0x01140400, {FPR_FD, FPR_FJ}},
    {LISA_FABS_D, 0x01140800, {FPR_FD, FPR_FJ}},
    {LISA_FNEG_S, 0x01141400, {FPR_FD, FPR_FJ}},
    {LISA_FNEG_D, 0x01141800, {FPR_FD, FPR_FJ}},
    {LISA_FLOGB_S, 0x01142400, {FPR_FD, FPR_FJ}},
    {LISA_FLOGB_D, 0x01142800, {FPR_FD, FPR_FJ}},
    {LISA_FCLASS_S, 0x01143400, {FPR_FD, FPR_FJ}},
    {LISA_FCLASS_D, 0x01143800, {FPR_FD, FPR_FJ}},
    {LISA_FSQRT_S, 0x01144400, {FPR_FD, FPR_FJ}},
    {LISA_FSQRT_D, 0x01144800, {FPR_FD, FPR_FJ}},
    {LISA_FRECIP_S, 0x01145400, {FPR_FD, FPR_FJ}},
    {LISA_FRECIP_D, 0x01145800, {FPR_FD, FPR_FJ}},
    {LISA_FRSQRT_S, 0x01146400, {FPR_FD, FPR_FJ}},
    {LISA_FRSQRT_D, 0x01146800, {FPR_FD, FPR_FJ}},
    {LISA_FMOV_S, 0x01149400, {FPR_FD, FPR_FJ}},
    {LISA_FMOV_D, 0x01149800, {FPR_FD, FPR_FJ}},
    {LISA_MOVGR2FR_W, 0x0114a400, {FPR_FD, GPR_RJ}},
    {LISA_MOVGR2FR_D, 0x0114a800, {FPR_FD, GPR_RJ}},
    {LISA_MOVGR2FRH_W, 0x0114ac00, {FPR_FD, GPR_RJ}},
    {LISA_MOVFR2GR_S, 0x0114b400, {GPR_RD, FPR_FJ}},
    {LISA_MOVFR2GR_D, 0x0114b800, {GPR_RD, FPR_FJ}},
    {LISA_MOVFRH2GR_S, 0x0114bc00, {GPR_RD, FPR_FJ}},
    {LISA_MOVGR2FCSR, 0x0114c000, {OPD_FCSRL, GPR_RJ}},
    {LISA_MOVFCSR2GR, 0x0114c800, {GPR_RD, OPD_FCSRH}},
    {LISA_MOVFR2CF, 0x0114d000, {FCC_CD, FPR_FJ}},
    {LISA_MOVCF2FR, 0x0114d400, {FPR_FD, FCC_CJ}},
    {LISA_MOVGR2CF, 0x0114d800, {FCC_CD, GPR_RJ}},
    {LISA_MOVCF2GR, 0x0114dc00, {GPR_RD, FCC_CJ}},
    {LISA_FCVT_LD_D, 0x0114e000, {FPR_FD, FPR_FJ}},
    {LISA_FCVT_UD_D, 0x0114e400, {FPR_FD, FPR_FJ}},
    {LISA_FCVT_D_LD, 0x01150000, {FPR_FD, FPR_FJ, FPR_FK}},
    {LISA_FCVT_S_D, 0x01191800, {FPR_FD, FPR_FJ}},
    {LISA_FCVT_D_S, 0x01192400, {FPR_FD, FPR_FJ}},
    {LISA_FTINTRM_W_S, 0x011a0400, {FPR_FD, FPR_FJ}},
    {LISA_FTINTRM_W_D, 0x011a0800, {FPR_FD, FPR_FJ}},
    {LISA_FTINTRM_L_S, 0x011a2400, {FPR_FD, FPR_FJ}},
    {LISA_FTINTRM_L_D, 0x011a2800, {FPR_FD, FPR_FJ}},
    {LISA_FTINTRP_W_S, 0x011a4400, {FPR_FD, FPR_FJ}},
    {LISA_FTINTRP_W_D, 0x011a4800, {FPR_FD, FPR_FJ}},
    {LISA_FTINTRP_L_S, 0x011a6400, {FPR_FD, FPR_FJ}},
    {LISA_FTINTRP_L_D, 0x011a6800, {FPR_FD, FPR_FJ}},
    {LISA_FTINTRZ_W_S, 0x011a8400, {FPR_FD, FPR_FJ}},
    {LISA_FTINTRZ_W_D, 0x011a8800, {FPR_FD, FPR_FJ}},
    {LISA_FTINTRZ_L_S, 0x011aa400, {FPR_FD, FPR_FJ}},
    {LISA_FTINTRZ_L_D, 0x011aa800, {FPR_FD, FPR_FJ}},
    {LISA_FTINTRNE_W_S, 0x011ac400, {FPR_FD, FPR_FJ}},
    {LISA_FTINTRNE_W_D, 0x011ac800, {FPR_FD, FPR_FJ}},
    {LISA_FTINTRNE_L_S, 0x011ae400, {FPR_FD, FPR_FJ}},
    {LISA_FTINTRNE_L_D, 0x011ae800, {FPR_FD, FPR_FJ}},
    {LISA_FTINT_W_S, 0x011b0400, {FPR_FD, FPR_FJ}},
    {LISA_FTINT_W_D, 0x011b0800, {FPR_FD, FPR_FJ}},
    {LISA_FTINT_L_S, 0x011b2400, {FPR_FD, FPR_FJ}},
    {LISA_FTINT_L_D, 0x011b2800, {FPR_FD, FPR_FJ}},
    {LISA_FFINT_S_W, 0x011d1000, {FPR_FD, FPR_FJ}},
    {LISA_FFINT_S_L, 0x011d1800, {FPR_FD, FPR_FJ}},
    {LISA_FFINT_D_W, 0x011d2000, {FPR_FD, FPR_FJ}},
    {LISA_FFINT_D_L, 0x011d2800, {FPR_FD, FPR_FJ}},
    {LISA_FRINT_S, 0x011e4400, {FPR_FD, FPR_FJ}},
    {LISA_FRINT_D, 0x011e4800, {FPR_FD, FPR_FJ}},
    {LISA_FMADD_S, 0x08100000, {FPR_FD, FPR_FJ, FPR_FK, FPR_FA}},
    {LISA_FMADD_D, 0x08200000, {FPR_FD, FPR_FJ, FPR_FK, FPR_FA}},
    {LISA_FMSUB_S, 0x08500000, {FPR_FD, FPR_FJ, FPR_FK, FPR_FA}},
    {LISA_FMSUB_D, 0x08600000, {FPR_FD, FPR_FJ, FPR_FK, FPR_FA}},
    {LISA_FNMADD_S, 0x08900000, {FPR_FD, FPR_FJ, FPR_FK, FPR_FA}},
    {LISA_FNMADD_D, 0x08a00000, {FPR_FD, FPR_FJ, FPR_FK, FPR_FA}},
    {LISA_FNMSUB_S, 0x08d00000, {FPR_FD, FPR_FJ, FPR_FK, FPR_FA}},
    {LISA_FNMSUB_D, 0x08e00000, {FPR_FD, FPR_FJ, FPR_FK, FPR_FA}},
    {LISA_VFMADD_S, 0x09100000, {FPR_VD, FPR_VJ, FPR_VK, FPR_VA}},
    {LISA_VFMADD_D, 0x09200000, {FPR_VD, FPR_VJ, FPR_VK, FPR_VA}},
    {LISA_VFMSUB_S, 0x09500000, {FPR_VD, FPR_VJ, FPR_VK, FPR_VA}},
    {LISA_VFMSUB_D, 0x09600000, {FPR_VD, FPR_VJ, FPR_VK, FPR_VA}},
    {LISA_VFNMADD_S, 0x09900000, {FPR_VD, FPR_VJ, FPR_VK, FPR_VA}},
    {LISA_VFNMADD_D, 0x09a00000, {FPR_VD, FPR_VJ, FPR_VK, FPR_VA}},
    {LISA_VFNMSUB_S, 0x09d00000, {FPR_VD, FPR_VJ, FPR_VK, FPR_VA}},
    {LISA_VFNMSUB_D, 0x09e00000, {FPR_VD, FPR_VJ, FPR_VK, FPR_VA}},
    {LISA_XVFMADD_S, 0x0a100000, {FPR_XD, FPR_XJ, FPR_XK, FPR_XA}},
    {LISA_XVFMADD_D, 0x0a200000, {FPR_XD, FPR_XJ, FPR_XK, FPR_XA}},
    {LISA_XVFMSUB_S, 0x0a500000, {FPR_XD, FPR_XJ, FPR_XK, FPR_XA}},
    {LISA_XVFMSUB_D, 0x0a600000, {FPR_XD, FPR_XJ, FPR_XK, FPR_XA}},
    {LISA_XVFNMADD_S, 0x0a900000, {FPR_XD, FPR_XJ, FPR_XK, FPR_XA}},
    {LISA_XVFNMADD_D, 0x0aa00000, {FPR_XD, FPR_XJ, FPR_XK, FPR_XA}},
    {LISA_XVFNMSUB_S, 0x0ad00000, {FPR_XD, FPR_XJ, FPR_XK, FPR_XA}},
    {LISA_XVFNMSUB_D, 0x0ae00000, {FPR_XD, FPR_XJ, FPR_XK, FPR_XA}},
    {LISA_FCMP_COND_S, 0x0c100000, {FCC_CD, FPR_FJ, FPR_FK, IMM_CONDF}},
    {LISA_FCMP_COND_D, 0x0c200000, {FCC_CD, FPR_FJ, FPR_FK, IMM_CONDF}},
    {LISA_VFCMP_COND_S, 0x0c500000, {FPR_VD, FPR_VJ, FPR_VK, IMM_CONDF}},
    {LISA_VFCMP_COND_D, 0x0c600000, {FPR_VD, FPR_VJ, FPR_VK, IMM_CONDF}},
    {LISA_XVFCMP_COND_S, 0x0c900000, {FPR_XD, FPR_XJ, FPR_XK, IMM_CONDF}},
    {LISA_XVFCMP_COND_D, 0x0ca00000, {FPR_XD, FPR_XJ, FPR_XK, IMM_CONDF}},
    {LISA_FSEL, 0x0d000000, {FPR_FD, FPR_FJ, FPR_FK, FCC_CA}},
    {LISA_VBITSEL_V, 0x0d100000, {FPR_VD, FPR_VJ, FPR_VK, FPR_VA}},
    {LISA_XVBITSEL_V, 0x0d200000, {FPR_XD, FPR_XJ, FPR_XK, FPR_XA}},
    {LISA_VSHUF_B, 0x0d500000, {FPR_VD, FPR_VJ, FPR_VK, FPR_VA}},
    {LISA_XVSHUF_B, 0x0d600000, {FPR_XD, FPR_XJ, FPR_XK, FPR_XA}},
    {LISA_VEXTR_V, 0x0d900000, {FPR_VD, FPR_VJ, FPR_VK, IMM_UI5H}},
    {LISA_XVEXTR_V, 0x0da00000, {FPR_XD, FPR_XJ, FPR_XK, IMM_UI5H}},
    {LISA_VFMADDSUB_S, 0x0e900000, {FPR_VD, FPR_VJ, FPR_VK, FPR_VA}},
    {LISA_VFMADDSUB_D, 0x0ea00000, {FPR_VD, FPR_VJ, FPR_VK, FPR_VA}},
    {LISA_VFMSUBADD_S, 0x0ed00000, {FPR_VD, FPR_VJ, FPR_VK, FPR_VA}},
    {LISA_VFMSUBADD_D, 0x0ee00000, {FPR_VD, FPR_VJ, FPR_VK, FPR_VA}},
    {LISA_XVFMADDSUB_S, 0x0f100000, {FPR_XD, FPR_XJ, FPR_XK, FPR_XA}},
    {LISA_XVFMADDSUB_D, 0x0f200000, {FPR_XD, FPR_XJ, FPR_XK, FPR_XA}},
    {LISA_XVFMSUBADD_S, 0x0f500000, {FPR_XD, FPR_XJ, FPR_XK, FPR_XA}},
    {LISA_XVFMSUBADD_D, 0x0f600000, {FPR_XD, FPR_XJ, FPR_XK, FPR_XA}},
    {LISA_VSEQ_B, 0x70000000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSEQ_H, 0x70008000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSEQ_W, 0x70010000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSEQ_D, 0x70018000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSLE_B, 0x70020000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSLE_H, 0x70028000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSLE_W, 0x70030000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSLE_D, 0x70038000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSLE_BU, 0x70040000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSLE_HU, 0x70048000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSLE_WU, 0x70050000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSLE_DU, 0x70058000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSLT_B, 0x70060000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSLT_H, 0x70068000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSLT_W, 0x70070000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSLT_D, 0x70078000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSLT_BU, 0x70080000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSLT_HU, 0x70088000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSLT_WU, 0x70090000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSLT_DU, 0x70098000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADD_B, 0x700a0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADD_H, 0x700a8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADD_W, 0x700b0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADD_D, 0x700b8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUB_B, 0x700c0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUB_H, 0x700c8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUB_W, 0x700d0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUB_D, 0x700d8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDW_H_H_B, 0x700e0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDW_W_W_H, 0x700e8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDW_D_D_W, 0x700f0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDW_H_H_BU, 0x70100000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDW_W_W_HU, 0x70108000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDW_D_D_WU, 0x70110000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBW_H_H_B, 0x70120000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBW_W_W_H, 0x70128000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBW_D_D_W, 0x70130000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBW_H_H_BU, 0x70140000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBW_W_W_HU, 0x70148000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBW_D_D_WU, 0x70150000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSADDW_H_H_B, 0x70160000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSADDW_W_W_H, 0x70168000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSADDW_D_D_W, 0x70170000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSADDW_HU_HU_BU, 0x70180000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSADDW_WU_WU_HU, 0x70188000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSADDW_DU_DU_WU, 0x70190000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSUBW_H_H_B, 0x701a0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSUBW_W_W_H, 0x701a8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSUBW_D_D_W, 0x701b0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSUBW_HU_HU_BU, 0x701c0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSUBW_WU_WU_HU, 0x701c8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSUBW_DU_DU_WU, 0x701d0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWEV_H_B, 0x701e0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWEV_W_H, 0x701e8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWEV_D_W, 0x701f0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWEV_Q_D, 0x701f8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBWEV_H_B, 0x70200000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBWEV_W_H, 0x70208000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBWEV_D_W, 0x70210000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBWEV_Q_D, 0x70218000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWOD_H_B, 0x70220000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWOD_W_H, 0x70228000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWOD_D_W, 0x70230000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWOD_Q_D, 0x70238000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBWOD_H_B, 0x70240000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBWOD_W_H, 0x70248000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBWOD_D_W, 0x70250000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBWOD_Q_D, 0x70258000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWL_H_B, 0x70260000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWL_W_H, 0x70268000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWL_D_W, 0x70270000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWL_Q_D, 0x70278000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBWL_H_B, 0x70280000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBWL_W_H, 0x70288000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBWL_D_W, 0x70290000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBWL_Q_D, 0x70298000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWH_H_B, 0x702a0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWH_W_H, 0x702a8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWH_D_W, 0x702b0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWH_Q_D, 0x702b8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBWH_H_B, 0x702c0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBWH_W_H, 0x702c8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBWH_D_W, 0x702d0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBWH_Q_D, 0x702d8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWEV_H_BU, 0x702e0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWEV_W_HU, 0x702e8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWEV_D_WU, 0x702f0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWEV_Q_DU, 0x702f8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBWEV_H_BU, 0x70300000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBWEV_W_HU, 0x70308000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBWEV_D_WU, 0x70310000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBWEV_Q_DU, 0x70318000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWOD_H_BU, 0x70320000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWOD_W_HU, 0x70328000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWOD_D_WU, 0x70330000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWOD_Q_DU, 0x70338000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBWOD_H_BU, 0x70340000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBWOD_W_HU, 0x70348000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBWOD_D_WU, 0x70350000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBWOD_Q_DU, 0x70358000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWL_H_BU, 0x70360000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWL_W_HU, 0x70368000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWL_D_WU, 0x70370000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWL_Q_DU, 0x70378000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBWL_H_BU, 0x70380000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBWL_W_HU, 0x70388000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBWL_D_WU, 0x70390000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBWL_Q_DU, 0x70398000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWH_H_BU, 0x703a0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWH_W_HU, 0x703a8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWH_D_WU, 0x703b0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWH_Q_DU, 0x703b8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBWH_H_BU, 0x703c0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBWH_W_HU, 0x703c8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBWH_D_WU, 0x703d0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUBWH_Q_DU, 0x703d8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWEV_H_BU_B, 0x703e0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWEV_W_HU_H, 0x703e8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWEV_D_WU_W, 0x703f0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWEV_Q_DU_D, 0x703f8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWOD_H_BU_B, 0x70400000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWOD_W_HU_H, 0x70408000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWOD_D_WU_W, 0x70410000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWOD_Q_DU_D, 0x70418000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWL_H_BU_B, 0x70420000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWL_W_HU_H, 0x70428000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWL_D_WU_W, 0x70430000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWL_Q_DU_D, 0x70438000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWH_H_BU_B, 0x70440000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWH_W_HU_H, 0x70448000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWH_D_WU_W, 0x70450000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDWH_Q_DU_D, 0x70458000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSADD_B, 0x70460000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSADD_H, 0x70468000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSADD_W, 0x70470000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSADD_D, 0x70478000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSUB_B, 0x70480000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSUB_H, 0x70488000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSUB_W, 0x70490000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSUB_D, 0x70498000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSADD_BU, 0x704a0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSADD_HU, 0x704a8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSADD_WU, 0x704b0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSADD_DU, 0x704b8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSUB_BU, 0x704c0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSUB_HU, 0x704c8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSUB_WU, 0x704d0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSUB_DU, 0x704d8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSUB_BU_BU_B, 0x704e0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSUB_HU_HU_H, 0x704e8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSUB_WU_WU_W, 0x704f0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSUB_DU_DU_D, 0x704f8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSUB_BU_B_BU, 0x70500000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSUB_HU_H_HU, 0x70508000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSUB_WU_W_WU, 0x70510000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSUB_DU_D_DU, 0x70518000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSUB_B_BU_BU, 0x70520000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSUB_H_HU_HU, 0x70528000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSUB_W_WU_WU, 0x70530000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSUB_D_DU_DU, 0x70538000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VHADDW_H_B, 0x70540000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VHADDW_W_H, 0x70548000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VHADDW_D_W, 0x70550000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VHADDW_Q_D, 0x70558000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VHSUBW_H_B, 0x70560000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VHSUBW_W_H, 0x70568000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VHSUBW_D_W, 0x70570000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VHSUBW_Q_D, 0x70578000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VHADDW_HU_BU, 0x70580000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VHADDW_WU_HU, 0x70588000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VHADDW_DU_WU, 0x70590000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VHADDW_QU_DU, 0x70598000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VHSUBW_HU_BU, 0x705a0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VHSUBW_WU_HU, 0x705a8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VHSUBW_DU_WU, 0x705b0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VHSUBW_QU_DU, 0x705b8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDA_B, 0x705c0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDA_H, 0x705c8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDA_W, 0x705d0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADDA_D, 0x705d8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSADDA_B, 0x705e0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSADDA_H, 0x705e8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSADDA_W, 0x705f0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSADDA_D, 0x705f8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VABSD_B, 0x70600000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VABSD_H, 0x70608000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VABSD_W, 0x70610000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VABSD_D, 0x70618000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VABSD_BU, 0x70620000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VABSD_HU, 0x70628000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VABSD_WU, 0x70630000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VABSD_DU, 0x70638000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VAVG_B, 0x70640000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VAVG_H, 0x70648000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VAVG_W, 0x70650000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VAVG_D, 0x70658000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VAVG_BU, 0x70660000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VAVG_HU, 0x70668000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VAVG_WU, 0x70670000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VAVG_DU, 0x70678000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VAVGR_B, 0x70680000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VAVGR_H, 0x70688000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VAVGR_W, 0x70690000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VAVGR_D, 0x70698000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VAVGR_BU, 0x706a0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VAVGR_HU, 0x706a8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VAVGR_WU, 0x706b0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VAVGR_DU, 0x706b8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VHALFD_B, 0x706c0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VHALFD_H, 0x706c8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VHALFD_W, 0x706d0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VHALFD_D, 0x706d8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VHALFD_BU, 0x706e0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VHALFD_HU, 0x706e8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VHALFD_WU, 0x706f0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VHALFD_DU, 0x706f8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMAX_B, 0x70700000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMAX_H, 0x70708000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMAX_W, 0x70710000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMAX_D, 0x70718000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMIN_B, 0x70720000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMIN_H, 0x70728000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMIN_W, 0x70730000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMIN_D, 0x70738000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMAX_BU, 0x70740000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMAX_HU, 0x70748000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMAX_WU, 0x70750000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMAX_DU, 0x70758000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMIN_BU, 0x70760000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMIN_HU, 0x70768000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMIN_WU, 0x70770000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMIN_DU, 0x70778000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMAXA_B, 0x70780000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMAXA_H, 0x70788000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMAXA_W, 0x70790000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMAXA_D, 0x70798000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMINA_B, 0x707a0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMINA_H, 0x707a8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMINA_W, 0x707b0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMINA_D, 0x707b8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSADW_H_B, 0x707c0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSADW_W_H, 0x707c8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSADW_D_W, 0x707d0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSADW_H_BU, 0x707e0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSADW_W_HU, 0x707e8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSADW_D_WU, 0x707f0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VACCSADW_H_B, 0x70800000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VACCSADW_W_H, 0x70808000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VACCSADW_D_W, 0x70810000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VACCSADW_H_BU, 0x70820000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VACCSADW_W_HU, 0x70828000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VACCSADW_D_WU, 0x70830000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMUL_B, 0x70840000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMUL_H, 0x70848000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMUL_W, 0x70850000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMUL_D, 0x70858000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMUH_B, 0x70860000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMUH_H, 0x70868000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMUH_W, 0x70870000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMUH_D, 0x70878000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMUH_BU, 0x70880000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMUH_HU, 0x70888000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMUH_WU, 0x70890000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMUH_DU, 0x70898000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMUH_BU_B, 0x708a0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMUH_HU_H, 0x708a8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMUH_WU_W, 0x708b0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMUH_DU_D, 0x708b8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULXW_H_B, 0x708c0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULXW_W_H, 0x708c8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULXW_D_W, 0x708d0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULXW_H_BU, 0x708e0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULXW_W_HU, 0x708e8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULXW_D_WU, 0x708f0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWEV_H_B, 0x70900000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWEV_W_H, 0x70908000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWEV_D_W, 0x70910000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWEV_Q_D, 0x70918000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWOD_H_B, 0x70920000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWOD_W_H, 0x70928000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWOD_D_W, 0x70930000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWOD_Q_D, 0x70938000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWL_H_B, 0x70940000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWL_W_H, 0x70948000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWL_D_W, 0x70950000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWL_Q_D, 0x70958000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWH_H_B, 0x70960000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWH_W_H, 0x70968000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWH_D_W, 0x70970000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWH_Q_D, 0x70978000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWEV_H_BU, 0x70980000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWEV_W_HU, 0x70988000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWEV_D_WU, 0x70990000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWEV_Q_DU, 0x70998000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWOD_H_BU, 0x709a0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWOD_W_HU, 0x709a8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWOD_D_WU, 0x709b0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWOD_Q_DU, 0x709b8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWL_H_BU, 0x709c0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWL_W_HU, 0x709c8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWL_D_WU, 0x709d0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWL_Q_DU, 0x709d8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWH_H_BU, 0x709e0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWH_W_HU, 0x709e8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWH_D_WU, 0x709f0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWH_Q_DU, 0x709f8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWEV_H_BU_B, 0x70a00000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWEV_W_HU_H, 0x70a08000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWEV_D_WU_W, 0x70a10000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWEV_Q_DU_D, 0x70a18000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWOD_H_BU_B, 0x70a20000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWOD_W_HU_H, 0x70a28000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWOD_D_WU_W, 0x70a30000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWOD_Q_DU_D, 0x70a38000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWL_H_BU_B, 0x70a40000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWL_W_HU_H, 0x70a48000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWL_D_WU_W, 0x70a50000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWL_Q_DU_D, 0x70a58000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWH_H_BU_B, 0x70a60000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWH_W_HU_H, 0x70a68000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWH_D_WU_W, 0x70a70000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMULWH_Q_DU_D, 0x70a78000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADD_B, 0x70a80000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADD_H, 0x70a88000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADD_W, 0x70a90000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADD_D, 0x70a98000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMSUB_B, 0x70aa0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMSUB_H, 0x70aa8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMSUB_W, 0x70ab0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMSUB_D, 0x70ab8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWEV_H_B, 0x70ac0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWEV_W_H, 0x70ac8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWEV_D_W, 0x70ad0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWEV_Q_D, 0x70ad8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWOD_H_B, 0x70ae0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWOD_W_H, 0x70ae8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWOD_D_W, 0x70af0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWOD_Q_D, 0x70af8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWL_H_B, 0x70b00000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWL_W_H, 0x70b08000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWL_D_W, 0x70b10000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWL_Q_D, 0x70b18000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWH_H_B, 0x70b20000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWH_W_H, 0x70b28000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWH_D_W, 0x70b30000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWH_Q_D, 0x70b38000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWEV_H_BU, 0x70b40000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWEV_W_HU, 0x70b48000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWEV_D_WU, 0x70b50000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWEV_Q_DU, 0x70b58000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWOD_H_BU, 0x70b60000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWOD_W_HU, 0x70b68000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWOD_D_WU, 0x70b70000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWOD_Q_DU, 0x70b78000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWL_H_BU, 0x70b80000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWL_W_HU, 0x70b88000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWL_D_WU, 0x70b90000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWL_Q_DU, 0x70b98000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWH_H_BU, 0x70ba0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWH_W_HU, 0x70ba8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWH_D_WU, 0x70bb0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWH_Q_DU, 0x70bb8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWEV_H_BU_B, 0x70bc0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWEV_W_HU_H, 0x70bc8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWEV_D_WU_W, 0x70bd0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWEV_Q_DU_D, 0x70bd8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWOD_H_BU_B, 0x70be0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWOD_W_HU_H, 0x70be8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWOD_D_WU_W, 0x70bf0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWOD_Q_DU_D, 0x70bf8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWL_H_BU_B, 0x70c00000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWL_W_HU_H, 0x70c08000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWL_D_WU_W, 0x70c10000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWL_Q_DU_D, 0x70c18000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWH_H_BU_B, 0x70c20000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWH_W_HU_H, 0x70c28000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWH_D_WU_W, 0x70c30000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMADDWH_Q_DU_D, 0x70c38000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP2_H_B, 0x70c40000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP2_W_H, 0x70c48000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP2_D_W, 0x70c50000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP2_Q_D, 0x70c58000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP2_HU_BU, 0x70c60000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP2_WU_HU, 0x70c68000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP2_DU_WU, 0x70c70000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP2_QU_DU, 0x70c78000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP2_H_BU_B, 0x70c80000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP2_W_HU_H, 0x70c88000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP2_D_WU_W, 0x70c90000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP2_Q_DU_D, 0x70c98000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP2ADD_H_B, 0x70ca0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP2ADD_W_H, 0x70ca8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP2ADD_D_W, 0x70cb0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP2ADD_Q_D, 0x70cb8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP2ADD_H_BU, 0x70cc0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP2ADD_W_HU, 0x70cc8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP2ADD_D_WU, 0x70cd0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP2ADD_Q_DU, 0x70cd8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP2ADD_H_BU_B, 0x70ce0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP2ADD_W_HU_H, 0x70ce8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP2ADD_D_WU_W, 0x70cf0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP2ADD_Q_DU_D, 0x70cf8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP2SUB_H_B, 0x70d00000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP2SUB_W_H, 0x70d08000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP2SUB_D_W, 0x70d10000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP2SUB_Q_D, 0x70d18000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP2SUB_H_BU, 0x70d20000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP2SUB_W_HU, 0x70d28000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP2SUB_D_WU, 0x70d30000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP2SUB_Q_DU, 0x70d38000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP4_W_B, 0x70d40000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP4_D_H, 0x70d48000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP4_Q_W, 0x70d50000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP4_W_BU, 0x70d60000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP4_D_HU, 0x70d68000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP4_Q_WU, 0x70d70000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP4_W_BU_B, 0x70d80000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP4_D_HU_H, 0x70d88000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP4_Q_WU_W, 0x70d90000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP4ADD_W_B, 0x70da0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP4ADD_D_H, 0x70da8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP4ADD_Q_W, 0x70db0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP4ADD_W_BU, 0x70dc0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP4ADD_D_HU, 0x70dc8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP4ADD_Q_WU, 0x70dd0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP4ADD_W_BU_B, 0x70de0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP4ADD_D_HU_H, 0x70de8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDP4ADD_Q_WU_W, 0x70df0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDIV_B, 0x70e00000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDIV_H, 0x70e08000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDIV_W, 0x70e10000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDIV_D, 0x70e18000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMOD_B, 0x70e20000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMOD_H, 0x70e28000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMOD_W, 0x70e30000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMOD_D, 0x70e38000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDIV_BU, 0x70e40000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDIV_HU, 0x70e48000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDIV_WU, 0x70e50000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VDIV_DU, 0x70e58000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMOD_BU, 0x70e60000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMOD_HU, 0x70e68000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMOD_WU, 0x70e70000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VMOD_DU, 0x70e78000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSLL_B, 0x70e80000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSLL_H, 0x70e88000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSLL_W, 0x70e90000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSLL_D, 0x70e98000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSRL_B, 0x70ea0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSRL_H, 0x70ea8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSRL_W, 0x70eb0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSRL_D, 0x70eb8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSRA_B, 0x70ec0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSRA_H, 0x70ec8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSRA_W, 0x70ed0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSRA_D, 0x70ed8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VROTR_B, 0x70ee0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VROTR_H, 0x70ee8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VROTR_W, 0x70ef0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VROTR_D, 0x70ef8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSRLR_B, 0x70f00000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSRLR_H, 0x70f08000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSRLR_W, 0x70f10000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSRLR_D, 0x70f18000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSRAR_B, 0x70f20000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSRAR_H, 0x70f28000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSRAR_W, 0x70f30000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSRAR_D, 0x70f38000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSRLN_B_H, 0x70f48000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSRLN_H_W, 0x70f50000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSRLN_W_D, 0x70f58000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSRAN_B_H, 0x70f68000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSRAN_H_W, 0x70f70000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSRAN_W_D, 0x70f78000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSRLRN_B_H, 0x70f88000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSRLRN_H_W, 0x70f90000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSRLRN_W_D, 0x70f98000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSRARN_B_H, 0x70fa8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSRARN_H_W, 0x70fb0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSRARN_W_D, 0x70fb8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSRLN_B_H, 0x70fc8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSRLN_H_W, 0x70fd0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSRLN_W_D, 0x70fd8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSRAN_B_H, 0x70fe8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSRAN_H_W, 0x70ff0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSRAN_W_D, 0x70ff8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSRLRN_B_H, 0x71008000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSRLRN_H_W, 0x71010000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSRLRN_W_D, 0x71018000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSRARN_B_H, 0x71028000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSRARN_H_W, 0x71030000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSRARN_W_D, 0x71038000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSRLN_BU_H, 0x71048000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSRLN_HU_W, 0x71050000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSRLN_WU_D, 0x71058000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSRAN_BU_H, 0x71068000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSRAN_HU_W, 0x71070000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSRAN_WU_D, 0x71078000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSRLRN_BU_H, 0x71088000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSRLRN_HU_W, 0x71090000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSRLRN_WU_D, 0x71098000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSRARN_BU_H, 0x710a8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSRARN_HU_W, 0x710b0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSSRARN_WU_D, 0x710b8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VBITCLR_B, 0x710c0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VBITCLR_H, 0x710c8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VBITCLR_W, 0x710d0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VBITCLR_D, 0x710d8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VBITSET_B, 0x710e0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VBITSET_H, 0x710e8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VBITSET_W, 0x710f0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VBITSET_D, 0x710f8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VBITREV_B, 0x71100000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VBITREV_H, 0x71108000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VBITREV_W, 0x71110000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VBITREV_D, 0x71118000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VBSTRC12_B, 0x71120000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VBSTRC12_H, 0x71128000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VBSTRC12_W, 0x71130000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VBSTRC12_D, 0x71138000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VBSTRC21_B, 0x71140000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VBSTRC21_H, 0x71148000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VBSTRC21_W, 0x71150000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VBSTRC21_D, 0x71158000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPACKEV_B, 0x71160000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPACKEV_H, 0x71168000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPACKEV_W, 0x71170000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPACKEV_D, 0x71178000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPACKOD_B, 0x71180000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPACKOD_H, 0x71188000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPACKOD_W, 0x71190000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPACKOD_D, 0x71198000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VILVL_B, 0x711a0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VILVL_H, 0x711a8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VILVL_W, 0x711b0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VILVL_D, 0x711b8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VILVH_B, 0x711c0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VILVH_H, 0x711c8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VILVH_W, 0x711d0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VILVH_D, 0x711d8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPICKEV_B, 0x711e0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPICKEV_H, 0x711e8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPICKEV_W, 0x711f0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPICKEV_D, 0x711f8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPICKOD_B, 0x71200000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPICKOD_H, 0x71208000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPICKOD_W, 0x71210000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPICKOD_D, 0x71218000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VREPLVE_B, 0x71220000, {FPR_VD, FPR_VJ, GPR_RK}},
    {LISA_VREPLVE_H, 0x71228000, {FPR_VD, FPR_VJ, GPR_RK}},
    {LISA_VREPLVE_W, 0x71230000, {FPR_VD, FPR_VJ, GPR_RK}},
    {LISA_VREPLVE_D, 0x71238000, {FPR_VD, FPR_VJ, GPR_RK}},
    {LISA_VEXTRCOL_B, 0x71240000, {FPR_VD, FPR_VJ, GPR_RK}},
    {LISA_VEXTRCOL_H, 0x71248000, {FPR_VD, FPR_VJ, GPR_RK}},
    {LISA_VEXTRCOL_W, 0x71250000, {FPR_VD, FPR_VJ, GPR_RK}},
    {LISA_VEXTRCOL_D, 0x71258000, {FPR_VD, FPR_VJ, GPR_RK}},
    {LISA_VAND_V, 0x71260000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VOR_V, 0x71268000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VXOR_V, 0x71270000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VNOR_V, 0x71278000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VANDN_V, 0x71280000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VORN_V, 0x71288000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VRANDSIGN_B, 0x71290000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VRANDSIGN_H, 0x71298000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VRORSIGN_B, 0x712a0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VRORSIGN_H, 0x712a8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VFRSTP_B, 0x712b0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VFRSTP_H, 0x712b8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VCLRSTRR_V, 0x712c0000, {FPR_VD, FPR_VJ, GPR_RK}},
    {LISA_VCLRSTRV_V, 0x712c8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VADD_Q, 0x712d0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSUB_Q, 0x712d8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSIGNCOV_B, 0x712e0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSIGNCOV_H, 0x712e8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSIGNCOV_W, 0x712f0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSIGNCOV_D, 0x712f8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VFADD_S, 0x71308000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VFADD_D, 0x71310000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VFSUB_S, 0x71328000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VFSUB_D, 0x71330000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VFADDSUB_S, 0x71348000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VFADDSUB_D, 0x71350000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VFSUBADD_S, 0x71368000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VFSUBADD_D, 0x71370000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VFMUL_S, 0x71388000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VFMUL_D, 0x71390000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VFDIV_S, 0x713a8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VFDIV_D, 0x713b0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VFMAX_S, 0x713c8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VFMAX_D, 0x713d0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VFMIN_S, 0x713e8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VFMIN_D, 0x713f0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VFMAXA_S, 0x71408000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VFMAXA_D, 0x71410000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VFMINA_S, 0x71428000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VFMINA_D, 0x71430000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VFSCALEB_S, 0x71448000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VFSCALEB_D, 0x71450000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VFCVT_H_S, 0x71460000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VFCVT_S_D, 0x71468000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VFFINT_S_L, 0x71480000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VFTINT_W_D, 0x71498000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VFTINTRM_W_D, 0x714a0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VFTINTRP_W_D, 0x714a8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VFTINTRZ_W_D, 0x714b0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VFTINTRNE_W_D, 0x714b8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VHADD4_H_BU, 0x714e8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSHUF4_W, 0x714f0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSHUF2_D, 0x714f8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_AES128_ENC, 0x71500000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_AES128_DEC, 0x71508000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_AES192_ENC, 0x71510000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_AES192_DEC, 0x71518000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_AES256_ENC, 0x71520000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_AES256_DEC, 0x71528000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_AES_KG, 0x71530000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_AES_FR_ENC, 0x71538000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_AES_FR_DEC, 0x71540000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_AES_LR_ENC, 0x71548000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_AES_LR_DEC, 0x71550000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_AES_MC_ENC, 0x71558000, {FPR_VD, FPR_VJ}},
    {LISA_AES_MC_DEC, 0x71560000, {FPR_VD, FPR_VJ}},
    {LISA_AES_SB_ENC, 0x71568000, {FPR_VD, FPR_VJ}},
    {LISA_AES_SB_DEC, 0x71570000, {FPR_VD, FPR_VJ}},
    {LISA_AES_SR_ENC, 0x71578000, {FPR_VD, FPR_VJ}},
    {LISA_AES_SR_DEC, 0x71580000, {FPR_VD, FPR_VJ}},
    {LISA_MD5_MS, 0x71588000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_MD5_4R, 0x71590000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_SHA1_MS_1, 0x71598000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_SHA1_MS_2, 0x715a0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_SHA1_HASH_4R, 0x715a8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_SHA256_MS_1, 0x715b0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_SHA256_MS_2, 0x715b8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_SHA256_HASH_2R, 0x715c0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_SHA512_MS_1, 0x715c8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_SHA512_MS_2, 0x715d0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_SHA512_HASH_R_1, 0x715d8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_SHA512_HASH_R_2, 0x715e0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPMUL_W, 0x71600000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPMUL_D, 0x71608000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPMUH_W, 0x71610000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPMUH_D, 0x71618000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPMULACC_W, 0x71620000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPMULACC_D, 0x71628000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPMUHACC_W, 0x71630000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPMUHACC_D, 0x71638000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPMULWL_H_B, 0x71640000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPMULWL_W_H, 0x71648000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPMULWL_D_W, 0x71650000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPMULWL_Q_D, 0x71658000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPMULWH_H_B, 0x71660000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPMULWH_W_H, 0x71668000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPMULWH_D_W, 0x71670000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPMULWH_Q_D, 0x71678000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPMADDWL_H_B, 0x71680000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPMADDWL_W_H, 0x71688000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPMADDWL_D_W, 0x71690000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPMADDWL_Q_D, 0x71698000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPMADDWH_H_B, 0x716a0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPMADDWH_W_H, 0x716a8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPMADDWH_D_W, 0x716b0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPMADDWH_Q_D, 0x716b8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPDP2_Q_D, 0x716c0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VPDP2ADD_Q_D, 0x716c8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VCDP4_RE_D_H, 0x71700000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VCDP4_IM_D_H, 0x71708000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VCDP4ADD_RE_D_H, 0x71710000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VCDP4ADD_IM_D_H, 0x71718000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VCDP2_RE_Q_W, 0x71720000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VCDP2_IM_Q_W, 0x71728000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VCDP2ADD_RE_Q_W, 0x71730000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VCDP2ADD_IM_Q_W, 0x71738000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSIGNSEL_W, 0x71790000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSIGNSEL_D, 0x71798000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSHUF_H, 0x717a8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSHUF_W, 0x717b0000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSHUF_D, 0x717b8000, {FPR_VD, FPR_VJ, FPR_VK}},
    {LISA_VSEQI_B, 0x72800000, {FPR_VD, FPR_VJ, IMM_SI5}},
    {LISA_VSEQI_H, 0x72808000, {FPR_VD, FPR_VJ, IMM_SI5}},
    {LISA_VSEQI_W, 0x72810000, {FPR_VD, FPR_VJ, IMM_SI5}},
    {LISA_VSEQI_D, 0x72818000, {FPR_VD, FPR_VJ, IMM_SI5}},
    {LISA_VSLEI_B, 0x72820000, {FPR_VD, FPR_VJ, IMM_SI5}},
    {LISA_VSLEI_H, 0x72828000, {FPR_VD, FPR_VJ, IMM_SI5}},
    {LISA_VSLEI_W, 0x72830000, {FPR_VD, FPR_VJ, IMM_SI5}},
    {LISA_VSLEI_D, 0x72838000, {FPR_VD, FPR_VJ, IMM_SI5}},
    {LISA_VSLEI_BU, 0x72840000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSLEI_HU, 0x72848000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSLEI_WU, 0x72850000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSLEI_DU, 0x72858000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSLTI_B, 0x72860000, {FPR_VD, FPR_VJ, IMM_SI5}},
    {LISA_VSLTI_H, 0x72868000, {FPR_VD, FPR_VJ, IMM_SI5}},
    {LISA_VSLTI_W, 0x72870000, {FPR_VD, FPR_VJ, IMM_SI5}},
    {LISA_VSLTI_D, 0x72878000, {FPR_VD, FPR_VJ, IMM_SI5}},
    {LISA_VSLTI_BU, 0x72880000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSLTI_HU, 0x72888000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSLTI_WU, 0x72890000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSLTI_DU, 0x72898000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VADDI_BU, 0x728a0000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VADDI_HU, 0x728a8000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VADDI_WU, 0x728b0000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VADDI_DU, 0x728b8000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSUBI_BU, 0x728c0000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSUBI_HU, 0x728c8000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSUBI_WU, 0x728d0000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSUBI_DU, 0x728d8000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VBSLL_V, 0x728e0000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VBSRL_V, 0x728e8000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VMAXI_B, 0x72900000, {FPR_VD, FPR_VJ, IMM_SI5}},
    {LISA_VMAXI_H, 0x72908000, {FPR_VD, FPR_VJ, IMM_SI5}},
    {LISA_VMAXI_W, 0x72910000, {FPR_VD, FPR_VJ, IMM_SI5}},
    {LISA_VMAXI_D, 0x72918000, {FPR_VD, FPR_VJ, IMM_SI5}},
    {LISA_VMINI_B, 0x72920000, {FPR_VD, FPR_VJ, IMM_SI5}},
    {LISA_VMINI_H, 0x72928000, {FPR_VD, FPR_VJ, IMM_SI5}},
    {LISA_VMINI_W, 0x72930000, {FPR_VD, FPR_VJ, IMM_SI5}},
    {LISA_VMINI_D, 0x72938000, {FPR_VD, FPR_VJ, IMM_SI5}},
    {LISA_VMAXI_BU, 0x72940000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VMAXI_HU, 0x72948000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VMAXI_WU, 0x72950000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VMAXI_DU, 0x72958000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VMINI_BU, 0x72960000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VMINI_HU, 0x72968000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VMINI_WU, 0x72970000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VMINI_DU, 0x72978000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VRANDSIGNI_B, 0x72980000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VRANDSIGNI_H, 0x72988000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VRORSIGNI_B, 0x72990000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VRORSIGNI_H, 0x72998000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VFRSTPI_B, 0x729a0000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VFRSTPI_H, 0x729a8000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VCLRSTRI_V, 0x729b0000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VMEPATMSK_V, 0x729b8000, {FPR_VD, IMM_MODE, IMM_UI5L}},
    {LISA_VCLO_B, 0x729c0000, {FPR_VD, FPR_VJ}},
    {LISA_VCLO_H, 0x729c0400, {FPR_VD, FPR_VJ}},
    {LISA_VCLO_W, 0x729c0800, {FPR_VD, FPR_VJ}},
    {LISA_VCLO_D, 0x729c0c00, {FPR_VD, FPR_VJ}},
    {LISA_VCLZ_B, 0x729c1000, {FPR_VD, FPR_VJ}},
    {LISA_VCLZ_H, 0x729c1400, {FPR_VD, FPR_VJ}},
    {LISA_VCLZ_W, 0x729c1800, {FPR_VD, FPR_VJ}},
    {LISA_VCLZ_D, 0x729c1c00, {FPR_VD, FPR_VJ}},
    {LISA_VPCNT_B, 0x729c2000, {FPR_VD, FPR_VJ}},
    {LISA_VPCNT_H, 0x729c2400, {FPR_VD, FPR_VJ}},
    {LISA_VPCNT_W, 0x729c2800, {FPR_VD, FPR_VJ}},
    {LISA_VPCNT_D, 0x729c2c00, {FPR_VD, FPR_VJ}},
    {LISA_VNEG_B, 0x729c3000, {FPR_VD, FPR_VJ}},
    {LISA_VNEG_H, 0x729c3400, {FPR_VD, FPR_VJ}},
    {LISA_VNEG_W, 0x729c3800, {FPR_VD, FPR_VJ}},
    {LISA_VNEG_D, 0x729c3c00, {FPR_VD, FPR_VJ}},
    {LISA_VMSKLTZ_B, 0x729c4000, {FPR_VD, FPR_VJ}},
    {LISA_VMSKLTZ_H, 0x729c4400, {FPR_VD, FPR_VJ}},
    {LISA_VMSKLTZ_W, 0x729c4800, {FPR_VD, FPR_VJ}},
    {LISA_VMSKLTZ_D, 0x729c4c00, {FPR_VD, FPR_VJ}},
    {LISA_VMSKGEZ_B, 0x729c5000, {FPR_VD, FPR_VJ}},
    {LISA_VMSKNZ_B, 0x729c6000, {FPR_VD, FPR_VJ}},
    {LISA_VMSKCOPY_B, 0x729c7000, {FPR_VD, FPR_VJ}},
    {LISA_VMSKFILL_B, 0x729c8000, {FPR_VD, FPR_VJ}},
    {LISA_VFRSTM_B, 0x729c9000, {FPR_VD, FPR_VJ}},
    {LISA_VFRSTM_H, 0x729c9400, {FPR_VD, FPR_VJ}},
    {LISA_VSETEQZ_V, 0x729c9800, {FCC_CD, FPR_VJ}},
    {LISA_VSETNEZ_V, 0x729c9c00, {FCC_CD, FPR_VJ}},
    {LISA_VSETANYEQZ_B, 0x729ca000, {FCC_CD, FPR_VJ}},
    {LISA_VSETANYEQZ_H, 0x729ca400, {FCC_CD, FPR_VJ}},
    {LISA_VSETANYEQZ_W, 0x729ca800, {FCC_CD, FPR_VJ}},
    {LISA_VSETANYEQZ_D, 0x729cac00, {FCC_CD, FPR_VJ}},
    {LISA_VSETALLNEZ_B, 0x729cb000, {FCC_CD, FPR_VJ}},
    {LISA_VSETALLNEZ_H, 0x729cb400, {FCC_CD, FPR_VJ}},
    {LISA_VSETALLNEZ_W, 0x729cb800, {FCC_CD, FPR_VJ}},
    {LISA_VSETALLNEZ_D, 0x729cbc00, {FCC_CD, FPR_VJ}},
    {LISA_VFLOGB_S, 0x729cc400, {FPR_VD, FPR_VJ}},
    {LISA_VFLOGB_D, 0x729cc800, {FPR_VD, FPR_VJ}},
    {LISA_VFCLASS_S, 0x729cd400, {FPR_VD, FPR_VJ}},
    {LISA_VFCLASS_D, 0x729cd800, {FPR_VD, FPR_VJ}},
    {LISA_VFSQRT_S, 0x729ce400, {FPR_VD, FPR_VJ}},
    {LISA_VFSQRT_D, 0x729ce800, {FPR_VD, FPR_VJ}},
    {LISA_VFRECIP_S, 0x729cf400, {FPR_VD, FPR_VJ}},
    {LISA_VFRECIP_D, 0x729cf800, {FPR_VD, FPR_VJ}},
    {LISA_VFRSQRT_S, 0x729d0400, {FPR_VD, FPR_VJ}},
    {LISA_VFRSQRT_D, 0x729d0800, {FPR_VD, FPR_VJ}},
    {LISA_VFRINT_S, 0x729d3400, {FPR_VD, FPR_VJ}},
    {LISA_VFRINT_D, 0x729d3800, {FPR_VD, FPR_VJ}},
    {LISA_VFRINTRM_S, 0x729d4400, {FPR_VD, FPR_VJ}},
    {LISA_VFRINTRM_D, 0x729d4800, {FPR_VD, FPR_VJ}},
    {LISA_VFRINTRP_S, 0x729d5400, {FPR_VD, FPR_VJ}},
    {LISA_VFRINTRP_D, 0x729d5800, {FPR_VD, FPR_VJ}},
    {LISA_VFRINTRZ_S, 0x729d6400, {FPR_VD, FPR_VJ}},
    {LISA_VFRINTRZ_D, 0x729d6800, {FPR_VD, FPR_VJ}},
    {LISA_VFRINTRNE_S, 0x729d7400, {FPR_VD, FPR_VJ}},
    {LISA_VFRINTRNE_D, 0x729d7800, {FPR_VD, FPR_VJ}},
    {LISA_VEXTL_W_B, 0x729d8400, {FPR_VD, FPR_VJ}},
    {LISA_VEXTL_D_B, 0x729d8800, {FPR_VD, FPR_VJ}},
    {LISA_VEXTL_D_H, 0x729d9400, {FPR_VD, FPR_VJ}},
    {LISA_VEXTL_W_BU, 0x729dac00, {FPR_VD, FPR_VJ}},
    {LISA_VEXTL_D_BU, 0x729db000, {FPR_VD, FPR_VJ}},
    {LISA_VEXTL_D_HU, 0x729dbc00, {FPR_VD, FPR_VJ}},
    {LISA_VHADD8_D_BU, 0x729dd000, {FPR_VD, FPR_VJ}},
    {LISA_VHMINPOS_W_HU, 0x729dd400, {FPR_VD, FPR_VJ}},
    {LISA_VHMINPOS_D_HU, 0x729dd800, {FPR_VD, FPR_VJ}},
    {LISA_VHMINPOS_Q_HU, 0x729ddc00, {FPR_VD, FPR_VJ}},
    {LISA_VCLRTAIL_B, 0x729de000, {FPR_VD, FPR_VJ}},
    {LISA_VCLRTAIL_H, 0x729de400, {FPR_VD, FPR_VJ}},
    {LISA_VFCVTL_S_H, 0x729de800, {FPR_VD, FPR_VJ}},
    {LISA_VFCVTH_S_H, 0x729dec00, {FPR_VD, FPR_VJ}},
    {LISA_VFCVTL_D_S, 0x729df000, {FPR_VD, FPR_VJ}},
    {LISA_VFCVTH_D_S, 0x729df400, {FPR_VD, FPR_VJ}},
    {LISA_VFFINT_S_W, 0x729e0000, {FPR_VD, FPR_VJ}},
    {LISA_VFFINT_S_WU, 0x729e0400, {FPR_VD, FPR_VJ}},
    {LISA_VFFINT_D_L, 0x729e0800, {FPR_VD, FPR_VJ}},
    {LISA_VFFINT_D_LU, 0x729e0c00, {FPR_VD, FPR_VJ}},
    {LISA_VFFINTL_D_W, 0x729e1000, {FPR_VD, FPR_VJ}},
    {LISA_VFFINTH_D_W, 0x729e1400, {FPR_VD, FPR_VJ}},
    {LISA_VFTINT_W_S, 0x729e3000, {FPR_VD, FPR_VJ}},
    {LISA_VFTINT_L_D, 0x729e3400, {FPR_VD, FPR_VJ}},
    {LISA_VFTINTRM_W_S, 0x729e3800, {FPR_VD, FPR_VJ}},
    {LISA_VFTINTRM_L_D, 0x729e3c00, {FPR_VD, FPR_VJ}},
    {LISA_VFTINTRP_W_S, 0x729e4000, {FPR_VD, FPR_VJ}},
    {LISA_VFTINTRP_L_D, 0x729e4400, {FPR_VD, FPR_VJ}},
    {LISA_VFTINTRZ_W_S, 0x729e4800, {FPR_VD, FPR_VJ}},
    {LISA_VFTINTRZ_L_D, 0x729e4c00, {FPR_VD, FPR_VJ}},
    {LISA_VFTINTRNE_W_S, 0x729e5000, {FPR_VD, FPR_VJ}},
    {LISA_VFTINTRNE_L_D, 0x729e5400, {FPR_VD, FPR_VJ}},
    {LISA_VFTINT_WU_S, 0x729e5800, {FPR_VD, FPR_VJ}},
    {LISA_VFTINT_LU_D, 0x729e5c00, {FPR_VD, FPR_VJ}},
    {LISA_VFTINTRZ_WU_S, 0x729e7000, {FPR_VD, FPR_VJ}},
    {LISA_VFTINTRZ_LU_D, 0x729e7400, {FPR_VD, FPR_VJ}},
    {LISA_VFTINTL_L_S, 0x729e8000, {FPR_VD, FPR_VJ}},
    {LISA_VFTINTH_L_S, 0x729e8400, {FPR_VD, FPR_VJ}},
    {LISA_VFTINTRML_L_S, 0x729e8800, {FPR_VD, FPR_VJ}},
    {LISA_VFTINTRMH_L_S, 0x729e8c00, {FPR_VD, FPR_VJ}},
    {LISA_VFTINTRPL_L_S, 0x729e9000, {FPR_VD, FPR_VJ}},
    {LISA_VFTINTRPH_L_S, 0x729e9400, {FPR_VD, FPR_VJ}},
    {LISA_VFTINTRZL_L_S, 0x729e9800, {FPR_VD, FPR_VJ}},
    {LISA_VFTINTRZH_L_S, 0x729e9c00, {FPR_VD, FPR_VJ}},
    {LISA_VFTINTRNEL_L_S, 0x729ea000, {FPR_VD, FPR_VJ}},
    {LISA_VFTINTRNEH_L_S, 0x729ea400, {FPR_VD, FPR_VJ}},
    {LISA_VEXTH_H_B, 0x729ee000, {FPR_VD, FPR_VJ}},
    {LISA_VEXTH_W_H, 0x729ee400, {FPR_VD, FPR_VJ}},
    {LISA_VEXTH_D_W, 0x729ee800, {FPR_VD, FPR_VJ}},
    {LISA_VEXTH_Q_D, 0x729eec00, {FPR_VD, FPR_VJ}},
    {LISA_VEXTH_HU_BU, 0x729ef000, {FPR_VD, FPR_VJ}},
    {LISA_VEXTH_WU_HU, 0x729ef400, {FPR_VD, FPR_VJ}},
    {LISA_VEXTH_DU_WU, 0x729ef800, {FPR_VD, FPR_VJ}},
    {LISA_VEXTH_QU_DU, 0x729efc00, {FPR_VD, FPR_VJ}},
    {LISA_VREPLGR2VR_B, 0x729f0000, {FPR_VD, GPR_RJ}},
    {LISA_VREPLGR2VR_H, 0x729f0400, {FPR_VD, GPR_RJ}},
    {LISA_VREPLGR2VR_W, 0x729f0800, {FPR_VD, GPR_RJ}},
    {LISA_VREPLGR2VR_D, 0x729f0c00, {FPR_VD, GPR_RJ}},
    {LISA_VROTRI_B, 0x72a02000, {FPR_VD, FPR_VJ, IMM_UI3}},
    {LISA_VROTRI_H, 0x72a04000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VROTRI_W, 0x72a08000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VROTRI_D, 0x72a10000, {FPR_VD, FPR_VJ, IMM_UI6}},
    {LISA_VSRLRI_B, 0x72a42000, {FPR_VD, FPR_VJ, IMM_UI3}},
    {LISA_VSRLRI_H, 0x72a44000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VSRLRI_W, 0x72a48000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSRLRI_D, 0x72a50000, {FPR_VD, FPR_VJ, IMM_UI6}},
    {LISA_VSRARI_B, 0x72a82000, {FPR_VD, FPR_VJ, IMM_UI3}},
    {LISA_VSRARI_H, 0x72a84000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VSRARI_W, 0x72a88000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSRARI_D, 0x72a90000, {FPR_VD, FPR_VJ, IMM_UI6}},
    {LISA_VINSGR2VR_B, 0x72eb8000, {FPR_VD, GPR_RJ, IMM_UI4}},
    {LISA_VINSGR2VR_H, 0x72ebc000, {FPR_VD, GPR_RJ, IMM_UI3}},
    {LISA_VINSGR2VR_W, 0x72ebe000, {FPR_VD, GPR_RJ, IMM_UI2}},
    {LISA_VINSGR2VR_D, 0x72ebf000, {FPR_VD, GPR_RJ, IMM_UI1}},
    {LISA_VPICKVE2GR_B, 0x72ef8000, {GPR_RD, FPR_VJ, IMM_UI4}},
    {LISA_VPICKVE2GR_H, 0x72efc000, {GPR_RD, FPR_VJ, IMM_UI3}},
    {LISA_VPICKVE2GR_W, 0x72efe000, {GPR_RD, FPR_VJ, IMM_UI2}},
    {LISA_VPICKVE2GR_D, 0x72eff000, {GPR_RD, FPR_VJ, IMM_UI1}},
    {LISA_VPICKVE2GR_BU, 0x72f38000, {GPR_RD, FPR_VJ, IMM_UI4}},
    {LISA_VPICKVE2GR_HU, 0x72f3c000, {GPR_RD, FPR_VJ, IMM_UI3}},
    {LISA_VPICKVE2GR_WU, 0x72f3e000, {GPR_RD, FPR_VJ, IMM_UI2}},
    {LISA_VPICKVE2GR_DU, 0x72f3f000, {GPR_RD, FPR_VJ, IMM_UI1}},
    {LISA_VREPLVEI_B, 0x72f78000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VREPLVEI_H, 0x72f7c000, {FPR_VD, FPR_VJ, IMM_UI3}},
    {LISA_VREPLVEI_W, 0x72f7e000, {FPR_VD, FPR_VJ, IMM_UI2}},
    {LISA_VREPLVEI_D, 0x72f7f000, {FPR_VD, FPR_VJ, IMM_UI1}},
    {LISA_VEXTRCOLI_B, 0x72fb8000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VEXTRCOLI_H, 0x72fbc000, {FPR_VD, FPR_VJ, IMM_UI3}},
    {LISA_VEXTRCOLI_W, 0x72fbe000, {FPR_VD, FPR_VJ, IMM_UI2}},
    {LISA_VEXTRCOLI_D, 0x72fbf000, {FPR_VD, FPR_VJ, IMM_UI1}},
    {LISA_VSLLWIL_H_B, 0x73082000, {FPR_VD, FPR_VJ, IMM_UI3}},
    {LISA_VSLLWIL_W_H, 0x73084000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VSLLWIL_D_W, 0x73088000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VEXTL_Q_D, 0x73090000, {FPR_VD, FPR_VJ}},
    {LISA_VSLLWIL_HU_BU, 0x730c2000, {FPR_VD, FPR_VJ, IMM_UI3}},
    {LISA_VSLLWIL_WU_HU, 0x730c4000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VSLLWIL_DU_WU, 0x730c8000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VEXTL_QU_DU, 0x730d0000, {FPR_VD, FPR_VJ}},
    {LISA_VBITCLRI_B, 0x73102000, {FPR_VD, FPR_VJ, IMM_UI3}},
    {LISA_VBITCLRI_H, 0x73104000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VBITCLRI_W, 0x73108000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VBITCLRI_D, 0x73110000, {FPR_VD, FPR_VJ, IMM_UI6}},
    {LISA_VBITSETI_B, 0x73142000, {FPR_VD, FPR_VJ, IMM_UI3}},
    {LISA_VBITSETI_H, 0x73144000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VBITSETI_W, 0x73148000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VBITSETI_D, 0x73150000, {FPR_VD, FPR_VJ, IMM_UI6}},
    {LISA_VBITREVI_B, 0x73182000, {FPR_VD, FPR_VJ, IMM_UI3}},
    {LISA_VBITREVI_H, 0x73184000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VBITREVI_W, 0x73188000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VBITREVI_D, 0x73190000, {FPR_VD, FPR_VJ, IMM_UI6}},
    {LISA_VBSTRC12I_B, 0x731c2000, {FPR_VD, FPR_VJ, IMM_UI3}},
    {LISA_VBSTRC12I_H, 0x731c4000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VBSTRC12I_W, 0x731c8000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VBSTRC12I_D, 0x731d0000, {FPR_VD, FPR_VJ, IMM_UI6}},
    {LISA_VBSTRC21I_B, 0x73202000, {FPR_VD, FPR_VJ, IMM_UI3}},
    {LISA_VBSTRC21I_H, 0x73204000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VBSTRC21I_W, 0x73208000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VBSTRC21I_D, 0x73210000, {FPR_VD, FPR_VJ, IMM_UI6}},
    {LISA_VSAT_B, 0x73242000, {FPR_VD, FPR_VJ, IMM_UI3}},
    {LISA_VSAT_H, 0x73244000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VSAT_W, 0x73248000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSAT_D, 0x73250000, {FPR_VD, FPR_VJ, IMM_UI6}},
    {LISA_VSAT_BU, 0x73282000, {FPR_VD, FPR_VJ, IMM_UI3}},
    {LISA_VSAT_HU, 0x73284000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VSAT_WU, 0x73288000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSAT_DU, 0x73290000, {FPR_VD, FPR_VJ, IMM_UI6}},
    {LISA_VSLLI_B, 0x732c2000, {FPR_VD, FPR_VJ, IMM_UI3}},
    {LISA_VSLLI_H, 0x732c4000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VSLLI_W, 0x732c8000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSLLI_D, 0x732d0000, {FPR_VD, FPR_VJ, IMM_UI6}},
    {LISA_VSRLI_B, 0x73302000, {FPR_VD, FPR_VJ, IMM_UI3}},
    {LISA_VSRLI_H, 0x73304000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VSRLI_W, 0x73308000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSRLI_D, 0x73310000, {FPR_VD, FPR_VJ, IMM_UI6}},
    {LISA_VSRAI_B, 0x73342000, {FPR_VD, FPR_VJ, IMM_UI3}},
    {LISA_VSRAI_H, 0x73344000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VSRAI_W, 0x73348000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSRAI_D, 0x73350000, {FPR_VD, FPR_VJ, IMM_UI6}},
    {LISA_VSRLRNENI_B_H, 0x73384000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VSRLRNENI_H_W, 0x73388000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSRLRNENI_W_D, 0x73390000, {FPR_VD, FPR_VJ, IMM_UI6}},
    {LISA_VSRLRNENI_D_Q, 0x733a0000, {FPR_VD, FPR_VJ, IMM_UI7}},
    {LISA_VSRARNENI_B_H, 0x733c4000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VSRARNENI_H_W, 0x733c8000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSRARNENI_W_D, 0x733d0000, {FPR_VD, FPR_VJ, IMM_UI6}},
    {LISA_VSRARNENI_D_Q, 0x733e0000, {FPR_VD, FPR_VJ, IMM_UI7}},
    {LISA_VSRLNI_B_H, 0x73404000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VSRLNI_H_W, 0x73408000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSRLNI_W_D, 0x73410000, {FPR_VD, FPR_VJ, IMM_UI6}},
    {LISA_VSRLNI_D_Q, 0x73420000, {FPR_VD, FPR_VJ, IMM_UI7}},
    {LISA_VSRLRNI_B_H, 0x73444000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VSRLRNI_H_W, 0x73448000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSRLRNI_W_D, 0x73450000, {FPR_VD, FPR_VJ, IMM_UI6}},
    {LISA_VSRLRNI_D_Q, 0x73460000, {FPR_VD, FPR_VJ, IMM_UI7}},
    {LISA_VSSRLNI_B_H, 0x73484000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VSSRLNI_H_W, 0x73488000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSSRLNI_W_D, 0x73490000, {FPR_VD, FPR_VJ, IMM_UI6}},
    {LISA_VSSRLNI_D_Q, 0x734a0000, {FPR_VD, FPR_VJ, IMM_UI7}},
    {LISA_VSSRLNI_BU_H, 0x734c4000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VSSRLNI_HU_W, 0x734c8000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSSRLNI_WU_D, 0x734d0000, {FPR_VD, FPR_VJ, IMM_UI6}},
    {LISA_VSSRLNI_DU_Q, 0x734e0000, {FPR_VD, FPR_VJ, IMM_UI7}},
    {LISA_VSSRLRNI_B_H, 0x73504000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VSSRLRNI_H_W, 0x73508000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSSRLRNI_W_D, 0x73510000, {FPR_VD, FPR_VJ, IMM_UI6}},
    {LISA_VSSRLRNI_D_Q, 0x73520000, {FPR_VD, FPR_VJ, IMM_UI7}},
    {LISA_VSSRLRNI_BU_H, 0x73544000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VSSRLRNI_HU_W, 0x73548000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSSRLRNI_WU_D, 0x73550000, {FPR_VD, FPR_VJ, IMM_UI6}},
    {LISA_VSSRLRNI_DU_Q, 0x73560000, {FPR_VD, FPR_VJ, IMM_UI7}},
    {LISA_VSRANI_B_H, 0x73584000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VSRANI_H_W, 0x73588000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSRANI_W_D, 0x73590000, {FPR_VD, FPR_VJ, IMM_UI6}},
    {LISA_VSRANI_D_Q, 0x735a0000, {FPR_VD, FPR_VJ, IMM_UI7}},
    {LISA_VSRARNI_B_H, 0x735c4000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VSRARNI_H_W, 0x735c8000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSRARNI_W_D, 0x735d0000, {FPR_VD, FPR_VJ, IMM_UI6}},
    {LISA_VSRARNI_D_Q, 0x735e0000, {FPR_VD, FPR_VJ, IMM_UI7}},
    {LISA_VSSRANI_B_H, 0x73604000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VSSRANI_H_W, 0x73608000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSSRANI_W_D, 0x73610000, {FPR_VD, FPR_VJ, IMM_UI6}},
    {LISA_VSSRANI_D_Q, 0x73620000, {FPR_VD, FPR_VJ, IMM_UI7}},
    {LISA_VSSRANI_BU_H, 0x73644000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VSSRANI_HU_W, 0x73648000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSSRANI_WU_D, 0x73650000, {FPR_VD, FPR_VJ, IMM_UI6}},
    {LISA_VSSRANI_DU_Q, 0x73660000, {FPR_VD, FPR_VJ, IMM_UI7}},
    {LISA_VSSRARNI_B_H, 0x73684000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VSSRARNI_H_W, 0x73688000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSSRARNI_W_D, 0x73690000, {FPR_VD, FPR_VJ, IMM_UI6}},
    {LISA_VSSRARNI_D_Q, 0x736a0000, {FPR_VD, FPR_VJ, IMM_UI7}},
    {LISA_VSSRARNI_BU_H, 0x736c4000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VSSRARNI_HU_W, 0x736c8000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSSRARNI_WU_D, 0x736d0000, {FPR_VD, FPR_VJ, IMM_UI6}},
    {LISA_VSSRARNI_DU_Q, 0x736e0000, {FPR_VD, FPR_VJ, IMM_UI7}},
    {LISA_VSSRLRNENI_B_H, 0x73704000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VSSRLRNENI_H_W, 0x73708000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSSRLRNENI_W_D, 0x73710000, {FPR_VD, FPR_VJ, IMM_UI6}},
    {LISA_VSSRLRNENI_D_Q, 0x73720000, {FPR_VD, FPR_VJ, IMM_UI7}},
    {LISA_VSSRLRNENI_BU_H, 0x73744000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VSSRLRNENI_HU_W, 0x73748000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSSRLRNENI_WU_D, 0x73750000, {FPR_VD, FPR_VJ, IMM_UI6}},
    {LISA_VSSRLRNENI_DU_Q, 0x73760000, {FPR_VD, FPR_VJ, IMM_UI7}},
    {LISA_VSSRARNENI_B_H, 0x73784000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VSSRARNENI_H_W, 0x73788000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSSRARNENI_W_D, 0x73790000, {FPR_VD, FPR_VJ, IMM_UI6}},
    {LISA_VSSRARNENI_D_Q, 0x737a0000, {FPR_VD, FPR_VJ, IMM_UI7}},
    {LISA_VSSRARNENI_BU_H, 0x737c4000, {FPR_VD, FPR_VJ, IMM_UI4}},
    {LISA_VSSRARNENI_HU_W, 0x737c8000, {FPR_VD, FPR_VJ, IMM_UI5L}},
    {LISA_VSSRARNENI_WU_D, 0x737d0000, {FPR_VD, FPR_VJ, IMM_UI6}},
    {LISA_VSSRARNENI_DU_Q, 0x737e0000, {FPR_VD, FPR_VJ, IMM_UI7}},
    {LISA_VEXTRINS_D, 0x73800000, {FPR_VD, FPR_VJ, IMM_UI8}},
    {LISA_VEXTRINS_W, 0x73840000, {FPR_VD, FPR_VJ, IMM_UI8}},
    {LISA_VEXTRINS_H, 0x73880000, {FPR_VD, FPR_VJ, IMM_UI8}},
    {LISA_VEXTRINS_B, 0x738c0000, {FPR_VD, FPR_VJ, IMM_UI8}},
    {LISA_VSHUF4I_B, 0x73900000, {FPR_VD, FPR_VJ, IMM_UI8}},
    {LISA_VSHUF4I_H, 0x73940000, {FPR_VD, FPR_VJ, IMM_UI8}},
    {LISA_VSHUF4I_W, 0x73980000, {FPR_VD, FPR_VJ, IMM_UI8}},
    {LISA_VSHUF4I_D, 0x739c0000, {FPR_VD, FPR_VJ, IMM_UI8}},
    {LISA_VSHUFI1_B, 0x73a00000, {FPR_VD, FPR_VJ, IMM_UI8}},
    {LISA_VSHUFI2_B, 0x73a40000, {FPR_VD, FPR_VJ, IMM_UI8}},
    {LISA_VSHUFI3_B, 0x73a80000, {FPR_VD, FPR_VJ, IMM_UI8}},
    {LISA_VSHUFI4_B, 0x73ac0000, {FPR_VD, FPR_VJ, IMM_UI8}},
    {LISA_VSHUFI1_H, 0x73b00000, {FPR_VD, FPR_VJ, IMM_UI8}},
    {LISA_VSHUFI2_H, 0x73b40000, {FPR_VD, FPR_VJ, IMM_UI8}},
    {LISA_VSELI_H, 0x73b80000, {FPR_VD, FPR_VJ, IMM_UI8}},
    {LISA_VSELI_W, 0x73bc0000, {FPR_VD, FPR_VJ, IMM_UI8}},
    {LISA_VSELI_D, 0x73c00000, {FPR_VD, FPR_VJ, IMM_UI8}},
    {LISA_VBITSELI_B, 0x73c40000, {FPR_VD, FPR_VJ, IMM_UI8}},
    {LISA_VBITMVZI_B, 0x73c80000, {FPR_VD, FPR_VJ, IMM_UI8}},
    {LISA_VBITMVNZI_B, 0x73cc0000, {FPR_VD, FPR_VJ, IMM_UI8}},
    {LISA_VANDI_B, 0x73d00000, {FPR_VD, FPR_VJ, IMM_UI8}},
    {LISA_VORI_B, 0x73d40000, {FPR_VD, FPR_VJ, IMM_UI8}},
    {LISA_VXORI_B, 0x73d80000, {FPR_VD, FPR_VJ, IMM_UI8}},
    {LISA_VNORI_B, 0x73dc0000, {FPR_VD, FPR_VJ, IMM_UI8}},
    {LISA_VLDI, 0x73e00000, {FPR_VD, IMM_I13}},
    {LISA_VPERMI_W, 0x73e40000, {FPR_VD, FPR_VJ, IMM_UI8}},
    {LISA_XVSEQ_B, 0x74000000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSEQ_H, 0x74008000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSEQ_W, 0x74010000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSEQ_D, 0x74018000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSLE_B, 0x74020000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSLE_H, 0x74028000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSLE_W, 0x74030000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSLE_D, 0x74038000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSLE_BU, 0x74040000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSLE_HU, 0x74048000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSLE_WU, 0x74050000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSLE_DU, 0x74058000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSLT_B, 0x74060000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSLT_H, 0x74068000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSLT_W, 0x74070000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSLT_D, 0x74078000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSLT_BU, 0x74080000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSLT_HU, 0x74088000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSLT_WU, 0x74090000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSLT_DU, 0x74098000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADD_B, 0x740a0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADD_H, 0x740a8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADD_W, 0x740b0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADD_D, 0x740b8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUB_B, 0x740c0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUB_H, 0x740c8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUB_W, 0x740d0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUB_D, 0x740d8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDW_H_H_B, 0x740e0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDW_W_W_H, 0x740e8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDW_D_D_W, 0x740f0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDW_H_H_BU, 0x74100000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDW_W_W_HU, 0x74108000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDW_D_D_WU, 0x74110000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBW_H_H_B, 0x74120000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBW_W_W_H, 0x74128000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBW_D_D_W, 0x74130000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBW_H_H_BU, 0x74140000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBW_W_W_HU, 0x74148000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBW_D_D_WU, 0x74150000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSADDW_H_H_B, 0x74160000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSADDW_W_W_H, 0x74168000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSADDW_D_D_W, 0x74170000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSADDW_HU_HU_BU, 0x74180000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSADDW_WU_WU_HU, 0x74188000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSADDW_DU_DU_WU, 0x74190000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSUBW_H_H_B, 0x741a0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSUBW_W_W_H, 0x741a8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSUBW_D_D_W, 0x741b0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSUBW_HU_HU_BU, 0x741c0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSUBW_WU_WU_HU, 0x741c8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSUBW_DU_DU_WU, 0x741d0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWEV_H_B, 0x741e0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWEV_W_H, 0x741e8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWEV_D_W, 0x741f0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWEV_Q_D, 0x741f8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBWEV_H_B, 0x74200000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBWEV_W_H, 0x74208000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBWEV_D_W, 0x74210000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBWEV_Q_D, 0x74218000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWOD_H_B, 0x74220000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWOD_W_H, 0x74228000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWOD_D_W, 0x74230000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWOD_Q_D, 0x74238000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBWOD_H_B, 0x74240000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBWOD_W_H, 0x74248000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBWOD_D_W, 0x74250000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBWOD_Q_D, 0x74258000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWL_H_B, 0x74260000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWL_W_H, 0x74268000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWL_D_W, 0x74270000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWL_Q_D, 0x74278000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBWL_H_B, 0x74280000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBWL_W_H, 0x74288000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBWL_D_W, 0x74290000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBWL_Q_D, 0x74298000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWH_H_B, 0x742a0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWH_W_H, 0x742a8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWH_D_W, 0x742b0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWH_Q_D, 0x742b8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBWH_H_B, 0x742c0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBWH_W_H, 0x742c8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBWH_D_W, 0x742d0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBWH_Q_D, 0x742d8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWEV_H_BU, 0x742e0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWEV_W_HU, 0x742e8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWEV_D_WU, 0x742f0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWEV_Q_DU, 0x742f8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBWEV_H_BU, 0x74300000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBWEV_W_HU, 0x74308000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBWEV_D_WU, 0x74310000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBWEV_Q_DU, 0x74318000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWOD_H_BU, 0x74320000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWOD_W_HU, 0x74328000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWOD_D_WU, 0x74330000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWOD_Q_DU, 0x74338000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBWOD_H_BU, 0x74340000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBWOD_W_HU, 0x74348000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBWOD_D_WU, 0x74350000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBWOD_Q_DU, 0x74358000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWL_H_BU, 0x74360000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWL_W_HU, 0x74368000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWL_D_WU, 0x74370000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWL_Q_DU, 0x74378000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBWL_H_BU, 0x74380000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBWL_W_HU, 0x74388000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBWL_D_WU, 0x74390000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBWL_Q_DU, 0x74398000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWH_H_BU, 0x743a0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWH_W_HU, 0x743a8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWH_D_WU, 0x743b0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWH_Q_DU, 0x743b8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBWH_H_BU, 0x743c0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBWH_W_HU, 0x743c8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBWH_D_WU, 0x743d0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUBWH_Q_DU, 0x743d8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWEV_H_BU_B, 0x743e0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWEV_W_HU_H, 0x743e8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWEV_D_WU_W, 0x743f0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWEV_Q_DU_D, 0x743f8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWOD_H_BU_B, 0x74400000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWOD_W_HU_H, 0x74408000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWOD_D_WU_W, 0x74410000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWOD_Q_DU_D, 0x74418000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWL_H_BU_B, 0x74420000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWL_W_HU_H, 0x74428000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWL_D_WU_W, 0x74430000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWL_Q_DU_D, 0x74438000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWH_H_BU_B, 0x74440000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWH_W_HU_H, 0x74448000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWH_D_WU_W, 0x74450000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDWH_Q_DU_D, 0x74458000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSADD_B, 0x74460000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSADD_H, 0x74468000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSADD_W, 0x74470000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSADD_D, 0x74478000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSUB_B, 0x74480000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSUB_H, 0x74488000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSUB_W, 0x74490000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSUB_D, 0x74498000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSADD_BU, 0x744a0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSADD_HU, 0x744a8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSADD_WU, 0x744b0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSADD_DU, 0x744b8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSUB_BU, 0x744c0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSUB_HU, 0x744c8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSUB_WU, 0x744d0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSUB_DU, 0x744d8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSUB_BU_BU_B, 0x744e0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSUB_HU_HU_H, 0x744e8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSUB_WU_WU_W, 0x744f0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSUB_DU_DU_D, 0x744f8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSUB_BU_B_BU, 0x74500000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSUB_HU_H_HU, 0x74508000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSUB_WU_W_WU, 0x74510000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSUB_DU_D_DU, 0x74518000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSUB_B_BU_BU, 0x74520000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSUB_H_HU_HU, 0x74528000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSUB_W_WU_WU, 0x74530000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSUB_D_DU_DU, 0x74538000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVHADDW_H_B, 0x74540000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVHADDW_W_H, 0x74548000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVHADDW_D_W, 0x74550000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVHADDW_Q_D, 0x74558000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVHSUBW_H_B, 0x74560000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVHSUBW_W_H, 0x74568000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVHSUBW_D_W, 0x74570000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVHSUBW_Q_D, 0x74578000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVHADDW_HU_BU, 0x74580000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVHADDW_WU_HU, 0x74588000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVHADDW_DU_WU, 0x74590000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVHADDW_QU_DU, 0x74598000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVHSUBW_HU_BU, 0x745a0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVHSUBW_WU_HU, 0x745a8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVHSUBW_DU_WU, 0x745b0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVHSUBW_QU_DU, 0x745b8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDA_B, 0x745c0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDA_H, 0x745c8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDA_W, 0x745d0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADDA_D, 0x745d8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSADDA_B, 0x745e0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSADDA_H, 0x745e8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSADDA_W, 0x745f0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSADDA_D, 0x745f8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVABSD_B, 0x74600000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVABSD_H, 0x74608000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVABSD_W, 0x74610000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVABSD_D, 0x74618000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVABSD_BU, 0x74620000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVABSD_HU, 0x74628000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVABSD_WU, 0x74630000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVABSD_DU, 0x74638000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVAVG_B, 0x74640000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVAVG_H, 0x74648000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVAVG_W, 0x74650000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVAVG_D, 0x74658000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVAVG_BU, 0x74660000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVAVG_HU, 0x74668000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVAVG_WU, 0x74670000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVAVG_DU, 0x74678000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVAVGR_B, 0x74680000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVAVGR_H, 0x74688000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVAVGR_W, 0x74690000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVAVGR_D, 0x74698000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVAVGR_BU, 0x746a0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVAVGR_HU, 0x746a8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVAVGR_WU, 0x746b0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVAVGR_DU, 0x746b8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVHALFD_B, 0x746c0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVHALFD_H, 0x746c8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVHALFD_W, 0x746d0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVHALFD_D, 0x746d8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVHALFD_BU, 0x746e0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVHALFD_HU, 0x746e8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVHALFD_WU, 0x746f0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVHALFD_DU, 0x746f8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMAX_B, 0x74700000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMAX_H, 0x74708000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMAX_W, 0x74710000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMAX_D, 0x74718000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMIN_B, 0x74720000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMIN_H, 0x74728000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMIN_W, 0x74730000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMIN_D, 0x74738000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMAX_BU, 0x74740000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMAX_HU, 0x74748000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMAX_WU, 0x74750000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMAX_DU, 0x74758000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMIN_BU, 0x74760000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMIN_HU, 0x74768000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMIN_WU, 0x74770000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMIN_DU, 0x74778000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMAXA_B, 0x74780000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMAXA_H, 0x74788000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMAXA_W, 0x74790000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMAXA_D, 0x74798000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMINA_B, 0x747a0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMINA_H, 0x747a8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMINA_W, 0x747b0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMINA_D, 0x747b8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSADW_H_B, 0x747c0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSADW_W_H, 0x747c8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSADW_D_W, 0x747d0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSADW_H_BU, 0x747e0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSADW_W_HU, 0x747e8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSADW_D_WU, 0x747f0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVACCSADW_H_B, 0x74800000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVACCSADW_W_H, 0x74808000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVACCSADW_D_W, 0x74810000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVACCSADW_H_BU, 0x74820000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVACCSADW_W_HU, 0x74828000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVACCSADW_D_WU, 0x74830000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMUL_B, 0x74840000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMUL_H, 0x74848000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMUL_W, 0x74850000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMUL_D, 0x74858000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMUH_B, 0x74860000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMUH_H, 0x74868000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMUH_W, 0x74870000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMUH_D, 0x74878000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMUH_BU, 0x74880000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMUH_HU, 0x74888000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMUH_WU, 0x74890000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMUH_DU, 0x74898000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMUH_BU_B, 0x748a0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMUH_HU_H, 0x748a8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMUH_WU_W, 0x748b0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMUH_DU_D, 0x748b8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULXW_H_B, 0x748c0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULXW_W_H, 0x748c8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULXW_D_W, 0x748d0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULXW_H_BU, 0x748e0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULXW_W_HU, 0x748e8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULXW_D_WU, 0x748f0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWEV_H_B, 0x74900000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWEV_W_H, 0x74908000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWEV_D_W, 0x74910000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWEV_Q_D, 0x74918000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWOD_H_B, 0x74920000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWOD_W_H, 0x74928000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWOD_D_W, 0x74930000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWOD_Q_D, 0x74938000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWL_H_B, 0x74940000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWL_W_H, 0x74948000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWL_D_W, 0x74950000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWL_Q_D, 0x74958000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWH_H_B, 0x74960000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWH_W_H, 0x74968000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWH_D_W, 0x74970000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWH_Q_D, 0x74978000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWEV_H_BU, 0x74980000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWEV_W_HU, 0x74988000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWEV_D_WU, 0x74990000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWEV_Q_DU, 0x74998000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWOD_H_BU, 0x749a0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWOD_W_HU, 0x749a8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWOD_D_WU, 0x749b0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWOD_Q_DU, 0x749b8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWL_H_BU, 0x749c0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWL_W_HU, 0x749c8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWL_D_WU, 0x749d0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWL_Q_DU, 0x749d8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWH_H_BU, 0x749e0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWH_W_HU, 0x749e8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWH_D_WU, 0x749f0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWH_Q_DU, 0x749f8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWEV_H_BU_B, 0x74a00000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWEV_W_HU_H, 0x74a08000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWEV_D_WU_W, 0x74a10000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWEV_Q_DU_D, 0x74a18000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWOD_H_BU_B, 0x74a20000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWOD_W_HU_H, 0x74a28000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWOD_D_WU_W, 0x74a30000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWOD_Q_DU_D, 0x74a38000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWL_H_BU_B, 0x74a40000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWL_W_HU_H, 0x74a48000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWL_D_WU_W, 0x74a50000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWL_Q_DU_D, 0x74a58000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWH_H_BU_B, 0x74a60000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWH_W_HU_H, 0x74a68000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWH_D_WU_W, 0x74a70000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMULWH_Q_DU_D, 0x74a78000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADD_B, 0x74a80000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADD_H, 0x74a88000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADD_W, 0x74a90000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADD_D, 0x74a98000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMSUB_B, 0x74aa0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMSUB_H, 0x74aa8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMSUB_W, 0x74ab0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMSUB_D, 0x74ab8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWEV_H_B, 0x74ac0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWEV_W_H, 0x74ac8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWEV_D_W, 0x74ad0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWEV_Q_D, 0x74ad8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWOD_H_B, 0x74ae0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWOD_W_H, 0x74ae8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWOD_D_W, 0x74af0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWOD_Q_D, 0x74af8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWL_H_B, 0x74b00000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWL_W_H, 0x74b08000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWL_D_W, 0x74b10000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWL_Q_D, 0x74b18000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWH_H_B, 0x74b20000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWH_W_H, 0x74b28000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWH_D_W, 0x74b30000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWH_Q_D, 0x74b38000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWEV_H_BU, 0x74b40000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWEV_W_HU, 0x74b48000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWEV_D_WU, 0x74b50000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWEV_Q_DU, 0x74b58000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWOD_H_BU, 0x74b60000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWOD_W_HU, 0x74b68000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWOD_D_WU, 0x74b70000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWOD_Q_DU, 0x74b78000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWL_H_BU, 0x74b80000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWL_W_HU, 0x74b88000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWL_D_WU, 0x74b90000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWL_Q_DU, 0x74b98000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWH_H_BU, 0x74ba0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWH_W_HU, 0x74ba8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWH_D_WU, 0x74bb0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWH_Q_DU, 0x74bb8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWEV_H_BU_B, 0x74bc0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWEV_W_HU_H, 0x74bc8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWEV_D_WU_W, 0x74bd0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWEV_Q_DU_D, 0x74bd8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWOD_H_BU_B, 0x74be0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWOD_W_HU_H, 0x74be8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWOD_D_WU_W, 0x74bf0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWOD_Q_DU_D, 0x74bf8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWL_H_BU_B, 0x74c00000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWL_W_HU_H, 0x74c08000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWL_D_WU_W, 0x74c10000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWL_Q_DU_D, 0x74c18000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWH_H_BU_B, 0x74c20000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWH_W_HU_H, 0x74c28000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWH_D_WU_W, 0x74c30000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMADDWH_Q_DU_D, 0x74c38000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP2_H_B, 0x74c40000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP2_W_H, 0x74c48000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP2_D_W, 0x74c50000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP2_Q_D, 0x74c58000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP2_HU_BU, 0x74c60000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP2_WU_HU, 0x74c68000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP2_DU_WU, 0x74c70000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP2_QU_DU, 0x74c78000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP2_H_BU_B, 0x74c80000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP2_W_HU_H, 0x74c88000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP2_D_WU_W, 0x74c90000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP2_Q_DU_D, 0x74c98000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP2ADD_H_B, 0x74ca0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP2ADD_W_H, 0x74ca8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP2ADD_D_W, 0x74cb0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP2ADD_Q_D, 0x74cb8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP2ADD_H_BU, 0x74cc0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP2ADD_W_HU, 0x74cc8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP2ADD_D_WU, 0x74cd0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP2ADD_Q_DU, 0x74cd8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP2ADD_H_BU_B, 0x74ce0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP2ADD_W_HU_H, 0x74ce8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP2ADD_D_WU_W, 0x74cf0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP2ADD_Q_DU_D, 0x74cf8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP2SUB_H_B, 0x74d00000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP2SUB_W_H, 0x74d08000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP2SUB_D_W, 0x74d10000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP2SUB_Q_D, 0x74d18000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP2SUB_H_BU, 0x74d20000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP2SUB_W_HU, 0x74d28000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP2SUB_D_WU, 0x74d30000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP2SUB_Q_DU, 0x74d38000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP4_W_B, 0x74d40000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP4_D_H, 0x74d48000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP4_Q_W, 0x74d50000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP4_W_BU, 0x74d60000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP4_D_HU, 0x74d68000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP4_Q_WU, 0x74d70000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP4_W_BU_B, 0x74d80000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP4_D_HU_H, 0x74d88000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP4_Q_WU_W, 0x74d90000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP4ADD_W_B, 0x74da0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP4ADD_D_H, 0x74da8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP4ADD_Q_W, 0x74db0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP4ADD_W_BU, 0x74dc0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP4ADD_D_HU, 0x74dc8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP4ADD_Q_WU, 0x74dd0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP4ADD_W_BU_B, 0x74de0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP4ADD_D_HU_H, 0x74de8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDP4ADD_Q_WU_W, 0x74df0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDIV_B, 0x74e00000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDIV_H, 0x74e08000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDIV_W, 0x74e10000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDIV_D, 0x74e18000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMOD_B, 0x74e20000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMOD_H, 0x74e28000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMOD_W, 0x74e30000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMOD_D, 0x74e38000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDIV_BU, 0x74e40000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDIV_HU, 0x74e48000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDIV_WU, 0x74e50000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVDIV_DU, 0x74e58000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMOD_BU, 0x74e60000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMOD_HU, 0x74e68000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMOD_WU, 0x74e70000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVMOD_DU, 0x74e78000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSLL_B, 0x74e80000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSLL_H, 0x74e88000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSLL_W, 0x74e90000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSLL_D, 0x74e98000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSRL_B, 0x74ea0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSRL_H, 0x74ea8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSRL_W, 0x74eb0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSRL_D, 0x74eb8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSRA_B, 0x74ec0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSRA_H, 0x74ec8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSRA_W, 0x74ed0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSRA_D, 0x74ed8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVROTR_B, 0x74ee0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVROTR_H, 0x74ee8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVROTR_W, 0x74ef0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVROTR_D, 0x74ef8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSRLR_B, 0x74f00000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSRLR_H, 0x74f08000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSRLR_W, 0x74f10000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSRLR_D, 0x74f18000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSRAR_B, 0x74f20000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSRAR_H, 0x74f28000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSRAR_W, 0x74f30000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSRAR_D, 0x74f38000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSRLN_B_H, 0x74f48000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSRLN_H_W, 0x74f50000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSRLN_W_D, 0x74f58000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSRAN_B_H, 0x74f68000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSRAN_H_W, 0x74f70000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSRAN_W_D, 0x74f78000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSRLRN_B_H, 0x74f88000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSRLRN_H_W, 0x74f90000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSRLRN_W_D, 0x74f98000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSRARN_B_H, 0x74fa8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSRARN_H_W, 0x74fb0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSRARN_W_D, 0x74fb8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSRLN_B_H, 0x74fc8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSRLN_H_W, 0x74fd0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSRLN_W_D, 0x74fd8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSRAN_B_H, 0x74fe8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSRAN_H_W, 0x74ff0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSRAN_W_D, 0x74ff8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSRLRN_B_H, 0x75008000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSRLRN_H_W, 0x75010000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSRLRN_W_D, 0x75018000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSRARN_B_H, 0x75028000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSRARN_H_W, 0x75030000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSRARN_W_D, 0x75038000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSRLN_BU_H, 0x75048000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSRLN_HU_W, 0x75050000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSRLN_WU_D, 0x75058000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSRAN_BU_H, 0x75068000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSRAN_HU_W, 0x75070000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSRAN_WU_D, 0x75078000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSRLRN_BU_H, 0x75088000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSRLRN_HU_W, 0x75090000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSRLRN_WU_D, 0x75098000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSRARN_BU_H, 0x750a8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSRARN_HU_W, 0x750b0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSSRARN_WU_D, 0x750b8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVBITCLR_B, 0x750c0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVBITCLR_H, 0x750c8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVBITCLR_W, 0x750d0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVBITCLR_D, 0x750d8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVBITSET_B, 0x750e0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVBITSET_H, 0x750e8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVBITSET_W, 0x750f0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVBITSET_D, 0x750f8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVBITREV_B, 0x75100000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVBITREV_H, 0x75108000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVBITREV_W, 0x75110000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVBITREV_D, 0x75118000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVBSTRC12_B, 0x75120000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVBSTRC12_H, 0x75128000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVBSTRC12_W, 0x75130000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVBSTRC12_D, 0x75138000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVBSTRC21_B, 0x75140000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVBSTRC21_H, 0x75148000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVBSTRC21_W, 0x75150000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVBSTRC21_D, 0x75158000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPACKEV_B, 0x75160000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPACKEV_H, 0x75168000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPACKEV_W, 0x75170000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPACKEV_D, 0x75178000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPACKOD_B, 0x75180000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPACKOD_H, 0x75188000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPACKOD_W, 0x75190000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPACKOD_D, 0x75198000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVILVL_B, 0x751a0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVILVL_H, 0x751a8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVILVL_W, 0x751b0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVILVL_D, 0x751b8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVILVH_B, 0x751c0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVILVH_H, 0x751c8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVILVH_W, 0x751d0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVILVH_D, 0x751d8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPICKEV_B, 0x751e0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPICKEV_H, 0x751e8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPICKEV_W, 0x751f0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPICKEV_D, 0x751f8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPICKOD_B, 0x75200000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPICKOD_H, 0x75208000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPICKOD_W, 0x75210000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPICKOD_D, 0x75218000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVREPLVE_B, 0x75220000, {FPR_XD, FPR_XJ, GPR_RK}},
    {LISA_XVREPLVE_H, 0x75228000, {FPR_XD, FPR_XJ, GPR_RK}},
    {LISA_XVREPLVE_W, 0x75230000, {FPR_XD, FPR_XJ, GPR_RK}},
    {LISA_XVREPLVE_D, 0x75238000, {FPR_XD, FPR_XJ, GPR_RK}},
    {LISA_XVEXTRCOL_B, 0x75240000, {FPR_XD, FPR_XJ, GPR_RK}},
    {LISA_XVEXTRCOL_H, 0x75248000, {FPR_XD, FPR_XJ, GPR_RK}},
    {LISA_XVEXTRCOL_W, 0x75250000, {FPR_XD, FPR_XJ, GPR_RK}},
    {LISA_XVEXTRCOL_D, 0x75258000, {FPR_XD, FPR_XJ, GPR_RK}},
    {LISA_XVAND_V, 0x75260000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVOR_V, 0x75268000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVXOR_V, 0x75270000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVNOR_V, 0x75278000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVANDN_V, 0x75280000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVORN_V, 0x75288000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVRANDSIGN_B, 0x75290000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVRANDSIGN_H, 0x75298000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVRORSIGN_B, 0x752a0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVRORSIGN_H, 0x752a8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVFRSTP_B, 0x752b0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVFRSTP_H, 0x752b8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVCLRSTRR_V, 0x752c0000, {FPR_XD, FPR_XJ, GPR_RK}},
    {LISA_XVCLRSTRV_V, 0x752c8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVADD_Q, 0x752d0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSUB_Q, 0x752d8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSIGNCOV_B, 0x752e0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSIGNCOV_H, 0x752e8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSIGNCOV_W, 0x752f0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSIGNCOV_D, 0x752f8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVFADD_S, 0x75308000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVFADD_D, 0x75310000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVFSUB_S, 0x75328000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVFSUB_D, 0x75330000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVFADDSUB_S, 0x75348000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVFADDSUB_D, 0x75350000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVFSUBADD_S, 0x75368000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVFSUBADD_D, 0x75370000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVFMUL_S, 0x75388000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVFMUL_D, 0x75390000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVFDIV_S, 0x753a8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVFDIV_D, 0x753b0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVFMAX_S, 0x753c8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVFMAX_D, 0x753d0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVFMIN_S, 0x753e8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVFMIN_D, 0x753f0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVFMAXA_S, 0x75408000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVFMAXA_D, 0x75410000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVFMINA_S, 0x75428000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVFMINA_D, 0x75430000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVFSCALEB_S, 0x75448000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVFSCALEB_D, 0x75450000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVFCVT_H_S, 0x75460000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVFCVT_S_D, 0x75468000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVFFINT_S_L, 0x75480000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVFTINT_W_D, 0x75498000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVFTINTRM_W_D, 0x754a0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVFTINTRP_W_D, 0x754a8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVFTINTRZ_W_D, 0x754b0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVFTINTRNE_W_D, 0x754b8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVHADD4_H_BU, 0x754e8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSHUF4_W, 0x754f0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSHUF2_D, 0x754f8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPMUL_W, 0x75600000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPMUL_D, 0x75608000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPMUH_W, 0x75610000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPMUH_D, 0x75618000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPMULACC_W, 0x75620000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPMULACC_D, 0x75628000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPMUHACC_W, 0x75630000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPMUHACC_D, 0x75638000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPMULWL_H_B, 0x75640000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPMULWL_W_H, 0x75648000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPMULWL_D_W, 0x75650000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPMULWL_Q_D, 0x75658000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPMULWH_H_B, 0x75660000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPMULWH_W_H, 0x75668000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPMULWH_D_W, 0x75670000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPMULWH_Q_D, 0x75678000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPMADDWL_H_B, 0x75680000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPMADDWL_W_H, 0x75688000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPMADDWL_D_W, 0x75690000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPMADDWL_Q_D, 0x75698000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPMADDWH_H_B, 0x756a0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPMADDWH_W_H, 0x756a8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPMADDWH_D_W, 0x756b0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPMADDWH_Q_D, 0x756b8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPDP2_Q_D, 0x756c0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPDP2ADD_Q_D, 0x756c8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVCDP4_RE_D_H, 0x75700000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVCDP4_IM_D_H, 0x75708000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVCDP4ADD_RE_D_H, 0x75710000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVCDP4ADD_IM_D_H, 0x75718000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVCDP2_RE_Q_W, 0x75720000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVCDP2_IM_Q_W, 0x75728000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVCDP2ADD_RE_Q_W, 0x75730000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVCDP2ADD_IM_Q_W, 0x75738000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSIGNSEL_W, 0x75790000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSIGNSEL_D, 0x75798000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSHUF_H, 0x757a8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSHUF_W, 0x757b0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSHUF_D, 0x757b8000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVPERM_W, 0x757d0000, {FPR_XD, FPR_XJ, FPR_XK}},
    {LISA_XVSEQI_B, 0x76800000, {FPR_XD, FPR_XJ, IMM_SI5}},
    {LISA_XVSEQI_H, 0x76808000, {FPR_XD, FPR_XJ, IMM_SI5}},
    {LISA_XVSEQI_W, 0x76810000, {FPR_XD, FPR_XJ, IMM_SI5}},
    {LISA_XVSEQI_D, 0x76818000, {FPR_XD, FPR_XJ, IMM_SI5}},
    {LISA_XVSLEI_B, 0x76820000, {FPR_XD, FPR_XJ, IMM_SI5}},
    {LISA_XVSLEI_H, 0x76828000, {FPR_XD, FPR_XJ, IMM_SI5}},
    {LISA_XVSLEI_W, 0x76830000, {FPR_XD, FPR_XJ, IMM_SI5}},
    {LISA_XVSLEI_D, 0x76838000, {FPR_XD, FPR_XJ, IMM_SI5}},
    {LISA_XVSLEI_BU, 0x76840000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSLEI_HU, 0x76848000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSLEI_WU, 0x76850000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSLEI_DU, 0x76858000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSLTI_B, 0x76860000, {FPR_XD, FPR_XJ, IMM_SI5}},
    {LISA_XVSLTI_H, 0x76868000, {FPR_XD, FPR_XJ, IMM_SI5}},
    {LISA_XVSLTI_W, 0x76870000, {FPR_XD, FPR_XJ, IMM_SI5}},
    {LISA_XVSLTI_D, 0x76878000, {FPR_XD, FPR_XJ, IMM_SI5}},
    {LISA_XVSLTI_BU, 0x76880000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSLTI_HU, 0x76888000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSLTI_WU, 0x76890000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSLTI_DU, 0x76898000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVADDI_BU, 0x768a0000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVADDI_HU, 0x768a8000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVADDI_WU, 0x768b0000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVADDI_DU, 0x768b8000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSUBI_BU, 0x768c0000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSUBI_HU, 0x768c8000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSUBI_WU, 0x768d0000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSUBI_DU, 0x768d8000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVBSLL_V, 0x768e0000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVBSRL_V, 0x768e8000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVMAXI_B, 0x76900000, {FPR_XD, FPR_XJ, IMM_SI5}},
    {LISA_XVMAXI_H, 0x76908000, {FPR_XD, FPR_XJ, IMM_SI5}},
    {LISA_XVMAXI_W, 0x76910000, {FPR_XD, FPR_XJ, IMM_SI5}},
    {LISA_XVMAXI_D, 0x76918000, {FPR_XD, FPR_XJ, IMM_SI5}},
    {LISA_XVMINI_B, 0x76920000, {FPR_XD, FPR_XJ, IMM_SI5}},
    {LISA_XVMINI_H, 0x76928000, {FPR_XD, FPR_XJ, IMM_SI5}},
    {LISA_XVMINI_W, 0x76930000, {FPR_XD, FPR_XJ, IMM_SI5}},
    {LISA_XVMINI_D, 0x76938000, {FPR_XD, FPR_XJ, IMM_SI5}},
    {LISA_XVMAXI_BU, 0x76940000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVMAXI_HU, 0x76948000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVMAXI_WU, 0x76950000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVMAXI_DU, 0x76958000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVMINI_BU, 0x76960000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVMINI_HU, 0x76968000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVMINI_WU, 0x76970000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVMINI_DU, 0x76978000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVRANDSIGNI_B, 0x76980000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVRANDSIGNI_H, 0x76988000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVRORSIGNI_B, 0x76990000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVRORSIGNI_H, 0x76998000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVFRSTPI_B, 0x769a0000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVFRSTPI_H, 0x769a8000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVCLRSTRI_V, 0x769b0000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVMEPATMSK_V, 0x769b8000, {FPR_XD, IMM_MODE, IMM_UI5L}},
    {LISA_XVCLO_B, 0x769c0000, {FPR_XD, FPR_XJ}},
    {LISA_XVCLO_H, 0x769c0400, {FPR_XD, FPR_XJ}},
    {LISA_XVCLO_W, 0x769c0800, {FPR_XD, FPR_XJ}},
    {LISA_XVCLO_D, 0x769c0c00, {FPR_XD, FPR_XJ}},
    {LISA_XVCLZ_B, 0x769c1000, {FPR_XD, FPR_XJ}},
    {LISA_XVCLZ_H, 0x769c1400, {FPR_XD, FPR_XJ}},
    {LISA_XVCLZ_W, 0x769c1800, {FPR_XD, FPR_XJ}},
    {LISA_XVCLZ_D, 0x769c1c00, {FPR_XD, FPR_XJ}},
    {LISA_XVPCNT_B, 0x769c2000, {FPR_XD, FPR_XJ}},
    {LISA_XVPCNT_H, 0x769c2400, {FPR_XD, FPR_XJ}},
    {LISA_XVPCNT_W, 0x769c2800, {FPR_XD, FPR_XJ}},
    {LISA_XVPCNT_D, 0x769c2c00, {FPR_XD, FPR_XJ}},
    {LISA_XVNEG_B, 0x769c3000, {FPR_XD, FPR_XJ}},
    {LISA_XVNEG_H, 0x769c3400, {FPR_XD, FPR_XJ}},
    {LISA_XVNEG_W, 0x769c3800, {FPR_XD, FPR_XJ}},
    {LISA_XVNEG_D, 0x769c3c00, {FPR_XD, FPR_XJ}},
    {LISA_XVMSKLTZ_B, 0x769c4000, {FPR_XD, FPR_XJ}},
    {LISA_XVMSKLTZ_H, 0x769c4400, {FPR_XD, FPR_XJ}},
    {LISA_XVMSKLTZ_W, 0x769c4800, {FPR_XD, FPR_XJ}},
    {LISA_XVMSKLTZ_D, 0x769c4c00, {FPR_XD, FPR_XJ}},
    {LISA_XVMSKGEZ_B, 0x769c5000, {FPR_XD, FPR_XJ}},
    {LISA_XVMSKNZ_B, 0x769c6000, {FPR_XD, FPR_XJ}},
    {LISA_XVMSKCOPY_B, 0x769c7000, {FPR_XD, FPR_XJ}},
    {LISA_XVMSKFILL_B, 0x769c8000, {FPR_XD, FPR_XJ}},
    {LISA_XVFRSTM_B, 0x769c9000, {FPR_XD, FPR_XJ}},
    {LISA_XVFRSTM_H, 0x769c9400, {FPR_XD, FPR_XJ}},
    {LISA_XVSETEQZ_V, 0x769c9800, {FCC_CD, FPR_XJ}},
    {LISA_XVSETNEZ_V, 0x769c9c00, {FCC_CD, FPR_XJ}},
    {LISA_XVSETANYEQZ_B, 0x769ca000, {FCC_CD, FPR_XJ}},
    {LISA_XVSETANYEQZ_H, 0x769ca400, {FCC_CD, FPR_XJ}},
    {LISA_XVSETANYEQZ_W, 0x769ca800, {FCC_CD, FPR_XJ}},
    {LISA_XVSETANYEQZ_D, 0x769cac00, {FCC_CD, FPR_XJ}},
    {LISA_XVSETALLNEZ_B, 0x769cb000, {FCC_CD, FPR_XJ}},
    {LISA_XVSETALLNEZ_H, 0x769cb400, {FCC_CD, FPR_XJ}},
    {LISA_XVSETALLNEZ_W, 0x769cb800, {FCC_CD, FPR_XJ}},
    {LISA_XVSETALLNEZ_D, 0x769cbc00, {FCC_CD, FPR_XJ}},
    {LISA_XVFLOGB_S, 0x769cc400, {FPR_XD, FPR_XJ}},
    {LISA_XVFLOGB_D, 0x769cc800, {FPR_XD, FPR_XJ}},
    {LISA_XVFCLASS_S, 0x769cd400, {FPR_XD, FPR_XJ}},
    {LISA_XVFCLASS_D, 0x769cd800, {FPR_XD, FPR_XJ}},
    {LISA_XVFSQRT_S, 0x769ce400, {FPR_XD, FPR_XJ}},
    {LISA_XVFSQRT_D, 0x769ce800, {FPR_XD, FPR_XJ}},
    {LISA_XVFRECIP_S, 0x769cf400, {FPR_XD, FPR_XJ}},
    {LISA_XVFRECIP_D, 0x769cf800, {FPR_XD, FPR_XJ}},
    {LISA_XVFRSQRT_S, 0x769d0400, {FPR_XD, FPR_XJ}},
    {LISA_XVFRSQRT_D, 0x769d0800, {FPR_XD, FPR_XJ}},
    {LISA_XVFRINT_S, 0x769d3400, {FPR_XD, FPR_XJ}},
    {LISA_XVFRINT_D, 0x769d3800, {FPR_XD, FPR_XJ}},
    {LISA_XVFRINTRM_S, 0x769d4400, {FPR_XD, FPR_XJ}},
    {LISA_XVFRINTRM_D, 0x769d4800, {FPR_XD, FPR_XJ}},
    {LISA_XVFRINTRP_S, 0x769d5400, {FPR_XD, FPR_XJ}},
    {LISA_XVFRINTRP_D, 0x769d5800, {FPR_XD, FPR_XJ}},
    {LISA_XVFRINTRZ_S, 0x769d6400, {FPR_XD, FPR_XJ}},
    {LISA_XVFRINTRZ_D, 0x769d6800, {FPR_XD, FPR_XJ}},
    {LISA_XVFRINTRNE_S, 0x769d7400, {FPR_XD, FPR_XJ}},
    {LISA_XVFRINTRNE_D, 0x769d7800, {FPR_XD, FPR_XJ}},
    {LISA_XVEXTL_W_B, 0x769d8400, {FPR_XD, FPR_XJ}},
    {LISA_XVEXTL_D_B, 0x769d8800, {FPR_XD, FPR_XJ}},
    {LISA_XVEXTL_D_H, 0x769d9400, {FPR_XD, FPR_XJ}},
    {LISA_XVEXTL_W_BU, 0x769dac00, {FPR_XD, FPR_XJ}},
    {LISA_XVEXTL_D_BU, 0x769db000, {FPR_XD, FPR_XJ}},
    {LISA_XVEXTL_D_HU, 0x769dbc00, {FPR_XD, FPR_XJ}},
    {LISA_XVHADD8_D_BU, 0x769dd000, {FPR_XD, FPR_XJ}},
    {LISA_XVHMINPOS_W_HU, 0x769dd400, {FPR_XD, FPR_XJ}},
    {LISA_XVHMINPOS_D_HU, 0x769dd800, {FPR_XD, FPR_XJ}},
    {LISA_XVHMINPOS_Q_HU, 0x769ddc00, {FPR_XD, FPR_XJ}},
    {LISA_XVCLRTAIL_B, 0x769de000, {FPR_XD, FPR_XJ}},
    {LISA_XVCLRTAIL_H, 0x769de400, {FPR_XD, FPR_XJ}},
    {LISA_XVFCVTL_S_H, 0x769de800, {FPR_XD, FPR_XJ}},
    {LISA_XVFCVTH_S_H, 0x769dec00, {FPR_XD, FPR_XJ}},
    {LISA_XVFCVTL_D_S, 0x769df000, {FPR_XD, FPR_XJ}},
    {LISA_XVFCVTH_D_S, 0x769df400, {FPR_XD, FPR_XJ}},
    {LISA_XVFFINT_S_W, 0x769e0000, {FPR_XD, FPR_XJ}},
    {LISA_XVFFINT_S_WU, 0x769e0400, {FPR_XD, FPR_XJ}},
    {LISA_XVFFINT_D_L, 0x769e0800, {FPR_XD, FPR_XJ}},
    {LISA_XVFFINT_D_LU, 0x769e0c00, {FPR_XD, FPR_XJ}},
    {LISA_XVFFINTL_D_W, 0x769e1000, {FPR_XD, FPR_XJ}},
    {LISA_XVFFINTH_D_W, 0x769e1400, {FPR_XD, FPR_XJ}},
    {LISA_XVFTINT_W_S, 0x769e3000, {FPR_XD, FPR_XJ}},
    {LISA_XVFTINT_L_D, 0x769e3400, {FPR_XD, FPR_XJ}},
    {LISA_XVFTINTRM_W_S, 0x769e3800, {FPR_XD, FPR_XJ}},
    {LISA_XVFTINTRM_L_D, 0x769e3c00, {FPR_XD, FPR_XJ}},
    {LISA_XVFTINTRP_W_S, 0x769e4000, {FPR_XD, FPR_XJ}},
    {LISA_XVFTINTRP_L_D, 0x769e4400, {FPR_XD, FPR_XJ}},
    {LISA_XVFTINTRZ_W_S, 0x769e4800, {FPR_XD, FPR_XJ}},
    {LISA_XVFTINTRZ_L_D, 0x769e4c00, {FPR_XD, FPR_XJ}},
    {LISA_XVFTINTRNE_W_S, 0x769e5000, {FPR_XD, FPR_XJ}},
    {LISA_XVFTINTRNE_L_D, 0x769e5400, {FPR_XD, FPR_XJ}},
    {LISA_XVFTINT_WU_S, 0x769e5800, {FPR_XD, FPR_XJ}},
    {LISA_XVFTINT_LU_D, 0x769e5c00, {FPR_XD, FPR_XJ}},
    {LISA_XVFTINTRZ_WU_S, 0x769e7000, {FPR_XD, FPR_XJ}},
    {LISA_XVFTINTRZ_LU_D, 0x769e7400, {FPR_XD, FPR_XJ}},
    {LISA_XVFTINTL_L_S, 0x769e8000, {FPR_XD, FPR_XJ}},
    {LISA_XVFTINTH_L_S, 0x769e8400, {FPR_XD, FPR_XJ}},
    {LISA_XVFTINTRML_L_S, 0x769e8800, {FPR_XD, FPR_XJ}},
    {LISA_XVFTINTRMH_L_S, 0x769e8c00, {FPR_XD, FPR_XJ}},
    {LISA_XVFTINTRPL_L_S, 0x769e9000, {FPR_XD, FPR_XJ}},
    {LISA_XVFTINTRPH_L_S, 0x769e9400, {FPR_XD, FPR_XJ}},
    {LISA_XVFTINTRZL_L_S, 0x769e9800, {FPR_XD, FPR_XJ}},
    {LISA_XVFTINTRZH_L_S, 0x769e9c00, {FPR_XD, FPR_XJ}},
    {LISA_XVFTINTRNEL_L_S, 0x769ea000, {FPR_XD, FPR_XJ}},
    {LISA_XVFTINTRNEH_L_S, 0x769ea400, {FPR_XD, FPR_XJ}},
    {LISA_XVEXTH_H_B, 0x769ee000, {FPR_XD, FPR_XJ}},
    {LISA_XVEXTH_W_H, 0x769ee400, {FPR_XD, FPR_XJ}},
    {LISA_XVEXTH_D_W, 0x769ee800, {FPR_XD, FPR_XJ}},
    {LISA_XVEXTH_Q_D, 0x769eec00, {FPR_XD, FPR_XJ}},
    {LISA_XVEXTH_HU_BU, 0x769ef000, {FPR_XD, FPR_XJ}},
    {LISA_XVEXTH_WU_HU, 0x769ef400, {FPR_XD, FPR_XJ}},
    {LISA_XVEXTH_DU_WU, 0x769ef800, {FPR_XD, FPR_XJ}},
    {LISA_XVEXTH_QU_DU, 0x769efc00, {FPR_XD, FPR_XJ}},
    {LISA_XVREPLGR2VR_B, 0x769f0000, {FPR_XD, GPR_RJ}},
    {LISA_XVREPLGR2VR_H, 0x769f0400, {FPR_XD, GPR_RJ}},
    {LISA_XVREPLGR2VR_W, 0x769f0800, {FPR_XD, GPR_RJ}},
    {LISA_XVREPLGR2VR_D, 0x769f0c00, {FPR_XD, GPR_RJ}},
    {LISA_VEXT2XV_H_B, 0x769f1000, {FPR_XD, FPR_XJ}},
    {LISA_VEXT2XV_W_B, 0x769f1400, {FPR_XD, FPR_XJ}},
    {LISA_VEXT2XV_D_B, 0x769f1800, {FPR_XD, FPR_XJ}},
    {LISA_VEXT2XV_W_H, 0x769f1c00, {FPR_XD, FPR_XJ}},
    {LISA_VEXT2XV_D_H, 0x769f2000, {FPR_XD, FPR_XJ}},
    {LISA_VEXT2XV_D_W, 0x769f2400, {FPR_XD, FPR_XJ}},
    {LISA_VEXT2XV_HU_BU, 0x769f2800, {FPR_XD, FPR_XJ}},
    {LISA_VEXT2XV_WU_BU, 0x769f2c00, {FPR_XD, FPR_XJ}},
    {LISA_VEXT2XV_DU_BU, 0x769f3000, {FPR_XD, FPR_XJ}},
    {LISA_VEXT2XV_WU_HU, 0x769f3400, {FPR_XD, FPR_XJ}},
    {LISA_VEXT2XV_DU_HU, 0x769f3800, {FPR_XD, FPR_XJ}},
    {LISA_VEXT2XV_DU_WU, 0x769f3c00, {FPR_XD, FPR_XJ}},
    {LISA_XVHSELI_D, 0x769f8000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVROTRI_B, 0x76a02000, {FPR_XD, FPR_XJ, IMM_UI3}},
    {LISA_XVROTRI_H, 0x76a04000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVROTRI_W, 0x76a08000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVROTRI_D, 0x76a10000, {FPR_XD, FPR_XJ, IMM_UI6}},
    {LISA_XVSRLRI_B, 0x76a42000, {FPR_XD, FPR_XJ, IMM_UI3}},
    {LISA_XVSRLRI_H, 0x76a44000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVSRLRI_W, 0x76a48000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSRLRI_D, 0x76a50000, {FPR_XD, FPR_XJ, IMM_UI6}},
    {LISA_XVSRARI_B, 0x76a82000, {FPR_XD, FPR_XJ, IMM_UI3}},
    {LISA_XVSRARI_H, 0x76a84000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVSRARI_W, 0x76a88000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSRARI_D, 0x76a90000, {FPR_XD, FPR_XJ, IMM_UI6}},
    {LISA_XVINSGR2VR_W, 0x76ebc000, {FPR_XD, GPR_RJ, IMM_UI3}},
    {LISA_XVINSGR2VR_D, 0x76ebe000, {FPR_XD, GPR_RJ, IMM_UI2}},
    {LISA_XVPICKVE2GR_W, 0x76efc000, {GPR_RD, FPR_XJ, IMM_UI3}},
    {LISA_XVPICKVE2GR_D, 0x76efe000, {GPR_RD, FPR_XJ, IMM_UI2}},
    {LISA_XVPICKVE2GR_WU, 0x76f3c000, {GPR_RD, FPR_XJ, IMM_UI3}},
    {LISA_XVPICKVE2GR_DU, 0x76f3e000, {GPR_RD, FPR_XJ, IMM_UI2}},
    {LISA_XVREPL128VEI_B, 0x76f78000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVREPL128VEI_H, 0x76f7c000, {FPR_XD, FPR_XJ, IMM_UI3}},
    {LISA_XVREPL128VEI_W, 0x76f7e000, {FPR_XD, FPR_XJ, IMM_UI2}},
    {LISA_XVREPL128VEI_D, 0x76f7f000, {FPR_XD, FPR_XJ, IMM_UI1}},
    {LISA_XVEXTRCOLI_B, 0x76fb8000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVEXTRCOLI_H, 0x76fbc000, {FPR_XD, FPR_XJ, IMM_UI3}},
    {LISA_XVEXTRCOLI_W, 0x76fbe000, {FPR_XD, FPR_XJ, IMM_UI2}},
    {LISA_XVEXTRCOLI_D, 0x76fbf000, {FPR_XD, FPR_XJ, IMM_UI1}},
    {LISA_XVINSVE0_W, 0x76ffc000, {FPR_XD, FPR_XJ, IMM_UI3}},
    {LISA_XVINSVE0_D, 0x76ffe000, {FPR_XD, FPR_XJ, IMM_UI2}},
    {LISA_XVPICKVE_W, 0x7703c000, {FPR_XD, FPR_XJ, IMM_UI3}},
    {LISA_XVPICKVE_D, 0x7703e000, {FPR_XD, FPR_XJ, IMM_UI2}},
    {LISA_XVREPLVE0_B, 0x77070000, {FPR_XD, FPR_XJ}},
    {LISA_XVREPLVE0_H, 0x77078000, {FPR_XD, FPR_XJ}},
    {LISA_XVREPLVE0_W, 0x7707c000, {FPR_XD, FPR_XJ}},
    {LISA_XVREPLVE0_D, 0x7707e000, {FPR_XD, FPR_XJ}},
    {LISA_XVREPLVE0_Q, 0x7707f000, {FPR_XD, FPR_XJ}},
    {LISA_XVSLLWIL_H_B, 0x77082000, {FPR_XD, FPR_XJ, IMM_UI3}},
    {LISA_XVSLLWIL_W_H, 0x77084000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVSLLWIL_D_W, 0x77088000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVEXTL_Q_D, 0x77090000, {FPR_XD, FPR_XJ}},
    {LISA_XVSLLWIL_HU_BU, 0x770c2000, {FPR_XD, FPR_XJ, IMM_UI3}},
    {LISA_XVSLLWIL_WU_HU, 0x770c4000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVSLLWIL_DU_WU, 0x770c8000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVEXTL_QU_DU, 0x770d0000, {FPR_XD, FPR_XJ}},
    {LISA_XVBITCLRI_B, 0x77102000, {FPR_XD, FPR_XJ, IMM_UI3}},
    {LISA_XVBITCLRI_H, 0x77104000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVBITCLRI_W, 0x77108000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVBITCLRI_D, 0x77110000, {FPR_XD, FPR_XJ, IMM_UI6}},
    {LISA_XVBITSETI_B, 0x77142000, {FPR_XD, FPR_XJ, IMM_UI3}},
    {LISA_XVBITSETI_H, 0x77144000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVBITSETI_W, 0x77148000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVBITSETI_D, 0x77150000, {FPR_XD, FPR_XJ, IMM_UI6}},
    {LISA_XVBITREVI_B, 0x77182000, {FPR_XD, FPR_XJ, IMM_UI3}},
    {LISA_XVBITREVI_H, 0x77184000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVBITREVI_W, 0x77188000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVBITREVI_D, 0x77190000, {FPR_XD, FPR_XJ, IMM_UI6}},
    {LISA_XVBSTRC12I_B, 0x771c2000, {FPR_XD, FPR_XJ, IMM_UI3}},
    {LISA_XVBSTRC12I_H, 0x771c4000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVBSTRC12I_W, 0x771c8000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVBSTRC12I_D, 0x771d0000, {FPR_XD, FPR_XJ, IMM_UI6}},
    {LISA_XVBSTRC21I_B, 0x77202000, {FPR_XD, FPR_XJ, IMM_UI3}},
    {LISA_XVBSTRC21I_H, 0x77204000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVBSTRC21I_W, 0x77208000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVBSTRC21I_D, 0x77210000, {FPR_XD, FPR_XJ, IMM_UI6}},
    {LISA_XVSAT_B, 0x77242000, {FPR_XD, FPR_XJ, IMM_UI3}},
    {LISA_XVSAT_H, 0x77244000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVSAT_W, 0x77248000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSAT_D, 0x77250000, {FPR_XD, FPR_XJ, IMM_UI6}},
    {LISA_XVSAT_BU, 0x77282000, {FPR_XD, FPR_XJ, IMM_UI3}},
    {LISA_XVSAT_HU, 0x77284000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVSAT_WU, 0x77288000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSAT_DU, 0x77290000, {FPR_XD, FPR_XJ, IMM_UI6}},
    {LISA_XVSLLI_B, 0x772c2000, {FPR_XD, FPR_XJ, IMM_UI3}},
    {LISA_XVSLLI_H, 0x772c4000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVSLLI_W, 0x772c8000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSLLI_D, 0x772d0000, {FPR_XD, FPR_XJ, IMM_UI6}},
    {LISA_XVSRLI_B, 0x77302000, {FPR_XD, FPR_XJ, IMM_UI3}},
    {LISA_XVSRLI_H, 0x77304000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVSRLI_W, 0x77308000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSRLI_D, 0x77310000, {FPR_XD, FPR_XJ, IMM_UI6}},
    {LISA_XVSRAI_B, 0x77342000, {FPR_XD, FPR_XJ, IMM_UI3}},
    {LISA_XVSRAI_H, 0x77344000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVSRAI_W, 0x77348000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSRAI_D, 0x77350000, {FPR_XD, FPR_XJ, IMM_UI6}},
    {LISA_XVSRLRNENI_B_H, 0x77384000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVSRLRNENI_H_W, 0x77388000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSRLRNENI_W_D, 0x77390000, {FPR_XD, FPR_XJ, IMM_UI6}},
    {LISA_XVSRLRNENI_D_Q, 0x773a0000, {FPR_XD, FPR_XJ, IMM_UI7}},
    {LISA_XVSRARNENI_B_H, 0x773c4000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVSRARNENI_H_W, 0x773c8000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSRARNENI_W_D, 0x773d0000, {FPR_XD, FPR_XJ, IMM_UI6}},
    {LISA_XVSRARNENI_D_Q, 0x773e0000, {FPR_XD, FPR_XJ, IMM_UI7}},
    {LISA_XVSRLNI_B_H, 0x77404000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVSRLNI_H_W, 0x77408000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSRLNI_W_D, 0x77410000, {FPR_XD, FPR_XJ, IMM_UI6}},
    {LISA_XVSRLNI_D_Q, 0x77420000, {FPR_XD, FPR_XJ, IMM_UI7}},
    {LISA_XVSRLRNI_B_H, 0x77444000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVSRLRNI_H_W, 0x77448000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSRLRNI_W_D, 0x77450000, {FPR_XD, FPR_XJ, IMM_UI6}},
    {LISA_XVSRLRNI_D_Q, 0x77460000, {FPR_XD, FPR_XJ, IMM_UI7}},
    {LISA_XVSSRLNI_B_H, 0x77484000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVSSRLNI_H_W, 0x77488000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSSRLNI_W_D, 0x77490000, {FPR_XD, FPR_XJ, IMM_UI6}},
    {LISA_XVSSRLNI_D_Q, 0x774a0000, {FPR_XD, FPR_XJ, IMM_UI7}},
    {LISA_XVSSRLNI_BU_H, 0x774c4000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVSSRLNI_HU_W, 0x774c8000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSSRLNI_WU_D, 0x774d0000, {FPR_XD, FPR_XJ, IMM_UI6}},
    {LISA_XVSSRLNI_DU_Q, 0x774e0000, {FPR_XD, FPR_XJ, IMM_UI7}},
    {LISA_XVSSRLRNI_B_H, 0x77504000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVSSRLRNI_H_W, 0x77508000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSSRLRNI_W_D, 0x77510000, {FPR_XD, FPR_XJ, IMM_UI6}},
    {LISA_XVSSRLRNI_D_Q, 0x77520000, {FPR_XD, FPR_XJ, IMM_UI7}},
    {LISA_XVSSRLRNI_BU_H, 0x77544000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVSSRLRNI_HU_W, 0x77548000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSSRLRNI_WU_D, 0x77550000, {FPR_XD, FPR_XJ, IMM_UI6}},
    {LISA_XVSSRLRNI_DU_Q, 0x77560000, {FPR_XD, FPR_XJ, IMM_UI7}},
    {LISA_XVSRANI_B_H, 0x77584000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVSRANI_H_W, 0x77588000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSRANI_W_D, 0x77590000, {FPR_XD, FPR_XJ, IMM_UI6}},
    {LISA_XVSRANI_D_Q, 0x775a0000, {FPR_XD, FPR_XJ, IMM_UI7}},
    {LISA_XVSRARNI_B_H, 0x775c4000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVSRARNI_H_W, 0x775c8000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSRARNI_W_D, 0x775d0000, {FPR_XD, FPR_XJ, IMM_UI6}},
    {LISA_XVSRARNI_D_Q, 0x775e0000, {FPR_XD, FPR_XJ, IMM_UI7}},
    {LISA_XVSSRANI_B_H, 0x77604000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVSSRANI_H_W, 0x77608000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSSRANI_W_D, 0x77610000, {FPR_XD, FPR_XJ, IMM_UI6}},
    {LISA_XVSSRANI_D_Q, 0x77620000, {FPR_XD, FPR_XJ, IMM_UI7}},
    {LISA_XVSSRANI_BU_H, 0x77644000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVSSRANI_HU_W, 0x77648000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSSRANI_WU_D, 0x77650000, {FPR_XD, FPR_XJ, IMM_UI6}},
    {LISA_XVSSRANI_DU_Q, 0x77660000, {FPR_XD, FPR_XJ, IMM_UI7}},
    {LISA_XVSSRARNI_B_H, 0x77684000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVSSRARNI_H_W, 0x77688000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSSRARNI_W_D, 0x77690000, {FPR_XD, FPR_XJ, IMM_UI6}},
    {LISA_XVSSRARNI_D_Q, 0x776a0000, {FPR_XD, FPR_XJ, IMM_UI7}},
    {LISA_XVSSRARNI_BU_H, 0x776c4000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVSSRARNI_HU_W, 0x776c8000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSSRARNI_WU_D, 0x776d0000, {FPR_XD, FPR_XJ, IMM_UI6}},
    {LISA_XVSSRARNI_DU_Q, 0x776e0000, {FPR_XD, FPR_XJ, IMM_UI7}},
    {LISA_XVSSRLRNENI_B_H, 0x77704000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVSSRLRNENI_H_W, 0x77708000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSSRLRNENI_W_D, 0x77710000, {FPR_XD, FPR_XJ, IMM_UI6}},
    {LISA_XVSSRLRNENI_D_Q, 0x77720000, {FPR_XD, FPR_XJ, IMM_UI7}},
    {LISA_XVSSRLRNENI_BU_H, 0x77744000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVSSRLRNENI_HU_W, 0x77748000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSSRLRNENI_WU_D, 0x77750000, {FPR_XD, FPR_XJ, IMM_UI6}},
    {LISA_XVSSRLRNENI_DU_Q, 0x77760000, {FPR_XD, FPR_XJ, IMM_UI7}},
    {LISA_XVSSRARNENI_B_H, 0x77784000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVSSRARNENI_H_W, 0x77788000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSSRARNENI_W_D, 0x77790000, {FPR_XD, FPR_XJ, IMM_UI6}},
    {LISA_XVSSRARNENI_D_Q, 0x777a0000, {FPR_XD, FPR_XJ, IMM_UI7}},
    {LISA_XVSSRARNENI_BU_H, 0x777c4000, {FPR_XD, FPR_XJ, IMM_UI4}},
    {LISA_XVSSRARNENI_HU_W, 0x777c8000, {FPR_XD, FPR_XJ, IMM_UI5L}},
    {LISA_XVSSRARNENI_WU_D, 0x777d0000, {FPR_XD, FPR_XJ, IMM_UI6}},
    {LISA_XVSSRARNENI_DU_Q, 0x777e0000, {FPR_XD, FPR_XJ, IMM_UI7}},
    {LISA_XVEXTRINS_D, 0x77800000, {FPR_XD, FPR_XJ, IMM_UI8}},
    {LISA_XVEXTRINS_W, 0x77840000, {FPR_XD, FPR_XJ, IMM_UI8}},
    {LISA_XVEXTRINS_H, 0x77880000, {FPR_XD, FPR_XJ, IMM_UI8}},
    {LISA_XVEXTRINS_B, 0x778c0000, {FPR_XD, FPR_XJ, IMM_UI8}},
    {LISA_XVSHUF4I_B, 0x77900000, {FPR_XD, FPR_XJ, IMM_UI8}},
    {LISA_XVSHUF4I_H, 0x77940000, {FPR_XD, FPR_XJ, IMM_UI8}},
    {LISA_XVSHUF4I_W, 0x77980000, {FPR_XD, FPR_XJ, IMM_UI8}},
    {LISA_XVSHUF4I_D, 0x779c0000, {FPR_XD, FPR_XJ, IMM_UI8}},
    {LISA_XVSHUFI1_B, 0x77a00000, {FPR_XD, FPR_XJ, IMM_UI8}},
    {LISA_XVSHUFI2_B, 0x77a40000, {FPR_XD, FPR_XJ, IMM_UI8}},
    {LISA_XVSHUFI3_B, 0x77a80000, {FPR_XD, FPR_XJ, IMM_UI8}},
    {LISA_XVSHUFI4_B, 0x77ac0000, {FPR_XD, FPR_XJ, IMM_UI8}},
    {LISA_XVSHUFI1_H, 0x77b00000, {FPR_XD, FPR_XJ, IMM_UI8}},
    {LISA_XVSHUFI2_H, 0x77b40000, {FPR_XD, FPR_XJ, IMM_UI8}},
    {LISA_XVSELI_H, 0x77b80000, {FPR_XD, FPR_XJ, IMM_UI8}},
    {LISA_XVSELI_W, 0x77bc0000, {FPR_XD, FPR_XJ, IMM_UI8}},
    {LISA_XVSELI_D, 0x77c00000, {FPR_XD, FPR_XJ, IMM_UI8}},
    {LISA_XVBITSELI_B, 0x77c40000, {FPR_XD, FPR_XJ, IMM_UI8}},
    {LISA_XVBITMVZI_B, 0x77c80000, {FPR_XD, FPR_XJ, IMM_UI8}},
    {LISA_XVBITMVNZI_B, 0x77cc0000, {FPR_XD, FPR_XJ, IMM_UI8}},
    {LISA_XVANDI_B, 0x77d00000, {FPR_XD, FPR_XJ, IMM_UI8}},
    {LISA_XVORI_B, 0x77d40000, {FPR_XD, FPR_XJ, IMM_UI8}},
    {LISA_XVXORI_B, 0x77d80000, {FPR_XD, FPR_XJ, IMM_UI8}},
    {LISA_XVNORI_B, 0x77dc0000, {FPR_XD, FPR_XJ, IMM_UI8}},
    {LISA_XVLDI, 0x77e00000, {FPR_XD, IMM_I13}},
    {LISA_XVPERMI_W, 0x77e40000, {FPR_XD, FPR_XJ, IMM_UI8}},
    {LISA_XVPERMI_D, 0x77e80000, {FPR_XD, FPR_XJ, IMM_UI8}},
    {LISA_XVPERMI_Q, 0x77ec0000, {FPR_XD, FPR_XJ, IMM_UI8}},
    {LISA_ENDING, 0x0, {}},
};

static bool is_la_sign_opnd[] = {
    0,//OPD_INVALID
    0,//OPD_CA
    0,//OPD_CD
    0,//OPD_CJ
    0,//OPD_CODE
    0,//OPD_CONDF
    0,//OPD_CONDH
    0,//OPD_CONDL
    0,//OPD_CSR
    0,//OPD_FA
    0,//OPD_FCSRH
    0,//OPD_FCSRL
    0,//OPD_FD
    0,//OPD_FJ
    0,//OPD_FK
    0,//OPD_HINTL
    0,//OPD_HINTS
    1,//OPD_I13
    0,//OPD_IDXS
    0,//OPD_IDXM
    0,//OPD_IDXL
    0,//OPD_IDXLL
    0,//OPD_LEVEL
    0,//OPD_LSBD
    0,//OPD_LSBW
    0,//OPD_MODE
    0,//OPD_MSBD
    0,//OPD_MSBW
    1,//OPD_OFFS
    1,//OPD_OFFL
    1,//OPD_OFFLL
    0,//OPD_OPCACHE
    0,//OPD_OPX86
    0,//OPD_PTR
    0,//OPD_RD
    0,//OPD_RJ
    0,//OPD_RK
    0,//OPD_SA2
    0,//OPD_SA3
    0,//OPD_SD
    0,//OPD_SEQ
    1,//OPD_SI10
    1,//OPD_SI11
    1,//OPD_SI12
    1,//OPD_SI14
    1,//OPD_SI16
    1,//OPD_SI20
    1,//OPD_SI5
    1,//OPD_SI8
    1,//OPD_SI9
    0,//OPD_SJ
    0,//OPD_UI1
    0,//OPD_UI12
    0,//OPD_UI2
    0,//OPD_UI3
    0,//OPD_UI4
    0,//OPD_UI5H
    0,//OPD_UI5L
    0,//OPD_UI6
    0,//OPD_UI7
    0,//OPD_UI8
    0,//OPD_VA
    0,//OPD_VD
    0,//OPD_VJ
    0,//OPD_VK
    0,//OPD_XA
    0,//OPD_XD
    0,//OPD_XJ
    0,//OPD_XK
};

LA_OPCODE get_ins_op(uint32_t insn)
{
    switch ((insn >> 26) & 0x3f) {
    case 0x0:
        switch ((insn >> 22) & 0xf) {
        case 0x0:
            switch ((insn >> 18) & 0xf) {
            case 0x0:
                switch ((insn >> 15) & 0x7) {
                case 0x0:
                    switch ((insn >> 10) & 0x1f) {
                    case 0x2:
                        switch ((insn >> 2) & 0x7) {
                        case 0x0: return LISA_GR2SCR;
                        }
                        break;
                    case 0x3:
                        switch ((insn >> 7) & 0x7) {
                        case 0x0: return LISA_SCR2GR;
                        }
                        break;
                    case 0x4: return LISA_CLO_W;
                    case 0x5: return LISA_CLZ_W;
                    case 0x6: return LISA_CTO_W;
                    case 0x7: return LISA_CTZ_W;
                    case 0x8: return LISA_CLO_D;
                    case 0x9: return LISA_CLZ_D;
                    case 0xa: return LISA_CTO_D;
                    case 0xb: return LISA_CTZ_D;
                    case 0xc: return LISA_REVB_2H;
                    case 0xd: return LISA_REVB_4H;
                    case 0xe: return LISA_REVB_2W;
                    case 0xf: return LISA_REVB_D;
                    case 0x10: return LISA_REVH_2W;
                    case 0x11: return LISA_REVH_D;
                    case 0x12: return LISA_BITREV_4B;
                    case 0x13: return LISA_BITREV_8B;
                    case 0x14: return LISA_BITREV_W;
                    case 0x15: return LISA_BITREV_D;
                    case 0x16: return LISA_EXT_W_H;
                    case 0x17: return LISA_EXT_W_B;
                    case 0x18: return LISA_RDTIMEL_W;
                    case 0x19: return LISA_RDTIMEH_W;
                    case 0x1a: return LISA_RDTIME_D;
                    case 0x1b: return LISA_CPUCFG;
                    case 0x1e: return LISA_X86LOOPE;
                    case 0x1f: return LISA_X86LOOPNE;
                    }
                    break;
                case 0x1:
                    switch (insn & 0x00007c1f) {
                    case 0x00000000: return LISA_X86INC_B;
                    case 0x00000001: return LISA_X86INC_H;
                    case 0x00000002: return LISA_X86INC_W;
                    case 0x00000003: return LISA_X86INC_D;
                    case 0x00000004: return LISA_X86DEC_B;
                    case 0x00000005: return LISA_X86DEC_H;
                    case 0x00000006: return LISA_X86DEC_W;
                    case 0x00000007: return LISA_X86DEC_D;
                    case 0x00000008:
                        switch ((insn >> 5) & 0x1f) {
                        case 0x0: return LISA_X86SETTM;
                        case 0x1: return LISA_X86CLRTM;
                        }
                        break;
                    case 0x00000009:
                        switch ((insn >> 5) & 0x1f) {
                        case 0x0: return LISA_X86INCTOP;
                        case 0x1: return LISA_X86DECTOP;
                        }
                        break;
                    }
                    break;
                case 0x2:
                    switch (insn & 0x0000001f) {
                    case 0x00000000: return LISA_ASRTLE_D;
                    }
                    break;
                case 0x3:
                    switch (insn & 0x0000001f) {
                    case 0x00000000: return LISA_ASRTGT_D;
                    }
                    break;
                }
                break;
            case 0x1:
                switch ((insn >> 17) & 0x1) {
                case 0x0: return LISA_ALSL_W;
                case 0x1: return LISA_ALSL_WU;
                }
                break;
            case 0x2:
                switch ((insn >> 17) & 0x1) {
                case 0x0: return LISA_BYTEPICK_W;
                }
                break;
            case 0x3: return LISA_BYTEPICK_D;
            case 0x4:
                switch ((insn >> 15) & 0x7) {
                case 0x0: return LISA_ADD_W;
                case 0x1: return LISA_ADD_D;
                case 0x2: return LISA_SUB_W;
                case 0x3: return LISA_SUB_D;
                case 0x4: return LISA_SLT;
                case 0x5: return LISA_SLTU;
                case 0x6: return LISA_MASKEQZ;
                case 0x7: return LISA_MASKNEZ;
                }
                break;
            case 0x5:
                switch ((insn >> 15) & 0x7) {
                case 0x0: return LISA_NOR;
                case 0x1: return LISA_AND;
                case 0x2: return LISA_OR;
                case 0x3: return LISA_XOR;
                case 0x4: return LISA_ORN;
                case 0x5: return LISA_ANDN;
                case 0x6: return LISA_SLL_W;
                case 0x7: return LISA_SRL_W;
                }
                break;
            case 0x6:
                switch ((insn >> 15) & 0x7) {
                case 0x0: return LISA_SRA_W;
                case 0x1: return LISA_SLL_D;
                case 0x2: return LISA_SRL_D;
                case 0x3: return LISA_SRA_D;
                case 0x6: return LISA_ROTR_W;
                case 0x7: return LISA_ROTR_D;
                }
                break;
            case 0x7:
                switch ((insn >> 15) & 0x7) {
                case 0x0: return LISA_MUL_W;
                case 0x1: return LISA_MULH_W;
                case 0x2: return LISA_MULH_WU;
                case 0x3: return LISA_MUL_D;
                case 0x4: return LISA_MULH_D;
                case 0x5: return LISA_MULH_DU;
                case 0x6: return LISA_MULW_D_W;
                case 0x7: return LISA_MULW_D_WU;
                }
                break;
            case 0x8:
                switch ((insn >> 15) & 0x7) {
                case 0x0: return LISA_DIV_W;
                case 0x1: return LISA_MOD_W;
                case 0x2: return LISA_DIV_WU;
                case 0x3: return LISA_MOD_WU;
                case 0x4: return LISA_DIV_D;
                case 0x5: return LISA_MOD_D;
                case 0x6: return LISA_DIV_DU;
                case 0x7: return LISA_MOD_DU;
                }
                break;
            case 0x9:
                switch ((insn >> 15) & 0x7) {
                case 0x0: return LISA_CRC_W_B_W;
                case 0x1: return LISA_CRC_W_H_W;
                case 0x2: return LISA_CRC_W_W_W;
                case 0x3: return LISA_CRC_W_D_W;
                case 0x4: return LISA_CRCC_W_B_W;
                case 0x5: return LISA_CRCC_W_H_W;
                case 0x6: return LISA_CRCC_W_W_W;
                case 0x7: return LISA_CRCC_W_D_W;
                }
                break;
            case 0xa:
                switch ((insn >> 15) & 0x7) {
                case 0x4: return LISA_BREAK;
                case 0x6: return LISA_SYSCALL;
                }
                break;
            case 0xb:
                switch ((insn >> 17) & 0x1) {
                case 0x0: return LISA_ALSL_D;
                }
                break;
            case 0xc:
                switch ((insn >> 15) & 0x7) {
                case 0x0: return LISA_ADC_B;
                case 0x1: return LISA_ADC_H;
                case 0x2: return LISA_ADC_W;
                case 0x3: return LISA_ADC_D;
                case 0x4: return LISA_SBC_B;
                case 0x5: return LISA_SBC_H;
                case 0x6: return LISA_SBC_W;
                case 0x7: return LISA_SBC_D;
                }
                break;
            case 0xd:
                switch ((insn >> 15) & 0x7) {
                case 0x0: return LISA_RCR_B;
                case 0x1: return LISA_RCR_H;
                case 0x2: return LISA_RCR_W;
                case 0x3: return LISA_RCR_D;
                case 0x5:
                    switch (insn & 0x000043e0) {
                    case 0x00000000: return LISA_SETX86J;
                    }
                    break;
                }
                break;
            case 0xf:
                switch (insn & 0x0003801f) {
                case 0x00028000: return LISA_X86MUL_B;
                case 0x00028001: return LISA_X86MUL_H;
                case 0x00028002: return LISA_X86MUL_W;
                case 0x00028003: return LISA_X86MUL_D;
                case 0x00028004: return LISA_X86MUL_BU;
                case 0x00028005: return LISA_X86MUL_HU;
                case 0x00028006: return LISA_X86MUL_WU;
                case 0x00028007: return LISA_X86MUL_DU;
                case 0x00030000: return LISA_X86ADD_WU;
                case 0x00030001: return LISA_X86ADD_DU;
                case 0x00030002: return LISA_X86SUB_WU;
                case 0x00030003: return LISA_X86SUB_DU;
                case 0x00030004: return LISA_X86ADD_B;
                case 0x00030005: return LISA_X86ADD_H;
                case 0x00030006: return LISA_X86ADD_W;
                case 0x00030007: return LISA_X86ADD_D;
                case 0x00030008: return LISA_X86SUB_B;
                case 0x00030009: return LISA_X86SUB_H;
                case 0x0003000a: return LISA_X86SUB_W;
                case 0x0003000b: return LISA_X86SUB_D;
                case 0x0003000c: return LISA_X86ADC_B;
                case 0x0003000d: return LISA_X86ADC_H;
                case 0x0003000e: return LISA_X86ADC_W;
                case 0x0003000f: return LISA_X86ADC_D;
                case 0x00030010: return LISA_X86SBC_B;
                case 0x00030011: return LISA_X86SBC_H;
                case 0x00030012: return LISA_X86SBC_W;
                case 0x00030013: return LISA_X86SBC_D;
                case 0x00030014: return LISA_X86SLL_B;
                case 0x00030015: return LISA_X86SLL_H;
                case 0x00030016: return LISA_X86SLL_W;
                case 0x00030017: return LISA_X86SLL_D;
                case 0x00030018: return LISA_X86SRL_B;
                case 0x00030019: return LISA_X86SRL_H;
                case 0x0003001a: return LISA_X86SRL_W;
                case 0x0003001b: return LISA_X86SRL_D;
                case 0x0003001c: return LISA_X86SRA_B;
                case 0x0003001d: return LISA_X86SRA_H;
                case 0x0003001e: return LISA_X86SRA_W;
                case 0x0003001f: return LISA_X86SRA_D;
                case 0x00038000: return LISA_X86ROTR_B;
                case 0x00038001: return LISA_X86ROTR_H;
                case 0x00038002: return LISA_X86ROTR_D;
                case 0x00038003: return LISA_X86ROTR_W;
                case 0x00038004: return LISA_X86ROTL_B;
                case 0x00038005: return LISA_X86ROTL_H;
                case 0x00038006: return LISA_X86ROTL_W;
                case 0x00038007: return LISA_X86ROTL_D;
                case 0x00038008: return LISA_X86RCR_B;
                case 0x00038009: return LISA_X86RCR_H;
                case 0x0003800a: return LISA_X86RCR_W;
                case 0x0003800b: return LISA_X86RCR_D;
                case 0x0003800c: return LISA_X86RCL_B;
                case 0x0003800d: return LISA_X86RCL_H;
                case 0x0003800e: return LISA_X86RCL_W;
                case 0x0003800f: return LISA_X86RCL_D;
                case 0x00038010: return LISA_X86AND_B;
                case 0x00038011: return LISA_X86AND_H;
                case 0x00038012: return LISA_X86AND_W;
                case 0x00038013: return LISA_X86AND_D;
                case 0x00038014: return LISA_X86OR_B;
                case 0x00038015: return LISA_X86OR_H;
                case 0x00038016: return LISA_X86OR_W;
                case 0x00038017: return LISA_X86OR_D;
                case 0x00038018: return LISA_X86XOR_B;
                case 0x00038019: return LISA_X86XOR_H;
                case 0x0003801a: return LISA_X86XOR_W;
                case 0x0003801b: return LISA_X86XOR_D;
                }
                break;
            }
            break;
        case 0x1:
            switch ((insn >> 21) & 0x1) {
            case 0x0:
                switch ((insn >> 18) & 0x7) {
                case 0x0:
                    switch ((insn >> 16) & 0x3) {
                    case 0x0:
                        switch ((insn >> 15) & 0x1) {
                        case 0x1: return LISA_SLLI_W;
                        }
                        break;
                    case 0x1: return LISA_SLLI_D;
                    }
                    break;
                case 0x1:
                    switch ((insn >> 16) & 0x3) {
                    case 0x0:
                        switch ((insn >> 15) & 0x1) {
                        case 0x1: return LISA_SRLI_W;
                        }
                        break;
                    case 0x1: return LISA_SRLI_D;
                    }
                    break;
                case 0x2:
                    switch ((insn >> 16) & 0x3) {
                    case 0x0:
                        switch ((insn >> 15) & 0x1) {
                        case 0x1: return LISA_SRAI_W;
                        }
                        break;
                    case 0x1: return LISA_SRAI_D;
                    }
                    break;
                case 0x3:
                    switch ((insn >> 16) & 0x3) {
                    case 0x0:
                        switch ((insn >> 15) & 0x1) {
                        case 0x0:
                            switch ((insn >> 14) & 0x1) {
                            case 0x0:
                                switch ((insn >> 13) & 0x1) {
                                case 0x1: return LISA_ROTRI_B;
                                }
                                break;
                            case 0x1: return LISA_ROTRI_H;
                            }
                            break;
                        case 0x1: return LISA_ROTRI_W;
                        }
                        break;
                    case 0x1: return LISA_ROTRI_D;
                    }
                    break;
                case 0x4:
                    switch ((insn >> 16) & 0x3) {
                    case 0x0:
                        switch ((insn >> 15) & 0x1) {
                        case 0x0:
                            switch ((insn >> 14) & 0x1) {
                            case 0x0:
                                switch ((insn >> 13) & 0x1) {
                                case 0x1: return LISA_RCRI_B;
                                }
                                break;
                            case 0x1: return LISA_RCRI_H;
                            }
                            break;
                        case 0x1: return LISA_RCRI_W;
                        }
                        break;
                    case 0x1: return LISA_RCRI_D;
                    }
                    break;
                case 0x5:
                    switch (insn & 0x0003001f) {
                    case 0x00000000:
                        switch ((insn >> 13) & 0x7) {
                        case 0x1: return LISA_X86SLLI_B;
                        }
                        break;
                    case 0x00000001:
                        switch ((insn >> 14) & 0x3) {
                        case 0x1: return LISA_X86SLLI_H;
                        }
                        break;
                    case 0x00000002:
                        switch ((insn >> 15) & 0x1) {
                        case 0x1: return LISA_X86SLLI_W;
                        }
                        break;
                    case 0x00000004:
                        switch ((insn >> 13) & 0x7) {
                        case 0x1: return LISA_X86SRLI_B;
                        }
                        break;
                    case 0x00000005:
                        switch ((insn >> 14) & 0x3) {
                        case 0x1: return LISA_X86SRLI_H;
                        }
                        break;
                    case 0x00000006:
                        switch ((insn >> 15) & 0x1) {
                        case 0x1: return LISA_X86SRLI_W;
                        }
                        break;
                    case 0x00000008:
                        switch ((insn >> 13) & 0x7) {
                        case 0x1: return LISA_X86SRAI_B;
                        }
                        break;
                    case 0x00000009:
                        switch ((insn >> 14) & 0x3) {
                        case 0x1: return LISA_X86SRAI_H;
                        }
                        break;
                    case 0x0000000a:
                        switch ((insn >> 15) & 0x1) {
                        case 0x1: return LISA_X86SRAI_W;
                        }
                        break;
                    case 0x0000000c:
                        switch ((insn >> 13) & 0x7) {
                        case 0x1: return LISA_X86ROTRI_B;
                        }
                        break;
                    case 0x0000000d:
                        switch ((insn >> 14) & 0x3) {
                        case 0x1: return LISA_X86ROTRI_H;
                        }
                        break;
                    case 0x0000000e:
                        switch ((insn >> 15) & 0x1) {
                        case 0x1: return LISA_X86ROTRI_W;
                        }
                        break;
                    case 0x00000010:
                        switch ((insn >> 13) & 0x7) {
                        case 0x1: return LISA_X86RCRI_B;
                        }
                        break;
                    case 0x00000011:
                        switch ((insn >> 14) & 0x3) {
                        case 0x1: return LISA_X86RCRI_H;
                        }
                        break;
                    case 0x00000012:
                        switch ((insn >> 15) & 0x1) {
                        case 0x1: return LISA_X86RCRI_W;
                        }
                        break;
                    case 0x00000014:
                        switch ((insn >> 13) & 0x7) {
                        case 0x1: return LISA_X86ROTLI_B;
                        }
                        break;
                    case 0x00000015:
                        switch ((insn >> 14) & 0x3) {
                        case 0x1: return LISA_X86ROTLI_H;
                        }
                        break;
                    case 0x00000016:
                        switch ((insn >> 15) & 0x1) {
                        case 0x1: return LISA_X86ROTLI_W;
                        }
                        break;
                    case 0x00000018:
                        switch ((insn >> 13) & 0x7) {
                        case 0x1: return LISA_X86RCLI_B;
                        }
                        break;
                    case 0x00000019:
                        switch ((insn >> 14) & 0x3) {
                        case 0x1: return LISA_X86RCLI_H;
                        }
                        break;
                    case 0x0000001a:
                        switch ((insn >> 15) & 0x1) {
                        case 0x1: return LISA_X86RCLI_W;
                        }
                        break;
                    case 0x00010003: return LISA_X86SLLI_D;
                    case 0x00010007: return LISA_X86SRLI_D;
                    case 0x0001000b: return LISA_X86SRAI_D;
                    case 0x0001000f: return LISA_X86ROTRI_D;
                    case 0x00010013: return LISA_X86RCRI_D;
                    case 0x00010017: return LISA_X86ROTLI_D;
                    case 0x0001001b: return LISA_X86RCLI_D;
                    }
                    break;
                case 0x7:
                    switch ((insn >> 5) & 0x1f) {
                    case 0x0: return LISA_X86MFFLAG;
                    case 0x1: return LISA_X86MTFLAG;
                    }
                    break;
                }
                break;
            case 0x1:
                switch ((insn >> 15) & 0x1) {
                case 0x0: return LISA_BSTRINS_W;
                case 0x1: return LISA_BSTRPICK_W;
                }
                break;
            }
            break;
        case 0x2: return LISA_BSTRINS_D;
        case 0x3: return LISA_BSTRPICK_D;
        case 0x4:
            switch ((insn >> 15) & 0x7f) {
            case 0x1: return LISA_FADD_S;
            case 0x2: return LISA_FADD_D;
            case 0x5: return LISA_FSUB_S;
            case 0x6: return LISA_FSUB_D;
            case 0x9: return LISA_FMUL_S;
            case 0xa: return LISA_FMUL_D;
            case 0xd: return LISA_FDIV_S;
            case 0xe: return LISA_FDIV_D;
            case 0x11: return LISA_FMAX_S;
            case 0x12: return LISA_FMAX_D;
            case 0x15: return LISA_FMIN_S;
            case 0x16: return LISA_FMIN_D;
            case 0x19: return LISA_FMAXA_S;
            case 0x1a: return LISA_FMAXA_D;
            case 0x1d: return LISA_FMINA_S;
            case 0x1e: return LISA_FMINA_D;
            case 0x21: return LISA_FSCALEB_S;
            case 0x22: return LISA_FSCALEB_D;
            case 0x25: return LISA_FCOPYSIGN_S;
            case 0x26: return LISA_FCOPYSIGN_D;
            case 0x28:
                switch ((insn >> 10) & 0x1f) {
                case 0x1: return LISA_FABS_S;
                case 0x2: return LISA_FABS_D;
                case 0x5: return LISA_FNEG_S;
                case 0x6: return LISA_FNEG_D;
                case 0x9: return LISA_FLOGB_S;
                case 0xa: return LISA_FLOGB_D;
                case 0xd: return LISA_FCLASS_S;
                case 0xe: return LISA_FCLASS_D;
                case 0x11: return LISA_FSQRT_S;
                case 0x12: return LISA_FSQRT_D;
                case 0x15: return LISA_FRECIP_S;
                case 0x16: return LISA_FRECIP_D;
                case 0x19: return LISA_FRSQRT_S;
                case 0x1a: return LISA_FRSQRT_D;
                }
                break;
            case 0x29:
                switch ((insn >> 10) & 0x1f) {
                case 0x5: return LISA_FMOV_S;
                case 0x6: return LISA_FMOV_D;
                case 0x9: return LISA_MOVGR2FR_W;
                case 0xa: return LISA_MOVGR2FR_D;
                case 0xb: return LISA_MOVGR2FRH_W;
                case 0xd: return LISA_MOVFR2GR_S;
                case 0xe: return LISA_MOVFR2GR_D;
                case 0xf: return LISA_MOVFRH2GR_S;
                case 0x10: return LISA_MOVGR2FCSR;
                case 0x12: return LISA_MOVFCSR2GR;
                case 0x14:
                    switch ((insn >> 3) & 0x3) {
                    case 0x0: return LISA_MOVFR2CF;
                    }
                    break;
                case 0x15:
                    switch ((insn >> 8) & 0x3) {
                    case 0x0: return LISA_MOVCF2FR;
                    }
                    break;
                case 0x16:
                    switch ((insn >> 3) & 0x3) {
                    case 0x0: return LISA_MOVGR2CF;
                    }
                    break;
                case 0x17:
                    switch ((insn >> 8) & 0x3) {
                    case 0x0: return LISA_MOVCF2GR;
                    }
                    break;
                case 0x18: return LISA_FCVT_LD_D;
                case 0x19: return LISA_FCVT_UD_D;
                }
                break;
            case 0x2a: return LISA_FCVT_D_LD;
            case 0x32:
                switch ((insn >> 10) & 0x1f) {
                case 0x6: return LISA_FCVT_S_D;
                case 0x9: return LISA_FCVT_D_S;
                }
                break;
            case 0x34:
                switch ((insn >> 10) & 0x1f) {
                case 0x1: return LISA_FTINTRM_W_S;
                case 0x2: return LISA_FTINTRM_W_D;
                case 0x9: return LISA_FTINTRM_L_S;
                case 0xa: return LISA_FTINTRM_L_D;
                case 0x11: return LISA_FTINTRP_W_S;
                case 0x12: return LISA_FTINTRP_W_D;
                case 0x19: return LISA_FTINTRP_L_S;
                case 0x1a: return LISA_FTINTRP_L_D;
                }
                break;
            case 0x35:
                switch ((insn >> 10) & 0x1f) {
                case 0x1: return LISA_FTINTRZ_W_S;
                case 0x2: return LISA_FTINTRZ_W_D;
                case 0x9: return LISA_FTINTRZ_L_S;
                case 0xa: return LISA_FTINTRZ_L_D;
                case 0x11: return LISA_FTINTRNE_W_S;
                case 0x12: return LISA_FTINTRNE_W_D;
                case 0x19: return LISA_FTINTRNE_L_S;
                case 0x1a: return LISA_FTINTRNE_L_D;
                }
                break;
            case 0x36:
                switch ((insn >> 10) & 0x1f) {
                case 0x1: return LISA_FTINT_W_S;
                case 0x2: return LISA_FTINT_W_D;
                case 0x9: return LISA_FTINT_L_S;
                case 0xa: return LISA_FTINT_L_D;
                }
                break;
            case 0x3a:
                switch ((insn >> 10) & 0x1f) {
                case 0x4: return LISA_FFINT_S_W;
                case 0x6: return LISA_FFINT_S_L;
                case 0x8: return LISA_FFINT_D_W;
                case 0xa: return LISA_FFINT_D_L;
                }
                break;
            case 0x3c:
                switch ((insn >> 10) & 0x1f) {
                case 0x11: return LISA_FRINT_S;
                case 0x12: return LISA_FRINT_D;
                }
                break;
            }
            break;
        case 0x8: return LISA_SLTI;
        case 0x9: return LISA_SLTUI;
        case 0xa: return LISA_ADDI_W;
        case 0xb: return LISA_ADDI_D;
        case 0xc: return LISA_LU52I_D;
        case 0xd: return LISA_ANDI;
        case 0xe: return LISA_ORI;
        case 0xf: return LISA_XORI;
        }
        break;
    case 0x2:
        switch ((insn >> 20) & 0x3f) {
        case 0x1: return LISA_FMADD_S;
        case 0x2: return LISA_FMADD_D;
        case 0x5: return LISA_FMSUB_S;
        case 0x6: return LISA_FMSUB_D;
        case 0x9: return LISA_FNMADD_S;
        case 0xa: return LISA_FNMADD_D;
        case 0xd: return LISA_FNMSUB_S;
        case 0xe: return LISA_FNMSUB_D;
        case 0x11: return LISA_VFMADD_S;
        case 0x12: return LISA_VFMADD_D;
        case 0x15: return LISA_VFMSUB_S;
        case 0x16: return LISA_VFMSUB_D;
        case 0x19: return LISA_VFNMADD_S;
        case 0x1a: return LISA_VFNMADD_D;
        case 0x1d: return LISA_VFNMSUB_S;
        case 0x1e: return LISA_VFNMSUB_D;
        case 0x21: return LISA_XVFMADD_S;
        case 0x22: return LISA_XVFMADD_D;
        case 0x25: return LISA_XVFMSUB_S;
        case 0x26: return LISA_XVFMSUB_D;
        case 0x29: return LISA_XVFNMADD_S;
        case 0x2a: return LISA_XVFNMADD_D;
        case 0x2d: return LISA_XVFNMSUB_S;
        case 0x2e: return LISA_XVFNMSUB_D;
        }
        break;
    case 0x3:
        switch ((insn >> 20) & 0x3f) {
        case 0x1:
            switch ((insn >> 3) & 0x3) {
            case 0x0: return LISA_FCMP_COND_S;
            }
            break;
        case 0x2:
            switch ((insn >> 3) & 0x3) {
            case 0x0: return LISA_FCMP_COND_D;
            }
            break;
        case 0x5: return LISA_VFCMP_COND_S;
        case 0x6: return LISA_VFCMP_COND_D;
        case 0x9: return LISA_XVFCMP_COND_S;
        case 0xa: return LISA_XVFCMP_COND_D;
        case 0x10:
            switch ((insn >> 18) & 0x3) {
            case 0x0: return LISA_FSEL;
            }
            break;
        case 0x11: return LISA_VBITSEL_V;
        case 0x12: return LISA_XVBITSEL_V;
        case 0x15: return LISA_VSHUF_B;
        case 0x16: return LISA_XVSHUF_B;
        case 0x19: return LISA_VEXTR_V;
        case 0x1a: return LISA_XVEXTR_V;
        case 0x29: return LISA_VFMADDSUB_S;
        case 0x2a: return LISA_VFMADDSUB_D;
        case 0x2d: return LISA_VFMSUBADD_S;
        case 0x2e: return LISA_VFMSUBADD_D;
        case 0x31: return LISA_XVFMADDSUB_S;
        case 0x32: return LISA_XVFMADDSUB_D;
        case 0x35: return LISA_XVFMSUBADD_S;
        case 0x36: return LISA_XVFMSUBADD_D;
        }
        break;
    case 0x4: return LISA_ADDU16I_D;
    case 0x5:
        switch ((insn >> 25) & 0x1) {
        case 0x0: return LISA_LU12I_W;
        case 0x1: return LISA_LU32I_D;
        }
        break;
    case 0x6:
        switch ((insn >> 25) & 0x1) {
        case 0x0: return LISA_PCADDI;
        case 0x1: return LISA_PCALAU12I;
        }
        break;
    case 0x7:
        switch ((insn >> 25) & 0x1) {
        case 0x0: return LISA_PCADDU12I;
        case 0x1: return LISA_PCADDU18I;
        }
        break;
    case 0x8:
        switch ((insn >> 24) & 0x3) {
        case 0x0: return LISA_LL_W;
        case 0x1: return LISA_SC_W;
        case 0x2: return LISA_LL_D;
        case 0x3: return LISA_SC_D;
        }
        break;
    case 0x9:
        switch ((insn >> 24) & 0x3) {
        case 0x0: return LISA_LDPTR_W;
        case 0x1: return LISA_STPTR_W;
        case 0x2: return LISA_LDPTR_D;
        case 0x3: return LISA_STPTR_D;
        }
        break;
    case 0xa:
        switch ((insn >> 22) & 0xf) {
        case 0x0: return LISA_LD_B;
        case 0x1: return LISA_LD_H;
        case 0x2: return LISA_LD_W;
        case 0x3: return LISA_LD_D;
        case 0x4: return LISA_ST_B;
        case 0x5: return LISA_ST_H;
        case 0x6: return LISA_ST_W;
        case 0x7: return LISA_ST_D;
        case 0x8: return LISA_LD_BU;
        case 0x9: return LISA_LD_HU;
        case 0xa: return LISA_LD_WU;
        case 0xb: return LISA_PRELD;
        case 0xc: return LISA_FLD_S;
        case 0xd: return LISA_FST_S;
        case 0xe: return LISA_FLD_D;
        case 0xf: return LISA_FST_D;
        }
        break;
    case 0xb:
        switch ((insn >> 22) & 0xf) {
        case 0x0: return LISA_VLD;
        case 0x1: return LISA_VST;
        case 0x2: return LISA_XVLD;
        case 0x3: return LISA_XVST;
        }
        break;
    case 0xc:
        switch ((insn >> 23) & 0x7) {
        case 0x0:
            switch ((insn >> 21) & 0x3) {
            case 0x0:
                switch ((insn >> 19) & 0x3) {
                case 0x2: return LISA_VLDREPL_D;
                }
                break;
            case 0x1:
                switch ((insn >> 20) & 0x1) {
                case 0x0: return LISA_VLDREPL_W;
                }
                break;
            case 0x2: return LISA_VLDREPL_H;
            }
            break;
        case 0x1:
            switch ((insn >> 22) & 0x1) {
            case 0x0: return LISA_VLDREPL_B;
            }
            break;
        case 0x2:
            switch ((insn >> 21) & 0x3) {
            case 0x0:
                switch ((insn >> 19) & 0x3) {
                case 0x2: return LISA_VSTELM_D;
                }
                break;
            case 0x1:
                switch ((insn >> 20) & 0x1) {
                case 0x0: return LISA_VSTELM_W;
                }
                break;
            case 0x2: return LISA_VSTELM_H;
            }
            break;
        case 0x3:
            switch ((insn >> 22) & 0x1) {
            case 0x0: return LISA_VSTELM_B;
            }
            break;
        case 0x4:
            switch ((insn >> 21) & 0x3) {
            case 0x0:
                switch ((insn >> 19) & 0x3) {
                case 0x2: return LISA_XVLDREPL_D;
                }
                break;
            case 0x1:
                switch ((insn >> 20) & 0x1) {
                case 0x0: return LISA_XVLDREPL_W;
                }
                break;
            case 0x2: return LISA_XVLDREPL_H;
            }
            break;
        case 0x5:
            switch ((insn >> 22) & 0x1) {
            case 0x0: return LISA_XVLDREPL_B;
            }
            break;
        case 0x6:
            switch ((insn >> 22) & 0x1) {
            case 0x0:
                switch ((insn >> 21) & 0x1) {
                case 0x0:
                    switch ((insn >> 20) & 0x1) {
                    case 0x1: return LISA_XVSTELM_D;
                    }
                    break;
                case 0x1: return LISA_XVSTELM_W;
                }
                break;
            case 0x1: return LISA_XVSTELM_H;
            }
            break;
        case 0x7: return LISA_XVSTELM_B;
        }
        break;
    case 0xe:
        switch ((insn >> 15) & 0x7ff) {
        case 0x0: return LISA_LDX_B;
        case 0x8: return LISA_LDX_H;
        case 0x10: return LISA_LDX_W;
        case 0x18: return LISA_LDX_D;
        case 0x20: return LISA_STX_B;
        case 0x28: return LISA_STX_H;
        case 0x30: return LISA_STX_W;
        case 0x38: return LISA_STX_D;
        case 0x40: return LISA_LDX_BU;
        case 0x48: return LISA_LDX_HU;
        case 0x50: return LISA_LDX_WU;
        case 0x58: return LISA_PRELDX;
        case 0x60: return LISA_FLDX_S;
        case 0x68: return LISA_FLDX_D;
        case 0x70: return LISA_FSTX_S;
        case 0x78: return LISA_FSTX_D;
        case 0x80: return LISA_VLDX;
        case 0x88: return LISA_VSTX;
        case 0x90: return LISA_XVLDX;
        case 0x98: return LISA_XVSTX;
        case 0xc0: return LISA_AMSWAP_W;
        case 0xc1: return LISA_AMSWAP_D;
        case 0xc2: return LISA_AMADD_W;
        case 0xc3: return LISA_AMADD_D;
        case 0xc4: return LISA_AMAND_W;
        case 0xc5: return LISA_AMAND_D;
        case 0xc6: return LISA_AMOR_W;
        case 0xc7: return LISA_AMOR_D;
        case 0xc8: return LISA_AMXOR_W;
        case 0xc9: return LISA_AMXOR_D;
        case 0xca: return LISA_AMMAX_W;
        case 0xcb: return LISA_AMMAX_D;
        case 0xcc: return LISA_AMMIN_W;
        case 0xcd: return LISA_AMMIN_D;
        case 0xce: return LISA_AMMAX_WU;
        case 0xcf: return LISA_AMMAX_DU;
        case 0xd0: return LISA_AMMIN_WU;
        case 0xd1: return LISA_AMMIN_DU;
        case 0xd2: return LISA_AMSWAP_DB_W;
        case 0xd3: return LISA_AMSWAP_DB_D;
        case 0xd4: return LISA_AMADD_DB_W;
        case 0xd5: return LISA_AMADD_DB_D;
        case 0xd6: return LISA_AMAND_DB_W;
        case 0xd7: return LISA_AMAND_DB_D;
        case 0xd8: return LISA_AMOR_DB_W;
        case 0xd9: return LISA_AMOR_DB_D;
        case 0xda: return LISA_AMXOR_DB_W;
        case 0xdb: return LISA_AMXOR_DB_D;
        case 0xdc: return LISA_AMMAX_DB_W;
        case 0xdd: return LISA_AMMAX_DB_D;
        case 0xde: return LISA_AMMIN_DB_W;
        case 0xdf: return LISA_AMMIN_DB_D;
        case 0xe0: return LISA_AMMAX_DB_WU;
        case 0xe1: return LISA_AMMAX_DB_DU;
        case 0xe2: return LISA_AMMIN_DB_WU;
        case 0xe3: return LISA_AMMIN_DB_DU;
        case 0xe4: return LISA_DBAR;
        case 0xe5: return LISA_IBAR;
        case 0xe8: return LISA_FLDGT_S;
        case 0xe9: return LISA_FLDGT_D;
        case 0xea: return LISA_FLDLE_S;
        case 0xeb: return LISA_FLDLE_D;
        case 0xec: return LISA_FSTGT_S;
        case 0xed: return LISA_FSTGT_D;
        case 0xee: return LISA_FSTLE_S;
        case 0xef: return LISA_FSTLE_D;
        case 0xf0: return LISA_LDGT_B;
        case 0xf1: return LISA_LDGT_H;
        case 0xf2: return LISA_LDGT_W;
        case 0xf3: return LISA_LDGT_D;
        case 0xf4: return LISA_LDLE_B;
        case 0xf5: return LISA_LDLE_H;
        case 0xf6: return LISA_LDLE_W;
        case 0xf7: return LISA_LDLE_D;
        case 0xf8: return LISA_STGT_B;
        case 0xf9: return LISA_STGT_H;
        case 0xfa: return LISA_STGT_W;
        case 0xfb: return LISA_STGT_D;
        case 0xfc: return LISA_STLE_B;
        case 0xfd: return LISA_STLE_H;
        case 0xfe: return LISA_STLE_W;
        case 0xff: return LISA_STLE_D;
        }
        break;
    case 0x10: return LISA_BEQZ;
    case 0x11: return LISA_BNEZ;
    case 0x12:
        switch ((insn >> 8) & 0x3) {
        case 0x0: return LISA_BCEQZ;
        case 0x1: return LISA_BCNEZ;
        }
        break;
    case 0x13: return LISA_JIRL;
    case 0x14: return LISA_B;
    case 0x15: return LISA_BL;
    case 0x16: return LISA_BEQ;
    case 0x17: return LISA_BNE;
    case 0x18: return LISA_BLT;
    case 0x19: return LISA_BGE;
    case 0x1a: return LISA_BLTU;
    case 0x1b: return LISA_BGEU;
    case 0x1c:
        switch ((insn >> 18) & 0xff) {
        case 0x0:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VSEQ_B;
            case 0x1: return LISA_VSEQ_H;
            case 0x2: return LISA_VSEQ_W;
            case 0x3: return LISA_VSEQ_D;
            case 0x4: return LISA_VSLE_B;
            case 0x5: return LISA_VSLE_H;
            case 0x6: return LISA_VSLE_W;
            case 0x7: return LISA_VSLE_D;
            }
            break;
        case 0x1:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VSLE_BU;
            case 0x1: return LISA_VSLE_HU;
            case 0x2: return LISA_VSLE_WU;
            case 0x3: return LISA_VSLE_DU;
            case 0x4: return LISA_VSLT_B;
            case 0x5: return LISA_VSLT_H;
            case 0x6: return LISA_VSLT_W;
            case 0x7: return LISA_VSLT_D;
            }
            break;
        case 0x2:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VSLT_BU;
            case 0x1: return LISA_VSLT_HU;
            case 0x2: return LISA_VSLT_WU;
            case 0x3: return LISA_VSLT_DU;
            case 0x4: return LISA_VADD_B;
            case 0x5: return LISA_VADD_H;
            case 0x6: return LISA_VADD_W;
            case 0x7: return LISA_VADD_D;
            }
            break;
        case 0x3:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VSUB_B;
            case 0x1: return LISA_VSUB_H;
            case 0x2: return LISA_VSUB_W;
            case 0x3: return LISA_VSUB_D;
            }
            break;
        case 0x7:
            switch ((insn >> 15) & 0x7) {
            case 0x4: return LISA_VADDWEV_H_B;
            case 0x5: return LISA_VADDWEV_W_H;
            case 0x6: return LISA_VADDWEV_D_W;
            case 0x7: return LISA_VADDWEV_Q_D;
            }
            break;
        case 0x8:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VSUBWEV_H_B;
            case 0x1: return LISA_VSUBWEV_W_H;
            case 0x2: return LISA_VSUBWEV_D_W;
            case 0x3: return LISA_VSUBWEV_Q_D;
            case 0x4: return LISA_VADDWOD_H_B;
            case 0x5: return LISA_VADDWOD_W_H;
            case 0x6: return LISA_VADDWOD_D_W;
            case 0x7: return LISA_VADDWOD_Q_D;
            }
            break;
        case 0x9:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VSUBWOD_H_B;
            case 0x1: return LISA_VSUBWOD_W_H;
            case 0x2: return LISA_VSUBWOD_D_W;
            case 0x3: return LISA_VSUBWOD_Q_D;
            }
            break;
        case 0xb:
            switch ((insn >> 15) & 0x7) {
            case 0x4: return LISA_VADDWEV_H_BU;
            case 0x5: return LISA_VADDWEV_W_HU;
            case 0x6: return LISA_VADDWEV_D_WU;
            case 0x7: return LISA_VADDWEV_Q_DU;
            }
            break;
        case 0xc:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VSUBWEV_H_BU;
            case 0x1: return LISA_VSUBWEV_W_HU;
            case 0x2: return LISA_VSUBWEV_D_WU;
            case 0x3: return LISA_VSUBWEV_Q_DU;
            case 0x4: return LISA_VADDWOD_H_BU;
            case 0x5: return LISA_VADDWOD_W_HU;
            case 0x6: return LISA_VADDWOD_D_WU;
            case 0x7: return LISA_VADDWOD_Q_DU;
            }
            break;
        case 0xd:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VSUBWOD_H_BU;
            case 0x1: return LISA_VSUBWOD_W_HU;
            case 0x2: return LISA_VSUBWOD_D_WU;
            case 0x3: return LISA_VSUBWOD_Q_DU;
            }
            break;
        case 0xf:
            switch ((insn >> 15) & 0x7) {
            case 0x4: return LISA_VADDWEV_H_BU_B;
            case 0x5: return LISA_VADDWEV_W_HU_H;
            case 0x6: return LISA_VADDWEV_D_WU_W;
            case 0x7: return LISA_VADDWEV_Q_DU_D;
            }
            break;
        case 0x10:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VADDWOD_H_BU_B;
            case 0x1: return LISA_VADDWOD_W_HU_H;
            case 0x2: return LISA_VADDWOD_D_WU_W;
            case 0x3: return LISA_VADDWOD_Q_DU_D;
            }
            break;
        case 0x11:
            switch ((insn >> 15) & 0x7) {
            case 0x4: return LISA_VSADD_B;
            case 0x5: return LISA_VSADD_H;
            case 0x6: return LISA_VSADD_W;
            case 0x7: return LISA_VSADD_D;
            }
            break;
        case 0x12:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VSSUB_B;
            case 0x1: return LISA_VSSUB_H;
            case 0x2: return LISA_VSSUB_W;
            case 0x3: return LISA_VSSUB_D;
            case 0x4: return LISA_VSADD_BU;
            case 0x5: return LISA_VSADD_HU;
            case 0x6: return LISA_VSADD_WU;
            case 0x7: return LISA_VSADD_DU;
            }
            break;
        case 0x13:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VSSUB_BU;
            case 0x1: return LISA_VSSUB_HU;
            case 0x2: return LISA_VSSUB_WU;
            case 0x3: return LISA_VSSUB_DU;
            }
            break;
        case 0x15:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VHADDW_H_B;
            case 0x1: return LISA_VHADDW_W_H;
            case 0x2: return LISA_VHADDW_D_W;
            case 0x3: return LISA_VHADDW_Q_D;
            case 0x4: return LISA_VHSUBW_H_B;
            case 0x5: return LISA_VHSUBW_W_H;
            case 0x6: return LISA_VHSUBW_D_W;
            case 0x7: return LISA_VHSUBW_Q_D;
            }
            break;
        case 0x16:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VHADDW_HU_BU;
            case 0x1: return LISA_VHADDW_WU_HU;
            case 0x2: return LISA_VHADDW_DU_WU;
            case 0x3: return LISA_VHADDW_QU_DU;
            case 0x4: return LISA_VHSUBW_HU_BU;
            case 0x5: return LISA_VHSUBW_WU_HU;
            case 0x6: return LISA_VHSUBW_DU_WU;
            case 0x7: return LISA_VHSUBW_QU_DU;
            }
            break;
        case 0x17:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VADDA_B;
            case 0x1: return LISA_VADDA_H;
            case 0x2: return LISA_VADDA_W;
            case 0x3: return LISA_VADDA_D;
            }
            break;
        case 0x18:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VABSD_B;
            case 0x1: return LISA_VABSD_H;
            case 0x2: return LISA_VABSD_W;
            case 0x3: return LISA_VABSD_D;
            case 0x4: return LISA_VABSD_BU;
            case 0x5: return LISA_VABSD_HU;
            case 0x6: return LISA_VABSD_WU;
            case 0x7: return LISA_VABSD_DU;
            }
            break;
        case 0x19:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VAVG_B;
            case 0x1: return LISA_VAVG_H;
            case 0x2: return LISA_VAVG_W;
            case 0x3: return LISA_VAVG_D;
            case 0x4: return LISA_VAVG_BU;
            case 0x5: return LISA_VAVG_HU;
            case 0x6: return LISA_VAVG_WU;
            case 0x7: return LISA_VAVG_DU;
            }
            break;
        case 0x1a:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VAVGR_B;
            case 0x1: return LISA_VAVGR_H;
            case 0x2: return LISA_VAVGR_W;
            case 0x3: return LISA_VAVGR_D;
            case 0x4: return LISA_VAVGR_BU;
            case 0x5: return LISA_VAVGR_HU;
            case 0x6: return LISA_VAVGR_WU;
            case 0x7: return LISA_VAVGR_DU;
            }
            break;
        case 0x1c:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VMAX_B;
            case 0x1: return LISA_VMAX_H;
            case 0x2: return LISA_VMAX_W;
            case 0x3: return LISA_VMAX_D;
            case 0x4: return LISA_VMIN_B;
            case 0x5: return LISA_VMIN_H;
            case 0x6: return LISA_VMIN_W;
            case 0x7: return LISA_VMIN_D;
            }
            break;
        case 0x1d:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VMAX_BU;
            case 0x1: return LISA_VMAX_HU;
            case 0x2: return LISA_VMAX_WU;
            case 0x3: return LISA_VMAX_DU;
            case 0x4: return LISA_VMIN_BU;
            case 0x5: return LISA_VMIN_HU;
            case 0x6: return LISA_VMIN_WU;
            case 0x7: return LISA_VMIN_DU;
            }
            break;
        case 0x21:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VMUL_B;
            case 0x1: return LISA_VMUL_H;
            case 0x2: return LISA_VMUL_W;
            case 0x3: return LISA_VMUL_D;
            case 0x4: return LISA_VMUH_B;
            case 0x5: return LISA_VMUH_H;
            case 0x6: return LISA_VMUH_W;
            case 0x7: return LISA_VMUH_D;
            }
            break;
        case 0x22:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VMUH_BU;
            case 0x1: return LISA_VMUH_HU;
            case 0x2: return LISA_VMUH_WU;
            case 0x3: return LISA_VMUH_DU;
            }
            break;
        case 0x24:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VMULWEV_H_B;
            case 0x1: return LISA_VMULWEV_W_H;
            case 0x2: return LISA_VMULWEV_D_W;
            case 0x3: return LISA_VMULWEV_Q_D;
            case 0x4: return LISA_VMULWOD_H_B;
            case 0x5: return LISA_VMULWOD_W_H;
            case 0x6: return LISA_VMULWOD_D_W;
            case 0x7: return LISA_VMULWOD_Q_D;
            }
            break;
        case 0x26:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VMULWEV_H_BU;
            case 0x1: return LISA_VMULWEV_W_HU;
            case 0x2: return LISA_VMULWEV_D_WU;
            case 0x3: return LISA_VMULWEV_Q_DU;
            case 0x4: return LISA_VMULWOD_H_BU;
            case 0x5: return LISA_VMULWOD_W_HU;
            case 0x6: return LISA_VMULWOD_D_WU;
            case 0x7: return LISA_VMULWOD_Q_DU;
            }
            break;
        case 0x28:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VMULWEV_H_BU_B;
            case 0x1: return LISA_VMULWEV_W_HU_H;
            case 0x2: return LISA_VMULWEV_D_WU_W;
            case 0x3: return LISA_VMULWEV_Q_DU_D;
            case 0x4: return LISA_VMULWOD_H_BU_B;
            case 0x5: return LISA_VMULWOD_W_HU_H;
            case 0x6: return LISA_VMULWOD_D_WU_W;
            case 0x7: return LISA_VMULWOD_Q_DU_D;
            }
            break;
        case 0x2a:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VMADD_B;
            case 0x1: return LISA_VMADD_H;
            case 0x2: return LISA_VMADD_W;
            case 0x3: return LISA_VMADD_D;
            case 0x4: return LISA_VMSUB_B;
            case 0x5: return LISA_VMSUB_H;
            case 0x6: return LISA_VMSUB_W;
            case 0x7: return LISA_VMSUB_D;
            }
            break;
        case 0x2b:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VMADDWEV_H_B;
            case 0x1: return LISA_VMADDWEV_W_H;
            case 0x2: return LISA_VMADDWEV_D_W;
            case 0x3: return LISA_VMADDWEV_Q_D;
            case 0x4: return LISA_VMADDWOD_H_B;
            case 0x5: return LISA_VMADDWOD_W_H;
            case 0x6: return LISA_VMADDWOD_D_W;
            case 0x7: return LISA_VMADDWOD_Q_D;
            }
            break;
        case 0x2d:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VMADDWEV_H_BU;
            case 0x1: return LISA_VMADDWEV_W_HU;
            case 0x2: return LISA_VMADDWEV_D_WU;
            case 0x3: return LISA_VMADDWEV_Q_DU;
            case 0x4: return LISA_VMADDWOD_H_BU;
            case 0x5: return LISA_VMADDWOD_W_HU;
            case 0x6: return LISA_VMADDWOD_D_WU;
            case 0x7: return LISA_VMADDWOD_Q_DU;
            }
            break;
        case 0x2f:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VMADDWEV_H_BU_B;
            case 0x1: return LISA_VMADDWEV_W_HU_H;
            case 0x2: return LISA_VMADDWEV_D_WU_W;
            case 0x3: return LISA_VMADDWEV_Q_DU_D;
            case 0x4: return LISA_VMADDWOD_H_BU_B;
            case 0x5: return LISA_VMADDWOD_W_HU_H;
            case 0x6: return LISA_VMADDWOD_D_WU_W;
            case 0x7: return LISA_VMADDWOD_Q_DU_D;
            }
            break;
        case 0x38:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VDIV_B;
            case 0x1: return LISA_VDIV_H;
            case 0x2: return LISA_VDIV_W;
            case 0x3: return LISA_VDIV_D;
            case 0x4: return LISA_VMOD_B;
            case 0x5: return LISA_VMOD_H;
            case 0x6: return LISA_VMOD_W;
            case 0x7: return LISA_VMOD_D;
            }
            break;
        case 0x39:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VDIV_BU;
            case 0x1: return LISA_VDIV_HU;
            case 0x2: return LISA_VDIV_WU;
            case 0x3: return LISA_VDIV_DU;
            case 0x4: return LISA_VMOD_BU;
            case 0x5: return LISA_VMOD_HU;
            case 0x6: return LISA_VMOD_WU;
            case 0x7: return LISA_VMOD_DU;
            }
            break;
        case 0x3a:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VSLL_B;
            case 0x1: return LISA_VSLL_H;
            case 0x2: return LISA_VSLL_W;
            case 0x3: return LISA_VSLL_D;
            case 0x4: return LISA_VSRL_B;
            case 0x5: return LISA_VSRL_H;
            case 0x6: return LISA_VSRL_W;
            case 0x7: return LISA_VSRL_D;
            }
            break;
        case 0x3b:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VSRA_B;
            case 0x1: return LISA_VSRA_H;
            case 0x2: return LISA_VSRA_W;
            case 0x3: return LISA_VSRA_D;
            case 0x4: return LISA_VROTR_B;
            case 0x5: return LISA_VROTR_H;
            case 0x6: return LISA_VROTR_W;
            case 0x7: return LISA_VROTR_D;
            }
            break;
        case 0x3c:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VSRLR_B;
            case 0x1: return LISA_VSRLR_H;
            case 0x2: return LISA_VSRLR_W;
            case 0x3: return LISA_VSRLR_D;
            case 0x4: return LISA_VSRAR_B;
            case 0x5: return LISA_VSRAR_H;
            case 0x6: return LISA_VSRAR_W;
            case 0x7: return LISA_VSRAR_D;
            }
            break;
        case 0x3d:
            switch ((insn >> 15) & 0x7) {
            case 0x1: return LISA_VSRLN_B_H;
            case 0x2: return LISA_VSRLN_H_W;
            case 0x3: return LISA_VSRLN_W_D;
            case 0x5: return LISA_VSRAN_B_H;
            case 0x6: return LISA_VSRAN_H_W;
            case 0x7: return LISA_VSRAN_W_D;
            }
            break;
        case 0x3e:
            switch ((insn >> 15) & 0x7) {
            case 0x1: return LISA_VSRLRN_B_H;
            case 0x2: return LISA_VSRLRN_H_W;
            case 0x3: return LISA_VSRLRN_W_D;
            case 0x5: return LISA_VSRARN_B_H;
            case 0x6: return LISA_VSRARN_H_W;
            case 0x7: return LISA_VSRARN_W_D;
            }
            break;
        case 0x3f:
            switch ((insn >> 15) & 0x7) {
            case 0x1: return LISA_VSSRLN_B_H;
            case 0x2: return LISA_VSSRLN_H_W;
            case 0x3: return LISA_VSSRLN_W_D;
            case 0x5: return LISA_VSSRAN_B_H;
            case 0x6: return LISA_VSSRAN_H_W;
            case 0x7: return LISA_VSSRAN_W_D;
            }
            break;
        case 0x40:
            switch ((insn >> 15) & 0x7) {
            case 0x1: return LISA_VSSRLRN_B_H;
            case 0x2: return LISA_VSSRLRN_H_W;
            case 0x3: return LISA_VSSRLRN_W_D;
            case 0x5: return LISA_VSSRARN_B_H;
            case 0x6: return LISA_VSSRARN_H_W;
            case 0x7: return LISA_VSSRARN_W_D;
            }
            break;
        case 0x41:
            switch ((insn >> 15) & 0x7) {
            case 0x1: return LISA_VSSRLN_BU_H;
            case 0x2: return LISA_VSSRLN_HU_W;
            case 0x3: return LISA_VSSRLN_WU_D;
            case 0x5: return LISA_VSSRAN_BU_H;
            case 0x6: return LISA_VSSRAN_HU_W;
            case 0x7: return LISA_VSSRAN_WU_D;
            }
            break;
        case 0x42:
            switch ((insn >> 15) & 0x7) {
            case 0x1: return LISA_VSSRLRN_BU_H;
            case 0x2: return LISA_VSSRLRN_HU_W;
            case 0x3: return LISA_VSSRLRN_WU_D;
            case 0x5: return LISA_VSSRARN_BU_H;
            case 0x6: return LISA_VSSRARN_HU_W;
            case 0x7: return LISA_VSSRARN_WU_D;
            }
            break;
        case 0x43:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VBITCLR_B;
            case 0x1: return LISA_VBITCLR_H;
            case 0x2: return LISA_VBITCLR_W;
            case 0x3: return LISA_VBITCLR_D;
            case 0x4: return LISA_VBITSET_B;
            case 0x5: return LISA_VBITSET_H;
            case 0x6: return LISA_VBITSET_W;
            case 0x7: return LISA_VBITSET_D;
            }
            break;
        case 0x44:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VBITREV_B;
            case 0x1: return LISA_VBITREV_H;
            case 0x2: return LISA_VBITREV_W;
            case 0x3: return LISA_VBITREV_D;
            }
            break;
        case 0x45:
            switch ((insn >> 15) & 0x7) {
            case 0x4: return LISA_VPACKEV_B;
            case 0x5: return LISA_VPACKEV_H;
            case 0x6: return LISA_VPACKEV_W;
            case 0x7: return LISA_VPACKEV_D;
            }
            break;
        case 0x46:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VPACKOD_B;
            case 0x1: return LISA_VPACKOD_H;
            case 0x2: return LISA_VPACKOD_W;
            case 0x3: return LISA_VPACKOD_D;
            case 0x4: return LISA_VILVL_B;
            case 0x5: return LISA_VILVL_H;
            case 0x6: return LISA_VILVL_W;
            case 0x7: return LISA_VILVL_D;
            }
            break;
        case 0x47:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VILVH_B;
            case 0x1: return LISA_VILVH_H;
            case 0x2: return LISA_VILVH_W;
            case 0x3: return LISA_VILVH_D;
            case 0x4: return LISA_VPICKEV_B;
            case 0x5: return LISA_VPICKEV_H;
            case 0x6: return LISA_VPICKEV_W;
            case 0x7: return LISA_VPICKEV_D;
            }
            break;
        case 0x48:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VPICKOD_B;
            case 0x1: return LISA_VPICKOD_H;
            case 0x2: return LISA_VPICKOD_W;
            case 0x3: return LISA_VPICKOD_D;
            case 0x4: return LISA_VREPLVE_B;
            case 0x5: return LISA_VREPLVE_H;
            case 0x6: return LISA_VREPLVE_W;
            case 0x7: return LISA_VREPLVE_D;
            }
            break;
        case 0x49:
            switch ((insn >> 15) & 0x7) {
            case 0x4: return LISA_VAND_V;
            case 0x5: return LISA_VOR_V;
            case 0x6: return LISA_VXOR_V;
            case 0x7: return LISA_VNOR_V;
            }
            break;
        case 0x4a:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VANDN_V;
            case 0x1: return LISA_VORN_V;
            case 0x6: return LISA_VFRSTP_B;
            case 0x7: return LISA_VFRSTP_H;
            }
            break;
        case 0x4b:
            switch ((insn >> 15) & 0x7) {
            case 0x2: return LISA_VADD_Q;
            case 0x3: return LISA_VSUB_Q;
            case 0x4: return LISA_VSIGNCOV_B;
            case 0x5: return LISA_VSIGNCOV_H;
            case 0x6: return LISA_VSIGNCOV_W;
            case 0x7: return LISA_VSIGNCOV_D;
            }
            break;
        case 0x4c:
            switch ((insn >> 15) & 0x7) {
            case 0x1: return LISA_VFADD_S;
            case 0x2: return LISA_VFADD_D;
            case 0x5: return LISA_VFSUB_S;
            case 0x6: return LISA_VFSUB_D;
            }
            break;
        case 0x4e:
            switch ((insn >> 15) & 0x7) {
            case 0x1: return LISA_VFMUL_S;
            case 0x2: return LISA_VFMUL_D;
            case 0x5: return LISA_VFDIV_S;
            case 0x6: return LISA_VFDIV_D;
            }
            break;
        case 0x4f:
            switch ((insn >> 15) & 0x7) {
            case 0x1: return LISA_VFMAX_S;
            case 0x2: return LISA_VFMAX_D;
            case 0x5: return LISA_VFMIN_S;
            case 0x6: return LISA_VFMIN_D;
            }
            break;
        case 0x50:
            switch ((insn >> 15) & 0x7) {
            case 0x1: return LISA_VFMAXA_S;
            case 0x2: return LISA_VFMAXA_D;
            case 0x5: return LISA_VFMINA_S;
            case 0x6: return LISA_VFMINA_D;
            }
            break;
        case 0x51:
            switch ((insn >> 15) & 0x7) {
            case 0x1: return LISA_VFSCALEB_S;
            case 0x2: return LISA_VFSCALEB_D;
            case 0x4: return LISA_VFCVT_H_S;
            case 0x5: return LISA_VFCVT_S_D;
            }
            break;
        case 0x52:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VFFINT_S_L;
            case 0x3: return LISA_VFTINT_W_D;
            case 0x4: return LISA_VFTINTRM_W_D;
            case 0x5: return LISA_VFTINTRP_W_D;
            case 0x6: return LISA_VFTINTRZ_W_D;
            case 0x7: return LISA_VFTINTRNE_W_D;
            }
            break;
        case 0x5e:
            switch ((insn >> 15) & 0x7) {
            case 0x5: return LISA_VSHUF_H;
            case 0x6: return LISA_VSHUF_W;
            case 0x7: return LISA_VSHUF_D;
            }
            break;
        case 0xa0:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VSEQI_B;
            case 0x1: return LISA_VSEQI_H;
            case 0x2: return LISA_VSEQI_W;
            case 0x3: return LISA_VSEQI_D;
            case 0x4: return LISA_VSLEI_B;
            case 0x5: return LISA_VSLEI_H;
            case 0x6: return LISA_VSLEI_W;
            case 0x7: return LISA_VSLEI_D;
            }
            break;
        case 0xa1:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VSLEI_BU;
            case 0x1: return LISA_VSLEI_HU;
            case 0x2: return LISA_VSLEI_WU;
            case 0x3: return LISA_VSLEI_DU;
            case 0x4: return LISA_VSLTI_B;
            case 0x5: return LISA_VSLTI_H;
            case 0x6: return LISA_VSLTI_W;
            case 0x7: return LISA_VSLTI_D;
            }
            break;
        case 0xa2:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VSLTI_BU;
            case 0x1: return LISA_VSLTI_HU;
            case 0x2: return LISA_VSLTI_WU;
            case 0x3: return LISA_VSLTI_DU;
            case 0x4: return LISA_VADDI_BU;
            case 0x5: return LISA_VADDI_HU;
            case 0x6: return LISA_VADDI_WU;
            case 0x7: return LISA_VADDI_DU;
            }
            break;
        case 0xa3:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VSUBI_BU;
            case 0x1: return LISA_VSUBI_HU;
            case 0x2: return LISA_VSUBI_WU;
            case 0x3: return LISA_VSUBI_DU;
            case 0x4: return LISA_VBSLL_V;
            case 0x5: return LISA_VBSRL_V;
            }
            break;
        case 0xa4:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VMAXI_B;
            case 0x1: return LISA_VMAXI_H;
            case 0x2: return LISA_VMAXI_W;
            case 0x3: return LISA_VMAXI_D;
            case 0x4: return LISA_VMINI_B;
            case 0x5: return LISA_VMINI_H;
            case 0x6: return LISA_VMINI_W;
            case 0x7: return LISA_VMINI_D;
            }
            break;
        case 0xa5:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_VMAXI_BU;
            case 0x1: return LISA_VMAXI_HU;
            case 0x2: return LISA_VMAXI_WU;
            case 0x3: return LISA_VMAXI_DU;
            case 0x4: return LISA_VMINI_BU;
            case 0x5: return LISA_VMINI_HU;
            case 0x6: return LISA_VMINI_WU;
            case 0x7: return LISA_VMINI_DU;
            }
            break;
        case 0xa6:
            switch ((insn >> 15) & 0x7) {
            case 0x4: return LISA_VFRSTPI_B;
            case 0x5: return LISA_VFRSTPI_H;
            case 0x6: return LISA_VCLRSTRI_V;
            case 0x7: return LISA_VMEPATMSK_V;
            }
            break;
        case 0xa7:
            switch ((insn >> 10) & 0xff) {
            case 0x0: return LISA_VCLO_B;
            case 0x1: return LISA_VCLO_H;
            case 0x2: return LISA_VCLO_W;
            case 0x3: return LISA_VCLO_D;
            case 0x4: return LISA_VCLZ_B;
            case 0x5: return LISA_VCLZ_H;
            case 0x6: return LISA_VCLZ_W;
            case 0x7: return LISA_VCLZ_D;
            case 0x8: return LISA_VPCNT_B;
            case 0x9: return LISA_VPCNT_H;
            case 0xa: return LISA_VPCNT_W;
            case 0xb: return LISA_VPCNT_D;
            case 0xc: return LISA_VNEG_B;
            case 0xd: return LISA_VNEG_H;
            case 0xe: return LISA_VNEG_W;
            case 0xf: return LISA_VNEG_D;
            case 0x10: return LISA_VMSKLTZ_B;
            case 0x11: return LISA_VMSKLTZ_H;
            case 0x12: return LISA_VMSKLTZ_W;
            case 0x13: return LISA_VMSKLTZ_D;
            case 0x14: return LISA_VMSKGEZ_B;
            case 0x18: return LISA_VMSKNZ_B;
            case 0x1c: return LISA_VMSKCOPY_B;
            case 0x20: return LISA_VMSKFILL_B;
            case 0x24: return LISA_VFRSTM_B;
            case 0x25: return LISA_VFRSTM_H;
            case 0x26:
                switch ((insn >> 3) & 0x3) {
                case 0x0: return LISA_VSETEQZ_V;
                }
                break;
            case 0x27:
                switch ((insn >> 3) & 0x3) {
                case 0x0: return LISA_VSETNEZ_V;
                }
                break;
            case 0x28:
                switch ((insn >> 3) & 0x3) {
                case 0x0: return LISA_VSETANYEQZ_B;
                }
                break;
            case 0x29:
                switch ((insn >> 3) & 0x3) {
                case 0x0: return LISA_VSETANYEQZ_H;
                }
                break;
            case 0x2a:
                switch ((insn >> 3) & 0x3) {
                case 0x0: return LISA_VSETANYEQZ_W;
                }
                break;
            case 0x2b:
                switch ((insn >> 3) & 0x3) {
                case 0x0: return LISA_VSETANYEQZ_D;
                }
                break;
            case 0x2c:
                switch ((insn >> 3) & 0x3) {
                case 0x0: return LISA_VSETALLNEZ_B;
                }
                break;
            case 0x2d:
                switch ((insn >> 3) & 0x3) {
                case 0x0: return LISA_VSETALLNEZ_H;
                }
                break;
            case 0x2e:
                switch ((insn >> 3) & 0x3) {
                case 0x0: return LISA_VSETALLNEZ_W;
                }
                break;
            case 0x2f:
                switch ((insn >> 3) & 0x3) {
                case 0x0: return LISA_VSETALLNEZ_D;
                }
                break;
            case 0x31: return LISA_VFLOGB_S;
            case 0x32: return LISA_VFLOGB_D;
            case 0x35: return LISA_VFCLASS_S;
            case 0x36: return LISA_VFCLASS_D;
            case 0x39: return LISA_VFSQRT_S;
            case 0x3a: return LISA_VFSQRT_D;
            case 0x3d: return LISA_VFRECIP_S;
            case 0x3e: return LISA_VFRECIP_D;
            case 0x41: return LISA_VFRSQRT_S;
            case 0x42: return LISA_VFRSQRT_D;
            case 0x4d: return LISA_VFRINT_S;
            case 0x4e: return LISA_VFRINT_D;
            case 0x51: return LISA_VFRINTRM_S;
            case 0x52: return LISA_VFRINTRM_D;
            case 0x55: return LISA_VFRINTRP_S;
            case 0x56: return LISA_VFRINTRP_D;
            case 0x59: return LISA_VFRINTRZ_S;
            case 0x5a: return LISA_VFRINTRZ_D;
            case 0x5d: return LISA_VFRINTRNE_S;
            case 0x5e: return LISA_VFRINTRNE_D;
            case 0x61: return LISA_VEXTL_W_B;
            case 0x62: return LISA_VEXTL_D_B;
            case 0x65: return LISA_VEXTL_D_H;
            case 0x6b: return LISA_VEXTL_W_BU;
            case 0x6c: return LISA_VEXTL_D_BU;
            case 0x6f: return LISA_VEXTL_D_HU;
            case 0x74: return LISA_VHADD8_D_BU;
            case 0x75: return LISA_VHMINPOS_W_HU;
            case 0x76: return LISA_VHMINPOS_D_HU;
            case 0x77: return LISA_VHMINPOS_Q_HU;
            case 0x78: return LISA_VCLRTAIL_B;
            case 0x79: return LISA_VCLRTAIL_H;
            case 0x7a: return LISA_VFCVTL_S_H;
            case 0x7b: return LISA_VFCVTH_S_H;
            case 0x7c: return LISA_VFCVTL_D_S;
            case 0x7d: return LISA_VFCVTH_D_S;
            case 0x80: return LISA_VFFINT_S_W;
            case 0x81: return LISA_VFFINT_S_WU;
            case 0x82: return LISA_VFFINT_D_L;
            case 0x83: return LISA_VFFINT_D_LU;
            case 0x84: return LISA_VFFINTL_D_W;
            case 0x85: return LISA_VFFINTH_D_W;
            case 0x8c: return LISA_VFTINT_W_S;
            case 0x8d: return LISA_VFTINT_L_D;
            case 0x8e: return LISA_VFTINTRM_W_S;
            case 0x8f: return LISA_VFTINTRM_L_D;
            case 0x90: return LISA_VFTINTRP_W_S;
            case 0x91: return LISA_VFTINTRP_L_D;
            case 0x92: return LISA_VFTINTRZ_W_S;
            case 0x93: return LISA_VFTINTRZ_L_D;
            case 0x94: return LISA_VFTINTRNE_W_S;
            case 0x95: return LISA_VFTINTRNE_L_D;
            case 0x96: return LISA_VFTINT_WU_S;
            case 0x97: return LISA_VFTINT_LU_D;
            case 0x9c: return LISA_VFTINTRZ_WU_S;
            case 0x9d: return LISA_VFTINTRZ_LU_D;
            case 0xa0: return LISA_VFTINTL_L_S;
            case 0xa1: return LISA_VFTINTH_L_S;
            case 0xa2: return LISA_VFTINTRML_L_S;
            case 0xa3: return LISA_VFTINTRMH_L_S;
            case 0xa4: return LISA_VFTINTRPL_L_S;
            case 0xa5: return LISA_VFTINTRPH_L_S;
            case 0xa6: return LISA_VFTINTRZL_L_S;
            case 0xa7: return LISA_VFTINTRZH_L_S;
            case 0xa8: return LISA_VFTINTRNEL_L_S;
            case 0xa9: return LISA_VFTINTRNEH_L_S;
            case 0xb8: return LISA_VEXTH_H_B;
            case 0xb9: return LISA_VEXTH_W_H;
            case 0xba: return LISA_VEXTH_D_W;
            case 0xbb: return LISA_VEXTH_Q_D;
            case 0xbc: return LISA_VEXTH_HU_BU;
            case 0xbd: return LISA_VEXTH_WU_HU;
            case 0xbe: return LISA_VEXTH_DU_WU;
            case 0xbf: return LISA_VEXTH_QU_DU;
            case 0xc0: return LISA_VREPLGR2VR_B;
            case 0xc1: return LISA_VREPLGR2VR_H;
            case 0xc2: return LISA_VREPLGR2VR_W;
            case 0xc3: return LISA_VREPLGR2VR_D;
            }
            break;
        case 0xa8:
            switch ((insn >> 16) & 0x3) {
            case 0x0:
                switch ((insn >> 15) & 0x1) {
                case 0x0:
                    switch ((insn >> 14) & 0x1) {
                    case 0x0:
                        switch ((insn >> 13) & 0x1) {
                        case 0x1: return LISA_VROTRI_B;
                        }
                        break;
                    case 0x1: return LISA_VROTRI_H;
                    }
                    break;
                case 0x1: return LISA_VROTRI_W;
                }
                break;
            case 0x1: return LISA_VROTRI_D;
            }
            break;
        case 0xa9:
            switch ((insn >> 16) & 0x3) {
            case 0x0:
                switch ((insn >> 15) & 0x1) {
                case 0x0:
                    switch ((insn >> 14) & 0x1) {
                    case 0x0:
                        switch ((insn >> 13) & 0x1) {
                        case 0x1: return LISA_VSRLRI_B;
                        }
                        break;
                    case 0x1: return LISA_VSRLRI_H;
                    }
                    break;
                case 0x1: return LISA_VSRLRI_W;
                }
                break;
            case 0x1: return LISA_VSRLRI_D;
            }
            break;
        case 0xaa:
            switch ((insn >> 16) & 0x3) {
            case 0x0:
                switch ((insn >> 15) & 0x1) {
                case 0x0:
                    switch ((insn >> 14) & 0x1) {
                    case 0x0:
                        switch ((insn >> 13) & 0x1) {
                        case 0x1: return LISA_VSRARI_B;
                        }
                        break;
                    case 0x1: return LISA_VSRARI_H;
                    }
                    break;
                case 0x1: return LISA_VSRARI_W;
                }
                break;
            case 0x1: return LISA_VSRARI_D;
            }
            break;
        case 0xba:
            switch ((insn >> 14) & 0xf) {
            case 0xe: return LISA_VINSGR2VR_B;
            case 0xf:
                switch ((insn >> 13) & 0x1) {
                case 0x0: return LISA_VINSGR2VR_H;
                case 0x1:
                    switch ((insn >> 12) & 0x1) {
                    case 0x0: return LISA_VINSGR2VR_W;
                    case 0x1:
                        switch ((insn >> 11) & 0x1) {
                        case 0x0: return LISA_VINSGR2VR_D;
                        }
                        break;
                    }
                    break;
                }
                break;
            }
            break;
        case 0xbb:
            switch ((insn >> 14) & 0xf) {
            case 0xe: return LISA_VPICKVE2GR_B;
            case 0xf:
                switch ((insn >> 13) & 0x1) {
                case 0x0: return LISA_VPICKVE2GR_H;
                case 0x1:
                    switch ((insn >> 12) & 0x1) {
                    case 0x0: return LISA_VPICKVE2GR_W;
                    case 0x1:
                        switch ((insn >> 11) & 0x1) {
                        case 0x0: return LISA_VPICKVE2GR_D;
                        }
                        break;
                    }
                    break;
                }
                break;
            }
            break;
        case 0xbc:
            switch ((insn >> 14) & 0xf) {
            case 0xe: return LISA_VPICKVE2GR_BU;
            case 0xf:
                switch ((insn >> 13) & 0x1) {
                case 0x0: return LISA_VPICKVE2GR_HU;
                case 0x1:
                    switch ((insn >> 12) & 0x1) {
                    case 0x0: return LISA_VPICKVE2GR_WU;
                    case 0x1:
                        switch ((insn >> 11) & 0x1) {
                        case 0x0: return LISA_VPICKVE2GR_DU;
                        }
                        break;
                    }
                    break;
                }
                break;
            }
            break;
        case 0xbd:
            switch ((insn >> 14) & 0xf) {
            case 0xe: return LISA_VREPLVEI_B;
            case 0xf:
                switch ((insn >> 13) & 0x1) {
                case 0x0: return LISA_VREPLVEI_H;
                case 0x1:
                    switch ((insn >> 12) & 0x1) {
                    case 0x0: return LISA_VREPLVEI_W;
                    case 0x1:
                        switch ((insn >> 11) & 0x1) {
                        case 0x0: return LISA_VREPLVEI_D;
                        }
                        break;
                    }
                    break;
                }
                break;
            }
            break;
        case 0xbe:
            switch ((insn >> 14) & 0xf) {
            case 0xe: return LISA_VEXTRCOLI_B;
            case 0xf:
                switch ((insn >> 13) & 0x1) {
                case 0x0: return LISA_VEXTRCOLI_H;
                case 0x1:
                    switch ((insn >> 12) & 0x1) {
                    case 0x0: return LISA_VEXTRCOLI_W;
                    case 0x1:
                        switch ((insn >> 11) & 0x1) {
                        case 0x0: return LISA_VEXTRCOLI_D;
                        }
                        break;
                    }
                    break;
                }
                break;
            }
            break;
        case 0xc2:
            switch ((insn >> 15) & 0x7) {
            case 0x0:
                switch ((insn >> 14) & 0x1) {
                case 0x0:
                    switch ((insn >> 13) & 0x1) {
                    case 0x1: return LISA_VSLLWIL_H_B;
                    }
                    break;
                case 0x1: return LISA_VSLLWIL_W_H;
                }
                break;
            case 0x1: return LISA_VSLLWIL_D_W;
            case 0x2:
                switch ((insn >> 10) & 0x1f) {
                case 0x0: return LISA_VEXTL_Q_D;
                }
                break;
            }
            break;
        case 0xc3:
            switch ((insn >> 15) & 0x7) {
            case 0x0:
                switch ((insn >> 14) & 0x1) {
                case 0x0:
                    switch ((insn >> 13) & 0x1) {
                    case 0x1: return LISA_VSLLWIL_HU_BU;
                    }
                    break;
                case 0x1: return LISA_VSLLWIL_WU_HU;
                }
                break;
            case 0x1: return LISA_VSLLWIL_DU_WU;
            case 0x2:
                switch ((insn >> 10) & 0x1f) {
                case 0x0: return LISA_VEXTL_QU_DU;
                }
                break;
            }
            break;
        case 0xc4:
            switch ((insn >> 16) & 0x3) {
            case 0x0:
                switch ((insn >> 15) & 0x1) {
                case 0x0:
                    switch ((insn >> 14) & 0x1) {
                    case 0x0:
                        switch ((insn >> 13) & 0x1) {
                        case 0x1: return LISA_VBITCLRI_B;
                        }
                        break;
                    case 0x1: return LISA_VBITCLRI_H;
                    }
                    break;
                case 0x1: return LISA_VBITCLRI_W;
                }
                break;
            case 0x1: return LISA_VBITCLRI_D;
            }
            break;
        case 0xc5:
            switch ((insn >> 16) & 0x3) {
            case 0x0:
                switch ((insn >> 15) & 0x1) {
                case 0x0:
                    switch ((insn >> 14) & 0x1) {
                    case 0x0:
                        switch ((insn >> 13) & 0x1) {
                        case 0x1: return LISA_VBITSETI_B;
                        }
                        break;
                    case 0x1: return LISA_VBITSETI_H;
                    }
                    break;
                case 0x1: return LISA_VBITSETI_W;
                }
                break;
            case 0x1: return LISA_VBITSETI_D;
            }
            break;
        case 0xc6:
            switch ((insn >> 16) & 0x3) {
            case 0x0:
                switch ((insn >> 15) & 0x1) {
                case 0x0:
                    switch ((insn >> 14) & 0x1) {
                    case 0x0:
                        switch ((insn >> 13) & 0x1) {
                        case 0x1: return LISA_VBITREVI_B;
                        }
                        break;
                    case 0x1: return LISA_VBITREVI_H;
                    }
                    break;
                case 0x1: return LISA_VBITREVI_W;
                }
                break;
            case 0x1: return LISA_VBITREVI_D;
            }
            break;
        case 0xc7:
            switch ((insn >> 16) & 0x3) {
            case 0x0:
                switch ((insn >> 15) & 0x1) {
                case 0x0:
                    switch ((insn >> 14) & 0x1) {
                    case 0x0:
                        switch ((insn >> 13) & 0x1) {
                        case 0x1: return LISA_VBSTRC12I_B;
                        }
                        break;
                    case 0x1: return LISA_VBSTRC12I_H;
                    }
                    break;
                case 0x1: return LISA_VBSTRC12I_W;
                }
                break;
            case 0x1: return LISA_VBSTRC12I_D;
            }
            break;
        case 0xc8:
            switch ((insn >> 16) & 0x3) {
            case 0x0:
                switch ((insn >> 15) & 0x1) {
                case 0x0:
                    switch ((insn >> 14) & 0x1) {
                    case 0x0:
                        switch ((insn >> 13) & 0x1) {
                        case 0x1: return LISA_VBSTRC21I_B;
                        }
                        break;
                    case 0x1: return LISA_VBSTRC21I_H;
                    }
                    break;
                case 0x1: return LISA_VBSTRC21I_W;
                }
                break;
            case 0x1: return LISA_VBSTRC21I_D;
            }
            break;
        case 0xc9:
            switch ((insn >> 16) & 0x3) {
            case 0x0:
                switch ((insn >> 15) & 0x1) {
                case 0x0:
                    switch ((insn >> 14) & 0x1) {
                    case 0x0:
                        switch ((insn >> 13) & 0x1) {
                        case 0x1: return LISA_VSAT_B;
                        }
                        break;
                    case 0x1: return LISA_VSAT_H;
                    }
                    break;
                case 0x1: return LISA_VSAT_W;
                }
                break;
            case 0x1: return LISA_VSAT_D;
            }
            break;
        case 0xca:
            switch ((insn >> 16) & 0x3) {
            case 0x0:
                switch ((insn >> 15) & 0x1) {
                case 0x0:
                    switch ((insn >> 14) & 0x1) {
                    case 0x0:
                        switch ((insn >> 13) & 0x1) {
                        case 0x1: return LISA_VSAT_BU;
                        }
                        break;
                    case 0x1: return LISA_VSAT_HU;
                    }
                    break;
                case 0x1: return LISA_VSAT_WU;
                }
                break;
            case 0x1: return LISA_VSAT_DU;
            }
            break;
        case 0xcb:
            switch ((insn >> 16) & 0x3) {
            case 0x0:
                switch ((insn >> 15) & 0x1) {
                case 0x0:
                    switch ((insn >> 14) & 0x1) {
                    case 0x0:
                        switch ((insn >> 13) & 0x1) {
                        case 0x1: return LISA_VSLLI_B;
                        }
                        break;
                    case 0x1: return LISA_VSLLI_H;
                    }
                    break;
                case 0x1: return LISA_VSLLI_W;
                }
                break;
            case 0x1: return LISA_VSLLI_D;
            }
            break;
        case 0xcc:
            switch ((insn >> 16) & 0x3) {
            case 0x0:
                switch ((insn >> 15) & 0x1) {
                case 0x0:
                    switch ((insn >> 14) & 0x1) {
                    case 0x0:
                        switch ((insn >> 13) & 0x1) {
                        case 0x1: return LISA_VSRLI_B;
                        }
                        break;
                    case 0x1: return LISA_VSRLI_H;
                    }
                    break;
                case 0x1: return LISA_VSRLI_W;
                }
                break;
            case 0x1: return LISA_VSRLI_D;
            }
            break;
        case 0xcd:
            switch ((insn >> 16) & 0x3) {
            case 0x0:
                switch ((insn >> 15) & 0x1) {
                case 0x0:
                    switch ((insn >> 14) & 0x1) {
                    case 0x0:
                        switch ((insn >> 13) & 0x1) {
                        case 0x1: return LISA_VSRAI_B;
                        }
                        break;
                    case 0x1: return LISA_VSRAI_H;
                    }
                    break;
                case 0x1: return LISA_VSRAI_W;
                }
                break;
            case 0x1: return LISA_VSRAI_D;
            }
            break;
        case 0xce:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_VSRLRNENI_B_H;
                        }
                        break;
                    case 0x1: return LISA_VSRLRNENI_H_W;
                    }
                    break;
                case 0x1: return LISA_VSRLRNENI_W_D;
                }
                break;
            case 0x1: return LISA_VSRLRNENI_D_Q;
            }
            break;
        case 0xcf:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_VSRARNENI_B_H;
                        }
                        break;
                    case 0x1: return LISA_VSRARNENI_H_W;
                    }
                    break;
                case 0x1: return LISA_VSRARNENI_W_D;
                }
                break;
            case 0x1: return LISA_VSRARNENI_D_Q;
            }
            break;
        case 0xd0:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_VSRLNI_B_H;
                        }
                        break;
                    case 0x1: return LISA_VSRLNI_H_W;
                    }
                    break;
                case 0x1: return LISA_VSRLNI_W_D;
                }
                break;
            case 0x1: return LISA_VSRLNI_D_Q;
            }
            break;
        case 0xd1:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_VSRLRNI_B_H;
                        }
                        break;
                    case 0x1: return LISA_VSRLRNI_H_W;
                    }
                    break;
                case 0x1: return LISA_VSRLRNI_W_D;
                }
                break;
            case 0x1: return LISA_VSRLRNI_D_Q;
            }
            break;
        case 0xd2:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_VSSRLNI_B_H;
                        }
                        break;
                    case 0x1: return LISA_VSSRLNI_H_W;
                    }
                    break;
                case 0x1: return LISA_VSSRLNI_W_D;
                }
                break;
            case 0x1: return LISA_VSSRLNI_D_Q;
            }
            break;
        case 0xd3:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_VSSRLNI_BU_H;
                        }
                        break;
                    case 0x1: return LISA_VSSRLNI_HU_W;
                    }
                    break;
                case 0x1: return LISA_VSSRLNI_WU_D;
                }
                break;
            case 0x1: return LISA_VSSRLNI_DU_Q;
            }
            break;
        case 0xd4:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_VSSRLRNI_B_H;
                        }
                        break;
                    case 0x1: return LISA_VSSRLRNI_H_W;
                    }
                    break;
                case 0x1: return LISA_VSSRLRNI_W_D;
                }
                break;
            case 0x1: return LISA_VSSRLRNI_D_Q;
            }
            break;
        case 0xd5:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_VSSRLRNI_BU_H;
                        }
                        break;
                    case 0x1: return LISA_VSSRLRNI_HU_W;
                    }
                    break;
                case 0x1: return LISA_VSSRLRNI_WU_D;
                }
                break;
            case 0x1: return LISA_VSSRLRNI_DU_Q;
            }
            break;
        case 0xd6:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_VSRANI_B_H;
                        }
                        break;
                    case 0x1: return LISA_VSRANI_H_W;
                    }
                    break;
                case 0x1: return LISA_VSRANI_W_D;
                }
                break;
            case 0x1: return LISA_VSRANI_D_Q;
            }
            break;
        case 0xd7:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_VSRARNI_B_H;
                        }
                        break;
                    case 0x1: return LISA_VSRARNI_H_W;
                    }
                    break;
                case 0x1: return LISA_VSRARNI_W_D;
                }
                break;
            case 0x1: return LISA_VSRARNI_D_Q;
            }
            break;
        case 0xd8:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_VSSRANI_B_H;
                        }
                        break;
                    case 0x1: return LISA_VSSRANI_H_W;
                    }
                    break;
                case 0x1: return LISA_VSSRANI_W_D;
                }
                break;
            case 0x1: return LISA_VSSRANI_D_Q;
            }
            break;
        case 0xd9:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_VSSRANI_BU_H;
                        }
                        break;
                    case 0x1: return LISA_VSSRANI_HU_W;
                    }
                    break;
                case 0x1: return LISA_VSSRANI_WU_D;
                }
                break;
            case 0x1: return LISA_VSSRANI_DU_Q;
            }
            break;
        case 0xda:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_VSSRARNI_B_H;
                        }
                        break;
                    case 0x1: return LISA_VSSRARNI_H_W;
                    }
                    break;
                case 0x1: return LISA_VSSRARNI_W_D;
                }
                break;
            case 0x1: return LISA_VSSRARNI_D_Q;
            }
            break;
        case 0xdb:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_VSSRARNI_BU_H;
                        }
                        break;
                    case 0x1: return LISA_VSSRARNI_HU_W;
                    }
                    break;
                case 0x1: return LISA_VSSRARNI_WU_D;
                }
                break;
            case 0x1: return LISA_VSSRARNI_DU_Q;
            }
            break;
        case 0xdc:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_VSSRLRNENI_B_H;
                        }
                        break;
                    case 0x1: return LISA_VSSRLRNENI_H_W;
                    }
                    break;
                case 0x1: return LISA_VSSRLRNENI_W_D;
                }
                break;
            case 0x1: return LISA_VSSRLRNENI_D_Q;
            }
            break;
        case 0xdd:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_VSSRLRNENI_BU_H;
                        }
                        break;
                    case 0x1: return LISA_VSSRLRNENI_HU_W;
                    }
                    break;
                case 0x1: return LISA_VSSRLRNENI_WU_D;
                }
                break;
            case 0x1: return LISA_VSSRLRNENI_DU_Q;
            }
            break;
        case 0xde:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_VSSRARNENI_B_H;
                        }
                        break;
                    case 0x1: return LISA_VSSRARNENI_H_W;
                    }
                    break;
                case 0x1: return LISA_VSSRARNENI_W_D;
                }
                break;
            case 0x1: return LISA_VSSRARNENI_D_Q;
            }
            break;
        case 0xdf:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_VSSRARNENI_BU_H;
                        }
                        break;
                    case 0x1: return LISA_VSSRARNENI_HU_W;
                    }
                    break;
                case 0x1: return LISA_VSSRARNENI_WU_D;
                }
                break;
            case 0x1: return LISA_VSSRARNENI_DU_Q;
            }
            break;
        case 0xe0: return LISA_VEXTRINS_D;
        case 0xe1: return LISA_VEXTRINS_W;
        case 0xe2: return LISA_VEXTRINS_H;
        case 0xe3: return LISA_VEXTRINS_B;
        case 0xe4: return LISA_VSHUF4I_B;
        case 0xe5: return LISA_VSHUF4I_H;
        case 0xe6: return LISA_VSHUF4I_W;
        case 0xe7: return LISA_VSHUF4I_D;
        case 0xe8: return LISA_VSHUFI1_B;
        case 0xe9: return LISA_VSHUFI2_B;
        case 0xea: return LISA_VSHUFI3_B;
        case 0xeb: return LISA_VSHUFI4_B;
        case 0xec: return LISA_VSHUFI1_H;
        case 0xed: return LISA_VSHUFI2_H;
        case 0xee: return LISA_VSELI_H;
        case 0xef: return LISA_VSELI_W;
        case 0xf0: return LISA_VSELI_D;
        case 0xf1: return LISA_VBITSELI_B;
        case 0xf2: return LISA_VBITMVZI_B;
        case 0xf3: return LISA_VBITMVNZI_B;
        case 0xf4: return LISA_VANDI_B;
        case 0xf5: return LISA_VORI_B;
        case 0xf6: return LISA_VXORI_B;
        case 0xf7: return LISA_VNORI_B;
        case 0xf8: return LISA_VLDI;
        case 0xf9: return LISA_VPERMI_W;
        }
        break;
    case 0x1d:
        switch ((insn >> 18) & 0xff) {
        case 0x0:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVSEQ_B;
            case 0x1: return LISA_XVSEQ_H;
            case 0x2: return LISA_XVSEQ_W;
            case 0x3: return LISA_XVSEQ_D;
            case 0x4: return LISA_XVSLE_B;
            case 0x5: return LISA_XVSLE_H;
            case 0x6: return LISA_XVSLE_W;
            case 0x7: return LISA_XVSLE_D;
            }
            break;
        case 0x1:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVSLE_BU;
            case 0x1: return LISA_XVSLE_HU;
            case 0x2: return LISA_XVSLE_WU;
            case 0x3: return LISA_XVSLE_DU;
            case 0x4: return LISA_XVSLT_B;
            case 0x5: return LISA_XVSLT_H;
            case 0x6: return LISA_XVSLT_W;
            case 0x7: return LISA_XVSLT_D;
            }
            break;
        case 0x2:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVSLT_BU;
            case 0x1: return LISA_XVSLT_HU;
            case 0x2: return LISA_XVSLT_WU;
            case 0x3: return LISA_XVSLT_DU;
            case 0x4: return LISA_XVADD_B;
            case 0x5: return LISA_XVADD_H;
            case 0x6: return LISA_XVADD_W;
            case 0x7: return LISA_XVADD_D;
            }
            break;
        case 0x3:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVSUB_B;
            case 0x1: return LISA_XVSUB_H;
            case 0x2: return LISA_XVSUB_W;
            case 0x3: return LISA_XVSUB_D;
            }
            break;
        case 0x7:
            switch ((insn >> 15) & 0x7) {
            case 0x4: return LISA_XVADDWEV_H_B;
            case 0x5: return LISA_XVADDWEV_W_H;
            case 0x6: return LISA_XVADDWEV_D_W;
            case 0x7: return LISA_XVADDWEV_Q_D;
            }
            break;
        case 0x8:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVSUBWEV_H_B;
            case 0x1: return LISA_XVSUBWEV_W_H;
            case 0x2: return LISA_XVSUBWEV_D_W;
            case 0x3: return LISA_XVSUBWEV_Q_D;
            case 0x4: return LISA_XVADDWOD_H_B;
            case 0x5: return LISA_XVADDWOD_W_H;
            case 0x6: return LISA_XVADDWOD_D_W;
            case 0x7: return LISA_XVADDWOD_Q_D;
            }
            break;
        case 0x9:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVSUBWOD_H_B;
            case 0x1: return LISA_XVSUBWOD_W_H;
            case 0x2: return LISA_XVSUBWOD_D_W;
            case 0x3: return LISA_XVSUBWOD_Q_D;
            }
            break;
        case 0xb:
            switch ((insn >> 15) & 0x7) {
            case 0x4: return LISA_XVADDWEV_H_BU;
            case 0x5: return LISA_XVADDWEV_W_HU;
            case 0x6: return LISA_XVADDWEV_D_WU;
            case 0x7: return LISA_XVADDWEV_Q_DU;
            }
            break;
        case 0xc:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVSUBWEV_H_BU;
            case 0x1: return LISA_XVSUBWEV_W_HU;
            case 0x2: return LISA_XVSUBWEV_D_WU;
            case 0x3: return LISA_XVSUBWEV_Q_DU;
            case 0x4: return LISA_XVADDWOD_H_BU;
            case 0x5: return LISA_XVADDWOD_W_HU;
            case 0x6: return LISA_XVADDWOD_D_WU;
            case 0x7: return LISA_XVADDWOD_Q_DU;
            }
            break;
        case 0xd:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVSUBWOD_H_BU;
            case 0x1: return LISA_XVSUBWOD_W_HU;
            case 0x2: return LISA_XVSUBWOD_D_WU;
            case 0x3: return LISA_XVSUBWOD_Q_DU;
            }
            break;
        case 0xf:
            switch ((insn >> 15) & 0x7) {
            case 0x4: return LISA_XVADDWEV_H_BU_B;
            case 0x5: return LISA_XVADDWEV_W_HU_H;
            case 0x6: return LISA_XVADDWEV_D_WU_W;
            case 0x7: return LISA_XVADDWEV_Q_DU_D;
            }
            break;
        case 0x10:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVADDWOD_H_BU_B;
            case 0x1: return LISA_XVADDWOD_W_HU_H;
            case 0x2: return LISA_XVADDWOD_D_WU_W;
            case 0x3: return LISA_XVADDWOD_Q_DU_D;
            }
            break;
        case 0x11:
            switch ((insn >> 15) & 0x7) {
            case 0x4: return LISA_XVSADD_B;
            case 0x5: return LISA_XVSADD_H;
            case 0x6: return LISA_XVSADD_W;
            case 0x7: return LISA_XVSADD_D;
            }
            break;
        case 0x12:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVSSUB_B;
            case 0x1: return LISA_XVSSUB_H;
            case 0x2: return LISA_XVSSUB_W;
            case 0x3: return LISA_XVSSUB_D;
            case 0x4: return LISA_XVSADD_BU;
            case 0x5: return LISA_XVSADD_HU;
            case 0x6: return LISA_XVSADD_WU;
            case 0x7: return LISA_XVSADD_DU;
            }
            break;
        case 0x13:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVSSUB_BU;
            case 0x1: return LISA_XVSSUB_HU;
            case 0x2: return LISA_XVSSUB_WU;
            case 0x3: return LISA_XVSSUB_DU;
            }
            break;
        case 0x15:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVHADDW_H_B;
            case 0x1: return LISA_XVHADDW_W_H;
            case 0x2: return LISA_XVHADDW_D_W;
            case 0x3: return LISA_XVHADDW_Q_D;
            case 0x4: return LISA_XVHSUBW_H_B;
            case 0x5: return LISA_XVHSUBW_W_H;
            case 0x6: return LISA_XVHSUBW_D_W;
            case 0x7: return LISA_XVHSUBW_Q_D;
            }
            break;
        case 0x16:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVHADDW_HU_BU;
            case 0x1: return LISA_XVHADDW_WU_HU;
            case 0x2: return LISA_XVHADDW_DU_WU;
            case 0x3: return LISA_XVHADDW_QU_DU;
            case 0x4: return LISA_XVHSUBW_HU_BU;
            case 0x5: return LISA_XVHSUBW_WU_HU;
            case 0x6: return LISA_XVHSUBW_DU_WU;
            case 0x7: return LISA_XVHSUBW_QU_DU;
            }
            break;
        case 0x17:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVADDA_B;
            case 0x1: return LISA_XVADDA_H;
            case 0x2: return LISA_XVADDA_W;
            case 0x3: return LISA_XVADDA_D;
            }
            break;
        case 0x18:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVABSD_B;
            case 0x1: return LISA_XVABSD_H;
            case 0x2: return LISA_XVABSD_W;
            case 0x3: return LISA_XVABSD_D;
            case 0x4: return LISA_XVABSD_BU;
            case 0x5: return LISA_XVABSD_HU;
            case 0x6: return LISA_XVABSD_WU;
            case 0x7: return LISA_XVABSD_DU;
            }
            break;
        case 0x19:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVAVG_B;
            case 0x1: return LISA_XVAVG_H;
            case 0x2: return LISA_XVAVG_W;
            case 0x3: return LISA_XVAVG_D;
            case 0x4: return LISA_XVAVG_BU;
            case 0x5: return LISA_XVAVG_HU;
            case 0x6: return LISA_XVAVG_WU;
            case 0x7: return LISA_XVAVG_DU;
            }
            break;
        case 0x1a:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVAVGR_B;
            case 0x1: return LISA_XVAVGR_H;
            case 0x2: return LISA_XVAVGR_W;
            case 0x3: return LISA_XVAVGR_D;
            case 0x4: return LISA_XVAVGR_BU;
            case 0x5: return LISA_XVAVGR_HU;
            case 0x6: return LISA_XVAVGR_WU;
            case 0x7: return LISA_XVAVGR_DU;
            }
            break;
        case 0x1c:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVMAX_B;
            case 0x1: return LISA_XVMAX_H;
            case 0x2: return LISA_XVMAX_W;
            case 0x3: return LISA_XVMAX_D;
            case 0x4: return LISA_XVMIN_B;
            case 0x5: return LISA_XVMIN_H;
            case 0x6: return LISA_XVMIN_W;
            case 0x7: return LISA_XVMIN_D;
            }
            break;
        case 0x1d:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVMAX_BU;
            case 0x1: return LISA_XVMAX_HU;
            case 0x2: return LISA_XVMAX_WU;
            case 0x3: return LISA_XVMAX_DU;
            case 0x4: return LISA_XVMIN_BU;
            case 0x5: return LISA_XVMIN_HU;
            case 0x6: return LISA_XVMIN_WU;
            case 0x7: return LISA_XVMIN_DU;
            }
            break;
        case 0x21:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVMUL_B;
            case 0x1: return LISA_XVMUL_H;
            case 0x2: return LISA_XVMUL_W;
            case 0x3: return LISA_XVMUL_D;
            case 0x4: return LISA_XVMUH_B;
            case 0x5: return LISA_XVMUH_H;
            case 0x6: return LISA_XVMUH_W;
            case 0x7: return LISA_XVMUH_D;
            }
            break;
        case 0x22:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVMUH_BU;
            case 0x1: return LISA_XVMUH_HU;
            case 0x2: return LISA_XVMUH_WU;
            case 0x3: return LISA_XVMUH_DU;
            }
            break;
        case 0x24:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVMULWEV_H_B;
            case 0x1: return LISA_XVMULWEV_W_H;
            case 0x2: return LISA_XVMULWEV_D_W;
            case 0x3: return LISA_XVMULWEV_Q_D;
            case 0x4: return LISA_XVMULWOD_H_B;
            case 0x5: return LISA_XVMULWOD_W_H;
            case 0x6: return LISA_XVMULWOD_D_W;
            case 0x7: return LISA_XVMULWOD_Q_D;
            }
            break;
        case 0x26:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVMULWEV_H_BU;
            case 0x1: return LISA_XVMULWEV_W_HU;
            case 0x2: return LISA_XVMULWEV_D_WU;
            case 0x3: return LISA_XVMULWEV_Q_DU;
            case 0x4: return LISA_XVMULWOD_H_BU;
            case 0x5: return LISA_XVMULWOD_W_HU;
            case 0x6: return LISA_XVMULWOD_D_WU;
            case 0x7: return LISA_XVMULWOD_Q_DU;
            }
            break;
        case 0x2a:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVMADD_B;
            case 0x1: return LISA_XVMADD_H;
            case 0x2: return LISA_XVMADD_W;
            case 0x3: return LISA_XVMADD_D;
            case 0x4: return LISA_XVMSUB_B;
            case 0x5: return LISA_XVMSUB_H;
            case 0x6: return LISA_XVMSUB_W;
            case 0x7: return LISA_XVMSUB_D;
            }
            break;
        case 0x2b:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVMADDWEV_H_B;
            case 0x1: return LISA_XVMADDWEV_W_H;
            case 0x2: return LISA_XVMADDWEV_D_W;
            case 0x3: return LISA_XVMADDWEV_Q_D;
            case 0x4: return LISA_XVMADDWOD_H_B;
            case 0x5: return LISA_XVMADDWOD_W_H;
            case 0x6: return LISA_XVMADDWOD_D_W;
            case 0x7: return LISA_XVMADDWOD_Q_D;
            }
            break;
        case 0x2d:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVMADDWEV_H_BU;
            case 0x1: return LISA_XVMADDWEV_W_HU;
            case 0x2: return LISA_XVMADDWEV_D_WU;
            case 0x3: return LISA_XVMADDWEV_Q_DU;
            case 0x4: return LISA_XVMADDWOD_H_BU;
            case 0x5: return LISA_XVMADDWOD_W_HU;
            case 0x6: return LISA_XVMADDWOD_D_WU;
            case 0x7: return LISA_XVMADDWOD_Q_DU;
            }
            break;
        case 0x2f:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVMADDWEV_H_BU_B;
            case 0x1: return LISA_XVMADDWEV_W_HU_H;
            case 0x2: return LISA_XVMADDWEV_D_WU_W;
            case 0x3: return LISA_XVMADDWEV_Q_DU_D;
            case 0x4: return LISA_XVMADDWOD_H_BU_B;
            case 0x5: return LISA_XVMADDWOD_W_HU_H;
            case 0x6: return LISA_XVMADDWOD_D_WU_W;
            case 0x7: return LISA_XVMADDWOD_Q_DU_D;
            }
            break;
        case 0x38:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVDIV_B;
            case 0x1: return LISA_XVDIV_H;
            case 0x2: return LISA_XVDIV_W;
            case 0x3: return LISA_XVDIV_D;
            case 0x4: return LISA_XVMOD_B;
            case 0x5: return LISA_XVMOD_H;
            case 0x6: return LISA_XVMOD_W;
            case 0x7: return LISA_XVMOD_D;
            }
            break;
        case 0x39:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVDIV_BU;
            case 0x1: return LISA_XVDIV_HU;
            case 0x2: return LISA_XVDIV_WU;
            case 0x3: return LISA_XVDIV_DU;
            case 0x4: return LISA_XVMOD_BU;
            case 0x5: return LISA_XVMOD_HU;
            case 0x6: return LISA_XVMOD_WU;
            case 0x7: return LISA_XVMOD_DU;
            }
            break;
        case 0x3a:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVSLL_B;
            case 0x1: return LISA_XVSLL_H;
            case 0x2: return LISA_XVSLL_W;
            case 0x3: return LISA_XVSLL_D;
            case 0x4: return LISA_XVSRL_B;
            case 0x5: return LISA_XVSRL_H;
            case 0x6: return LISA_XVSRL_W;
            case 0x7: return LISA_XVSRL_D;
            }
            break;
        case 0x3b:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVSRA_B;
            case 0x1: return LISA_XVSRA_H;
            case 0x2: return LISA_XVSRA_W;
            case 0x3: return LISA_XVSRA_D;
            case 0x4: return LISA_XVROTR_B;
            case 0x5: return LISA_XVROTR_H;
            case 0x6: return LISA_XVROTR_W;
            case 0x7: return LISA_XVROTR_D;
            }
            break;
        case 0x3c:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVSRLR_B;
            case 0x1: return LISA_XVSRLR_H;
            case 0x2: return LISA_XVSRLR_W;
            case 0x3: return LISA_XVSRLR_D;
            case 0x4: return LISA_XVSRAR_B;
            case 0x5: return LISA_XVSRAR_H;
            case 0x6: return LISA_XVSRAR_W;
            case 0x7: return LISA_XVSRAR_D;
            }
            break;
        case 0x3d:
            switch ((insn >> 15) & 0x7) {
            case 0x1: return LISA_XVSRLN_B_H;
            case 0x2: return LISA_XVSRLN_H_W;
            case 0x3: return LISA_XVSRLN_W_D;
            case 0x5: return LISA_XVSRAN_B_H;
            case 0x6: return LISA_XVSRAN_H_W;
            case 0x7: return LISA_XVSRAN_W_D;
            }
            break;
        case 0x3e:
            switch ((insn >> 15) & 0x7) {
            case 0x1: return LISA_XVSRLRN_B_H;
            case 0x2: return LISA_XVSRLRN_H_W;
            case 0x3: return LISA_XVSRLRN_W_D;
            case 0x5: return LISA_XVSRARN_B_H;
            case 0x6: return LISA_XVSRARN_H_W;
            case 0x7: return LISA_XVSRARN_W_D;
            }
            break;
        case 0x3f:
            switch ((insn >> 15) & 0x7) {
            case 0x1: return LISA_XVSSRLN_B_H;
            case 0x2: return LISA_XVSSRLN_H_W;
            case 0x3: return LISA_XVSSRLN_W_D;
            case 0x5: return LISA_XVSSRAN_B_H;
            case 0x6: return LISA_XVSSRAN_H_W;
            case 0x7: return LISA_XVSSRAN_W_D;
            }
            break;
        case 0x40:
            switch ((insn >> 15) & 0x7) {
            case 0x1: return LISA_XVSSRLRN_B_H;
            case 0x2: return LISA_XVSSRLRN_H_W;
            case 0x3: return LISA_XVSSRLRN_W_D;
            case 0x5: return LISA_XVSSRARN_B_H;
            case 0x6: return LISA_XVSSRARN_H_W;
            case 0x7: return LISA_XVSSRARN_W_D;
            }
            break;
        case 0x41:
            switch ((insn >> 15) & 0x7) {
            case 0x1: return LISA_XVSSRLN_BU_H;
            case 0x2: return LISA_XVSSRLN_HU_W;
            case 0x3: return LISA_XVSSRLN_WU_D;
            case 0x5: return LISA_XVSSRAN_BU_H;
            case 0x6: return LISA_XVSSRAN_HU_W;
            case 0x7: return LISA_XVSSRAN_WU_D;
            }
            break;
        case 0x42:
            switch ((insn >> 15) & 0x7) {
            case 0x1: return LISA_XVSSRLRN_BU_H;
            case 0x2: return LISA_XVSSRLRN_HU_W;
            case 0x3: return LISA_XVSSRLRN_WU_D;
            case 0x5: return LISA_XVSSRARN_BU_H;
            case 0x6: return LISA_XVSSRARN_HU_W;
            case 0x7: return LISA_XVSSRARN_WU_D;
            }
            break;
        case 0x43:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVBITCLR_B;
            case 0x1: return LISA_XVBITCLR_H;
            case 0x2: return LISA_XVBITCLR_W;
            case 0x3: return LISA_XVBITCLR_D;
            case 0x4: return LISA_XVBITSET_B;
            case 0x5: return LISA_XVBITSET_H;
            case 0x6: return LISA_XVBITSET_W;
            case 0x7: return LISA_XVBITSET_D;
            }
            break;
        case 0x44:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVBITREV_B;
            case 0x1: return LISA_XVBITREV_H;
            case 0x2: return LISA_XVBITREV_W;
            case 0x3: return LISA_XVBITREV_D;
            }
            break;
        case 0x45:
            switch ((insn >> 15) & 0x7) {
            case 0x4: return LISA_XVPACKEV_B;
            case 0x5: return LISA_XVPACKEV_H;
            case 0x6: return LISA_XVPACKEV_W;
            case 0x7: return LISA_XVPACKEV_D;
            }
            break;
        case 0x46:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVPACKOD_B;
            case 0x1: return LISA_XVPACKOD_H;
            case 0x2: return LISA_XVPACKOD_W;
            case 0x3: return LISA_XVPACKOD_D;
            case 0x4: return LISA_XVILVL_B;
            case 0x5: return LISA_XVILVL_H;
            case 0x6: return LISA_XVILVL_W;
            case 0x7: return LISA_XVILVL_D;
            }
            break;
        case 0x47:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVILVH_B;
            case 0x1: return LISA_XVILVH_H;
            case 0x2: return LISA_XVILVH_W;
            case 0x3: return LISA_XVILVH_D;
            case 0x4: return LISA_XVPICKEV_B;
            case 0x5: return LISA_XVPICKEV_H;
            case 0x6: return LISA_XVPICKEV_W;
            case 0x7: return LISA_XVPICKEV_D;
            }
            break;
        case 0x48:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVPICKOD_B;
            case 0x1: return LISA_XVPICKOD_H;
            case 0x2: return LISA_XVPICKOD_W;
            case 0x3: return LISA_XVPICKOD_D;
            case 0x4: return LISA_XVREPLVE_B;
            case 0x5: return LISA_XVREPLVE_H;
            case 0x6: return LISA_XVREPLVE_W;
            case 0x7: return LISA_XVREPLVE_D;
            }
            break;
        case 0x49:
            switch ((insn >> 15) & 0x7) {
            case 0x4: return LISA_XVAND_V;
            case 0x5: return LISA_XVOR_V;
            case 0x6: return LISA_XVXOR_V;
            case 0x7: return LISA_XVNOR_V;
            }
            break;
        case 0x4a:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVANDN_V;
            case 0x1: return LISA_XVORN_V;
            case 0x6: return LISA_XVFRSTP_B;
            case 0x7: return LISA_XVFRSTP_H;
            }
            break;
        case 0x4b:
            switch ((insn >> 15) & 0x7) {
            case 0x2: return LISA_XVADD_Q;
            case 0x3: return LISA_XVSUB_Q;
            case 0x4: return LISA_XVSIGNCOV_B;
            case 0x5: return LISA_XVSIGNCOV_H;
            case 0x6: return LISA_XVSIGNCOV_W;
            case 0x7: return LISA_XVSIGNCOV_D;
            }
            break;
        case 0x4c:
            switch ((insn >> 15) & 0x7) {
            case 0x1: return LISA_XVFADD_S;
            case 0x2: return LISA_XVFADD_D;
            case 0x5: return LISA_XVFSUB_S;
            case 0x6: return LISA_XVFSUB_D;
            }
            break;
        case 0x4d:
            switch ((insn >> 15) & 0x7) {
            case 0x1: return LISA_XVFADDSUB_S;
            case 0x2: return LISA_XVFADDSUB_D;
            case 0x5: return LISA_XVFSUBADD_S;
            case 0x6: return LISA_XVFSUBADD_D;
            }
            break;
        case 0x4e:
            switch ((insn >> 15) & 0x7) {
            case 0x1: return LISA_XVFMUL_S;
            case 0x2: return LISA_XVFMUL_D;
            case 0x5: return LISA_XVFDIV_S;
            case 0x6: return LISA_XVFDIV_D;
            }
            break;
        case 0x4f:
            switch ((insn >> 15) & 0x7) {
            case 0x1: return LISA_XVFMAX_S;
            case 0x2: return LISA_XVFMAX_D;
            case 0x5: return LISA_XVFMIN_S;
            case 0x6: return LISA_XVFMIN_D;
            }
            break;
        case 0x50:
            switch ((insn >> 15) & 0x7) {
            case 0x1: return LISA_XVFMAXA_S;
            case 0x2: return LISA_XVFMAXA_D;
            case 0x5: return LISA_XVFMINA_S;
            case 0x6: return LISA_XVFMINA_D;
            }
            break;
        case 0x51:
            switch ((insn >> 15) & 0x7) {
            case 0x1: return LISA_XVFSCALEB_S;
            case 0x2: return LISA_XVFSCALEB_D;
            case 0x4: return LISA_XVFCVT_H_S;
            case 0x5: return LISA_XVFCVT_S_D;
            }
            break;
        case 0x52:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVFFINT_S_L;
            case 0x3: return LISA_XVFTINT_W_D;
            case 0x4: return LISA_XVFTINTRM_W_D;
            case 0x5: return LISA_XVFTINTRP_W_D;
            case 0x6: return LISA_XVFTINTRZ_W_D;
            case 0x7: return LISA_XVFTINTRNE_W_D;
            }
            break;
        case 0x53:
            switch ((insn >> 15) & 0x7) {
            case 0x5: return LISA_XVHADD4_H_BU;
            case 0x6: return LISA_XVSHUF4_W;
            case 0x7: return LISA_XVSHUF2_D;
            }
            break;
        case 0x58:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVPMUL_W;
            case 0x1: return LISA_XVPMUL_D;
            case 0x2: return LISA_XVPMUH_W;
            case 0x3: return LISA_XVPMUH_D;
            case 0x4: return LISA_XVPMULACC_W;
            case 0x5: return LISA_XVPMULACC_D;
            case 0x6: return LISA_XVPMUHACC_W;
            case 0x7: return LISA_XVPMUHACC_D;
            }
            break;
        case 0x59:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVPMULWL_H_B;
            case 0x1: return LISA_XVPMULWL_W_H;
            case 0x2: return LISA_XVPMULWL_D_W;
            case 0x3: return LISA_XVPMULWL_Q_D;
            case 0x4: return LISA_XVPMULWH_H_B;
            case 0x5: return LISA_XVPMULWH_W_H;
            case 0x6: return LISA_XVPMULWH_D_W;
            case 0x7: return LISA_XVPMULWH_Q_D;
            }
            break;
        case 0x5a:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVPMADDWL_H_B;
            case 0x1: return LISA_XVPMADDWL_W_H;
            case 0x2: return LISA_XVPMADDWL_D_W;
            case 0x3: return LISA_XVPMADDWL_Q_D;
            case 0x4: return LISA_XVPMADDWH_H_B;
            case 0x5: return LISA_XVPMADDWH_W_H;
            case 0x6: return LISA_XVPMADDWH_D_W;
            case 0x7: return LISA_XVPMADDWH_Q_D;
            }
            break;
        case 0x5b:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVPDP2_Q_D;
            case 0x1: return LISA_XVPDP2ADD_Q_D;
            }
            break;
        case 0x5c:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVCDP4_RE_D_H;
            case 0x1: return LISA_XVCDP4_IM_D_H;
            case 0x2: return LISA_XVCDP4ADD_RE_D_H;
            case 0x3: return LISA_XVCDP4ADD_IM_D_H;
            case 0x4: return LISA_XVCDP2_RE_Q_W;
            case 0x5: return LISA_XVCDP2_IM_Q_W;
            case 0x6: return LISA_XVCDP2ADD_RE_Q_W;
            case 0x7: return LISA_XVCDP2ADD_IM_Q_W;
            }
            break;
        case 0x5e:
            switch ((insn >> 15) & 0x7) {
            case 0x2: return LISA_XVSIGNSEL_W;
            case 0x3: return LISA_XVSIGNSEL_D;
            case 0x5: return LISA_XVSHUF_H;
            case 0x6: return LISA_XVSHUF_W;
            case 0x7: return LISA_XVSHUF_D;
            }
            break;
        case 0x5f:
            switch ((insn >> 15) & 0x7) {
            case 0x2: return LISA_XVPERM_W;
            }
            break;
        case 0xa0:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVSEQI_B;
            case 0x1: return LISA_XVSEQI_H;
            case 0x2: return LISA_XVSEQI_W;
            case 0x3: return LISA_XVSEQI_D;
            case 0x4: return LISA_XVSLEI_B;
            case 0x5: return LISA_XVSLEI_H;
            case 0x6: return LISA_XVSLEI_W;
            case 0x7: return LISA_XVSLEI_D;
            }
            break;
        case 0xa1:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVSLEI_BU;
            case 0x1: return LISA_XVSLEI_HU;
            case 0x2: return LISA_XVSLEI_WU;
            case 0x3: return LISA_XVSLEI_DU;
            case 0x4: return LISA_XVSLTI_B;
            case 0x5: return LISA_XVSLTI_H;
            case 0x6: return LISA_XVSLTI_W;
            case 0x7: return LISA_XVSLTI_D;
            }
            break;
        case 0xa2:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVSLTI_BU;
            case 0x1: return LISA_XVSLTI_HU;
            case 0x2: return LISA_XVSLTI_WU;
            case 0x3: return LISA_XVSLTI_DU;
            case 0x4: return LISA_XVADDI_BU;
            case 0x5: return LISA_XVADDI_HU;
            case 0x6: return LISA_XVADDI_WU;
            case 0x7: return LISA_XVADDI_DU;
            }
            break;
        case 0xa3:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVSUBI_BU;
            case 0x1: return LISA_XVSUBI_HU;
            case 0x2: return LISA_XVSUBI_WU;
            case 0x3: return LISA_XVSUBI_DU;
            case 0x4: return LISA_XVBSLL_V;
            case 0x5: return LISA_XVBSRL_V;
            }
            break;
        case 0xa4:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVMAXI_B;
            case 0x1: return LISA_XVMAXI_H;
            case 0x2: return LISA_XVMAXI_W;
            case 0x3: return LISA_XVMAXI_D;
            case 0x4: return LISA_XVMINI_B;
            case 0x5: return LISA_XVMINI_H;
            case 0x6: return LISA_XVMINI_W;
            case 0x7: return LISA_XVMINI_D;
            }
            break;
        case 0xa5:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVMAXI_BU;
            case 0x1: return LISA_XVMAXI_HU;
            case 0x2: return LISA_XVMAXI_WU;
            case 0x3: return LISA_XVMAXI_DU;
            case 0x4: return LISA_XVMINI_BU;
            case 0x5: return LISA_XVMINI_HU;
            case 0x6: return LISA_XVMINI_WU;
            case 0x7: return LISA_XVMINI_DU;
            }
            break;
        case 0xa6:
            switch ((insn >> 15) & 0x7) {
            case 0x0: return LISA_XVRANDSIGNI_B;
            case 0x1: return LISA_XVRANDSIGNI_H;
            case 0x2: return LISA_XVRORSIGNI_B;
            case 0x3: return LISA_XVRORSIGNI_H;
            case 0x4: return LISA_XVFRSTPI_B;
            case 0x5: return LISA_XVFRSTPI_H;
            case 0x6: return LISA_XVCLRSTRI_V;
            case 0x7: return LISA_XVMEPATMSK_V;
            }
            break;
        case 0xa7:
            switch ((insn >> 15) & 0x7) {
            case 0x0:
                switch ((insn >> 10) & 0x1f) {
                case 0x0: return LISA_XVCLO_B;
                case 0x1: return LISA_XVCLO_H;
                case 0x2: return LISA_XVCLO_W;
                case 0x3: return LISA_XVCLO_D;
                case 0x4: return LISA_XVCLZ_B;
                case 0x5: return LISA_XVCLZ_H;
                case 0x6: return LISA_XVCLZ_W;
                case 0x7: return LISA_XVCLZ_D;
                case 0x8: return LISA_XVPCNT_B;
                case 0x9: return LISA_XVPCNT_H;
                case 0xa: return LISA_XVPCNT_W;
                case 0xb: return LISA_XVPCNT_D;
                case 0xc: return LISA_XVNEG_B;
                case 0xd: return LISA_XVNEG_H;
                case 0xe: return LISA_XVNEG_W;
                case 0xf: return LISA_XVNEG_D;
                case 0x10: return LISA_XVMSKLTZ_B;
                case 0x11: return LISA_XVMSKLTZ_H;
                case 0x12: return LISA_XVMSKLTZ_W;
                case 0x13: return LISA_XVMSKLTZ_D;
                case 0x14: return LISA_XVMSKGEZ_B;
                case 0x18: return LISA_XVMSKNZ_B;
                case 0x1c: return LISA_XVMSKCOPY_B;
                }
                break;
            case 0x1:
                switch ((insn >> 10) & 0x1f) {
                case 0x0: return LISA_XVMSKFILL_B;
                case 0x4: return LISA_XVFRSTM_B;
                case 0x5: return LISA_XVFRSTM_H;
                case 0x6:
                    switch ((insn >> 3) & 0x3) {
                    case 0x0: return LISA_XVSETEQZ_V;
                    }
                    break;
                case 0x7:
                    switch ((insn >> 3) & 0x3) {
                    case 0x0: return LISA_XVSETNEZ_V;
                    }
                    break;
                case 0x8:
                    switch ((insn >> 3) & 0x3) {
                    case 0x0: return LISA_XVSETANYEQZ_B;
                    }
                    break;
                case 0x9:
                    switch ((insn >> 3) & 0x3) {
                    case 0x0: return LISA_XVSETANYEQZ_H;
                    }
                    break;
                case 0xa:
                    switch ((insn >> 3) & 0x3) {
                    case 0x0: return LISA_XVSETANYEQZ_W;
                    }
                    break;
                case 0xb:
                    switch ((insn >> 3) & 0x3) {
                    case 0x0: return LISA_XVSETANYEQZ_D;
                    }
                    break;
                case 0xc:
                    switch ((insn >> 3) & 0x3) {
                    case 0x0: return LISA_XVSETALLNEZ_B;
                    }
                    break;
                case 0xd:
                    switch ((insn >> 3) & 0x3) {
                    case 0x0: return LISA_XVSETALLNEZ_H;
                    }
                    break;
                case 0xe:
                    switch ((insn >> 3) & 0x3) {
                    case 0x0: return LISA_XVSETALLNEZ_W;
                    }
                    break;
                case 0xf:
                    switch ((insn >> 3) & 0x3) {
                    case 0x0: return LISA_XVSETALLNEZ_D;
                    }
                    break;
                case 0x11: return LISA_XVFLOGB_S;
                case 0x12: return LISA_XVFLOGB_D;
                case 0x15: return LISA_XVFCLASS_S;
                case 0x16: return LISA_XVFCLASS_D;
                case 0x19: return LISA_XVFSQRT_S;
                case 0x1a: return LISA_XVFSQRT_D;
                case 0x1d: return LISA_XVFRECIP_S;
                case 0x1e: return LISA_XVFRECIP_D;
                }
                break;
            case 0x2:
                switch ((insn >> 10) & 0x1f) {
                case 0x1: return LISA_XVFRSQRT_S;
                case 0x2: return LISA_XVFRSQRT_D;
                case 0xd: return LISA_XVFRINT_S;
                case 0xe: return LISA_XVFRINT_D;
                case 0x11: return LISA_XVFRINTRM_S;
                case 0x12: return LISA_XVFRINTRM_D;
                case 0x15: return LISA_XVFRINTRP_S;
                case 0x16: return LISA_XVFRINTRP_D;
                case 0x19: return LISA_XVFRINTRZ_S;
                case 0x1a: return LISA_XVFRINTRZ_D;
                case 0x1d: return LISA_XVFRINTRNE_S;
                case 0x1e: return LISA_XVFRINTRNE_D;
                }
                break;
            case 0x3:
                switch ((insn >> 10) & 0x1f) {
                case 0x1: return LISA_XVEXTL_W_B;
                case 0x2: return LISA_XVEXTL_D_B;
                case 0x5: return LISA_XVEXTL_D_H;
                case 0xb: return LISA_XVEXTL_W_BU;
                case 0xc: return LISA_XVEXTL_D_BU;
                case 0xf: return LISA_XVEXTL_D_HU;
                case 0x14: return LISA_XVHADD8_D_BU;
                case 0x15: return LISA_XVHMINPOS_W_HU;
                case 0x16: return LISA_XVHMINPOS_D_HU;
                case 0x17: return LISA_XVHMINPOS_Q_HU;
                case 0x18: return LISA_XVCLRTAIL_B;
                case 0x19: return LISA_XVCLRTAIL_H;
                case 0x1a: return LISA_XVFCVTL_S_H;
                case 0x1b: return LISA_XVFCVTH_S_H;
                case 0x1c: return LISA_XVFCVTL_D_S;
                case 0x1d: return LISA_XVFCVTH_D_S;
                }
                break;
            case 0x4:
                switch ((insn >> 10) & 0x1f) {
                case 0x0: return LISA_XVFFINT_S_W;
                case 0x1: return LISA_XVFFINT_S_WU;
                case 0x2: return LISA_XVFFINT_D_L;
                case 0x3: return LISA_XVFFINT_D_LU;
                case 0x4: return LISA_XVFFINTL_D_W;
                case 0x5: return LISA_XVFFINTH_D_W;
                case 0xc: return LISA_XVFTINT_W_S;
                case 0xd: return LISA_XVFTINT_L_D;
                case 0xe: return LISA_XVFTINTRM_W_S;
                case 0xf: return LISA_XVFTINTRM_L_D;
                case 0x10: return LISA_XVFTINTRP_W_S;
                case 0x11: return LISA_XVFTINTRP_L_D;
                case 0x12: return LISA_XVFTINTRZ_W_S;
                case 0x13: return LISA_XVFTINTRZ_L_D;
                case 0x14: return LISA_XVFTINTRNE_W_S;
                case 0x15: return LISA_XVFTINTRNE_L_D;
                case 0x16: return LISA_XVFTINT_WU_S;
                case 0x17: return LISA_XVFTINT_LU_D;
                case 0x1c: return LISA_XVFTINTRZ_WU_S;
                case 0x1d: return LISA_XVFTINTRZ_LU_D;
                }
                break;
            case 0x5:
                switch ((insn >> 10) & 0x1f) {
                case 0x0: return LISA_XVFTINTL_L_S;
                case 0x1: return LISA_XVFTINTH_L_S;
                case 0x2: return LISA_XVFTINTRML_L_S;
                case 0x3: return LISA_XVFTINTRMH_L_S;
                case 0x4: return LISA_XVFTINTRPL_L_S;
                case 0x5: return LISA_XVFTINTRPH_L_S;
                case 0x6: return LISA_XVFTINTRZL_L_S;
                case 0x7: return LISA_XVFTINTRZH_L_S;
                case 0x8: return LISA_XVFTINTRNEL_L_S;
                case 0x9: return LISA_XVFTINTRNEH_L_S;
                case 0x18: return LISA_XVEXTH_H_B;
                case 0x19: return LISA_XVEXTH_W_H;
                case 0x1a: return LISA_XVEXTH_D_W;
                case 0x1b: return LISA_XVEXTH_Q_D;
                case 0x1c: return LISA_XVEXTH_HU_BU;
                case 0x1d: return LISA_XVEXTH_WU_HU;
                case 0x1e: return LISA_XVEXTH_DU_WU;
                case 0x1f: return LISA_XVEXTH_QU_DU;
                }
                break;
            case 0x6:
                switch ((insn >> 10) & 0x1f) {
                case 0x0: return LISA_XVREPLGR2VR_B;
                case 0x1: return LISA_XVREPLGR2VR_H;
                case 0x2: return LISA_XVREPLGR2VR_W;
                case 0x3: return LISA_XVREPLGR2VR_D;
                case 0x4: return LISA_VEXT2XV_H_B;
                case 0x5: return LISA_VEXT2XV_W_B;
                case 0x6: return LISA_VEXT2XV_D_B;
                case 0x7: return LISA_VEXT2XV_W_H;
                case 0x8: return LISA_VEXT2XV_D_H;
                case 0x9: return LISA_VEXT2XV_D_W;
                case 0xa: return LISA_VEXT2XV_HU_BU;
                case 0xb: return LISA_VEXT2XV_WU_BU;
                case 0xc: return LISA_VEXT2XV_DU_BU;
                case 0xd: return LISA_VEXT2XV_WU_HU;
                case 0xe: return LISA_VEXT2XV_DU_HU;
                case 0xf: return LISA_VEXT2XV_DU_WU;
                }
                break;
            case 0x7: return LISA_XVHSELI_D;
            }
            break;
        case 0xa8:
            switch ((insn >> 16) & 0x3) {
            case 0x0:
                switch ((insn >> 15) & 0x1) {
                case 0x0:
                    switch ((insn >> 14) & 0x1) {
                    case 0x0:
                        switch ((insn >> 13) & 0x1) {
                        case 0x1: return LISA_XVROTRI_B;
                        }
                        break;
                    case 0x1: return LISA_XVROTRI_H;
                    }
                    break;
                case 0x1: return LISA_XVROTRI_W;
                }
                break;
            case 0x1: return LISA_XVROTRI_D;
            }
            break;
        case 0xa9:
            switch ((insn >> 16) & 0x3) {
            case 0x0:
                switch ((insn >> 15) & 0x1) {
                case 0x0:
                    switch ((insn >> 14) & 0x1) {
                    case 0x0:
                        switch ((insn >> 13) & 0x1) {
                        case 0x1: return LISA_XVSRLRI_B;
                        }
                        break;
                    case 0x1: return LISA_XVSRLRI_H;
                    }
                    break;
                case 0x1: return LISA_XVSRLRI_W;
                }
                break;
            case 0x1: return LISA_XVSRLRI_D;
            }
            break;
        case 0xaa:
            switch ((insn >> 16) & 0x3) {
            case 0x0:
                switch ((insn >> 15) & 0x1) {
                case 0x0:
                    switch ((insn >> 14) & 0x1) {
                    case 0x0:
                        switch ((insn >> 13) & 0x1) {
                        case 0x1: return LISA_XVSRARI_B;
                        }
                        break;
                    case 0x1: return LISA_XVSRARI_H;
                    }
                    break;
                case 0x1: return LISA_XVSRARI_W;
                }
                break;
            case 0x1: return LISA_XVSRARI_D;
            }
            break;
        case 0xba:
            switch ((insn >> 13) & 0x1f) {
            case 0x1e: return LISA_XVINSGR2VR_W;
            case 0x1f:
                switch ((insn >> 12) & 0x1) {
                case 0x0: return LISA_XVINSGR2VR_D;
                }
                break;
            }
            break;
        case 0xbb:
            switch ((insn >> 13) & 0x1f) {
            case 0x1e: return LISA_XVPICKVE2GR_W;
            case 0x1f:
                switch ((insn >> 12) & 0x1) {
                case 0x0: return LISA_XVPICKVE2GR_D;
                }
                break;
            }
            break;
        case 0xbc:
            switch ((insn >> 13) & 0x1f) {
            case 0x1e: return LISA_XVPICKVE2GR_WU;
            case 0x1f:
                switch ((insn >> 12) & 0x1) {
                case 0x0: return LISA_XVPICKVE2GR_DU;
                }
                break;
            }
            break;
        case 0xbd:
            switch ((insn >> 14) & 0xf) {
            case 0xe: return LISA_XVREPL128VEI_B;
            case 0xf:
                switch ((insn >> 13) & 0x1) {
                case 0x0: return LISA_XVREPL128VEI_H;
                case 0x1:
                    switch ((insn >> 12) & 0x1) {
                    case 0x0: return LISA_XVREPL128VEI_W;
                    case 0x1:
                        switch ((insn >> 11) & 0x1) {
                        case 0x0: return LISA_XVREPL128VEI_D;
                        }
                        break;
                    }
                    break;
                }
                break;
            }
            break;
        case 0xbe:
            switch ((insn >> 14) & 0xf) {
            case 0xe: return LISA_XVEXTRCOLI_B;
            case 0xf:
                switch ((insn >> 13) & 0x1) {
                case 0x0: return LISA_XVEXTRCOLI_H;
                case 0x1:
                    switch ((insn >> 12) & 0x1) {
                    case 0x0: return LISA_XVEXTRCOLI_W;
                    case 0x1:
                        switch ((insn >> 11) & 0x1) {
                        case 0x0: return LISA_XVEXTRCOLI_D;
                        }
                        break;
                    }
                    break;
                }
                break;
            }
            break;
        case 0xbf:
            switch ((insn >> 13) & 0x1f) {
            case 0x1e: return LISA_XVINSVE0_W;
            case 0x1f:
                switch ((insn >> 12) & 0x1) {
                case 0x0: return LISA_XVINSVE0_D;
                }
                break;
            }
            break;
        case 0xc0:
            switch ((insn >> 13) & 0x1f) {
            case 0x1e: return LISA_XVPICKVE_W;
            case 0x1f:
                switch ((insn >> 12) & 0x1) {
                case 0x0: return LISA_XVPICKVE_D;
                }
                break;
            }
            break;
        case 0xc1:
            switch ((insn >> 10) & 0xff) {
            case 0xc0: return LISA_XVREPLVE0_B;
            case 0xe0: return LISA_XVREPLVE0_H;
            case 0xf0: return LISA_XVREPLVE0_W;
            case 0xf8: return LISA_XVREPLVE0_D;
            case 0xfc: return LISA_XVREPLVE0_Q;
            }
            break;
        case 0xc2:
            switch ((insn >> 15) & 0x7) {
            case 0x0:
                switch ((insn >> 14) & 0x1) {
                case 0x0:
                    switch ((insn >> 13) & 0x1) {
                    case 0x1: return LISA_XVSLLWIL_H_B;
                    }
                    break;
                case 0x1: return LISA_XVSLLWIL_W_H;
                }
                break;
            case 0x1: return LISA_XVSLLWIL_D_W;
            case 0x2:
                switch ((insn >> 10) & 0x1f) {
                case 0x0: return LISA_XVEXTL_Q_D;
                }
                break;
            }
            break;
        case 0xc3:
            switch ((insn >> 15) & 0x7) {
            case 0x0:
                switch ((insn >> 14) & 0x1) {
                case 0x0:
                    switch ((insn >> 13) & 0x1) {
                    case 0x1: return LISA_XVSLLWIL_HU_BU;
                    }
                    break;
                case 0x1: return LISA_XVSLLWIL_WU_HU;
                }
                break;
            case 0x1: return LISA_XVSLLWIL_DU_WU;
            case 0x2:
                switch ((insn >> 10) & 0x1f) {
                case 0x0: return LISA_XVEXTL_QU_DU;
                }
                break;
            }
            break;
        case 0xc4:
            switch ((insn >> 16) & 0x3) {
            case 0x0:
                switch ((insn >> 15) & 0x1) {
                case 0x0:
                    switch ((insn >> 14) & 0x1) {
                    case 0x0:
                        switch ((insn >> 13) & 0x1) {
                        case 0x1: return LISA_XVBITCLRI_B;
                        }
                        break;
                    case 0x1: return LISA_XVBITCLRI_H;
                    }
                    break;
                case 0x1: return LISA_XVBITCLRI_W;
                }
                break;
            case 0x1: return LISA_XVBITCLRI_D;
            }
            break;
        case 0xc5:
            switch ((insn >> 16) & 0x3) {
            case 0x0:
                switch ((insn >> 15) & 0x1) {
                case 0x0:
                    switch ((insn >> 14) & 0x1) {
                    case 0x0:
                        switch ((insn >> 13) & 0x1) {
                        case 0x1: return LISA_XVBITSETI_B;
                        }
                        break;
                    case 0x1: return LISA_XVBITSETI_H;
                    }
                    break;
                case 0x1: return LISA_XVBITSETI_W;
                }
                break;
            case 0x1: return LISA_XVBITSETI_D;
            }
            break;
        case 0xc6:
            switch ((insn >> 16) & 0x3) {
            case 0x0:
                switch ((insn >> 15) & 0x1) {
                case 0x0:
                    switch ((insn >> 14) & 0x1) {
                    case 0x0:
                        switch ((insn >> 13) & 0x1) {
                        case 0x1: return LISA_XVBITREVI_B;
                        }
                        break;
                    case 0x1: return LISA_XVBITREVI_H;
                    }
                    break;
                case 0x1: return LISA_XVBITREVI_W;
                }
                break;
            case 0x1: return LISA_XVBITREVI_D;
            }
            break;
        case 0xc7:
            switch ((insn >> 16) & 0x3) {
            case 0x0:
                switch ((insn >> 15) & 0x1) {
                case 0x0:
                    switch ((insn >> 14) & 0x1) {
                    case 0x0:
                        switch ((insn >> 13) & 0x1) {
                        case 0x1: return LISA_XVBSTRC12I_B;
                        }
                        break;
                    case 0x1: return LISA_XVBSTRC12I_H;
                    }
                    break;
                case 0x1: return LISA_XVBSTRC12I_W;
                }
                break;
            case 0x1: return LISA_XVBSTRC12I_D;
            }
            break;
        case 0xc8:
            switch ((insn >> 16) & 0x3) {
            case 0x0:
                switch ((insn >> 15) & 0x1) {
                case 0x0:
                    switch ((insn >> 14) & 0x1) {
                    case 0x0:
                        switch ((insn >> 13) & 0x1) {
                        case 0x1: return LISA_XVBSTRC21I_B;
                        }
                        break;
                    case 0x1: return LISA_XVBSTRC21I_H;
                    }
                    break;
                case 0x1: return LISA_XVBSTRC21I_W;
                }
                break;
            case 0x1: return LISA_XVBSTRC21I_D;
            }
            break;
        case 0xc9:
            switch ((insn >> 16) & 0x3) {
            case 0x0:
                switch ((insn >> 15) & 0x1) {
                case 0x0:
                    switch ((insn >> 14) & 0x1) {
                    case 0x0:
                        switch ((insn >> 13) & 0x1) {
                        case 0x1: return LISA_XVSAT_B;
                        }
                        break;
                    case 0x1: return LISA_XVSAT_H;
                    }
                    break;
                case 0x1: return LISA_XVSAT_W;
                }
                break;
            case 0x1: return LISA_XVSAT_D;
            }
            break;
        case 0xca:
            switch ((insn >> 16) & 0x3) {
            case 0x0:
                switch ((insn >> 15) & 0x1) {
                case 0x0:
                    switch ((insn >> 14) & 0x1) {
                    case 0x0:
                        switch ((insn >> 13) & 0x1) {
                        case 0x1: return LISA_XVSAT_BU;
                        }
                        break;
                    case 0x1: return LISA_XVSAT_HU;
                    }
                    break;
                case 0x1: return LISA_XVSAT_WU;
                }
                break;
            case 0x1: return LISA_XVSAT_DU;
            }
            break;
        case 0xcb:
            switch ((insn >> 16) & 0x3) {
            case 0x0:
                switch ((insn >> 15) & 0x1) {
                case 0x0:
                    switch ((insn >> 14) & 0x1) {
                    case 0x0:
                        switch ((insn >> 13) & 0x1) {
                        case 0x1: return LISA_XVSLLI_B;
                        }
                        break;
                    case 0x1: return LISA_XVSLLI_H;
                    }
                    break;
                case 0x1: return LISA_XVSLLI_W;
                }
                break;
            case 0x1: return LISA_XVSLLI_D;
            }
            break;
        case 0xcc:
            switch ((insn >> 16) & 0x3) {
            case 0x0:
                switch ((insn >> 15) & 0x1) {
                case 0x0:
                    switch ((insn >> 14) & 0x1) {
                    case 0x0:
                        switch ((insn >> 13) & 0x1) {
                        case 0x1: return LISA_XVSRLI_B;
                        }
                        break;
                    case 0x1: return LISA_XVSRLI_H;
                    }
                    break;
                case 0x1: return LISA_XVSRLI_W;
                }
                break;
            case 0x1: return LISA_XVSRLI_D;
            }
            break;
        case 0xcd:
            switch ((insn >> 16) & 0x3) {
            case 0x0:
                switch ((insn >> 15) & 0x1) {
                case 0x0:
                    switch ((insn >> 14) & 0x1) {
                    case 0x0:
                        switch ((insn >> 13) & 0x1) {
                        case 0x1: return LISA_XVSRAI_B;
                        }
                        break;
                    case 0x1: return LISA_XVSRAI_H;
                    }
                    break;
                case 0x1: return LISA_XVSRAI_W;
                }
                break;
            case 0x1: return LISA_XVSRAI_D;
            }
            break;
        case 0xce:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_XVSRLRNENI_B_H;
                        }
                        break;
                    case 0x1: return LISA_XVSRLRNENI_H_W;
                    }
                    break;
                case 0x1: return LISA_XVSRLRNENI_W_D;
                }
                break;
            case 0x1: return LISA_XVSRLRNENI_D_Q;
            }
            break;
        case 0xcf:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_XVSRARNENI_B_H;
                        }
                        break;
                    case 0x1: return LISA_XVSRARNENI_H_W;
                    }
                    break;
                case 0x1: return LISA_XVSRARNENI_W_D;
                }
                break;
            case 0x1: return LISA_XVSRARNENI_D_Q;
            }
            break;
        case 0xd0:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_XVSRLNI_B_H;
                        }
                        break;
                    case 0x1: return LISA_XVSRLNI_H_W;
                    }
                    break;
                case 0x1: return LISA_XVSRLNI_W_D;
                }
                break;
            case 0x1: return LISA_XVSRLNI_D_Q;
            }
            break;
        case 0xd1:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_XVSRLRNI_B_H;
                        }
                        break;
                    case 0x1: return LISA_XVSRLRNI_H_W;
                    }
                    break;
                case 0x1: return LISA_XVSRLRNI_W_D;
                }
                break;
            case 0x1: return LISA_XVSRLRNI_D_Q;
            }
            break;
        case 0xd2:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_XVSSRLNI_B_H;
                        }
                        break;
                    case 0x1: return LISA_XVSSRLNI_H_W;
                    }
                    break;
                case 0x1: return LISA_XVSSRLNI_W_D;
                }
                break;
            case 0x1: return LISA_XVSSRLNI_D_Q;
            }
            break;
        case 0xd3:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_XVSSRLNI_BU_H;
                        }
                        break;
                    case 0x1: return LISA_XVSSRLNI_HU_W;
                    }
                    break;
                case 0x1: return LISA_XVSSRLNI_WU_D;
                }
                break;
            case 0x1: return LISA_XVSSRLNI_DU_Q;
            }
            break;
        case 0xd4:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_XVSSRLRNI_B_H;
                        }
                        break;
                    case 0x1: return LISA_XVSSRLRNI_H_W;
                    }
                    break;
                case 0x1: return LISA_XVSSRLRNI_W_D;
                }
                break;
            case 0x1: return LISA_XVSSRLRNI_D_Q;
            }
            break;
        case 0xd5:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_XVSSRLRNI_BU_H;
                        }
                        break;
                    case 0x1: return LISA_XVSSRLRNI_HU_W;
                    }
                    break;
                case 0x1: return LISA_XVSSRLRNI_WU_D;
                }
                break;
            case 0x1: return LISA_XVSSRLRNI_DU_Q;
            }
            break;
        case 0xd6:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_XVSRANI_B_H;
                        }
                        break;
                    case 0x1: return LISA_XVSRANI_H_W;
                    }
                    break;
                case 0x1: return LISA_XVSRANI_W_D;
                }
                break;
            case 0x1: return LISA_XVSRANI_D_Q;
            }
            break;
        case 0xd7:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_XVSRARNI_B_H;
                        }
                        break;
                    case 0x1: return LISA_XVSRARNI_H_W;
                    }
                    break;
                case 0x1: return LISA_XVSRARNI_W_D;
                }
                break;
            case 0x1: return LISA_XVSRARNI_D_Q;
            }
            break;
        case 0xd8:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_XVSSRANI_B_H;
                        }
                        break;
                    case 0x1: return LISA_XVSSRANI_H_W;
                    }
                    break;
                case 0x1: return LISA_XVSSRANI_W_D;
                }
                break;
            case 0x1: return LISA_XVSSRANI_D_Q;
            }
            break;
        case 0xd9:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_XVSSRANI_BU_H;
                        }
                        break;
                    case 0x1: return LISA_XVSSRANI_HU_W;
                    }
                    break;
                case 0x1: return LISA_XVSSRANI_WU_D;
                }
                break;
            case 0x1: return LISA_XVSSRANI_DU_Q;
            }
            break;
        case 0xda:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_XVSSRARNI_B_H;
                        }
                        break;
                    case 0x1: return LISA_XVSSRARNI_H_W;
                    }
                    break;
                case 0x1: return LISA_XVSSRARNI_W_D;
                }
                break;
            case 0x1: return LISA_XVSSRARNI_D_Q;
            }
            break;
        case 0xdb:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_XVSSRARNI_BU_H;
                        }
                        break;
                    case 0x1: return LISA_XVSSRARNI_HU_W;
                    }
                    break;
                case 0x1: return LISA_XVSSRARNI_WU_D;
                }
                break;
            case 0x1: return LISA_XVSSRARNI_DU_Q;
            }
            break;
        case 0xdc:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_XVSSRLRNENI_B_H;
                        }
                        break;
                    case 0x1: return LISA_XVSSRLRNENI_H_W;
                    }
                    break;
                case 0x1: return LISA_XVSSRLRNENI_W_D;
                }
                break;
            case 0x1: return LISA_XVSSRLRNENI_D_Q;
            }
            break;
        case 0xdd:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_XVSSRLRNENI_BU_H;
                        }
                        break;
                    case 0x1: return LISA_XVSSRLRNENI_HU_W;
                    }
                    break;
                case 0x1: return LISA_XVSSRLRNENI_WU_D;
                }
                break;
            case 0x1: return LISA_XVSSRLRNENI_DU_Q;
            }
            break;
        case 0xde:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_XVSSRARNENI_B_H;
                        }
                        break;
                    case 0x1: return LISA_XVSSRARNENI_H_W;
                    }
                    break;
                case 0x1: return LISA_XVSSRARNENI_W_D;
                }
                break;
            case 0x1: return LISA_XVSSRARNENI_D_Q;
            }
            break;
        case 0xdf:
            switch ((insn >> 17) & 0x1) {
            case 0x0:
                switch ((insn >> 16) & 0x1) {
                case 0x0:
                    switch ((insn >> 15) & 0x1) {
                    case 0x0:
                        switch ((insn >> 14) & 0x1) {
                        case 0x1: return LISA_XVSSRARNENI_BU_H;
                        }
                        break;
                    case 0x1: return LISA_XVSSRARNENI_HU_W;
                    }
                    break;
                case 0x1: return LISA_XVSSRARNENI_WU_D;
                }
                break;
            case 0x1: return LISA_XVSSRARNENI_DU_Q;
            }
            break;
        case 0xe0: return LISA_XVEXTRINS_D;
        case 0xe1: return LISA_XVEXTRINS_W;
        case 0xe2: return LISA_XVEXTRINS_H;
        case 0xe3: return LISA_XVEXTRINS_B;
        case 0xe4: return LISA_XVSHUF4I_B;
        case 0xe5: return LISA_XVSHUF4I_H;
        case 0xe6: return LISA_XVSHUF4I_W;
        case 0xe7: return LISA_XVSHUF4I_D;
        case 0xe8: return LISA_XVSHUFI1_B;
        case 0xe9: return LISA_XVSHUFI2_B;
        case 0xea: return LISA_XVSHUFI3_B;
        case 0xeb: return LISA_XVSHUFI4_B;
        case 0xec: return LISA_XVSHUFI1_H;
        case 0xed: return LISA_XVSHUFI2_H;
        case 0xee: return LISA_XVSELI_H;
        case 0xef: return LISA_XVSELI_W;
        case 0xf0: return LISA_XVSELI_D;
        case 0xf1: return LISA_XVBITSELI_B;
        case 0xf2: return LISA_XVBITMVZI_B;
        case 0xf3: return LISA_XVBITMVNZI_B;
        case 0xf4: return LISA_XVANDI_B;
        case 0xf5: return LISA_XVORI_B;
        case 0xf6: return LISA_XVXORI_B;
        case 0xf7: return LISA_XVNORI_B;
        case 0xf8: return LISA_XVLDI;
        case 0xf9: return LISA_XVPERMI_W;
        case 0xfa: return LISA_XVPERMI_D;
        case 0xfb: return LISA_XVPERMI_Q;
        }
        break;
    }
    return LISA_INVALID;
}

static const char *ir2_ins_name[] =  {
    "INVALID",
    "ill",
    "label",
    "x86.inst",
    "dup",
    "mov64",
    "mov32.sx",
    "mov32.zx",
    "clr.h32",
    "add",
    "sub",
    "addi.addrx",
    "load.addrx",
    "store.addrx",
    "gr2scr",
    "scr2gr",
    "clo.w",
    "clz.w",
    "cto.w",
    "ctz.w",
    "clo.d",
    "clz.d",
    "cto.d",
    "ctz.d",
    "revb.2h",
    "revb.4h",
    "revb.2w",
    "revb.d",
    "revh.2w",
    "revh.d",
    "bitrev.4b",
    "bitrev.8b",
    "bitrev.w",
    "bitrev.d",
    "ext.w_h",
    "ext.w_b",
    "rdtimel.w",
    "rdtimeh.w",
    "rdtime.d",
    "cpucfg",
    "x86mttop",
    "x86mftop",
    "x86loope",
    "x86loopne",
    "x86inc.b",
    "x86inc.h",
    "x86inc.w",
    "x86inc.d",
    "x86dec.b",
    "x86dec.h",
    "x86dec.w",
    "x86dec.d",
    "x86settm",
    "x86clrtm",
    "x86inctop",
    "x86dectop",
    "asrtle.d",
    "asrtgt.d",
    "alsl.w",
    "alsl.wu",
    "bytepick.w",
    "bytepick.d",
    "add.w",
    "add.d",
    "sub.w",
    "sub.d",
    "slt",
    "sltu",
    "maskeqz",
    "masknez",
    "nor",
    "and",
    "or",
    "xor",
    "orn",
    "andn",
    "sll.w",
    "srl.w",
    "sra.w",
    "sll.d",
    "srl.d",
    "sra.d",
    "rotr.b",
    "rotr.h",
    "rotr.w",
    "rotr.d",
    "mul.w",
    "mulh.w",
    "mulh.wu",
    "mul.d",
    "mulh.d",
    "mulh.du",
    "mulw.d_w",
    "mulw.d_wu",
    "div.w",
    "mod.w",
    "div.wu",
    "mod.wu",
    "div.d",
    "mod.d",
    "div.du",
    "mod.du",
    "crc.w_b_w",
    "crc.w_h_w",
    "crc.w_w_w",
    "crc.w_d_w",
    "crcc.w_b_w",
    "crcc.w_h_w",
    "crcc.w_w_w",
    "crcc.w_d_w",
    "addu12i.w",
    "addu12i.d",
    "break",
    "dbgcall",
    "syscall",
    "hypcall",
    "alsl.d",
    "adc.b",
    "adc.h",
    "adc.w",
    "adc.d",
    "sbc.b",
    "sbc.h",
    "sbc.w",
    "sbc.d",
    "rcr.b",
    "rcr.h",
    "rcr.w",
    "rcr.d",
    "armmove",
    "setx86j",
    "setarmj",
    "armadd.w",
    "armsub.w",
    "armadc.w",
    "armsbc.w",
    "armand.w",
    "armor.w",
    "armxor.w",
    "armsll.w",
    "armsrl.w",
    "armsra.w",
    "armrotr.w",
    "armslli.w",
    "armsrli.w",
    "armsrai.w",
    "armrotri.w",
    "x86mul.b",
    "x86mul.h",
    "x86mul.w",
    "x86mul.d",
    "x86mul.bu",
    "x86mul.hu",
    "x86mul.wu",
    "x86mul.du",
    "x86add.wu",
    "x86add.du",
    "x86sub.wu",
    "x86sub.du",
    "x86add.b",
    "x86add.h",
    "x86add.w",
    "x86add.d",
    "x86sub.b",
    "x86sub.h",
    "x86sub.w",
    "x86sub.d",
    "x86adc.b",
    "x86adc.h",
    "x86adc.w",
    "x86adc.d",
    "x86sbc.b",
    "x86sbc.h",
    "x86sbc.w",
    "x86sbc.d",
    "x86sll.b",
    "x86sll.h",
    "x86sll.w",
    "x86sll.d",
    "x86srl.b",
    "x86srl.h",
    "x86srl.w",
    "x86srl.d",
    "x86sra.b",
    "x86sra.h",
    "x86sra.w",
    "x86sra.d",
    "x86rotr.b",
    "x86rotr.h",
    "x86rotr.d",
    "x86rotr.w",
    "x86rotl.b",
    "x86rotl.h",
    "x86rotl.w",
    "x86rotl.d",
    "x86rcr.b",
    "x86rcr.h",
    "x86rcr.w",
    "x86rcr.d",
    "x86rcl.b",
    "x86rcl.h",
    "x86rcl.w",
    "x86rcl.d",
    "x86and.b",
    "x86and.h",
    "x86and.w",
    "x86and.d",
    "x86or.b",
    "x86or.h",
    "x86or.w",
    "x86or.d",
    "x86xor.b",
    "x86xor.h",
    "x86xor.w",
    "x86xor.d",
    "armnot.w",
    "armmov.w",
    "armmov.d",
    "armrrx.w",
    "slli.w",
    "slli.d",
    "srli.w",
    "srli.d",
    "srai.w",
    "srai.d",
    "rotri.b",
    "rotri.h",
    "rotri.w",
    "rotri.d",
    "rcri.b",
    "rcri.h",
    "rcri.w",
    "rcri.d",
    "x86slli.b",
    "x86slli.h",
    "x86slli.w",
    "x86slli.d",
    "x86srli.b",
    "x86srli.h",
    "x86srli.w",
    "x86srli.d",
    "x86srai.b",
    "x86srai.h",
    "x86srai.w",
    "x86srai.d",
    "x86rotri.b",
    "x86rotri.h",
    "x86rotri.w",
    "x86rotri.d",
    "x86rcri.b",
    "x86rcri.h",
    "x86rcri.w",
    "x86rcri.d",
    "x86rotli.b",
    "x86rotli.h",
    "x86rotli.w",
    "x86rotli.d",
    "x86rcli.b",
    "x86rcli.h",
    "x86rcli.w",
    "x86rcli.d",
    "x86settag",
    "x86mfflag",
    "x86mtflag",
    "armmfflag",
    "armmtflag",
    "bstrins.w",
    "bstrpick.w",
    "bstrins.d",
    "bstrpick.d",
    "slti",
    "sltui",
    "addi.w",
    "addi.d",
    "lu52i.d",
    "andi",
    "ori",
    "xori",
    "addu16i.d",
    "lu12i.w",
    "lu32i.d",
    "pcaddi",
    "pcalau12i",
    "pcaddu12i",
    "pcaddu18i",
    "ll.w",
    "sc.w",
    "ll.d",
    "sc.d",
    "ldptr.w",
    "stptr.w",
    "ldptr.d",
    "stptr.d",
    "ld.b",
    "ld.h",
    "ld.w",
    "ld.d",
    "st.b",
    "st.h",
    "st.w",
    "st.d",
    "ld.bu",
    "ld.hu",
    "ld.wu",
    "preld",
    "fld.s",
    "fst.s",
    "fld.d",
    "fst.d",
    "vld",
    "vst",
    "xvld",
    "xvst",
    "ldl.w",
    "ldr.w",
    "ldl.d",
    "ldr.d",
    "stl.w",
    "str.w",
    "stl.d",
    "str.d",
    "vldrepl.d",
    "vldrepl.w",
    "vldrepl.h",
    "vldrepl.b",
    "vstelm.d",
    "vstelm.w",
    "vstelm.h",
    "vstelm.b",
    "xvldrepl.d",
    "xvldrepl.w",
    "xvldrepl.h",
    "xvldrepl.b",
    "xvstelm.d",
    "xvstelm.w",
    "xvstelm.h",
    "xvstelm.b",
    "ldx.b",
    "ldx.h",
    "ldx.w",
    "ldx.d",
    "stx.b",
    "stx.h",
    "stx.w",
    "stx.d",
    "ldx.bu",
    "ldx.hu",
    "ldx.wu",
    "preldx",
    "fldx.s",
    "fldx.d",
    "fstx.s",
    "fstx.d",
    "vldx",
    "vstx",
    "xvldx",
    "xvstx",
    "amswap.w",
    "amswap.d",
    "amadd.w",
    "amadd.d",
    "amand.w",
    "amand.d",
    "amor.w",
    "amor.d",
    "amxor.w",
    "amxor.d",
    "ammax.w",
    "ammax.d",
    "ammin.w",
    "ammin.d",
    "ammax.wu",
    "ammax.du",
    "ammin.wu",
    "ammin.du",
    "amswap.db_w",
    "amswap.db_d",
    "amadd.db_w",
    "amadd.db_d",
    "amand.db_w",
    "amand.db_d",
    "amor.db_w",
    "amor.db_d",
    "amxor.db_w",
    "amxor.db_d",
    "ammax.db_w",
    "ammax.db_d",
    "ammin.db_w",
    "ammin.db_d",
    "ammax.db_wu",
    "ammax.db_du",
    "ammin.db_wu",
    "ammin.db_du",
    "dbar",
    "ibar",
    "fldgt.s",
    "fldgt.d",
    "fldle.s",
    "fldle.d",
    "fstgt.s",
    "fstgt.d",
    "fstle.s",
    "fstle.d",
    "ldgt.b",
    "ldgt.h",
    "ldgt.w",
    "ldgt.d",
    "ldle.b",
    "ldle.h",
    "ldle.w",
    "ldle.d",
    "stgt.b",
    "stgt.h",
    "stgt.w",
    "stgt.d",
    "stle.b",
    "stle.h",
    "stle.w",
    "stle.d",
    "beqz",
    "bnez",
    "bceqz",
    "bcnez",
    "jiscr0",
    "jiscr1",
    "jirl",
    "b",
    "bl",
    "beq",
    "bne",
    "blt",
    "bge",
    "bltu",
    "bgeu",
    "fadd.s",
    "fadd.d",
    "fsub.s",
    "fsub.d",
    "fmul.s",
    "fmul.d",
    "fdiv.s",
    "fdiv.d",
    "fmax.s",
    "fmax.d",
    "fmin.s",
    "fmin.d",
    "fmaxa.s",
    "fmaxa.d",
    "fmina.s",
    "fmina.d",
    "fscaleb.s",
    "fscaleb.d",
    "fcopysign.s",
    "fcopysign.d",
    "fabs.s",
    "fabs.d",
    "fneg.s",
    "fneg.d",
    "flogb.s",
    "flogb.d",
    "fclass.s",
    "fclass.d",
    "fsqrt.s",
    "fsqrt.d",
    "frecip.s",
    "frecip.d",
    "frsqrt.s",
    "frsqrt.d",
    "fmov.s",
    "fmov.d",
    "movgr2fr.w",
    "movgr2fr.d",
    "movgr2frh.w",
    "movfr2gr.s",
    "movfr2gr.d",
    "movfrh2gr.s",
    "movgr2fcsr",
    "movfcsr2gr",
    "movfr2cf",
    "movcf2fr",
    "movgr2cf",
    "movcf2gr",
    "fcvt.ld_d",
    "fcvt.ud_d",
    "fcvt.d_ld",
    "fcvt.s_d",
    "fcvt.d_s",
    "ftintrm.w_s",
    "ftintrm.w_d",
    "ftintrm.l_s",
    "ftintrm.l_d",
    "ftintrp.w_s",
    "ftintrp.w_d",
    "ftintrp.l_s",
    "ftintrp.l_d",
    "ftintrz.w_s",
    "ftintrz.w_d",
    "ftintrz.l_s",
    "ftintrz.l_d",
    "ftintrne.w_s",
    "ftintrne.w_d",
    "ftintrne.l_s",
    "ftintrne.l_d",
    "ftint.w_s",
    "ftint.w_d",
    "ftint.l_s",
    "ftint.l_d",
    "ffint.s_w",
    "ffint.s_l",
    "ffint.d_w",
    "ffint.d_l",
    "frint.s",
    "frint.d",
    "fmadd.s",
    "fmadd.d",
    "fmsub.s",
    "fmsub.d",
    "fnmadd.s",
    "fnmadd.d",
    "fnmsub.s",
    "fnmsub.d",
    "vfmadd.s",
    "vfmadd.d",
    "vfmsub.s",
    "vfmsub.d",
    "vfnmadd.s",
    "vfnmadd.d",
    "vfnmsub.s",
    "vfnmsub.d",
    "xvfmadd.s",
    "xvfmadd.d",
    "xvfmsub.s",
    "xvfmsub.d",
    "xvfnmadd.s",
    "xvfnmadd.d",
    "xvfnmsub.s",
    "xvfnmsub.d",
    "fcmp.cond_s",
    "fcmp.cond_d",
    "vfcmp.cond_s",
    "vfcmp.cond_d",
    "xvfcmp.cond_s",
    "xvfcmp.cond_d",
    "fsel",
    "vbitsel.v",
    "xvbitsel.v",
    "vshuf.b",
    "xvshuf.b",
    "vextr.v",
    "xvextr.v",
    "vfmaddsub.s",
    "vfmaddsub.d",
    "vfmsubadd.s",
    "vfmsubadd.d",
    "xvfmaddsub.s",
    "xvfmaddsub.d",
    "xvfmsubadd.s",
    "xvfmsubadd.d",
    "vseq.b",
    "vseq.h",
    "vseq.w",
    "vseq.d",
    "vsle.b",
    "vsle.h",
    "vsle.w",
    "vsle.d",
    "vsle.bu",
    "vsle.hu",
    "vsle.wu",
    "vsle.du",
    "vslt.b",
    "vslt.h",
    "vslt.w",
    "vslt.d",
    "vslt.bu",
    "vslt.hu",
    "vslt.wu",
    "vslt.du",
    "vadd.b",
    "vadd.h",
    "vadd.w",
    "vadd.d",
    "vsub.b",
    "vsub.h",
    "vsub.w",
    "vsub.d",
    "vaddw.h_h_b",
    "vaddw.w_w_h",
    "vaddw.d_d_w",
    "vaddw.h_h_bu",
    "vaddw.w_w_hu",
    "vaddw.d_d_wu",
    "vsubw.h_h_b",
    "vsubw.w_w_h",
    "vsubw.d_d_w",
    "vsubw.h_h_bu",
    "vsubw.w_w_hu",
    "vsubw.d_d_wu",
    "vsaddw.h_h_b",
    "vsaddw.w_w_h",
    "vsaddw.d_d_w",
    "vsaddw.hu_hu_bu",
    "vsaddw.wu_wu_hu",
    "vsaddw.du_du_wu",
    "vssubw.h_h_b",
    "vssubw.w_w_h",
    "vssubw.d_d_w",
    "vssubw.hu_hu_bu",
    "vssubw.wu_wu_hu",
    "vssubw.du_du_wu",
    "vaddwev.h_b",
    "vaddwev.w_h",
    "vaddwev.d_w",
    "vaddwev.q_d",
    "vsubwev.h_b",
    "vsubwev.w_h",
    "vsubwev.d_w",
    "vsubwev.q_d",
    "vaddwod.h_b",
    "vaddwod.w_h",
    "vaddwod.d_w",
    "vaddwod.q_d",
    "vsubwod.h_b",
    "vsubwod.w_h",
    "vsubwod.d_w",
    "vsubwod.q_d",
    "vaddwl.h_b",
    "vaddwl.w_h",
    "vaddwl.d_w",
    "vaddwl.q_d",
    "vsubwl.h_b",
    "vsubwl.w_h",
    "vsubwl.d_w",
    "vsubwl.q_d",
    "vaddwh.h_b",
    "vaddwh.w_h",
    "vaddwh.d_w",
    "vaddwh.q_d",
    "vsubwh.h_b",
    "vsubwh.w_h",
    "vsubwh.d_w",
    "vsubwh.q_d",
    "vaddwev.h_bu",
    "vaddwev.w_hu",
    "vaddwev.d_wu",
    "vaddwev.q_du",
    "vsubwev.h_bu",
    "vsubwev.w_hu",
    "vsubwev.d_wu",
    "vsubwev.q_du",
    "vaddwod.h_bu",
    "vaddwod.w_hu",
    "vaddwod.d_wu",
    "vaddwod.q_du",
    "vsubwod.h_bu",
    "vsubwod.w_hu",
    "vsubwod.d_wu",
    "vsubwod.q_du",
    "vaddwl.h_bu",
    "vaddwl.w_hu",
    "vaddwl.d_wu",
    "vaddwl.q_du",
    "vsubwl.h_bu",
    "vsubwl.w_hu",
    "vsubwl.d_wu",
    "vsubwl.q_du",
    "vaddwh.h_bu",
    "vaddwh.w_hu",
    "vaddwh.d_wu",
    "vaddwh.q_du",
    "vsubwh.h_bu",
    "vsubwh.w_hu",
    "vsubwh.d_wu",
    "vsubwh.q_du",
    "vaddwev.h_bu_b",
    "vaddwev.w_hu_h",
    "vaddwev.d_wu_w",
    "vaddwev.q_du_d",
    "vaddwod.h_bu_b",
    "vaddwod.w_hu_h",
    "vaddwod.d_wu_w",
    "vaddwod.q_du_d",
    "vaddwl.h_bu_b",
    "vaddwl.w_hu_h",
    "vaddwl.d_wu_w",
    "vaddwl.q_du_d",
    "vaddwh.h_bu_b",
    "vaddwh.w_hu_h",
    "vaddwh.d_wu_w",
    "vaddwh.q_du_d",
    "vsadd.b",
    "vsadd.h",
    "vsadd.w",
    "vsadd.d",
    "vssub.b",
    "vssub.h",
    "vssub.w",
    "vssub.d",
    "vsadd.bu",
    "vsadd.hu",
    "vsadd.wu",
    "vsadd.du",
    "vssub.bu",
    "vssub.hu",
    "vssub.wu",
    "vssub.du",
    "vssub.bu_bu_b",
    "vssub.hu_hu_h",
    "vssub.wu_wu_w",
    "vssub.du_du_d",
    "vssub.bu_b_bu",
    "vssub.hu_h_hu",
    "vssub.wu_w_wu",
    "vssub.du_d_du",
    "vssub.b_bu_bu",
    "vssub.h_hu_hu",
    "vssub.w_wu_wu",
    "vssub.d_du_du",
    "vhaddw.h_b",
    "vhaddw.w_h",
    "vhaddw.d_w",
    "vhaddw.q_d",
    "vhsubw.h_b",
    "vhsubw.w_h",
    "vhsubw.d_w",
    "vhsubw.q_d",
    "vhaddw.hu_bu",
    "vhaddw.wu_hu",
    "vhaddw.du_wu",
    "vhaddw.qu_du",
    "vhsubw.hu_bu",
    "vhsubw.wu_hu",
    "vhsubw.du_wu",
    "vhsubw.qu_du",
    "vadda.b",
    "vadda.h",
    "vadda.w",
    "vadda.d",
    "vsadda.b",
    "vsadda.h",
    "vsadda.w",
    "vsadda.d",
    "vabsd.b",
    "vabsd.h",
    "vabsd.w",
    "vabsd.d",
    "vabsd.bu",
    "vabsd.hu",
    "vabsd.wu",
    "vabsd.du",
    "vavg.b",
    "vavg.h",
    "vavg.w",
    "vavg.d",
    "vavg.bu",
    "vavg.hu",
    "vavg.wu",
    "vavg.du",
    "vavgr.b",
    "vavgr.h",
    "vavgr.w",
    "vavgr.d",
    "vavgr.bu",
    "vavgr.hu",
    "vavgr.wu",
    "vavgr.du",
    "vhalfd.b",
    "vhalfd.h",
    "vhalfd.w",
    "vhalfd.d",
    "vhalfd.bu",
    "vhalfd.hu",
    "vhalfd.wu",
    "vhalfd.du",
    "vmax.b",
    "vmax.h",
    "vmax.w",
    "vmax.d",
    "vmin.b",
    "vmin.h",
    "vmin.w",
    "vmin.d",
    "vmax.bu",
    "vmax.hu",
    "vmax.wu",
    "vmax.du",
    "vmin.bu",
    "vmin.hu",
    "vmin.wu",
    "vmin.du",
    "vmaxa.b",
    "vmaxa.h",
    "vmaxa.w",
    "vmaxa.d",
    "vmina.b",
    "vmina.h",
    "vmina.w",
    "vmina.d",
    "vsadw.h_b",
    "vsadw.w_h",
    "vsadw.d_w",
    "vsadw.h_bu",
    "vsadw.w_hu",
    "vsadw.d_wu",
    "vaccsadw.h_b",
    "vaccsadw.w_h",
    "vaccsadw.d_w",
    "vaccsadw.h_bu",
    "vaccsadw.w_hu",
    "vaccsadw.d_wu",
    "vmul.b",
    "vmul.h",
    "vmul.w",
    "vmul.d",
    "vmuh.b",
    "vmuh.h",
    "vmuh.w",
    "vmuh.d",
    "vmuh.bu",
    "vmuh.hu",
    "vmuh.wu",
    "vmuh.du",
    "vmuh.bu_b",
    "vmuh.hu_h",
    "vmuh.wu_w",
    "vmuh.du_d",
    "vmulxw.h_b",
    "vmulxw.w_h",
    "vmulxw.d_w",
    "vmulxw.h_bu",
    "vmulxw.w_hu",
    "vmulxw.d_wu",
    "vmulwev.h_b",
    "vmulwev.w_h",
    "vmulwev.d_w",
    "vmulwev.q_d",
    "vmulwod.h_b",
    "vmulwod.w_h",
    "vmulwod.d_w",
    "vmulwod.q_d",
    "vmulwl.h_b",
    "vmulwl.w_h",
    "vmulwl.d_w",
    "vmulwl.q_d",
    "vmulwh.h_b",
    "vmulwh.w_h",
    "vmulwh.d_w",
    "vmulwh.q_d",
    "vmulwev.h_bu",
    "vmulwev.w_hu",
    "vmulwev.d_wu",
    "vmulwev.q_du",
    "vmulwod.h_bu",
    "vmulwod.w_hu",
    "vmulwod.d_wu",
    "vmulwod.q_du",
    "vmulwl.h_bu",
    "vmulwl.w_hu",
    "vmulwl.d_wu",
    "vmulwl.q_du",
    "vmulwh.h_bu",
    "vmulwh.w_hu",
    "vmulwh.d_wu",
    "vmulwh.q_du",
    "vmulwev.h_bu_b",
    "vmulwev.w_hu_h",
    "vmulwev.d_wu_w",
    "vmulwev.q_du_d",
    "vmulwod.h_bu_b",
    "vmulwod.w_hu_h",
    "vmulwod.d_wu_w",
    "vmulwod.q_du_d",
    "vmulwl.h_bu_b",
    "vmulwl.w_hu_h",
    "vmulwl.d_wu_w",
    "vmulwl.q_du_d",
    "vmulwh.h_bu_b",
    "vmulwh.w_hu_h",
    "vmulwh.d_wu_w",
    "vmulwh.q_du_d",
    "vmadd.b",
    "vmadd.h",
    "vmadd.w",
    "vmadd.d",
    "vmsub.b",
    "vmsub.h",
    "vmsub.w",
    "vmsub.d",
    "vmaddwev.h_b",
    "vmaddwev.w_h",
    "vmaddwev.d_w",
    "vmaddwev.q_d",
    "vmaddwod.h_b",
    "vmaddwod.w_h",
    "vmaddwod.d_w",
    "vmaddwod.q_d",
    "vmaddwl.h_b",
    "vmaddwl.w_h",
    "vmaddwl.d_w",
    "vmaddwl.q_d",
    "vmaddwh.h_b",
    "vmaddwh.w_h",
    "vmaddwh.d_w",
    "vmaddwh.q_d",
    "vmaddwev.h_bu",
    "vmaddwev.w_hu",
    "vmaddwev.d_wu",
    "vmaddwev.q_du",
    "vmaddwod.h_bu",
    "vmaddwod.w_hu",
    "vmaddwod.d_wu",
    "vmaddwod.q_du",
    "vmaddwl.h_bu",
    "vmaddwl.w_hu",
    "vmaddwl.d_wu",
    "vmaddwl.q_du",
    "vmaddwh.h_bu",
    "vmaddwh.w_hu",
    "vmaddwh.d_wu",
    "vmaddwh.q_du",
    "vmaddwev.h_bu_b",
    "vmaddwev.w_hu_h",
    "vmaddwev.d_wu_w",
    "vmaddwev.q_du_d",
    "vmaddwod.h_bu_b",
    "vmaddwod.w_hu_h",
    "vmaddwod.d_wu_w",
    "vmaddwod.q_du_d",
    "vmaddwl.h_bu_b",
    "vmaddwl.w_hu_h",
    "vmaddwl.d_wu_w",
    "vmaddwl.q_du_d",
    "vmaddwh.h_bu_b",
    "vmaddwh.w_hu_h",
    "vmaddwh.d_wu_w",
    "vmaddwh.q_du_d",
    "vdp2.h_b",
    "vdp2.w_h",
    "vdp2.d_w",
    "vdp2.q_d",
    "vdp2.hu_bu",
    "vdp2.wu_hu",
    "vdp2.du_wu",
    "vdp2.qu_du",
    "vdp2.h_bu_b",
    "vdp2.w_hu_h",
    "vdp2.d_wu_w",
    "vdp2.q_du_d",
    "vdp2add.h_b",
    "vdp2add.w_h",
    "vdp2add.d_w",
    "vdp2add.q_d",
    "vdp2add.h_bu",
    "vdp2add.w_hu",
    "vdp2add.d_wu",
    "vdp2add.q_du",
    "vdp2add.h_bu_b",
    "vdp2add.w_hu_h",
    "vdp2add.d_wu_w",
    "vdp2add.q_du_d",
    "vdp2sub.h_b",
    "vdp2sub.w_h",
    "vdp2sub.d_w",
    "vdp2sub.q_d",
    "vdp2sub.h_bu",
    "vdp2sub.w_hu",
    "vdp2sub.d_wu",
    "vdp2sub.q_du",
    "vdp4.w_b",
    "vdp4.d_h",
    "vdp4.q_w",
    "vdp4.w_bu",
    "vdp4.d_hu",
    "vdp4.q_wu",
    "vdp4.w_bu_b",
    "vdp4.d_hu_h",
    "vdp4.q_wu_w",
    "vdp4add.w_b",
    "vdp4add.d_h",
    "vdp4add.q_w",
    "vdp4add.w_bu",
    "vdp4add.d_hu",
    "vdp4add.q_wu",
    "vdp4add.w_bu_b",
    "vdp4add.d_hu_h",
    "vdp4add.q_wu_w",
    "vdiv.b",
    "vdiv.h",
    "vdiv.w",
    "vdiv.d",
    "vmod.b",
    "vmod.h",
    "vmod.w",
    "vmod.d",
    "vdiv.bu",
    "vdiv.hu",
    "vdiv.wu",
    "vdiv.du",
    "vmod.bu",
    "vmod.hu",
    "vmod.wu",
    "vmod.du",
    "vsll.b",
    "vsll.h",
    "vsll.w",
    "vsll.d",
    "vsrl.b",
    "vsrl.h",
    "vsrl.w",
    "vsrl.d",
    "vsra.b",
    "vsra.h",
    "vsra.w",
    "vsra.d",
    "vrotr.b",
    "vrotr.h",
    "vrotr.w",
    "vrotr.d",
    "vsrlr.b",
    "vsrlr.h",
    "vsrlr.w",
    "vsrlr.d",
    "vsrar.b",
    "vsrar.h",
    "vsrar.w",
    "vsrar.d",
    "vsrln.b_h",
    "vsrln.h_w",
    "vsrln.w_d",
    "vsran.b_h",
    "vsran.h_w",
    "vsran.w_d",
    "vsrlrn.b_h",
    "vsrlrn.h_w",
    "vsrlrn.w_d",
    "vsrarn.b_h",
    "vsrarn.h_w",
    "vsrarn.w_d",
    "vssrln.b_h",
    "vssrln.h_w",
    "vssrln.w_d",
    "vssran.b_h",
    "vssran.h_w",
    "vssran.w_d",
    "vssrlrn.b_h",
    "vssrlrn.h_w",
    "vssrlrn.w_d",
    "vssrarn.b_h",
    "vssrarn.h_w",
    "vssrarn.w_d",
    "vssrln.bu_h",
    "vssrln.hu_w",
    "vssrln.wu_d",
    "vssran.bu_h",
    "vssran.hu_w",
    "vssran.wu_d",
    "vssrlrn.bu_h",
    "vssrlrn.hu_w",
    "vssrlrn.wu_d",
    "vssrarn.bu_h",
    "vssrarn.hu_w",
    "vssrarn.wu_d",
    "vbitclr.b",
    "vbitclr.h",
    "vbitclr.w",
    "vbitclr.d",
    "vbitset.b",
    "vbitset.h",
    "vbitset.w",
    "vbitset.d",
    "vbitrev.b",
    "vbitrev.h",
    "vbitrev.w",
    "vbitrev.d",
    "vbstrc12.b",
    "vbstrc12.h",
    "vbstrc12.w",
    "vbstrc12.d",
    "vbstrc21.b",
    "vbstrc21.h",
    "vbstrc21.w",
    "vbstrc21.d",
    "vpackev.b",
    "vpackev.h",
    "vpackev.w",
    "vpackev.d",
    "vpackod.b",
    "vpackod.h",
    "vpackod.w",
    "vpackod.d",
    "vilvl.b",
    "vilvl.h",
    "vilvl.w",
    "vilvl.d",
    "vilvh.b",
    "vilvh.h",
    "vilvh.w",
    "vilvh.d",
    "vpickev.b",
    "vpickev.h",
    "vpickev.w",
    "vpickev.d",
    "vpickod.b",
    "vpickod.h",
    "vpickod.w",
    "vpickod.d",
    "vreplve.b",
    "vreplve.h",
    "vreplve.w",
    "vreplve.d",
    "vextrcol.b",
    "vextrcol.h",
    "vextrcol.w",
    "vextrcol.d",
    "vand.v",
    "vor.v",
    "vxor.v",
    "vnor.v",
    "vandn.v",
    "vorn.v",
    "vrandsign.b",
    "vrandsign.h",
    "vrorsign.b",
    "vrorsign.h",
    "vfrstp.b",
    "vfrstp.h",
    "vclrstrr.v",
    "vclrstrv.v",
    "vadd.q",
    "vsub.q",
    "vsigncov.b",
    "vsigncov.h",
    "vsigncov.w",
    "vsigncov.d",
    "vfadd.s",
    "vfadd.d",
    "vfsub.s",
    "vfsub.d",
    "vfaddsub.s",
    "vfaddsub.d",
    "vfsubadd.s",
    "vfsubadd.d",
    "vfmul.s",
    "vfmul.d",
    "vfdiv.s",
    "vfdiv.d",
    "vfmax.s",
    "vfmax.d",
    "vfmin.s",
    "vfmin.d",
    "vfmaxa.s",
    "vfmaxa.d",
    "vfmina.s",
    "vfmina.d",
    "vfscaleb.s",
    "vfscaleb.d",
    "vfcvt.h_s",
    "vfcvt.s_d",
    "vffint.s_l",
    "vftint.w_d",
    "vftintrm.w_d",
    "vftintrp.w_d",
    "vftintrz.w_d",
    "vftintrne.w_d",
    "vhadd4.h_bu",
    "vshuf4.w",
    "vshuf2.d",
    "aes128.enc",
    "aes128.dec",
    "aes192.enc",
    "aes192.dec",
    "aes256.enc",
    "aes256.dec",
    "aes.kg",
    "aes.fr_enc",
    "aes.fr_dec",
    "aes.lr_enc",
    "aes.lr_dec",
    "aes.mc_enc",
    "aes.mc_dec",
    "aes.sb_enc",
    "aes.sb_dec",
    "aes.sr_enc",
    "aes.sr_dec",
    "md5.ms",
    "md5.4r",
    "sha1.ms_1",
    "sha1.ms_2",
    "sha1.hash_4r",
    "sha256.ms_1",
    "sha256.ms_2",
    "sha256.hash_2r",
    "sha512.ms_1",
    "sha512.ms_2",
    "sha512.hash_r_1",
    "sha512.hash_r_2",
    "vpmul.w",
    "vpmul.d",
    "vpmuh.w",
    "vpmuh.d",
    "vpmulacc.w",
    "vpmulacc.d",
    "vpmuhacc.w",
    "vpmuhacc.d",
    "vpmulwl.h_b",
    "vpmulwl.w_h",
    "vpmulwl.d_w",
    "vpmulwl.q_d",
    "vpmulwh.h_b",
    "vpmulwh.w_h",
    "vpmulwh.d_w",
    "vpmulwh.q_d",
    "vpmaddwl.h_b",
    "vpmaddwl.w_h",
    "vpmaddwl.d_w",
    "vpmaddwl.q_d",
    "vpmaddwh.h_b",
    "vpmaddwh.w_h",
    "vpmaddwh.d_w",
    "vpmaddwh.q_d",
    "vpdp2.q_d",
    "vpdp2add.q_d",
    "vcdp4.re_d_h",
    "vcdp4.im_d_h",
    "vcdp4add.re_d_h",
    "vcdp4add.im_d_h",
    "vcdp2.re_q_w",
    "vcdp2.im_q_w",
    "vcdp2add.re_q_w",
    "vcdp2add.im_q_w",
    "vsignsel.w",
    "vsignsel.d",
    "vshuf.h",
    "vshuf.w",
    "vshuf.d",
    "vseqi.b",
    "vseqi.h",
    "vseqi.w",
    "vseqi.d",
    "vslei.b",
    "vslei.h",
    "vslei.w",
    "vslei.d",
    "vslei.bu",
    "vslei.hu",
    "vslei.wu",
    "vslei.du",
    "vslti.b",
    "vslti.h",
    "vslti.w",
    "vslti.d",
    "vslti.bu",
    "vslti.hu",
    "vslti.wu",
    "vslti.du",
    "vaddi.bu",
    "vaddi.hu",
    "vaddi.wu",
    "vaddi.du",
    "vsubi.bu",
    "vsubi.hu",
    "vsubi.wu",
    "vsubi.du",
    "vbsll.v",
    "vbsrl.v",
    "vmaxi.b",
    "vmaxi.h",
    "vmaxi.w",
    "vmaxi.d",
    "vmini.b",
    "vmini.h",
    "vmini.w",
    "vmini.d",
    "vmaxi.bu",
    "vmaxi.hu",
    "vmaxi.wu",
    "vmaxi.du",
    "vmini.bu",
    "vmini.hu",
    "vmini.wu",
    "vmini.du",
    "vrandsigni.b",
    "vrandsigni.h",
    "vrorsigni.b",
    "vrorsigni.h",
    "vfrstpi.b",
    "vfrstpi.h",
    "vclrstri.v",
    "vmepatmsk.v",
    "vclo.b",
    "vclo.h",
    "vclo.w",
    "vclo.d",
    "vclz.b",
    "vclz.h",
    "vclz.w",
    "vclz.d",
    "vpcnt.b",
    "vpcnt.h",
    "vpcnt.w",
    "vpcnt.d",
    "vneg.b",
    "vneg.h",
    "vneg.w",
    "vneg.d",
    "vmskltz.b",
    "vmskltz.h",
    "vmskltz.w",
    "vmskltz.d",
    "vmskgez.b",
    "vmsknz.b",
    "vmskcopy.b",
    "vmskfill.b",
    "vfrstm.b",
    "vfrstm.h",
    "vseteqz.v",
    "vsetnez.v",
    "vsetanyeqz.b",
    "vsetanyeqz.h",
    "vsetanyeqz.w",
    "vsetanyeqz.d",
    "vsetallnez.b",
    "vsetallnez.h",
    "vsetallnez.w",
    "vsetallnez.d",
    "vflogb.s",
    "vflogb.d",
    "vfclass.s",
    "vfclass.d",
    "vfsqrt.s",
    "vfsqrt.d",
    "vfrecip.s",
    "vfrecip.d",
    "vfrsqrt.s",
    "vfrsqrt.d",
    "vfrint.s",
    "vfrint.d",
    "vfrintrm.s",
    "vfrintrm.d",
    "vfrintrp.s",
    "vfrintrp.d",
    "vfrintrz.s",
    "vfrintrz.d",
    "vfrintrne.s",
    "vfrintrne.d",
    "vextl.w_b",
    "vextl.d_b",
    "vextl.d_h",
    "vextl.w_bu",
    "vextl.d_bu",
    "vextl.d_hu",
    "vhadd8.d_bu",
    "vhminpos.w_hu",
    "vhminpos.d_hu",
    "vhminpos.q_hu",
    "vclrtail.b",
    "vclrtail.h",
    "vfcvtl.s_h",
    "vfcvth.s_h",
    "vfcvtl.d_s",
    "vfcvth.d_s",
    "vffint.s_w",
    "vffint.s_wu",
    "vffint.d_l",
    "vffint.d_lu",
    "vffintl.d_w",
    "vffinth.d_w",
    "vftint.w_s",
    "vftint.l_d",
    "vftintrm.w_s",
    "vftintrm.l_d",
    "vftintrp.w_s",
    "vftintrp.l_d",
    "vftintrz.w_s",
    "vftintrz.l_d",
    "vftintrne.w_s",
    "vftintrne.l_d",
    "vftint.wu_s",
    "vftint.lu_d",
    "vftintrz.wu_s",
    "vftintrz.lu_d",
    "vftintl.l_s",
    "vftinth.l_s",
    "vftintrml.l_s",
    "vftintrmh.l_s",
    "vftintrpl.l_s",
    "vftintrph.l_s",
    "vftintrzl.l_s",
    "vftintrzh.l_s",
    "vftintrnel.l_s",
    "vftintrneh.l_s",
    "vexth.h_b",
    "vexth.w_h",
    "vexth.d_w",
    "vexth.q_d",
    "vexth.hu_bu",
    "vexth.wu_hu",
    "vexth.du_wu",
    "vexth.qu_du",
    "vreplgr2vr.b",
    "vreplgr2vr.h",
    "vreplgr2vr.w",
    "vreplgr2vr.d",
    "vrotri.b",
    "vrotri.h",
    "vrotri.w",
    "vrotri.d",
    "vsrlri.b",
    "vsrlri.h",
    "vsrlri.w",
    "vsrlri.d",
    "vsrari.b",
    "vsrari.h",
    "vsrari.w",
    "vsrari.d",
    "vinsgr2vr.b",
    "vinsgr2vr.h",
    "vinsgr2vr.w",
    "vinsgr2vr.d",
    "vpickve2gr.b",
    "vpickve2gr.h",
    "vpickve2gr.w",
    "vpickve2gr.d",
    "vpickve2gr.bu",
    "vpickve2gr.hu",
    "vpickve2gr.wu",
    "vpickve2gr.du",
    "vreplvei.b",
    "vreplvei.h",
    "vreplvei.w",
    "vreplvei.d",
    "vextrcoli.b",
    "vextrcoli.h",
    "vextrcoli.w",
    "vextrcoli.d",
    "vsllwil.h_b",
    "vsllwil.w_h",
    "vsllwil.d_w",
    "vextl.q_d",
    "vsllwil.hu_bu",
    "vsllwil.wu_hu",
    "vsllwil.du_wu",
    "vextl.qu_du",
    "vbitclri.b",
    "vbitclri.h",
    "vbitclri.w",
    "vbitclri.d",
    "vbitseti.b",
    "vbitseti.h",
    "vbitseti.w",
    "vbitseti.d",
    "vbitrevi.b",
    "vbitrevi.h",
    "vbitrevi.w",
    "vbitrevi.d",
    "vbstrc12i.b",
    "vbstrc12i.h",
    "vbstrc12i.w",
    "vbstrc12i.d",
    "vbstrc21i.b",
    "vbstrc21i.h",
    "vbstrc21i.w",
    "vbstrc21i.d",
    "vsat.b",
    "vsat.h",
    "vsat.w",
    "vsat.d",
    "vsat.bu",
    "vsat.hu",
    "vsat.wu",
    "vsat.du",
    "vslli.b",
    "vslli.h",
    "vslli.w",
    "vslli.d",
    "vsrli.b",
    "vsrli.h",
    "vsrli.w",
    "vsrli.d",
    "vsrai.b",
    "vsrai.h",
    "vsrai.w",
    "vsrai.d",
    "vsrlrneni.b_h",
    "vsrlrneni.h_w",
    "vsrlrneni.w_d",
    "vsrlrneni.d_q",
    "vsrarneni.b_h",
    "vsrarneni.h_w",
    "vsrarneni.w_d",
    "vsrarneni.d_q",
    "vsrlni.b_h",
    "vsrlni.h_w",
    "vsrlni.w_d",
    "vsrlni.d_q",
    "vsrlrni.b_h",
    "vsrlrni.h_w",
    "vsrlrni.w_d",
    "vsrlrni.d_q",
    "vssrlni.b_h",
    "vssrlni.h_w",
    "vssrlni.w_d",
    "vssrlni.d_q",
    "vssrlni.bu_h",
    "vssrlni.hu_w",
    "vssrlni.wu_d",
    "vssrlni.du_q",
    "vssrlrni.b_h",
    "vssrlrni.h_w",
    "vssrlrni.w_d",
    "vssrlrni.d_q",
    "vssrlrni.bu_h",
    "vssrlrni.hu_w",
    "vssrlrni.wu_d",
    "vssrlrni.du_q",
    "vsrani.b_h",
    "vsrani.h_w",
    "vsrani.w_d",
    "vsrani.d_q",
    "vsrarni.b_h",
    "vsrarni.h_w",
    "vsrarni.w_d",
    "vsrarni.d_q",
    "vssrani.b_h",
    "vssrani.h_w",
    "vssrani.w_d",
    "vssrani.d_q",
    "vssrani.bu_h",
    "vssrani.hu_w",
    "vssrani.wu_d",
    "vssrani.du_q",
    "vssrarni.b_h",
    "vssrarni.h_w",
    "vssrarni.w_d",
    "vssrarni.d_q",
    "vssrarni.bu_h",
    "vssrarni.hu_w",
    "vssrarni.wu_d",
    "vssrarni.du_q",
    "vssrlrneni.b_h",
    "vssrlrneni.h_w",
    "vssrlrneni.w_d",
    "vssrlrneni.d_q",
    "vssrlrneni.bu_h",
    "vssrlrneni.hu_w",
    "vssrlrneni.wu_d",
    "vssrlrneni.du_q",
    "vssrarneni.b_h",
    "vssrarneni.h_w",
    "vssrarneni.w_d",
    "vssrarneni.d_q",
    "vssrarneni.bu_h",
    "vssrarneni.hu_w",
    "vssrarneni.wu_d",
    "vssrarneni.du_q",
    "vextrins.d",
    "vextrins.w",
    "vextrins.h",
    "vextrins.b",
    "vshuf4i.b",
    "vshuf4i.h",
    "vshuf4i.w",
    "vshuf4i.d",
    "vshufi1.b",
    "vshufi2.b",
    "vshufi3.b",
    "vshufi4.b",
    "vshufi1.h",
    "vshufi2.h",
    "vseli.h",
    "vseli.w",
    "vseli.d",
    "vbitseli.b",
    "vbitmvzi.b",
    "vbitmvnzi.b",
    "vandi.b",
    "vori.b",
    "vxori.b",
    "vnori.b",
    "vldi",
    "vpermi.w",
    "xvseq.b",
    "xvseq.h",
    "xvseq.w",
    "xvseq.d",
    "xvsle.b",
    "xvsle.h",
    "xvsle.w",
    "xvsle.d",
    "xvsle.bu",
    "xvsle.hu",
    "xvsle.wu",
    "xvsle.du",
    "xvslt.b",
    "xvslt.h",
    "xvslt.w",
    "xvslt.d",
    "xvslt.bu",
    "xvslt.hu",
    "xvslt.wu",
    "xvslt.du",
    "xvadd.b",
    "xvadd.h",
    "xvadd.w",
    "xvadd.d",
    "xvsub.b",
    "xvsub.h",
    "xvsub.w",
    "xvsub.d",
    "xvaddw.h_h_b",
    "xvaddw.w_w_h",
    "xvaddw.d_d_w",
    "xvaddw.h_h_bu",
    "xvaddw.w_w_hu",
    "xvaddw.d_d_wu",
    "xvsubw.h_h_b",
    "xvsubw.w_w_h",
    "xvsubw.d_d_w",
    "xvsubw.h_h_bu",
    "xvsubw.w_w_hu",
    "xvsubw.d_d_wu",
    "xvsaddw.h_h_b",
    "xvsaddw.w_w_h",
    "xvsaddw.d_d_w",
    "xvsaddw.hu_hu_bu",
    "xvsaddw.wu_wu_hu",
    "xvsaddw.du_du_wu",
    "xvssubw.h_h_b",
    "xvssubw.w_w_h",
    "xvssubw.d_d_w",
    "xvssubw.hu_hu_bu",
    "xvssubw.wu_wu_hu",
    "xvssubw.du_du_wu",
    "xvaddwev.h_b",
    "xvaddwev.w_h",
    "xvaddwev.d_w",
    "xvaddwev.q_d",
    "xvsubwev.h_b",
    "xvsubwev.w_h",
    "xvsubwev.d_w",
    "xvsubwev.q_d",
    "xvaddwod.h_b",
    "xvaddwod.w_h",
    "xvaddwod.d_w",
    "xvaddwod.q_d",
    "xvsubwod.h_b",
    "xvsubwod.w_h",
    "xvsubwod.d_w",
    "xvsubwod.q_d",
    "xvaddwl.h_b",
    "xvaddwl.w_h",
    "xvaddwl.d_w",
    "xvaddwl.q_d",
    "xvsubwl.h_b",
    "xvsubwl.w_h",
    "xvsubwl.d_w",
    "xvsubwl.q_d",
    "xvaddwh.h_b",
    "xvaddwh.w_h",
    "xvaddwh.d_w",
    "xvaddwh.q_d",
    "xvsubwh.h_b",
    "xvsubwh.w_h",
    "xvsubwh.d_w",
    "xvsubwh.q_d",
    "xvaddwev.h_bu",
    "xvaddwev.w_hu",
    "xvaddwev.d_wu",
    "xvaddwev.q_du",
    "xvsubwev.h_bu",
    "xvsubwev.w_hu",
    "xvsubwev.d_wu",
    "xvsubwev.q_du",
    "xvaddwod.h_bu",
    "xvaddwod.w_hu",
    "xvaddwod.d_wu",
    "xvaddwod.q_du",
    "xvsubwod.h_bu",
    "xvsubwod.w_hu",
    "xvsubwod.d_wu",
    "xvsubwod.q_du",
    "xvaddwl.h_bu",
    "xvaddwl.w_hu",
    "xvaddwl.d_wu",
    "xvaddwl.q_du",
    "xvsubwl.h_bu",
    "xvsubwl.w_hu",
    "xvsubwl.d_wu",
    "xvsubwl.q_du",
    "xvaddwh.h_bu",
    "xvaddwh.w_hu",
    "xvaddwh.d_wu",
    "xvaddwh.q_du",
    "xvsubwh.h_bu",
    "xvsubwh.w_hu",
    "xvsubwh.d_wu",
    "xvsubwh.q_du",
    "xvaddwev.h_bu_b",
    "xvaddwev.w_hu_h",
    "xvaddwev.d_wu_w",
    "xvaddwev.q_du_d",
    "xvaddwod.h_bu_b",
    "xvaddwod.w_hu_h",
    "xvaddwod.d_wu_w",
    "xvaddwod.q_du_d",
    "xvaddwl.h_bu_b",
    "xvaddwl.w_hu_h",
    "xvaddwl.d_wu_w",
    "xvaddwl.q_du_d",
    "xvaddwh.h_bu_b",
    "xvaddwh.w_hu_h",
    "xvaddwh.d_wu_w",
    "xvaddwh.q_du_d",
    "xvsadd.b",
    "xvsadd.h",
    "xvsadd.w",
    "xvsadd.d",
    "xvssub.b",
    "xvssub.h",
    "xvssub.w",
    "xvssub.d",
    "xvsadd.bu",
    "xvsadd.hu",
    "xvsadd.wu",
    "xvsadd.du",
    "xvssub.bu",
    "xvssub.hu",
    "xvssub.wu",
    "xvssub.du",
    "xvssub.bu_bu_b",
    "xvssub.hu_hu_h",
    "xvssub.wu_wu_w",
    "xvssub.du_du_d",
    "xvssub.bu_b_bu",
    "xvssub.hu_h_hu",
    "xvssub.wu_w_wu",
    "xvssub.du_d_du",
    "xvssub.b_bu_bu",
    "xvssub.h_hu_hu",
    "xvssub.w_wu_wu",
    "xvssub.d_du_du",
    "xvhaddw.h_b",
    "xvhaddw.w_h",
    "xvhaddw.d_w",
    "xvhaddw.q_d",
    "xvhsubw.h_b",
    "xvhsubw.w_h",
    "xvhsubw.d_w",
    "xvhsubw.q_d",
    "xvhaddw.hu_bu",
    "xvhaddw.wu_hu",
    "xvhaddw.du_wu",
    "xvhaddw.qu_du",
    "xvhsubw.hu_bu",
    "xvhsubw.wu_hu",
    "xvhsubw.du_wu",
    "xvhsubw.qu_du",
    "xvadda.b",
    "xvadda.h",
    "xvadda.w",
    "xvadda.d",
    "xvsadda.b",
    "xvsadda.h",
    "xvsadda.w",
    "xvsadda.d",
    "xvabsd.b",
    "xvabsd.h",
    "xvabsd.w",
    "xvabsd.d",
    "xvabsd.bu",
    "xvabsd.hu",
    "xvabsd.wu",
    "xvabsd.du",
    "xvavg.b",
    "xvavg.h",
    "xvavg.w",
    "xvavg.d",
    "xvavg.bu",
    "xvavg.hu",
    "xvavg.wu",
    "xvavg.du",
    "xvavgr.b",
    "xvavgr.h",
    "xvavgr.w",
    "xvavgr.d",
    "xvavgr.bu",
    "xvavgr.hu",
    "xvavgr.wu",
    "xvavgr.du",
    "xvhalfd.b",
    "xvhalfd.h",
    "xvhalfd.w",
    "xvhalfd.d",
    "xvhalfd.bu",
    "xvhalfd.hu",
    "xvhalfd.wu",
    "xvhalfd.du",
    "xvmax.b",
    "xvmax.h",
    "xvmax.w",
    "xvmax.d",
    "xvmin.b",
    "xvmin.h",
    "xvmin.w",
    "xvmin.d",
    "xvmax.bu",
    "xvmax.hu",
    "xvmax.wu",
    "xvmax.du",
    "xvmin.bu",
    "xvmin.hu",
    "xvmin.wu",
    "xvmin.du",
    "xvmaxa.b",
    "xvmaxa.h",
    "xvmaxa.w",
    "xvmaxa.d",
    "xvmina.b",
    "xvmina.h",
    "xvmina.w",
    "xvmina.d",
    "xvsadw.h_b",
    "xvsadw.w_h",
    "xvsadw.d_w",
    "xvsadw.h_bu",
    "xvsadw.w_hu",
    "xvsadw.d_wu",
    "xvaccsadw.h_b",
    "xvaccsadw.w_h",
    "xvaccsadw.d_w",
    "xvaccsadw.h_bu",
    "xvaccsadw.w_hu",
    "xvaccsadw.d_wu",
    "xvmul.b",
    "xvmul.h",
    "xvmul.w",
    "xvmul.d",
    "xvmuh.b",
    "xvmuh.h",
    "xvmuh.w",
    "xvmuh.d",
    "xvmuh.bu",
    "xvmuh.hu",
    "xvmuh.wu",
    "xvmuh.du",
    "xvmuh.bu_b",
    "xvmuh.hu_h",
    "xvmuh.wu_w",
    "xvmuh.du_d",
    "xvmulxw.h_b",
    "xvmulxw.w_h",
    "xvmulxw.d_w",
    "xvmulxw.h_bu",
    "xvmulxw.w_hu",
    "xvmulxw.d_wu",
    "xvmulwev.h_b",
    "xvmulwev.w_h",
    "xvmulwev.d_w",
    "xvmulwev.q_d",
    "xvmulwod.h_b",
    "xvmulwod.w_h",
    "xvmulwod.d_w",
    "xvmulwod.q_d",
    "xvmulwl.h_b",
    "xvmulwl.w_h",
    "xvmulwl.d_w",
    "xvmulwl.q_d",
    "xvmulwh.h_b",
    "xvmulwh.w_h",
    "xvmulwh.d_w",
    "xvmulwh.q_d",
    "xvmulwev.h_bu",
    "xvmulwev.w_hu",
    "xvmulwev.d_wu",
    "xvmulwev.q_du",
    "xvmulwod.h_bu",
    "xvmulwod.w_hu",
    "xvmulwod.d_wu",
    "xvmulwod.q_du",
    "xvmulwl.h_bu",
    "xvmulwl.w_hu",
    "xvmulwl.d_wu",
    "xvmulwl.q_du",
    "xvmulwh.h_bu",
    "xvmulwh.w_hu",
    "xvmulwh.d_wu",
    "xvmulwh.q_du",
    "xvmulwev.h_bu_b",
    "xvmulwev.w_hu_h",
    "xvmulwev.d_wu_w",
    "xvmulwev.q_du_d",
    "xvmulwod.h_bu_b",
    "xvmulwod.w_hu_h",
    "xvmulwod.d_wu_w",
    "xvmulwod.q_du_d",
    "xvmulwl.h_bu_b",
    "xvmulwl.w_hu_h",
    "xvmulwl.d_wu_w",
    "xvmulwl.q_du_d",
    "xvmulwh.h_bu_b",
    "xvmulwh.w_hu_h",
    "xvmulwh.d_wu_w",
    "xvmulwh.q_du_d",
    "xvmadd.b",
    "xvmadd.h",
    "xvmadd.w",
    "xvmadd.d",
    "xvmsub.b",
    "xvmsub.h",
    "xvmsub.w",
    "xvmsub.d",
    "xvmaddwev.h_b",
    "xvmaddwev.w_h",
    "xvmaddwev.d_w",
    "xvmaddwev.q_d",
    "xvmaddwod.h_b",
    "xvmaddwod.w_h",
    "xvmaddwod.d_w",
    "xvmaddwod.q_d",
    "xvmaddwl.h_b",
    "xvmaddwl.w_h",
    "xvmaddwl.d_w",
    "xvmaddwl.q_d",
    "xvmaddwh.h_b",
    "xvmaddwh.w_h",
    "xvmaddwh.d_w",
    "xvmaddwh.q_d",
    "xvmaddwev.h_bu",
    "xvmaddwev.w_hu",
    "xvmaddwev.d_wu",
    "xvmaddwev.q_du",
    "xvmaddwod.h_bu",
    "xvmaddwod.w_hu",
    "xvmaddwod.d_wu",
    "xvmaddwod.q_du",
    "xvmaddwl.h_bu",
    "xvmaddwl.w_hu",
    "xvmaddwl.d_wu",
    "xvmaddwl.q_du",
    "xvmaddwh.h_bu",
    "xvmaddwh.w_hu",
    "xvmaddwh.d_wu",
    "xvmaddwh.q_du",
    "xvmaddwev.h_bu_b",
    "xvmaddwev.w_hu_h",
    "xvmaddwev.d_wu_w",
    "xvmaddwev.q_du_d",
    "xvmaddwod.h_bu_b",
    "xvmaddwod.w_hu_h",
    "xvmaddwod.d_wu_w",
    "xvmaddwod.q_du_d",
    "xvmaddwl.h_bu_b",
    "xvmaddwl.w_hu_h",
    "xvmaddwl.d_wu_w",
    "xvmaddwl.q_du_d",
    "xvmaddwh.h_bu_b",
    "xvmaddwh.w_hu_h",
    "xvmaddwh.d_wu_w",
    "xvmaddwh.q_du_d",
    "xvdp2.h_b",
    "xvdp2.w_h",
    "xvdp2.d_w",
    "xvdp2.q_d",
    "xvdp2.hu_bu",
    "xvdp2.wu_hu",
    "xvdp2.du_wu",
    "xvdp2.qu_du",
    "xvdp2.h_bu_b",
    "xvdp2.w_hu_h",
    "xvdp2.d_wu_w",
    "xvdp2.q_du_d",
    "xvdp2add.h_b",
    "xvdp2add.w_h",
    "xvdp2add.d_w",
    "xvdp2add.q_d",
    "xvdp2add.h_bu",
    "xvdp2add.w_hu",
    "xvdp2add.d_wu",
    "xvdp2add.q_du",
    "xvdp2add.h_bu_b",
    "xvdp2add.w_hu_h",
    "xvdp2add.d_wu_w",
    "xvdp2add.q_du_d",
    "xvdp2sub.h_b",
    "xvdp2sub.w_h",
    "xvdp2sub.d_w",
    "xvdp2sub.q_d",
    "xvdp2sub.h_bu",
    "xvdp2sub.w_hu",
    "xvdp2sub.d_wu",
    "xvdp2sub.q_du",
    "xvdp4.w_b",
    "xvdp4.d_h",
    "xvdp4.q_w",
    "xvdp4.w_bu",
    "xvdp4.d_hu",
    "xvdp4.q_wu",
    "xvdp4.w_bu_b",
    "xvdp4.d_hu_h",
    "xvdp4.q_wu_w",
    "xvdp4add.w_b",
    "xvdp4add.d_h",
    "xvdp4add.q_w",
    "xvdp4add.w_bu",
    "xvdp4add.d_hu",
    "xvdp4add.q_wu",
    "xvdp4add.w_bu_b",
    "xvdp4add.d_hu_h",
    "xvdp4add.q_wu_w",
    "xvdiv.b",
    "xvdiv.h",
    "xvdiv.w",
    "xvdiv.d",
    "xvmod.b",
    "xvmod.h",
    "xvmod.w",
    "xvmod.d",
    "xvdiv.bu",
    "xvdiv.hu",
    "xvdiv.wu",
    "xvdiv.du",
    "xvmod.bu",
    "xvmod.hu",
    "xvmod.wu",
    "xvmod.du",
    "xvsll.b",
    "xvsll.h",
    "xvsll.w",
    "xvsll.d",
    "xvsrl.b",
    "xvsrl.h",
    "xvsrl.w",
    "xvsrl.d",
    "xvsra.b",
    "xvsra.h",
    "xvsra.w",
    "xvsra.d",
    "xvrotr.b",
    "xvrotr.h",
    "xvrotr.w",
    "xvrotr.d",
    "xvsrlr.b",
    "xvsrlr.h",
    "xvsrlr.w",
    "xvsrlr.d",
    "xvsrar.b",
    "xvsrar.h",
    "xvsrar.w",
    "xvsrar.d",
    "xvsrln.b_h",
    "xvsrln.h_w",
    "xvsrln.w_d",
    "xvsran.b_h",
    "xvsran.h_w",
    "xvsran.w_d",
    "xvsrlrn.b_h",
    "xvsrlrn.h_w",
    "xvsrlrn.w_d",
    "xvsrarn.b_h",
    "xvsrarn.h_w",
    "xvsrarn.w_d",
    "xvssrln.b_h",
    "xvssrln.h_w",
    "xvssrln.w_d",
    "xvssran.b_h",
    "xvssran.h_w",
    "xvssran.w_d",
    "xvssrlrn.b_h",
    "xvssrlrn.h_w",
    "xvssrlrn.w_d",
    "xvssrarn.b_h",
    "xvssrarn.h_w",
    "xvssrarn.w_d",
    "xvssrln.bu_h",
    "xvssrln.hu_w",
    "xvssrln.wu_d",
    "xvssran.bu_h",
    "xvssran.hu_w",
    "xvssran.wu_d",
    "xvssrlrn.bu_h",
    "xvssrlrn.hu_w",
    "xvssrlrn.wu_d",
    "xvssrarn.bu_h",
    "xvssrarn.hu_w",
    "xvssrarn.wu_d",
    "xvbitclr.b",
    "xvbitclr.h",
    "xvbitclr.w",
    "xvbitclr.d",
    "xvbitset.b",
    "xvbitset.h",
    "xvbitset.w",
    "xvbitset.d",
    "xvbitrev.b",
    "xvbitrev.h",
    "xvbitrev.w",
    "xvbitrev.d",
    "xvbstrc12.b",
    "xvbstrc12.h",
    "xvbstrc12.w",
    "xvbstrc12.d",
    "xvbstrc21.b",
    "xvbstrc21.h",
    "xvbstrc21.w",
    "xvbstrc21.d",
    "xvpackev.b",
    "xvpackev.h",
    "xvpackev.w",
    "xvpackev.d",
    "xvpackod.b",
    "xvpackod.h",
    "xvpackod.w",
    "xvpackod.d",
    "xvilvl.b",
    "xvilvl.h",
    "xvilvl.w",
    "xvilvl.d",
    "xvilvh.b",
    "xvilvh.h",
    "xvilvh.w",
    "xvilvh.d",
    "xvpickev.b",
    "xvpickev.h",
    "xvpickev.w",
    "xvpickev.d",
    "xvpickod.b",
    "xvpickod.h",
    "xvpickod.w",
    "xvpickod.d",
    "xvreplve.b",
    "xvreplve.h",
    "xvreplve.w",
    "xvreplve.d",
    "xvextrcol.b",
    "xvextrcol.h",
    "xvextrcol.w",
    "xvextrcol.d",
    "xvand.v",
    "xvor.v",
    "xvxor.v",
    "xvnor.v",
    "xvandn.v",
    "xvorn.v",
    "xvrandsign.b",
    "xvrandsign.h",
    "xvrorsign.b",
    "xvrorsign.h",
    "xvfrstp.b",
    "xvfrstp.h",
    "xvclrstrr.v",
    "xvclrstrv.v",
    "xvadd.q",
    "xvsub.q",
    "xvsigncov.b",
    "xvsigncov.h",
    "xvsigncov.w",
    "xvsigncov.d",
    "xvfadd.s",
    "xvfadd.d",
    "xvfsub.s",
    "xvfsub.d",
    "xvfaddsub.s",
    "xvfaddsub.d",
    "xvfsubadd.s",
    "xvfsubadd.d",
    "xvfmul.s",
    "xvfmul.d",
    "xvfdiv.s",
    "xvfdiv.d",
    "xvfmax.s",
    "xvfmax.d",
    "xvfmin.s",
    "xvfmin.d",
    "xvfmaxa.s",
    "xvfmaxa.d",
    "xvfmina.s",
    "xvfmina.d",
    "xvfscaleb.s",
    "xvfscaleb.d",
    "xvfcvt.h_s",
    "xvfcvt.s_d",
    "xvffint.s_l",
    "xvftint.w_d",
    "xvftintrm.w_d",
    "xvftintrp.w_d",
    "xvftintrz.w_d",
    "xvftintrne.w_d",
    "xvhadd4.h_bu",
    "xvshuf4.w",
    "xvshuf2.d",
    "xvpmul.w",
    "xvpmul.d",
    "xvpmuh.w",
    "xvpmuh.d",
    "xvpmulacc.w",
    "xvpmulacc.d",
    "xvpmuhacc.w",
    "xvpmuhacc.d",
    "xvpmulwl.h_b",
    "xvpmulwl.w_h",
    "xvpmulwl.d_w",
    "xvpmulwl.q_d",
    "xvpmulwh.h_b",
    "xvpmulwh.w_h",
    "xvpmulwh.d_w",
    "xvpmulwh.q_d",
    "xvpmaddwl.h_b",
    "xvpmaddwl.w_h",
    "xvpmaddwl.d_w",
    "xvpmaddwl.q_d",
    "xvpmaddwh.h_b",
    "xvpmaddwh.w_h",
    "xvpmaddwh.d_w",
    "xvpmaddwh.q_d",
    "xvpdp2.q_d",
    "xvpdp2add.q_d",
    "xvcdp4.re_d_h",
    "xvcdp4.im_d_h",
    "xvcdp4add.re_d_h",
    "xvcdp4add.im_d_h",
    "xvcdp2.re_q_w",
    "xvcdp2.im_q_w",
    "xvcdp2add.re_q_w",
    "xvcdp2add.im_q_w",
    "xvsignsel.w",
    "xvsignsel.d",
    "xvshuf.h",
    "xvshuf.w",
    "xvshuf.d",
    "xvperm.w",
    "xvseqi.b",
    "xvseqi.h",
    "xvseqi.w",
    "xvseqi.d",
    "xvslei.b",
    "xvslei.h",
    "xvslei.w",
    "xvslei.d",
    "xvslei.bu",
    "xvslei.hu",
    "xvslei.wu",
    "xvslei.du",
    "xvslti.b",
    "xvslti.h",
    "xvslti.w",
    "xvslti.d",
    "xvslti.bu",
    "xvslti.hu",
    "xvslti.wu",
    "xvslti.du",
    "xvaddi.bu",
    "xvaddi.hu",
    "xvaddi.wu",
    "xvaddi.du",
    "xvsubi.bu",
    "xvsubi.hu",
    "xvsubi.wu",
    "xvsubi.du",
    "xvbsll.v",
    "xvbsrl.v",
    "xvmaxi.b",
    "xvmaxi.h",
    "xvmaxi.w",
    "xvmaxi.d",
    "xvmini.b",
    "xvmini.h",
    "xvmini.w",
    "xvmini.d",
    "xvmaxi.bu",
    "xvmaxi.hu",
    "xvmaxi.wu",
    "xvmaxi.du",
    "xvmini.bu",
    "xvmini.hu",
    "xvmini.wu",
    "xvmini.du",
    "xvrandsigni.b",
    "xvrandsigni.h",
    "xvrorsigni.b",
    "xvrorsigni.h",
    "xvfrstpi.b",
    "xvfrstpi.h",
    "xvclrstri.v",
    "xvmepatmsk.v",
    "xvclo.b",
    "xvclo.h",
    "xvclo.w",
    "xvclo.d",
    "xvclz.b",
    "xvclz.h",
    "xvclz.w",
    "xvclz.d",
    "xvpcnt.b",
    "xvpcnt.h",
    "xvpcnt.w",
    "xvpcnt.d",
    "xvneg.b",
    "xvneg.h",
    "xvneg.w",
    "xvneg.d",
    "xvmskltz.b",
    "xvmskltz.h",
    "xvmskltz.w",
    "xvmskltz.d",
    "xvmskgez.b",
    "xvmsknz.b",
    "xvmskcopy.b",
    "xvmskfill.b",
    "xvfrstm.b",
    "xvfrstm.h",
    "xvseteqz.v",
    "xvsetnez.v",
    "xvsetanyeqz.b",
    "xvsetanyeqz.h",
    "xvsetanyeqz.w",
    "xvsetanyeqz.d",
    "xvsetallnez.b",
    "xvsetallnez.h",
    "xvsetallnez.w",
    "xvsetallnez.d",
    "xvflogb.s",
    "xvflogb.d",
    "xvfclass.s",
    "xvfclass.d",
    "xvfsqrt.s",
    "xvfsqrt.d",
    "xvfrecip.s",
    "xvfrecip.d",
    "xvfrsqrt.s",
    "xvfrsqrt.d",
    "xvfrint.s",
    "xvfrint.d",
    "xvfrintrm.s",
    "xvfrintrm.d",
    "xvfrintrp.s",
    "xvfrintrp.d",
    "xvfrintrz.s",
    "xvfrintrz.d",
    "xvfrintrne.s",
    "xvfrintrne.d",
    "xvextl.w_b",
    "xvextl.d_b",
    "xvextl.d_h",
    "xvextl.w_bu",
    "xvextl.d_bu",
    "xvextl.d_hu",
    "xvhadd8.d_bu",
    "xvhminpos.w_hu",
    "xvhminpos.d_hu",
    "xvhminpos.q_hu",
    "xvclrtail.b",
    "xvclrtail.h",
    "xvfcvtl.s_h",
    "xvfcvth.s_h",
    "xvfcvtl.d_s",
    "xvfcvth.d_s",
    "xvffint.s_w",
    "xvffint.s_wu",
    "xvffint.d_l",
    "xvffint.d_lu",
    "xvffintl.d_w",
    "xvffinth.d_w",
    "xvftint.w_s",
    "xvftint.l_d",
    "xvftintrm.w_s",
    "xvftintrm.l_d",
    "xvftintrp.w_s",
    "xvftintrp.l_d",
    "xvftintrz.w_s",
    "xvftintrz.l_d",
    "xvftintrne.w_s",
    "xvftintrne.l_d",
    "xvftint.wu_s",
    "xvftint.lu_d",
    "xvftintrz.wu_s",
    "xvftintrz.lu_d",
    "xvftintl.l_s",
    "xvftinth.l_s",
    "xvftintrml.l_s",
    "xvftintrmh.l_s",
    "xvftintrpl.l_s",
    "xvftintrph.l_s",
    "xvftintrzl.l_s",
    "xvftintrzh.l_s",
    "xvftintrnel.l_s",
    "xvftintrneh.l_s",
    "xvexth.h_b",
    "xvexth.w_h",
    "xvexth.d_w",
    "xvexth.q_d",
    "xvexth.hu_bu",
    "xvexth.wu_hu",
    "xvexth.du_wu",
    "xvexth.qu_du",
    "xvreplgr2vr.b",
    "xvreplgr2vr.h",
    "xvreplgr2vr.w",
    "xvreplgr2vr.d",
    "vext2xv.h_b",
    "vext2xv.w_b",
    "vext2xv.d_b",
    "vext2xv.w_h",
    "vext2xv.d_h",
    "vext2xv.d_w",
    "vext2xv.hu_bu",
    "vext2xv.wu_bu",
    "vext2xv.du_bu",
    "vext2xv.wu_hu",
    "vext2xv.du_hu",
    "vext2xv.du_wu",
    "xvhseli.d",
    "xvrotri.b",
    "xvrotri.h",
    "xvrotri.w",
    "xvrotri.d",
    "xvsrlri.b",
    "xvsrlri.h",
    "xvsrlri.w",
    "xvsrlri.d",
    "xvsrari.b",
    "xvsrari.h",
    "xvsrari.w",
    "xvsrari.d",
    "xvinsgr2vr.w",
    "xvinsgr2vr.d",
    "xvpickve2gr.w",
    "xvpickve2gr.d",
    "xvpickve2gr.wu",
    "xvpickve2gr.du",
    "xvrepl128vei.b",
    "xvrepl128vei.h",
    "xvrepl128vei.w",
    "xvrepl128vei.d",
    "xvextrcoli.b",
    "xvextrcoli.h",
    "xvextrcoli.w",
    "xvextrcoli.d",
    "xvinsve0.w",
    "xvinsve0.d",
    "xvpickve.w",
    "xvpickve.d",
    "xvreplve0.b",
    "xvreplve0.h",
    "xvreplve0.w",
    "xvreplve0.d",
    "xvreplve0.q",
    "xvsllwil.h_b",
    "xvsllwil.w_h",
    "xvsllwil.d_w",
    "xvextl.q_d",
    "xvsllwil.hu_bu",
    "xvsllwil.wu_hu",
    "xvsllwil.du_wu",
    "xvextl.qu_du",
    "xvbitclri.b",
    "xvbitclri.h",
    "xvbitclri.w",
    "xvbitclri.d",
    "xvbitseti.b",
    "xvbitseti.h",
    "xvbitseti.w",
    "xvbitseti.d",
    "xvbitrevi.b",
    "xvbitrevi.h",
    "xvbitrevi.w",
    "xvbitrevi.d",
    "xvbstrc12i.b",
    "xvbstrc12i.h",
    "xvbstrc12i.w",
    "xvbstrc12i.d",
    "xvbstrc21i.b",
    "xvbstrc21i.h",
    "xvbstrc21i.w",
    "xvbstrc21i.d",
    "xvsat.b",
    "xvsat.h",
    "xvsat.w",
    "xvsat.d",
    "xvsat.bu",
    "xvsat.hu",
    "xvsat.wu",
    "xvsat.du",
    "xvslli.b",
    "xvslli.h",
    "xvslli.w",
    "xvslli.d",
    "xvsrli.b",
    "xvsrli.h",
    "xvsrli.w",
    "xvsrli.d",
    "xvsrai.b",
    "xvsrai.h",
    "xvsrai.w",
    "xvsrai.d",
    "xvsrlrneni.b_h",
    "xvsrlrneni.h_w",
    "xvsrlrneni.w_d",
    "xvsrlrneni.d_q",
    "xvsrarneni.b_h",
    "xvsrarneni.h_w",
    "xvsrarneni.w_d",
    "xvsrarneni.d_q",
    "xvsrlni.b_h",
    "xvsrlni.h_w",
    "xvsrlni.w_d",
    "xvsrlni.d_q",
    "xvsrlrni.b_h",
    "xvsrlrni.h_w",
    "xvsrlrni.w_d",
    "xvsrlrni.d_q",
    "xvssrlni.b_h",
    "xvssrlni.h_w",
    "xvssrlni.w_d",
    "xvssrlni.d_q",
    "xvssrlni.bu_h",
    "xvssrlni.hu_w",
    "xvssrlni.wu_d",
    "xvssrlni.du_q",
    "xvssrlrni.b_h",
    "xvssrlrni.h_w",
    "xvssrlrni.w_d",
    "xvssrlrni.d_q",
    "xvssrlrni.bu_h",
    "xvssrlrni.hu_w",
    "xvssrlrni.wu_d",
    "xvssrlrni.du_q",
    "xvsrani.b_h",
    "xvsrani.h_w",
    "xvsrani.w_d",
    "xvsrani.d_q",
    "xvsrarni.b_h",
    "xvsrarni.h_w",
    "xvsrarni.w_d",
    "xvsrarni.d_q",
    "xvssrani.b_h",
    "xvssrani.h_w",
    "xvssrani.w_d",
    "xvssrani.d_q",
    "xvssrani.bu_h",
    "xvssrani.hu_w",
    "xvssrani.wu_d",
    "xvssrani.du_q",
    "xvssrarni.b_h",
    "xvssrarni.h_w",
    "xvssrarni.w_d",
    "xvssrarni.d_q",
    "xvssrarni.bu_h",
    "xvssrarni.hu_w",
    "xvssrarni.wu_d",
    "xvssrarni.du_q",
    "xvssrlrneni.b_h",
    "xvssrlrneni.h_w",
    "xvssrlrneni.w_d",
    "xvssrlrneni.d_q",
    "xvssrlrneni.bu_h",
    "xvssrlrneni.hu_w",
    "xvssrlrneni.wu_d",
    "xvssrlrneni.du_q",
    "xvssrarneni.b_h",
    "xvssrarneni.h_w",
    "xvssrarneni.w_d",
    "xvssrarneni.d_q",
    "xvssrarneni.bu_h",
    "xvssrarneni.hu_w",
    "xvssrarneni.wu_d",
    "xvssrarneni.du_q",
    "xvextrins.d",
    "xvextrins.w",
    "xvextrins.h",
    "xvextrins.b",
    "xvshuf4i.b",
    "xvshuf4i.h",
    "xvshuf4i.w",
    "xvshuf4i.d",
    "xvshufi1.b",
    "xvshufi2.b",
    "xvshufi3.b",
    "xvshufi4.b",
    "xvshufi1.h",
    "xvshufi2.h",
    "xvseli.h",
    "xvseli.w",
    "xvseli.d",
    "xvbitseli.b",
    "xvbitmvzi.b",
    "xvbitmvnzi.b",
    "xvandi.b",
    "xvori.b",
    "xvxori.b",
    "xvnori.b",
    "xvldi",
    "xvpermi.w",
    "xvpermi.d",
    "xvpermi.q",
    "ENDING",
};

static const char *ir2_gpr_name[] = {
    "$zero" , "$ra" , "$tp" , "$sp" , "$a0" , "$a1" , "$a2" , "$a3" ,
    "$a4"   , "$a5" , "$a6" , "$a7" , "$t0" , "$t1" , "$t2" , "$t3" ,
    "$t4"   , "$t5" , "$t6" , "$t7" , "$t8" , "$x"  , "$fp" , "$s0" ,
    "$s1"   , "$s2" , "$s3" , "$s4" , "$s5" , "$s6" , "$s7" , "$s8" ,
};

static const char *ir2_fpr_name[] = {
    "$fa0"  , "$fa1"  , "$fa2"  , "$fa3"  ,
    "$fa4"  , "$fa5"  , "$fa6"  , "$fa7"  ,
    "$ft0"  , "$ft1"  , "$ft2"  , "$ft3"  ,
    "$ft4"  , "$ft5"  , "$ft6"  , "$ft7"  ,
    "$ft8"  , "$ft9"  , "$ft10" , "$ft11" ,
    "$ft12" , "$ft13" , "$ft14" , "$ft15" ,
    "$fs0"  , "$fs1"  , "$fs2"  , "$fs3"  ,
    "$fs4"  , "$fs5"  , "$fs6"  , "$fs7"  ,
};

static const char *ir2_scr_name[] = {
    "$scr0" , "$scr1" , "$scr2" , "$scr3",
};

static const char *ir2_fcsr_name[] = {
    "$fcsr0" , "$fcsr1" , "$fcsr2" , "$fcsr3",
};

static const char *ir2_cc_name[] = {
    "$cc0" , "$cc1" , "$cc2" , "$cc3" ,
    "$cc4" , "$cc5" , "$cc6" , "$cc7" ,
};

LA_OPND_TYPE get_opnd_type(Ins *ins, int i)
{
    GM_LA_OPCODE_FORMAT format = lisa_format_table[ins->op];
    GM_OPERAND_TYPE la_opnd_type = format.opnd[i];
    IR2_OPND_TYPE ir2_opnd_type = ir2_opnd_type_table[la_opnd_type];
    return ir2_opnd_type;
}

int extract_opnd_val(uint32_t insn, GM_OPERAND_TYPE type)
{
    GM_OPERAND_PLACE_RELATION bit_field = bit_field_table[type];
    int bit_start = bit_field.bit_range_0.start;
    int bit_end = bit_field.bit_range_0.end;
    int bit_len = bit_end - bit_start + 1;
    int val = (insn >> bit_start) & ((1 << bit_len) - 1);

    bit_start = bit_field.bit_range_1.start;
    bit_end = bit_field.bit_range_1.end;
    if (bit_start >= 0 && bit_end >= 0) {
        int field1_val = insn << (31 - bit_end) >> (31 - bit_end + bit_start);
        val |= field1_val << bit_len;
    }

    if (is_la_sign_opnd[type]) {
        if (bit_end >= 0) {
            bit_len += bit_field.bit_range_1.end - bit_field.bit_range_1.start + 1;
        }
        val = val << (32 - bit_len) >> (32 - bit_len);
    }

    return val;
}

void la_disasm(uint32_t opcode, Ins *ins)
{
    LA_OPCODE op = get_ins_op(opcode);
    assert(op != LISA_INVALID);

    ins->op = op;
    ins->opnd_count = 0;

    GM_LA_OPCODE_FORMAT format = lisa_format_table[op];

    for (int i = 0; i < 4; i++) {
        GM_OPERAND_TYPE opnd_type = format.opnd[i];
        if (opnd_type == OPD_INVALID) {
            break;
        }

        ins->opnd[i].val = extract_opnd_val(opcode, opnd_type);
        ins->opnd_count++;
    }
}

const char *ins_name(Ins *ins)
{
    LA_OPCODE op = ins->op;
    if (op == LISA_INVALID || op >= LISA_ENDING) {
        return "invalid ins";
    }
    return ir2_ins_name[op];
}

const char *gpr_name(uint32_t gpr)
{
    if (gpr >= 32)
        return "invalid gpr";
    return ir2_gpr_name[gpr];
}

void sprint_op(LA_OPCODE op, char *msg) {
    sprintf(msg, "%-15s\t", ir2_ins_name[op]);
}

void sprint_ins(Ins *ins, char * msg) {
    assert(ins->op >= LISA_INVALID && ins->op <= LISA_ENDING);
    sprintf(msg, "%-15s\t", ir2_ins_name[ins->op]);
    for (int i = 0; i < ins->opnd_count; i++) {
        if (i != 0)
            sprintf(msg + strlen(msg),", ");

        IR2_OPND_TYPE type = get_opnd_type(ins, i);
        switch (type) {
            case IR2_OPND_GPR:
                sprintf(msg + strlen(msg),"%s", ir2_gpr_name[ins->opnd[i].val]);
                break;
            case IR2_OPND_FPR:
                sprintf(msg + strlen(msg),"%s", ir2_fpr_name[ins->opnd[i].val]);
                break;
            case IR2_OPND_FCSR:
                sprintf(msg + strlen(msg),"%s", ir2_fcsr_name[ins->opnd[i].val]);
                break;
            case IR2_OPND_SCR:
                sprintf(msg + strlen(msg),"%s", ir2_scr_name[ins->opnd[i].val]);
                break;
            case IR2_OPND_CC:
                sprintf(msg + strlen(msg),"%s", ir2_cc_name[ins->opnd[i].val]);
                break;
            case IR2_OPND_LABEL:
                break;
            case IR2_OPND_IMM:
                sprintf(msg + strlen(msg),"0x%x", ins->opnd[i].val);
                break;
            case IR2_OPND_NONE:
                break;
            default:
                fprintf(stderr, "Error in sprint_ins, unknown opnd\n");
                assert(0);
                exit(EXIT_FAILURE);
        }
    }
}

void sprint_disasm(uint32_t opcode, char *msg)
{
    Ins ins;
    la_disasm(opcode, &ins);
    sprint_ins(&ins, msg);
}

void print_op(LA_OPCODE op)
{
    char msg[32];
    sprint_op(op, msg);
    puts(msg);
}

void print_ins(Ins *ins)
{
    char msg[64];
    sprint_ins(ins, msg);
    puts(msg);
}

void print_disasm(uint32_t opcode)
{
    char msg[64];
    sprint_disasm(opcode, msg);
    puts(msg);
}
