/*
 * SPDX-FileCopyrightText: 2021-2026 LAT Project Authors
 *
 * SPDX-License-Identifier: GPL-2.0-only
 */

#include "nextcapstone.h"
#undef X86_INS_

la_name_enum_t next_x86_insn_tr[X86_INS_ENDING + 1];

la_name_enum_t next_x86_insn_reg[X86_REG_ENDING + 1];
la_name_enum_t next_x86_insn_bcast[5];
la_name_enum_t next_x86_insn_op_type[4];
la_name_enum_t next_x86_insn_avx_cc[X86_AVX_CC_TRUE_US + 1];

csh next_handle;
char next_cap_tmp[IR1_INST_SIZE];
uint8_t dt_nextcatstone_mode;
struct la_dt_insn *nextcapstone_get_from_insn(cs_insn *inputinfo,
    int ir1_num, void *pir1_base)
{
    if (inputinfo == NULL) {
        return NULL;
    }
    struct la_dt_insn *ret;
    if (pir1_base) {
        uint64_t current_address =  (uint64_t)pir1_base +
            (ir1_num * sizeof(struct la_dt_insn));
        ret = (void *)current_address;
    } else {
        ret = malloc(sizeof(struct la_dt_insn));
    }

    //prefix
#ifdef LATX_DISASSEMBLE_TRACE_DEBUG
    strncpy(ret->mnemonic, inputinfo->mnemonic, 32);
    strncpy(ret->op_str, inputinfo->op_str, 160);
#endif
    lsassert(inputinfo->id <= X86_INS_ENDING);
    ret->id = next_x86_insn_tr[inputinfo->id].id;
    for (int i = 0; i < 4; i++) {
        ret->x86.prefix[i] = inputinfo->detail->x86.prefix[i];
    }
    for (int i = 0; i < 4; i++) {
        ret->x86.opcode[i] = inputinfo->detail->x86.opcode[i];
    }
    for (int i = 0; i < 24; i++) {
        ret->bytes[i] = inputinfo->bytes[i];
    }
    ret->x86.addr_size = inputinfo->detail->x86.addr_size;
    ret->x86.rex = inputinfo->detail->x86.rex;
    ret->x86.op_count = inputinfo->detail->x86.op_count;
    for (int i = 0; i < 8; i++) {
        int otype = inputinfo->detail->x86.operands[i].type; 
        ret->x86.operands[i].type = next_x86_insn_op_type[otype].id;
        if (otype == X86_OP_IMM) {
            ret->x86.operands[i].imm =inputinfo->detail->x86.operands[i].imm;
        } else if (otype == X86_OP_REG) {
            lsassert(inputinfo->detail->x86.operands[i].reg <=
                dt_X86_REG_ENDING);
            ret->x86.operands[i].reg =
                next_x86_insn_reg[inputinfo->detail->x86.operands[i].reg].id;
        } else if (otype == X86_OP_MEM) {
            lsassert(inputinfo->detail->x86.operands[i].mem.segment <=
                dt_X86_REG_ENDING);
            lsassert(inputinfo->detail->x86.operands[i].mem.base <=
                dt_X86_REG_ENDING);
            lsassert(inputinfo->detail->x86.operands[i].mem.index <=
                dt_X86_REG_ENDING);
            ret->x86.operands[i].mem.segment =
                next_x86_insn_reg[inputinfo->detail->
                x86.operands[i].mem.segment].id;
            ret->x86.operands[i].mem.default_segment =
                dt_X86_REG_INVALID;
            ret->x86.operands[i].mem.base =
                next_x86_insn_reg[inputinfo->detail->
                x86.operands[i].mem.base].id;
            ret->x86.operands[i].mem.index =
                next_x86_insn_reg[inputinfo->detail->
                x86.operands[i].mem.index].id;
            ret->x86.operands[i].mem.scale =
                inputinfo->detail->x86.operands[i].mem.scale;
            ret->x86.operands[i].mem.disp =
                inputinfo->detail->x86.operands[i].mem.disp;
        }
        ret->x86.operands[i].size = inputinfo->detail->x86.operands[i].size;
        switch (inputinfo->detail->x86.operands[i].access) {
            default:
                break;
            case CS_AC_READ:
                ret->x86.operands[i].access = dt_CS_AC_READ;
                break;
            case CS_AC_WRITE:
                ret->x86.operands[i].access = dt_CS_AC_WRITE;
                break;
            case CS_AC_READ | CS_AC_WRITE:
                ret->x86.operands[i].access = dt_CS_AC_READ|dt_CS_AC_WRITE;
                break;
        }
        ret->x86.operands[i].avx_bcast =
            next_x86_insn_bcast[inputinfo->detail->
            x86.operands[i].avx_bcast].id;
        ret->x86.operands[i].avx_zero_opmask =
            inputinfo->detail->x86.operands[i].avx_zero_opmask;
    }
    ret->x86.avx_cc =
        next_x86_insn_avx_cc[inputinfo->detail->x86.avx_cc].id;
    ret->size = inputinfo->size;
    ret->address = inputinfo->address;
    return ret; 
}

int nextcapstone_get(const uint8_t *code, size_t code_size,
        uint64_t address,
        size_t count, struct la_dt_insn **insn,
        int ir1_num, void *pir1_base)
{
    cs_insn *inputinfo;
    struct la_dt_insn *ret;
    dtassert(next_handle);
    int next_count = latx_cs_disasm(next_handle, code, code_size,
        address, count, &inputinfo, 0, next_cap_tmp);
    if (inputinfo == NULL) {
        *insn = NULL;
        qemu_log_mask(LAT_LOG_DT, "%s: can't disasm code 0x%x\n",
            __func__, *(uint32_t *)code);
        return next_count;
    }
    ret = nextcapstone_get_from_insn(inputinfo, ir1_num, pir1_base);
    *insn = ret;
    return next_count; 
}

static void init_insn_tr();
static void init_insn_reg();
static void init_insn_bcast();
static void init_insn_op_type();
static void init_insn_avx_cc();
static void xtm_capstone_init(int abi_bits)
{
    int mode = 0;
    dt_nextcatstone_mode = abi_bits;
    if(abi_bits == 32)
        mode = CS_MODE_32;
    else
        mode = CS_MODE_64;
    if (cs_open(CS_ARCH_X86, mode, &next_handle) != CS_ERR_OK) {
        fprintf(stderr, "%s %s %d error : cs_open\n",
                __FILE__, __func__, __LINE__);
        exit(-1);
    }   
    cs_option(next_handle, CS_OPT_DETAIL, CS_OPT_ON);
}

void nextcapstone_init(int abi_bits)
{
#ifdef CONFIG_LATX_CAPSTONE_NEXT
    dtassert(handle != NULL);
    next_handle = handle;
#else
    xtm_capstone_init(abi_bits);
#endif
    init_insn_tr();
    init_insn_reg();
    init_insn_bcast();
    init_insn_op_type();
    init_insn_avx_cc();
}
static void init_insn_avx_cc()
{
    LA_X86_INSN_ENUM(next_x86_insn_avx_cc, X86_AVX_CC_, X86_AVX_CC_, INVALID);
    LA_X86_INSN_ENUM(next_x86_insn_avx_cc, X86_AVX_CC_, X86_AVX_CC_, EQ);
    LA_X86_INSN_ENUM(next_x86_insn_avx_cc, X86_AVX_CC_, X86_AVX_CC_, LT);
    LA_X86_INSN_ENUM(next_x86_insn_avx_cc, X86_AVX_CC_, X86_AVX_CC_, LE);
    LA_X86_INSN_ENUM(next_x86_insn_avx_cc, X86_AVX_CC_, X86_AVX_CC_, UNORD);
    LA_X86_INSN_ENUM(next_x86_insn_avx_cc, X86_AVX_CC_, X86_AVX_CC_, NEQ);
    LA_X86_INSN_ENUM(next_x86_insn_avx_cc, X86_AVX_CC_, X86_AVX_CC_, NLT);
    LA_X86_INSN_ENUM(next_x86_insn_avx_cc, X86_AVX_CC_, X86_AVX_CC_, NLE);
    LA_X86_INSN_ENUM(next_x86_insn_avx_cc, X86_AVX_CC_, X86_AVX_CC_, ORD);
    LA_X86_INSN_ENUM(next_x86_insn_avx_cc, X86_AVX_CC_, X86_AVX_CC_, EQ_UQ);
    LA_X86_INSN_ENUM(next_x86_insn_avx_cc, X86_AVX_CC_, X86_AVX_CC_, NGE);
    LA_X86_INSN_ENUM(next_x86_insn_avx_cc, X86_AVX_CC_, X86_AVX_CC_, NGT);
    LA_X86_INSN_ENUM(next_x86_insn_avx_cc, X86_AVX_CC_, X86_AVX_CC_, FALSE);
    LA_X86_INSN_ENUM(next_x86_insn_avx_cc, X86_AVX_CC_, X86_AVX_CC_, NEQ_OQ);
    LA_X86_INSN_ENUM(next_x86_insn_avx_cc, X86_AVX_CC_, X86_AVX_CC_, GE);
    LA_X86_INSN_ENUM(next_x86_insn_avx_cc, X86_AVX_CC_, X86_AVX_CC_, GT);
    LA_X86_INSN_ENUM(next_x86_insn_avx_cc, X86_AVX_CC_, X86_AVX_CC_, TRUE);
    LA_X86_INSN_ENUM(next_x86_insn_avx_cc, X86_AVX_CC_, X86_AVX_CC_, EQ_OS);
    LA_X86_INSN_ENUM(next_x86_insn_avx_cc, X86_AVX_CC_, X86_AVX_CC_, LT_OQ);
    LA_X86_INSN_ENUM(next_x86_insn_avx_cc, X86_AVX_CC_, X86_AVX_CC_, LE_OQ);
    LA_X86_INSN_ENUM(next_x86_insn_avx_cc, X86_AVX_CC_, X86_AVX_CC_, UNORD_S);
    LA_X86_INSN_ENUM(next_x86_insn_avx_cc, X86_AVX_CC_, X86_AVX_CC_, NEQ_US);
    LA_X86_INSN_ENUM(next_x86_insn_avx_cc, X86_AVX_CC_, X86_AVX_CC_, NLT_UQ);
    LA_X86_INSN_ENUM(next_x86_insn_avx_cc, X86_AVX_CC_, X86_AVX_CC_, NLE_UQ);
    LA_X86_INSN_ENUM(next_x86_insn_avx_cc, X86_AVX_CC_, X86_AVX_CC_, ORD_S);
    LA_X86_INSN_ENUM(next_x86_insn_avx_cc, X86_AVX_CC_, X86_AVX_CC_, EQ_US);
    LA_X86_INSN_ENUM(next_x86_insn_avx_cc, X86_AVX_CC_, X86_AVX_CC_, NGE_UQ);
    LA_X86_INSN_ENUM(next_x86_insn_avx_cc, X86_AVX_CC_, X86_AVX_CC_, NGT_UQ);
    LA_X86_INSN_ENUM(next_x86_insn_avx_cc, X86_AVX_CC_, X86_AVX_CC_, FALSE_OS);
    LA_X86_INSN_ENUM(next_x86_insn_avx_cc, X86_AVX_CC_, X86_AVX_CC_, NEQ_OS);
    LA_X86_INSN_ENUM(next_x86_insn_avx_cc, X86_AVX_CC_, X86_AVX_CC_, GE_OQ);
    LA_X86_INSN_ENUM(next_x86_insn_avx_cc, X86_AVX_CC_, X86_AVX_CC_, GT_OQ);
    LA_X86_INSN_ENUM(next_x86_insn_avx_cc, X86_AVX_CC_, X86_AVX_CC_, TRUE_US);
}
static void init_insn_bcast()
{
    LA_X86_INSN_ENUM(next_x86_insn_bcast,
        X86_AVX_BCAST_, X86_AVX_BCAST_, INVALID);
    LA_X86_INSN_ENUM(next_x86_insn_bcast, X86_AVX_BCAST_, X86_AVX_BCAST_, 2);
    LA_X86_INSN_ENUM(next_x86_insn_bcast, X86_AVX_BCAST_, X86_AVX_BCAST_, 4);
    LA_X86_INSN_ENUM(next_x86_insn_bcast, X86_AVX_BCAST_, X86_AVX_BCAST_, 8);
    LA_X86_INSN_ENUM(next_x86_insn_bcast, X86_AVX_BCAST_, X86_AVX_BCAST_, 16);
}
static void init_insn_op_type()
{
    LA_X86_INSN_ENUM(next_x86_insn_op_type, X86_OP_, X86_OP_, INVALID);
    LA_X86_INSN_ENUM(next_x86_insn_op_type, X86_OP_, X86_OP_, REG);
    LA_X86_INSN_ENUM(next_x86_insn_op_type, X86_OP_, X86_OP_, IMM);
    LA_X86_INSN_ENUM(next_x86_insn_op_type, X86_OP_, X86_OP_, MEM);
}
static void init_insn_reg()
{
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, INVALID);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, AH);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, AL);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, AX);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, BH);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, BL);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, BP);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, BPL);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, BX);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, CH);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, CL);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, CS);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, CX);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, DH);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, DI);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, DIL);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, DL);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, DS);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, DX);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, EAX);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, EBP);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, EBX);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ECX);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, EDI);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, EDX);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, EFLAGS);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, EIP);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, EIZ);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ES);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ESI);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ESP);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, FPSW);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, FS);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, GS);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, IP);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, RAX);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, RBP);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, RBX);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, RCX);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, RDI);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, RDX);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, RIP);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, RIZ);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, RSI);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, RSP);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, SI);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, SIL);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, SP);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, SPL);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, SS);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, CR0);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, CR1);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, CR2);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, CR3);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, CR4);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, CR5);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, CR6);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, CR7);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, CR8);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, CR9);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, CR10);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, CR11);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, CR12);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, CR13);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, CR14);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, CR15);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, DR0);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, DR1);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, DR2);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, DR3);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, DR4);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, DR5);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, DR6);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, DR7);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, DR8);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, DR9);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, DR10);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, DR11);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, DR12);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, DR13);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, DR14);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, DR15);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, FP0);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, FP1);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, FP2);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, FP3);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, FP4);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, FP5);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, FP6);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, FP7);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, K0);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, K1);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, K2);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, K3);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, K4);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, K5);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, K6);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, K7);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, MM0);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, MM1);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, MM2);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, MM3);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, MM4);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, MM5);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, MM6);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, MM7);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, R8);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, R9);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, R10);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, R11);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, R12);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, R13);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, R14);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, R15);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ST0);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ST1);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ST2);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ST3);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ST4);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ST5);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ST6);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ST7);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, XMM0);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, XMM1);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, XMM2);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, XMM3);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, XMM4);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, XMM5);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, XMM6);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, XMM7);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, XMM8);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, XMM9);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, XMM10);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, XMM11);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, XMM12);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, XMM13);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, XMM14);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, XMM15);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, XMM16);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, XMM17);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, XMM18);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, XMM19);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, XMM20);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, XMM21);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, XMM22);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, XMM23);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, XMM24);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, XMM25);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, XMM26);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, XMM27);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, XMM28);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, XMM29);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, XMM30);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, XMM31);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, YMM0);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, YMM1);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, YMM2);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, YMM3);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, YMM4);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, YMM5);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, YMM6);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, YMM7);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, YMM8);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, YMM9);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, YMM10);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, YMM11);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, YMM12);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, YMM13);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, YMM14);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, YMM15);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, YMM16);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, YMM17);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, YMM18);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, YMM19);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, YMM20);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, YMM21);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, YMM22);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, YMM23);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, YMM24);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, YMM25);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, YMM26);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, YMM27);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, YMM28);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, YMM29);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, YMM30);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, YMM31);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ZMM0);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ZMM1);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ZMM2);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ZMM3);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ZMM4);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ZMM5);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ZMM6);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ZMM7);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ZMM8);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ZMM9);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ZMM10);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ZMM11);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ZMM12);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ZMM13);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ZMM14);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ZMM15);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ZMM16);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ZMM17);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ZMM18);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ZMM19);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ZMM20);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ZMM21);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ZMM22);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ZMM23);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ZMM24);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ZMM25);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ZMM26);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ZMM27);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ZMM28);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ZMM29);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ZMM30);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ZMM31);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, R8B);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, R9B);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, R10B);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, R11B);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, R12B);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, R13B);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, R14B);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, R15B);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, R8D);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, R9D);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, R10D);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, R11D);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, R12D);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, R13D);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, R14D);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, R15D);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, R8W);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, R9W);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, R10W);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, R11W);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, R12W);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, R13W);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, R14W);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, R15W);
    LA_X86_INSN_ENUM(next_x86_insn_reg, X86_REG_, X86_REG_, ENDING);
}
static void init_insn_tr()
{
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, INVALID);

    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, AAA);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, AAD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, AAM);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, AAS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FABS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, ADC);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, ADCX);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, ADD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, ADDPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, ADDPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, ADDSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, ADDSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, ADDSUBPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, ADDSUBPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FADD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FIADD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FADDP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, ADOX);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, AESDECLAST);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, AESDEC);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, AESENCLAST);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, AESENC);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, AESIMC);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, AESKEYGENASSIST);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, AND);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, ANDN);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, ANDNPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, ANDNPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, ANDPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, ANDPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, ARPL);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, BEXTR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, BLCFILL);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, BLCI);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, BLCIC);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, BLCMSK);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, BLCS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, BLENDPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, BLENDPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, BLENDVPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, BLENDVPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, BLSFILL);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, BLSI);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, BLSIC);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, BLSMSK);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, BLSR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, BOUND);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, BSF);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, BSR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, BSWAP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, BT);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, BTC);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, BTR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, BTS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, BZHI);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CALL);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CBW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CDQE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FCHS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CLAC);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CLC);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CLD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CLFLUSH);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CLFLUSHOPT);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CLGI);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CLI);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CLTS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CLWB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMC);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMOVA);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMOVAE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMOVB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMOVBE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FCMOVBE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FCMOVB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMOVE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FCMOVE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMOVG);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMOVGE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMOVL);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMOVLE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FCMOVNBE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FCMOVNB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMOVNE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FCMOVNE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMOVNO);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMOVNP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FCMOVNU);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMOVNS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMOVO);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMOVP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FCMOVU);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMOVS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPSB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPSQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPSW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPXCHG16B);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPXCHG);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPXCHG8B);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, COMISD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, COMISS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FCOMP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FCOMIP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FCOMI);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FCOM);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FCOS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CPUID);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CQO);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CRC32);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CVTDQ2PD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CVTDQ2PS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CVTPD2DQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CVTPD2PS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CVTPS2DQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CVTPS2PD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CVTSD2SI);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CVTSD2SS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CVTSI2SD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CVTSI2SS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CVTSS2SD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CVTSS2SI);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CVTTPD2DQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CVTTPS2DQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CVTTSD2SI);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CVTTSS2SI);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CWD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CWDE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, DAA);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, DAS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, DATA16);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, DEC);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, DIV);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, DIVPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, DIVPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FDIVR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FIDIVR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FDIVRP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, DIVSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, DIVSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FDIV);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FIDIV);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FDIVP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, DPPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, DPPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, RET);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, ENCLS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, ENCLU);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, ENTER);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, EXTRACTPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, EXTRQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, F2XM1);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, LCALL);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, LJMP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FBLD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FBSTP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FCOMPP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FDECSTP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FEMMS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FFREE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FICOM);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FICOMP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FINCSTP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FLDCW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FLDENV);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FLDL2E);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FLDL2T);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FLDLG2);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FLDLN2);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FLDPI);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FNCLEX);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FNINIT);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FNOP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FNSTCW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FNSTSW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FPATAN);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FPREM);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FPREM1);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FPTAN);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FFREEP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FRNDINT);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FRSTOR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FNSAVE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FSCALE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FSETPM);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FSINCOS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FNSTENV);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FXAM);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FXRSTOR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FXRSTOR64);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FXSAVE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FXSAVE64);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FXTRACT);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FYL2X);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FYL2XP1);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVAPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVAPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, ORPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, ORPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMOVAPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMOVAPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, XORPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, XORPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, GETSEC);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, HADDPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, HADDPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, HLT);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, HSUBPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, HSUBPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, IDIV);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FILD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, IMUL);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, IN);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, INC);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, INSB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, INSERTPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, INSERTQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, INSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, INSW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, INT);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, INT1);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, INT3);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, INTO);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, INVD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, INVEPT);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, INVLPG);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, INVLPGA);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, INVPCID);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, INVVPID);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, IRET);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, IRETD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, IRETQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FISTTP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FIST);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FISTP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, UCOMISD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, UCOMISS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCOMISD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCOMISS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCVTSD2SS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCVTSI2SD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCVTSI2SS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCVTSS2SD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCVTTSD2SI);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCVTTSD2USI);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCVTTSS2SI);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCVTTSS2USI);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCVTUSI2SD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCVTUSI2SS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VUCOMISD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VUCOMISS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, JAE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, JA);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, JBE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, JB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, JCXZ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, JECXZ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, JE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, JGE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, JG);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, JLE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, JL);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, JMP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, JNE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, JNO);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, JNP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, JNS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, JO);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, JP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, JRCXZ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, JS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KANDB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KANDD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KANDNB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KANDND);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KANDNQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KANDNW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KANDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KANDW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KMOVB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KMOVD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KMOVQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KMOVW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KNOTB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KNOTD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KNOTQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KNOTW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KORB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KORD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KORQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KORTESTB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KORTESTD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KORTESTQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KORTESTW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KORW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KSHIFTLB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KSHIFTLD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KSHIFTLQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KSHIFTLW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KSHIFTRB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KSHIFTRD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KSHIFTRQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KSHIFTRW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KUNPCKBW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KXNORB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KXNORD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KXNORQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KXNORW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KXORB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KXORD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KXORQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, KXORW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, LAHF);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, LAR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, LDDQU);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, LDMXCSR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, LDS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FLDZ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FLD1);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FLD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, LEA);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, LEAVE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, LES);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, LFENCE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, LFS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, LGDT);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, LGS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, LIDT);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, LLDT);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, LMSW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, OR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SUB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, XOR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, LODSB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, LODSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, LODSQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, LODSW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, LOOP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, LOOPE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, LOOPNE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, RETF);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, RETFQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, LSL);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, LSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, LTR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, XADD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, LZCNT);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MASKMOVDQU);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MAXPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MAXPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MAXSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MAXSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MFENCE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MINPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MINPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MINSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MINSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CVTPD2PI);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CVTPI2PD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CVTPI2PS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CVTPS2PI);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CVTTPD2PI);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CVTTPS2PI);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, EMMS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MASKMOVQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVDQ2Q);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVNTQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVQ2DQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PABSB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PABSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PABSW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PACKSSDW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PACKSSWB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PACKUSWB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PADDB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PADDD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PADDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PADDSB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PADDSW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PADDUSB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PADDUSW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PADDW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PALIGNR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PANDN);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PAND);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PAVGB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PAVGW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PCMPEQB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PCMPEQD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PCMPEQW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PCMPGTB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PCMPGTD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PCMPGTW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PEXTRW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PHADDSW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PHADDW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PHADDD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PHSUBD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PHSUBSW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PHSUBW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PINSRW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMADDUBSW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMADDWD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMAXSW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMAXUB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMINSW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMINUB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMOVMSKB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMULHRSW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMULHUW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMULHW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMULLW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMULUDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, POR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PSADBW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PSHUFB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PSHUFW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PSIGNB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PSIGND);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PSIGNW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PSLLD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PSLLQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PSLLW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PSRAD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PSRAW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PSRLD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PSRLQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PSRLW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PSUBB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PSUBD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PSUBQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PSUBSB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PSUBSW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PSUBUSB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PSUBUSW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PSUBW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PUNPCKHBW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PUNPCKHDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PUNPCKHWD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PUNPCKLBW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PUNPCKLDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PUNPCKLWD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PXOR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MONITOR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MONTMUL);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOV);
    LA_X86_INSN_REDEF(next_x86_insn_tr, X86_INS_MOVABS, dt_X86_INS_MOV);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVBE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVDDUP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVDQA);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVDQU);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVHLPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVHPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVHPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVLHPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVLPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVLPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVMSKPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVMSKPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVNTDQA);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVNTDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVNTI);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVNTPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVNTPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVNTSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVNTSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVSB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVSHDUP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVSLDUP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVSQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVSW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVSX);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVSXD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVUPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVUPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MOVZX);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MPSADBW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MUL);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MULPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MULPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MULSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MULSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MULX);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FMUL);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FIMUL);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FMULP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, MWAIT);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, NEG);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, NOP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, NOT);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, OUT);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, OUTSB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, OUTSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, OUTSW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PACKUSDW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PAUSE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PAVGUSB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PBLENDVB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PBLENDW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PCLMULQDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PCMPEQQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PCMPESTRI);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PCMPESTRM);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PCMPGTQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PCMPISTRI);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PCMPISTRM);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PCOMMIT);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PDEP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PEXT);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PEXTRB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PEXTRD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PEXTRQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PF2ID);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PF2IW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PFACC);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PFADD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PFCMPEQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PFCMPGE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PFCMPGT);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PFMAX);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PFMIN);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PFMUL);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PFNACC);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PFPNACC);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PFRCPIT1);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PFRCPIT2);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PFRCP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PFRSQIT1);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PFRSQRT);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PFSUBR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PFSUB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PHMINPOSUW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PI2FD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PI2FW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PINSRB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PINSRD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PINSRQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMAXSB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMAXSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMAXUD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMAXUW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMINSB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMINSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMINUD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMINUW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMOVSXBD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMOVSXBQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMOVSXBW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMOVSXDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMOVSXWD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMOVSXWQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMOVZXBD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMOVZXBQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMOVZXBW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMOVZXDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMOVZXWD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMOVZXWQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMULDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMULHRW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PMULLD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, POP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, POPAW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, POPAL);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, POPCNT);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, POPF);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, POPFD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, POPFQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PREFETCH);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PREFETCHNTA);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PREFETCHT0);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PREFETCHT1);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PREFETCHT2);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PREFETCHW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PSHUFD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PSHUFHW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PSHUFLW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PSLLDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PSRLDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PSWAPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PTEST);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PUNPCKHQDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PUNPCKLQDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PUSH);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PUSHAW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PUSHAL);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PUSHF);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PUSHFD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, PUSHFQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, RCL);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, RCPPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, RCPSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, RCR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, RDFSBASE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, RDGSBASE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, RDMSR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, RDPMC);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, RDRAND);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, RDSEED);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, RDTSC);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, RDTSCP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, ROL);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, ROR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, RORX);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, ROUNDPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, ROUNDPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, ROUNDSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, ROUNDSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, RSM);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, RSQRTPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, RSQRTSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SAHF);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SAL);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SALC);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SAR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SARX);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SBB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SCASB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SCASD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SCASQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SCASW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SETAE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SETA);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SETBE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SETB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SETE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SETGE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SETG);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SETLE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SETL);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SETNE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SETNO);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SETNP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SETNS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SETO);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SETP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SETS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SFENCE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SGDT);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SHA1MSG1);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SHA1MSG2);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SHA1NEXTE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SHA1RNDS4);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SHA256MSG1);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SHA256MSG2);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SHA256RNDS2);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SHL);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SHLD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SHLX);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SHR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SHRD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SHRX);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SHUFPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SHUFPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SIDT);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FSIN);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SKINIT);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SLDT);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SMSW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SQRTPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SQRTPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SQRTSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SQRTSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FSQRT);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, STAC);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, STC);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, STD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, STGI);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, STI);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, STMXCSR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, STOSB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, STOSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, STOSQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, STOSW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, STR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FST);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FSTP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FSTPNCE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FXCH);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SUBPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SUBPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FSUBR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FISUBR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FSUBRP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SUBSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SUBSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FSUB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FISUB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FSUBP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SWAPGS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SYSCALL);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SYSENTER);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SYSEXIT);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, SYSRET);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, T1MSKC);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, TEST);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, UD2);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FTST);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, TZCNT);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, TZMSK);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FUCOMIP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FUCOMI);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FUCOMPP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FUCOMP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FUCOM);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, UD2B);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, UNPCKHPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, UNPCKHPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, UNPCKLPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, UNPCKLPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VADDPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VADDPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VADDSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VADDSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VADDSUBPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VADDSUBPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VAESDECLAST);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VAESDEC);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VAESENCLAST);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VAESENC);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VAESIMC);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VAESKEYGENASSIST);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VALIGND);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VALIGNQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VANDNPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VANDNPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VANDPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VANDPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VBLENDMPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VBLENDMPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VBLENDPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VBLENDPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VBLENDVPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VBLENDVPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VBROADCASTF128);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VBROADCASTI32X4);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VBROADCASTI64X4);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VBROADCASTSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VBROADCASTSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCOMPRESSPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCOMPRESSPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCVTDQ2PD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCVTDQ2PS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCVTPD2DQX);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCVTPD2DQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCVTPD2PSX);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCVTPD2PS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCVTPD2UDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCVTPH2PS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCVTPS2DQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCVTPS2PD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCVTPS2PH);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCVTPS2UDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCVTSD2SI);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCVTSD2USI);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCVTSS2SI);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCVTSS2USI);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCVTTPD2DQX);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCVTTPD2DQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCVTTPD2UDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCVTTPS2DQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCVTTPS2UDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCVTUDQ2PD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCVTUDQ2PS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VDIVPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VDIVPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VDIVSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VDIVSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VDPPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VDPPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VERR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VERW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VEXP2PD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VEXP2PS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VEXPANDPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VEXPANDPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VEXTRACTF128);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VEXTRACTF32X4);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VEXTRACTF64X4);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VEXTRACTI128);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VEXTRACTI32X4);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VEXTRACTI64X4);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VEXTRACTPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMADD132PD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMADD132PS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMADDPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMADD213PD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMADD231PD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMADDPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMADD213PS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMADD231PS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMADDSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMADD213SD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMADD132SD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMADD231SD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMADDSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMADD213SS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMADD132SS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMADD231SS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMADDSUB132PD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMADDSUB132PS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMADDSUBPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMADDSUB213PD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMADDSUB231PD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMADDSUBPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMADDSUB213PS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMADDSUB231PS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMSUB132PD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMSUB132PS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMSUBADD132PD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMSUBADD132PS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMSUBADDPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMSUBADD213PD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMSUBADD231PD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMSUBADDPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMSUBADD213PS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMSUBADD231PS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMSUBPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMSUB213PD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMSUB231PD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMSUBPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMSUB213PS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMSUB231PS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMSUBSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMSUB213SD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMSUB132SD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMSUB231SD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMSUBSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMSUB213SS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMSUB132SS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFMSUB231SS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFNMADD132PD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFNMADD132PS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFNMADDPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFNMADD213PD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFNMADD231PD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFNMADDPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFNMADD213PS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFNMADD231PS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFNMADDSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFNMADD213SD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFNMADD132SD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFNMADD231SD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFNMADDSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFNMADD213SS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFNMADD132SS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFNMADD231SS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFNMSUB132PD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFNMSUB132PS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFNMSUBPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFNMSUB213PD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFNMSUB231PD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFNMSUBPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFNMSUB213PS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFNMSUB231PS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFNMSUBSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFNMSUB213SD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFNMSUB132SD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFNMSUB231SD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFNMSUBSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFNMSUB213SS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFNMSUB132SS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFNMSUB231SS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFRCZPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFRCZPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFRCZSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VFRCZSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VORPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VORPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VXORPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VXORPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VGATHERDPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VGATHERDPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VGATHERPF0DPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VGATHERPF0DPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VGATHERPF0QPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VGATHERPF0QPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VGATHERPF1DPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VGATHERPF1DPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VGATHERPF1QPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VGATHERPF1QPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VGATHERQPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VGATHERQPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VHADDPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VHADDPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VHSUBPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VHSUBPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VINSERTF128);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VINSERTF32X4);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VINSERTF32X8);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VINSERTF64X2);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VINSERTF64X4);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VINSERTI128);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VINSERTI32X4);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VINSERTI32X8);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VINSERTI64X2);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VINSERTI64X4);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VINSERTPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VLDDQU);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VLDMXCSR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMASKMOVDQU);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMASKMOVPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMASKMOVPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMAXPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMAXPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMAXSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMAXSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMCALL);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMCLEAR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMFUNC);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMINPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMINPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMINSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMINSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMLAUNCH);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMLOAD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMMCALL);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMOVQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMOVDDUP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMOVD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMOVDQA32);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMOVDQA64);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMOVDQA);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMOVDQU16);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMOVDQU32);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMOVDQU64);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMOVDQU8);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMOVDQU);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMOVHLPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMOVHPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMOVHPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMOVLHPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMOVLPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMOVLPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMOVMSKPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMOVMSKPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMOVNTDQA);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMOVNTDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMOVNTPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMOVNTPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMOVSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMOVSHDUP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMOVSLDUP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMOVSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMOVUPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMOVUPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMPSADBW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMPTRLD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMPTRST);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMREAD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMRESUME);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMRUN);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMSAVE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMULPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMULPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMULSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMULSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMWRITE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMXOFF);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VMXON);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPABSB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPABSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPABSQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPABSW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPACKSSDW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPACKSSWB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPACKUSDW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPACKUSWB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPADDB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPADDD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPADDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPADDSB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPADDSW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPADDUSB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPADDUSW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPADDW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPALIGNR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPANDD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPANDND);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPANDNQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPANDN);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPANDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPAND);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPAVGB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPAVGW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPBLENDD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPBLENDMB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPBLENDMD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPBLENDMQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPBLENDMW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPBLENDVB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPBLENDW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPBROADCASTB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPBROADCASTD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPBROADCASTMB2Q);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPBROADCASTMW2D);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPBROADCASTQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPBROADCASTW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPCLMULQDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPCMOV);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPCMPB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPCMPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPCMPEQB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPCMPEQD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPCMPEQQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPCMPEQW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPCMPESTRI);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPCMPESTRM);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPCMPGTB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPCMPGTD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPCMPGTQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPCMPGTW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPCMPISTRI);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPCMPISTRM);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPCMPQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPCMPUB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPCMPUD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPCMPUQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPCMPUW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPCMPW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPCOMB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPCOMD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPCOMPRESSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPCOMPRESSQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPCOMQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPCOMUB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPCOMUD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPCOMUQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPCOMUW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPCOMW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPCONFLICTD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPCONFLICTQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPERM2F128);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPERM2I128);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPERMD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPERMI2D);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPERMI2PD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPERMI2PS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPERMI2Q);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPERMIL2PD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPERMIL2PS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPERMILPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPERMILPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPERMPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPERMPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPERMQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPERMT2D);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPERMT2PD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPERMT2PS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPERMT2Q);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPEXPANDD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPEXPANDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPEXTRB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPEXTRD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPEXTRQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPEXTRW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPGATHERDD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPGATHERDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPGATHERQD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPGATHERQQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPHADDBD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPHADDBQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPHADDBW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPHADDDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPHADDD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPHADDSW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPHADDUBD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPHADDUBQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPHADDUBW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPHADDUDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPHADDUWD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPHADDUWQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPHADDWD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPHADDWQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPHADDW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPHMINPOSUW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPHSUBBW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPHSUBDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPHSUBD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPHSUBSW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPHSUBWD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPHSUBW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPINSRB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPINSRD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPINSRQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPINSRW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPLZCNTD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPLZCNTQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMACSDD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMACSDQH);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMACSDQL);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMACSSDD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMACSSDQH);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMACSSDQL);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMACSSWD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMACSSWW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMACSWD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMACSWW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMADCSSWD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMADCSWD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMADDUBSW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMADDWD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMASKMOVD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMASKMOVQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMAXSB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMAXSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMAXSQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMAXSW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMAXUB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMAXUD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMAXUQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMAXUW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMINSB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMINSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMINSQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMINSW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMINUB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMINUD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMINUQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMINUW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMOVDB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMOVDW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMOVM2B);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMOVM2D);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMOVM2Q);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMOVM2W);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMOVMSKB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMOVQB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMOVQD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMOVQW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMOVSDB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMOVSDW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMOVSQB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMOVSQD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMOVSQW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMOVSXBD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMOVSXBQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMOVSXBW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMOVSXDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMOVSXWD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMOVSXWQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMOVUSDB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMOVUSDW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMOVUSQB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMOVUSQD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMOVUSQW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMOVZXBD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMOVZXBQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMOVZXBW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMOVZXDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMOVZXWD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMOVZXWQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMULDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMULHRSW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMULHUW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMULHW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMULLD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMULLQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMULLW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPMULUDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPORD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPORQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPOR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPPERM);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPROTB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPROTD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPROTQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPROTW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSADBW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSCATTERDD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSCATTERDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSCATTERQD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSCATTERQQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSHAB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSHAD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSHAQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSHAW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSHLB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSHLD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSHLQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSHLW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSHUFB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSHUFD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSHUFHW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSHUFLW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSIGNB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSIGND);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSIGNW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSLLDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSLLD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSLLQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSLLVD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSLLVQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSLLW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSRAD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSRAQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSRAVD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSRAVQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSRAW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSRLDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSRLD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSRLQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSRLVD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSRLVQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSRLW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSUBB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSUBD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSUBQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSUBSB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSUBSW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSUBUSB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSUBUSW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPSUBW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPTESTMD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPTESTMQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPTESTNMD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPTESTNMQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPTEST);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPUNPCKHBW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPUNPCKHDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPUNPCKHQDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPUNPCKHWD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPUNPCKLBW);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPUNPCKLDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPUNPCKLQDQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPUNPCKLWD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPXORD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPXORQ);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VPXOR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VRCP14PD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VRCP14PS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VRCP14SD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VRCP14SS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VRCP28PD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VRCP28PS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VRCP28SD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VRCP28SS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VRCPPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VRCPSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VRNDSCALEPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VRNDSCALEPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VRNDSCALESD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VRNDSCALESS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VROUNDPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VROUNDPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VROUNDSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VROUNDSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VRSQRT14PD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VRSQRT14PS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VRSQRT14SD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VRSQRT14SS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VRSQRT28PD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VRSQRT28PS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VRSQRT28SD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VRSQRT28SS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VRSQRTPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VRSQRTSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VSCATTERDPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VSCATTERDPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VSCATTERPF0DPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VSCATTERPF0DPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VSCATTERPF0QPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VSCATTERPF0QPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VSCATTERPF1DPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VSCATTERPF1DPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VSCATTERPF1QPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VSCATTERPF1QPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VSCATTERQPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VSCATTERQPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VSHUFPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VSHUFPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VSQRTPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VSQRTPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VSQRTSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VSQRTSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VSTMXCSR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VSUBPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VSUBPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VSUBSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VSUBSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VTESTPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VTESTPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VUNPCKHPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VUNPCKHPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VUNPCKLPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VUNPCKLPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VZEROALL);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VZEROUPPER);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, WAIT);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, WBINVD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, WRFSBASE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, WRGSBASE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, WRMSR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, XABORT);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, XACQUIRE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, XBEGIN);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, XCHG);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, XCRYPTCBC);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, XCRYPTCFB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, XCRYPTCTR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, XCRYPTECB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, XCRYPTOFB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, XEND);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, XGETBV);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, XLATB);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, XRELEASE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, XRSTOR);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, XRSTOR64);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, XRSTORS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, XRSTORS64);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, XSAVE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, XSAVE64);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, XSAVEC);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, XSAVEC64);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, XSAVEOPT);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, XSAVEOPT64);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, XSAVES);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, XSAVES64);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, XSETBV);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, XSHA1);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, XSHA256);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, XSTORE);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, XTEST);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FDISI8087_NOP);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, FENI8087_NOP);

        // pseudo instructions
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPEQSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPLTSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPLESS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPUNORDSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPNEQSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPNLTSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPNLESS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPORDSS);

    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPEQSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPLTSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPLESD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPUNORDSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPNEQSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPNLTSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPNLESD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPORDSD);

    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPEQPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPLTPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPLEPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPUNORDPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPNEQPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPNLTPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPNLEPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPORDPS);

    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPEQPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPLTPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPLEPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPUNORDPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPNEQPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPNLTPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPNLEPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, CMPORDPD);

    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPEQSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPLTSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPLESS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPUNORDSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNEQSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNLTSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNLESS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPORDSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPEQ_UQSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNGESS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNGTSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPFALSESS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNEQ_OQSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPGESS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPGTSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPTRUESS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPEQ_OSSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPLT_OQSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPLE_OQSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPUNORD_SSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNEQ_USSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNLT_UQSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNLE_UQSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPORD_SSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPEQ_USSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNGE_UQSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNGT_UQSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPFALSE_OSSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNEQ_OSSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPGE_OQSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPGT_OQSS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPTRUE_USSS);

    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPEQSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPLTSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPLESD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPUNORDSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNEQSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNLTSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNLESD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPORDSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPEQ_UQSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNGESD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNGTSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPFALSESD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNEQ_OQSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPGESD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPGTSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPTRUESD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPEQ_OSSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPLT_OQSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPLE_OQSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPUNORD_SSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNEQ_USSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNLT_UQSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNLE_UQSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPORD_SSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPEQ_USSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNGE_UQSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNGT_UQSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPFALSE_OSSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNEQ_OSSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPGE_OQSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPGT_OQSD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPTRUE_USSD);

    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPEQPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPLTPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPLEPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPUNORDPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNEQPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNLTPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNLEPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPORDPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPEQ_UQPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNGEPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNGTPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPFALSEPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNEQ_OQPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPGEPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPGTPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPTRUEPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPEQ_OSPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPLT_OQPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPLE_OQPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPUNORD_SPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNEQ_USPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNLT_UQPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNLE_UQPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPORD_SPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPEQ_USPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNGE_UQPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNGT_UQPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPFALSE_OSPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNEQ_OSPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPGE_OQPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPGT_OQPS);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPTRUE_USPS);

    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPEQPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPLTPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPLEPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPUNORDPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNEQPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNLTPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNLEPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPORDPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPEQ_UQPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNGEPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNGTPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPFALSEPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNEQ_OQPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPGEPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPGTPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPTRUEPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPEQ_OSPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPLT_OQPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPLE_OQPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPUNORD_SPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNEQ_USPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNLT_UQPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNLE_UQPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPORD_SPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPEQ_USPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNGE_UQPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNGT_UQPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPFALSE_OSPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPNEQ_OSPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPGE_OQPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPGT_OQPD);
    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, VCMPTRUE_USPD);

    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, UD0);
    LA_X86_INSN_REDEF(next_x86_insn_tr, X86_INS_ENDBR32, dt_X86_INS_NOP);
    LA_X86_INSN_REDEF(next_x86_insn_tr, X86_INS_ENDBR64, dt_X86_INS_NOP);

    LA_X86_INSN_DEF(next_x86_insn_tr, X86_INS_, ENDING);
}
