From d2e3dbabe8890c372cc5980a9bb94f42dc73611a Mon Sep 17 00:00:00 2001 From: flobernd Date: Mon, 27 Oct 2014 14:10:22 +0100 Subject: [PATCH] Fixed instruction pointer pointing to current instead of next instruction Added instruction address field to the VXInstructionInfo struct Added operand access mode information to the VXOperandInfo struct Added abstract data provider interface for the VXInstructionDecoder Added concrete VXBufferDataProvider and VXStreamDataProvider classes Published effectively used REX/VEX.w/r/x/b and VEX.l values in the VXInstructionInfo struct Published extended modrm.reg/rm and sib.base/index values in the VXInstructionInfo struct Internal changes and improvements --- Disassembler Test/Disassembler Test.cpp | 25 +- README.md | 1 + .../VXDisassemblerTypes.h | 202 +- .../VXInstructionDecoder.cpp | 450 +- .../VXInstructionDecoder.h | 577 +- .../VXInstructionFormatter.cpp | 12 +- .../VXInstructionFormatter.h | 2 +- .../VXOpcodeTable.cpp | 8874 ++++++++--------- Verteron Disassembler Engine/VXOpcodeTable.h | 1599 +-- 9 files changed, 5861 insertions(+), 5881 deletions(-) diff --git a/Disassembler Test/Disassembler Test.cpp b/Disassembler Test/Disassembler Test.cpp index 3552c99..821ae4e 100644 --- a/Disassembler Test/Disassembler Test.cpp +++ b/Disassembler Test/Disassembler Test.cpp @@ -68,19 +68,22 @@ int _tmain(int argc, _TCHAR* argv[]) }; VXInstructionInfo info; + VXInstructionDecoder decoder; VXIntelInstructionFormatter formatter; - VXInstructionDecoder decoder32(&data32[0], sizeof(data32), VXDisassemblerMode::M32BIT); - VXInstructionDecoder decoder64(&data64[0], sizeof(data64), VXDisassemblerMode::M64BIT); + VXBufferDataSource input32(&data32[0], sizeof(data32)); + VXBufferDataSource input64(&data64[0], sizeof(data64)); - decoder32.setInstructionPointer(0x77091852); + decoder.setDisassemblerMode(VXDisassemblerMode::M32BIT); + decoder.setDataSource(&input32); + decoder.setInstructionPointer(0x77091852); std::cout << "32 bit test ..." << std::endl << std::endl; - while (decoder32.decodeNextInstruction(info)) + while (decoder.decodeInstruction(info)) { std::cout << std::hex << std::setw(8) << std::setfill('0') << std::uppercase - << info.instructionPointer << " "; + << info.instrAddress << " "; if (info.flags & IF_ERROR_MASK) { - std::cout << "db " << std::setw(2) << info.instructionBytes[0]; + std::cout << "db " << std::setw(2) << info.data[0]; } else { std::cout << formatter.formatInstruction(info) << std::endl; @@ -89,15 +92,17 @@ int _tmain(int argc, _TCHAR* argv[]) std::cout << std::endl; - decoder64.setInstructionPointer(0x00007FFA39A81930ull); + decoder.setDisassemblerMode(VXDisassemblerMode::M64BIT); + decoder.setDataSource(&input64); + decoder.setInstructionPointer(0x00007FFA39A81930ull); std::cout << "64 bit test ..." << std::endl << std::endl; - while (decoder64.decodeNextInstruction(info)) + while (decoder.decodeInstruction(info)) { std::cout << std::hex << std::setw(16) << std::setfill('0') << std::uppercase - << info.instructionPointer << " "; + << info.instrAddress << " "; if (info.flags & IF_ERROR_MASK) { - std::cout << "db " << std::setw(2) << info.instructionBytes[0]; + std::cout << "db " << std::setw(2) << info.data[0]; } else { std::cout << formatter.formatInstruction(info) << std::endl; diff --git a/README.md b/README.md index b62f4a0..dba47e2 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,7 @@ Fast and lightweight x86/x86-64 disassembler library. - Only 44.00 KiB (64 bit: 47.00 KiB) for the decoder and 62.00 KiB (64 bit: 69.50 KiB) with the optional formatting functionality - Abstract formatter and symbol-resolver classes for custom syntax implementations. - Intel syntax is implemented by default +- Complete doxygen documentation ## Compilation ## diff --git a/Verteron Disassembler Engine/VXDisassemblerTypes.h b/Verteron Disassembler Engine/VXDisassemblerTypes.h index 433568f..71af477 100644 --- a/Verteron Disassembler Engine/VXDisassemblerTypes.h +++ b/Verteron Disassembler Engine/VXDisassemblerTypes.h @@ -47,19 +47,19 @@ enum InstructionFlags : uint32_t { IF_NONE = 0x00000000, /** - * @brief The instruction got decoded in 16 bit disassembler mode. + * @brief The instruction was decoded in 16 bit disassembler mode. */ IF_DISASSEMBLER_MODE_16 = 0x00000001, /** - * @brief The instruction got decoded in 32 bit disassembler mode. + * @brief The instruction was decoded in 32 bit disassembler mode. */ IF_DISASSEMBLER_MODE_32 = 0x00000002, /** - * @brief The instruction got decoded in 64 bit disassembler mode. + * @brief The instruction was decoded in 64 bit disassembler mode. */ IF_DISASSEMBLER_MODE_64 = 0x00000004, /** - * @brief The instruction has a segment override prefix (0x26, 0x2E, 0x36, 0x3E, 0x64, 0x65). + * @brief The instruction has a segment prefix (0x26, 0x2E, 0x36, 0x3E, 0x64, 0x65). */ IF_PREFIX_SEGMENT = 0x00000008, /** @@ -67,21 +67,21 @@ enum InstructionFlags : uint32_t */ IF_PREFIX_LOCK = 0x00000010, /** - * @brief The instruction has a repnz prefix (0xF2). + * @brief The instruction has a repne prefix (0xF2). */ - IF_PREFIX_REPNZ = 0x00000020, + IF_PREFIX_REPNE = 0x00000020, /** - * @brief The instruction has a repz prefix (0xF3). + * @brief The instruction has a rep prefix (0xF3). */ - IF_PREFIX_REPZ = 0x00000040, + IF_PREFIX_REP = 0x00000040, /** - * @brief The instruction has an operand size override prefix (0x66). + * @brief The instruction has an operand size prefix (0x66). */ - IF_PREFIX_OPERAND_SIZE_OVERRIDE = 0x00000080, + IF_PREFIX_OPERAND_SIZE = 0x00000080, /** - * @brief The instruction has an address size override prefix (0x67). + * @brief The instruction has an address size prefix (0x67). */ - IF_PREFIX_ADDRESS_SIZE_OVERRIDE = 0x00000100, + IF_PREFIX_ADDRESS_SIZE = 0x00000100, /** * @brief The instruction has a rex prefix (0x40 - 0x4F). */ @@ -128,41 +128,6 @@ enum InstructionFlags : uint32_t IF_ERROR_OPERAND = 0x01000000 }; -/** - * @brief Values that represent the type of a decoded operand. - */ -enum class VXOperandType -{ - /** - * @brief The operand is not used. - */ - NONE, - /** - * @brief The operand is a register operand. - */ - REGISTER, - /** - * @brief The operand is a memory operand. - */ - MEMORY, - /** - * @brief The operand is a pointer operand. - */ - POINTER, - /** - * @brief The operand is an immediate operand. - */ - IMMEDIATE, - /** - * @brief The operand is a relative immediate operand. - */ - REL_IMMEDIATE, - /** - * @brief The operand is a constant value. - */ - CONSTANT -}; - /** * @brief Values that represent a cpu register. */ @@ -223,6 +188,61 @@ enum class VXRegister : uint16_t RIP }; +/** + * @brief Values that represent the type of a decoded operand. + */ +enum class VXOperandType +{ + /** + * @brief The operand is not used. + */ + NONE, + /** + * @brief The operand is a register operand. + */ + REGISTER, + /** + * @brief The operand is a memory operand. + */ + MEMORY, + /** + * @brief The operand is a pointer operand. + */ + POINTER, + /** + * @brief The operand is an immediate operand. + */ + IMMEDIATE, + /** + * @brief The operand is a relative immediate operand. + */ + REL_IMMEDIATE, + /** + * @brief The operand is a constant value. + */ + CONSTANT +}; + +/** + * @brief Values that represent the operand access mode. + */ +enum class VXOperandAccessMode +{ + NA, + /** + * @brief The operand is accessed in read-only mode. + */ + READ, + /** + * @brief The operand is accessed in write mode. + */ + WRITE, + /** + * @brief The operand is accessed in read-write mode. + */ + READWRITE +}; + /** * @brief This struct holds information about a decoded operand. */ @@ -236,6 +256,10 @@ struct VXOperandInfo * @brief The size of the operand. */ uint16_t size; + /** + * @brief The operand access mode. + */ + VXOperandAccessMode access_mode; /** * @brief The base register. */ @@ -249,11 +273,16 @@ struct VXOperandInfo */ uint8_t scale; /** - * @brief The offset. TODO: improve documentation + * @brief The lvalue offset. If the @c offset is zero and the operand @c type is not + * @c CONSTANT, no lvalue is present. */ uint8_t offset; /** - * @brief The lvalue. TODO: improve documentation + * @brief Signals, if the lval is signed. + */ + bool signed_lval; + /** + * @brief The lvalue. */ union { int8_t sbyte; @@ -289,13 +318,13 @@ struct VXInstructionInfo */ uint8_t length; /** - * @brief The instruction bytes. + * @brief Contains all bytes of the instruction. */ - uint8_t instructionBytes[15]; + uint8_t data[15]; /** * @brief The length of the instruction opcodes. */ - uint8_t opcodeLength; + uint8_t opcode_length; /** * @brief The instruction opcodes. */ @@ -303,20 +332,20 @@ struct VXInstructionInfo /** * @brief The operand mode. */ - uint8_t operandMode; + uint8_t operand_mode; /** * @brief The address mode. */ - uint8_t addressMode; + uint8_t address_mode; /** * @brief The decoded operands. */ VXOperandInfo operand[4]; /** * @brief The segment register. This value will default to @c NONE, if no segment register - * override prefix is present. + * prefix is present. */ - VXRegister segmentRegister; + VXRegister segment; /** * @brief The rex prefix byte. */ @@ -352,12 +381,24 @@ struct VXInstructionInfo * with 1 most-significant bit to 4 bits total. */ uint8_t modrm_reg; + /** + * @brief The extended modrm register bits. If the instruction definition does not have the + * @c IDF_ACCEPTS_REXR flag set, this value defaults to the normal @c modrm_reg + * field. + */ + uint8_t modrm_reg_ext; /** * @brief The modrm register/memory bits. Specifies a direct or indirect register operand, * optionally with a displacement. The REX.B, VEX.~B or XOP.~B field can extend this * field with 1 most-significant bit to 4 bits total. */ uint8_t modrm_rm; + /** + * @brief The extended modrm register/memory bits. If the instruction definition does not + * have the @c IDF_ACCEPTS_REXB flag set, this value defaults to the normal + * @c modrm_rm field. + */ + uint8_t modrm_rm_ext; /** * @brief The sib byte. */ @@ -371,11 +412,23 @@ struct VXInstructionInfo * with 1 most-significant bit to 4 bits total. */ uint8_t sib_index; + /** + * @brief The extended index register. If the instruction definition does not have the + * @c IDF_ACCEPTS_REXX flag set, this value defaults to the normal @c sib_index + * field. + */ + uint8_t sib_index_ext; /** * @brief The base register to use. The REX.B, VEX.~B or XOP.~B field can extend this field * with 1 most-significant bit to 4 bits total. */ uint8_t sib_base; + /** + * @brief The extended base register. If the instruction definition does not have the + * @c IDF_ACCEPTS_REXB flag set, this value defaults to the normal @c sib_index + * field. + */ + uint8_t sib_base_ext; /** * @brief The primary vex prefix byte. */ @@ -434,15 +487,46 @@ struct VXInstructionInfo * 11 = 0xF2 */ uint8_t vex_pp; + /** + * @brief The effectively used REX/VEX.w value. If the instruction definition does not have + * the @c IDF_ACCEPTS_REXW flag set, this value defaults to zero. + */ + uint8_t eff_rexvex_w; + /** + * @brief The effectively used REX/VEX.r value. If the instruction definition does not have + * the @c IDF_ACCEPTS_REXR flag set, this value defaults to zero. + */ + uint8_t eff_rexvex_r; + /** + * @brief The effectively used REX/VEX.x value. If the instruction definition does not have + * the @c IDF_ACCEPTS_REXX flag set, this value defaults to zero. + */ + uint8_t eff_rexvex_x; + /** + * @brief The effectively used REX/VEX.b value. If the instruction definition does not have + * the @c IDF_ACCEPTS_REXB flag set, this value defaults to zero. + */ + uint8_t eff_rexvex_b; + /** + * @brief The effectively used VEX.l value. If the instruction definition does not have + * the @c IDF_ACCEPTS_VEXL flag set, this value defaults to zero. + */ + uint8_t eff_vex_l; /** * @brief The instruction definition. */ const VXInstructionDefinition *instrDefinition; /** - * @brief The instruction pointer. This field is used to properly format relative - * instructions. + * @brief The instruction address points to the current instruction (relative to the + * initial instruction pointer). */ - uint64_t instructionPointer; + uint64_t instrAddress; + /** + * @brief The instruction pointer points to the address of the next instruction (relative + * to the initial instruction pointer). + * This field is used to properly format relative instructions. + */ + uint64_t instrPointer; }; } diff --git a/Verteron Disassembler Engine/VXInstructionDecoder.cpp b/Verteron Disassembler Engine/VXInstructionDecoder.cpp index 0385842..54ef033 100644 --- a/Verteron Disassembler Engine/VXInstructionDecoder.cpp +++ b/Verteron Disassembler Engine/VXInstructionDecoder.cpp @@ -102,7 +102,6 @@ bool VXInstructionDecoder::decodeRegisterOperand(VXInstructionInfo &info, VXOper reg = static_cast(static_cast(VXRegister::ES) + (registerId & 0x07)); break; case RegisterClass::XMM: - // TODO: Needs to be tested reg = static_cast(registerId + static_cast( ((size == 256) ? VXRegister::YMM0 : VXRegister::XMM0))); break; @@ -118,18 +117,22 @@ bool VXInstructionDecoder::decodeRegisterOperand(VXInstructionInfo &info, VXOper bool VXInstructionDecoder::decodeRegisterMemoryOperand(VXInstructionInfo &info, VXOperandInfo &operand, RegisterClass registerClass, VXDefinedOperandSize operandSize) { + if (!decodeModrm(info)) + { + return false; + } assert(info.flags & IF_MODRM); // Decode register operand if (info.modrm_mod == 3) { - return decodeRegisterOperand(info, operand, registerClass, m_effectiveModrmRm, + return decodeRegisterOperand(info, operand, registerClass, info.modrm_rm_ext, operandSize); } // Decode memory operand uint8_t offset = 0; operand.type = VXOperandType::MEMORY; operand.size = getEffectiveOperandSize(info, operandSize); - switch (info.addressMode) + switch (info.address_mode) { case 16: { @@ -139,10 +142,10 @@ bool VXInstructionDecoder::decodeRegisterMemoryOperand(VXInstructionInfo &info, static const VXRegister indices[] = { VXRegister::SI, VXRegister::DI, VXRegister::SI, VXRegister::DI, VXRegister::NONE, VXRegister::NONE, VXRegister::NONE, VXRegister::NONE }; - operand.base = static_cast(bases[m_effectiveModrmRm & 0x07]); - operand.index = static_cast(indices[m_effectiveModrmRm & 0x07]); + operand.base = static_cast(bases[info.modrm_rm_ext & 0x07]); + operand.index = static_cast(indices[info.modrm_rm_ext & 0x07]); operand.scale = 0; - if (info.modrm_mod == 0 && m_effectiveModrmRm == 6) { + if (info.modrm_mod == 0 && info.modrm_rm_ext == 6) { offset = 16; operand.base = VXRegister::NONE; } else if (info.modrm_mod == 1) { @@ -154,11 +157,11 @@ bool VXInstructionDecoder::decodeRegisterMemoryOperand(VXInstructionInfo &info, break; case 32: operand.base = - static_cast(static_cast(VXRegister::EAX) + m_effectiveModrmRm); + static_cast(static_cast(VXRegister::EAX) + info.modrm_rm_ext); switch (info.modrm_mod) { case 0: - if (m_effectiveModrmRm == 5) + if (info.modrm_rm_ext == 5) { operand.base = VXRegister::NONE; offset = 32; @@ -173,7 +176,7 @@ bool VXInstructionDecoder::decodeRegisterMemoryOperand(VXInstructionInfo &info, default: assert(0); } - if ((m_effectiveModrmRm & 0x07) == 4) + if ((info.modrm_rm_ext & 0x07) == 4) { if (!decodeSIB(info)) { @@ -181,10 +184,10 @@ bool VXInstructionDecoder::decodeRegisterMemoryOperand(VXInstructionInfo &info, } operand.base = static_cast(static_cast(VXRegister::EAX) + - (info.sib_base | (m_effectiveRexB << 3))); + info.sib_base_ext); operand.index = static_cast(static_cast(VXRegister::EAX) + - (info.sib_index | (m_effectiveRexX << 3))); + info.sib_index_ext); operand.scale = (1 << info.sib_scale) & ~1; if (operand.index == VXRegister::ESP) { @@ -213,11 +216,11 @@ bool VXInstructionDecoder::decodeRegisterMemoryOperand(VXInstructionInfo &info, break; case 64: operand.base = - static_cast(static_cast(VXRegister::RAX) + m_effectiveModrmRm); + static_cast(static_cast(VXRegister::RAX) + info.modrm_rm_ext); switch (info.modrm_mod) { case 0: - if ((m_effectiveModrmRm & 0x07) == 5) + if ((info.modrm_rm_ext & 0x07) == 5) { info.flags |= IF_RELATIVE; operand.base = VXRegister::RIP; @@ -233,7 +236,7 @@ bool VXInstructionDecoder::decodeRegisterMemoryOperand(VXInstructionInfo &info, default: assert(0); } - if ((m_effectiveModrmRm & 0x07) == 4) + if ((info.modrm_rm_ext & 0x07) == 4) { if (!decodeSIB(info)) { @@ -241,10 +244,10 @@ bool VXInstructionDecoder::decodeRegisterMemoryOperand(VXInstructionInfo &info, } operand.base = static_cast(static_cast(VXRegister::RAX) + - (info.sib_base | (m_effectiveRexB << 3))); + info.sib_base_ext); operand.index = static_cast(static_cast(VXRegister::RAX) + - (info.sib_index | (m_effectiveRexX << 3))); + info.sib_index_ext); if (operand.index == VXRegister::RSP) { operand.index = VXRegister::NONE; @@ -353,16 +356,22 @@ bool VXInstructionDecoder::decodeModrm(VXInstructionInfo &info) { if (!(info.flags & IF_MODRM)) { - if (!inputNext(info) && (info.flags & IF_ERROR_MASK)) + info.modrm = inputNext(info); + if (!info.modrm && (info.flags & IF_ERROR_MASK)) { return false; } info.flags |= IF_MODRM; - info.modrm = inputCurrent(); info.modrm_mod = (info.modrm >> 6) & 0x03; info.modrm_reg = (info.modrm >> 3) & 0x07; info.modrm_rm = (info.modrm >> 0) & 0x07; } + // The @c decodeModrm method might get called multiple times during the opcode- and the + // operand decoding, but the effective REX/VEX fields are not initialized before the end of + // the opcode decoding process. As the extended values are only used for the operand decoding, + // we should have no problems. + info.modrm_reg_ext = (info.eff_rexvex_r << 3) | info.modrm_reg; + info.modrm_rm_ext = (info.eff_rexvex_b << 3) | info.modrm_rm; return true; } @@ -372,15 +381,19 @@ bool VXInstructionDecoder::decodeSIB(VXInstructionInfo &info) assert((info.modrm_rm & 0x7) == 4); if (!(info.flags & IF_SIB)) { - if (!inputNext(info) && (info.flags & IF_ERROR_MASK)) + info.sib = inputNext(info); + if (!info.sib && (info.flags & IF_ERROR_MASK)) { return false; } info.flags |= IF_SIB; - info.sib = inputCurrent(); info.sib_scale = (info.sib >> 6) & 0x03; info.sib_index = (info.sib >> 3) & 0x07; info.sib_base = (info.sib >> 0) & 0x07; + // The @c decodeSib method is only called during the operand decoding, so updating the + // extended values at this point should be safe. + info.sib_index_ext = (info.eff_rexvex_x << 3) | info.sib_index; + info.sib_base_ext = (info.eff_rexvex_b << 3) | info.sib_base; } return true; } @@ -393,12 +406,12 @@ bool VXInstructionDecoder::decodeVex(VXInstructionInfo &info) switch (info.vex_op) { case 0xC4: - info.vex_b1 = inputNext(info); + info.vex_b1 = inputNext(info); if (!info.vex_b1 || (info.flags & IF_ERROR_MASK)) { return false; } - info.vex_b2 = inputNext(info); + info.vex_b2 = inputNext(info); if (!info.vex_b2 || (info.flags & IF_ERROR_MASK)) { return false; @@ -413,7 +426,7 @@ bool VXInstructionDecoder::decodeVex(VXInstructionInfo &info) info.vex_pp = (info.vex_b2 >> 0) & 0x03; break; case 0xC5: - info.vex_b1 = inputNext(info); + info.vex_b1 = inputNext(info); if (!info.vex_b1 || (info.flags & IF_ERROR_MASK)) { return false; @@ -449,38 +462,21 @@ uint16_t VXInstructionDecoder::getEffectiveOperandSize(const VXInstructionInfo & case VXDefinedOperandSize::NA: return 0; case VXDefinedOperandSize::Z: - return (info.operandMode == 16) ? 16 : 32; + return (info.operand_mode == 16) ? 16 : 32; case VXDefinedOperandSize::V: - return info.operandMode; + return info.operand_mode; case VXDefinedOperandSize::Y: - return (info.operandMode == 16) ? 32 : info.operandMode; + return (info.operand_mode == 16) ? 32 : info.operand_mode; case VXDefinedOperandSize::X: assert(info.vex_op != 0); - return m_effectiveVexL ? + return (info.eff_vex_l) ? getEffectiveOperandSize(info, VXDefinedOperandSize::QQ) : getEffectiveOperandSize(info, VXDefinedOperandSize::DQ); case VXDefinedOperandSize::RDQ: return (m_disassemblerMode == VXDisassemblerMode::M64BIT) ? 64 : 32; - case VXDefinedOperandSize::B: - return 8; - case VXDefinedOperandSize::W: - return 16; - case VXDefinedOperandSize::D: - return 32; - case VXDefinedOperandSize::Q: - return 64; - case VXDefinedOperandSize::T: - return 80; - case VXDefinedOperandSize::O: - return 12; - case VXDefinedOperandSize::DQ: - return 128; - case VXDefinedOperandSize::QQ: - return 256; default: - assert(0); + return Internal::GetSimpleOperandSize(operandSize); } - return 0; } bool VXInstructionDecoder::decodeOperands(VXInstructionInfo& info) @@ -497,6 +493,7 @@ bool VXInstructionDecoder::decodeOperands(VXInstructionInfo& info) { if (info.operand[i - 1].type != VXOperandType::NONE) { + info.operand[i - 1].access_mode = VXOperandAccessMode::READ; if (!decodeOperand(info, info.operand[i], info.instrDefinition->operand[i].type, info.instrDefinition->operand[i].size)) { @@ -504,6 +501,27 @@ bool VXInstructionDecoder::decodeOperands(VXInstructionInfo& info) } } } + // Update operand access modes + if (info.operand[0].type != VXOperandType::NONE) + { + if (info.instrDefinition->flags & IDF_OPERAND1_WRITE) + { + info.operand[0].access_mode = VXOperandAccessMode::WRITE; + } else if (info.instrDefinition->flags & IDF_OPERAND1_READWRITE) + { + info.operand[0].access_mode = VXOperandAccessMode::READWRITE; + } + } + if (info.operand[1].type != VXOperandType::NONE) + { + if (info.instrDefinition->flags & IDF_OPERAND2_WRITE) + { + info.operand[1].access_mode = VXOperandAccessMode::WRITE; + } else if (info.instrDefinition->flags & IDF_OPERAND2_READWRITE) + { + info.operand[1].access_mode = VXOperandAccessMode::READWRITE; + } + } return true; } @@ -518,7 +536,7 @@ bool VXInstructionDecoder::decodeOperand(VXInstructionInfo &info, VXOperandInfo break; case VXDefinedOperandType::A: operand.type = VXOperandType::POINTER; - if (info.operandMode == 16) + if (info.operand_mode == 16) { operand.size = 32; operand.lval.ptr.off = inputNext(info); @@ -534,10 +552,18 @@ bool VXInstructionDecoder::decodeOperand(VXInstructionInfo &info, VXOperandInfo } break; case VXDefinedOperandType::C: - return decodeRegisterOperand(info, operand, RegisterClass::CONTROL, m_effectiveModrmReg, + if (!decodeModrm(info)) + { + return false; + } + return decodeRegisterOperand(info, operand, RegisterClass::CONTROL, info.modrm_reg_ext, operandSize); case VXDefinedOperandType::D: - return decodeRegisterOperand(info, operand, RegisterClass::DEBUG, m_effectiveModrmReg, + if (!decodeModrm(info)) + { + return false; + } + return decodeRegisterOperand(info, operand, RegisterClass::DEBUG, info.modrm_reg_ext, operandSize); case VXDefinedOperandType::F: // TODO: FAR flag @@ -552,12 +578,18 @@ bool VXInstructionDecoder::decodeOperand(VXInstructionInfo &info, VXOperandInfo return decodeRegisterMemoryOperand(info, operand, RegisterClass::GENERAL_PURPOSE, operandSize); case VXDefinedOperandType::G: + if (!decodeModrm(info)) + { + return false; + } return decodeRegisterOperand(info, operand, RegisterClass::GENERAL_PURPOSE, - m_effectiveModrmReg, operandSize); + info.modrm_reg_ext, operandSize); case VXDefinedOperandType::H: assert(info.vex_op != 0); return decodeRegisterOperand(info, operand, RegisterClass::XMM, (0xF & ~info.vex_vvvv), operandSize); + case VXDefinedOperandType::sI: + operand.signed_lval = true; case VXDefinedOperandType::I: return decodeImmediate(info, operand, operandSize); case VXDefinedOperandType::I1: @@ -607,9 +639,13 @@ bool VXInstructionDecoder::decodeOperand(VXInstructionInfo &info, VXOperandInfo operand.index = VXRegister::NONE; operand.scale = 0; operand.size = getEffectiveOperandSize(info, operandSize); - return decodeDisplacement(info, operand, info.addressMode); + return decodeDisplacement(info, operand, info.address_mode); case VXDefinedOperandType::P: - return decodeRegisterOperand(info, operand, RegisterClass::MMX, m_effectiveModrmReg, + if (!decodeModrm(info)) + { + return false; + } + return decodeRegisterOperand(info, operand, RegisterClass::MMX, info.modrm_reg_ext, operandSize); case VXDefinedOperandType::R: // ModR/M byte may refer only to memory @@ -621,7 +657,11 @@ bool VXInstructionDecoder::decodeOperand(VXInstructionInfo &info, VXOperandInfo return decodeRegisterMemoryOperand(info, operand, RegisterClass::GENERAL_PURPOSE, operandSize); case VXDefinedOperandType::S: - return decodeRegisterOperand(info, operand, RegisterClass::SEGMENT, m_effectiveModrmReg, + if (!decodeModrm(info)) + { + return false; + } + return decodeRegisterOperand(info, operand, RegisterClass::SEGMENT, info.modrm_reg_ext, operandSize); case VXDefinedOperandType::U: // ModR/M byte may refer only to memory @@ -633,7 +673,11 @@ bool VXInstructionDecoder::decodeOperand(VXInstructionInfo &info, VXOperandInfo case VXDefinedOperandType::W: return decodeRegisterMemoryOperand(info, operand, RegisterClass::XMM, operandSize); case VXDefinedOperandType::V: - return decodeRegisterOperand(info, operand, RegisterClass::XMM, m_effectiveModrmReg, + if (!decodeModrm(info)) + { + return false; + } + return decodeRegisterOperand(info, operand, RegisterClass::XMM, info.modrm_reg_ext, operandSize); case VXDefinedOperandType::R0: case VXDefinedOperandType::R1: @@ -644,7 +688,7 @@ bool VXInstructionDecoder::decodeOperand(VXInstructionInfo &info, VXOperandInfo case VXDefinedOperandType::R6: case VXDefinedOperandType::R7: return decodeRegisterOperand(info, operand, RegisterClass::GENERAL_PURPOSE, - ((m_effectiveRexB << 3) | (static_cast(operandType) - + ((info.eff_rexvex_b << 3) | (static_cast(operandType) - static_cast(VXDefinedOperandType::R0))), operandSize); case VXDefinedOperandType::AL: case VXDefinedOperandType::AX: @@ -711,84 +755,106 @@ void VXInstructionDecoder::resolveOperandAndAddressMode(VXInstructionInfo &info) switch (m_disassemblerMode) { case VXDisassemblerMode::M16BIT: - info.operandMode = (info.flags & IF_PREFIX_OPERAND_SIZE_OVERRIDE) ? 32 : 16; - info.addressMode = (info.flags & IF_PREFIX_ADDRESS_SIZE_OVERRIDE) ? 32 : 16; + info.operand_mode = (info.flags & IF_PREFIX_OPERAND_SIZE) ? 32 : 16; + info.address_mode = (info.flags & IF_PREFIX_ADDRESS_SIZE) ? 32 : 16; break; case VXDisassemblerMode::M32BIT: - info.operandMode = (info.flags & IF_PREFIX_OPERAND_SIZE_OVERRIDE) ? 16 : 32; - info.addressMode = (info.flags & IF_PREFIX_ADDRESS_SIZE_OVERRIDE) ? 16 : 32; + info.operand_mode = (info.flags & IF_PREFIX_OPERAND_SIZE) ? 16 : 32; + info.address_mode = (info.flags & IF_PREFIX_ADDRESS_SIZE) ? 16 : 32; break; case VXDisassemblerMode::M64BIT: - if (m_effectiveRexW) + if (info.eff_rexvex_w) { - info.operandMode = 64; - } else if ((info.flags & IF_PREFIX_OPERAND_SIZE_OVERRIDE)) + info.operand_mode = 64; + } else if ((info.flags & IF_PREFIX_OPERAND_SIZE)) { - info.operandMode = 16; + info.operand_mode = 16; } else { - info.operandMode = (info.instrDefinition->flags & IDF_DEFAULT_64) ? 64 : 32; + info.operand_mode = (info.instrDefinition->flags & IDF_DEFAULT_64) ? 64 : 32; } - info.addressMode = (info.flags & IF_PREFIX_ADDRESS_SIZE_OVERRIDE) ? 32 : 64; + info.address_mode = (info.flags & IF_PREFIX_ADDRESS_SIZE) ? 32 : 64; break; default: assert(0); } } +void VXInstructionDecoder::calculateEffectiveRexVexValues(VXInstructionInfo &info) const +{ + assert(info.instrDefinition); + uint8_t rex = info.rex; + if (info.flags & IF_PREFIX_VEX) + { + switch (info.vex_op) + { + case 0xC4: + rex = ((~(info.vex_b1 >> 5) & 0x07) | ((info.vex_b2 >> 4) & 0x08)); + break; + case 0xC5: + rex = (~(info.vex_b1 >> 5)) & 4; + break; + default: + assert(0); + } + } + rex &= (info.instrDefinition->flags & 0x000F); + info.eff_rexvex_w = (rex >> 3) & 0x01; + info.eff_rexvex_r = (rex >> 2) & 0x01; + info.eff_rexvex_x = (rex >> 1) & 0x01; + info.eff_rexvex_b = (rex >> 0) & 0x01; + info.eff_vex_l = info.vex_l && (info.instrDefinition->flags & IDF_ACCEPTS_VEXL); +} + bool VXInstructionDecoder::decodePrefixes(VXInstructionInfo &info) { bool done = false; do { - if (!inputPeek(info) && (info.flags & IF_ERROR_MASK)) - { - return false; - } - switch (inputCurrent()) + switch (inputPeek(info)) { case 0xF0: info.flags |= IF_PREFIX_LOCK; break; case 0xF2: // REPNZ and REPZ are mutally exclusive. The one that comes later has precedence. - info.flags |= IF_PREFIX_REPNZ; - info.flags &= ~IF_PREFIX_REPZ; + info.flags |= IF_PREFIX_REP; + info.flags &= ~IF_PREFIX_REPNE; break; case 0xF3: // REPNZ and REPZ are mutally exclusive. The one that comes later has precedence. - info.flags |= IF_PREFIX_REPZ; - info.flags &= ~IF_PREFIX_REPNZ; + info.flags |= IF_PREFIX_REP; + info.flags &= ~IF_PREFIX_REPNE; break; case 0x2E: info.flags |= IF_PREFIX_SEGMENT; - info.segmentRegister = VXRegister::CS; + info.segment = VXRegister::CS; break; case 0x36: info.flags |= IF_PREFIX_SEGMENT; - info.segmentRegister = VXRegister::SS; + info.segment = VXRegister::SS; break; case 0x3E: info.flags |= IF_PREFIX_SEGMENT; - info.segmentRegister = VXRegister::DS; + info.segment = VXRegister::DS; break; case 0x26: info.flags |= IF_PREFIX_SEGMENT; - info.segmentRegister = VXRegister::ES; + info.segment = VXRegister::ES; break; case 0x64: info.flags |= IF_PREFIX_SEGMENT; - info.segmentRegister = VXRegister::FS; + info.segment = VXRegister::FS; break; case 0x65: info.flags |= IF_PREFIX_SEGMENT; - info.segmentRegister = VXRegister::GS; + info.segment = VXRegister::GS; break; case 0x66: - info.flags |= IF_PREFIX_OPERAND_SIZE_OVERRIDE; + info.flags |= IF_PREFIX_OPERAND_SIZE; break; case 0x67: - info.flags |= IF_PREFIX_ADDRESS_SIZE_OVERRIDE; + info.flags |= IF_PREFIX_ADDRESS_SIZE; break; default: if ((m_disassemblerMode == VXDisassemblerMode::M64BIT) && @@ -811,7 +877,7 @@ bool VXInstructionDecoder::decodePrefixes(VXInstructionInfo &info) } } } while (!done); - // TODO: Add flags for multiple prefixes of the same group + // TODO: Check for multiple prefixes of the same group // Parse REX Prefix if (info.flags & IF_PREFIX_REX) { @@ -833,7 +899,7 @@ bool VXInstructionDecoder::decodeOpcode(VXInstructionInfo &info) } // Update instruction info info.opcode[0] = inputCurrent(); - info.opcodeLength = 1; + info.opcode_length = 1; // Iterate through opcode tree VXOpcodeTreeNode node = GetOpcodeTreeChild(GetOpcodeTreeRoot(), inputCurrent()); VXOpcodeTreeNodeType nodeType; @@ -845,11 +911,28 @@ bool VXInstructionDecoder::decodeOpcode(VXInstructionInfo &info) { case VXOpcodeTreeNodeType::INSTRUCTION_DEFINITION: { - // Decode opcode - if (!decodeInstructionNode(info, node)) + // Check for invalid instruction + if (GetOpcodeNodeValue(node) == 0) { + info.flags |= IF_ERROR_INVALID; return false; } + // Get instruction definition + const VXInstructionDefinition *instrDefinition = GetInstructionDefinition(node); + // Check for invalid 64 bit instruction + if ((m_disassemblerMode == VXDisassemblerMode::M64BIT) && + (instrDefinition->flags & IDF_INVALID_64)) + { + info.flags |= IF_ERROR_INVALID_64; + return false; + } + // Update instruction info + info.instrDefinition = instrDefinition; + info.mnemonic = instrDefinition->mnemonic; + // Update effective REX/VEX values + calculateEffectiveRexVexValues(info); + // Resolve operand and address mode + resolveOperandAndAddressMode(info); // Decode operands if (!decodeOperands(info)) { @@ -864,9 +947,9 @@ bool VXInstructionDecoder::decodeOpcode(VXInstructionInfo &info) return false; } // Update instruction info - assert((info.opcodeLength > 0) && (info.opcodeLength < 3)); - info.opcode[info.opcodeLength] = inputCurrent(); - info.opcodeLength++; + assert((info.opcode_length > 0) && (info.opcode_length < 3)); + info.opcode[info.opcode_length] = inputCurrent(); + info.opcode_length++; // Set child node index for next iteration index = inputCurrent(); break; @@ -896,13 +979,13 @@ bool VXInstructionDecoder::decodeOpcode(VXInstructionInfo &info) break; case VXOpcodeTreeNodeType::MANDATORY: // Check if there are any prefixes present - if (info.flags & IF_PREFIX_REPNZ) + if (info.flags & IF_PREFIX_REP) { index = 1; // F2 - } else if (info.flags & IF_PREFIX_REPZ) + } else if (info.flags & IF_PREFIX_REPNE) { index = 2; // F3 - } else if (info.flags & IF_PREFIX_OPERAND_SIZE_OVERRIDE) + } else if (info.flags & IF_PREFIX_OPERAND_SIZE) { index = 3; // 66 } @@ -912,14 +995,14 @@ bool VXInstructionDecoder::decodeOpcode(VXInstructionInfo &info) } if (index && (GetOpcodeTreeChild(node, index) != 0)) { - // Remove REPNZ and REPZ prefix - info.flags &= ~IF_PREFIX_REPNZ; - info.flags &= ~IF_PREFIX_REPZ; - // Remove OPERAND_SIZE_OVERRIDE prefix, if it was used as mandatory prefix for - // the instruction + // Remove REP and REPNE prefix + info.flags &= ~IF_PREFIX_REP; + info.flags &= ~IF_PREFIX_REPNE; + // Remove OPERAND_SIZE prefix, if it was used as mandatory prefix for the + // instruction if (index == 3) { - info.flags &= ~IF_PREFIX_OPERAND_SIZE_OVERRIDE; + info.flags &= ~IF_PREFIX_OPERAND_SIZE; } } break; @@ -935,13 +1018,13 @@ bool VXInstructionDecoder::decodeOpcode(VXInstructionInfo &info) switch (m_disassemblerMode) { case VXDisassemblerMode::M16BIT: - index = (info.flags & IF_PREFIX_ADDRESS_SIZE_OVERRIDE) ? 1 : 0; + index = (info.flags & IF_PREFIX_ADDRESS_SIZE) ? 1 : 0; break; case VXDisassemblerMode::M32BIT: - index = (info.flags & IF_PREFIX_ADDRESS_SIZE_OVERRIDE) ? 0 : 1; + index = (info.flags & IF_PREFIX_ADDRESS_SIZE) ? 0 : 1; break; case VXDisassemblerMode::M64BIT: - index = (info.flags & IF_PREFIX_ADDRESS_SIZE_OVERRIDE) ? 1 : 2; + index = (info.flags & IF_PREFIX_ADDRESS_SIZE) ? 1 : 2; break; default: assert(0); @@ -951,14 +1034,13 @@ bool VXInstructionDecoder::decodeOpcode(VXInstructionInfo &info) switch (m_disassemblerMode) { case VXDisassemblerMode::M16BIT: - index = (info.flags & IF_PREFIX_OPERAND_SIZE_OVERRIDE) ? 1 : 0; + index = (info.flags & IF_PREFIX_OPERAND_SIZE) ? 1 : 0; break; case VXDisassemblerMode::M32BIT: - index = (info.flags & IF_PREFIX_OPERAND_SIZE_OVERRIDE) ? 0 : 1; + index = (info.flags & IF_PREFIX_OPERAND_SIZE) ? 0 : 1; break; case VXDisassemblerMode::M64BIT: - index = - (info.rex_w) ? 2 : ((info.flags & IF_PREFIX_OPERAND_SIZE_OVERRIDE) ? 0 : 1); + index = (info.rex_w) ? 2 : ((info.flags & IF_PREFIX_OPERAND_SIZE) ? 0 : 1); break; default: assert(0); @@ -988,10 +1070,15 @@ bool VXInstructionDecoder::decodeOpcode(VXInstructionInfo &info) // As all 3dnow instructions got the same operands and flag definitions, we just // decode a random instruction and determine the specific opcode later. assert(GetOpcodeTreeChild(node, 0x0C) != 0); - if (!decodeInstructionNode(info, GetOpcodeTreeChild(node, 0x0C))) - { - return false; - } + const VXInstructionDefinition *instrDefinition = + GetInstructionDefinition(GetOpcodeTreeChild(node, 0x0C)); + // Update instruction info + info.instrDefinition = instrDefinition; + info.mnemonic = instrDefinition->mnemonic; + // Update effective REX/VEX values + calculateEffectiveRexVexValues(info); + // Resolve operand and address mode + resolveOperandAndAddressMode(info); // Decode operands if (!decodeOperands(info)) { @@ -1003,16 +1090,45 @@ bool VXInstructionDecoder::decodeOpcode(VXInstructionInfo &info) { return false; } - // Update instruction mnemonic - const VXInstructionDefinition *instrDefinition = + // Update instruction info + instrDefinition = GetInstructionDefinition(GetOpcodeTreeChild(node, info.opcode[2])); - if (!instrDefinition) + if (!instrDefinition || + (instrDefinition->mnemonic == VXInstructionMnemonic::INVALID)) { info.flags |= IF_ERROR_INVALID; return false; } info.instrDefinition = instrDefinition; - info.mnemonic = instrDefinition->mnemonic; + info.mnemonic = instrDefinition->mnemonic; + // Update operand access modes + for (unsigned int i = 0; i < 4; ++i) + { + if (info.operand[i].type != VXOperandType::NONE) + { + info.operand[i - 1].access_mode = VXOperandAccessMode::READ; + } + } + if (info.operand[0].type != VXOperandType::NONE) + { + if (info.instrDefinition->flags & IDF_OPERAND1_WRITE) + { + info.operand[0].access_mode = VXOperandAccessMode::WRITE; + } else if (info.instrDefinition->flags & IDF_OPERAND1_READWRITE) + { + info.operand[0].access_mode = VXOperandAccessMode::READWRITE; + } + } + if (info.operand[1].type != VXOperandType::NONE) + { + if (info.instrDefinition->flags & IDF_OPERAND2_WRITE) + { + info.operand[1].access_mode = VXOperandAccessMode::WRITE; + } else if (info.instrDefinition->flags & IDF_OPERAND2_READWRITE) + { + info.operand[1].access_mode = VXOperandAccessMode::READWRITE; + } + } // Terminate loop return true; } @@ -1025,26 +1141,23 @@ bool VXInstructionDecoder::decodeOpcode(VXInstructionInfo &info) { return false; } - // Update instruction info + // Update instruction info (error cases are checked by the @c decodeVex method) switch (info.vex_m_mmmm) { case 1: - info.opcodeLength = 1; + info.opcode_length = 1; info.opcode[0] = 0x0F; break; case 2: - info.opcodeLength = 2; + info.opcode_length = 2; info.opcode[0] = 0x0F; info.opcode[1] = 0x38; break; case 3: - info.opcodeLength = 2; + info.opcode_length = 2; info.opcode[0] = 0x0F; info.opcode[1] = 0x3A; break; - default: - // TODO: ERROR - break; } // Set child node index for next iteration index = info.vex_m_mmmm + (info.vex_pp << 2); @@ -1069,76 +1182,27 @@ bool VXInstructionDecoder::decodeOpcode(VXInstructionInfo &info) return false; } -bool VXInstructionDecoder::decodeInstructionNode(VXInstructionInfo &info, VXOpcodeTreeNode node) +VXInstructionDecoder::VXInstructionDecoder() + : m_dataSource(nullptr) + , m_disassemblerMode(VXDisassemblerMode::M32BIT) + , m_preferredVendor(VXInstructionSetVendor::ANY) + , m_instructionPointer(0) { - // Check for invalid instruction - if (Internal::GetOpcodeNodeValue(node) == 0) - { - info.flags |= IF_ERROR_INVALID; - return false; - } - // Get instruction definition - bool hasModrm = false; - const VXInstructionDefinition *instrDefinition = - Internal::GetInstructionDefinition(node, hasModrm); - // Check for invalid 64 bit instruction - if ((m_disassemblerMode == VXDisassemblerMode::M64BIT) && - (instrDefinition->flags & IDF_INVALID_64)) - { - info.flags |= IF_ERROR_INVALID_64; - return false; - } - // Update instruction info - info.instrDefinition = instrDefinition; - info.mnemonic = instrDefinition->mnemonic; - // Decode modrm byte - if (hasModrm && !decodeModrm(info)) - { - return false; - } - // Update values required for operand decoding - uint8_t rex = info.rex; - if (info.flags & IF_PREFIX_VEX) - { - switch (info.vex_op) - { - case 0xC4: - rex = ((~(info.vex_b1 >> 5) & 0x07) | ((info.vex_b2 >> 4) & 0x08)); - break; - case 0xC5: - rex = (~(info.vex_b1 >> 5)) & 4; - break; - default: - assert(0); - } - } - // Calculate effective values by adding the corresponding part of the flags bitmask - rex &= (instrDefinition->flags & 0x000F); - // Store effective values in the current disassembler instance - m_effectiveRexW = (rex >> 3) & 0x01; - m_effectiveRexR = (rex >> 2) & 0x01; - m_effectiveRexX = (rex >> 1) & 0x01; - m_effectiveRexB = (rex >> 0) & 0x01; - m_effectiveModrmReg = (m_effectiveRexR << 3) | info.modrm_reg; - m_effectiveModrmRm = (m_effectiveRexB << 3) | info.modrm_rm; - m_effectiveVexL = info.vex_l && (instrDefinition->flags & IDF_ACCEPTS_VEXL); - // Resolve operand and address mode - resolveOperandAndAddressMode(info); - return true; -} -VXInstructionDecoder::VXInstructionDecoder(void const *buffer, size_t bufferLen, - VXDisassemblerMode disassemblerMode, VXInstructionSetVendor preferredVendor) - : m_inputBuffer(buffer) - , m_inputBufferLen(bufferLen) - , m_inputBufferOffset(0) +} + +VXInstructionDecoder::VXInstructionDecoder(VXBaseDataSource *input, + VXDisassemblerMode disassemblerMode, VXInstructionSetVendor preferredVendor, + uint64_t instructionPointer) + : m_dataSource(input) , m_disassemblerMode(disassemblerMode) - , m_preferredVendor(preferredVendor) + , m_preferredVendor(preferredVendor) + , m_instructionPointer(instructionPointer) { } -bool VXInstructionDecoder::decodeNextInstruction(VXInstructionInfo &info) +bool VXInstructionDecoder::decodeInstruction(VXInstructionInfo &info) { // Clear instruction info memset(&info, 0, sizeof(info)); @@ -1157,8 +1221,8 @@ bool VXInstructionDecoder::decodeNextInstruction(VXInstructionInfo &info) default: assert(0); } - // Set instruction pointer - info.instructionPointer = m_instructionPointer; + // Set instruction address + info.instrAddress = m_instructionPointer; // Decode if (!decodePrefixes(info) || !decodeOpcode(info)) { @@ -1188,29 +1252,31 @@ bool VXInstructionDecoder::decodeNextInstruction(VXInstructionInfo &info) info.operand[1].type = VXOperandType::NONE; } } - if ((info.mnemonic == VXInstructionMnemonic::NOP) && (info.flags & IF_PREFIX_REPZ)) + if ((info.mnemonic == VXInstructionMnemonic::NOP) && (info.flags & IF_PREFIX_REP)) { info.mnemonic = VXInstructionMnemonic::PAUSE; - info.flags &= ~IF_PREFIX_REPZ; + info.flags &= ~IF_PREFIX_REP; } // Increment instruction pointer m_instructionPointer += info.length; + // Set instruction pointer + info.instrPointer = m_instructionPointer; return true; DecodeError: // Increment instruction pointer. m_instructionPointer += 1; - // Backup all error flags, the instruction length and the instruction pointer + // Backup all error flags, the instruction length and the instruction address uint32_t flags = info.flags & (IF_ERROR_MASK | 0x00000007); uint8_t length = info.length; - uint8_t firstByte = info.instructionBytes[0]; - uint64_t instrPointer = info.instructionPointer; + uint8_t firstByte = info.data[0]; + uint64_t instrAddress = info.instrAddress; // Clear instruction info memset(&info, 0, sizeof(info)); // Restore saved values info.flags = flags; info.length = length; - info.instructionBytes[0] = firstByte; - info.instructionPointer = instrPointer; + info.data[0] = firstByte; + info.instrAddress = instrAddress; info.instrDefinition = Internal::GetInstructionDefinition(0); // Return with error, if the end of the input source was reached while decoding the // invalid instruction @@ -1223,7 +1289,7 @@ DecodeError: // source while decoding the invalid instruction. if (info.length != 1) { - m_inputBufferOffset = m_inputBufferOffset - info.length + 1; + m_dataSource->setPosition(m_dataSource->getPosition() - info.length + 1); info.length = 1; } return true; diff --git a/Verteron Disassembler Engine/VXInstructionDecoder.h b/Verteron Disassembler Engine/VXInstructionDecoder.h index cac931e..886420e 100644 --- a/Verteron Disassembler Engine/VXInstructionDecoder.h +++ b/Verteron Disassembler Engine/VXInstructionDecoder.h @@ -32,6 +32,7 @@ #pragma once #include +#include #include "VXDisassemblerTypes.h" namespace Verteron @@ -40,18 +41,347 @@ namespace Verteron namespace Disassembler { +/////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * @brief The base class for all data-source implementations. + */ +class VXBaseDataSource +{ +private: + uint8_t m_currentInput; +protected: + /** + * @brief Override this method in your custom data source implementations. + * Reads the next byte from the data source. This method increases the current + * input position by one. + * @return The current input byte. + */ + virtual uint8_t internalInputPeek() = 0; + /** + * @brief Override this method in your custom data source implementations. + * Reads the next byte from the data source. This method does NOT increase the + * current input position. + * @return The current input byte. + */ + virtual uint8_t internalInputNext() = 0; +protected: + /** + * @brief Default constructor. + */ + VXBaseDataSource() { }; +public: + /** + * @brief Destructor. + */ + virtual ~VXBaseDataSource() { }; +public: + /** + * @brief Reads the next byte from the data source. This method does NOT increase the + * current input position or the @c length field of the @c info parameter. + * @param info The instruction info. + * @return The current input byte. If the result is zero, you should always check the + * @c flags field of the @c info parameter for error flags. + * Possible error values are @c IF_ERROR_END_OF_INPUT or @c IF_ERROR_LENGTH. + */ + uint8_t inputPeek(VXInstructionInfo &info); + /** + * @brief Reads the next byte from the data source. This method increases the current + * input position and the @c length field of the @info parameter. + * This method also appends the new byte to to @c data field of the @c info + * parameter. + * @param info The instruction info. + * @return The current input byte. If the result is zero, you should always check the + * @c flags field of the @c info parameter for error flags. + * Possible error values are @c IF_ERROR_END_OF_INPUT or @c IF_ERROR_LENGTH. + */ + uint8_t inputNext(VXInstructionInfo &info); + /** + * @brief Reads the next byte(s) from the data source. This method increases the current + * input position and the @c length field of the @info parameter. + * This method also appends the new byte(s) to to @c data field of the @c info + * parameter. + * @param info The instruction info. + * @return The current input data. If the result is zero, you should always check the + * @c flags field of the @c info parameter for error flags. + * Possible error values are @c IF_ERROR_END_OF_INPUT or @c IF_ERROR_LENGTH. + */ + template + T inputNext(VXInstructionInfo &info); + /** + * @brief Returns the current input byte. The current input byte is set everytime the + * @c inputPeek or @c inputNext method is called. + * @return The current input byte. + */ + uint8_t inputCurrent() const; +public: + /** + * @brief Override this method in your custom data source implementations. + * Signals, if the end of the data source is reached. + * @return True if end of input, false if not. + */ + virtual bool isEndOfInput() const = 0; + /** + * @brief Override this method in your custom data source implementations. + * Returns the current input position. + * @return The current input position. + */ + virtual uint64_t getPosition() const = 0; + /** + * @brief Override this method in your custom data source implementations. + * Sets a new input position. + * @param position The new input position. + * @return Returns false, if the new position exceeds the maximum input length. + */ + virtual bool setPosition(uint64_t position) = 0; +}; + +inline uint8_t VXBaseDataSource::inputPeek(VXInstructionInfo &info) +{ + if (info.length == 15) + { + info.flags |= IF_ERROR_LENGTH; + return 0; + } + if (isEndOfInput()) + { + info.flags |= IF_ERROR_END_OF_INPUT; + return 0; + } + m_currentInput = internalInputPeek(); + return m_currentInput; +} + +inline uint8_t VXBaseDataSource::inputNext(VXInstructionInfo &info) +{ + if (info.length == 15) + { + info.flags |= IF_ERROR_LENGTH; + return 0; + } + if (isEndOfInput()) + { + info.flags |= IF_ERROR_END_OF_INPUT; + return 0; + } + m_currentInput = internalInputNext(); + info.data[info.length] = m_currentInput; + info.length++; + return m_currentInput; +} + +template +inline T VXBaseDataSource::inputNext(VXInstructionInfo &info) +{ + static_assert(std::is_integral::value, "integral type required"); + T result = 0; + for (unsigned i = 0; i < (sizeof(T) / sizeof(uint8_t)); ++i) + { + T b = inputNext(info); + if (!b && (info.flags & IF_ERROR_MASK)) + { + return 0; + } + result |= (b << (i * 8)); + } + return result; +} + +inline uint8_t VXBaseDataSource::inputCurrent() const +{ + return m_currentInput; +} + +/////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * @brief Implements a memory buffer based data source. + */ +class VXBufferDataSource : public VXBaseDataSource +{ +private: + const void *m_inputBuffer; + uint64_t m_inputBufferLen; + uint64_t m_inputBufferPos; +protected: + /** + * @brief Reads the next byte from the data source. This method increases the current + * input position by one. + * @return The current input byte. + */ + uint8_t internalInputPeek() override; + /** + * @brief Reads the next byte from the data source. This method does NOT increase the + * current input position. + * @return The current input byte. + */ + uint8_t internalInputNext() override; +public: + /** + * @brief Constructor. + * @param buffer The input buffer. + * @param bufferLen The length of the input buffer. + */ + VXBufferDataSource(const void* buffer, size_t bufferLen) + : m_inputBuffer(buffer) + , m_inputBufferLen(bufferLen) + , m_inputBufferPos(0) { }; +public: + /** + * @brief Signals, if the end of the data source is reached. + * @return True if end of input, false if not. + */ + bool isEndOfInput() const override; + /** + * @brief Returns the current input position. + * @return The current input position. + */ + uint64_t getPosition() const override; + /** + * @brief Sets a new input position. + * @param position The new input position. + * @return Returns false, if the new position exceeds the maximum input length. + */ + bool setPosition(uint64_t position) override; +}; + +inline uint8_t VXBufferDataSource::internalInputPeek() +{ + return *(static_cast(m_inputBuffer) + m_inputBufferPos); +} + +inline uint8_t VXBufferDataSource::internalInputNext() +{ + ++m_inputBufferPos; + return *(static_cast(m_inputBuffer) + m_inputBufferPos - 1); +} + +inline bool VXBufferDataSource::isEndOfInput() const +{ + return (m_inputBufferPos >= m_inputBufferLen); +} + +inline uint64_t VXBufferDataSource::getPosition() const +{ + return m_inputBufferPos; +} + +inline bool VXBufferDataSource::setPosition(uint64_t position) +{ + m_inputBufferPos = position; + return isEndOfInput(); +} + +/////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * @brief Implements a stream based data source. + */ +class VXStreamDataSource : public VXBaseDataSource +{ +private: + std::istream *m_inputStream; +protected: + /** + * @brief Reads the next byte from the data source. This method increases the current + * input position by one. + * @return The current input byte. + */ + uint8_t internalInputPeek() override; + /** + * @brief Reads the next byte from the data source. This method does NOT increase the + * current input position. + * @return The current input byte. + */ + uint8_t internalInputNext() override; +public: + /** + * @brief Constructor. + * @param stream The input stream. + */ + explicit VXStreamDataSource(std::istream *stream) + : m_inputStream(stream) { }; +public: + /** + * @brief Signals, if the end of the data source is reached. + * @return True if end of input, false if not. + */ + bool isEndOfInput() const override; + /** + * @brief Returns the current input position. + * @return The current input position. + */ + uint64_t getPosition() const override; + /** + * @brief Sets a new input position. + * @param position The new input position. + * @return Returns false, if the new position exceeds the maximum input length. + */ + bool setPosition(uint64_t position) override; +}; + +inline uint8_t VXStreamDataSource::internalInputPeek() +{ + if (!m_inputStream) + { + return 0; + } + return m_inputStream->peek(); +} + +inline uint8_t VXStreamDataSource::internalInputNext() +{ + if (!m_inputStream) + { + return 0; + } + return m_inputStream->get(); +} + +inline bool VXStreamDataSource::isEndOfInput() const +{ + if (!m_inputStream) + { + return true; + } + // We use good() instead of eof() to make sure the decoding will fail, if an stream internal + // error occured. + return m_inputStream->good(); +} + +inline uint64_t VXStreamDataSource::getPosition() const +{ + if (!m_inputStream) + { + return 0; + } + return m_inputStream->tellg(); +} + +inline bool VXStreamDataSource::setPosition(uint64_t position) +{ + if (!m_inputStream) + { + return false; + } + m_inputStream->seekg(position); + return isEndOfInput(); +} + +/////////////////////////////////////////////////////////////////////////////////////////////////// + /** * @brief Values that represent a disassembler mode. */ enum class VXDisassemblerMode { - M16BIT = 16, - M32BIT = 32, - M64BIT = 64 + M16BIT, + M32BIT, + M64BIT }; /** - * @brief Values that represent an instruction vendor. + * @brief Values that represent an instruction-set vendor. */ enum class VXInstructionSetVendor { @@ -69,54 +399,48 @@ class VXInstructionDecoder private: enum class RegisterClass { - GENERAL_PURPOSE = 0, - MMX = 1, - CONTROL = 2, - DEBUG = 3, - SEGMENT = 4, - XMM = 5 + GENERAL_PURPOSE, + MMX, + CONTROL, + DEBUG, + SEGMENT, + XMM }; private: + VXBaseDataSource *m_dataSource; VXDisassemblerMode m_disassemblerMode; VXInstructionSetVendor m_preferredVendor; uint64_t m_instructionPointer; - const void *m_inputBuffer; - size_t m_inputBufferLen; - size_t m_inputBufferOffset; - uint8_t m_currentInput; -private: - uint8_t m_effectiveRexW; - uint8_t m_effectiveRexR; - uint8_t m_effectiveRexX; - uint8_t m_effectiveRexB; - uint8_t m_effectiveModrmReg; - uint8_t m_effectiveModrmRm; - bool m_effectiveVexL; private: /** - * @brief Reads the next byte from the input data source. This method does NOT increase the - * current input offset and the @c length or @c instructionBytes field of the @c info - * parameter. + * @brief Reads the next byte from the data source. This method does NOT increase the + * current input position or the @c length field of the @c info parameter. * @param info The instruction info. - * @return Returns the current input byte. If the result is zero, you should always check - * the @flags field of the @c info parameter for the @c IF_ERROR_MASK. + * @return The current input byte. If the result is zero, you should always check the + * @c flags field of the @c info parameter for error flags. + * Possible error values are @c IF_ERROR_END_OF_INPUT or @c IF_ERROR_LENGTH. */ uint8_t inputPeek(VXInstructionInfo &info); /** - * @brief Reads the next byte from the input data source. This method increases the current - * input offset and the @c length field of the @info parameter. + * @brief Reads the next byte from the data source. This method increases the current + * input position and the @c length field of the @info parameter. + * This method also appends the new byte to to @c data field of the @c info + * parameter. * @param info The instruction info. - * @return Returns the current input byte. If the result is zero, you should always check - * the @flags field of the @c info parameter for the @c IF_ERROR_MASK. + * @return The current input byte. If the result is zero, you should always check the + * @c flags field of the @c info parameter for error flags. + * Possible error values are @c IF_ERROR_END_OF_INPUT or @c IF_ERROR_LENGTH. */ uint8_t inputNext(VXInstructionInfo &info); /** * @brief Reads the next byte(s) from the data source. This method increases the current - * input offset and the @c length field of the @info parameter. - * @tparam T Generic integral type parameter. + * input position and the @c length field of the @info parameter. + * This method also appends the new byte(s) to to @c data field of the @c info + * parameter. * @param info The instruction info. - * @return Returns the current input byte(s). If the result is zero, you should always check - * the @flags field of the @c info parameter for the @c IF_ERROR_MASK. + * @return The current input data. If the result is zero, you should always check the + * @c flags field of the @c info parameter for error flags. + * Possible error values are @c IF_ERROR_END_OF_INPUT or @c IF_ERROR_LENGTH. */ template T inputNext(VXInstructionInfo &info); @@ -188,15 +512,6 @@ private: * @return True if it succeeds, false if it fails. */ bool decodeVex(VXInstructionInfo &info); -private: - /** - * @brief Resolves the effective operand and address mode of the instruction. - * This method requires a non-null value in the @c instrDefinition field of the - * @c info struct. - * @param info The @c VXInstructionInfo struct that receives the effective operand and - * address mode. - */ - void resolveOperandAndAddressMode(VXInstructionInfo &info) const; private: /** * @brief Returns the effective operand size. @@ -222,6 +537,23 @@ private: */ bool decodeOperand(VXInstructionInfo &info, VXOperandInfo &operand, VXDefinedOperandType operandType, VXDefinedOperandSize operandSize); +private: + /** + * @brief Resolves the effective operand and address mode of the instruction. + * This method requires a non-null value in the @c instrDefinition field of the + * @c info struct. + * @param info The @c VXInstructionInfo struct that receives the effective operand and + * address mode. + */ + void resolveOperandAndAddressMode(VXInstructionInfo &info) const; + /** + * @brief Calculates the effective REX/VEX.w, r, x, b, l values. + * This method requires a non-null value in the @c instrDefinition field of the + * @c info struct. + * @param info The @c VXInstructionInfo struct that receives the effective operand and + * address mode. + */ + void calculateEffectiveRexVexValues(VXInstructionInfo &info) const; private: /** * @brief Collects and decodes optional instruction prefixes. @@ -235,24 +567,20 @@ private: * @return True if it succeeds, false if it fails. */ bool decodeOpcode(VXInstructionInfo &info); - /** - * @brief Decodes an instruction node. - * @param info The @c VXInstructionInfo struct that receives the decoded data. - * @param node The instruction node. - * @return True if it succeeds, false if it fails. - */ - bool decodeInstructionNode(VXInstructionInfo &info, VXOpcodeTreeNode node); public: /** - * @brief Constructor. - * @param buffer The input buffer. - * @param bufferLen The length of the input buffer. - * @param disassemblerMode The disassembler mode. - * @param preferredVendor The preferred instruction-set vendor. + * @brief Default constructor. */ - VXInstructionDecoder(const void *buffer, size_t bufferLen, + VXInstructionDecoder(); + /** + * @brief Constructor. + * @param input A reference to the input data source. + * @param instructionPointer The initial instruction pointer. + */ + explicit VXInstructionDecoder(VXBaseDataSource *input, VXDisassemblerMode disassemblerMode = VXDisassemblerMode::M32BIT, - VXInstructionSetVendor preferredVendor = VXInstructionSetVendor::ANY); + VXInstructionSetVendor preferredVendor = VXInstructionSetVendor::ANY, + uint64_t instructionPointer = 0); public: /** * @brief Decodes the next instruction from the input data source. @@ -262,43 +590,35 @@ public: * length. * In all other cases (valid and invalid instructions) the return value is true. */ - bool decodeNextInstruction(VXInstructionInfo &info); - /** - * @brief Decodes a single instruction. - * @param info The @c VXInstructionInfo struct that receives the information - * about the decoded instruction. - * @param buffer The input buffer. - * @param bufferLen The length of the input buffer. - * @param disassemblerMode The disassembler mode. - * @param preferredVendor The preferred instruction-set vendor. - * @return This method returns false, if the current position has exceeded the maximum input - * length. - * In all other cases (valid and invalid instructions) the return value is true. - */ - static bool decodeInstruction(VXInstructionInfo &info, const void *buffer, size_t bufferLen, - VXDisassemblerMode disassemblerMode = VXDisassemblerMode::M32BIT, - VXInstructionSetVendor preferredVendor = VXInstructionSetVendor::ANY); + bool decodeInstruction(VXInstructionInfo &info); public: /** - * @brief Returns the current input position. - * @return The current input position. + * @brief Returns a pointer to the current data source. + * @return A pointer to the current data source. */ - uintptr_t getPosition() const; + VXBaseDataSource* getDataSource() const; /** - * @brief Changes the input position. - * @param position The new input position. - * @return True if it succeeds, false if the new position exceeds the maximum input length. + * @brief Sets a new data source. + * @param input A reference to the new input data source. */ - bool setPosition(uintptr_t position); + void setDataSource(VXBaseDataSource *input); /** - * @brief Returns the current instruction pointer. The instruction pointer is used to - * properly format relative instructions. + * @brief Returns the current disassembler mode. + * @return The current disassembler mode. + */ + VXDisassemblerMode getDisassemblerMode() const; + /** + * @brief Sets the current disassembler mode. + * @param disassemblerMode The new disassembler mode. + */ + void setDisassemblerMode(VXDisassemblerMode disassemblerMode); + /** + * @brief Returns the current instruction pointer. * @return The current instruction pointer. */ uint64_t getInstructionPointer() const; /** - * @brief Sets the current instruction pointer. The instruction pointer is used to - * properly format relative instructions. + * @brief Sets a new instruction pointer. * @param instructionPointer The new instruction pointer. */ void setInstructionPointer(uint64_t instructionPointer); @@ -306,92 +626,75 @@ public: inline uint8_t VXInstructionDecoder::inputPeek(VXInstructionInfo &info) { - if (info.length == 15) - { - info.flags |= IF_ERROR_LENGTH; - return 0; - } - if (m_inputBufferOffset == m_inputBufferLen) + if (!m_dataSource) { info.flags |= IF_ERROR_END_OF_INPUT; return 0; } - m_currentInput = *(static_cast(m_inputBuffer) + m_inputBufferOffset); - return m_currentInput; + return m_dataSource->inputPeek(info); } inline uint8_t VXInstructionDecoder::inputNext(VXInstructionInfo &info) { - if (info.length == 15) - { - info.flags |= IF_ERROR_LENGTH; - return 0; - } - if (m_inputBufferOffset == m_inputBufferLen) + if (!m_dataSource) { info.flags |= IF_ERROR_END_OF_INPUT; return 0; } - m_currentInput = *(static_cast(m_inputBuffer) + m_inputBufferOffset); - m_inputBufferOffset++; - info.instructionBytes[info.length] = m_currentInput; - info.length++; - return m_currentInput; + return m_dataSource->inputNext(info); } template inline T VXInstructionDecoder::inputNext(VXInstructionInfo &info) { - static_assert(std::is_integral::value, "integral type required"); - T result = 0; - for (unsigned i = 0; i < (sizeof(T) / sizeof(uint8_t)); i++) + if (!m_dataSource) { - T b = inputNext(info); - if (!b && (info.flags & IF_ERROR_MASK)) - { - return 0; - } - result |= (b << (i * 8)); + info.flags |= IF_ERROR_END_OF_INPUT; + return 0; } - return result; + return m_dataSource->inputNext(info); } inline uint8_t VXInstructionDecoder::inputCurrent() const { - return m_currentInput; -} - -inline uintptr_t VXInstructionDecoder::getPosition() const -{ - return m_inputBufferOffset; -} - -inline bool VXInstructionDecoder::setPosition(uintptr_t position) -{ - if (position < m_inputBufferLen) + if (!m_dataSource) { - m_inputBufferOffset = position; - return true; - } - return false; + return 0; + } + return m_dataSource->inputCurrent(); +} + +inline VXBaseDataSource* VXInstructionDecoder::getDataSource() const +{ + return m_dataSource; +} + +inline void VXInstructionDecoder::setDataSource(VXBaseDataSource *input) +{ + m_dataSource = input; +} + +inline VXDisassemblerMode VXInstructionDecoder::getDisassemblerMode() const +{ + return m_disassemblerMode; +} + +inline void VXInstructionDecoder::setDisassemblerMode(VXDisassemblerMode disassemblerMode) +{ + m_disassemblerMode = disassemblerMode; } inline uint64_t VXInstructionDecoder::getInstructionPointer() const { - return m_instructionPointer; + return m_instructionPointer; } inline void VXInstructionDecoder::setInstructionPointer(uint64_t instructionPointer) { - m_instructionPointer = instructionPointer; + m_instructionPointer = instructionPointer; } -inline bool VXInstructionDecoder::decodeInstruction(VXInstructionInfo &info, const void *buffer, - size_t bufferLen, VXDisassemblerMode disassemblerMode, VXInstructionSetVendor preferredVendor) -{ - return VXInstructionDecoder( - buffer, bufferLen, disassemblerMode, preferredVendor).decodeNextInstruction(info); -} +/////////////////////////////////////////////////////////////////////////////////////////////////// } diff --git a/Verteron Disassembler Engine/VXInstructionFormatter.cpp b/Verteron Disassembler Engine/VXInstructionFormatter.cpp index 2e4ecf7..ef2617b 100644 --- a/Verteron Disassembler Engine/VXInstructionFormatter.cpp +++ b/Verteron Disassembler Engine/VXInstructionFormatter.cpp @@ -195,12 +195,12 @@ uint64_t VXBaseInstructionFormatter::calcAbsoluteTarget(const VXInstructionInfo switch (operand.size) { case 8: - return (info.instructionPointer + info.length + operand.lval.sbyte); + return (info.instrPointer + operand.lval.sbyte); case 16: - return (info.instructionPointer + info.length + operand.lval.sword); + return (info.instrPointer + operand.lval.sword); case 32: case 64: - return (info.instructionPointer + info.length + operand.lval.sdword); + return (info.instrPointer + operand.lval.sdword); default: assert(0); } @@ -253,7 +253,7 @@ void VXIntelInstructionFormatter::formatOperand(const VXInstructionInfo &info, // TODO: resolve symbols for displacement only and RIP based memory operands if (info.flags & IF_PREFIX_SEGMENT) { - outputAppendFormatted("%s:", registerToString(info.segmentRegister)); + outputAppendFormatted("%s:", registerToString(info.segment)); } outputAppend("["); if (operand.base == VXRegister::RIP) @@ -395,10 +395,10 @@ void VXIntelInstructionFormatter::internalFormatInstruction(const VXInstructionI { outputAppend("lock "); } - if (info.flags & IF_PREFIX_REPZ) + if (info.flags & IF_PREFIX_REP) { outputAppend("rep "); - } else if (info.flags & IF_PREFIX_REPNZ) + } else if (info.flags & IF_PREFIX_REPNE) { outputAppend("repne "); } diff --git a/Verteron Disassembler Engine/VXInstructionFormatter.h b/Verteron Disassembler Engine/VXInstructionFormatter.h index e3f7f59..14e8eed 100644 --- a/Verteron Disassembler Engine/VXInstructionFormatter.h +++ b/Verteron Disassembler Engine/VXInstructionFormatter.h @@ -102,7 +102,6 @@ protected: * @param info The instruction info. */ virtual void internalFormatInstruction(const VXInstructionInfo &info); -public: /** * @brief Default constructor. */ @@ -113,6 +112,7 @@ public: * resolver should be used. */ explicit VXBaseInstructionFormatter(VXBaseSymbolResolver *symbolResolver); +public: /** * @brief Destructor. */ diff --git a/Verteron Disassembler Engine/VXOpcodeTable.cpp b/Verteron Disassembler Engine/VXOpcodeTable.cpp index 1b98276..d8ee13f 100644 --- a/Verteron Disassembler Engine/VXOpcodeTable.cpp +++ b/Verteron Disassembler Engine/VXOpcodeTable.cpp @@ -42,83 +42,82 @@ namespace Internal #define INVALID 0 #define NODE(type, n) (static_cast(type) << 12 | (n)) -#define MODRM(n) ((n) | 0x0800) static const VXOpcodeTreeNode optreeTable[][256] = { { - /* 00 */ MODRM(0x0015), - /* 01 */ MODRM(0x0014), - /* 02 */ MODRM(0x0016), - /* 03 */ MODRM(0x0018), + /* 00 */ 0x0015, + /* 01 */ 0x0014, + /* 02 */ 0x0016, + /* 03 */ 0x0018, /* 04 */ 0x0017, /* 05 */ 0x0010, /* 06 */ NODE(VXOpcodeTreeNodeType::MODE, 0x0000), /* 07 */ NODE(VXOpcodeTreeNodeType::MODE, 0x0001), - /* 08 */ MODRM(0x039F), - /* 09 */ MODRM(0x039E), - /* 0A */ MODRM(0x03A0), - /* 0B */ MODRM(0x03A2), - /* 0C */ 0x03A1, - /* 0D */ 0x039A, + /* 08 */ 0x0394, + /* 09 */ 0x0393, + /* 0A */ 0x0396, + /* 0B */ 0x0395, + /* 0C */ 0x0390, + /* 0D */ 0x038F, /* 0E */ NODE(VXOpcodeTreeNodeType::MODE, 0x0002), /* 0F */ NODE(VXOpcodeTreeNodeType::TABLE, 0x0001), - /* 10 */ MODRM(0x000B), - /* 11 */ MODRM(0x000A), - /* 12 */ MODRM(0x000C), - /* 13 */ MODRM(0x000E), + /* 10 */ 0x000B, + /* 11 */ 0x000A, + /* 12 */ 0x000C, + /* 13 */ 0x000E, /* 14 */ 0x000D, /* 15 */ 0x0006, /* 16 */ NODE(VXOpcodeTreeNodeType::MODE, 0x0007), /* 17 */ NODE(VXOpcodeTreeNodeType::MODE, 0x0008), - /* 18 */ MODRM(0x050C), - /* 19 */ MODRM(0x050D), - /* 1A */ MODRM(0x050A), - /* 1B */ MODRM(0x050B), - /* 1C */ 0x0510, - /* 1D */ 0x0511, + /* 18 */ 0x04FE, + /* 19 */ 0x04F7, + /* 1A */ 0x04F8, + /* 1B */ 0x04FB, + /* 1C */ 0x04FA, + /* 1D */ 0x04F9, /* 1E */ NODE(VXOpcodeTreeNodeType::MODE, 0x0009), /* 1F */ NODE(VXOpcodeTreeNodeType::MODE, 0x000A), - /* 20 */ MODRM(0x0026), - /* 21 */ MODRM(0x0027), - /* 22 */ MODRM(0x0025), - /* 23 */ MODRM(0x002C), + /* 20 */ 0x0026, + /* 21 */ 0x0027, + /* 22 */ 0x0025, + /* 23 */ 0x002C, /* 24 */ 0x002D, /* 25 */ 0x002E, /* 26 */ INVALID, /* 27 */ NODE(VXOpcodeTreeNodeType::MODE, 0x000B), - /* 28 */ MODRM(0x055D), - /* 29 */ MODRM(0x055E), - /* 2A */ MODRM(0x055C), - /* 2B */ MODRM(0x055A), - /* 2C */ 0x055B, - /* 2D */ 0x0562, + /* 28 */ 0x0542, + /* 29 */ 0x0549, + /* 2A */ 0x0548, + /* 2B */ 0x054B, + /* 2C */ 0x054A, + /* 2D */ 0x0547, /* 2E */ INVALID, /* 2F */ NODE(VXOpcodeTreeNodeType::MODE, 0x000C), - /* 30 */ MODRM(0x06D2), - /* 31 */ MODRM(0x06D1), - /* 32 */ MODRM(0x06CF), - /* 33 */ MODRM(0x06CE), - /* 34 */ 0x06D3, - /* 35 */ 0x06D4, + /* 30 */ 0x06B8, + /* 31 */ 0x06B9, + /* 32 */ 0x06B6, + /* 33 */ 0x06B7, + /* 34 */ 0x06BA, + /* 35 */ 0x06BB, /* 36 */ INVALID, /* 37 */ NODE(VXOpcodeTreeNodeType::MODE, 0x000D), - /* 38 */ MODRM(0x006F), - /* 39 */ MODRM(0x0070), - /* 3A */ MODRM(0x006E), - /* 3B */ MODRM(0x006C), - /* 3C */ 0x006D, - /* 3D */ 0x0073, + /* 38 */ 0x006C, + /* 39 */ 0x006D, + /* 3A */ 0x006B, + /* 3B */ 0x006A, + /* 3C */ 0x0070, + /* 3D */ 0x006F, /* 3E */ INVALID, /* 3F */ NODE(VXOpcodeTreeNodeType::MODE, 0x000E), - /* 40 */ 0x02A7, - /* 41 */ 0x02AE, - /* 42 */ 0x02AD, - /* 43 */ 0x02B0, - /* 44 */ 0x02AF, - /* 45 */ 0x02AC, - /* 46 */ 0x02A9, - /* 47 */ 0x02A8, + /* 40 */ 0x02AB, + /* 41 */ 0x02AC, + /* 42 */ 0x02B2, + /* 43 */ 0x02B1, + /* 44 */ 0x02B3, + /* 45 */ 0x02B4, + /* 46 */ 0x02AE, + /* 47 */ 0x02AD, /* 48 */ 0x00A7, /* 49 */ 0x00A6, /* 4A */ 0x00A8, @@ -127,22 +126,22 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* 4D */ 0x00A2, /* 4E */ 0x00A1, /* 4F */ 0x00A3, - /* 50 */ 0x04C5, - /* 51 */ 0x04CA, - /* 52 */ 0x04C4, - /* 53 */ 0x04BF, - /* 54 */ 0x04C0, - /* 55 */ 0x04C1, - /* 56 */ 0x04C2, - /* 57 */ 0x04C3, - /* 58 */ 0x0454, - /* 59 */ 0x0451, - /* 5A */ 0x0452, - /* 5B */ 0x044C, - /* 5C */ 0x0448, - /* 5D */ 0x0447, - /* 5E */ 0x0449, - /* 5F */ 0x044B, + /* 50 */ 0x04B4, + /* 51 */ 0x04B9, + /* 52 */ 0x04B3, + /* 53 */ 0x04AE, + /* 54 */ 0x04AF, + /* 55 */ 0x04B0, + /* 56 */ 0x04B1, + /* 57 */ 0x04B2, + /* 58 */ 0x0449, + /* 59 */ 0x0447, + /* 5A */ 0x0448, + /* 5B */ 0x0442, + /* 5C */ 0x043E, + /* 5D */ 0x043D, + /* 5E */ 0x043F, + /* 5F */ 0x0441, /* 60 */ NODE(VXOpcodeTreeNodeType::OPERAND_SIZE, 0x0007), /* 61 */ NODE(VXOpcodeTreeNodeType::OPERAND_SIZE, 0x0008), /* 62 */ NODE(VXOpcodeTreeNodeType::MODE, 0x0013), @@ -151,118 +150,118 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* 65 */ INVALID, /* 66 */ INVALID, /* 67 */ INVALID, - /* 68 */ 0x04C8, - /* 69 */ MODRM(0x02A1), - /* 6A */ 0x04BC, - /* 6B */ MODRM(0x02A0), - /* 6C */ 0x02B1, + /* 68 */ 0x04B7, + /* 69 */ 0x02A4, + /* 6A */ 0x04AB, + /* 6B */ 0x02A6, + /* 6C */ 0x02B5, /* 6D */ NODE(VXOpcodeTreeNodeType::OPERAND_SIZE, 0x0009), - /* 6E */ 0x03A9, + /* 6E */ 0x039F, /* 6F */ NODE(VXOpcodeTreeNodeType::OPERAND_SIZE, 0x000A), - /* 70 */ 0x02E2, - /* 71 */ 0x02DB, - /* 72 */ 0x02C8, - /* 73 */ 0x02C6, - /* 74 */ 0x02EA, + /* 70 */ 0x02E8, + /* 71 */ 0x02E2, + /* 72 */ 0x02CC, + /* 73 */ 0x02CA, + /* 74 */ 0x02D0, /* 75 */ 0x02E1, - /* 76 */ 0x02CA, - /* 77 */ 0x02C4, - /* 78 */ 0x02E8, - /* 79 */ 0x02DF, - /* 7A */ 0x02E5, - /* 7B */ 0x02DC, - /* 7C */ 0x02D1, - /* 7D */ 0x02CF, - /* 7E */ 0x02D4, - /* 7F */ 0x02CE, - /* 80 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x000F), - /* 81 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0010), - /* 82 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0011), - /* 83 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0012), - /* 84 */ MODRM(0x0573), - /* 85 */ MODRM(0x0576), - /* 86 */ MODRM(0x06BF), - /* 87 */ MODRM(0x06C0), - /* 88 */ MODRM(0x0326), - /* 89 */ MODRM(0x0321), - /* 8A */ MODRM(0x0322), - /* 8B */ MODRM(0x0323), - /* 8C */ MODRM(0x032F), - /* 8D */ MODRM(0x02F0), - /* 8E */ MODRM(0x032E), - /* 8F */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0013), - /* 90 */ 0x06C1, - /* 91 */ 0x06BA, - /* 92 */ 0x06BE, - /* 93 */ 0x06BB, - /* 94 */ 0x06C3, - /* 95 */ 0x06C2, - /* 96 */ 0x06BD, - /* 97 */ 0x06BC, + /* 76 */ 0x02CD, + /* 77 */ 0x02C8, + /* 78 */ 0x02ED, + /* 79 */ 0x02E6, + /* 7A */ 0x02EB, + /* 7B */ 0x02E5, + /* 7C */ 0x02D7, + /* 7D */ 0x02D5, + /* 7E */ 0x02DA, + /* 7F */ 0x02D3, + /* 80 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0013), + /* 81 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0014), + /* 82 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0015), + /* 83 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0016), + /* 84 */ 0x055C, + /* 85 */ 0x055D, + /* 86 */ 0x06A8, + /* 87 */ 0x06A7, + /* 88 */ 0x0334, + /* 89 */ 0x0336, + /* 8A */ 0x0335, + /* 8B */ 0x0331, + /* 8C */ 0x031D, + /* 8D */ 0x02F4, + /* 8E */ 0x031C, + /* 8F */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0017), + /* 90 */ 0x06A9, + /* 91 */ 0x06AB, + /* 92 */ 0x06AA, + /* 93 */ 0x06A3, + /* 94 */ 0x06A2, + /* 95 */ 0x06A4, + /* 96 */ 0x06A6, + /* 97 */ 0x06A5, /* 98 */ NODE(VXOpcodeTreeNodeType::OPERAND_SIZE, 0x000B), /* 99 */ NODE(VXOpcodeTreeNodeType::OPERAND_SIZE, 0x000C), /* 9A */ NODE(VXOpcodeTreeNodeType::MODE, 0x001D), - /* 9B */ 0x06B5, + /* 9B */ 0x069D, /* 9C */ NODE(VXOpcodeTreeNodeType::OPERAND_SIZE, 0x000D), /* 9D */ NODE(VXOpcodeTreeNodeType::OPERAND_SIZE, 0x000E), - /* 9E */ 0x0500, - /* 9F */ 0x02EB, - /* A0 */ 0x032D, - /* A1 */ 0x0332, - /* A2 */ 0x0331, - /* A3 */ 0x0330, - /* A4 */ 0x0371, + /* 9E */ 0x04EF, + /* 9F */ 0x02EF, + /* A0 */ 0x031B, + /* A1 */ 0x0320, + /* A2 */ 0x031F, + /* A3 */ 0x031E, + /* A4 */ 0x0367, /* A5 */ NODE(VXOpcodeTreeNodeType::OPERAND_SIZE, 0x000F), /* A6 */ 0x0076, /* A7 */ NODE(VXOpcodeTreeNodeType::OPERAND_SIZE, 0x0010), - /* A8 */ 0x0571, - /* A9 */ 0x056F, - /* AA */ 0x0555, + /* A8 */ 0x055E, + /* A9 */ 0x055B, + /* AA */ 0x053D, /* AB */ NODE(VXOpcodeTreeNodeType::OPERAND_SIZE, 0x0011), - /* AC */ 0x0303, + /* AC */ 0x0300, /* AD */ NODE(VXOpcodeTreeNodeType::OPERAND_SIZE, 0x0012), - /* AE */ 0x0512, + /* AE */ 0x0501, /* AF */ NODE(VXOpcodeTreeNodeType::OPERAND_SIZE, 0x0013), - /* B0 */ 0x0329, - /* B1 */ 0x0328, - /* B2 */ 0x0327, - /* B3 */ 0x032C, - /* B4 */ 0x032B, - /* B5 */ 0x032A, - /* B6 */ 0x0333, - /* B7 */ 0x033D, - /* B8 */ 0x033C, - /* B9 */ 0x033B, - /* BA */ 0x0338, - /* BB */ 0x0334, - /* BC */ 0x0336, - /* BD */ 0x033E, - /* BE */ 0x0340, - /* BF */ 0x033F, - /* C0 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0014), - /* C1 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0015), - /* C2 */ 0x04EB, - /* C3 */ 0x04EC, + /* B0 */ 0x0317, + /* B1 */ 0x031A, + /* B2 */ 0x0318, + /* B3 */ 0x0319, + /* B4 */ 0x0321, + /* B5 */ 0x032C, + /* B6 */ 0x032B, + /* B7 */ 0x032A, + /* B8 */ 0x032D, + /* B9 */ 0x0330, + /* BA */ 0x032F, + /* BB */ 0x032E, + /* BC */ 0x0329, + /* BD */ 0x0324, + /* BE */ 0x0323, + /* BF */ 0x0322, + /* C0 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0018), + /* C1 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0019), + /* C2 */ 0x04D9, + /* C3 */ 0x04D8, /* C4 */ NODE(VXOpcodeTreeNodeType::VEX, 0x0000), /* C5 */ NODE(VXOpcodeTreeNodeType::VEX, 0x0001), - /* C6 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x001A), - /* C7 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x001B), + /* C6 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x001E), + /* C7 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x001F), /* C8 */ 0x00B4, - /* C9 */ 0x02F1, - /* CA */ 0x04EA, - /* CB */ 0x04E9, - /* CC */ 0x02B7, - /* CD */ 0x02B5, + /* C9 */ 0x02F5, + /* CA */ 0x04DA, + /* CB */ 0x04DB, + /* CC */ 0x02BB, + /* CD */ 0x02B9, /* CE */ NODE(VXOpcodeTreeNodeType::MODE, 0x0027), /* CF */ NODE(VXOpcodeTreeNodeType::OPERAND_SIZE, 0x0017), - /* D0 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x001C), - /* D1 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x001D), - /* D2 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x001E), - /* D3 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x001F), + /* D0 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0020), + /* D1 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0021), + /* D2 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0022), + /* D3 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0023), /* D4 */ NODE(VXOpcodeTreeNodeType::MODE, 0x0028), /* D5 */ NODE(VXOpcodeTreeNodeType::MODE, 0x0029), /* D6 */ NODE(VXOpcodeTreeNodeType::MODE, 0x002A), - /* D7 */ 0x06CA, + /* D7 */ 0x06B2, /* D8 */ NODE(VXOpcodeTreeNodeType::MODRM_MOD, 0x0015), /* D9 */ NODE(VXOpcodeTreeNodeType::MODRM_MOD, 0x0016), /* DA */ NODE(VXOpcodeTreeNodeType::MODRM_MOD, 0x0017), @@ -271,96 +270,96 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* DD */ NODE(VXOpcodeTreeNodeType::MODRM_MOD, 0x001A), /* DE */ NODE(VXOpcodeTreeNodeType::MODRM_MOD, 0x001B), /* DF */ NODE(VXOpcodeTreeNodeType::MODRM_MOD, 0x001C), - /* E0 */ 0x0309, - /* E1 */ 0x0308, - /* E2 */ 0x0307, + /* E0 */ 0x0306, + /* E1 */ 0x0305, + /* E2 */ 0x0304, /* E3 */ NODE(VXOpcodeTreeNodeType::ADDRESS_SIZE, 0x0000), - /* E4 */ 0x02A6, - /* E5 */ 0x02A3, - /* E6 */ 0x03A6, - /* E7 */ 0x03A5, + /* E4 */ 0x02A9, + /* E5 */ 0x02AA, + /* E6 */ 0x039D, + /* E7 */ 0x039E, /* E8 */ 0x004E, - /* E9 */ 0x02D7, + /* E9 */ 0x02DD, /* EA */ NODE(VXOpcodeTreeNodeType::MODE, 0x002B), - /* EB */ 0x02D8, - /* EC */ 0x02A4, - /* ED */ 0x02A5, - /* EE */ 0x03A7, - /* EF */ 0x03A8, - /* F0 */ 0x0302, - /* F1 */ 0x02B6, - /* F2 */ 0x04E8, - /* F3 */ 0x04E7, - /* F4 */ 0x0299, + /* EB */ 0x02DE, + /* EC */ 0x02A7, + /* ED */ 0x02A8, + /* EE */ 0x039B, + /* EF */ 0x039C, + /* F0 */ 0x02FF, + /* F1 */ 0x02BA, + /* F2 */ 0x04D7, + /* F3 */ 0x04D6, + /* F4 */ 0x029D, /* F5 */ 0x0059, - /* F6 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0028), - /* F7 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0029), + /* F6 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x002C), + /* F7 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x002D), /* F8 */ 0x0053, - /* F9 */ 0x0550, + /* F9 */ 0x0538, /* FA */ 0x0057, - /* FB */ 0x0553, + /* FB */ 0x053B, /* FC */ 0x0054, - /* FD */ 0x0551, - /* FE */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x002A), - /* FF */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x002B), + /* FD */ 0x0539, + /* FE */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x002E), + /* FF */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x002F), }, { - /* 00 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0000), + /* 00 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0000), /* 01 */ NODE(VXOpcodeTreeNodeType::MODRM_MOD, 0x0000), - /* 02 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0021), - /* 03 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0022), + /* 02 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0003), + /* 03 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0004), /* 04 */ INVALID, - /* 05 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0023), - /* 06 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0024), - /* 07 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0025), - /* 08 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0026), - /* 09 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0027), + /* 05 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0005), + /* 06 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0006), + /* 07 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0007), + /* 08 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0008), + /* 09 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0009), /* 0A */ INVALID, - /* 0B */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0028), + /* 0B */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x000A), /* 0C */ INVALID, - /* 0D */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0003), - /* 0E */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0031), + /* 0D */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x000B), + /* 0E */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x000C), /* 0F */ NODE(VXOpcodeTreeNodeType::AMD3DNOW, 0x0000), - /* 10 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0032), - /* 11 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0033), + /* 10 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x000D), + /* 11 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x000E), /* 12 */ NODE(VXOpcodeTreeNodeType::MODRM_MOD, 0x0001), - /* 13 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0036), - /* 14 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0037), - /* 15 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0038), + /* 13 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0011), + /* 14 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0012), + /* 15 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0013), /* 16 */ NODE(VXOpcodeTreeNodeType::MODRM_MOD, 0x0002), - /* 17 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x003B), - /* 18 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0004), - /* 19 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0040), - /* 1A */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0041), - /* 1B */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0042), - /* 1C */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0043), - /* 1D */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0044), - /* 1E */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0045), - /* 1F */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0046), - /* 20 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0047), - /* 21 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0048), - /* 22 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0049), - /* 23 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x004A), + /* 17 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0016), + /* 18 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0017), + /* 19 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0018), + /* 1A */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0019), + /* 1B */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x001A), + /* 1C */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x001B), + /* 1D */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x001C), + /* 1E */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x001D), + /* 1F */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x001E), + /* 20 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x001F), + /* 21 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0020), + /* 22 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0021), + /* 23 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0022), /* 24 */ INVALID, /* 25 */ INVALID, /* 26 */ INVALID, /* 27 */ INVALID, - /* 28 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x004B), - /* 29 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x004C), - /* 2A */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x004D), - /* 2B */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x004E), - /* 2C */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x004F), - /* 2D */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0050), - /* 2E */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0051), - /* 2F */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0052), - /* 30 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0053), - /* 31 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0054), - /* 32 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0055), - /* 33 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0056), - /* 34 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0057), - /* 35 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0058), + /* 28 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0023), + /* 29 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0024), + /* 2A */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0025), + /* 2B */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0026), + /* 2C */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0027), + /* 2D */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0028), + /* 2E */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0029), + /* 2F */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x002A), + /* 30 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x002B), + /* 31 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x002C), + /* 32 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x002D), + /* 33 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x002E), + /* 34 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x002F), + /* 35 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0030), /* 36 */ INVALID, - /* 37 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0059), + /* 37 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0031), /* 38 */ NODE(VXOpcodeTreeNodeType::TABLE, 0x0002), /* 39 */ INVALID, /* 3A */ NODE(VXOpcodeTreeNodeType::TABLE, 0x0003), @@ -369,266 +368,266 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* 3D */ INVALID, /* 3E */ INVALID, /* 3F */ INVALID, - /* 40 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00A9), - /* 41 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00AA), - /* 42 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00AB), - /* 43 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00AC), - /* 44 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00AD), - /* 45 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00AE), - /* 46 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00AF), - /* 47 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00B0), - /* 48 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00B1), - /* 49 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00B2), - /* 4A */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00B3), - /* 4B */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00B4), - /* 4C */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00B5), - /* 4D */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00B6), - /* 4E */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00B7), - /* 4F */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00B8), - /* 50 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00B9), - /* 51 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00BA), - /* 52 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00BB), - /* 53 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00BC), - /* 54 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00BD), - /* 55 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00BE), - /* 56 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00BF), - /* 57 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00C0), - /* 58 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00C1), - /* 59 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00C2), - /* 5A */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00C3), - /* 5B */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00C4), - /* 5C */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00C5), - /* 5D */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00C6), - /* 5E */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00C7), - /* 5F */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00C8), - /* 60 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00C9), - /* 61 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00CA), - /* 62 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00CB), - /* 63 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00CC), - /* 64 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00CD), - /* 65 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00CE), - /* 66 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00CF), - /* 67 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00D0), - /* 68 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00D1), - /* 69 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00D2), - /* 6A */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00D3), - /* 6B */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00D4), - /* 6C */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00D5), - /* 6D */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00D6), - /* 6E */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00D7), - /* 6F */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00D8), - /* 70 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00D9), - /* 71 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0005), - /* 72 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0006), - /* 73 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0007), - /* 74 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00E4), - /* 75 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00E5), - /* 76 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00E6), - /* 77 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00E7), - /* 78 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00E8), - /* 79 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00E9), + /* 40 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0081), + /* 41 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0082), + /* 42 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0083), + /* 43 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0084), + /* 44 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0085), + /* 45 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0086), + /* 46 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0087), + /* 47 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0088), + /* 48 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0089), + /* 49 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x008A), + /* 4A */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x008B), + /* 4B */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x008C), + /* 4C */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x008D), + /* 4D */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x008E), + /* 4E */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x008F), + /* 4F */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0090), + /* 50 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0091), + /* 51 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0092), + /* 52 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0093), + /* 53 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0094), + /* 54 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0095), + /* 55 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0096), + /* 56 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0097), + /* 57 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0098), + /* 58 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0099), + /* 59 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x009A), + /* 5A */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x009B), + /* 5B */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x009C), + /* 5C */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x009D), + /* 5D */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x009E), + /* 5E */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x009F), + /* 5F */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00A0), + /* 60 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00A1), + /* 61 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00A2), + /* 62 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00A3), + /* 63 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00A4), + /* 64 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00A5), + /* 65 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00A6), + /* 66 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00A7), + /* 67 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00A8), + /* 68 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00A9), + /* 69 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00AA), + /* 6A */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00AB), + /* 6B */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00AC), + /* 6C */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00AD), + /* 6D */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00AE), + /* 6E */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00AF), + /* 6F */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00B0), + /* 70 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00B1), + /* 71 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00B2), + /* 72 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00B3), + /* 73 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00B4), + /* 74 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00B5), + /* 75 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00B6), + /* 76 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00B7), + /* 77 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00B8), + /* 78 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00B9), + /* 79 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00BA), /* 7A */ INVALID, /* 7B */ INVALID, - /* 7C */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00EA), - /* 7D */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00EB), - /* 7E */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00EC), - /* 7F */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00ED), - /* 80 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00EE), - /* 81 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00EF), - /* 82 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00F0), - /* 83 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00F1), - /* 84 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00F2), - /* 85 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00F3), - /* 86 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00F4), - /* 87 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00F5), - /* 88 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00F6), - /* 89 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00F7), - /* 8A */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00F8), - /* 8B */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00F9), - /* 8C */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00FA), - /* 8D */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00FB), - /* 8E */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00FC), - /* 8F */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00FD), - /* 90 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00FE), - /* 91 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00FF), - /* 92 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0100), - /* 93 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0101), - /* 94 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0102), - /* 95 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0103), - /* 96 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0104), - /* 97 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0105), - /* 98 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0106), - /* 99 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0107), - /* 9A */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0108), - /* 9B */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0109), - /* 9C */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x010A), - /* 9D */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x010B), - /* 9E */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x010C), - /* 9F */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x010D), - /* A0 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x010E), - /* A1 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x010F), - /* A2 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0110), - /* A3 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0111), - /* A4 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0112), - /* A5 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0113), + /* 7C */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00BB), + /* 7D */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00BC), + /* 7E */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00BD), + /* 7F */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00BE), + /* 80 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00BF), + /* 81 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00C0), + /* 82 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00C1), + /* 83 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00C2), + /* 84 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00C3), + /* 85 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00C4), + /* 86 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00C5), + /* 87 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00C6), + /* 88 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00C7), + /* 89 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00C8), + /* 8A */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00C9), + /* 8B */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00CA), + /* 8C */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00CB), + /* 8D */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00CC), + /* 8E */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00CD), + /* 8F */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00CE), + /* 90 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00CF), + /* 91 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00D0), + /* 92 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00D1), + /* 93 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00D2), + /* 94 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00D3), + /* 95 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00D4), + /* 96 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00D5), + /* 97 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00D6), + /* 98 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00D7), + /* 99 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00D8), + /* 9A */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00D9), + /* 9B */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00DA), + /* 9C */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00DB), + /* 9D */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00DC), + /* 9E */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00DD), + /* 9F */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00DE), + /* A0 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00DF), + /* A1 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00E0), + /* A2 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00E1), + /* A3 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00E2), + /* A4 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00E3), + /* A5 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00E4), /* A6 */ NODE(VXOpcodeTreeNodeType::MODRM_MOD, 0x0003), /* A7 */ NODE(VXOpcodeTreeNodeType::MODRM_MOD, 0x0004), - /* A8 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x011D), - /* A9 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x011E), - /* AA */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x011F), - /* AB */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0120), - /* AC */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0121), - /* AD */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0122), + /* A8 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00E7), + /* A9 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00E8), + /* AA */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00E9), + /* AB */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00EA), + /* AC */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00EB), + /* AD */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00EC), /* AE */ NODE(VXOpcodeTreeNodeType::MODRM_MOD, 0x0005), - /* AF */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0142), - /* B0 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0143), - /* B1 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0144), - /* B2 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0145), - /* B3 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0146), - /* B4 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0147), - /* B5 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0148), - /* B6 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0149), - /* B7 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x014A), - /* B8 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x014B), + /* AF */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00EF), + /* B0 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00F0), + /* B1 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00F1), + /* B2 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00F2), + /* B3 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00F3), + /* B4 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00F4), + /* B5 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00F5), + /* B6 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00F6), + /* B7 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00F7), + /* B8 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00F8), /* B9 */ INVALID, - /* BA */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x000C), - /* BB */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0150), - /* BC */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0151), - /* BD */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0152), - /* BE */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0153), - /* BF */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0154), - /* C0 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0155), - /* C1 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0156), - /* C2 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0157), - /* C3 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0158), - /* C4 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0159), - /* C5 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x015A), - /* C6 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x015B), + /* BA */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00F9), + /* BB */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00FA), + /* BC */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00FB), + /* BD */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00FC), + /* BE */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00FD), + /* BF */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00FE), + /* C0 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00FF), + /* C1 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0100), + /* C2 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0101), + /* C3 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0102), + /* C4 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0103), + /* C5 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0104), + /* C6 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0105), /* C7 */ NODE(VXOpcodeTreeNodeType::MODRM_MOD, 0x0006), - /* C8 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0160), - /* C9 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0161), - /* CA */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0162), - /* CB */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0163), - /* CC */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0164), - /* CD */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0165), - /* CE */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0166), - /* CF */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0167), - /* D0 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0168), - /* D1 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0169), - /* D2 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x016A), - /* D3 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x016B), - /* D4 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x016C), - /* D5 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x016D), - /* D6 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x016E), - /* D7 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x016F), - /* D8 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0170), - /* D9 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0171), - /* DA */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0172), - /* DB */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0173), - /* DC */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0174), - /* DD */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0175), - /* DE */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0176), - /* DF */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0177), - /* E0 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0178), - /* E1 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0179), - /* E2 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x017A), - /* E3 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x017B), - /* E4 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x017C), - /* E5 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x017D), - /* E6 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x017E), - /* E7 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x017F), - /* E8 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0180), - /* E9 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0181), - /* EA */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0182), - /* EB */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0183), - /* EC */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0184), - /* ED */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0185), - /* EE */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0186), - /* EF */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0187), - /* F0 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0188), - /* F1 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0189), - /* F2 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x018A), - /* F3 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x018B), - /* F4 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x018C), - /* F5 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x018D), - /* F6 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x018E), + /* C8 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0108), + /* C9 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0109), + /* CA */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x010A), + /* CB */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x010B), + /* CC */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x010C), + /* CD */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x010D), + /* CE */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x010E), + /* CF */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x010F), + /* D0 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0110), + /* D1 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0111), + /* D2 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0112), + /* D3 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0113), + /* D4 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0114), + /* D5 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0115), + /* D6 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0116), + /* D7 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0117), + /* D8 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0118), + /* D9 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0119), + /* DA */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x011A), + /* DB */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x011B), + /* DC */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x011C), + /* DD */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x011D), + /* DE */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x011E), + /* DF */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x011F), + /* E0 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0120), + /* E1 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0121), + /* E2 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0122), + /* E3 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0123), + /* E4 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0124), + /* E5 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0125), + /* E6 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0126), + /* E7 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0127), + /* E8 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0128), + /* E9 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0129), + /* EA */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x012A), + /* EB */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x012B), + /* EC */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x012C), + /* ED */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x012D), + /* EE */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x012E), + /* EF */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x012F), + /* F0 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0130), + /* F1 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0131), + /* F2 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0132), + /* F3 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0133), + /* F4 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0134), + /* F5 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0135), + /* F6 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0136), /* F7 */ NODE(VXOpcodeTreeNodeType::MODRM_MOD, 0x0007), - /* F8 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0190), - /* F9 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0191), - /* FA */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0192), - /* FB */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0193), - /* FC */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0194), - /* FD */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0195), - /* FE */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0196), + /* F8 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0138), + /* F9 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0139), + /* FA */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x013A), + /* FB */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x013B), + /* FC */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x013C), + /* FD */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x013D), + /* FE */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x013E), /* FF */ INVALID, }, { - /* 00 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x005A), - /* 01 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x005B), - /* 02 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x005C), - /* 03 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x005D), - /* 04 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x005E), - /* 05 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x005F), - /* 06 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0060), - /* 07 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0061), - /* 08 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0062), - /* 09 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0063), - /* 0A */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0064), - /* 0B */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0065), + /* 00 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0032), + /* 01 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0033), + /* 02 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0034), + /* 03 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0035), + /* 04 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0036), + /* 05 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0037), + /* 06 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0038), + /* 07 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0039), + /* 08 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x003A), + /* 09 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x003B), + /* 0A */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x003C), + /* 0B */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x003D), /* 0C */ INVALID, /* 0D */ INVALID, /* 0E */ INVALID, /* 0F */ INVALID, - /* 10 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0066), + /* 10 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x003E), /* 11 */ INVALID, /* 12 */ INVALID, /* 13 */ INVALID, - /* 14 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0067), - /* 15 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0068), + /* 14 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x003F), + /* 15 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0040), /* 16 */ INVALID, - /* 17 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0069), + /* 17 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0041), /* 18 */ INVALID, /* 19 */ INVALID, /* 1A */ INVALID, /* 1B */ INVALID, - /* 1C */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x006A), - /* 1D */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x006B), - /* 1E */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x006C), + /* 1C */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0042), + /* 1D */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0043), + /* 1E */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0044), /* 1F */ INVALID, - /* 20 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x006D), - /* 21 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x006E), - /* 22 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x006F), - /* 23 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0070), - /* 24 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0071), - /* 25 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0072), + /* 20 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0045), + /* 21 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0046), + /* 22 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0047), + /* 23 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0048), + /* 24 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0049), + /* 25 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x004A), /* 26 */ INVALID, /* 27 */ INVALID, - /* 28 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0073), - /* 29 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0074), - /* 2A */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0075), - /* 2B */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0076), + /* 28 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x004B), + /* 29 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x004C), + /* 2A */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x004D), + /* 2B */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x004E), /* 2C */ INVALID, /* 2D */ INVALID, /* 2E */ INVALID, /* 2F */ INVALID, - /* 30 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0077), - /* 31 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0078), - /* 32 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0079), - /* 33 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x007A), - /* 34 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x007B), - /* 35 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x007C), + /* 30 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x004F), + /* 31 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0050), + /* 32 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0051), + /* 33 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0052), + /* 34 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0053), + /* 35 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0054), /* 36 */ INVALID, - /* 37 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x007D), - /* 38 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x007E), - /* 39 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x007F), - /* 3A */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0080), - /* 3B */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0081), - /* 3C */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0082), - /* 3D */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0083), - /* 3E */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0084), - /* 3F */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0085), - /* 40 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0086), - /* 41 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0087), + /* 37 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0055), + /* 38 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0056), + /* 39 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0057), + /* 3A */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0058), + /* 3B */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0059), + /* 3C */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x005A), + /* 3D */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x005B), + /* 3E */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x005C), + /* 3F */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x005D), + /* 40 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x005E), + /* 41 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x005F), /* 42 */ INVALID, /* 43 */ INVALID, /* 44 */ INVALID, @@ -691,8 +690,8 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* 7D */ INVALID, /* 7E */ INVALID, /* 7F */ INVALID, - /* 80 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0088), - /* 81 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0089), + /* 80 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0060), + /* 81 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0061), /* 82 */ INVALID, /* 83 */ INVALID, /* 84 */ INVALID, @@ -782,11 +781,11 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* D8 */ INVALID, /* D9 */ INVALID, /* DA */ INVALID, - /* DB */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x008A), - /* DC */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x008B), - /* DD */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x008C), - /* DE */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x008D), - /* DF */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x008E), + /* DB */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0062), + /* DC */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0063), + /* DD */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0064), + /* DE */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0065), + /* DF */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0066), /* E0 */ INVALID, /* E1 */ INVALID, /* E2 */ INVALID, @@ -803,8 +802,8 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* ED */ INVALID, /* EE */ INVALID, /* EF */ INVALID, - /* F0 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x008F), - /* F1 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0090), + /* F0 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0067), + /* F1 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0068), /* F2 */ INVALID, /* F3 */ INVALID, /* F4 */ INVALID, @@ -829,22 +828,22 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* 05 */ INVALID, /* 06 */ INVALID, /* 07 */ INVALID, - /* 08 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0091), - /* 09 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0092), - /* 0A */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0093), - /* 0B */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0094), - /* 0C */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0095), - /* 0D */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0096), - /* 0E */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0097), - /* 0F */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0098), + /* 08 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0069), + /* 09 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x006A), + /* 0A */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x006B), + /* 0B */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x006C), + /* 0C */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x006D), + /* 0D */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x006E), + /* 0E */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x006F), + /* 0F */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0070), /* 10 */ INVALID, /* 11 */ INVALID, /* 12 */ INVALID, /* 13 */ INVALID, - /* 14 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0099), - /* 15 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x009A), - /* 16 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x009B), - /* 17 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x009C), + /* 14 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0071), + /* 15 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0072), + /* 16 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0073), + /* 17 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0074), /* 18 */ INVALID, /* 19 */ INVALID, /* 1A */ INVALID, @@ -853,9 +852,9 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* 1D */ INVALID, /* 1E */ INVALID, /* 1F */ INVALID, - /* 20 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x009D), - /* 21 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x009E), - /* 22 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x009F), + /* 20 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0075), + /* 21 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0076), + /* 22 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0077), /* 23 */ INVALID, /* 24 */ INVALID, /* 25 */ INVALID, @@ -885,11 +884,11 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* 3D */ INVALID, /* 3E */ INVALID, /* 3F */ INVALID, - /* 40 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00A0), - /* 41 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00A1), - /* 42 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00A2), + /* 40 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0078), + /* 41 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0079), + /* 42 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x007A), /* 43 */ INVALID, - /* 44 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00A3), + /* 44 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x007B), /* 45 */ INVALID, /* 46 */ INVALID, /* 47 */ INVALID, @@ -917,10 +916,10 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* 5D */ INVALID, /* 5E */ INVALID, /* 5F */ INVALID, - /* 60 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00A4), - /* 61 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00A5), - /* 62 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00A6), - /* 63 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00A7), + /* 60 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x007C), + /* 61 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x007D), + /* 62 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x007E), + /* 63 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x007F), /* 64 */ INVALID, /* 65 */ INVALID, /* 66 */ INVALID, @@ -1044,7 +1043,7 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* DC */ INVALID, /* DD */ INVALID, /* DE */ INVALID, - /* DF */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00A8), + /* DF */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0080), /* E0 */ INVALID, /* E1 */ INVALID, /* E2 */ INVALID, @@ -1095,14 +1094,14 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* 0D */ INVALID, /* 0E */ INVALID, /* 0F */ INVALID, - /* 10 */ MODRM(0x05FE), - /* 11 */ MODRM(0x05FD), + /* 10 */ 0x05E6, + /* 11 */ 0x05E5, /* 12 */ NODE(VXOpcodeTreeNodeType::MODRM_MOD, 0x0008), - /* 13 */ MODRM(0x05E3), - /* 14 */ MODRM(0x06B0), - /* 15 */ MODRM(0x06AE), + /* 13 */ 0x05CC, + /* 14 */ 0x0698, + /* 15 */ 0x0696, /* 16 */ NODE(VXOpcodeTreeNodeType::MODRM_MOD, 0x0009), - /* 17 */ MODRM(0x05DE), + /* 17 */ 0x05C7, /* 18 */ INVALID, /* 19 */ INVALID, /* 1A */ INVALID, @@ -1119,14 +1118,14 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* 25 */ INVALID, /* 26 */ INVALID, /* 27 */ INVALID, - /* 28 */ MODRM(0x05CF), - /* 29 */ MODRM(0x05D0), + /* 28 */ 0x05B8, + /* 29 */ 0x05B7, /* 2A */ INVALID, - /* 2B */ MODRM(0x05EA), + /* 2B */ 0x05D2, /* 2C */ INVALID, /* 2D */ INVALID, - /* 2E */ MODRM(0x06AC), - /* 2F */ MODRM(0x0599), + /* 2E */ 0x0694, + /* 2F */ 0x0581, /* 30 */ INVALID, /* 31 */ INVALID, /* 32 */ INVALID, @@ -1159,22 +1158,22 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* 4D */ INVALID, /* 4E */ INVALID, /* 4F */ INVALID, - /* 50 */ MODRM(0x05E6), - /* 51 */ MODRM(0x06A1), - /* 52 */ MODRM(0x069C), - /* 53 */ MODRM(0x0696), - /* 54 */ MODRM(0x058D), - /* 55 */ MODRM(0x058B), - /* 56 */ MODRM(0x060E), - /* 57 */ MODRM(0x06B2), - /* 58 */ MODRM(0x057F), - /* 59 */ MODRM(0x0607), - /* 5A */ MODRM(0x059F), - /* 5B */ MODRM(0x059B), - /* 5C */ MODRM(0x06A6), - /* 5D */ MODRM(0x05C7), - /* 5E */ MODRM(0x05AB), - /* 5F */ MODRM(0x05C1), + /* 50 */ 0x05CE, + /* 51 */ 0x0689, + /* 52 */ 0x0684, + /* 53 */ 0x067E, + /* 54 */ 0x0575, + /* 55 */ 0x0573, + /* 56 */ 0x05F6, + /* 57 */ 0x069A, + /* 58 */ 0x0567, + /* 59 */ 0x05EF, + /* 5A */ 0x0587, + /* 5B */ 0x0583, + /* 5C */ 0x068E, + /* 5D */ 0x05AF, + /* 5E */ 0x0593, + /* 5F */ 0x05A9, /* 60 */ INVALID, /* 61 */ INVALID, /* 62 */ INVALID, @@ -1273,11 +1272,11 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* BF */ INVALID, /* C0 */ INVALID, /* C1 */ INVALID, - /* C2 */ MODRM(0x0595), + /* C2 */ 0x057D, /* C3 */ INVALID, /* C4 */ INVALID, /* C5 */ INVALID, - /* C6 */ MODRM(0x069F), + /* C6 */ 0x0687, /* C7 */ INVALID, /* C8 */ INVALID, /* C9 */ INVALID, @@ -1353,14 +1352,14 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* 0D */ INVALID, /* 0E */ INVALID, /* 0F */ INVALID, - /* 10 */ MODRM(0x05FB), - /* 11 */ MODRM(0x05FC), + /* 10 */ 0x05E4, + /* 11 */ 0x05E3, /* 12 */ NODE(VXOpcodeTreeNodeType::MODRM_MOD, 0x000B), - /* 13 */ MODRM(0x05E2), - /* 14 */ MODRM(0x06AF), - /* 15 */ MODRM(0x06AD), + /* 13 */ 0x05CA, + /* 14 */ 0x0697, + /* 15 */ 0x0695, /* 16 */ NODE(VXOpcodeTreeNodeType::MODRM_MOD, 0x000C), - /* 17 */ MODRM(0x05DC), + /* 17 */ 0x05C5, /* 18 */ INVALID, /* 19 */ INVALID, /* 1A */ INVALID, @@ -1377,14 +1376,14 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* 25 */ INVALID, /* 26 */ INVALID, /* 27 */ INVALID, - /* 28 */ MODRM(0x05CE), - /* 29 */ MODRM(0x05CD), + /* 28 */ 0x05B5, + /* 29 */ 0x05B6, /* 2A */ INVALID, - /* 2B */ MODRM(0x05E9), + /* 2B */ 0x05D1, /* 2C */ INVALID, /* 2D */ INVALID, - /* 2E */ MODRM(0x06AB), - /* 2F */ MODRM(0x0598), + /* 2E */ 0x0693, + /* 2F */ 0x0580, /* 30 */ INVALID, /* 31 */ INVALID, /* 32 */ INVALID, @@ -1417,54 +1416,54 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* 4D */ INVALID, /* 4E */ INVALID, /* 4F */ INVALID, - /* 50 */ MODRM(0x05E5), - /* 51 */ MODRM(0x06A0), + /* 50 */ 0x05CD, + /* 51 */ 0x0688, /* 52 */ INVALID, /* 53 */ INVALID, - /* 54 */ MODRM(0x058C), - /* 55 */ MODRM(0x058A), - /* 56 */ MODRM(0x060D), - /* 57 */ MODRM(0x06B1), - /* 58 */ MODRM(0x057E), - /* 59 */ MODRM(0x0606), - /* 5A */ MODRM(0x059D), - /* 5B */ MODRM(0x059E), - /* 5C */ MODRM(0x06A5), - /* 5D */ MODRM(0x05C6), - /* 5E */ MODRM(0x05AA), - /* 5F */ MODRM(0x05C0), - /* 60 */ MODRM(0x0691), - /* 61 */ MODRM(0x0694), - /* 62 */ MODRM(0x0692), - /* 63 */ MODRM(0x0613), - /* 64 */ MODRM(0x062C), - /* 65 */ MODRM(0x062F), - /* 66 */ MODRM(0x062D), - /* 67 */ MODRM(0x0615), - /* 68 */ MODRM(0x068D), - /* 69 */ MODRM(0x0690), - /* 6A */ MODRM(0x068E), - /* 6B */ MODRM(0x0612), - /* 6C */ MODRM(0x0693), - /* 6D */ MODRM(0x068F), + /* 54 */ 0x0574, + /* 55 */ 0x0572, + /* 56 */ 0x05F5, + /* 57 */ 0x0699, + /* 58 */ 0x0566, + /* 59 */ 0x05EE, + /* 5A */ 0x0585, + /* 5B */ 0x0586, + /* 5C */ 0x068D, + /* 5D */ 0x05AE, + /* 5E */ 0x0592, + /* 5F */ 0x05A8, + /* 60 */ 0x0679, + /* 61 */ 0x067C, + /* 62 */ 0x067A, + /* 63 */ 0x05FB, + /* 64 */ 0x0614, + /* 65 */ 0x0617, + /* 66 */ 0x0615, + /* 67 */ 0x05FD, + /* 68 */ 0x0675, + /* 69 */ 0x0678, + /* 6A */ 0x0676, + /* 6B */ 0x05FA, + /* 6C */ 0x067B, + /* 6D */ 0x0677, /* 6E */ NODE(VXOpcodeTreeNodeType::OPERAND_SIZE, 0x0014), - /* 6F */ MODRM(0x05D8), - /* 70 */ MODRM(0x066C), - /* 71 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0017), - /* 72 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0018), - /* 73 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0019), - /* 74 */ MODRM(0x0626), - /* 75 */ MODRM(0x0629), - /* 76 */ MODRM(0x0627), + /* 6F */ 0x05BF, + /* 70 */ 0x0654, + /* 71 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x001B), + /* 72 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x001C), + /* 73 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x001D), + /* 74 */ 0x060E, + /* 75 */ 0x0611, + /* 76 */ 0x060F, /* 77 */ INVALID, /* 78 */ INVALID, /* 79 */ INVALID, /* 7A */ INVALID, /* 7B */ INVALID, - /* 7C */ MODRM(0x05B4), - /* 7D */ MODRM(0x05B6), + /* 7C */ 0x059C, + /* 7D */ 0x059E, /* 7E */ NODE(VXOpcodeTreeNodeType::OPERAND_SIZE, 0x0015), - /* 7F */ MODRM(0x05D7), + /* 7F */ 0x05C0, /* 80 */ INVALID, /* 81 */ INVALID, /* 82 */ INVALID, @@ -1531,11 +1530,11 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* BF */ INVALID, /* C0 */ INVALID, /* C1 */ INVALID, - /* C2 */ MODRM(0x0594), + /* C2 */ 0x057C, /* C3 */ INVALID, - /* C4 */ MODRM(0x0648), - /* C5 */ MODRM(0x063B), - /* C6 */ MODRM(0x069E), + /* C4 */ 0x0630, + /* C5 */ 0x0623, + /* C6 */ 0x0686, /* C7 */ INVALID, /* C8 */ INVALID, /* C9 */ INVALID, @@ -1545,68 +1544,68 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* CD */ INVALID, /* CE */ INVALID, /* CF */ INVALID, - /* D0 */ MODRM(0x0582), - /* D1 */ MODRM(0x0683), - /* D2 */ MODRM(0x067D), - /* D3 */ MODRM(0x0680), - /* D4 */ MODRM(0x0618), - /* D5 */ MODRM(0x0668), - /* D6 */ MODRM(0x05EC), + /* D0 */ 0x056A, + /* D1 */ 0x066B, + /* D2 */ 0x0665, + /* D3 */ 0x0669, + /* D4 */ 0x0600, + /* D5 */ 0x0650, + /* D6 */ 0x05D4, /* D7 */ NODE(VXOpcodeTreeNodeType::VEXL, 0x0004), - /* D8 */ MODRM(0x0689), - /* D9 */ MODRM(0x068A), - /* DA */ MODRM(0x0654), - /* DB */ MODRM(0x061F), - /* DC */ MODRM(0x061B), - /* DD */ MODRM(0x061C), - /* DE */ MODRM(0x064E), - /* DF */ MODRM(0x0620), - /* E0 */ MODRM(0x0621), - /* E1 */ MODRM(0x067B), - /* E2 */ MODRM(0x0679), - /* E3 */ MODRM(0x0622), - /* E4 */ MODRM(0x0665), - /* E5 */ MODRM(0x0666), - /* E6 */ MODRM(0x05A6), - /* E7 */ MODRM(0x05E7), - /* E8 */ MODRM(0x0687), - /* E9 */ MODRM(0x0688), - /* EA */ MODRM(0x0653), - /* EB */ MODRM(0x0669), - /* EC */ MODRM(0x0619), - /* ED */ MODRM(0x061A), - /* EE */ MODRM(0x064D), - /* EF */ MODRM(0x0695), + /* D8 */ 0x0671, + /* D9 */ 0x0672, + /* DA */ 0x063C, + /* DB */ 0x0607, + /* DC */ 0x0603, + /* DD */ 0x0604, + /* DE */ 0x0636, + /* DF */ 0x0608, + /* E0 */ 0x0609, + /* E1 */ 0x0663, + /* E2 */ 0x0662, + /* E3 */ 0x060A, + /* E4 */ 0x064D, + /* E5 */ 0x064E, + /* E6 */ 0x058E, + /* E7 */ 0x05CF, + /* E8 */ 0x066F, + /* E9 */ 0x0670, + /* EA */ 0x063B, + /* EB */ 0x0651, + /* EC */ 0x0601, + /* ED */ 0x0602, + /* EE */ 0x0635, + /* EF */ 0x067D, /* F0 */ INVALID, /* F1 */ NODE(VXOpcodeTreeNodeType::VEXL, 0x0005), /* F2 */ NODE(VXOpcodeTreeNodeType::VEXL, 0x0006), /* F3 */ NODE(VXOpcodeTreeNodeType::VEXL, 0x0007), /* F4 */ INVALID, - /* F5 */ MODRM(0x064A), - /* F6 */ MODRM(0x066A), + /* F5 */ 0x0632, + /* F6 */ 0x0652, /* F7 */ NODE(VXOpcodeTreeNodeType::MODRM_MOD, 0x000D), - /* F8 */ MODRM(0x0684), - /* F9 */ MODRM(0x068B), - /* FA */ MODRM(0x0685), - /* FB */ MODRM(0x0686), - /* FC */ MODRM(0x0616), - /* FD */ MODRM(0x061D), - /* FE */ MODRM(0x0617), + /* F8 */ 0x066C, + /* F9 */ 0x0673, + /* FA */ 0x066D, + /* FB */ 0x066E, + /* FC */ 0x05FE, + /* FD */ 0x0605, + /* FE */ 0x05FF, /* FF */ INVALID, }, { - /* 00 */ MODRM(0x066B), - /* 01 */ MODRM(0x063F), - /* 02 */ MODRM(0x063D), - /* 03 */ MODRM(0x063E), - /* 04 */ MODRM(0x0649), - /* 05 */ MODRM(0x0643), - /* 06 */ MODRM(0x0641), - /* 07 */ MODRM(0x0642), - /* 08 */ MODRM(0x066F), - /* 09 */ MODRM(0x0671), - /* 0A */ MODRM(0x0670), - /* 0B */ MODRM(0x0664), + /* 00 */ 0x0653, + /* 01 */ 0x0627, + /* 02 */ 0x0625, + /* 03 */ 0x0626, + /* 04 */ 0x0631, + /* 05 */ 0x062B, + /* 06 */ 0x0629, + /* 07 */ 0x062A, + /* 08 */ 0x0657, + /* 09 */ 0x0659, + /* 0A */ 0x0658, + /* 0B */ 0x064C, /* 0C */ NODE(VXOpcodeTreeNodeType::VEXW, 0x0000), /* 0D */ NODE(VXOpcodeTreeNodeType::VEXW, 0x0001), /* 0E */ NODE(VXOpcodeTreeNodeType::VEXW, 0x0002), @@ -1618,49 +1617,49 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* 14 */ INVALID, /* 15 */ INVALID, /* 16 */ INVALID, - /* 17 */ MODRM(0x068C), + /* 17 */ 0x0674, /* 18 */ NODE(VXOpcodeTreeNodeType::VEXW, 0x0004), /* 19 */ NODE(VXOpcodeTreeNodeType::VEXW, 0x0005), /* 1A */ INVALID, /* 1B */ INVALID, - /* 1C */ MODRM(0x060F), - /* 1D */ MODRM(0x0611), - /* 1E */ MODRM(0x0610), + /* 1C */ 0x05F7, + /* 1D */ 0x05F9, + /* 1E */ 0x05F8, /* 1F */ INVALID, - /* 20 */ MODRM(0x065A), - /* 21 */ MODRM(0x0658), - /* 22 */ MODRM(0x0659), - /* 23 */ MODRM(0x065B), - /* 24 */ MODRM(0x065C), + /* 20 */ 0x0642, + /* 21 */ 0x0640, + /* 22 */ 0x0641, + /* 23 */ 0x0643, + /* 24 */ 0x0644, /* 25 */ INVALID, /* 26 */ INVALID, /* 27 */ INVALID, - /* 28 */ MODRM(0x0663), - /* 29 */ MODRM(0x0628), - /* 2A */ MODRM(0x05E8), - /* 2B */ MODRM(0x0614), + /* 28 */ 0x064B, + /* 29 */ 0x0610, + /* 2A */ 0x05D0, + /* 2B */ 0x05FC, /* 2C */ NODE(VXOpcodeTreeNodeType::VEXW, 0x0006), /* 2D */ NODE(VXOpcodeTreeNodeType::VEXW, 0x0007), /* 2E */ NODE(VXOpcodeTreeNodeType::VEXW, 0x0008), /* 2F */ NODE(VXOpcodeTreeNodeType::VEXW, 0x0009), - /* 30 */ MODRM(0x065F), - /* 31 */ MODRM(0x065D), - /* 32 */ MODRM(0x065E), - /* 33 */ MODRM(0x0661), - /* 34 */ MODRM(0x0662), - /* 35 */ MODRM(0x0660), + /* 30 */ 0x0647, + /* 31 */ 0x0645, + /* 32 */ 0x0646, + /* 33 */ 0x0649, + /* 34 */ 0x064A, + /* 35 */ 0x0648, /* 36 */ INVALID, - /* 37 */ MODRM(0x062E), - /* 38 */ MODRM(0x0651), - /* 39 */ MODRM(0x0652), - /* 3A */ MODRM(0x0656), - /* 3B */ MODRM(0x0655), - /* 3C */ MODRM(0x064B), - /* 3D */ MODRM(0x064C), - /* 3E */ MODRM(0x0650), - /* 3F */ MODRM(0x064F), - /* 40 */ MODRM(0x0667), - /* 41 */ MODRM(0x0640), + /* 37 */ 0x0616, + /* 38 */ 0x0639, + /* 39 */ 0x063A, + /* 3A */ 0x063E, + /* 3B */ 0x063D, + /* 3C */ 0x0633, + /* 3D */ 0x0634, + /* 3E */ 0x0638, + /* 3F */ 0x0637, + /* 40 */ 0x064F, + /* 41 */ 0x0628, /* 42 */ INVALID, /* 43 */ INVALID, /* 44 */ INVALID, @@ -1814,11 +1813,11 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* D8 */ INVALID, /* D9 */ INVALID, /* DA */ INVALID, - /* DB */ MODRM(0x0588), - /* DC */ MODRM(0x0586), - /* DD */ MODRM(0x0587), - /* DE */ MODRM(0x0584), - /* DF */ MODRM(0x0585), + /* DB */ 0x0570, + /* DC */ 0x056E, + /* DD */ 0x056F, + /* DE */ 0x056C, + /* DF */ 0x056D, /* E0 */ INVALID, /* E1 */ INVALID, /* E2 */ INVALID, @@ -1861,22 +1860,22 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* 05 */ NODE(VXOpcodeTreeNodeType::VEXW, 0x000B), /* 06 */ NODE(VXOpcodeTreeNodeType::VEXW, 0x000C), /* 07 */ INVALID, - /* 08 */ MODRM(0x0699), - /* 09 */ MODRM(0x0698), - /* 0A */ MODRM(0x069B), - /* 0B */ MODRM(0x069A), - /* 0C */ MODRM(0x058F), - /* 0D */ MODRM(0x058E), - /* 0E */ MODRM(0x0624), - /* 0F */ MODRM(0x061E), + /* 08 */ 0x0681, + /* 09 */ 0x0680, + /* 0A */ 0x0683, + /* 0B */ 0x0682, + /* 0C */ 0x0577, + /* 0D */ 0x0576, + /* 0E */ 0x060C, + /* 0F */ 0x0606, /* 10 */ INVALID, /* 11 */ INVALID, /* 12 */ INVALID, /* 13 */ INVALID, /* 14 */ NODE(VXOpcodeTreeNodeType::VEXW, 0x000D), - /* 15 */ MODRM(0x063C), + /* 15 */ 0x0624, /* 16 */ NODE(VXOpcodeTreeNodeType::OPERAND_SIZE, 0x0016), - /* 17 */ MODRM(0x05B3), + /* 17 */ 0x059B, /* 18 */ NODE(VXOpcodeTreeNodeType::VEXW, 0x0011), /* 19 */ NODE(VXOpcodeTreeNodeType::VEXW, 0x0012), /* 1A */ INVALID, @@ -1886,7 +1885,7 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* 1E */ INVALID, /* 1F */ INVALID, /* 20 */ NODE(VXOpcodeTreeNodeType::VEXW, 0x0013), - /* 21 */ MODRM(0x05B9), + /* 21 */ 0x05A1, /* 22 */ NODE(VXOpcodeTreeNodeType::MODE, 0x0025), /* 23 */ INVALID, /* 24 */ INVALID, @@ -1917,11 +1916,11 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* 3D */ INVALID, /* 3E */ INVALID, /* 3F */ INVALID, - /* 40 */ MODRM(0x05AF), - /* 41 */ MODRM(0x05AE), - /* 42 */ MODRM(0x05FF), + /* 40 */ 0x0597, + /* 41 */ 0x0596, + /* 42 */ 0x05E7, /* 43 */ INVALID, - /* 44 */ MODRM(0x0625), + /* 44 */ 0x060D, /* 45 */ INVALID, /* 46 */ INVALID, /* 47 */ INVALID, @@ -1949,10 +1948,10 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* 5D */ INVALID, /* 5E */ INVALID, /* 5F */ INVALID, - /* 60 */ MODRM(0x062B), - /* 61 */ MODRM(0x062A), - /* 62 */ MODRM(0x0631), - /* 63 */ MODRM(0x0630), + /* 60 */ 0x0613, + /* 61 */ 0x0612, + /* 62 */ 0x0619, + /* 63 */ 0x0618, /* 64 */ INVALID, /* 65 */ INVALID, /* 66 */ INVALID, @@ -2076,7 +2075,7 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* DC */ INVALID, /* DD */ INVALID, /* DE */ INVALID, - /* DF */ MODRM(0x0589), + /* DF */ 0x0571, /* E0 */ INVALID, /* E1 */ INVALID, /* E2 */ INVALID, @@ -2153,10 +2152,10 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* 27 */ INVALID, /* 28 */ INVALID, /* 29 */ INVALID, - /* 2A */ MODRM(0x05A3), + /* 2A */ 0x058B, /* 2B */ INVALID, - /* 2C */ MODRM(0x05A9), - /* 2D */ MODRM(0x05A5), + /* 2C */ 0x0591, + /* 2D */ 0x058D, /* 2E */ INVALID, /* 2F */ INVALID, /* 30 */ INVALID, @@ -2192,21 +2191,21 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* 4E */ INVALID, /* 4F */ INVALID, /* 50 */ INVALID, - /* 51 */ MODRM(0x06A3), - /* 52 */ MODRM(0x069D), - /* 53 */ MODRM(0x0697), + /* 51 */ 0x068B, + /* 52 */ 0x0685, + /* 53 */ 0x067F, /* 54 */ INVALID, /* 55 */ INVALID, /* 56 */ INVALID, /* 57 */ INVALID, - /* 58 */ MODRM(0x0581), - /* 59 */ MODRM(0x0609), - /* 5A */ MODRM(0x05A4), - /* 5B */ MODRM(0x05A7), - /* 5C */ MODRM(0x06A8), - /* 5D */ MODRM(0x05C9), - /* 5E */ MODRM(0x05AD), - /* 5F */ MODRM(0x05C3), + /* 58 */ 0x0569, + /* 59 */ 0x05F1, + /* 5A */ 0x058C, + /* 5B */ 0x058F, + /* 5C */ 0x0690, + /* 5D */ 0x05B1, + /* 5E */ 0x0595, + /* 5F */ 0x05AB, /* 60 */ INVALID, /* 61 */ INVALID, /* 62 */ INVALID, @@ -2222,8 +2221,8 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* 6C */ INVALID, /* 6D */ INVALID, /* 6E */ INVALID, - /* 6F */ MODRM(0x05D9), - /* 70 */ MODRM(0x066D), + /* 6F */ 0x05C2, + /* 70 */ 0x0655, /* 71 */ INVALID, /* 72 */ INVALID, /* 73 */ INVALID, @@ -2237,8 +2236,8 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* 7B */ INVALID, /* 7C */ INVALID, /* 7D */ INVALID, - /* 7E */ MODRM(0x05EE), - /* 7F */ MODRM(0x05DA), + /* 7E */ 0x05D3, + /* 7F */ 0x05C1, /* 80 */ INVALID, /* 81 */ INVALID, /* 82 */ INVALID, @@ -2305,7 +2304,7 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* BF */ INVALID, /* C0 */ INVALID, /* C1 */ INVALID, - /* C2 */ MODRM(0x0597), + /* C2 */ 0x057F, /* C3 */ INVALID, /* C4 */ INVALID, /* C5 */ INVALID, @@ -2341,7 +2340,7 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* E3 */ INVALID, /* E4 */ INVALID, /* E5 */ INVALID, - /* E6 */ MODRM(0x059A), + /* E6 */ 0x0582, /* E7 */ INVALID, /* E8 */ INVALID, /* E9 */ INVALID, @@ -2411,10 +2410,10 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* 27 */ INVALID, /* 28 */ INVALID, /* 29 */ INVALID, - /* 2A */ MODRM(0x05A2), + /* 2A */ 0x058A, /* 2B */ INVALID, - /* 2C */ MODRM(0x05A8), - /* 2D */ MODRM(0x05A0), + /* 2C */ 0x0590, + /* 2D */ 0x0588, /* 2E */ INVALID, /* 2F */ INVALID, /* 30 */ INVALID, @@ -2450,21 +2449,21 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* 4E */ INVALID, /* 4F */ INVALID, /* 50 */ INVALID, - /* 51 */ MODRM(0x06A2), + /* 51 */ 0x068A, /* 52 */ INVALID, /* 53 */ INVALID, /* 54 */ INVALID, /* 55 */ INVALID, /* 56 */ INVALID, /* 57 */ INVALID, - /* 58 */ MODRM(0x0580), - /* 59 */ MODRM(0x0608), - /* 5A */ MODRM(0x05A1), + /* 58 */ 0x0568, + /* 59 */ 0x05F0, + /* 5A */ 0x0589, /* 5B */ INVALID, - /* 5C */ MODRM(0x06A7), - /* 5D */ MODRM(0x05C8), - /* 5E */ MODRM(0x05AC), - /* 5F */ MODRM(0x05C2), + /* 5C */ 0x068F, + /* 5D */ 0x05B0, + /* 5E */ 0x0594, + /* 5F */ 0x05AA, /* 60 */ INVALID, /* 61 */ INVALID, /* 62 */ INVALID, @@ -2481,7 +2480,7 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* 6D */ INVALID, /* 6E */ INVALID, /* 6F */ INVALID, - /* 70 */ MODRM(0x066E), + /* 70 */ 0x0656, /* 71 */ INVALID, /* 72 */ INVALID, /* 73 */ INVALID, @@ -2493,8 +2492,8 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* 79 */ INVALID, /* 7A */ INVALID, /* 7B */ INVALID, - /* 7C */ MODRM(0x05B5), - /* 7D */ MODRM(0x05B7), + /* 7C */ 0x059D, + /* 7D */ 0x059F, /* 7E */ INVALID, /* 7F */ INVALID, /* 80 */ INVALID, @@ -2563,7 +2562,7 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* BF */ INVALID, /* C0 */ INVALID, /* C1 */ INVALID, - /* C2 */ MODRM(0x0596), + /* C2 */ 0x057E, /* C3 */ INVALID, /* C4 */ INVALID, /* C5 */ INVALID, @@ -2577,7 +2576,7 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* CD */ INVALID, /* CE */ INVALID, /* CF */ INVALID, - /* D0 */ MODRM(0x0583), + /* D0 */ 0x056B, /* D1 */ INVALID, /* D2 */ INVALID, /* D3 */ INVALID, @@ -2599,7 +2598,7 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* E3 */ INVALID, /* E4 */ INVALID, /* E5 */ INVALID, - /* E6 */ MODRM(0x059C), + /* E6 */ 0x0584, /* E7 */ INVALID, /* E8 */ INVALID, /* E9 */ INVALID, @@ -2609,7 +2608,7 @@ static const VXOpcodeTreeNode optreeTable[][256] = /* ED */ INVALID, /* EE */ INVALID, /* EF */ INVALID, - /* F0 */ MODRM(0x05BA), + /* F0 */ 0x05A2, /* F1 */ INVALID, /* F2 */ INVALID, /* F3 */ INVALID, @@ -2631,119 +2630,119 @@ static const VXOpcodeTreeNode optreeTable[][256] = static const VXOpcodeTreeNode optreeModrmMod[][2] = { { - /* 00 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0001), - /* 01 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0002), + /* 00 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0001), + /* 01 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0002), }, { - /* 00 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0034), - /* 01 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0035), + /* 00 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x000F), + /* 01 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0010), }, { - /* 00 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0039), - /* 01 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x003A), + /* 00 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0014), + /* 01 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0015), }, { /* 00 */ INVALID, - /* 01 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0008), + /* 01 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00E5), }, { /* 00 */ INVALID, - /* 01 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0009), + /* 01 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00E6), }, { - /* 00 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x000A), - /* 01 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x000B), + /* 00 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00ED), + /* 01 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00EE), }, { - /* 00 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x000D), - /* 01 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x000E), + /* 00 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0106), + /* 01 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0107), }, { /* 00 */ INVALID, - /* 01 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x018F), + /* 01 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0137), }, { - /* 00 */ MODRM(0x05E4), - /* 01 */ MODRM(0x05DB), + /* 00 */ 0x05CB, + /* 01 */ 0x05C3, }, { - /* 00 */ MODRM(0x05DF), - /* 01 */ MODRM(0x05E0), + /* 00 */ 0x05C6, + /* 01 */ 0x05C8, }, { - /* 00 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0016), + /* 00 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x001A), /* 01 */ INVALID, }, { - /* 00 */ MODRM(0x05E1), + /* 00 */ 0x05C9, /* 01 */ INVALID, }, { - /* 00 */ MODRM(0x05DD), + /* 00 */ 0x05C4, /* 01 */ INVALID, }, { /* 00 */ INVALID, - /* 01 */ MODRM(0x05BB), + /* 01 */ 0x05A3, }, { - /* 00 */ MODRM(0x05F8), - /* 01 */ MODRM(0x05FA), + /* 00 */ 0x05E2, + /* 01 */ 0x05DF, }, { - /* 00 */ MODRM(0x05F7), - /* 01 */ MODRM(0x05F9), + /* 00 */ 0x05E0, + /* 01 */ 0x05E1, }, { - /* 00 */ MODRM(0x05F6), - /* 01 */ MODRM(0x05F5), + /* 00 */ 0x05DE, + /* 01 */ 0x05DD, }, { - /* 00 */ MODRM(0x05F3), - /* 01 */ MODRM(0x05F4), + /* 00 */ 0x05DB, + /* 01 */ 0x05DC, }, { - /* 00 */ MODRM(0x05F0), - /* 01 */ MODRM(0x05EF), + /* 00 */ 0x05DA, + /* 01 */ 0x05D9, }, { - /* 00 */ MODRM(0x05F1), - /* 01 */ MODRM(0x05F2), + /* 00 */ 0x05D8, + /* 01 */ 0x05D7, }, { - /* 00 */ MODRM(0x05D5), - /* 01 */ MODRM(0x05D6), - }, - { - /* 00 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0020), - /* 01 */ NODE(VXOpcodeTreeNodeType::X87, 0x0000), - }, - { - /* 00 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0021), - /* 01 */ NODE(VXOpcodeTreeNodeType::X87, 0x0001), - }, - { - /* 00 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0022), - /* 01 */ NODE(VXOpcodeTreeNodeType::X87, 0x0002), - }, - { - /* 00 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0023), - /* 01 */ NODE(VXOpcodeTreeNodeType::X87, 0x0003), + /* 00 */ 0x05BE, + /* 01 */ 0x05BD, }, { /* 00 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0024), - /* 01 */ NODE(VXOpcodeTreeNodeType::X87, 0x0004), + /* 01 */ NODE(VXOpcodeTreeNodeType::X87, 0x0000), }, { /* 00 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0025), - /* 01 */ NODE(VXOpcodeTreeNodeType::X87, 0x0005), + /* 01 */ NODE(VXOpcodeTreeNodeType::X87, 0x0001), }, { /* 00 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0026), - /* 01 */ NODE(VXOpcodeTreeNodeType::X87, 0x0006), + /* 01 */ NODE(VXOpcodeTreeNodeType::X87, 0x0002), }, { /* 00 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0027), + /* 01 */ NODE(VXOpcodeTreeNodeType::X87, 0x0003), + }, + { + /* 00 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0028), + /* 01 */ NODE(VXOpcodeTreeNodeType::X87, 0x0004), + }, + { + /* 00 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0029), + /* 01 */ NODE(VXOpcodeTreeNodeType::X87, 0x0005), + }, + { + /* 00 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x002A), + /* 01 */ NODE(VXOpcodeTreeNodeType::X87, 0x0006), + }, + { + /* 00 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x002B), /* 01 */ NODE(VXOpcodeTreeNodeType::X87, 0x0007), }, }; @@ -2751,50 +2750,40 @@ static const VXOpcodeTreeNode optreeModrmMod[][2] = static const VXOpcodeTreeNode optreeModrmReg[][8] = { { - /* 00 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0000), - /* 01 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0001), - /* 02 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0002), - /* 03 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0003), - /* 04 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0004), - /* 05 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0005), + /* 00 */ 0x0531, + /* 01 */ 0x0541, + /* 02 */ 0x02FC, + /* 03 */ 0x0309, + /* 04 */ 0x0598, + /* 05 */ 0x0599, /* 06 */ INVALID, /* 07 */ INVALID, }, { - /* 00 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0006), - /* 01 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0007), - /* 02 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0008), - /* 03 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0009), - /* 04 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x000A), + /* 00 */ 0x0516, + /* 01 */ 0x052F, + /* 02 */ 0x02F9, + /* 03 */ 0x02FB, + /* 04 */ 0x0533, /* 05 */ INVALID, - /* 06 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x000B), - /* 07 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x000C), + /* 06 */ 0x02FE, + /* 07 */ 0x02C0, }, { /* 00 */ NODE(VXOpcodeTreeNodeType::MODRM_RM, 0x0000), /* 01 */ NODE(VXOpcodeTreeNodeType::MODRM_RM, 0x0001), /* 02 */ NODE(VXOpcodeTreeNodeType::MODRM_RM, 0x0002), /* 03 */ NODE(VXOpcodeTreeNodeType::MODRM_RM, 0x0003), - /* 04 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x001D), + /* 04 */ 0x0532, /* 05 */ INVALID, - /* 06 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x001E), + /* 06 */ 0x02FD, /* 07 */ NODE(VXOpcodeTreeNodeType::MODRM_RM, 0x0004), }, { - /* 00 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0029), - /* 01 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x002A), - /* 02 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x002B), - /* 03 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x002C), - /* 04 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x002D), - /* 05 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x002E), - /* 06 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x002F), - /* 07 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0030), - }, - { - /* 00 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x003C), - /* 01 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x003D), - /* 02 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x003E), - /* 03 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x003F), + /* 00 */ 0x0455, + /* 01 */ 0x0456, + /* 02 */ 0x0457, + /* 03 */ 0x0458, /* 04 */ INVALID, /* 05 */ INVALID, /* 06 */ INVALID, @@ -2803,32 +2792,62 @@ static const VXOpcodeTreeNode optreeModrmReg[][8] = { /* 00 */ INVALID, /* 01 */ INVALID, - /* 02 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00DA), + /* 02 */ 0x0486, /* 03 */ INVALID, - /* 04 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00DB), + /* 04 */ 0x0479, /* 05 */ INVALID, - /* 06 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00DC), + /* 06 */ 0x0470, /* 07 */ INVALID, }, { /* 00 */ INVALID, /* 01 */ INVALID, - /* 02 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00DD), + /* 02 */ 0x0485, /* 03 */ INVALID, - /* 04 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00DE), + /* 04 */ 0x0478, /* 05 */ INVALID, - /* 06 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00DF), + /* 06 */ 0x0473, /* 07 */ INVALID, }, { /* 00 */ INVALID, /* 01 */ INVALID, - /* 02 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00E0), - /* 03 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00E1), + /* 02 */ 0x047E, + /* 03 */ INVALID, + /* 04 */ 0x0475, + /* 05 */ INVALID, + /* 06 */ 0x0468, + /* 07 */ INVALID, + }, + { + /* 00 */ INVALID, + /* 01 */ INVALID, + /* 02 */ 0x047C, + /* 03 */ INVALID, + /* 04 */ 0x0476, + /* 05 */ INVALID, + /* 06 */ 0x046A, + /* 07 */ INVALID, + }, + { + /* 00 */ INVALID, + /* 01 */ INVALID, + /* 02 */ 0x0482, + /* 03 */ INVALID, /* 04 */ INVALID, /* 05 */ INVALID, - /* 06 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00E2), - /* 07 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x00E3), + /* 06 */ 0x046D, + /* 07 */ INVALID, + }, + { + /* 00 */ INVALID, + /* 01 */ INVALID, + /* 02 */ 0x0481, + /* 03 */ 0x0480, + /* 04 */ INVALID, + /* 05 */ INVALID, + /* 06 */ 0x046C, + /* 07 */ 0x046B, }, { /* 00 */ NODE(VXOpcodeTreeNodeType::MODRM_RM, 0x0005), @@ -2851,14 +2870,14 @@ static const VXOpcodeTreeNode optreeModrmReg[][8] = /* 07 */ INVALID, }, { - /* 00 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0123), - /* 01 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0124), - /* 02 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0125), - /* 03 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0126), - /* 04 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0127), - /* 05 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0128), + /* 00 */ 0x0296, + /* 01 */ 0x0295, + /* 02 */ 0x02F2, + /* 03 */ 0x053C, + /* 04 */ 0x06C0, + /* 05 */ 0x06BF, /* 06 */ INVALID, - /* 07 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0129), + /* 07 */ 0x0055, }, { /* 00 */ INVALID, @@ -2866,29 +2885,29 @@ static const VXOpcodeTreeNode optreeModrmReg[][8] = /* 02 */ INVALID, /* 03 */ INVALID, /* 04 */ INVALID, - /* 05 */ NODE(VXOpcodeTreeNodeType::MODRM_RM, 0x000E), - /* 06 */ NODE(VXOpcodeTreeNodeType::MODRM_RM, 0x000F), - /* 07 */ NODE(VXOpcodeTreeNodeType::MODRM_RM, 0x0010), + /* 05 */ 0x02F7, + /* 06 */ 0x0310, + /* 07 */ 0x0515, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, - /* 04 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x014C), - /* 05 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x014D), - /* 06 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x014E), - /* 07 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x014F), + /* 04 */ 0x0043, + /* 05 */ 0x0049, + /* 06 */ 0x0047, + /* 07 */ 0x0045, }, { /* 00 */ INVALID, - /* 01 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x015C), + /* 01 */ NODE(VXOpcodeTreeNodeType::OPERAND_SIZE, 0x0006), /* 02 */ INVALID, /* 03 */ INVALID, /* 04 */ INVALID, /* 05 */ INVALID, - /* 06 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x015D), - /* 07 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x015E), + /* 06 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x0015), + /* 07 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x0016), }, { /* 00 */ INVALID, @@ -2897,28 +2916,48 @@ static const VXOpcodeTreeNode optreeModrmReg[][8] = /* 03 */ INVALID, /* 04 */ INVALID, /* 05 */ INVALID, - /* 06 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x015F), + /* 06 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x0017), /* 07 */ INVALID, }, { - /* 00 */ MODRM(0x000F), - /* 01 */ MODRM(0x0399), - /* 02 */ MODRM(0x0005), - /* 03 */ MODRM(0x050E), - /* 04 */ MODRM(0x0028), - /* 05 */ MODRM(0x0563), - /* 06 */ MODRM(0x06D0), - /* 07 */ MODRM(0x0071), + /* 00 */ INVALID, + /* 01 */ INVALID, + /* 02 */ INVALID, + /* 03 */ INVALID, + /* 04 */ INVALID, + /* 05 */ INVALID, + /* 06 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x0018), + /* 07 */ INVALID, }, { - /* 00 */ MODRM(0x0013), - /* 01 */ MODRM(0x039B), - /* 02 */ MODRM(0x0009), - /* 03 */ MODRM(0x050F), - /* 04 */ MODRM(0x0029), - /* 05 */ MODRM(0x0561), - /* 06 */ MODRM(0x06CC), - /* 07 */ MODRM(0x006A), + /* 00 */ INVALID, + /* 01 */ INVALID, + /* 02 */ INVALID, + /* 03 */ INVALID, + /* 04 */ INVALID, + /* 05 */ INVALID, + /* 06 */ 0x04D3, + /* 07 */ INVALID, + }, + { + /* 00 */ 0x000F, + /* 01 */ 0x0392, + /* 02 */ 0x0005, + /* 03 */ 0x04FF, + /* 04 */ 0x0028, + /* 05 */ 0x0544, + /* 06 */ 0x06BC, + /* 07 */ 0x006E, + }, + { + /* 00 */ 0x0013, + /* 01 */ 0x0391, + /* 02 */ 0x0009, + /* 03 */ 0x0500, + /* 04 */ 0x0029, + /* 05 */ 0x0543, + /* 06 */ 0x06B5, + /* 07 */ 0x0072, }, { /* 00 */ NODE(VXOpcodeTreeNodeType::MODE, 0x0015), @@ -2931,17 +2970,17 @@ static const VXOpcodeTreeNode optreeModrmReg[][8] = /* 07 */ NODE(VXOpcodeTreeNodeType::MODE, 0x001C), }, { - /* 00 */ MODRM(0x0012), - /* 01 */ MODRM(0x039C), - /* 02 */ MODRM(0x0008), - /* 03 */ MODRM(0x0509), - /* 04 */ MODRM(0x002B), - /* 05 */ MODRM(0x0560), - /* 06 */ MODRM(0x06CD), - /* 07 */ MODRM(0x006B), + /* 00 */ 0x0012, + /* 01 */ 0x0397, + /* 02 */ 0x0008, + /* 03 */ 0x04FD, + /* 04 */ 0x002B, + /* 05 */ 0x0545, + /* 06 */ 0x06B4, + /* 07 */ 0x0071, }, { - /* 00 */ MODRM(0x044A), + /* 00 */ 0x0440, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, @@ -2951,30 +2990,30 @@ static const VXOpcodeTreeNode optreeModrmReg[][8] = /* 07 */ INVALID, }, { - /* 00 */ MODRM(0x04EE), - /* 01 */ MODRM(0x04F6), - /* 02 */ MODRM(0x04D7), - /* 03 */ MODRM(0x04E1), - /* 04 */ MODRM(0x053A), - /* 05 */ MODRM(0x053F), - /* 06 */ MODRM(0x0534), - /* 07 */ MODRM(0x0503), + /* 00 */ 0x04DE, + /* 01 */ 0x04E6, + /* 02 */ 0x04C6, + /* 03 */ 0x04D0, + /* 04 */ 0x0517, + /* 05 */ 0x0526, + /* 06 */ 0x051D, + /* 07 */ 0x04F3, }, { - /* 00 */ MODRM(0x04F0), - /* 01 */ MODRM(0x04F7), - /* 02 */ MODRM(0x04D8), - /* 03 */ MODRM(0x04DF), - /* 04 */ MODRM(0x052F), - /* 05 */ MODRM(0x053E), - /* 06 */ MODRM(0x0533), - /* 07 */ MODRM(0x0506), + /* 00 */ 0x04DF, + /* 01 */ 0x04E7, + /* 02 */ 0x04C7, + /* 03 */ 0x04CE, + /* 04 */ 0x051C, + /* 05 */ 0x0528, + /* 06 */ 0x051E, + /* 07 */ 0x04F6, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x06A4), + /* 03 */ 0x068C, /* 04 */ INVALID, /* 05 */ INVALID, /* 06 */ INVALID, @@ -2983,9 +3022,9 @@ static const VXOpcodeTreeNode optreeModrmReg[][8] = { /* 00 */ INVALID, /* 01 */ INVALID, - /* 02 */ 0x0682, + /* 02 */ 0x066A, /* 03 */ INVALID, - /* 04 */ 0x067C, + /* 04 */ 0x0664, /* 05 */ INVALID, /* 06 */ NODE(VXOpcodeTreeNodeType::VEXL, 0x0001), /* 07 */ INVALID, @@ -2993,9 +3032,9 @@ static const VXOpcodeTreeNode optreeModrmReg[][8] = { /* 00 */ INVALID, /* 01 */ INVALID, - /* 02 */ 0x067E, + /* 02 */ 0x0666, /* 03 */ INVALID, - /* 04 */ 0x067A, + /* 04 */ 0x0661, /* 05 */ INVALID, /* 06 */ NODE(VXOpcodeTreeNodeType::VEXL, 0x0002), /* 07 */ INVALID, @@ -3003,15 +3042,15 @@ static const VXOpcodeTreeNode optreeModrmReg[][8] = { /* 00 */ INVALID, /* 01 */ INVALID, - /* 02 */ 0x0681, - /* 03 */ 0x067F, + /* 02 */ 0x0668, + /* 03 */ 0x0667, /* 04 */ INVALID, /* 05 */ INVALID, /* 06 */ NODE(VXOpcodeTreeNodeType::VEXL, 0x0003), - /* 07 */ 0x0674, + /* 07 */ 0x065C, }, { - /* 00 */ MODRM(0x0324), + /* 00 */ 0x0333, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, @@ -3021,7 +3060,7 @@ static const VXOpcodeTreeNode optreeModrmReg[][8] = /* 07 */ INVALID, }, { - /* 00 */ MODRM(0x0325), + /* 00 */ 0x0332, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, @@ -3031,148 +3070,148 @@ static const VXOpcodeTreeNode optreeModrmReg[][8] = /* 07 */ INVALID, }, { - /* 00 */ MODRM(0x04ED), - /* 01 */ MODRM(0x04F5), - /* 02 */ MODRM(0x04D9), - /* 03 */ MODRM(0x04E0), - /* 04 */ MODRM(0x0537), - /* 05 */ MODRM(0x0540), - /* 06 */ MODRM(0x0536), - /* 07 */ MODRM(0x0505), + /* 00 */ 0x04DD, + /* 01 */ 0x04E5, + /* 02 */ 0x04C8, + /* 03 */ 0x04CD, + /* 04 */ 0x0522, + /* 05 */ 0x0527, + /* 06 */ 0x051F, + /* 07 */ 0x04F1, }, { - /* 00 */ MODRM(0x04EF), - /* 01 */ MODRM(0x04F8), - /* 02 */ MODRM(0x04D6), - /* 03 */ MODRM(0x04DC), - /* 04 */ MODRM(0x0531), - /* 05 */ MODRM(0x0541), - /* 06 */ MODRM(0x0538), - /* 07 */ MODRM(0x0504), + /* 00 */ 0x04DC, + /* 01 */ 0x04E2, + /* 02 */ 0x04C5, + /* 03 */ 0x04CF, + /* 04 */ 0x0520, + /* 05 */ 0x052A, + /* 06 */ 0x0519, + /* 07 */ 0x04F4, }, { - /* 00 */ MODRM(0x04F2), - /* 01 */ MODRM(0x04F3), - /* 02 */ MODRM(0x04D4), - /* 03 */ MODRM(0x04DE), - /* 04 */ MODRM(0x0532), - /* 05 */ MODRM(0x053D), - /* 06 */ MODRM(0x0535), - /* 07 */ MODRM(0x0507), + /* 00 */ 0x04E1, + /* 01 */ 0x04E3, + /* 02 */ 0x04C3, + /* 03 */ 0x04CC, + /* 04 */ 0x0521, + /* 05 */ 0x0529, + /* 06 */ 0x051A, + /* 07 */ 0x04F2, }, { - /* 00 */ MODRM(0x04F1), - /* 01 */ MODRM(0x04F4), - /* 02 */ MODRM(0x04D5), - /* 03 */ MODRM(0x04DD), - /* 04 */ MODRM(0x0539), - /* 05 */ MODRM(0x0542), - /* 06 */ MODRM(0x0530), - /* 07 */ MODRM(0x0502), + /* 00 */ 0x04E0, + /* 01 */ 0x04E4, + /* 02 */ 0x04C4, + /* 03 */ 0x04CB, + /* 04 */ 0x0518, + /* 05 */ 0x0525, + /* 06 */ 0x051B, + /* 07 */ 0x04F5, }, { - /* 00 */ MODRM(0x00BB), - /* 01 */ MODRM(0x01CC), - /* 02 */ MODRM(0x0119), - /* 03 */ MODRM(0x013D), - /* 04 */ MODRM(0x022C), - /* 05 */ MODRM(0x0245), - /* 06 */ MODRM(0x0166), - /* 07 */ MODRM(0x0171), + /* 00 */ 0x00BB, + /* 01 */ 0x01CF, + /* 02 */ 0x0119, + /* 03 */ 0x013D, + /* 04 */ 0x022C, + /* 05 */ 0x0245, + /* 06 */ 0x0166, + /* 07 */ 0x0171, }, { - /* 00 */ MODRM(0x01BE), + /* 00 */ 0x01BC, /* 01 */ INVALID, - /* 02 */ MODRM(0x01F5), - /* 03 */ MODRM(0x0205), - /* 04 */ MODRM(0x01C3), - /* 05 */ MODRM(0x01C2), - /* 06 */ MODRM(0x01E8), - /* 07 */ MODRM(0x01E7), + /* 02 */ 0x01FF, + /* 03 */ 0x020B, + /* 04 */ 0x01C3, + /* 05 */ 0x01C2, + /* 06 */ 0x01EB, + /* 07 */ 0x01EA, }, { - /* 00 */ MODRM(0x019B), - /* 01 */ MODRM(0x01A8), - /* 02 */ MODRM(0x019C), - /* 03 */ MODRM(0x019F), - /* 04 */ MODRM(0x01B3), - /* 05 */ MODRM(0x01B5), - /* 06 */ MODRM(0x01A0), - /* 07 */ MODRM(0x01A2), + /* 00 */ 0x019A, + /* 01 */ 0x01A8, + /* 02 */ 0x019C, + /* 03 */ 0x019F, + /* 04 */ 0x01B3, + /* 05 */ 0x01B5, + /* 06 */ 0x01A1, + /* 07 */ 0x01A3, }, { - /* 00 */ MODRM(0x01A5), - /* 01 */ MODRM(0x01B1), - /* 02 */ MODRM(0x01AB), - /* 03 */ MODRM(0x01AC), + /* 00 */ 0x01A4, + /* 01 */ 0x01B1, + /* 02 */ 0x01AB, + /* 03 */ 0x01AD, /* 04 */ INVALID, - /* 05 */ MODRM(0x01BD), + /* 05 */ 0x01BA, /* 06 */ INVALID, - /* 07 */ MODRM(0x01FF), + /* 07 */ 0x020A, }, { - /* 00 */ MODRM(0x00BA), - /* 01 */ MODRM(0x01D5), - /* 02 */ MODRM(0x0118), - /* 03 */ MODRM(0x013E), - /* 04 */ MODRM(0x022B), - /* 05 */ MODRM(0x024B), - /* 06 */ MODRM(0x0158), - /* 07 */ MODRM(0x017A), + /* 00 */ 0x00BA, + /* 01 */ 0x01D2, + /* 02 */ 0x0118, + /* 03 */ 0x013E, + /* 04 */ 0x022B, + /* 05 */ 0x0243, + /* 06 */ 0x0158, + /* 07 */ 0x017A, }, { - /* 00 */ MODRM(0x01BC), - /* 01 */ MODRM(0x01B0), - /* 02 */ MODRM(0x01FC), - /* 03 */ MODRM(0x0206), - /* 04 */ MODRM(0x01F0), + /* 00 */ 0x01BB, + /* 01 */ 0x01AF, + /* 02 */ 0x01FE, + /* 03 */ 0x0209, + /* 04 */ 0x01F3, /* 05 */ INVALID, - /* 06 */ MODRM(0x01E6), - /* 07 */ MODRM(0x01EA), + /* 06 */ 0x01E8, + /* 07 */ 0x01ED, }, { - /* 00 */ MODRM(0x019A), - /* 01 */ MODRM(0x01A7), - /* 02 */ MODRM(0x019D), - /* 03 */ MODRM(0x019E), - /* 04 */ MODRM(0x01B2), - /* 05 */ MODRM(0x01B4), - /* 06 */ MODRM(0x01A1), - /* 07 */ MODRM(0x01A3), + /* 00 */ 0x019B, + /* 01 */ 0x01A7, + /* 02 */ 0x019D, + /* 03 */ 0x019E, + /* 04 */ 0x01B2, + /* 05 */ 0x01B4, + /* 06 */ 0x01A0, + /* 07 */ 0x01A2, }, { - /* 00 */ MODRM(0x01A6), - /* 01 */ MODRM(0x01AF), - /* 02 */ MODRM(0x01AA), - /* 03 */ MODRM(0x01AE), - /* 04 */ MODRM(0x00D2), - /* 05 */ MODRM(0x01A4), - /* 06 */ MODRM(0x00D3), - /* 07 */ MODRM(0x01AD), + /* 00 */ 0x01A6, + /* 01 */ 0x01B0, + /* 02 */ 0x01AA, + /* 03 */ 0x01AE, + /* 04 */ 0x00D2, + /* 05 */ 0x01A5, + /* 06 */ 0x00D3, + /* 07 */ 0x01AC, }, { - /* 00 */ MODRM(0x0572), - /* 01 */ MODRM(0x0574), - /* 02 */ MODRM(0x0398), - /* 03 */ MODRM(0x038F), - /* 04 */ MODRM(0x0387), - /* 05 */ MODRM(0x029F), - /* 06 */ MODRM(0x00AC), - /* 07 */ MODRM(0x029C), + /* 00 */ 0x0557, + /* 01 */ 0x0558, + /* 02 */ 0x038E, + /* 03 */ 0x0385, + /* 04 */ 0x037E, + /* 05 */ 0x02A5, + /* 06 */ 0x00AC, + /* 07 */ 0x02A0, }, { - /* 00 */ MODRM(0x0575), - /* 01 */ MODRM(0x0570), - /* 02 */ MODRM(0x0397), - /* 03 */ MODRM(0x038E), - /* 04 */ MODRM(0x0388), - /* 05 */ MODRM(0x029E), - /* 06 */ MODRM(0x00AB), - /* 07 */ MODRM(0x029D), + /* 00 */ 0x0559, + /* 01 */ 0x055A, + /* 02 */ 0x038D, + /* 03 */ 0x0384, + /* 04 */ 0x037D, + /* 05 */ 0x02A3, + /* 06 */ 0x00AB, + /* 07 */ 0x02A1, }, { - /* 00 */ MODRM(0x02AA), - /* 01 */ MODRM(0x00A5), + /* 00 */ 0x02AF, + /* 01 */ 0x00A4, /* 02 */ INVALID, /* 03 */ INVALID, /* 04 */ INVALID, @@ -3181,13 +3220,13 @@ static const VXOpcodeTreeNode optreeModrmReg[][8] = /* 07 */ INVALID, }, { - /* 00 */ MODRM(0x02AB), - /* 01 */ MODRM(0x00A4), + /* 00 */ 0x02B0, + /* 01 */ 0x00A5, /* 02 */ NODE(VXOpcodeTreeNodeType::MODE, 0x002C), - /* 03 */ MODRM(0x004D), - /* 04 */ MODRM(0x02D6), - /* 05 */ MODRM(0x02D5), - /* 06 */ MODRM(0x04C9), + /* 03 */ 0x004C, + /* 04 */ 0x02DC, + /* 05 */ 0x02DB, + /* 06 */ 0x04B8, /* 07 */ INVALID, }, }; @@ -3196,17 +3235,17 @@ static const VXOpcodeTreeNode optreeModrmRm[][8] = { { /* 00 */ INVALID, - /* 01 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x000D), - /* 02 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x000E), - /* 03 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x000F), - /* 04 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0010), + /* 01 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x0000), + /* 02 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x0001), + /* 03 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x0002), + /* 04 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x0003), /* 05 */ INVALID, /* 06 */ INVALID, /* 07 */ INVALID, }, { - /* 00 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0011), - /* 01 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0012), + /* 00 */ 0x0315, + /* 01 */ 0x0383, /* 02 */ INVALID, /* 03 */ INVALID, /* 04 */ INVALID, @@ -3215,8 +3254,8 @@ static const VXOpcodeTreeNode optreeModrmRm[][8] = /* 07 */ INVALID, }, { - /* 00 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0013), - /* 01 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0014), + /* 00 */ 0x06B1, + /* 01 */ 0x06C1, /* 02 */ INVALID, /* 03 */ INVALID, /* 04 */ INVALID, @@ -3225,18 +3264,18 @@ static const VXOpcodeTreeNode optreeModrmRm[][8] = /* 07 */ INVALID, }, { - /* 00 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0015), - /* 01 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0016), - /* 02 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0017), - /* 03 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0018), - /* 04 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0019), - /* 05 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x001A), - /* 06 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x001B), - /* 07 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x001C), + /* 00 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x0004), + /* 01 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x0005), + /* 02 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x0006), + /* 03 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x0007), + /* 04 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x0008), + /* 05 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x0009), + /* 06 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x000A), + /* 07 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x000B), }, { - /* 00 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x001F), - /* 01 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0020), + /* 00 */ 0x0550, + /* 01 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x000C), /* 02 */ INVALID, /* 03 */ INVALID, /* 04 */ INVALID, @@ -3245,7 +3284,7 @@ static const VXOpcodeTreeNode optreeModrmRm[][8] = /* 07 */ INVALID, }, { - /* 00 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0114), + /* 00 */ 0x0316, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, @@ -3255,7 +3294,7 @@ static const VXOpcodeTreeNode optreeModrmRm[][8] = /* 07 */ INVALID, }, { - /* 00 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0115), + /* 00 */ 0x06C2, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, @@ -3265,7 +3304,7 @@ static const VXOpcodeTreeNode optreeModrmRm[][8] = /* 07 */ INVALID, }, { - /* 00 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0116), + /* 00 */ 0x06C3, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, @@ -3275,7 +3314,7 @@ static const VXOpcodeTreeNode optreeModrmRm[][8] = /* 07 */ INVALID, }, { - /* 00 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0117), + /* 00 */ 0x06C4, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, @@ -3285,7 +3324,7 @@ static const VXOpcodeTreeNode optreeModrmRm[][8] = /* 07 */ INVALID, }, { - /* 00 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0118), + /* 00 */ 0x06AF, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, @@ -3295,7 +3334,7 @@ static const VXOpcodeTreeNode optreeModrmRm[][8] = /* 07 */ INVALID, }, { - /* 00 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0119), + /* 00 */ 0x06AC, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, @@ -3305,7 +3344,7 @@ static const VXOpcodeTreeNode optreeModrmRm[][8] = /* 07 */ INVALID, }, { - /* 00 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x011A), + /* 00 */ 0x06AE, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, @@ -3315,7 +3354,7 @@ static const VXOpcodeTreeNode optreeModrmRm[][8] = /* 07 */ INVALID, }, { - /* 00 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x011B), + /* 00 */ 0x06AD, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, @@ -3325,7 +3364,7 @@ static const VXOpcodeTreeNode optreeModrmRm[][8] = /* 07 */ INVALID, }, { - /* 00 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x011C), + /* 00 */ 0x06B0, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, @@ -3334,252 +3373,42 @@ static const VXOpcodeTreeNode optreeModrmRm[][8] = /* 06 */ INVALID, /* 07 */ INVALID, }, - { - /* 00 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x012A), - /* 01 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x012B), - /* 02 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x012C), - /* 03 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x012D), - /* 04 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x012E), - /* 05 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x012F), - /* 06 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0130), - /* 07 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0131), - }, - { - /* 00 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0132), - /* 01 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0133), - /* 02 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0134), - /* 03 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0135), - /* 04 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0136), - /* 05 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0137), - /* 06 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0138), - /* 07 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0139), - }, - { - /* 00 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x013A), - /* 01 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x013B), - /* 02 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x013C), - /* 03 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x013D), - /* 04 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x013E), - /* 05 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x013F), - /* 06 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0140), - /* 07 */ NODE(VXOpcodeTreeNodeType::MANDATORY, 0x0141), - }, }; static const VXOpcodeTreeNode optreeMandatory[][4] = { { - /* 00 */ MODRM(0x0549), + /* 00 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0000), /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0559), + /* 00 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0001), /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x02FF), + /* 00 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0002), /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x030C), + /* 00 */ 0x02F0, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x05B0), + /* 00 */ 0x0307, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x05B1), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ MODRM(0x052E), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ MODRM(0x0547), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ MODRM(0x02FC), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ MODRM(0x02FE), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ MODRM(0x054B), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ MODRM(0x0300), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ MODRM(0x02BC), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x0000), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x0001), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x0002), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x0003), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x031F, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x038D, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x06C9, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x06D9, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x0004), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x0005), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x0006), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x0007), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x0008), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x0009), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x000A), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x000B), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ MODRM(0x054A), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ MODRM(0x0301), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x0568, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x000C), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ MODRM(0x02EC), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ MODRM(0x030A), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x0569, + /* 00 */ 0x0551, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, @@ -3591,73 +3420,31 @@ static const VXOpcodeTreeNode optreeMandatory[][4] = /* 03 */ INVALID, }, { - /* 00 */ 0x056E, + /* 00 */ 0x0556, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ 0x02B9, + /* 00 */ 0x02BD, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ 0x06B6, + /* 00 */ 0x069E, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ 0x0579, + /* 00 */ 0x0561, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0463), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ MODRM(0x0462), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ MODRM(0x0461), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ MODRM(0x0464), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ MODRM(0x0465), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ MODRM(0x0460), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ MODRM(0x045E), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ MODRM(0x045F), + /* 00 */ 0x0454, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, @@ -3669,223 +3456,205 @@ static const VXOpcodeTreeNode optreeMandatory[][4] = /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0383), - /* 01 */ MODRM(0x0372), - /* 02 */ MODRM(0x037B), - /* 03 */ MODRM(0x0381), + /* 00 */ 0x0379, + /* 01 */ 0x0368, + /* 02 */ 0x0371, + /* 03 */ 0x0377, }, { - /* 00 */ MODRM(0x0382), - /* 01 */ MODRM(0x0374), - /* 02 */ MODRM(0x037A), - /* 03 */ MODRM(0x0380), + /* 00 */ 0x0378, + /* 01 */ 0x036A, + /* 02 */ 0x0370, + /* 03 */ 0x0376, }, { - /* 00 */ MODRM(0x035F), - /* 01 */ MODRM(0x034F), - /* 02 */ MODRM(0x0377), - /* 03 */ MODRM(0x035C), + /* 00 */ 0x0355, + /* 01 */ 0x0345, + /* 02 */ 0x036D, + /* 03 */ 0x0353, }, { - /* 00 */ MODRM(0x0356), - /* 01 */ MODRM(0x0350), - /* 02 */ MODRM(0x0378), + /* 00 */ 0x034C, + /* 01 */ 0x0346, + /* 02 */ 0x036E, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x035E), + /* 00 */ 0x0354, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x035D), + /* 03 */ 0x0352, }, { - /* 00 */ MODRM(0x057D), + /* 00 */ 0x0565, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x057C), + /* 03 */ 0x0564, }, { - /* 00 */ MODRM(0x057B), + /* 00 */ 0x0563, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x057A), + /* 03 */ 0x0562, }, { - /* 00 */ MODRM(0x0359), + /* 00 */ 0x0350, /* 01 */ INVALID, - /* 02 */ MODRM(0x0375), - /* 03 */ MODRM(0x0357), + /* 02 */ 0x036B, + /* 03 */ 0x034E, }, { - /* 00 */ MODRM(0x035B), + /* 00 */ 0x0351, /* 01 */ INVALID, - /* 02 */ MODRM(0x0376), + /* 02 */ 0x036C, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x035A), + /* 00 */ 0x034F, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0358), + /* 03 */ 0x034D, }, { - /* 00 */ MODRM(0x0466), + /* 00 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0003), /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0467), + /* 00 */ 0x038A, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0468), + /* 00 */ 0x038B, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0469), + /* 00 */ 0x038C, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0395), + /* 00 */ 0x0389, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0396), + /* 00 */ 0x0386, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0393), + /* 00 */ 0x0387, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0390), + /* 00 */ 0x0388, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0391), + /* 00 */ 0x0325, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0392), + /* 00 */ 0x0328, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0394), + /* 00 */ 0x0327, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x033A), + /* 00 */ 0x0326, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0335), + /* 00 */ 0x033A, + /* 01 */ INVALID, + /* 02 */ INVALID, + /* 03 */ 0x0338, + }, + { + /* 00 */ 0x0339, + /* 01 */ INVALID, + /* 02 */ INVALID, + /* 03 */ 0x0337, + }, + { + /* 00 */ 0x008D, + /* 01 */ 0x0093, + /* 02 */ 0x0094, + /* 03 */ 0x008C, + }, + { + /* 00 */ 0x035C, + /* 01 */ INVALID, + /* 02 */ INVALID, + /* 03 */ 0x035B, + }, + { + /* 00 */ 0x009A, + /* 01 */ 0x009B, + /* 02 */ 0x009C, + /* 03 */ 0x0098, + }, + { + /* 00 */ 0x0090, + /* 01 */ 0x0091, + /* 02 */ 0x0096, + /* 03 */ 0x008A, + }, + { + /* 00 */ 0x0560, + /* 01 */ INVALID, + /* 02 */ INVALID, + /* 03 */ 0x055F, + }, + { + /* 00 */ 0x0082, + /* 01 */ INVALID, + /* 02 */ INVALID, + /* 03 */ 0x0081, + }, + { + /* 00 */ 0x069F, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0337), + /* 00 */ 0x04D4, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0339), + /* 00 */ 0x04D1, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0343), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ MODRM(0x0342), - }, - { - /* 00 */ MODRM(0x0344), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ MODRM(0x0341), - }, - { - /* 00 */ MODRM(0x008D), - /* 01 */ MODRM(0x0093), - /* 02 */ MODRM(0x0094), - /* 03 */ MODRM(0x008C), - }, - { - /* 00 */ MODRM(0x0366), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ MODRM(0x0365), - }, - { - /* 00 */ MODRM(0x009A), - /* 01 */ MODRM(0x009B), - /* 02 */ MODRM(0x009C), - /* 03 */ MODRM(0x0098), - }, - { - /* 00 */ MODRM(0x0090), - /* 01 */ MODRM(0x0091), - /* 02 */ MODRM(0x0096), - /* 03 */ MODRM(0x008A), - }, - { - /* 00 */ MODRM(0x0578), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ MODRM(0x0577), - }, - { - /* 00 */ MODRM(0x0082), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ MODRM(0x0081), - }, - { - /* 00 */ 0x06B7, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x04E5, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x04E2, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x04E3, + /* 00 */ 0x04D2, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, @@ -3903,286 +3672,286 @@ static const VXOpcodeTreeNode optreeMandatory[][4] = /* 03 */ INVALID, }, { - /* 00 */ 0x0296, + /* 00 */ 0x029A, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x046C), + /* 00 */ 0x045B, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x046D), + /* 03 */ 0x045C, }, { - /* 00 */ MODRM(0x0408), + /* 00 */ 0x03FD, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0407), + /* 03 */ 0x03FE, }, { - /* 00 */ MODRM(0x0404), + /* 00 */ 0x03FA, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0403), + /* 03 */ 0x03F9, }, { - /* 00 */ MODRM(0x0405), + /* 00 */ 0x03FB, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0406), + /* 03 */ 0x03FC, }, { - /* 00 */ MODRM(0x0418), + /* 00 */ 0x040E, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0419), + /* 03 */ 0x040F, }, { - /* 00 */ MODRM(0x040E), + /* 00 */ 0x0405, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x040F), + /* 03 */ 0x0404, }, { - /* 00 */ MODRM(0x040B), + /* 00 */ 0x0400, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x040A), + /* 03 */ 0x0401, }, { - /* 00 */ MODRM(0x040D), + /* 00 */ 0x0402, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x040C), + /* 03 */ 0x0403, }, { - /* 00 */ MODRM(0x0473), + /* 00 */ 0x0461, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0472), + /* 03 */ 0x0462, }, { - /* 00 */ MODRM(0x0476), + /* 00 */ 0x0466, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0477), + /* 03 */ 0x0465, }, { - /* 00 */ MODRM(0x0475), + /* 00 */ 0x0464, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0474), + /* 03 */ 0x0463, }, { - /* 00 */ MODRM(0x043C), + /* 00 */ 0x0431, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x043B), + /* 03 */ 0x0432, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03D4), + /* 03 */ 0x03CA, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0037), + /* 03 */ 0x0037, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0036), + /* 03 */ 0x0036, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x04AB), + /* 03 */ 0x049A, }, { - /* 00 */ MODRM(0x03AD), + /* 00 */ 0x03A3, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03AC), + /* 03 */ 0x03A2, }, { - /* 00 */ MODRM(0x03B0), + /* 00 */ 0x03A6, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03B1), + /* 03 */ 0x03A7, }, { - /* 00 */ MODRM(0x03AE), + /* 00 */ 0x03A4, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03AF), + /* 03 */ 0x03A5, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0430), + /* 03 */ 0x0426, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x042E), + /* 03 */ 0x0424, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x042F), + /* 03 */ 0x0425, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0432), + /* 03 */ 0x0428, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0433), + /* 03 */ 0x0429, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0431), + /* 03 */ 0x0427, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x043A), + /* 03 */ 0x0430, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03DB), + /* 03 */ 0x03D1, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0363), + /* 03 */ 0x0359, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03B6), + /* 03 */ 0x03AC, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0436), + /* 03 */ 0x042C, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0434), + /* 03 */ 0x042A, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0435), + /* 03 */ 0x042B, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0438), + /* 03 */ 0x042E, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0439), + /* 03 */ 0x042F, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0437), + /* 03 */ 0x042D, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03E4), + /* 03 */ 0x03DA, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0424), + /* 03 */ 0x041A, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0425), + /* 03 */ 0x041B, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x042B), + /* 03 */ 0x0421, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x042A), + /* 03 */ 0x0420, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x041C), + /* 03 */ 0x0412, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x041D), + /* 03 */ 0x0413, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0423), + /* 03 */ 0x0419, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0422), + /* 03 */ 0x0418, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0442), + /* 03 */ 0x0438, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0409), + /* 03 */ 0x03FF, }, { /* 00 */ INVALID, @@ -4200,41 +3969,41 @@ static const VXOpcodeTreeNode optreeMandatory[][4] = /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0023), + /* 03 */ 0x0023, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0021), + /* 03 */ 0x0021, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0022), + /* 03 */ 0x0022, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x001F), + /* 03 */ 0x001F, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0020), + /* 03 */ 0x0020, }, { - /* 00 */ MODRM(0x0346), - /* 01 */ MODRM(0x0086), + /* 00 */ 0x033B, + /* 01 */ 0x0086, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0345), - /* 01 */ MODRM(0x0085), + /* 00 */ 0x033C, + /* 01 */ 0x0085, /* 02 */ INVALID, /* 03 */ INVALID, }, @@ -4242,61 +4011,61 @@ static const VXOpcodeTreeNode optreeMandatory[][4] = /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x04FA), + /* 03 */ 0x04E9, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x04F9), + /* 03 */ 0x04E8, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x04FC), + /* 03 */ 0x04EB, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x04FB), + /* 03 */ 0x04EA, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0035), + /* 03 */ 0x0035, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0034), + /* 03 */ 0x0034, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03D5), + /* 03 */ 0x03CB, }, { - /* 00 */ MODRM(0x03CA), + /* 00 */ 0x03BF, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03C9), + /* 03 */ 0x03C0, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03E9), + /* 03 */ 0x03DF, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03EF), + /* 03 */ 0x03E3, }, { /* 00 */ INVALID, @@ -4308,19 +4077,19 @@ static const VXOpcodeTreeNode optreeMandatory[][4] = /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x00B5), + /* 03 */ 0x00B5, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0412), + /* 03 */ 0x0408, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x02B3), + /* 03 */ 0x02B7, }, { /* 00 */ INVALID, @@ -4332,331 +4101,331 @@ static const VXOpcodeTreeNode optreeMandatory[][4] = /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x00B2), + /* 03 */ 0x00B2, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x00B1), + /* 03 */ 0x00B1, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0386), + /* 03 */ 0x037C, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03D6), + /* 03 */ 0x03CC, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03DF), + /* 03 */ 0x03D5, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03DE), + /* 03 */ 0x03D4, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03E8), + /* 03 */ 0x03DE, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03E7), + /* 03 */ 0x03DD, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0024), + /* 03 */ 0x0024, }, { - /* 00 */ MODRM(0x0066), + /* 00 */ 0x0067, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0062), + /* 00 */ 0x0064, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x005C), + /* 00 */ 0x005C, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x005B), + /* 00 */ 0x005B, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0069), + /* 00 */ 0x005E, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0065), + /* 00 */ 0x0063, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x005D), + /* 00 */ 0x005D, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x005A), + /* 00 */ 0x005A, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0068), + /* 00 */ 0x0069, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0064), + /* 00 */ 0x0066, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0067), + /* 00 */ 0x0068, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0063), + /* 00 */ 0x0065, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0060), + /* 00 */ 0x0061, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x005F), + /* 00 */ 0x0060, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0061), + /* 00 */ 0x0062, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x005E), + /* 00 */ 0x005F, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0361), + /* 00 */ 0x0357, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0360), + /* 03 */ 0x0356, }, { - /* 00 */ MODRM(0x054D), - /* 01 */ MODRM(0x054E), - /* 02 */ MODRM(0x054F), - /* 03 */ MODRM(0x054C), + /* 00 */ 0x0535, + /* 01 */ 0x0536, + /* 02 */ 0x0537, + /* 03 */ 0x0534, }, { - /* 00 */ MODRM(0x04FE), + /* 00 */ 0x04ED, /* 01 */ INVALID, - /* 02 */ MODRM(0x04FF), + /* 02 */ 0x04EE, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x04DA), + /* 00 */ 0x04C9, /* 01 */ INVALID, - /* 02 */ MODRM(0x04DB), + /* 02 */ 0x04CA, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0032), + /* 00 */ 0x0032, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0031), + /* 03 */ 0x0031, }, { - /* 00 */ MODRM(0x0030), + /* 00 */ 0x0030, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x002F), + /* 03 */ 0x002F, }, { - /* 00 */ MODRM(0x03A4), + /* 00 */ 0x039A, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03A3), + /* 03 */ 0x0399, }, { - /* 00 */ MODRM(0x06D6), + /* 00 */ 0x06BE, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x06D5), + /* 03 */ 0x06BD, }, { - /* 00 */ MODRM(0x001A), - /* 01 */ MODRM(0x001B), - /* 02 */ MODRM(0x001C), - /* 03 */ MODRM(0x0019), + /* 00 */ 0x001A, + /* 01 */ 0x001B, + /* 02 */ 0x001C, + /* 03 */ 0x0019, }, { - /* 00 */ MODRM(0x038A), - /* 01 */ MODRM(0x038B), - /* 02 */ MODRM(0x038C), - /* 03 */ MODRM(0x0389), + /* 00 */ 0x0380, + /* 01 */ 0x0381, + /* 02 */ 0x0382, + /* 03 */ 0x037F, }, { - /* 00 */ MODRM(0x008F), - /* 01 */ MODRM(0x0092), - /* 02 */ MODRM(0x0095), - /* 03 */ MODRM(0x008B), + /* 00 */ 0x008F, + /* 01 */ 0x0092, + /* 02 */ 0x0095, + /* 03 */ 0x008B, }, { - /* 00 */ MODRM(0x0088), + /* 00 */ 0x0088, /* 01 */ INVALID, - /* 02 */ MODRM(0x0099), - /* 03 */ MODRM(0x008E), + /* 02 */ 0x0099, + /* 03 */ 0x008E, }, { - /* 00 */ MODRM(0x0565), - /* 01 */ MODRM(0x0566), - /* 02 */ MODRM(0x0567), - /* 03 */ MODRM(0x0564), + /* 00 */ 0x054D, + /* 01 */ 0x054E, + /* 02 */ 0x054F, + /* 03 */ 0x054C, }, { - /* 00 */ MODRM(0x031C), - /* 01 */ MODRM(0x031D), - /* 02 */ MODRM(0x031E), - /* 03 */ MODRM(0x031B), + /* 00 */ 0x0312, + /* 01 */ 0x0313, + /* 02 */ 0x0314, + /* 03 */ 0x0311, }, { - /* 00 */ MODRM(0x00AE), - /* 01 */ MODRM(0x00AF), - /* 02 */ MODRM(0x00B0), - /* 03 */ MODRM(0x00AD), + /* 00 */ 0x00AE, + /* 01 */ 0x00AF, + /* 02 */ 0x00B0, + /* 03 */ 0x00AD, }, { - /* 00 */ MODRM(0x0310), - /* 01 */ MODRM(0x0311), - /* 02 */ MODRM(0x0312), - /* 03 */ MODRM(0x030F), + /* 00 */ 0x030D, + /* 01 */ 0x030E, + /* 02 */ 0x030F, + /* 03 */ 0x030C, }, { - /* 00 */ MODRM(0x04B3), + /* 00 */ 0x04A2, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x04B4), + /* 03 */ 0x04A3, }, { - /* 00 */ MODRM(0x04B8), + /* 00 */ 0x04A7, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x04B9), + /* 03 */ 0x04A8, }, { - /* 00 */ MODRM(0x04B6), + /* 00 */ 0x04A5, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x04B5), + /* 03 */ 0x04A4, }, { - /* 00 */ MODRM(0x03B4), + /* 00 */ 0x03AA, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03B5), + /* 03 */ 0x03AB, }, { - /* 00 */ MODRM(0x03E1), + /* 00 */ 0x03D7, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03E0), + /* 03 */ 0x03D6, }, { - /* 00 */ MODRM(0x03E6), + /* 00 */ 0x03DC, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03E5), + /* 03 */ 0x03DB, }, { - /* 00 */ MODRM(0x03E3), + /* 00 */ 0x03D8, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03E2), + /* 03 */ 0x03D9, }, { - /* 00 */ MODRM(0x03B8), + /* 00 */ 0x03AD, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03B7), + /* 03 */ 0x03AE, }, { - /* 00 */ MODRM(0x04AC), + /* 00 */ 0x049B, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x04AD), + /* 03 */ 0x049C, }, { - /* 00 */ MODRM(0x04B2), + /* 00 */ 0x04A1, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x04B1), + /* 03 */ 0x04A0, }, { - /* 00 */ MODRM(0x04AF), + /* 00 */ 0x049E, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x04AE), + /* 03 */ 0x049D, }, { - /* 00 */ MODRM(0x03B2), + /* 00 */ 0x03A8, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03B3), + /* 03 */ 0x03A9, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x04B7), + /* 03 */ 0x04A6, }, { /* 00 */ INVALID, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x04B0), + /* 03 */ 0x049F, }, { /* 00 */ NODE(VXOpcodeTreeNodeType::OPERAND_SIZE, 0x0002), @@ -4665,94 +4434,52 @@ static const VXOpcodeTreeNode optreeMandatory[][4] = /* 03 */ NODE(VXOpcodeTreeNodeType::OPERAND_SIZE, 0x0003), }, { - /* 00 */ MODRM(0x036A), + /* 00 */ 0x0363, /* 01 */ INVALID, - /* 02 */ MODRM(0x0355), - /* 03 */ MODRM(0x0353), + /* 02 */ 0x034A, + /* 03 */ 0x0348, }, { - /* 00 */ MODRM(0x0471), - /* 01 */ MODRM(0x0470), - /* 02 */ MODRM(0x046F), - /* 03 */ MODRM(0x046E), + /* 00 */ 0x0460, + /* 01 */ 0x045F, + /* 02 */ 0x045E, + /* 03 */ 0x045D, }, { - /* 00 */ MODRM(0x0497), + /* 00 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0004), /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0496), + /* 03 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0005), }, { - /* 00 */ MODRM(0x048A), + /* 00 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0006), /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0489), + /* 03 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0007), }, { - /* 00 */ MODRM(0x0481), + /* 00 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0008), /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0482), + /* 03 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0009), }, { - /* 00 */ MODRM(0x048F), + /* 00 */ 0x03CD, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x048D), + /* 03 */ 0x03CE, }, { - /* 00 */ MODRM(0x0486), + /* 00 */ 0x03D2, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0487), + /* 03 */ 0x03D3, }, { - /* 00 */ MODRM(0x047B), + /* 00 */ 0x03D0, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0478), - }, - { - /* 00 */ MODRM(0x0493), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ MODRM(0x0492), - }, - { - /* 00 */ INVALID, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ MODRM(0x0491), - }, - { - /* 00 */ MODRM(0x0480), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ MODRM(0x047E), - }, - { - /* 00 */ INVALID, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ MODRM(0x047C), - }, - { - /* 00 */ MODRM(0x03D8), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ MODRM(0x03D7), - }, - { - /* 00 */ MODRM(0x03DD), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ MODRM(0x03DC), - }, - { - /* 00 */ MODRM(0x03DA), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ MODRM(0x03D9), + /* 03 */ 0x03CF, }, { /* 00 */ 0x00B3, @@ -4774,51 +4501,27 @@ static const VXOpcodeTreeNode optreeMandatory[][4] = }, { /* 00 */ INVALID, - /* 01 */ MODRM(0x0298), + /* 01 */ 0x029C, /* 02 */ INVALID, - /* 03 */ MODRM(0x0297), + /* 03 */ 0x029B, }, { /* 00 */ INVALID, - /* 01 */ MODRM(0x029B), + /* 01 */ 0x029F, /* 02 */ INVALID, - /* 03 */ MODRM(0x029A), + /* 03 */ 0x029E, }, { /* 00 */ NODE(VXOpcodeTreeNodeType::OPERAND_SIZE, 0x0004), /* 01 */ INVALID, - /* 02 */ MODRM(0x0368), + /* 02 */ 0x035F, /* 03 */ NODE(VXOpcodeTreeNodeType::OPERAND_SIZE, 0x0005), }, { - /* 00 */ MODRM(0x036B), + /* 00 */ 0x0362, /* 01 */ INVALID, - /* 02 */ MODRM(0x0354), - /* 03 */ MODRM(0x0352), - }, - { - /* 00 */ 0x02E3, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x02DA, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x02C7, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x02C5, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, + /* 02 */ 0x034B, + /* 03 */ 0x0349, }, { /* 00 */ 0x02E9, @@ -4827,7 +4530,13 @@ static const VXOpcodeTreeNode optreeMandatory[][4] = /* 03 */ INVALID, }, { - /* 00 */ 0x02E0, + /* 00 */ 0x02E3, + /* 01 */ INVALID, + /* 02 */ INVALID, + /* 03 */ INVALID, + }, + { + /* 00 */ 0x02CB, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, @@ -4839,7 +4548,31 @@ static const VXOpcodeTreeNode optreeMandatory[][4] = /* 03 */ INVALID, }, { - /* 00 */ 0x02C3, + /* 00 */ 0x02D1, + /* 01 */ INVALID, + /* 02 */ INVALID, + /* 03 */ INVALID, + }, + { + /* 00 */ 0x02E0, + /* 01 */ INVALID, + /* 02 */ INVALID, + /* 03 */ INVALID, + }, + { + /* 00 */ 0x02CE, + /* 01 */ INVALID, + /* 02 */ INVALID, + /* 03 */ INVALID, + }, + { + /* 00 */ 0x02C7, + /* 01 */ INVALID, + /* 02 */ INVALID, + /* 03 */ INVALID, + }, + { + /* 00 */ 0x02EE, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, @@ -4851,7 +4584,7 @@ static const VXOpcodeTreeNode optreeMandatory[][4] = /* 03 */ INVALID, }, { - /* 00 */ 0x02DE, + /* 00 */ 0x02EA, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, @@ -4863,139 +4596,133 @@ static const VXOpcodeTreeNode optreeMandatory[][4] = /* 03 */ INVALID, }, { - /* 00 */ 0x02DD, + /* 00 */ 0x02D8, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ 0x02D2, + /* 00 */ 0x02D6, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ 0x02D0, + /* 00 */ 0x02D9, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ 0x02D3, + /* 00 */ 0x02D4, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ 0x02CD, + /* 00 */ 0x0512, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0522), + /* 00 */ 0x050F, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x051E), + /* 00 */ 0x0507, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0518), + /* 00 */ 0x0506, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0517), + /* 00 */ 0x0509, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0525), + /* 00 */ 0x050E, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0521), + /* 00 */ 0x0508, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0519), + /* 00 */ 0x0505, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0516), + /* 00 */ 0x0514, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0524), + /* 00 */ 0x0511, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0520), + /* 00 */ 0x0513, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0523), + /* 00 */ 0x0510, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x051F), + /* 00 */ 0x050C, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x051C), + /* 00 */ 0x050B, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x051B), + /* 00 */ 0x050D, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x051D), + /* 00 */ 0x050A, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x051A), + /* 00 */ 0x04B5, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ 0x04C6, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x0453, + /* 00 */ 0x044A, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, @@ -5007,265 +4734,55 @@ static const VXOpcodeTreeNode optreeMandatory[][4] = /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0044), + /* 00 */ 0x0044, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x053B), + /* 00 */ 0x0524, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x053C), + /* 00 */ 0x0523, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ 0x0320, + /* 00 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x000A), /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ 0x06DA, + /* 00 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x000B), /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ 0x06DB, + /* 00 */ 0x04B6, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ 0x06DC, + /* 00 */ 0x0444, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ 0x06C7, + /* 00 */ 0x04EC, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ 0x06C4, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x06C6, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x06C5, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x06C8, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x04C7, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x044E, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x04FD, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ MODRM(0x004A), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ MODRM(0x0544), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ MODRM(0x0543), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ MODRM(0x0292), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ MODRM(0x0291), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ MODRM(0x02EE), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ MODRM(0x0554), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ MODRM(0x06D8), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ MODRM(0x06D7), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ MODRM(0x0055), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x02FA, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x02F9, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x02F5, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x02F4, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x02F3, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x02F8, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x02F7, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x02F6, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x0313, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x0318, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x0319, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x031A, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x0317, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x0314, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x0315, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x0316, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x052B, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x052A, - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ 0x052D, + /* 00 */ 0x004A, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, @@ -5277,79 +4794,73 @@ static const VXOpcodeTreeNode optreeMandatory[][4] = /* 03 */ INVALID, }, { - /* 00 */ 0x0527, + /* 00 */ 0x052B, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ 0x0526, + /* 00 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x000C), /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ 0x0529, + /* 00 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x000D), /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ 0x0528, + /* 00 */ 0x02A2, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x02A2), + /* 00 */ 0x007C, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x007D), + /* 00 */ 0x007D, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x007C), + /* 00 */ 0x0308, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x030B), + /* 00 */ 0x0048, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0048), + /* 00 */ 0x02F8, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x02FB), + /* 00 */ 0x02FA, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x02FD), + /* 00 */ 0x037B, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0385), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ MODRM(0x0384), + /* 00 */ 0x037A, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, @@ -5357,125 +4868,95 @@ static const VXOpcodeTreeNode optreeMandatory[][4] = { /* 00 */ INVALID, /* 01 */ INVALID, - /* 02 */ MODRM(0x0457), + /* 02 */ 0x044D, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0043), + /* 00 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x000E), /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0049), + /* 00 */ 0x0046, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0047), + /* 00 */ 0x0039, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0045), + /* 00 */ 0x003A, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0046), + /* 00 */ 0x0373, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0039), + /* 00 */ 0x0374, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x003A), + /* 00 */ 0x06A1, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x037D), + /* 00 */ 0x06A0, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x037E), + /* 00 */ 0x0075, + /* 01 */ 0x0077, + /* 02 */ 0x007A, + /* 03 */ 0x0074, + }, + { + /* 00 */ 0x035A, /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x06B9), + /* 00 */ 0x040D, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ INVALID, + /* 03 */ 0x040C, }, { - /* 00 */ MODRM(0x06B8), + /* 00 */ 0x03E4, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ INVALID, + /* 03 */ 0x03E5, }, { - /* 00 */ MODRM(0x0075), - /* 01 */ MODRM(0x0077), - /* 02 */ MODRM(0x007A), - /* 03 */ MODRM(0x0074), - }, - { - /* 00 */ MODRM(0x0364), + /* 00 */ 0x052E, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ INVALID, + /* 03 */ 0x052D, }, { - /* 00 */ MODRM(0x0417), + /* 00 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x000F), /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ MODRM(0x0416), + /* 02 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0010), + /* 03 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0011), }, { - /* 00 */ MODRM(0x03EE), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ MODRM(0x03ED), - }, - { - /* 00 */ MODRM(0x0546), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ MODRM(0x0545), - }, - { - /* 00 */ NODE(VXOpcodeTreeNodeType::OPERAND_SIZE, 0x0006), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x0015), - /* 01 */ INVALID, - /* 02 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x0016), - /* 03 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x0017), - }, - { - /* 00 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x0018), - /* 01 */ INVALID, - /* 02 */ INVALID, - /* 03 */ INVALID, - }, - { - /* 00 */ MODRM(0x04E4), + /* 00 */ NODE(VXOpcodeTreeNodeType::MODRM_REG, 0x0012), /* 01 */ INVALID, /* 02 */ INVALID, /* 03 */ INVALID, @@ -5530,285 +5011,285 @@ static const VXOpcodeTreeNode optreeMandatory[][4] = }, { /* 00 */ INVALID, - /* 01 */ MODRM(0x001E), + /* 01 */ 0x001E, /* 02 */ INVALID, - /* 03 */ MODRM(0x001D), + /* 03 */ 0x001D, }, { - /* 00 */ MODRM(0x0498), + /* 00 */ 0x0487, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0499), + /* 03 */ 0x0488, }, { - /* 00 */ MODRM(0x048E), + /* 00 */ 0x047D, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0490), + /* 03 */ 0x047F, }, { - /* 00 */ MODRM(0x0494), + /* 00 */ 0x0483, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0495), + /* 03 */ 0x0484, }, { - /* 00 */ MODRM(0x03BE), + /* 00 */ 0x03B3, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03BD), + /* 03 */ 0x03B4, }, { - /* 00 */ MODRM(0x0443), + /* 00 */ 0x0439, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0444), + /* 03 */ 0x043A, }, { /* 00 */ INVALID, - /* 01 */ MODRM(0x0351), - /* 02 */ MODRM(0x0370), - /* 03 */ MODRM(0x0369), + /* 01 */ 0x0347, + /* 02 */ 0x0366, + /* 03 */ 0x0361, }, { - /* 00 */ MODRM(0x042D), + /* 00 */ 0x0422, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x042C), + /* 03 */ 0x0423, }, { - /* 00 */ MODRM(0x04A5), + /* 00 */ 0x0494, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x04A4), + /* 03 */ 0x0493, }, { - /* 00 */ MODRM(0x04A7), + /* 00 */ 0x0496, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x04A6), + /* 03 */ 0x0495, }, { - /* 00 */ MODRM(0x0428), + /* 00 */ 0x041E, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0429), + /* 03 */ 0x041F, }, { - /* 00 */ MODRM(0x03CB), + /* 00 */ 0x03C1, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03CC), + /* 03 */ 0x03C2, }, { - /* 00 */ MODRM(0x03C3), + /* 00 */ 0x03BA, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03C4), + /* 03 */ 0x03B9, }, { - /* 00 */ MODRM(0x03C6), + /* 00 */ 0x03BB, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03C5), + /* 03 */ 0x03BC, }, { - /* 00 */ MODRM(0x0420), + /* 00 */ 0x0417, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0421), + /* 03 */ 0x0416, }, { - /* 00 */ MODRM(0x03CE), + /* 00 */ 0x03C3, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03CD), + /* 03 */ 0x03C4, }, { - /* 00 */ MODRM(0x03CF), + /* 00 */ 0x03C5, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03D0), + /* 03 */ 0x03C6, }, { - /* 00 */ MODRM(0x048B), + /* 00 */ 0x047A, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x048C), + /* 03 */ 0x047B, }, { - /* 00 */ MODRM(0x0488), + /* 00 */ 0x0477, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0485), + /* 03 */ 0x0474, }, { - /* 00 */ MODRM(0x03D2), + /* 00 */ 0x03C8, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03D3), + /* 03 */ 0x03C9, }, { - /* 00 */ MODRM(0x043F), + /* 00 */ 0x0434, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x043E), + /* 03 */ 0x0435, }, { - /* 00 */ MODRM(0x0440), + /* 00 */ 0x0436, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0441), + /* 03 */ 0x0437, }, { /* 00 */ INVALID, - /* 01 */ MODRM(0x0089), - /* 02 */ MODRM(0x0087), - /* 03 */ MODRM(0x0097), + /* 01 */ 0x0089, + /* 02 */ 0x0087, + /* 03 */ 0x0097, }, { - /* 00 */ MODRM(0x0367), + /* 00 */ 0x035D, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0362), + /* 03 */ 0x0358, }, { - /* 00 */ MODRM(0x04A0), + /* 00 */ 0x048F, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x04A1), + /* 03 */ 0x0490, }, { - /* 00 */ MODRM(0x04A3), + /* 00 */ 0x0492, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x04A2), + /* 03 */ 0x0491, }, { - /* 00 */ MODRM(0x0426), + /* 00 */ 0x041C, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0427), + /* 03 */ 0x041D, }, { - /* 00 */ MODRM(0x045C), + /* 00 */ 0x0453, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x045D), + /* 03 */ 0x0452, }, { - /* 00 */ MODRM(0x03BF), + /* 00 */ 0x03B6, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03C0), + /* 03 */ 0x03B5, }, { - /* 00 */ MODRM(0x03C2), + /* 00 */ 0x03B8, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03C1), + /* 03 */ 0x03B7, }, { - /* 00 */ MODRM(0x041E), + /* 00 */ 0x0414, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x041F), + /* 03 */ 0x0415, }, { - /* 00 */ MODRM(0x04D2), + /* 00 */ 0x04C1, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x04D3), + /* 03 */ 0x04C2, }, { /* 00 */ INVALID, - /* 01 */ MODRM(0x02ED), + /* 01 */ 0x02F1, /* 02 */ INVALID, /* 03 */ INVALID, }, { - /* 00 */ MODRM(0x0484), + /* 00 */ 0x0472, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0483), + /* 03 */ 0x0471, }, { - /* 00 */ MODRM(0x047A), + /* 00 */ 0x0469, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0479), + /* 03 */ 0x0467, }, { - /* 00 */ MODRM(0x047D), + /* 00 */ 0x046E, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x047F), + /* 03 */ 0x046F, }, { - /* 00 */ MODRM(0x0445), + /* 00 */ 0x043B, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x0446), + /* 03 */ 0x043C, }, { - /* 00 */ MODRM(0x041B), + /* 00 */ 0x0411, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x041A), + /* 03 */ 0x0410, }, { - /* 00 */ MODRM(0x046B), + /* 00 */ 0x045A, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x046A), + /* 03 */ 0x0459, }, { - /* 00 */ MODRM(0x030E), + /* 00 */ 0x030B, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x030D), + /* 03 */ 0x030A, }, { - /* 00 */ MODRM(0x049A), + /* 00 */ 0x0489, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x049B), + /* 03 */ 0x048A, }, { - /* 00 */ MODRM(0x04A9), + /* 00 */ 0x0498, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x04A8), + /* 03 */ 0x0497, }, { - /* 00 */ MODRM(0x049C), + /* 00 */ 0x048B, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x049D), + /* 03 */ 0x048C, }, { - /* 00 */ MODRM(0x049E), + /* 00 */ 0x048D, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x049F), + /* 03 */ 0x048E, }, { - /* 00 */ MODRM(0x03BA), + /* 00 */ 0x03AF, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03B9), + /* 03 */ 0x03B0, }, { - /* 00 */ MODRM(0x03C8), + /* 00 */ 0x03BE, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03C7), + /* 03 */ 0x03BD, }, { - /* 00 */ MODRM(0x03BB), + /* 00 */ 0x03B1, /* 01 */ INVALID, /* 02 */ INVALID, - /* 03 */ MODRM(0x03BC), + /* 03 */ 0x03B2, }, }; @@ -5823,14 +5304,14 @@ static const VXOpcodeTreeNode optreeX87[][64] = /* 05 */ 0x00C5, /* 06 */ 0x00C3, /* 07 */ 0x00C4, - /* 08 */ 0x01CD, - /* 09 */ 0x01CA, - /* 0A */ 0x01CB, - /* 0B */ 0x01D0, - /* 0C */ 0x01D1, - /* 0D */ 0x01CE, - /* 0E */ 0x01CF, - /* 0F */ 0x01DB, + /* 08 */ 0x01CE, + /* 09 */ 0x01CD, + /* 0A */ 0x01D9, + /* 0B */ 0x01DA, + /* 0C */ 0x01DB, + /* 0D */ 0x01D6, + /* 0E */ 0x01D7, + /* 0F */ 0x01D8, /* 10 */ 0x011A, /* 11 */ 0x011C, /* 12 */ 0x011B, @@ -5847,22 +5328,22 @@ static const VXOpcodeTreeNode optreeX87[][64] = /* 1D */ 0x0140, /* 1E */ 0x013F, /* 1F */ 0x0139, - /* 20 */ 0x0224, - /* 21 */ 0x0223, - /* 22 */ 0x0222, - /* 23 */ 0x0225, - /* 24 */ 0x0232, + /* 20 */ 0x022E, + /* 21 */ 0x0226, + /* 22 */ 0x0229, + /* 23 */ 0x0232, + /* 24 */ 0x0231, /* 25 */ 0x022D, - /* 26 */ 0x0228, - /* 27 */ 0x0229, - /* 28 */ 0x0242, - /* 29 */ 0x0241, - /* 2A */ 0x0240, - /* 2B */ 0x0243, - /* 2C */ 0x0246, - /* 2D */ 0x024C, - /* 2E */ 0x024D, - /* 2F */ 0x024A, + /* 26 */ 0x022A, + /* 27 */ 0x0227, + /* 28 */ 0x0246, + /* 29 */ 0x024B, + /* 2A */ 0x024C, + /* 2B */ 0x024A, + /* 2C */ 0x0248, + /* 2D */ 0x0249, + /* 2E */ 0x0250, + /* 2F */ 0x0251, /* 30 */ 0x0161, /* 31 */ 0x0162, /* 32 */ 0x0155, @@ -5881,23 +5362,23 @@ static const VXOpcodeTreeNode optreeX87[][64] = /* 3F */ 0x0175, }, { - /* 00 */ 0x01C0, - /* 01 */ 0x01BF, - /* 02 */ 0x01BB, - /* 03 */ 0x01B7, - /* 04 */ 0x01B6, - /* 05 */ 0x01B8, - /* 06 */ 0x01BA, - /* 07 */ 0x01B9, - /* 08 */ 0x027E, - /* 09 */ 0x027D, - /* 0A */ 0x0280, - /* 0B */ 0x027F, - /* 0C */ 0x027A, - /* 0D */ 0x0279, - /* 0E */ 0x027C, - /* 0F */ 0x027B, - /* 10 */ 0x01E5, + /* 00 */ 0x01BD, + /* 01 */ 0x01C0, + /* 02 */ 0x01BF, + /* 03 */ 0x01BE, + /* 04 */ 0x01B7, + /* 05 */ 0x01B6, + /* 06 */ 0x01B9, + /* 07 */ 0x01B8, + /* 08 */ 0x0281, + /* 09 */ 0x0282, + /* 0A */ 0x0283, + /* 0B */ 0x0280, + /* 0C */ 0x027D, + /* 0D */ 0x027E, + /* 0E */ 0x027F, + /* 0F */ 0x0284, + /* 10 */ 0x01E7, /* 11 */ INVALID, /* 12 */ INVALID, /* 13 */ INVALID, @@ -5905,20 +5386,20 @@ static const VXOpcodeTreeNode optreeX87[][64] = /* 15 */ INVALID, /* 16 */ INVALID, /* 17 */ INVALID, - /* 18 */ 0x020F, - /* 19 */ 0x020E, - /* 1A */ 0x0211, - /* 1B */ 0x0210, - /* 1C */ 0x020B, - /* 1D */ 0x020A, - /* 1E */ 0x020D, - /* 1F */ 0x020C, + /* 18 */ 0x0213, + /* 19 */ 0x0212, + /* 1A */ 0x0215, + /* 1B */ 0x0214, + /* 1C */ 0x020F, + /* 1D */ 0x020E, + /* 1E */ 0x0211, + /* 1F */ 0x0210, /* 20 */ 0x00D4, /* 21 */ 0x00B7, /* 22 */ INVALID, /* 23 */ INVALID, - /* 24 */ 0x0256, - /* 25 */ 0x0278, + /* 24 */ 0x025A, + /* 25 */ 0x027C, /* 26 */ INVALID, /* 27 */ INVALID, /* 28 */ 0x01C1, @@ -5930,20 +5411,20 @@ static const VXOpcodeTreeNode optreeX87[][64] = /* 2E */ 0x01C9, /* 2F */ INVALID, /* 30 */ 0x00B6, - /* 31 */ 0x0294, - /* 32 */ 0x01EE, - /* 33 */ 0x01EB, - /* 34 */ 0x0293, - /* 35 */ 0x01ED, + /* 31 */ 0x0298, + /* 32 */ 0x01F1, + /* 33 */ 0x01EE, + /* 34 */ 0x0297, + /* 35 */ 0x01F0, /* 36 */ 0x0154, /* 37 */ 0x01A9, - /* 38 */ 0x01EC, - /* 39 */ 0x0295, - /* 3A */ 0x01F4, - /* 3B */ 0x01F3, - /* 3C */ 0x01EF, - /* 3D */ 0x01F1, - /* 3E */ 0x01F2, + /* 38 */ 0x01EF, + /* 39 */ 0x0299, + /* 3A */ 0x01F8, + /* 3B */ 0x01F7, + /* 3C */ 0x01F2, + /* 3D */ 0x01F5, + /* 3E */ 0x01F6, /* 3F */ 0x0153, }, { @@ -5988,7 +5469,7 @@ static const VXOpcodeTreeNode optreeX87[][64] = /* 26 */ INVALID, /* 27 */ INVALID, /* 28 */ INVALID, - /* 29 */ 0x0277, + /* 29 */ 0x027B, /* 2A */ INVALID, /* 2B */ INVALID, /* 2C */ INVALID, @@ -6045,22 +5526,22 @@ static const VXOpcodeTreeNode optreeX87[][64] = /* 1D */ 0x0106, /* 1E */ 0x0109, /* 1F */ 0x0108, - /* 20 */ INVALID, - /* 21 */ INVALID, + /* 20 */ 0x01E5, + /* 21 */ 0x01E4, /* 22 */ 0x00D5, - /* 23 */ 0x01E4, - /* 24 */ INVALID, - /* 25 */ INVALID, + /* 23 */ 0x01E6, + /* 24 */ 0x01E9, + /* 25 */ 0x01F4, /* 26 */ INVALID, /* 27 */ INVALID, - /* 28 */ 0x0265, - /* 29 */ 0x0266, - /* 2A */ 0x025F, - /* 2B */ 0x0260, + /* 28 */ 0x0269, + /* 29 */ 0x026A, + /* 2A */ 0x0265, + /* 2B */ 0x0264, /* 2C */ 0x0263, - /* 2D */ 0x0264, - /* 2E */ 0x0261, - /* 2F */ 0x0262, + /* 2D */ 0x0268, + /* 2E */ 0x0267, + /* 2F */ 0x0266, /* 30 */ 0x0129, /* 31 */ 0x0128, /* 32 */ 0x012B, @@ -6087,14 +5568,14 @@ static const VXOpcodeTreeNode optreeX87[][64] = /* 05 */ 0x00C7, /* 06 */ 0x00BE, /* 07 */ 0x00BD, - /* 08 */ 0x01D6, - /* 09 */ 0x01D3, - /* 0A */ 0x01D4, - /* 0B */ 0x01D9, - /* 0C */ 0x01DA, - /* 0D */ 0x01D7, - /* 0E */ 0x01D8, - /* 0F */ 0x01D2, + /* 08 */ 0x01D1, + /* 09 */ 0x01D0, + /* 0A */ 0x01D5, + /* 0B */ 0x01D4, + /* 0C */ 0x01D3, + /* 0D */ 0x01CC, + /* 0E */ 0x01CB, + /* 0F */ 0x01CA, /* 10 */ 0x0125, /* 11 */ 0x0124, /* 12 */ 0x0127, @@ -6111,22 +5592,22 @@ static const VXOpcodeTreeNode optreeX87[][64] = /* 1D */ 0x0147, /* 1E */ 0x0146, /* 1F */ 0x0149, - /* 20 */ 0x0247, - /* 21 */ 0x0248, - /* 22 */ 0x0249, - /* 23 */ 0x023F, - /* 24 */ 0x023C, - /* 25 */ 0x023E, - /* 26 */ 0x023D, + /* 20 */ 0x024F, + /* 21 */ 0x0247, + /* 22 */ 0x0241, + /* 23 */ 0x0242, + /* 24 */ 0x0240, + /* 25 */ 0x024E, + /* 26 */ 0x024D, /* 27 */ 0x0244, - /* 28 */ 0x022A, - /* 29 */ 0x022F, - /* 2A */ 0x0226, - /* 2B */ 0x0227, - /* 2C */ 0x0231, + /* 28 */ 0x0228, + /* 29 */ 0x0235, + /* 2A */ 0x0234, + /* 2B */ 0x0237, + /* 2C */ 0x0236, /* 2D */ 0x0233, - /* 2E */ 0x022E, - /* 2F */ 0x0230, + /* 2E */ 0x0230, + /* 2F */ 0x022F, /* 30 */ 0x017B, /* 31 */ 0x0178, /* 32 */ 0x0179, @@ -6145,54 +5626,54 @@ static const VXOpcodeTreeNode optreeX87[][64] = /* 3F */ 0x0165, }, { - /* 00 */ 0x0191, + /* 00 */ 0x018F, /* 01 */ 0x018E, - /* 02 */ 0x018F, + /* 02 */ 0x0191, /* 03 */ 0x0190, - /* 04 */ 0x018A, - /* 05 */ 0x018B, + /* 04 */ 0x018B, + /* 05 */ 0x018A, /* 06 */ 0x018D, /* 07 */ 0x018C, - /* 08 */ 0x0287, - /* 09 */ 0x0284, - /* 0A */ 0x0282, - /* 0B */ 0x0281, - /* 0C */ 0x0288, - /* 0D */ 0x0283, - /* 0E */ 0x0285, - /* 0F */ 0x0286, - /* 10 */ 0x01FB, - /* 11 */ 0x01FE, - /* 12 */ 0x01FD, + /* 08 */ 0x028A, + /* 09 */ 0x0289, + /* 0A */ 0x028C, + /* 0B */ 0x028B, + /* 0C */ 0x0286, + /* 0D */ 0x0285, + /* 0E */ 0x0288, + /* 0F */ 0x0287, + /* 10 */ 0x0200, + /* 11 */ 0x0202, + /* 12 */ 0x0201, /* 13 */ 0x01FA, - /* 14 */ 0x01F7, - /* 15 */ 0x01F6, - /* 16 */ 0x01F9, - /* 17 */ 0x01F8, - /* 18 */ 0x0207, - /* 19 */ 0x0209, + /* 14 */ 0x01F9, + /* 15 */ 0x01FB, + /* 16 */ 0x01FD, + /* 17 */ 0x01FC, + /* 18 */ 0x020D, + /* 19 */ 0x020C, /* 1A */ 0x0208, - /* 1B */ 0x0201, - /* 1C */ 0x0200, - /* 1D */ 0x0202, - /* 1E */ 0x0204, - /* 1F */ 0x0203, - /* 20 */ 0x025E, - /* 21 */ 0x025B, - /* 22 */ 0x025C, - /* 23 */ 0x025D, - /* 24 */ 0x0258, - /* 25 */ 0x0257, - /* 26 */ 0x025A, - /* 27 */ 0x0259, - /* 28 */ 0x0275, - /* 29 */ 0x0276, - /* 2A */ 0x0273, - /* 2B */ 0x0274, - /* 2C */ 0x0270, - /* 2D */ 0x026F, - /* 2E */ 0x0272, - /* 2F */ 0x0271, + /* 1B */ 0x0204, + /* 1C */ 0x0203, + /* 1D */ 0x0205, + /* 1E */ 0x0207, + /* 1F */ 0x0206, + /* 20 */ 0x025D, + /* 21 */ 0x025C, + /* 22 */ 0x025B, + /* 23 */ 0x025E, + /* 24 */ 0x0261, + /* 25 */ 0x0262, + /* 26 */ 0x025F, + /* 27 */ 0x0260, + /* 28 */ 0x0278, + /* 29 */ 0x0277, + /* 2A */ 0x027A, + /* 2B */ 0x0279, + /* 2C */ 0x0274, + /* 2D */ 0x0273, + /* 2E */ 0x0276, + /* 2F */ 0x0275, /* 30 */ INVALID, /* 31 */ INVALID, /* 32 */ INVALID, @@ -6243,22 +5724,22 @@ static const VXOpcodeTreeNode optreeX87[][64] = /* 1D */ INVALID, /* 1E */ INVALID, /* 1F */ INVALID, - /* 20 */ 0x0252, - /* 21 */ 0x0253, - /* 22 */ 0x0254, - /* 23 */ 0x0251, - /* 24 */ 0x024E, - /* 25 */ 0x024F, - /* 26 */ 0x0250, - /* 27 */ 0x0255, - /* 28 */ 0x0238, - /* 29 */ 0x023B, - /* 2A */ 0x023A, - /* 2B */ 0x0234, - /* 2C */ 0x0237, - /* 2D */ 0x0236, - /* 2E */ 0x0239, - /* 2F */ 0x0235, + /* 20 */ 0x0258, + /* 21 */ 0x0259, + /* 22 */ 0x0256, + /* 23 */ 0x0257, + /* 24 */ 0x0253, + /* 25 */ 0x0252, + /* 26 */ 0x0255, + /* 27 */ 0x0254, + /* 28 */ 0x023B, + /* 29 */ 0x023D, + /* 2A */ 0x023C, + /* 2B */ 0x0239, + /* 2C */ 0x0238, + /* 2D */ 0x023A, + /* 2E */ 0x023E, + /* 2F */ 0x023F, /* 30 */ 0x0186, /* 31 */ 0x0185, /* 32 */ 0x0188, @@ -6277,39 +5758,39 @@ static const VXOpcodeTreeNode optreeX87[][64] = /* 3F */ 0x0169, }, { - /* 00 */ 0x0195, + /* 00 */ 0x0199, /* 01 */ 0x0196, /* 02 */ 0x0197, - /* 03 */ 0x0192, + /* 03 */ 0x0198, /* 04 */ 0x0193, - /* 05 */ 0x0194, - /* 06 */ 0x0199, - /* 07 */ 0x0198, - /* 08 */ 0x028B, - /* 09 */ 0x028A, - /* 0A */ 0x028C, + /* 05 */ 0x0192, + /* 06 */ 0x0195, + /* 07 */ 0x0194, + /* 08 */ 0x028F, + /* 09 */ 0x0290, + /* 0A */ 0x028D, /* 0B */ 0x028E, - /* 0C */ 0x028D, - /* 0D */ 0x0289, - /* 0E */ 0x0290, - /* 0F */ 0x028F, - /* 10 */ 0x0217, - /* 11 */ 0x0216, - /* 12 */ 0x0219, - /* 13 */ 0x0218, - /* 14 */ 0x0213, - /* 15 */ 0x0212, - /* 16 */ 0x0215, - /* 17 */ 0x0214, - /* 18 */ 0x021C, - /* 19 */ 0x021D, - /* 1A */ 0x021A, - /* 1B */ 0x021B, - /* 1C */ 0x0220, - /* 1D */ 0x0221, - /* 1E */ 0x021E, - /* 1F */ 0x021F, - /* 20 */ 0x01E9, + /* 0C */ 0x0293, + /* 0D */ 0x0294, + /* 0E */ 0x0291, + /* 0F */ 0x0292, + /* 10 */ 0x021B, + /* 11 */ 0x021A, + /* 12 */ 0x021D, + /* 13 */ 0x021C, + /* 14 */ 0x0217, + /* 15 */ 0x0216, + /* 16 */ 0x0219, + /* 17 */ 0x0218, + /* 18 */ 0x0220, + /* 19 */ 0x0221, + /* 1A */ 0x021E, + /* 1B */ 0x021F, + /* 1C */ 0x0224, + /* 1D */ 0x0225, + /* 1E */ 0x0222, + /* 1F */ 0x0223, + /* 20 */ 0x01EC, /* 21 */ INVALID, /* 22 */ INVALID, /* 23 */ INVALID, @@ -6317,14 +5798,14 @@ static const VXOpcodeTreeNode optreeX87[][64] = /* 25 */ INVALID, /* 26 */ INVALID, /* 27 */ INVALID, - /* 28 */ 0x026D, - /* 29 */ 0x026E, - /* 2A */ 0x0269, - /* 2B */ 0x0268, - /* 2C */ 0x0267, - /* 2D */ 0x026C, - /* 2E */ 0x026B, - /* 2F */ 0x026A, + /* 28 */ 0x0271, + /* 29 */ 0x0272, + /* 2A */ 0x026D, + /* 2B */ 0x026C, + /* 2C */ 0x026B, + /* 2D */ 0x0270, + /* 2E */ 0x026F, + /* 2F */ 0x026E, /* 30 */ 0x0136, /* 31 */ 0x0137, /* 32 */ 0x0133, @@ -6347,48 +5828,48 @@ static const VXOpcodeTreeNode optreeX87[][64] = static const VXOpcodeTreeNode optreeAddressSize[][3] = { { - /* 00 */ 0x02CB, - /* 01 */ 0x02CC, - /* 02 */ 0x02E6, + /* 00 */ 0x02CF, + /* 01 */ 0x02D2, + /* 02 */ 0x02EC, }, }; static const VXOpcodeTreeNode optreeOperandSize[][3] = { { - /* 00 */ MODRM(0x03EB), - /* 01 */ MODRM(0x03EA), - /* 02 */ MODRM(0x03EC), + /* 00 */ 0x03E0, + /* 01 */ 0x03E1, + /* 02 */ 0x03E2, }, { - /* 00 */ MODRM(0x0414), - /* 01 */ MODRM(0x0413), - /* 02 */ MODRM(0x0415), + /* 00 */ 0x0409, + /* 01 */ 0x040A, + /* 02 */ 0x040B, }, { - /* 00 */ MODRM(0x0347), - /* 01 */ MODRM(0x034C), - /* 02 */ MODRM(0x036C), + /* 00 */ 0x033D, + /* 01 */ 0x0343, + /* 02 */ 0x035E, }, { - /* 00 */ MODRM(0x034D), - /* 01 */ MODRM(0x034E), - /* 02 */ MODRM(0x036F), + /* 00 */ 0x0341, + /* 01 */ 0x0342, + /* 02 */ 0x0364, }, { - /* 00 */ MODRM(0x034B), - /* 01 */ MODRM(0x0348), - /* 02 */ MODRM(0x036D), + /* 00 */ 0x0344, + /* 01 */ 0x033E, + /* 02 */ 0x0365, }, { - /* 00 */ MODRM(0x0349), - /* 01 */ MODRM(0x034A), - /* 02 */ MODRM(0x036E), + /* 00 */ 0x0340, + /* 01 */ 0x033F, + /* 02 */ 0x0360, }, { - /* 00 */ MODRM(0x007F), - /* 01 */ MODRM(0x0080), - /* 02 */ MODRM(0x007E), + /* 00 */ 0x007F, + /* 01 */ 0x0080, + /* 02 */ 0x007E, }, { /* 00 */ NODE(VXOpcodeTreeNodeType::MODE, 0x000F), @@ -6401,13 +5882,13 @@ static const VXOpcodeTreeNode optreeOperandSize[][3] = /* 02 */ INVALID, }, { - /* 00 */ 0x02B4, - /* 01 */ 0x02B2, + /* 00 */ 0x02B8, + /* 01 */ 0x02B6, /* 02 */ INVALID, }, { - /* 00 */ 0x03AB, - /* 01 */ 0x03AA, + /* 00 */ 0x03A1, + /* 01 */ 0x03A0, /* 02 */ INVALID, }, { @@ -6431,9 +5912,9 @@ static const VXOpcodeTreeNode optreeOperandSize[][3] = /* 02 */ NODE(VXOpcodeTreeNodeType::MODE, 0x0023), }, { - /* 00 */ 0x037C, - /* 01 */ 0x0373, - /* 02 */ 0x0379, + /* 00 */ 0x0372, + /* 01 */ 0x0369, + /* 02 */ 0x036F, }, { /* 00 */ 0x007B, @@ -6441,29 +5922,29 @@ static const VXOpcodeTreeNode optreeOperandSize[][3] = /* 02 */ 0x0079, }, { - /* 00 */ 0x0558, - /* 01 */ 0x0556, - /* 02 */ 0x0557, + /* 00 */ 0x0540, + /* 01 */ 0x053E, + /* 02 */ 0x053F, }, { - /* 00 */ 0x0306, - /* 01 */ 0x0304, - /* 02 */ 0x0305, + /* 00 */ 0x0303, + /* 01 */ 0x0301, + /* 02 */ 0x0302, }, { - /* 00 */ 0x0515, - /* 01 */ 0x0513, - /* 02 */ 0x0514, + /* 00 */ 0x0504, + /* 01 */ 0x0502, + /* 02 */ 0x0503, }, { - /* 00 */ MODRM(0x05D4), - /* 01 */ MODRM(0x05D1), - /* 02 */ MODRM(0x05ED), + /* 00 */ 0x05BB, + /* 01 */ 0x05BA, + /* 02 */ 0x05D5, }, { - /* 00 */ MODRM(0x05D2), - /* 01 */ MODRM(0x05D3), - /* 02 */ MODRM(0x05EB), + /* 00 */ 0x05B9, + /* 01 */ 0x05BC, + /* 02 */ 0x05D6, }, { /* 00 */ NODE(VXOpcodeTreeNodeType::VEXW, 0x000E), @@ -6471,32 +5952,32 @@ static const VXOpcodeTreeNode optreeOperandSize[][3] = /* 02 */ NODE(VXOpcodeTreeNodeType::VEXW, 0x0010), }, { - /* 00 */ 0x02C2, - /* 01 */ 0x02C0, - /* 02 */ 0x02C1, + /* 00 */ 0x02C6, + /* 01 */ 0x02C4, + /* 02 */ 0x02C5, }, }; static const VXOpcodeTreeNode optreeMode[][2] = { { - /* 00 */ 0x04BB, + /* 00 */ 0x04AA, /* 01 */ INVALID, }, { - /* 00 */ 0x044F, + /* 00 */ 0x0445, /* 01 */ INVALID, }, { - /* 00 */ 0x04BE, + /* 00 */ 0x04AD, /* 01 */ INVALID, }, { - /* 00 */ 0x056A, + /* 00 */ 0x0553, /* 01 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x000D), }, { - /* 00 */ 0x056D, + /* 00 */ 0x0555, /* 01 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x000E), }, { @@ -6508,19 +5989,19 @@ static const VXOpcodeTreeNode optreeMode[][2] = /* 01 */ NODE(VXOpcodeTreeNodeType::VENDOR, 0x0012), }, { - /* 00 */ 0x04BD, + /* 00 */ 0x04AC, /* 01 */ INVALID, }, { - /* 00 */ 0x0450, + /* 00 */ 0x0446, /* 01 */ INVALID, }, { - /* 00 */ 0x04BA, + /* 00 */ 0x04A9, /* 01 */ INVALID, }, { - /* 00 */ 0x044D, + /* 00 */ 0x0443, /* 01 */ INVALID, }, { @@ -6540,59 +6021,59 @@ static const VXOpcodeTreeNode optreeMode[][2] = /* 01 */ INVALID, }, { - /* 00 */ 0x04CB, + /* 00 */ 0x04BA, /* 01 */ INVALID, }, { - /* 00 */ 0x04CC, + /* 00 */ 0x04BB, /* 01 */ INVALID, }, { - /* 00 */ 0x0455, + /* 00 */ 0x044B, /* 01 */ INVALID, }, { - /* 00 */ 0x0456, + /* 00 */ 0x044C, /* 01 */ INVALID, }, { - /* 00 */ MODRM(0x0038), + /* 00 */ 0x0038, /* 01 */ INVALID, }, { - /* 00 */ MODRM(0x0033), - /* 01 */ MODRM(0x037F), + /* 00 */ 0x0033, + /* 01 */ 0x0375, }, { - /* 00 */ MODRM(0x0011), + /* 00 */ 0x0011, /* 01 */ INVALID, }, { - /* 00 */ MODRM(0x039D), + /* 00 */ 0x0398, /* 01 */ INVALID, }, { - /* 00 */ MODRM(0x0007), + /* 00 */ 0x0007, /* 01 */ INVALID, }, { - /* 00 */ MODRM(0x0508), + /* 00 */ 0x04FC, /* 01 */ INVALID, }, { - /* 00 */ MODRM(0x002A), + /* 00 */ 0x002A, /* 01 */ INVALID, }, { - /* 00 */ MODRM(0x055F), + /* 00 */ 0x0546, /* 01 */ INVALID, }, { - /* 00 */ MODRM(0x06CB), + /* 00 */ 0x06B3, /* 01 */ INVALID, }, { - /* 00 */ MODRM(0x0072), + /* 00 */ 0x0073, /* 01 */ INVALID, }, { @@ -6600,31 +6081,31 @@ static const VXOpcodeTreeNode optreeMode[][2] = /* 01 */ INVALID, }, { - /* 00 */ 0x04D1, - /* 01 */ 0x04D0, + /* 00 */ 0x04C0, + /* 01 */ 0x04BF, }, { - /* 00 */ 0x04CD, - /* 01 */ 0x04CF, + /* 00 */ 0x04BC, + /* 01 */ 0x04BE, }, { /* 00 */ INVALID, - /* 01 */ 0x04CE, + /* 01 */ 0x04BD, }, { - /* 00 */ 0x045B, + /* 00 */ 0x0451, /* 01 */ INVALID, }, { - /* 00 */ 0x0458, - /* 01 */ 0x045A, + /* 00 */ 0x044E, + /* 01 */ 0x0450, }, { /* 00 */ INVALID, - /* 01 */ 0x0459, + /* 01 */ 0x044F, }, { - /* 00 */ MODRM(0x02F2), + /* 00 */ 0x02F6, /* 01 */ INVALID, }, { @@ -6632,11 +6113,11 @@ static const VXOpcodeTreeNode optreeMode[][2] = /* 01 */ NODE(VXOpcodeTreeNodeType::VEXW, 0x0015), }, { - /* 00 */ MODRM(0x02EF), + /* 00 */ 0x02F3, /* 01 */ INVALID, }, { - /* 00 */ 0x02B8, + /* 00 */ 0x02BC, /* 01 */ INVALID, }, { @@ -6648,16 +6129,16 @@ static const VXOpcodeTreeNode optreeMode[][2] = /* 01 */ INVALID, }, { - /* 00 */ 0x0501, + /* 00 */ 0x04F0, /* 01 */ INVALID, }, { - /* 00 */ 0x02D9, + /* 00 */ 0x02DF, /* 01 */ INVALID, }, { - /* 00 */ MODRM(0x004B), - /* 01 */ MODRM(0x004C), + /* 00 */ 0x004D, + /* 01 */ 0x004B, }, }; @@ -6665,38 +6146,38 @@ static const VXOpcodeTreeNode optreeVendor[][2] = { { /* 00 */ INVALID, - /* 01 */ 0x05C4, + /* 01 */ 0x05AC, }, { /* 00 */ INVALID, - /* 01 */ 0x05CA, + /* 01 */ 0x05B2, }, { /* 00 */ INVALID, - /* 01 */ 0x0603, + /* 01 */ 0x05EB, }, { /* 00 */ INVALID, - /* 01 */ 0x060B, + /* 01 */ 0x05F3, }, { - /* 00 */ 0x0604, + /* 00 */ 0x05EC, /* 01 */ INVALID, }, { - /* 00 */ 0x05CC, + /* 00 */ 0x05B4, /* 01 */ INVALID, }, { - /* 00 */ 0x05CB, + /* 00 */ 0x05B3, /* 01 */ INVALID, }, { - /* 00 */ 0x0605, + /* 00 */ 0x05ED, /* 01 */ INVALID, }, { - /* 00 */ 0x0552, + /* 00 */ 0x053A, /* 01 */ INVALID, }, { @@ -6704,64 +6185,64 @@ static const VXOpcodeTreeNode optreeVendor[][2] = /* 01 */ INVALID, }, { - /* 00 */ 0x0548, + /* 00 */ 0x0530, /* 01 */ INVALID, }, { - /* 00 */ 0x02BD, + /* 00 */ 0x02C1, /* 01 */ INVALID, }, { - /* 00 */ 0x04E6, + /* 00 */ 0x04D5, /* 01 */ INVALID, }, { /* 00 */ INVALID, - /* 01 */ 0x056B, + /* 01 */ 0x0552, }, { /* 00 */ INVALID, - /* 01 */ 0x056C, + /* 01 */ 0x0554, }, { /* 00 */ INVALID, - /* 01 */ MODRM(0x02BA), + /* 01 */ 0x02BE, }, { /* 00 */ INVALID, - /* 01 */ MODRM(0x02BB), + /* 01 */ 0x02BF, }, { /* 00 */ INVALID, - /* 01 */ MODRM(0x02BF), + /* 01 */ 0x02C2, }, { /* 00 */ INVALID, - /* 01 */ MODRM(0x02BE), + /* 01 */ 0x02C3, }, { /* 00 */ INVALID, - /* 01 */ MODRM(0x0602), + /* 01 */ 0x05EA, }, { /* 00 */ INVALID, - /* 01 */ MODRM(0x060A), + /* 01 */ 0x05F2, }, { /* 00 */ INVALID, - /* 01 */ MODRM(0x0600), + /* 01 */ 0x05E8, }, { /* 00 */ INVALID, - /* 01 */ MODRM(0x060C), + /* 01 */ 0x05E9, }, { /* 00 */ INVALID, - /* 01 */ MODRM(0x05C5), + /* 01 */ 0x05F4, }, { /* 00 */ INVALID, - /* 01 */ MODRM(0x0601), + /* 01 */ 0x05AD, }, }; @@ -6780,8 +6261,8 @@ static const VXOpcodeTreeNode optree3dnow[][256] = /* 09 */ INVALID, /* 0A */ INVALID, /* 0B */ INVALID, - /* 0C */ MODRM(0x0411), - /* 0D */ MODRM(0x0410), + /* 0C */ 0x0407, + /* 0D */ 0x0406, /* 0E */ INVALID, /* 0F */ INVALID, /* 10 */ INVALID, @@ -6796,8 +6277,8 @@ static const VXOpcodeTreeNode optree3dnow[][256] = /* 19 */ INVALID, /* 1A */ INVALID, /* 1B */ INVALID, - /* 1C */ MODRM(0x03F1), - /* 1D */ MODRM(0x03F0), + /* 1C */ 0x03E7, + /* 1D */ 0x03E6, /* 1E */ INVALID, /* 1F */ INVALID, /* 20 */ INVALID, @@ -6906,60 +6387,60 @@ static const VXOpcodeTreeNode optree3dnow[][256] = /* 87 */ INVALID, /* 88 */ INVALID, /* 89 */ INVALID, - /* 8A */ MODRM(0x03FA), + /* 8A */ 0x03F0, /* 8B */ INVALID, /* 8C */ INVALID, /* 8D */ INVALID, - /* 8E */ MODRM(0x03FB), + /* 8E */ 0x03F1, /* 8F */ INVALID, - /* 90 */ MODRM(0x03F5), + /* 90 */ 0x03EB, /* 91 */ INVALID, /* 92 */ INVALID, /* 93 */ INVALID, - /* 94 */ MODRM(0x03F8), + /* 94 */ 0x03EE, /* 95 */ INVALID, - /* 96 */ MODRM(0x03FC), - /* 97 */ MODRM(0x0400), + /* 96 */ 0x03F2, + /* 97 */ 0x03F6, /* 98 */ INVALID, /* 99 */ INVALID, - /* 9A */ MODRM(0x0401), + /* 9A */ 0x03F7, /* 9B */ INVALID, /* 9C */ INVALID, /* 9D */ INVALID, - /* 9E */ MODRM(0x03F3), + /* 9E */ 0x03E9, /* 9F */ INVALID, - /* A0 */ MODRM(0x03F6), + /* A0 */ 0x03EC, /* A1 */ INVALID, /* A2 */ INVALID, /* A3 */ INVALID, - /* A4 */ MODRM(0x03F7), + /* A4 */ 0x03ED, /* A5 */ INVALID, - /* A6 */ MODRM(0x03FD), - /* A7 */ MODRM(0x03FF), + /* A6 */ 0x03F3, + /* A7 */ 0x03F5, /* A8 */ INVALID, /* A9 */ INVALID, - /* AA */ MODRM(0x0402), + /* AA */ 0x03F8, /* AB */ INVALID, /* AC */ INVALID, /* AD */ INVALID, - /* AE */ MODRM(0x03F2), + /* AE */ 0x03E8, /* AF */ INVALID, - /* B0 */ MODRM(0x03F4), + /* B0 */ 0x03EA, /* B1 */ INVALID, /* B2 */ INVALID, /* B3 */ INVALID, - /* B4 */ MODRM(0x03F9), + /* B4 */ 0x03EF, /* B5 */ INVALID, - /* B6 */ MODRM(0x03FE), - /* B7 */ MODRM(0x043D), + /* B6 */ 0x03F4, + /* B7 */ 0x0433, /* B8 */ INVALID, /* B9 */ INVALID, /* BA */ INVALID, - /* BB */ MODRM(0x04AA), + /* BB */ 0x0499, /* BC */ INVALID, /* BD */ INVALID, /* BE */ INVALID, - /* BF */ MODRM(0x03D1), + /* BF */ 0x03C7, /* C0 */ INVALID, /* C1 */ INVALID, /* C2 */ INVALID, @@ -7070,23 +6551,23 @@ static const VXOpcodeTreeNode optreeVex[][16] = static const VXOpcodeTreeNode optreeVexW[][2] = { { - /* 00 */ MODRM(0x0636), + /* 00 */ 0x061D, /* 01 */ INVALID, }, { - /* 00 */ MODRM(0x0634), + /* 00 */ 0x061C, /* 01 */ INVALID, }, { - /* 00 */ MODRM(0x06AA), + /* 00 */ 0x0692, /* 01 */ INVALID, }, { - /* 00 */ MODRM(0x06A9), + /* 00 */ 0x0691, /* 01 */ INVALID, }, { - /* 00 */ MODRM(0x0593), + /* 00 */ 0x057B, /* 01 */ INVALID, }, { @@ -7094,27 +6575,27 @@ static const VXOpcodeTreeNode optreeVexW[][2] = /* 01 */ INVALID, }, { - /* 00 */ MODRM(0x05BE), + /* 00 */ 0x05A6, /* 01 */ INVALID, }, { - /* 00 */ MODRM(0x05BD), + /* 00 */ 0x05A5, /* 01 */ INVALID, }, { - /* 00 */ MODRM(0x05BF), + /* 00 */ 0x05A7, /* 01 */ INVALID, }, { - /* 00 */ MODRM(0x05BC), + /* 00 */ 0x05A4, /* 01 */ INVALID, }, { - /* 00 */ MODRM(0x0635), + /* 00 */ 0x061E, /* 01 */ INVALID, }, { - /* 00 */ MODRM(0x0633), + /* 00 */ 0x061B, /* 01 */ INVALID, }, { @@ -7122,20 +6603,20 @@ static const VXOpcodeTreeNode optreeVexW[][2] = /* 01 */ INVALID, }, { - /* 00 */ MODRM(0x0637), + /* 00 */ 0x061F, /* 01 */ INVALID, }, { - /* 00 */ MODRM(0x0639), + /* 00 */ 0x0620, /* 01 */ INVALID, }, { - /* 00 */ MODRM(0x0638), + /* 00 */ 0x0621, /* 01 */ INVALID, }, { /* 00 */ INVALID, - /* 01 */ MODRM(0x063A), + /* 01 */ 0x0622, }, { /* 00 */ NODE(VXOpcodeTreeNodeType::VEXL, 0x000A), @@ -7158,15 +6639,15 @@ static const VXOpcodeTreeNode optreeVexW[][2] = /* 01 */ NODE(VXOpcodeTreeNodeType::VEXL, 0x000F), }, { - /* 00 */ MODRM(0x0591), + /* 00 */ 0x0579, /* 01 */ INVALID, }, { - /* 00 */ MODRM(0x0590), + /* 00 */ 0x0578, /* 01 */ INVALID, }, { - /* 00 */ MODRM(0x0623), + /* 00 */ 0x060B, /* 01 */ INVALID, }, }; @@ -7174,74 +6655,73 @@ static const VXOpcodeTreeNode optreeVexW[][2] = static const VXOpcodeTreeNode optreeVexL[][2] = { { - /* 00 */ 0x06B4, - /* 01 */ 0x06B3, + /* 00 */ 0x069C, + /* 01 */ 0x069B, }, { - /* 00 */ 0x0677, + /* 00 */ 0x0660, /* 01 */ INVALID, }, { - /* 00 */ 0x0672, + /* 00 */ 0x065A, /* 01 */ INVALID, }, { - /* 00 */ 0x0676, + /* 00 */ 0x065E, /* 01 */ INVALID, }, { - /* 00 */ MODRM(0x0657), + /* 00 */ 0x063F, /* 01 */ INVALID, }, { - /* 00 */ MODRM(0x0678), + /* 00 */ 0x065F, /* 01 */ INVALID, }, { - /* 00 */ MODRM(0x0673), + /* 00 */ 0x065B, /* 01 */ INVALID, }, { - /* 00 */ MODRM(0x0675), + /* 00 */ 0x065D, /* 01 */ INVALID, }, { /* 00 */ INVALID, - /* 01 */ MODRM(0x0592), + /* 01 */ 0x057A, }, { /* 00 */ INVALID, - /* 01 */ MODRM(0x0632), + /* 01 */ 0x061A, }, { /* 00 */ INVALID, - /* 01 */ MODRM(0x05B8), + /* 01 */ 0x05A0, }, { /* 00 */ INVALID, - /* 01 */ MODRM(0x05B2), + /* 01 */ 0x059A, }, { - /* 00 */ MODRM(0x0644), + /* 00 */ 0x062C, /* 01 */ INVALID, }, { - /* 00 */ MODRM(0x0645), + /* 00 */ 0x062E, /* 01 */ INVALID, }, { - /* 00 */ MODRM(0x0646), + /* 00 */ 0x062D, /* 01 */ INVALID, }, { - /* 00 */ MODRM(0x0647), + /* 00 */ 0x062F, /* 01 */ INVALID, }, }; #undef INVALID #undef NODE -#undef MODRM #define OPI_NONE { VXDefinedOperandType::NONE, VXDefinedOperandSize::NA } #define OPI_AL { VXDefinedOperandType::AL, VXDefinedOperandSize::B } @@ -7382,6 +6862,8 @@ static const VXOpcodeTreeNode optreeVexL[][2] = #define OPI_rAX { VXDefinedOperandType::RAX, VXDefinedOperandSize::V } #define OPI_rCX { VXDefinedOperandType::RCX, VXDefinedOperandSize::V } #define OPI_rDX { VXDefinedOperandType::RDX, VXDefinedOperandSize::V } +#define OPI_sIb { VXDefinedOperandType::sI, VXDefinedOperandSize::B } +#define OPI_sIz { VXDefinedOperandType::sI, VXDefinedOperandSize::Z } static const VXInstructionDefinition instrDefinitions[] = { @@ -7390,189 +6872,189 @@ static const VXInstructionDefinition instrDefinitions[] = /* 002 */ { VXInstructionMnemonic::AAD, { OPI_Ib, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, /* 003 */ { VXInstructionMnemonic::AAM, { OPI_Ib, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, /* 004 */ { VXInstructionMnemonic::AAS, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 005 */ { VXInstructionMnemonic::ADC, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 006 */ { VXInstructionMnemonic::ADC, { OPI_rAX, OPI_Iz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW }, - /* 007 */ { VXInstructionMnemonic::ADC, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_INVALID_64 }, - /* 008 */ { VXInstructionMnemonic::ADC, { OPI_Ev, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 009 */ { VXInstructionMnemonic::ADC, { OPI_Ev, OPI_Iz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 00A */ { VXInstructionMnemonic::ADC, { OPI_Ev, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 00B */ { VXInstructionMnemonic::ADC, { OPI_Eb, OPI_Gb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 00C */ { VXInstructionMnemonic::ADC, { OPI_Gb, OPI_Eb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 00D */ { VXInstructionMnemonic::ADC, { OPI_AL, OPI_Ib, OPI_NONE, OPI_NONE }, 0 }, - /* 00E */ { VXInstructionMnemonic::ADC, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 00F */ { VXInstructionMnemonic::ADD, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 010 */ { VXInstructionMnemonic::ADD, { OPI_rAX, OPI_Iz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW }, - /* 011 */ { VXInstructionMnemonic::ADD, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_INVALID_64 }, - /* 012 */ { VXInstructionMnemonic::ADD, { OPI_Ev, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 013 */ { VXInstructionMnemonic::ADD, { OPI_Ev, OPI_Iz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 014 */ { VXInstructionMnemonic::ADD, { OPI_Ev, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 015 */ { VXInstructionMnemonic::ADD, { OPI_Eb, OPI_Gb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 016 */ { VXInstructionMnemonic::ADD, { OPI_Gb, OPI_Eb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 017 */ { VXInstructionMnemonic::ADD, { OPI_AL, OPI_Ib, OPI_NONE, OPI_NONE }, 0 }, - /* 018 */ { VXInstructionMnemonic::ADD, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 019 */ { VXInstructionMnemonic::ADDPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 01A */ { VXInstructionMnemonic::ADDPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 01B */ { VXInstructionMnemonic::ADDSD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 01C */ { VXInstructionMnemonic::ADDSS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 01D */ { VXInstructionMnemonic::ADDSUBPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 01E */ { VXInstructionMnemonic::ADDSUBPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 01F */ { VXInstructionMnemonic::AESDEC, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 020 */ { VXInstructionMnemonic::AESDECLAST, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 021 */ { VXInstructionMnemonic::AESENC, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 022 */ { VXInstructionMnemonic::AESENCLAST, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 023 */ { VXInstructionMnemonic::AESIMC, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 024 */ { VXInstructionMnemonic::AESKEYGENASSIST, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 025 */ { VXInstructionMnemonic::AND, { OPI_Gb, OPI_Eb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 026 */ { VXInstructionMnemonic::AND, { OPI_Eb, OPI_Gb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 027 */ { VXInstructionMnemonic::AND, { OPI_Ev, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 028 */ { VXInstructionMnemonic::AND, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 029 */ { VXInstructionMnemonic::AND, { OPI_Ev, OPI_Iz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 02A */ { VXInstructionMnemonic::AND, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_INVALID_64 }, - /* 02B */ { VXInstructionMnemonic::AND, { OPI_Ev, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 02C */ { VXInstructionMnemonic::AND, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 02D */ { VXInstructionMnemonic::AND, { OPI_AL, OPI_Ib, OPI_NONE, OPI_NONE }, 0 }, - /* 02E */ { VXInstructionMnemonic::AND, { OPI_rAX, OPI_Iz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW }, - /* 02F */ { VXInstructionMnemonic::ANDNPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 030 */ { VXInstructionMnemonic::ANDNPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 031 */ { VXInstructionMnemonic::ANDPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 032 */ { VXInstructionMnemonic::ANDPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 033 */ { VXInstructionMnemonic::ARPL, { OPI_Ew, OPI_Gw, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE }, - /* 034 */ { VXInstructionMnemonic::BLENDPD, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 035 */ { VXInstructionMnemonic::BLENDPS, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 036 */ { VXInstructionMnemonic::BLENDVPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 037 */ { VXInstructionMnemonic::BLENDVPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 038 */ { VXInstructionMnemonic::BOUND, { OPI_Gv, OPI_M, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE }, - /* 039 */ { VXInstructionMnemonic::BSF, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 03A */ { VXInstructionMnemonic::BSR, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 03B */ { VXInstructionMnemonic::BSWAP, { OPI_R5y, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 03C */ { VXInstructionMnemonic::BSWAP, { OPI_R3y, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 03D */ { VXInstructionMnemonic::BSWAP, { OPI_R1y, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 03E */ { VXInstructionMnemonic::BSWAP, { OPI_R4y, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 03F */ { VXInstructionMnemonic::BSWAP, { OPI_R0y, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 040 */ { VXInstructionMnemonic::BSWAP, { OPI_R2y, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 041 */ { VXInstructionMnemonic::BSWAP, { OPI_R7y, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 042 */ { VXInstructionMnemonic::BSWAP, { OPI_R6y, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 043 */ { VXInstructionMnemonic::BT, { OPI_Ev, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 044 */ { VXInstructionMnemonic::BT, { OPI_Ev, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 045 */ { VXInstructionMnemonic::BTC, { OPI_Ev, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 046 */ { VXInstructionMnemonic::BTC, { OPI_Ev, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 047 */ { VXInstructionMnemonic::BTR, { OPI_Ev, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 048 */ { VXInstructionMnemonic::BTR, { OPI_Ev, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 049 */ { VXInstructionMnemonic::BTS, { OPI_Ev, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 04A */ { VXInstructionMnemonic::BTS, { OPI_Ev, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 04B */ { VXInstructionMnemonic::CALL, { OPI_Ev, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 04C */ { VXInstructionMnemonic::CALL, { OPI_Eq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, - /* 04D */ { VXInstructionMnemonic::CALL, { OPI_Fv, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 04E */ { VXInstructionMnemonic::CALL, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_DEFAULT_64 }, - /* 04F */ { VXInstructionMnemonic::CALL, { OPI_Av, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE }, - /* 050 */ { VXInstructionMnemonic::CBW, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW }, - /* 051 */ { VXInstructionMnemonic::CDQ, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW }, - /* 052 */ { VXInstructionMnemonic::CDQE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW }, + /* 005 */ { VXInstructionMnemonic::ADC, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 006 */ { VXInstructionMnemonic::ADC, { OPI_rAX, OPI_sIz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_OPERAND1_READWRITE }, + /* 007 */ { VXInstructionMnemonic::ADC, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_INVALID_64 | IDF_OPERAND1_READWRITE }, + /* 008 */ { VXInstructionMnemonic::ADC, { OPI_Ev, OPI_sIb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 009 */ { VXInstructionMnemonic::ADC, { OPI_Ev, OPI_sIz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 00A */ { VXInstructionMnemonic::ADC, { OPI_Ev, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 00B */ { VXInstructionMnemonic::ADC, { OPI_Eb, OPI_Gb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 00C */ { VXInstructionMnemonic::ADC, { OPI_Gb, OPI_Eb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 00D */ { VXInstructionMnemonic::ADC, { OPI_AL, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_OPERAND1_READWRITE }, + /* 00E */ { VXInstructionMnemonic::ADC, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 00F */ { VXInstructionMnemonic::ADD, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 010 */ { VXInstructionMnemonic::ADD, { OPI_rAX, OPI_sIz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_OPERAND1_READWRITE }, + /* 011 */ { VXInstructionMnemonic::ADD, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_INVALID_64 | IDF_OPERAND1_READWRITE }, + /* 012 */ { VXInstructionMnemonic::ADD, { OPI_Ev, OPI_sIb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 013 */ { VXInstructionMnemonic::ADD, { OPI_Ev, OPI_sIz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 014 */ { VXInstructionMnemonic::ADD, { OPI_Ev, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 015 */ { VXInstructionMnemonic::ADD, { OPI_Eb, OPI_Gb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 016 */ { VXInstructionMnemonic::ADD, { OPI_Gb, OPI_Eb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 017 */ { VXInstructionMnemonic::ADD, { OPI_AL, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_OPERAND1_READWRITE }, + /* 018 */ { VXInstructionMnemonic::ADD, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 019 */ { VXInstructionMnemonic::ADDPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 01A */ { VXInstructionMnemonic::ADDPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 01B */ { VXInstructionMnemonic::ADDSD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 01C */ { VXInstructionMnemonic::ADDSS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 01D */ { VXInstructionMnemonic::ADDSUBPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 01E */ { VXInstructionMnemonic::ADDSUBPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 01F */ { VXInstructionMnemonic::AESDEC, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 020 */ { VXInstructionMnemonic::AESDECLAST, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 021 */ { VXInstructionMnemonic::AESENC, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 022 */ { VXInstructionMnemonic::AESENCLAST, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 023 */ { VXInstructionMnemonic::AESIMC, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 024 */ { VXInstructionMnemonic::AESKEYGENASSIST, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 025 */ { VXInstructionMnemonic::AND, { OPI_Gb, OPI_Eb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 026 */ { VXInstructionMnemonic::AND, { OPI_Eb, OPI_Gb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 027 */ { VXInstructionMnemonic::AND, { OPI_Ev, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 028 */ { VXInstructionMnemonic::AND, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 029 */ { VXInstructionMnemonic::AND, { OPI_Ev, OPI_sIz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 02A */ { VXInstructionMnemonic::AND, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_INVALID_64 | IDF_OPERAND1_READWRITE }, + /* 02B */ { VXInstructionMnemonic::AND, { OPI_Ev, OPI_sIb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 02C */ { VXInstructionMnemonic::AND, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 02D */ { VXInstructionMnemonic::AND, { OPI_AL, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_OPERAND1_READWRITE }, + /* 02E */ { VXInstructionMnemonic::AND, { OPI_rAX, OPI_sIz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_OPERAND1_READWRITE }, + /* 02F */ { VXInstructionMnemonic::ANDNPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 030 */ { VXInstructionMnemonic::ANDNPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 031 */ { VXInstructionMnemonic::ANDPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 032 */ { VXInstructionMnemonic::ANDPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 033 */ { VXInstructionMnemonic::ARPL, { OPI_Ew, OPI_Gw, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_OPERAND1_WRITE }, + /* 034 */ { VXInstructionMnemonic::BLENDPD, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 035 */ { VXInstructionMnemonic::BLENDPS, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 036 */ { VXInstructionMnemonic::BLENDVPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 037 */ { VXInstructionMnemonic::BLENDVPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 038 */ { VXInstructionMnemonic::BOUND, { OPI_Gv, OPI_M, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX }, + /* 039 */ { VXInstructionMnemonic::BSF, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 03A */ { VXInstructionMnemonic::BSR, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 03B */ { VXInstructionMnemonic::BSWAP, { OPI_R5y, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 03C */ { VXInstructionMnemonic::BSWAP, { OPI_R3y, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 03D */ { VXInstructionMnemonic::BSWAP, { OPI_R1y, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 03E */ { VXInstructionMnemonic::BSWAP, { OPI_R4y, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 03F */ { VXInstructionMnemonic::BSWAP, { OPI_R0y, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 040 */ { VXInstructionMnemonic::BSWAP, { OPI_R2y, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 041 */ { VXInstructionMnemonic::BSWAP, { OPI_R7y, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 042 */ { VXInstructionMnemonic::BSWAP, { OPI_R6y, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 043 */ { VXInstructionMnemonic::BT, { OPI_Ev, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 044 */ { VXInstructionMnemonic::BT, { OPI_Ev, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 045 */ { VXInstructionMnemonic::BTC, { OPI_Ev, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 046 */ { VXInstructionMnemonic::BTC, { OPI_Ev, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 047 */ { VXInstructionMnemonic::BTR, { OPI_Ev, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 048 */ { VXInstructionMnemonic::BTR, { OPI_Ev, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 049 */ { VXInstructionMnemonic::BTS, { OPI_Ev, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 04A */ { VXInstructionMnemonic::BTS, { OPI_Ev, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 04B */ { VXInstructionMnemonic::CALL, { OPI_Eq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, + /* 04C */ { VXInstructionMnemonic::CALL, { OPI_Fv, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 04D */ { VXInstructionMnemonic::CALL, { OPI_Ev, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 04E */ { VXInstructionMnemonic::CALL, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_DEFAULT_64 }, + /* 04F */ { VXInstructionMnemonic::CALL, { OPI_Av, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX }, + /* 050 */ { VXInstructionMnemonic::CBW, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW }, + /* 051 */ { VXInstructionMnemonic::CDQ, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW }, + /* 052 */ { VXInstructionMnemonic::CDQE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW }, /* 053 */ { VXInstructionMnemonic::CLC, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, /* 054 */ { VXInstructionMnemonic::CLD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 055 */ { VXInstructionMnemonic::CLFLUSH, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 055 */ { VXInstructionMnemonic::CLFLUSH, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, /* 056 */ { VXInstructionMnemonic::CLGI, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, /* 057 */ { VXInstructionMnemonic::CLI, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, /* 058 */ { VXInstructionMnemonic::CLTS, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, /* 059 */ { VXInstructionMnemonic::CMC, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 05A */ { VXInstructionMnemonic::CMOVA, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 05B */ { VXInstructionMnemonic::CMOVAE, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 05C */ { VXInstructionMnemonic::CMOVB, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 05D */ { VXInstructionMnemonic::CMOVBE, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 05E */ { VXInstructionMnemonic::CMOVG, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 05F */ { VXInstructionMnemonic::CMOVGE, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 060 */ { VXInstructionMnemonic::CMOVL, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 061 */ { VXInstructionMnemonic::CMOVLE, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 062 */ { VXInstructionMnemonic::CMOVNO, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 063 */ { VXInstructionMnemonic::CMOVNP, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 064 */ { VXInstructionMnemonic::CMOVNS, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 065 */ { VXInstructionMnemonic::CMOVNZ, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 066 */ { VXInstructionMnemonic::CMOVO, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 067 */ { VXInstructionMnemonic::CMOVP, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 068 */ { VXInstructionMnemonic::CMOVS, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 069 */ { VXInstructionMnemonic::CMOVZ, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 06A */ { VXInstructionMnemonic::CMP, { OPI_Ev, OPI_Iz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 06B */ { VXInstructionMnemonic::CMP, { OPI_Ev, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 06C */ { VXInstructionMnemonic::CMP, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 06D */ { VXInstructionMnemonic::CMP, { OPI_AL, OPI_Ib, OPI_NONE, OPI_NONE }, 0 }, - /* 06E */ { VXInstructionMnemonic::CMP, { OPI_Gb, OPI_Eb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 06F */ { VXInstructionMnemonic::CMP, { OPI_Eb, OPI_Gb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 070 */ { VXInstructionMnemonic::CMP, { OPI_Ev, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 071 */ { VXInstructionMnemonic::CMP, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 072 */ { VXInstructionMnemonic::CMP, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_INVALID_64 }, - /* 073 */ { VXInstructionMnemonic::CMP, { OPI_rAX, OPI_Iz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW }, - /* 074 */ { VXInstructionMnemonic::CMPPD, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 075 */ { VXInstructionMnemonic::CMPPS, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 076 */ { VXInstructionMnemonic::CMPSB, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_SEGMENT_OVERRIDE }, - /* 077 */ { VXInstructionMnemonic::CMPSD, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 078 */ { VXInstructionMnemonic::CMPSD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_SEGMENT_OVERRIDE }, - /* 079 */ { VXInstructionMnemonic::CMPSQ, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_SEGMENT_OVERRIDE }, - /* 07A */ { VXInstructionMnemonic::CMPSS, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 07B */ { VXInstructionMnemonic::CMPSW, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_SEGMENT_OVERRIDE }, - /* 07C */ { VXInstructionMnemonic::CMPXCHG, { OPI_Ev, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 07D */ { VXInstructionMnemonic::CMPXCHG, { OPI_Eb, OPI_Gb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 07E */ { VXInstructionMnemonic::CMPXCHG16B, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 07F */ { VXInstructionMnemonic::CMPXCHG8B, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 080 */ { VXInstructionMnemonic::CMPXCHG8B, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 081 */ { VXInstructionMnemonic::COMISD, { OPI_Vsd, OPI_Wsd, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 082 */ { VXInstructionMnemonic::COMISS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 05A */ { VXInstructionMnemonic::CMOVA, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 05B */ { VXInstructionMnemonic::CMOVAE, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 05C */ { VXInstructionMnemonic::CMOVB, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 05D */ { VXInstructionMnemonic::CMOVBE, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 05E */ { VXInstructionMnemonic::CMOVE, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 05F */ { VXInstructionMnemonic::CMOVG, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 060 */ { VXInstructionMnemonic::CMOVGE, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 061 */ { VXInstructionMnemonic::CMOVL, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 062 */ { VXInstructionMnemonic::CMOVLE, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 063 */ { VXInstructionMnemonic::CMOVNE, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 064 */ { VXInstructionMnemonic::CMOVNO, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 065 */ { VXInstructionMnemonic::CMOVNP, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 066 */ { VXInstructionMnemonic::CMOVNS, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 067 */ { VXInstructionMnemonic::CMOVO, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 068 */ { VXInstructionMnemonic::CMOVP, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 069 */ { VXInstructionMnemonic::CMOVS, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 06A */ { VXInstructionMnemonic::CMP, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 06B */ { VXInstructionMnemonic::CMP, { OPI_Gb, OPI_Eb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 06C */ { VXInstructionMnemonic::CMP, { OPI_Eb, OPI_Gb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 06D */ { VXInstructionMnemonic::CMP, { OPI_Ev, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 06E */ { VXInstructionMnemonic::CMP, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 06F */ { VXInstructionMnemonic::CMP, { OPI_rAX, OPI_sIz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW }, + /* 070 */ { VXInstructionMnemonic::CMP, { OPI_AL, OPI_Ib, OPI_NONE, OPI_NONE }, 0 }, + /* 071 */ { VXInstructionMnemonic::CMP, { OPI_Ev, OPI_sIb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 072 */ { VXInstructionMnemonic::CMP, { OPI_Ev, OPI_sIz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 073 */ { VXInstructionMnemonic::CMP, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_INVALID_64 }, + /* 074 */ { VXInstructionMnemonic::CMPPD, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 075 */ { VXInstructionMnemonic::CMPPS, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 076 */ { VXInstructionMnemonic::CMPSB, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_SEGMENT_PREFIX }, + /* 077 */ { VXInstructionMnemonic::CMPSD, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 078 */ { VXInstructionMnemonic::CMPSD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_SEGMENT_PREFIX }, + /* 079 */ { VXInstructionMnemonic::CMPSQ, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_SEGMENT_PREFIX }, + /* 07A */ { VXInstructionMnemonic::CMPSS, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 07B */ { VXInstructionMnemonic::CMPSW, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_SEGMENT_PREFIX }, + /* 07C */ { VXInstructionMnemonic::CMPXCHG, { OPI_Eb, OPI_Gb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 07D */ { VXInstructionMnemonic::CMPXCHG, { OPI_Ev, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 07E */ { VXInstructionMnemonic::CMPXCHG16B, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 07F */ { VXInstructionMnemonic::CMPXCHG8B, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 080 */ { VXInstructionMnemonic::CMPXCHG8B, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 081 */ { VXInstructionMnemonic::COMISD, { OPI_Vsd, OPI_Wsd, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 082 */ { VXInstructionMnemonic::COMISS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, /* 083 */ { VXInstructionMnemonic::CPUID, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 084 */ { VXInstructionMnemonic::CQO, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW }, - /* 085 */ { VXInstructionMnemonic::CRC32, { OPI_Gy, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 086 */ { VXInstructionMnemonic::CRC32, { OPI_Gy, OPI_Eb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 087 */ { VXInstructionMnemonic::CVTDQ2PD, { OPI_V, OPI_Wdq, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 088 */ { VXInstructionMnemonic::CVTDQ2PS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 089 */ { VXInstructionMnemonic::CVTPD2DQ, { OPI_Vdq, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 08A */ { VXInstructionMnemonic::CVTPD2PI, { OPI_P, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 08B */ { VXInstructionMnemonic::CVTPD2PS, { OPI_Vdq, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 08C */ { VXInstructionMnemonic::CVTPI2PD, { OPI_V, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 08D */ { VXInstructionMnemonic::CVTPI2PS, { OPI_V, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 08E */ { VXInstructionMnemonic::CVTPS2DQ, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 08F */ { VXInstructionMnemonic::CVTPS2PD, { OPI_V, OPI_Wdq, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 090 */ { VXInstructionMnemonic::CVTPS2PI, { OPI_P, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 091 */ { VXInstructionMnemonic::CVTSD2SI, { OPI_Gy, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 092 */ { VXInstructionMnemonic::CVTSD2SS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 093 */ { VXInstructionMnemonic::CVTSI2SD, { OPI_V, OPI_Ey, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 094 */ { VXInstructionMnemonic::CVTSI2SS, { OPI_V, OPI_Ey, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 095 */ { VXInstructionMnemonic::CVTSS2SD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 096 */ { VXInstructionMnemonic::CVTSS2SI, { OPI_Gy, OPI_MdU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 097 */ { VXInstructionMnemonic::CVTTPD2DQ, { OPI_Vdq, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 098 */ { VXInstructionMnemonic::CVTTPD2PI, { OPI_P, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 099 */ { VXInstructionMnemonic::CVTTPS2DQ, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 09A */ { VXInstructionMnemonic::CVTTPS2PI, { OPI_P, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 09B */ { VXInstructionMnemonic::CVTTSD2SI, { OPI_Gy, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 09C */ { VXInstructionMnemonic::CVTTSS2SI, { OPI_Gy, OPI_MdU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 09D */ { VXInstructionMnemonic::CWD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW }, - /* 09E */ { VXInstructionMnemonic::CWDE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW }, + /* 084 */ { VXInstructionMnemonic::CQO, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW }, + /* 085 */ { VXInstructionMnemonic::CRC32, { OPI_Gy, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 086 */ { VXInstructionMnemonic::CRC32, { OPI_Gy, OPI_Eb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 087 */ { VXInstructionMnemonic::CVTDQ2PD, { OPI_V, OPI_Wdq, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 088 */ { VXInstructionMnemonic::CVTDQ2PS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 089 */ { VXInstructionMnemonic::CVTPD2DQ, { OPI_Vdq, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 08A */ { VXInstructionMnemonic::CVTPD2PI, { OPI_P, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 08B */ { VXInstructionMnemonic::CVTPD2PS, { OPI_Vdq, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 08C */ { VXInstructionMnemonic::CVTPI2PD, { OPI_V, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 08D */ { VXInstructionMnemonic::CVTPI2PS, { OPI_V, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 08E */ { VXInstructionMnemonic::CVTPS2DQ, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 08F */ { VXInstructionMnemonic::CVTPS2PD, { OPI_V, OPI_Wdq, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 090 */ { VXInstructionMnemonic::CVTPS2PI, { OPI_P, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 091 */ { VXInstructionMnemonic::CVTSD2SI, { OPI_Gy, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 092 */ { VXInstructionMnemonic::CVTSD2SS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 093 */ { VXInstructionMnemonic::CVTSI2SD, { OPI_V, OPI_Ey, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 094 */ { VXInstructionMnemonic::CVTSI2SS, { OPI_V, OPI_Ey, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 095 */ { VXInstructionMnemonic::CVTSS2SD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 096 */ { VXInstructionMnemonic::CVTSS2SI, { OPI_Gy, OPI_MdU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 097 */ { VXInstructionMnemonic::CVTTPD2DQ, { OPI_Vdq, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 098 */ { VXInstructionMnemonic::CVTTPD2PI, { OPI_P, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 099 */ { VXInstructionMnemonic::CVTTPS2DQ, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 09A */ { VXInstructionMnemonic::CVTTPS2PI, { OPI_P, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 09B */ { VXInstructionMnemonic::CVTTSD2SI, { OPI_Gy, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 09C */ { VXInstructionMnemonic::CVTTSS2SI, { OPI_Gy, OPI_MdU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 09D */ { VXInstructionMnemonic::CWD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW }, + /* 09E */ { VXInstructionMnemonic::CWDE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW }, /* 09F */ { VXInstructionMnemonic::DAA, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_INVALID_64 }, /* 0A0 */ { VXInstructionMnemonic::DAS, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_INVALID_64 }, - /* 0A1 */ { VXInstructionMnemonic::DEC, { OPI_R6z, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE }, - /* 0A2 */ { VXInstructionMnemonic::DEC, { OPI_R5z, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE }, - /* 0A3 */ { VXInstructionMnemonic::DEC, { OPI_R7z, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE }, - /* 0A4 */ { VXInstructionMnemonic::DEC, { OPI_Ev, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 0A5 */ { VXInstructionMnemonic::DEC, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 0A6 */ { VXInstructionMnemonic::DEC, { OPI_R1z, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE }, - /* 0A7 */ { VXInstructionMnemonic::DEC, { OPI_R0z, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE }, - /* 0A8 */ { VXInstructionMnemonic::DEC, { OPI_R2z, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE }, - /* 0A9 */ { VXInstructionMnemonic::DEC, { OPI_R4z, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE }, - /* 0AA */ { VXInstructionMnemonic::DEC, { OPI_R3z, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE }, - /* 0AB */ { VXInstructionMnemonic::DIV, { OPI_Ev, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 0AC */ { VXInstructionMnemonic::DIV, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 0AD */ { VXInstructionMnemonic::DIVPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 0AE */ { VXInstructionMnemonic::DIVPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 0AF */ { VXInstructionMnemonic::DIVSD, { OPI_V, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 0B0 */ { VXInstructionMnemonic::DIVSS, { OPI_V, OPI_MdU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 0B1 */ { VXInstructionMnemonic::DPPD, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 0B2 */ { VXInstructionMnemonic::DPPS, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 0A1 */ { VXInstructionMnemonic::DEC, { OPI_R6z, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_OPERAND1_READWRITE }, + /* 0A2 */ { VXInstructionMnemonic::DEC, { OPI_R5z, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_OPERAND1_READWRITE }, + /* 0A3 */ { VXInstructionMnemonic::DEC, { OPI_R7z, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_OPERAND1_READWRITE }, + /* 0A4 */ { VXInstructionMnemonic::DEC, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 0A5 */ { VXInstructionMnemonic::DEC, { OPI_Ev, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 0A6 */ { VXInstructionMnemonic::DEC, { OPI_R1z, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_OPERAND1_READWRITE }, + /* 0A7 */ { VXInstructionMnemonic::DEC, { OPI_R0z, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_OPERAND1_READWRITE }, + /* 0A8 */ { VXInstructionMnemonic::DEC, { OPI_R2z, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_OPERAND1_READWRITE }, + /* 0A9 */ { VXInstructionMnemonic::DEC, { OPI_R4z, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_OPERAND1_READWRITE }, + /* 0AA */ { VXInstructionMnemonic::DEC, { OPI_R3z, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_OPERAND1_READWRITE }, + /* 0AB */ { VXInstructionMnemonic::DIV, { OPI_Ev, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 0AC */ { VXInstructionMnemonic::DIV, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 0AD */ { VXInstructionMnemonic::DIVPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 0AE */ { VXInstructionMnemonic::DIVPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 0AF */ { VXInstructionMnemonic::DIVSD, { OPI_V, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 0B0 */ { VXInstructionMnemonic::DIVSS, { OPI_V, OPI_MdU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 0B1 */ { VXInstructionMnemonic::DPPD, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 0B2 */ { VXInstructionMnemonic::DPPS, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, /* 0B3 */ { VXInstructionMnemonic::EMMS, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, /* 0B4 */ { VXInstructionMnemonic::ENTER, { OPI_Iw, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_DEFAULT_64 }, - /* 0B5 */ { VXInstructionMnemonic::EXTRACTPS, { OPI_MdRy, OPI_V, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 0B5 */ { VXInstructionMnemonic::EXTRACTPS, { OPI_MdRy, OPI_V, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, /* 0B6 */ { VXInstructionMnemonic::F2XM1, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, /* 0B7 */ { VXInstructionMnemonic::FABS, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, /* 0B8 */ { VXInstructionMnemonic::FADD, { OPI_ST1, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, /* 0B9 */ { VXInstructionMnemonic::FADD, { OPI_ST0, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 0BA */ { VXInstructionMnemonic::FADD, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 0BB */ { VXInstructionMnemonic::FADD, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 0BA */ { VXInstructionMnemonic::FADD, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 0BB */ { VXInstructionMnemonic::FADD, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, /* 0BC */ { VXInstructionMnemonic::FADD, { OPI_ST0, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, /* 0BD */ { VXInstructionMnemonic::FADD, { OPI_ST7, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, /* 0BE */ { VXInstructionMnemonic::FADD, { OPI_ST6, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, @@ -7595,8 +7077,8 @@ static const VXInstructionDefinition instrDefinitions[] = /* 0CF */ { VXInstructionMnemonic::FADDP, { OPI_ST7, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, /* 0D0 */ { VXInstructionMnemonic::FADDP, { OPI_ST4, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, /* 0D1 */ { VXInstructionMnemonic::FADDP, { OPI_ST5, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 0D2 */ { VXInstructionMnemonic::FBLD, { OPI_Mt, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 0D3 */ { VXInstructionMnemonic::FBSTP, { OPI_Mt, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 0D2 */ { VXInstructionMnemonic::FBLD, { OPI_Mt, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 0D3 */ { VXInstructionMnemonic::FBSTP, { OPI_Mt, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, /* 0D4 */ { VXInstructionMnemonic::FCHS, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, /* 0D5 */ { VXInstructionMnemonic::FCLEX, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, /* 0D6 */ { VXInstructionMnemonic::FCMOVB, { OPI_ST0, OPI_ST3, OPI_NONE, OPI_NONE }, 0 }, @@ -7665,8 +7147,8 @@ static const VXInstructionDefinition instrDefinitions[] = /* 115 */ { VXInstructionMnemonic::FCMOVU, { OPI_ST0, OPI_ST2, OPI_NONE, OPI_NONE }, 0 }, /* 116 */ { VXInstructionMnemonic::FCOM, { OPI_ST0, OPI_ST4, OPI_NONE, OPI_NONE }, 0 }, /* 117 */ { VXInstructionMnemonic::FCOM, { OPI_ST0, OPI_ST3, OPI_NONE, OPI_NONE }, 0 }, - /* 118 */ { VXInstructionMnemonic::FCOM, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 119 */ { VXInstructionMnemonic::FCOM, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 118 */ { VXInstructionMnemonic::FCOM, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 119 */ { VXInstructionMnemonic::FCOM, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, /* 11A */ { VXInstructionMnemonic::FCOM, { OPI_ST0, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, /* 11B */ { VXInstructionMnemonic::FCOM, { OPI_ST0, OPI_ST2, OPI_NONE, OPI_NONE }, 0 }, /* 11C */ { VXInstructionMnemonic::FCOM, { OPI_ST0, OPI_ST1, OPI_NONE, OPI_NONE }, 0 }, @@ -7702,8 +7184,8 @@ static const VXInstructionDefinition instrDefinitions[] = /* 13A */ { VXInstructionMnemonic::FCOMP, { OPI_ST0, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, /* 13B */ { VXInstructionMnemonic::FCOMP, { OPI_ST0, OPI_ST4, OPI_NONE, OPI_NONE }, 0 }, /* 13C */ { VXInstructionMnemonic::FCOMP, { OPI_ST0, OPI_ST2, OPI_NONE, OPI_NONE }, 0 }, - /* 13D */ { VXInstructionMnemonic::FCOMP, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 13E */ { VXInstructionMnemonic::FCOMP, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 13D */ { VXInstructionMnemonic::FCOMP, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 13E */ { VXInstructionMnemonic::FCOMP, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, /* 13F */ { VXInstructionMnemonic::FCOMP, { OPI_ST0, OPI_ST6, OPI_NONE, OPI_NONE }, 0 }, /* 140 */ { VXInstructionMnemonic::FCOMP, { OPI_ST0, OPI_ST5, OPI_NONE, OPI_NONE }, 0 }, /* 141 */ { VXInstructionMnemonic::FCOMP, { OPI_ST0, OPI_ST1, OPI_NONE, OPI_NONE }, 0 }, @@ -7729,7 +7211,7 @@ static const VXInstructionDefinition instrDefinitions[] = /* 155 */ { VXInstructionMnemonic::FDIV, { OPI_ST0, OPI_ST2, OPI_NONE, OPI_NONE }, 0 }, /* 156 */ { VXInstructionMnemonic::FDIV, { OPI_ST0, OPI_ST5, OPI_NONE, OPI_NONE }, 0 }, /* 157 */ { VXInstructionMnemonic::FDIV, { OPI_ST0, OPI_ST6, OPI_NONE, OPI_NONE }, 0 }, - /* 158 */ { VXInstructionMnemonic::FDIV, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 158 */ { VXInstructionMnemonic::FDIV, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, /* 159 */ { VXInstructionMnemonic::FDIV, { OPI_ST0, OPI_ST4, OPI_NONE, OPI_NONE }, 0 }, /* 15A */ { VXInstructionMnemonic::FDIV, { OPI_ST0, OPI_ST3, OPI_NONE, OPI_NONE }, 0 }, /* 15B */ { VXInstructionMnemonic::FDIV, { OPI_ST3, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, @@ -7743,7 +7225,7 @@ static const VXInstructionDefinition instrDefinitions[] = /* 163 */ { VXInstructionMnemonic::FDIV, { OPI_ST0, OPI_ST7, OPI_NONE, OPI_NONE }, 0 }, /* 164 */ { VXInstructionMnemonic::FDIV, { OPI_ST6, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, /* 165 */ { VXInstructionMnemonic::FDIV, { OPI_ST7, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 166 */ { VXInstructionMnemonic::FDIV, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 166 */ { VXInstructionMnemonic::FDIV, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, /* 167 */ { VXInstructionMnemonic::FDIVP, { OPI_ST5, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, /* 168 */ { VXInstructionMnemonic::FDIVP, { OPI_ST4, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, /* 169 */ { VXInstructionMnemonic::FDIVP, { OPI_ST7, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, @@ -7754,7 +7236,7 @@ static const VXInstructionDefinition instrDefinitions[] = /* 16E */ { VXInstructionMnemonic::FDIVP, { OPI_ST2, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, /* 16F */ { VXInstructionMnemonic::FDIVR, { OPI_ST0, OPI_ST1, OPI_NONE, OPI_NONE }, 0 }, /* 170 */ { VXInstructionMnemonic::FDIVR, { OPI_ST0, OPI_ST2, OPI_NONE, OPI_NONE }, 0 }, - /* 171 */ { VXInstructionMnemonic::FDIVR, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 171 */ { VXInstructionMnemonic::FDIVR, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, /* 172 */ { VXInstructionMnemonic::FDIVR, { OPI_ST0, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, /* 173 */ { VXInstructionMnemonic::FDIVR, { OPI_ST0, OPI_ST3, OPI_NONE, OPI_NONE }, 0 }, /* 174 */ { VXInstructionMnemonic::FDIVR, { OPI_ST0, OPI_ST6, OPI_NONE, OPI_NONE }, 0 }, @@ -7763,7 +7245,7 @@ static const VXInstructionDefinition instrDefinitions[] = /* 177 */ { VXInstructionMnemonic::FDIVR, { OPI_ST0, OPI_ST5, OPI_NONE, OPI_NONE }, 0 }, /* 178 */ { VXInstructionMnemonic::FDIVR, { OPI_ST1, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, /* 179 */ { VXInstructionMnemonic::FDIVR, { OPI_ST2, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 17A */ { VXInstructionMnemonic::FDIVR, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 17A */ { VXInstructionMnemonic::FDIVR, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, /* 17B */ { VXInstructionMnemonic::FDIVR, { OPI_ST0, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, /* 17C */ { VXInstructionMnemonic::FDIVR, { OPI_ST3, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, /* 17D */ { VXInstructionMnemonic::FDIVR, { OPI_ST6, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, @@ -7779,88 +7261,88 @@ static const VXInstructionDefinition instrDefinitions[] = /* 187 */ { VXInstructionMnemonic::FDIVRP, { OPI_ST3, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, /* 188 */ { VXInstructionMnemonic::FDIVRP, { OPI_ST2, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, /* 189 */ { VXInstructionMnemonic::FEMMS, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 18A */ { VXInstructionMnemonic::FFREE, { OPI_ST4, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 18B */ { VXInstructionMnemonic::FFREE, { OPI_ST5, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 18A */ { VXInstructionMnemonic::FFREE, { OPI_ST5, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 18B */ { VXInstructionMnemonic::FFREE, { OPI_ST4, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, /* 18C */ { VXInstructionMnemonic::FFREE, { OPI_ST7, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, /* 18D */ { VXInstructionMnemonic::FFREE, { OPI_ST6, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, /* 18E */ { VXInstructionMnemonic::FFREE, { OPI_ST1, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 18F */ { VXInstructionMnemonic::FFREE, { OPI_ST2, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 18F */ { VXInstructionMnemonic::FFREE, { OPI_ST0, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, /* 190 */ { VXInstructionMnemonic::FFREE, { OPI_ST3, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 191 */ { VXInstructionMnemonic::FFREE, { OPI_ST0, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 192 */ { VXInstructionMnemonic::FFREEP, { OPI_ST3, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 191 */ { VXInstructionMnemonic::FFREE, { OPI_ST2, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 192 */ { VXInstructionMnemonic::FFREEP, { OPI_ST5, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, /* 193 */ { VXInstructionMnemonic::FFREEP, { OPI_ST4, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 194 */ { VXInstructionMnemonic::FFREEP, { OPI_ST5, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 195 */ { VXInstructionMnemonic::FFREEP, { OPI_ST0, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 194 */ { VXInstructionMnemonic::FFREEP, { OPI_ST7, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 195 */ { VXInstructionMnemonic::FFREEP, { OPI_ST6, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, /* 196 */ { VXInstructionMnemonic::FFREEP, { OPI_ST1, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, /* 197 */ { VXInstructionMnemonic::FFREEP, { OPI_ST2, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 198 */ { VXInstructionMnemonic::FFREEP, { OPI_ST7, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 199 */ { VXInstructionMnemonic::FFREEP, { OPI_ST6, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 19A */ { VXInstructionMnemonic::FIADD, { OPI_Mw, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 19B */ { VXInstructionMnemonic::FIADD, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 19C */ { VXInstructionMnemonic::FICOM, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 19D */ { VXInstructionMnemonic::FICOM, { OPI_Mw, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 19E */ { VXInstructionMnemonic::FICOMP, { OPI_Mw, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 19F */ { VXInstructionMnemonic::FICOMP, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 1A0 */ { VXInstructionMnemonic::FIDIV, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 1A1 */ { VXInstructionMnemonic::FIDIV, { OPI_Mw, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 1A2 */ { VXInstructionMnemonic::FIDIVR, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 1A3 */ { VXInstructionMnemonic::FIDIVR, { OPI_Mw, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 1A4 */ { VXInstructionMnemonic::FILD, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 1A5 */ { VXInstructionMnemonic::FILD, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 1A6 */ { VXInstructionMnemonic::FILD, { OPI_Mw, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 1A7 */ { VXInstructionMnemonic::FIMUL, { OPI_Mw, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 1A8 */ { VXInstructionMnemonic::FIMUL, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 198 */ { VXInstructionMnemonic::FFREEP, { OPI_ST3, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 199 */ { VXInstructionMnemonic::FFREEP, { OPI_ST0, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 19A */ { VXInstructionMnemonic::FIADD, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 19B */ { VXInstructionMnemonic::FIADD, { OPI_Mw, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 19C */ { VXInstructionMnemonic::FICOM, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 19D */ { VXInstructionMnemonic::FICOM, { OPI_Mw, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 19E */ { VXInstructionMnemonic::FICOMP, { OPI_Mw, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 19F */ { VXInstructionMnemonic::FICOMP, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 1A0 */ { VXInstructionMnemonic::FIDIV, { OPI_Mw, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 1A1 */ { VXInstructionMnemonic::FIDIV, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 1A2 */ { VXInstructionMnemonic::FIDIVR, { OPI_Mw, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 1A3 */ { VXInstructionMnemonic::FIDIVR, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 1A4 */ { VXInstructionMnemonic::FILD, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 1A5 */ { VXInstructionMnemonic::FILD, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 1A6 */ { VXInstructionMnemonic::FILD, { OPI_Mw, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 1A7 */ { VXInstructionMnemonic::FIMUL, { OPI_Mw, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 1A8 */ { VXInstructionMnemonic::FIMUL, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, /* 1A9 */ { VXInstructionMnemonic::FINCSTP, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 1AA */ { VXInstructionMnemonic::FIST, { OPI_Mw, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 1AB */ { VXInstructionMnemonic::FIST, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 1AC */ { VXInstructionMnemonic::FISTP, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 1AD */ { VXInstructionMnemonic::FISTP, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 1AE */ { VXInstructionMnemonic::FISTP, { OPI_Mw, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 1AF */ { VXInstructionMnemonic::FISTTP, { OPI_Mw, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 1B0 */ { VXInstructionMnemonic::FISTTP, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 1B1 */ { VXInstructionMnemonic::FISTTP, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 1B2 */ { VXInstructionMnemonic::FISUB, { OPI_Mw, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 1B3 */ { VXInstructionMnemonic::FISUB, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 1B4 */ { VXInstructionMnemonic::FISUBR, { OPI_Mw, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 1B5 */ { VXInstructionMnemonic::FISUBR, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 1B6 */ { VXInstructionMnemonic::FLD, { OPI_ST4, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 1B7 */ { VXInstructionMnemonic::FLD, { OPI_ST3, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 1B8 */ { VXInstructionMnemonic::FLD, { OPI_ST5, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 1B9 */ { VXInstructionMnemonic::FLD, { OPI_ST7, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 1BA */ { VXInstructionMnemonic::FLD, { OPI_ST6, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 1BB */ { VXInstructionMnemonic::FLD, { OPI_ST2, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 1BC */ { VXInstructionMnemonic::FLD, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 1BD */ { VXInstructionMnemonic::FLD, { OPI_Mt, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 1BE */ { VXInstructionMnemonic::FLD, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 1BF */ { VXInstructionMnemonic::FLD, { OPI_ST1, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 1C0 */ { VXInstructionMnemonic::FLD, { OPI_ST0, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 1AA */ { VXInstructionMnemonic::FIST, { OPI_Mw, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 1AB */ { VXInstructionMnemonic::FIST, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 1AC */ { VXInstructionMnemonic::FISTP, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 1AD */ { VXInstructionMnemonic::FISTP, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 1AE */ { VXInstructionMnemonic::FISTP, { OPI_Mw, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 1AF */ { VXInstructionMnemonic::FISTTP, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 1B0 */ { VXInstructionMnemonic::FISTTP, { OPI_Mw, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 1B1 */ { VXInstructionMnemonic::FISTTP, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 1B2 */ { VXInstructionMnemonic::FISUB, { OPI_Mw, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 1B3 */ { VXInstructionMnemonic::FISUB, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 1B4 */ { VXInstructionMnemonic::FISUBR, { OPI_Mw, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 1B5 */ { VXInstructionMnemonic::FISUBR, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 1B6 */ { VXInstructionMnemonic::FLD, { OPI_ST5, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 1B7 */ { VXInstructionMnemonic::FLD, { OPI_ST4, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 1B8 */ { VXInstructionMnemonic::FLD, { OPI_ST7, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 1B9 */ { VXInstructionMnemonic::FLD, { OPI_ST6, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 1BA */ { VXInstructionMnemonic::FLD, { OPI_Mt, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 1BB */ { VXInstructionMnemonic::FLD, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 1BC */ { VXInstructionMnemonic::FLD, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 1BD */ { VXInstructionMnemonic::FLD, { OPI_ST0, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 1BE */ { VXInstructionMnemonic::FLD, { OPI_ST3, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 1BF */ { VXInstructionMnemonic::FLD, { OPI_ST2, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 1C0 */ { VXInstructionMnemonic::FLD, { OPI_ST1, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, /* 1C1 */ { VXInstructionMnemonic::FLD1, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 1C2 */ { VXInstructionMnemonic::FLDCW, { OPI_Mw, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 1C3 */ { VXInstructionMnemonic::FLDENV, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 1C2 */ { VXInstructionMnemonic::FLDCW, { OPI_Mw, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 1C3 */ { VXInstructionMnemonic::FLDENV, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, /* 1C4 */ { VXInstructionMnemonic::FLDL2E, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, /* 1C5 */ { VXInstructionMnemonic::FLDL2T, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, /* 1C6 */ { VXInstructionMnemonic::FLDLG2, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, /* 1C7 */ { VXInstructionMnemonic::FLDLN2, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, /* 1C8 */ { VXInstructionMnemonic::FLDPI, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, /* 1C9 */ { VXInstructionMnemonic::FLDZ, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 1CA */ { VXInstructionMnemonic::FMUL, { OPI_ST0, OPI_ST1, OPI_NONE, OPI_NONE }, 0 }, - /* 1CB */ { VXInstructionMnemonic::FMUL, { OPI_ST0, OPI_ST2, OPI_NONE, OPI_NONE }, 0 }, - /* 1CC */ { VXInstructionMnemonic::FMUL, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 1CD */ { VXInstructionMnemonic::FMUL, { OPI_ST0, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 1CE */ { VXInstructionMnemonic::FMUL, { OPI_ST0, OPI_ST5, OPI_NONE, OPI_NONE }, 0 }, - /* 1CF */ { VXInstructionMnemonic::FMUL, { OPI_ST0, OPI_ST6, OPI_NONE, OPI_NONE }, 0 }, - /* 1D0 */ { VXInstructionMnemonic::FMUL, { OPI_ST0, OPI_ST3, OPI_NONE, OPI_NONE }, 0 }, - /* 1D1 */ { VXInstructionMnemonic::FMUL, { OPI_ST0, OPI_ST4, OPI_NONE, OPI_NONE }, 0 }, - /* 1D2 */ { VXInstructionMnemonic::FMUL, { OPI_ST7, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 1D3 */ { VXInstructionMnemonic::FMUL, { OPI_ST1, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 1D4 */ { VXInstructionMnemonic::FMUL, { OPI_ST2, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 1D5 */ { VXInstructionMnemonic::FMUL, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 1D6 */ { VXInstructionMnemonic::FMUL, { OPI_ST0, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 1D7 */ { VXInstructionMnemonic::FMUL, { OPI_ST5, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 1D8 */ { VXInstructionMnemonic::FMUL, { OPI_ST6, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 1D9 */ { VXInstructionMnemonic::FMUL, { OPI_ST3, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 1DA */ { VXInstructionMnemonic::FMUL, { OPI_ST4, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 1DB */ { VXInstructionMnemonic::FMUL, { OPI_ST0, OPI_ST7, OPI_NONE, OPI_NONE }, 0 }, + /* 1CA */ { VXInstructionMnemonic::FMUL, { OPI_ST7, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 1CB */ { VXInstructionMnemonic::FMUL, { OPI_ST6, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 1CC */ { VXInstructionMnemonic::FMUL, { OPI_ST5, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 1CD */ { VXInstructionMnemonic::FMUL, { OPI_ST0, OPI_ST1, OPI_NONE, OPI_NONE }, 0 }, + /* 1CE */ { VXInstructionMnemonic::FMUL, { OPI_ST0, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 1CF */ { VXInstructionMnemonic::FMUL, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 1D0 */ { VXInstructionMnemonic::FMUL, { OPI_ST1, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 1D1 */ { VXInstructionMnemonic::FMUL, { OPI_ST0, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 1D2 */ { VXInstructionMnemonic::FMUL, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 1D3 */ { VXInstructionMnemonic::FMUL, { OPI_ST4, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 1D4 */ { VXInstructionMnemonic::FMUL, { OPI_ST3, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 1D5 */ { VXInstructionMnemonic::FMUL, { OPI_ST2, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 1D6 */ { VXInstructionMnemonic::FMUL, { OPI_ST0, OPI_ST5, OPI_NONE, OPI_NONE }, 0 }, + /* 1D7 */ { VXInstructionMnemonic::FMUL, { OPI_ST0, OPI_ST6, OPI_NONE, OPI_NONE }, 0 }, + /* 1D8 */ { VXInstructionMnemonic::FMUL, { OPI_ST0, OPI_ST7, OPI_NONE, OPI_NONE }, 0 }, + /* 1D9 */ { VXInstructionMnemonic::FMUL, { OPI_ST0, OPI_ST2, OPI_NONE, OPI_NONE }, 0 }, + /* 1DA */ { VXInstructionMnemonic::FMUL, { OPI_ST0, OPI_ST3, OPI_NONE, OPI_NONE }, 0 }, + /* 1DB */ { VXInstructionMnemonic::FMUL, { OPI_ST0, OPI_ST4, OPI_NONE, OPI_NONE }, 0 }, /* 1DC */ { VXInstructionMnemonic::FMULP, { OPI_ST5, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, /* 1DD */ { VXInstructionMnemonic::FMULP, { OPI_ST4, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, /* 1DE */ { VXInstructionMnemonic::FMULP, { OPI_ST7, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, @@ -7869,1279 +7351,1255 @@ static const VXInstructionDefinition instrDefinitions[] = /* 1E1 */ { VXInstructionMnemonic::FMULP, { OPI_ST0, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, /* 1E2 */ { VXInstructionMnemonic::FMULP, { OPI_ST3, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, /* 1E3 */ { VXInstructionMnemonic::FMULP, { OPI_ST2, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 1E4 */ { VXInstructionMnemonic::FNINIT, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 1E5 */ { VXInstructionMnemonic::FNOP, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 1E6 */ { VXInstructionMnemonic::FNSAVE, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 1E7 */ { VXInstructionMnemonic::FNSTCW, { OPI_Mw, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 1E8 */ { VXInstructionMnemonic::FNSTENV, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 1E9 */ { VXInstructionMnemonic::FNSTSW, { OPI_AX, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 1EA */ { VXInstructionMnemonic::FNSTSW, { OPI_Mw, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 1EB */ { VXInstructionMnemonic::FPATAN, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 1EC */ { VXInstructionMnemonic::FPREM, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 1ED */ { VXInstructionMnemonic::FPREM1, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 1EE */ { VXInstructionMnemonic::FPTAN, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 1EF */ { VXInstructionMnemonic::FRNDINT, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 1F0 */ { VXInstructionMnemonic::FRSTOR, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 1F1 */ { VXInstructionMnemonic::FSCALE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 1F2 */ { VXInstructionMnemonic::FSIN, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 1F3 */ { VXInstructionMnemonic::FSINCOS, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 1F4 */ { VXInstructionMnemonic::FSQRT, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 1F5 */ { VXInstructionMnemonic::FST, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 1F6 */ { VXInstructionMnemonic::FST, { OPI_ST5, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 1F7 */ { VXInstructionMnemonic::FST, { OPI_ST4, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 1F8 */ { VXInstructionMnemonic::FST, { OPI_ST7, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 1F9 */ { VXInstructionMnemonic::FST, { OPI_ST6, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 1E4 */ { VXInstructionMnemonic::FNDISI, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 1E5 */ { VXInstructionMnemonic::FNENI, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 1E6 */ { VXInstructionMnemonic::FNINIT, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 1E7 */ { VXInstructionMnemonic::FNOP, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 1E8 */ { VXInstructionMnemonic::FNSAVE, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 1E9 */ { VXInstructionMnemonic::FNSETPM, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 1EA */ { VXInstructionMnemonic::FNSTCW, { OPI_Mw, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 1EB */ { VXInstructionMnemonic::FNSTENV, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 1EC */ { VXInstructionMnemonic::FNSTSW, { OPI_AX, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 1ED */ { VXInstructionMnemonic::FNSTSW, { OPI_Mw, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 1EE */ { VXInstructionMnemonic::FPATAN, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 1EF */ { VXInstructionMnemonic::FPREM, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 1F0 */ { VXInstructionMnemonic::FPREM1, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 1F1 */ { VXInstructionMnemonic::FPTAN, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 1F2 */ { VXInstructionMnemonic::FRNDINT, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 1F3 */ { VXInstructionMnemonic::FRSTOR, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 1F4 */ { VXInstructionMnemonic::FRSTPM, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 1F5 */ { VXInstructionMnemonic::FSCALE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 1F6 */ { VXInstructionMnemonic::FSIN, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 1F7 */ { VXInstructionMnemonic::FSINCOS, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 1F8 */ { VXInstructionMnemonic::FSQRT, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 1F9 */ { VXInstructionMnemonic::FST, { OPI_ST4, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, /* 1FA */ { VXInstructionMnemonic::FST, { OPI_ST3, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 1FB */ { VXInstructionMnemonic::FST, { OPI_ST0, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 1FC */ { VXInstructionMnemonic::FST, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 1FD */ { VXInstructionMnemonic::FST, { OPI_ST2, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 1FE */ { VXInstructionMnemonic::FST, { OPI_ST1, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 1FF */ { VXInstructionMnemonic::FSTP, { OPI_Mt, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 200 */ { VXInstructionMnemonic::FSTP, { OPI_ST4, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 201 */ { VXInstructionMnemonic::FSTP, { OPI_ST3, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 202 */ { VXInstructionMnemonic::FSTP, { OPI_ST5, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 203 */ { VXInstructionMnemonic::FSTP, { OPI_ST7, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 204 */ { VXInstructionMnemonic::FSTP, { OPI_ST6, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 205 */ { VXInstructionMnemonic::FSTP, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 206 */ { VXInstructionMnemonic::FSTP, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 207 */ { VXInstructionMnemonic::FSTP, { OPI_ST0, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 1FB */ { VXInstructionMnemonic::FST, { OPI_ST5, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 1FC */ { VXInstructionMnemonic::FST, { OPI_ST7, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 1FD */ { VXInstructionMnemonic::FST, { OPI_ST6, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 1FE */ { VXInstructionMnemonic::FST, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 1FF */ { VXInstructionMnemonic::FST, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 200 */ { VXInstructionMnemonic::FST, { OPI_ST0, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 201 */ { VXInstructionMnemonic::FST, { OPI_ST2, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 202 */ { VXInstructionMnemonic::FST, { OPI_ST1, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 203 */ { VXInstructionMnemonic::FSTP, { OPI_ST4, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 204 */ { VXInstructionMnemonic::FSTP, { OPI_ST3, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 205 */ { VXInstructionMnemonic::FSTP, { OPI_ST5, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 206 */ { VXInstructionMnemonic::FSTP, { OPI_ST7, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 207 */ { VXInstructionMnemonic::FSTP, { OPI_ST6, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, /* 208 */ { VXInstructionMnemonic::FSTP, { OPI_ST2, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 209 */ { VXInstructionMnemonic::FSTP, { OPI_ST1, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 20A */ { VXInstructionMnemonic::FSTP1, { OPI_ST5, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 20B */ { VXInstructionMnemonic::FSTP1, { OPI_ST4, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 20C */ { VXInstructionMnemonic::FSTP1, { OPI_ST7, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 20D */ { VXInstructionMnemonic::FSTP1, { OPI_ST6, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 20E */ { VXInstructionMnemonic::FSTP1, { OPI_ST1, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 20F */ { VXInstructionMnemonic::FSTP1, { OPI_ST0, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 210 */ { VXInstructionMnemonic::FSTP1, { OPI_ST3, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 211 */ { VXInstructionMnemonic::FSTP1, { OPI_ST2, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 212 */ { VXInstructionMnemonic::FSTP8, { OPI_ST5, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 213 */ { VXInstructionMnemonic::FSTP8, { OPI_ST4, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 214 */ { VXInstructionMnemonic::FSTP8, { OPI_ST7, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 215 */ { VXInstructionMnemonic::FSTP8, { OPI_ST6, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 216 */ { VXInstructionMnemonic::FSTP8, { OPI_ST1, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 217 */ { VXInstructionMnemonic::FSTP8, { OPI_ST0, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 218 */ { VXInstructionMnemonic::FSTP8, { OPI_ST3, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 219 */ { VXInstructionMnemonic::FSTP8, { OPI_ST2, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 21A */ { VXInstructionMnemonic::FSTP9, { OPI_ST2, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 21B */ { VXInstructionMnemonic::FSTP9, { OPI_ST3, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 21C */ { VXInstructionMnemonic::FSTP9, { OPI_ST0, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 21D */ { VXInstructionMnemonic::FSTP9, { OPI_ST1, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 21E */ { VXInstructionMnemonic::FSTP9, { OPI_ST6, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 21F */ { VXInstructionMnemonic::FSTP9, { OPI_ST7, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 220 */ { VXInstructionMnemonic::FSTP9, { OPI_ST4, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 221 */ { VXInstructionMnemonic::FSTP9, { OPI_ST5, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 222 */ { VXInstructionMnemonic::FSUB, { OPI_ST0, OPI_ST2, OPI_NONE, OPI_NONE }, 0 }, - /* 223 */ { VXInstructionMnemonic::FSUB, { OPI_ST0, OPI_ST1, OPI_NONE, OPI_NONE }, 0 }, - /* 224 */ { VXInstructionMnemonic::FSUB, { OPI_ST0, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 225 */ { VXInstructionMnemonic::FSUB, { OPI_ST0, OPI_ST3, OPI_NONE, OPI_NONE }, 0 }, - /* 226 */ { VXInstructionMnemonic::FSUB, { OPI_ST2, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 227 */ { VXInstructionMnemonic::FSUB, { OPI_ST3, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 228 */ { VXInstructionMnemonic::FSUB, { OPI_ST0, OPI_ST6, OPI_NONE, OPI_NONE }, 0 }, - /* 229 */ { VXInstructionMnemonic::FSUB, { OPI_ST0, OPI_ST7, OPI_NONE, OPI_NONE }, 0 }, - /* 22A */ { VXInstructionMnemonic::FSUB, { OPI_ST0, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 22B */ { VXInstructionMnemonic::FSUB, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 22C */ { VXInstructionMnemonic::FSUB, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 209 */ { VXInstructionMnemonic::FSTP, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 20A */ { VXInstructionMnemonic::FSTP, { OPI_Mt, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 20B */ { VXInstructionMnemonic::FSTP, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 20C */ { VXInstructionMnemonic::FSTP, { OPI_ST1, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 20D */ { VXInstructionMnemonic::FSTP, { OPI_ST0, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 20E */ { VXInstructionMnemonic::FSTP1, { OPI_ST5, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 20F */ { VXInstructionMnemonic::FSTP1, { OPI_ST4, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 210 */ { VXInstructionMnemonic::FSTP1, { OPI_ST7, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 211 */ { VXInstructionMnemonic::FSTP1, { OPI_ST6, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 212 */ { VXInstructionMnemonic::FSTP1, { OPI_ST1, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 213 */ { VXInstructionMnemonic::FSTP1, { OPI_ST0, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 214 */ { VXInstructionMnemonic::FSTP1, { OPI_ST3, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 215 */ { VXInstructionMnemonic::FSTP1, { OPI_ST2, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 216 */ { VXInstructionMnemonic::FSTP8, { OPI_ST5, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 217 */ { VXInstructionMnemonic::FSTP8, { OPI_ST4, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 218 */ { VXInstructionMnemonic::FSTP8, { OPI_ST7, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 219 */ { VXInstructionMnemonic::FSTP8, { OPI_ST6, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 21A */ { VXInstructionMnemonic::FSTP8, { OPI_ST1, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 21B */ { VXInstructionMnemonic::FSTP8, { OPI_ST0, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 21C */ { VXInstructionMnemonic::FSTP8, { OPI_ST3, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 21D */ { VXInstructionMnemonic::FSTP8, { OPI_ST2, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 21E */ { VXInstructionMnemonic::FSTP9, { OPI_ST2, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 21F */ { VXInstructionMnemonic::FSTP9, { OPI_ST3, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 220 */ { VXInstructionMnemonic::FSTP9, { OPI_ST0, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 221 */ { VXInstructionMnemonic::FSTP9, { OPI_ST1, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 222 */ { VXInstructionMnemonic::FSTP9, { OPI_ST6, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 223 */ { VXInstructionMnemonic::FSTP9, { OPI_ST7, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 224 */ { VXInstructionMnemonic::FSTP9, { OPI_ST4, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 225 */ { VXInstructionMnemonic::FSTP9, { OPI_ST5, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 226 */ { VXInstructionMnemonic::FSUB, { OPI_ST0, OPI_ST1, OPI_NONE, OPI_NONE }, 0 }, + /* 227 */ { VXInstructionMnemonic::FSUB, { OPI_ST0, OPI_ST7, OPI_NONE, OPI_NONE }, 0 }, + /* 228 */ { VXInstructionMnemonic::FSUB, { OPI_ST0, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 229 */ { VXInstructionMnemonic::FSUB, { OPI_ST0, OPI_ST2, OPI_NONE, OPI_NONE }, 0 }, + /* 22A */ { VXInstructionMnemonic::FSUB, { OPI_ST0, OPI_ST6, OPI_NONE, OPI_NONE }, 0 }, + /* 22B */ { VXInstructionMnemonic::FSUB, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 22C */ { VXInstructionMnemonic::FSUB, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, /* 22D */ { VXInstructionMnemonic::FSUB, { OPI_ST0, OPI_ST5, OPI_NONE, OPI_NONE }, 0 }, - /* 22E */ { VXInstructionMnemonic::FSUB, { OPI_ST6, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 22F */ { VXInstructionMnemonic::FSUB, { OPI_ST1, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 230 */ { VXInstructionMnemonic::FSUB, { OPI_ST7, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 231 */ { VXInstructionMnemonic::FSUB, { OPI_ST4, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 232 */ { VXInstructionMnemonic::FSUB, { OPI_ST0, OPI_ST4, OPI_NONE, OPI_NONE }, 0 }, + /* 22E */ { VXInstructionMnemonic::FSUB, { OPI_ST0, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 22F */ { VXInstructionMnemonic::FSUB, { OPI_ST7, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 230 */ { VXInstructionMnemonic::FSUB, { OPI_ST6, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 231 */ { VXInstructionMnemonic::FSUB, { OPI_ST0, OPI_ST4, OPI_NONE, OPI_NONE }, 0 }, + /* 232 */ { VXInstructionMnemonic::FSUB, { OPI_ST0, OPI_ST3, OPI_NONE, OPI_NONE }, 0 }, /* 233 */ { VXInstructionMnemonic::FSUB, { OPI_ST5, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 234 */ { VXInstructionMnemonic::FSUBP, { OPI_ST3, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 235 */ { VXInstructionMnemonic::FSUBP, { OPI_ST7, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 236 */ { VXInstructionMnemonic::FSUBP, { OPI_ST5, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 237 */ { VXInstructionMnemonic::FSUBP, { OPI_ST4, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 238 */ { VXInstructionMnemonic::FSUBP, { OPI_ST0, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 239 */ { VXInstructionMnemonic::FSUBP, { OPI_ST6, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 23A */ { VXInstructionMnemonic::FSUBP, { OPI_ST2, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 23B */ { VXInstructionMnemonic::FSUBP, { OPI_ST1, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 23C */ { VXInstructionMnemonic::FSUBR, { OPI_ST4, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 23D */ { VXInstructionMnemonic::FSUBR, { OPI_ST6, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 23E */ { VXInstructionMnemonic::FSUBR, { OPI_ST5, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 23F */ { VXInstructionMnemonic::FSUBR, { OPI_ST3, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 240 */ { VXInstructionMnemonic::FSUBR, { OPI_ST0, OPI_ST2, OPI_NONE, OPI_NONE }, 0 }, - /* 241 */ { VXInstructionMnemonic::FSUBR, { OPI_ST0, OPI_ST1, OPI_NONE, OPI_NONE }, 0 }, - /* 242 */ { VXInstructionMnemonic::FSUBR, { OPI_ST0, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 243 */ { VXInstructionMnemonic::FSUBR, { OPI_ST0, OPI_ST3, OPI_NONE, OPI_NONE }, 0 }, + /* 234 */ { VXInstructionMnemonic::FSUB, { OPI_ST2, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 235 */ { VXInstructionMnemonic::FSUB, { OPI_ST1, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 236 */ { VXInstructionMnemonic::FSUB, { OPI_ST4, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 237 */ { VXInstructionMnemonic::FSUB, { OPI_ST3, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 238 */ { VXInstructionMnemonic::FSUBP, { OPI_ST4, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 239 */ { VXInstructionMnemonic::FSUBP, { OPI_ST3, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 23A */ { VXInstructionMnemonic::FSUBP, { OPI_ST5, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 23B */ { VXInstructionMnemonic::FSUBP, { OPI_ST0, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 23C */ { VXInstructionMnemonic::FSUBP, { OPI_ST2, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 23D */ { VXInstructionMnemonic::FSUBP, { OPI_ST1, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 23E */ { VXInstructionMnemonic::FSUBP, { OPI_ST6, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 23F */ { VXInstructionMnemonic::FSUBP, { OPI_ST7, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 240 */ { VXInstructionMnemonic::FSUBR, { OPI_ST4, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 241 */ { VXInstructionMnemonic::FSUBR, { OPI_ST2, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 242 */ { VXInstructionMnemonic::FSUBR, { OPI_ST3, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 243 */ { VXInstructionMnemonic::FSUBR, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, /* 244 */ { VXInstructionMnemonic::FSUBR, { OPI_ST7, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 245 */ { VXInstructionMnemonic::FSUBR, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 246 */ { VXInstructionMnemonic::FSUBR, { OPI_ST0, OPI_ST4, OPI_NONE, OPI_NONE }, 0 }, - /* 247 */ { VXInstructionMnemonic::FSUBR, { OPI_ST0, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 248 */ { VXInstructionMnemonic::FSUBR, { OPI_ST1, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 249 */ { VXInstructionMnemonic::FSUBR, { OPI_ST2, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 24A */ { VXInstructionMnemonic::FSUBR, { OPI_ST0, OPI_ST7, OPI_NONE, OPI_NONE }, 0 }, - /* 24B */ { VXInstructionMnemonic::FSUBR, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 24C */ { VXInstructionMnemonic::FSUBR, { OPI_ST0, OPI_ST5, OPI_NONE, OPI_NONE }, 0 }, - /* 24D */ { VXInstructionMnemonic::FSUBR, { OPI_ST0, OPI_ST6, OPI_NONE, OPI_NONE }, 0 }, - /* 24E */ { VXInstructionMnemonic::FSUBRP, { OPI_ST4, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 24F */ { VXInstructionMnemonic::FSUBRP, { OPI_ST5, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 250 */ { VXInstructionMnemonic::FSUBRP, { OPI_ST6, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 251 */ { VXInstructionMnemonic::FSUBRP, { OPI_ST3, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 252 */ { VXInstructionMnemonic::FSUBRP, { OPI_ST0, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 253 */ { VXInstructionMnemonic::FSUBRP, { OPI_ST1, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 254 */ { VXInstructionMnemonic::FSUBRP, { OPI_ST2, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 255 */ { VXInstructionMnemonic::FSUBRP, { OPI_ST7, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 256 */ { VXInstructionMnemonic::FTST, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 257 */ { VXInstructionMnemonic::FUCOM, { OPI_ST5, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 258 */ { VXInstructionMnemonic::FUCOM, { OPI_ST4, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 259 */ { VXInstructionMnemonic::FUCOM, { OPI_ST7, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 25A */ { VXInstructionMnemonic::FUCOM, { OPI_ST6, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 25B */ { VXInstructionMnemonic::FUCOM, { OPI_ST1, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 25C */ { VXInstructionMnemonic::FUCOM, { OPI_ST2, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 25D */ { VXInstructionMnemonic::FUCOM, { OPI_ST3, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 25E */ { VXInstructionMnemonic::FUCOM, { OPI_ST0, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 25F */ { VXInstructionMnemonic::FUCOMI, { OPI_ST0, OPI_ST2, OPI_NONE, OPI_NONE }, 0 }, - /* 260 */ { VXInstructionMnemonic::FUCOMI, { OPI_ST0, OPI_ST3, OPI_NONE, OPI_NONE }, 0 }, - /* 261 */ { VXInstructionMnemonic::FUCOMI, { OPI_ST0, OPI_ST6, OPI_NONE, OPI_NONE }, 0 }, - /* 262 */ { VXInstructionMnemonic::FUCOMI, { OPI_ST0, OPI_ST7, OPI_NONE, OPI_NONE }, 0 }, + /* 245 */ { VXInstructionMnemonic::FSUBR, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 246 */ { VXInstructionMnemonic::FSUBR, { OPI_ST0, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 247 */ { VXInstructionMnemonic::FSUBR, { OPI_ST1, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 248 */ { VXInstructionMnemonic::FSUBR, { OPI_ST0, OPI_ST4, OPI_NONE, OPI_NONE }, 0 }, + /* 249 */ { VXInstructionMnemonic::FSUBR, { OPI_ST0, OPI_ST5, OPI_NONE, OPI_NONE }, 0 }, + /* 24A */ { VXInstructionMnemonic::FSUBR, { OPI_ST0, OPI_ST3, OPI_NONE, OPI_NONE }, 0 }, + /* 24B */ { VXInstructionMnemonic::FSUBR, { OPI_ST0, OPI_ST1, OPI_NONE, OPI_NONE }, 0 }, + /* 24C */ { VXInstructionMnemonic::FSUBR, { OPI_ST0, OPI_ST2, OPI_NONE, OPI_NONE }, 0 }, + /* 24D */ { VXInstructionMnemonic::FSUBR, { OPI_ST6, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 24E */ { VXInstructionMnemonic::FSUBR, { OPI_ST5, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 24F */ { VXInstructionMnemonic::FSUBR, { OPI_ST0, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 250 */ { VXInstructionMnemonic::FSUBR, { OPI_ST0, OPI_ST6, OPI_NONE, OPI_NONE }, 0 }, + /* 251 */ { VXInstructionMnemonic::FSUBR, { OPI_ST0, OPI_ST7, OPI_NONE, OPI_NONE }, 0 }, + /* 252 */ { VXInstructionMnemonic::FSUBRP, { OPI_ST5, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 253 */ { VXInstructionMnemonic::FSUBRP, { OPI_ST4, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 254 */ { VXInstructionMnemonic::FSUBRP, { OPI_ST7, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 255 */ { VXInstructionMnemonic::FSUBRP, { OPI_ST6, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 256 */ { VXInstructionMnemonic::FSUBRP, { OPI_ST2, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 257 */ { VXInstructionMnemonic::FSUBRP, { OPI_ST3, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 258 */ { VXInstructionMnemonic::FSUBRP, { OPI_ST0, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 259 */ { VXInstructionMnemonic::FSUBRP, { OPI_ST1, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 25A */ { VXInstructionMnemonic::FTST, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 25B */ { VXInstructionMnemonic::FUCOM, { OPI_ST2, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 25C */ { VXInstructionMnemonic::FUCOM, { OPI_ST1, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 25D */ { VXInstructionMnemonic::FUCOM, { OPI_ST0, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 25E */ { VXInstructionMnemonic::FUCOM, { OPI_ST3, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 25F */ { VXInstructionMnemonic::FUCOM, { OPI_ST6, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 260 */ { VXInstructionMnemonic::FUCOM, { OPI_ST7, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 261 */ { VXInstructionMnemonic::FUCOM, { OPI_ST4, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 262 */ { VXInstructionMnemonic::FUCOM, { OPI_ST5, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, /* 263 */ { VXInstructionMnemonic::FUCOMI, { OPI_ST0, OPI_ST4, OPI_NONE, OPI_NONE }, 0 }, - /* 264 */ { VXInstructionMnemonic::FUCOMI, { OPI_ST0, OPI_ST5, OPI_NONE, OPI_NONE }, 0 }, - /* 265 */ { VXInstructionMnemonic::FUCOMI, { OPI_ST0, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 266 */ { VXInstructionMnemonic::FUCOMI, { OPI_ST0, OPI_ST1, OPI_NONE, OPI_NONE }, 0 }, - /* 267 */ { VXInstructionMnemonic::FUCOMIP, { OPI_ST0, OPI_ST4, OPI_NONE, OPI_NONE }, 0 }, - /* 268 */ { VXInstructionMnemonic::FUCOMIP, { OPI_ST0, OPI_ST3, OPI_NONE, OPI_NONE }, 0 }, - /* 269 */ { VXInstructionMnemonic::FUCOMIP, { OPI_ST0, OPI_ST2, OPI_NONE, OPI_NONE }, 0 }, - /* 26A */ { VXInstructionMnemonic::FUCOMIP, { OPI_ST0, OPI_ST7, OPI_NONE, OPI_NONE }, 0 }, - /* 26B */ { VXInstructionMnemonic::FUCOMIP, { OPI_ST0, OPI_ST6, OPI_NONE, OPI_NONE }, 0 }, - /* 26C */ { VXInstructionMnemonic::FUCOMIP, { OPI_ST0, OPI_ST5, OPI_NONE, OPI_NONE }, 0 }, - /* 26D */ { VXInstructionMnemonic::FUCOMIP, { OPI_ST0, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 26E */ { VXInstructionMnemonic::FUCOMIP, { OPI_ST0, OPI_ST1, OPI_NONE, OPI_NONE }, 0 }, - /* 26F */ { VXInstructionMnemonic::FUCOMP, { OPI_ST5, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 270 */ { VXInstructionMnemonic::FUCOMP, { OPI_ST4, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 271 */ { VXInstructionMnemonic::FUCOMP, { OPI_ST7, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 272 */ { VXInstructionMnemonic::FUCOMP, { OPI_ST6, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 273 */ { VXInstructionMnemonic::FUCOMP, { OPI_ST2, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 274 */ { VXInstructionMnemonic::FUCOMP, { OPI_ST3, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 275 */ { VXInstructionMnemonic::FUCOMP, { OPI_ST0, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 276 */ { VXInstructionMnemonic::FUCOMP, { OPI_ST1, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 277 */ { VXInstructionMnemonic::FUCOMPP, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 278 */ { VXInstructionMnemonic::FXAM, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 279 */ { VXInstructionMnemonic::FXCH, { OPI_ST0, OPI_ST5, OPI_NONE, OPI_NONE }, 0 }, - /* 27A */ { VXInstructionMnemonic::FXCH, { OPI_ST0, OPI_ST4, OPI_NONE, OPI_NONE }, 0 }, - /* 27B */ { VXInstructionMnemonic::FXCH, { OPI_ST0, OPI_ST7, OPI_NONE, OPI_NONE }, 0 }, - /* 27C */ { VXInstructionMnemonic::FXCH, { OPI_ST0, OPI_ST6, OPI_NONE, OPI_NONE }, 0 }, - /* 27D */ { VXInstructionMnemonic::FXCH, { OPI_ST0, OPI_ST1, OPI_NONE, OPI_NONE }, 0 }, - /* 27E */ { VXInstructionMnemonic::FXCH, { OPI_ST0, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, - /* 27F */ { VXInstructionMnemonic::FXCH, { OPI_ST0, OPI_ST3, OPI_NONE, OPI_NONE }, 0 }, - /* 280 */ { VXInstructionMnemonic::FXCH, { OPI_ST0, OPI_ST2, OPI_NONE, OPI_NONE }, 0 }, - /* 281 */ { VXInstructionMnemonic::FXCH4, { OPI_ST3, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 282 */ { VXInstructionMnemonic::FXCH4, { OPI_ST2, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 283 */ { VXInstructionMnemonic::FXCH4, { OPI_ST5, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 284 */ { VXInstructionMnemonic::FXCH4, { OPI_ST1, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 285 */ { VXInstructionMnemonic::FXCH4, { OPI_ST6, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 286 */ { VXInstructionMnemonic::FXCH4, { OPI_ST7, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 287 */ { VXInstructionMnemonic::FXCH4, { OPI_ST0, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 288 */ { VXInstructionMnemonic::FXCH4, { OPI_ST4, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 289 */ { VXInstructionMnemonic::FXCH7, { OPI_ST5, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 28A */ { VXInstructionMnemonic::FXCH7, { OPI_ST1, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 28B */ { VXInstructionMnemonic::FXCH7, { OPI_ST0, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 28C */ { VXInstructionMnemonic::FXCH7, { OPI_ST2, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 28D */ { VXInstructionMnemonic::FXCH7, { OPI_ST4, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 264 */ { VXInstructionMnemonic::FUCOMI, { OPI_ST0, OPI_ST3, OPI_NONE, OPI_NONE }, 0 }, + /* 265 */ { VXInstructionMnemonic::FUCOMI, { OPI_ST0, OPI_ST2, OPI_NONE, OPI_NONE }, 0 }, + /* 266 */ { VXInstructionMnemonic::FUCOMI, { OPI_ST0, OPI_ST7, OPI_NONE, OPI_NONE }, 0 }, + /* 267 */ { VXInstructionMnemonic::FUCOMI, { OPI_ST0, OPI_ST6, OPI_NONE, OPI_NONE }, 0 }, + /* 268 */ { VXInstructionMnemonic::FUCOMI, { OPI_ST0, OPI_ST5, OPI_NONE, OPI_NONE }, 0 }, + /* 269 */ { VXInstructionMnemonic::FUCOMI, { OPI_ST0, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 26A */ { VXInstructionMnemonic::FUCOMI, { OPI_ST0, OPI_ST1, OPI_NONE, OPI_NONE }, 0 }, + /* 26B */ { VXInstructionMnemonic::FUCOMIP, { OPI_ST0, OPI_ST4, OPI_NONE, OPI_NONE }, 0 }, + /* 26C */ { VXInstructionMnemonic::FUCOMIP, { OPI_ST0, OPI_ST3, OPI_NONE, OPI_NONE }, 0 }, + /* 26D */ { VXInstructionMnemonic::FUCOMIP, { OPI_ST0, OPI_ST2, OPI_NONE, OPI_NONE }, 0 }, + /* 26E */ { VXInstructionMnemonic::FUCOMIP, { OPI_ST0, OPI_ST7, OPI_NONE, OPI_NONE }, 0 }, + /* 26F */ { VXInstructionMnemonic::FUCOMIP, { OPI_ST0, OPI_ST6, OPI_NONE, OPI_NONE }, 0 }, + /* 270 */ { VXInstructionMnemonic::FUCOMIP, { OPI_ST0, OPI_ST5, OPI_NONE, OPI_NONE }, 0 }, + /* 271 */ { VXInstructionMnemonic::FUCOMIP, { OPI_ST0, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 272 */ { VXInstructionMnemonic::FUCOMIP, { OPI_ST0, OPI_ST1, OPI_NONE, OPI_NONE }, 0 }, + /* 273 */ { VXInstructionMnemonic::FUCOMP, { OPI_ST5, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 274 */ { VXInstructionMnemonic::FUCOMP, { OPI_ST4, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 275 */ { VXInstructionMnemonic::FUCOMP, { OPI_ST7, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 276 */ { VXInstructionMnemonic::FUCOMP, { OPI_ST6, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 277 */ { VXInstructionMnemonic::FUCOMP, { OPI_ST1, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 278 */ { VXInstructionMnemonic::FUCOMP, { OPI_ST0, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 279 */ { VXInstructionMnemonic::FUCOMP, { OPI_ST3, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 27A */ { VXInstructionMnemonic::FUCOMP, { OPI_ST2, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 27B */ { VXInstructionMnemonic::FUCOMPP, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 27C */ { VXInstructionMnemonic::FXAM, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 27D */ { VXInstructionMnemonic::FXCH, { OPI_ST0, OPI_ST4, OPI_NONE, OPI_NONE }, 0 }, + /* 27E */ { VXInstructionMnemonic::FXCH, { OPI_ST0, OPI_ST5, OPI_NONE, OPI_NONE }, 0 }, + /* 27F */ { VXInstructionMnemonic::FXCH, { OPI_ST0, OPI_ST6, OPI_NONE, OPI_NONE }, 0 }, + /* 280 */ { VXInstructionMnemonic::FXCH, { OPI_ST0, OPI_ST3, OPI_NONE, OPI_NONE }, 0 }, + /* 281 */ { VXInstructionMnemonic::FXCH, { OPI_ST0, OPI_ST0, OPI_NONE, OPI_NONE }, 0 }, + /* 282 */ { VXInstructionMnemonic::FXCH, { OPI_ST0, OPI_ST1, OPI_NONE, OPI_NONE }, 0 }, + /* 283 */ { VXInstructionMnemonic::FXCH, { OPI_ST0, OPI_ST2, OPI_NONE, OPI_NONE }, 0 }, + /* 284 */ { VXInstructionMnemonic::FXCH, { OPI_ST0, OPI_ST7, OPI_NONE, OPI_NONE }, 0 }, + /* 285 */ { VXInstructionMnemonic::FXCH4, { OPI_ST5, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 286 */ { VXInstructionMnemonic::FXCH4, { OPI_ST4, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 287 */ { VXInstructionMnemonic::FXCH4, { OPI_ST7, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 288 */ { VXInstructionMnemonic::FXCH4, { OPI_ST6, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 289 */ { VXInstructionMnemonic::FXCH4, { OPI_ST1, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 28A */ { VXInstructionMnemonic::FXCH4, { OPI_ST0, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 28B */ { VXInstructionMnemonic::FXCH4, { OPI_ST3, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 28C */ { VXInstructionMnemonic::FXCH4, { OPI_ST2, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 28D */ { VXInstructionMnemonic::FXCH7, { OPI_ST2, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, /* 28E */ { VXInstructionMnemonic::FXCH7, { OPI_ST3, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 28F */ { VXInstructionMnemonic::FXCH7, { OPI_ST7, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 290 */ { VXInstructionMnemonic::FXCH7, { OPI_ST6, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 291 */ { VXInstructionMnemonic::FXRSTOR, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 292 */ { VXInstructionMnemonic::FXSAVE, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 293 */ { VXInstructionMnemonic::FXTRACT, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 294 */ { VXInstructionMnemonic::FYL2X, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 295 */ { VXInstructionMnemonic::FYL2XP1, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 296 */ { VXInstructionMnemonic::GETSEC, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 297 */ { VXInstructionMnemonic::HADDPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 298 */ { VXInstructionMnemonic::HADDPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 299 */ { VXInstructionMnemonic::HLT, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 29A */ { VXInstructionMnemonic::HSUBPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 29B */ { VXInstructionMnemonic::HSUBPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 29C */ { VXInstructionMnemonic::IDIV, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 29D */ { VXInstructionMnemonic::IDIV, { OPI_Ev, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 29E */ { VXInstructionMnemonic::IMUL, { OPI_Ev, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 29F */ { VXInstructionMnemonic::IMUL, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 2A0 */ { VXInstructionMnemonic::IMUL, { OPI_Gv, OPI_Ev, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 2A1 */ { VXInstructionMnemonic::IMUL, { OPI_Gv, OPI_Ev, OPI_Iz, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 2A2 */ { VXInstructionMnemonic::IMUL, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 2A3 */ { VXInstructionMnemonic::IN, { OPI_eAX, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE }, - /* 2A4 */ { VXInstructionMnemonic::IN, { OPI_AL, OPI_DX, OPI_NONE, OPI_NONE }, 0 }, - /* 2A5 */ { VXInstructionMnemonic::IN, { OPI_eAX, OPI_DX, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE }, - /* 2A6 */ { VXInstructionMnemonic::IN, { OPI_AL, OPI_Ib, OPI_NONE, OPI_NONE }, 0 }, - /* 2A7 */ { VXInstructionMnemonic::INC, { OPI_R0z, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE }, - /* 2A8 */ { VXInstructionMnemonic::INC, { OPI_R7z, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE }, - /* 2A9 */ { VXInstructionMnemonic::INC, { OPI_R6z, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE }, - /* 2AA */ { VXInstructionMnemonic::INC, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 2AB */ { VXInstructionMnemonic::INC, { OPI_Ev, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 2AC */ { VXInstructionMnemonic::INC, { OPI_R5z, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE }, - /* 2AD */ { VXInstructionMnemonic::INC, { OPI_R2z, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE }, - /* 2AE */ { VXInstructionMnemonic::INC, { OPI_R1z, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE }, - /* 2AF */ { VXInstructionMnemonic::INC, { OPI_R4z, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE }, - /* 2B0 */ { VXInstructionMnemonic::INC, { OPI_R3z, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE }, - /* 2B1 */ { VXInstructionMnemonic::INSB, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_SEGMENT_OVERRIDE }, - /* 2B2 */ { VXInstructionMnemonic::INSD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_SEGMENT_OVERRIDE }, - /* 2B3 */ { VXInstructionMnemonic::INSERTPS, { OPI_V, OPI_Md, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 2B4 */ { VXInstructionMnemonic::INSW, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_SEGMENT_OVERRIDE }, - /* 2B5 */ { VXInstructionMnemonic::INT, { OPI_Ib, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 2B6 */ { VXInstructionMnemonic::INT1, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 2B7 */ { VXInstructionMnemonic::INT3, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 2B8 */ { VXInstructionMnemonic::INTO, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_INVALID_64 }, - /* 2B9 */ { VXInstructionMnemonic::INVD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 2BA */ { VXInstructionMnemonic::INVEPT, { OPI_Gd, OPI_Mo, OPI_NONE, OPI_NONE }, 0 }, - /* 2BB */ { VXInstructionMnemonic::INVEPT, { OPI_Gq, OPI_Mo, OPI_NONE, OPI_NONE }, 0 }, - /* 2BC */ { VXInstructionMnemonic::INVLPG, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 2BD */ { VXInstructionMnemonic::INVLPGA, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 2BE */ { VXInstructionMnemonic::INVVPID, { OPI_Gq, OPI_Mo, OPI_NONE, OPI_NONE }, 0 }, - /* 2BF */ { VXInstructionMnemonic::INVVPID, { OPI_Gd, OPI_Mo, OPI_NONE, OPI_NONE }, 0 }, - /* 2C0 */ { VXInstructionMnemonic::IRETD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW }, - /* 2C1 */ { VXInstructionMnemonic::IRETQ, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW }, - /* 2C2 */ { VXInstructionMnemonic::IRETW, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW }, - /* 2C3 */ { VXInstructionMnemonic::JA, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_DEFAULT_64 }, - /* 2C4 */ { VXInstructionMnemonic::JA, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 2C5 */ { VXInstructionMnemonic::JAE, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_DEFAULT_64 }, - /* 2C6 */ { VXInstructionMnemonic::JAE, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 2C7 */ { VXInstructionMnemonic::JB, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_DEFAULT_64 }, - /* 2C8 */ { VXInstructionMnemonic::JB, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 2C9 */ { VXInstructionMnemonic::JBE, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_DEFAULT_64 }, - /* 2CA */ { VXInstructionMnemonic::JBE, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 2CB */ { VXInstructionMnemonic::JCXZ, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE }, - /* 2CC */ { VXInstructionMnemonic::JECXZ, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE }, - /* 2CD */ { VXInstructionMnemonic::JG, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_DEFAULT_64 }, - /* 2CE */ { VXInstructionMnemonic::JG, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 2CF */ { VXInstructionMnemonic::JGE, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 2D0 */ { VXInstructionMnemonic::JGE, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_DEFAULT_64 }, - /* 2D1 */ { VXInstructionMnemonic::JL, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 2D2 */ { VXInstructionMnemonic::JL, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_DEFAULT_64 }, - /* 2D3 */ { VXInstructionMnemonic::JLE, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_DEFAULT_64 }, - /* 2D4 */ { VXInstructionMnemonic::JLE, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 2D5 */ { VXInstructionMnemonic::JMP, { OPI_Fv, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 2D6 */ { VXInstructionMnemonic::JMP, { OPI_Ev, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, - /* 2D7 */ { VXInstructionMnemonic::JMP, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_DEFAULT_64 }, - /* 2D8 */ { VXInstructionMnemonic::JMP, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_DEFAULT_64 }, - /* 2D9 */ { VXInstructionMnemonic::JMP, { OPI_Av, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE }, - /* 2DA */ { VXInstructionMnemonic::JNO, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_DEFAULT_64 }, - /* 2DB */ { VXInstructionMnemonic::JNO, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 2DC */ { VXInstructionMnemonic::JNP, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 2DD */ { VXInstructionMnemonic::JNP, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_DEFAULT_64 }, - /* 2DE */ { VXInstructionMnemonic::JNS, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_DEFAULT_64 }, - /* 2DF */ { VXInstructionMnemonic::JNS, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 2E0 */ { VXInstructionMnemonic::JNZ, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_DEFAULT_64 }, - /* 2E1 */ { VXInstructionMnemonic::JNZ, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 2E2 */ { VXInstructionMnemonic::JO, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 2E3 */ { VXInstructionMnemonic::JO, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_DEFAULT_64 }, - /* 2E4 */ { VXInstructionMnemonic::JP, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_DEFAULT_64 }, - /* 2E5 */ { VXInstructionMnemonic::JP, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 2E6 */ { VXInstructionMnemonic::JRCXZ, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE }, - /* 2E7 */ { VXInstructionMnemonic::JS, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_DEFAULT_64 }, - /* 2E8 */ { VXInstructionMnemonic::JS, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 2E9 */ { VXInstructionMnemonic::JZ, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_DEFAULT_64 }, - /* 2EA */ { VXInstructionMnemonic::JZ, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 2EB */ { VXInstructionMnemonic::LAHF, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 2EC */ { VXInstructionMnemonic::LAR, { OPI_Gv, OPI_Ew, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 2ED */ { VXInstructionMnemonic::LDDQU, { OPI_V, OPI_M, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 2EE */ { VXInstructionMnemonic::LDMXCSR, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 2EF */ { VXInstructionMnemonic::LDS, { OPI_Gv, OPI_M, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE }, - /* 2F0 */ { VXInstructionMnemonic::LEA, { OPI_Gv, OPI_M, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 2F1 */ { VXInstructionMnemonic::LEAVE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 2F2 */ { VXInstructionMnemonic::LES, { OPI_Gv, OPI_M, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE }, - /* 2F3 */ { VXInstructionMnemonic::LFENCE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 2F4 */ { VXInstructionMnemonic::LFENCE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 2F5 */ { VXInstructionMnemonic::LFENCE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 2F6 */ { VXInstructionMnemonic::LFENCE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 28F */ { VXInstructionMnemonic::FXCH7, { OPI_ST0, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 290 */ { VXInstructionMnemonic::FXCH7, { OPI_ST1, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 291 */ { VXInstructionMnemonic::FXCH7, { OPI_ST6, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 292 */ { VXInstructionMnemonic::FXCH7, { OPI_ST7, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 293 */ { VXInstructionMnemonic::FXCH7, { OPI_ST4, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 294 */ { VXInstructionMnemonic::FXCH7, { OPI_ST5, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 295 */ { VXInstructionMnemonic::FXRSTOR, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 296 */ { VXInstructionMnemonic::FXSAVE, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 297 */ { VXInstructionMnemonic::FXTRACT, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 298 */ { VXInstructionMnemonic::FYL2X, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 299 */ { VXInstructionMnemonic::FYL2XP1, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 29A */ { VXInstructionMnemonic::GETSEC, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 29B */ { VXInstructionMnemonic::HADDPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 29C */ { VXInstructionMnemonic::HADDPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 29D */ { VXInstructionMnemonic::HLT, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 29E */ { VXInstructionMnemonic::HSUBPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 29F */ { VXInstructionMnemonic::HSUBPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 2A0 */ { VXInstructionMnemonic::IDIV, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 2A1 */ { VXInstructionMnemonic::IDIV, { OPI_Ev, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 2A2 */ { VXInstructionMnemonic::IMUL, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 2A3 */ { VXInstructionMnemonic::IMUL, { OPI_Ev, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 2A4 */ { VXInstructionMnemonic::IMUL, { OPI_Gv, OPI_Ev, OPI_Iz, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 2A5 */ { VXInstructionMnemonic::IMUL, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 2A6 */ { VXInstructionMnemonic::IMUL, { OPI_Gv, OPI_Ev, OPI_sIb, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 2A7 */ { VXInstructionMnemonic::IN, { OPI_AL, OPI_DX, OPI_NONE, OPI_NONE }, IDF_OPERAND1_WRITE }, + /* 2A8 */ { VXInstructionMnemonic::IN, { OPI_eAX, OPI_DX, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_OPERAND1_WRITE }, + /* 2A9 */ { VXInstructionMnemonic::IN, { OPI_AL, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_OPERAND1_WRITE }, + /* 2AA */ { VXInstructionMnemonic::IN, { OPI_eAX, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_OPERAND1_WRITE }, + /* 2AB */ { VXInstructionMnemonic::INC, { OPI_R0z, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_OPERAND1_READWRITE }, + /* 2AC */ { VXInstructionMnemonic::INC, { OPI_R1z, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_OPERAND1_READWRITE }, + /* 2AD */ { VXInstructionMnemonic::INC, { OPI_R7z, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_OPERAND1_READWRITE }, + /* 2AE */ { VXInstructionMnemonic::INC, { OPI_R6z, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_OPERAND1_READWRITE }, + /* 2AF */ { VXInstructionMnemonic::INC, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 2B0 */ { VXInstructionMnemonic::INC, { OPI_Ev, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 2B1 */ { VXInstructionMnemonic::INC, { OPI_R3z, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_OPERAND1_READWRITE }, + /* 2B2 */ { VXInstructionMnemonic::INC, { OPI_R2z, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_OPERAND1_READWRITE }, + /* 2B3 */ { VXInstructionMnemonic::INC, { OPI_R4z, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_OPERAND1_READWRITE }, + /* 2B4 */ { VXInstructionMnemonic::INC, { OPI_R5z, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_OPERAND1_READWRITE }, + /* 2B5 */ { VXInstructionMnemonic::INSB, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_SEGMENT_PREFIX }, + /* 2B6 */ { VXInstructionMnemonic::INSD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_SEGMENT_PREFIX }, + /* 2B7 */ { VXInstructionMnemonic::INSERTPS, { OPI_V, OPI_Md, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 2B8 */ { VXInstructionMnemonic::INSW, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_SEGMENT_PREFIX }, + /* 2B9 */ { VXInstructionMnemonic::INT, { OPI_Ib, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 2BA */ { VXInstructionMnemonic::INT1, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 2BB */ { VXInstructionMnemonic::INT3, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 2BC */ { VXInstructionMnemonic::INTO, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_INVALID_64 }, + /* 2BD */ { VXInstructionMnemonic::INVD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 2BE */ { VXInstructionMnemonic::INVEPT, { OPI_Gd, OPI_Mo, OPI_NONE, OPI_NONE }, 0 }, + /* 2BF */ { VXInstructionMnemonic::INVEPT, { OPI_Gq, OPI_Mo, OPI_NONE, OPI_NONE }, 0 }, + /* 2C0 */ { VXInstructionMnemonic::INVLPG, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 2C1 */ { VXInstructionMnemonic::INVLPGA, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 2C2 */ { VXInstructionMnemonic::INVVPID, { OPI_Gd, OPI_Mo, OPI_NONE, OPI_NONE }, 0 }, + /* 2C3 */ { VXInstructionMnemonic::INVVPID, { OPI_Gq, OPI_Mo, OPI_NONE, OPI_NONE }, 0 }, + /* 2C4 */ { VXInstructionMnemonic::IRETD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW }, + /* 2C5 */ { VXInstructionMnemonic::IRETQ, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW }, + /* 2C6 */ { VXInstructionMnemonic::IRETW, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW }, + /* 2C7 */ { VXInstructionMnemonic::JA, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_DEFAULT_64 }, + /* 2C8 */ { VXInstructionMnemonic::JA, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 2C9 */ { VXInstructionMnemonic::JAE, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_DEFAULT_64 }, + /* 2CA */ { VXInstructionMnemonic::JAE, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 2CB */ { VXInstructionMnemonic::JB, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_DEFAULT_64 }, + /* 2CC */ { VXInstructionMnemonic::JB, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 2CD */ { VXInstructionMnemonic::JBE, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 2CE */ { VXInstructionMnemonic::JBE, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_DEFAULT_64 }, + /* 2CF */ { VXInstructionMnemonic::JCXZ, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX }, + /* 2D0 */ { VXInstructionMnemonic::JE, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 2D1 */ { VXInstructionMnemonic::JE, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_DEFAULT_64 }, + /* 2D2 */ { VXInstructionMnemonic::JECXZ, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX }, + /* 2D3 */ { VXInstructionMnemonic::JG, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 2D4 */ { VXInstructionMnemonic::JG, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_DEFAULT_64 }, + /* 2D5 */ { VXInstructionMnemonic::JGE, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 2D6 */ { VXInstructionMnemonic::JGE, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_DEFAULT_64 }, + /* 2D7 */ { VXInstructionMnemonic::JL, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 2D8 */ { VXInstructionMnemonic::JL, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_DEFAULT_64 }, + /* 2D9 */ { VXInstructionMnemonic::JLE, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_DEFAULT_64 }, + /* 2DA */ { VXInstructionMnemonic::JLE, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 2DB */ { VXInstructionMnemonic::JMP, { OPI_Fv, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 2DC */ { VXInstructionMnemonic::JMP, { OPI_Ev, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, + /* 2DD */ { VXInstructionMnemonic::JMP, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_DEFAULT_64 }, + /* 2DE */ { VXInstructionMnemonic::JMP, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_DEFAULT_64 }, + /* 2DF */ { VXInstructionMnemonic::JMP, { OPI_Av, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX }, + /* 2E0 */ { VXInstructionMnemonic::JNE, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_DEFAULT_64 }, + /* 2E1 */ { VXInstructionMnemonic::JNE, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 2E2 */ { VXInstructionMnemonic::JNO, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 2E3 */ { VXInstructionMnemonic::JNO, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_DEFAULT_64 }, + /* 2E4 */ { VXInstructionMnemonic::JNP, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_DEFAULT_64 }, + /* 2E5 */ { VXInstructionMnemonic::JNP, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 2E6 */ { VXInstructionMnemonic::JNS, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 2E7 */ { VXInstructionMnemonic::JNS, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_DEFAULT_64 }, + /* 2E8 */ { VXInstructionMnemonic::JO, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 2E9 */ { VXInstructionMnemonic::JO, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_DEFAULT_64 }, + /* 2EA */ { VXInstructionMnemonic::JP, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_DEFAULT_64 }, + /* 2EB */ { VXInstructionMnemonic::JP, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 2EC */ { VXInstructionMnemonic::JRCXZ, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX }, + /* 2ED */ { VXInstructionMnemonic::JS, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 2EE */ { VXInstructionMnemonic::JS, { OPI_Jz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_DEFAULT_64 }, + /* 2EF */ { VXInstructionMnemonic::LAHF, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 2F0 */ { VXInstructionMnemonic::LAR, { OPI_Gv, OPI_Ew, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 2F1 */ { VXInstructionMnemonic::LDDQU, { OPI_V, OPI_M, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 2F2 */ { VXInstructionMnemonic::LDMXCSR, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 2F3 */ { VXInstructionMnemonic::LDS, { OPI_Gv, OPI_M, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_OPERAND1_WRITE }, + /* 2F4 */ { VXInstructionMnemonic::LEA, { OPI_Gv, OPI_M, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 2F5 */ { VXInstructionMnemonic::LEAVE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 2F6 */ { VXInstructionMnemonic::LES, { OPI_Gv, OPI_M, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_OPERAND1_WRITE }, /* 2F7 */ { VXInstructionMnemonic::LFENCE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 2F8 */ { VXInstructionMnemonic::LFENCE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 2F9 */ { VXInstructionMnemonic::LFENCE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 2FA */ { VXInstructionMnemonic::LFENCE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 2FB */ { VXInstructionMnemonic::LFS, { OPI_Gz, OPI_M, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 2FC */ { VXInstructionMnemonic::LGDT, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 2FD */ { VXInstructionMnemonic::LGS, { OPI_Gz, OPI_M, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 2FE */ { VXInstructionMnemonic::LIDT, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 2FF */ { VXInstructionMnemonic::LLDT, { OPI_Ew, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 300 */ { VXInstructionMnemonic::LMSW, { OPI_Ew, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 301 */ { VXInstructionMnemonic::LMSW, { OPI_Ew, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 302 */ { VXInstructionMnemonic::LOCK, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 303 */ { VXInstructionMnemonic::LODSB, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_SEGMENT_OVERRIDE }, - /* 304 */ { VXInstructionMnemonic::LODSD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_SEGMENT_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW }, - /* 305 */ { VXInstructionMnemonic::LODSQ, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_SEGMENT_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW }, - /* 306 */ { VXInstructionMnemonic::LODSW, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_SEGMENT_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW }, - /* 307 */ { VXInstructionMnemonic::LOOP, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 308 */ { VXInstructionMnemonic::LOOPE, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 309 */ { VXInstructionMnemonic::LOOPNE, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 30A */ { VXInstructionMnemonic::LSL, { OPI_Gv, OPI_Ew, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 30B */ { VXInstructionMnemonic::LSS, { OPI_Gv, OPI_M, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 30C */ { VXInstructionMnemonic::LTR, { OPI_Ew, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 30D */ { VXInstructionMnemonic::MASKMOVDQU, { OPI_V, OPI_U, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 30E */ { VXInstructionMnemonic::MASKMOVQ, { OPI_P, OPI_N, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 30F */ { VXInstructionMnemonic::MAXPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 310 */ { VXInstructionMnemonic::MAXPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 311 */ { VXInstructionMnemonic::MAXSD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 312 */ { VXInstructionMnemonic::MAXSS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 313 */ { VXInstructionMnemonic::MFENCE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 314 */ { VXInstructionMnemonic::MFENCE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 315 */ { VXInstructionMnemonic::MFENCE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 316 */ { VXInstructionMnemonic::MFENCE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 317 */ { VXInstructionMnemonic::MFENCE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 318 */ { VXInstructionMnemonic::MFENCE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 319 */ { VXInstructionMnemonic::MFENCE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 31A */ { VXInstructionMnemonic::MFENCE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 31B */ { VXInstructionMnemonic::MINPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 31C */ { VXInstructionMnemonic::MINPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 31D */ { VXInstructionMnemonic::MINSD, { OPI_V, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 31E */ { VXInstructionMnemonic::MINSS, { OPI_V, OPI_MdU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 31F */ { VXInstructionMnemonic::MONITOR, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 320 */ { VXInstructionMnemonic::MONTMUL, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 321 */ { VXInstructionMnemonic::MOV, { OPI_Ev, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 322 */ { VXInstructionMnemonic::MOV, { OPI_Gb, OPI_Eb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 323 */ { VXInstructionMnemonic::MOV, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 324 */ { VXInstructionMnemonic::MOV, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 325 */ { VXInstructionMnemonic::MOV, { OPI_Ev, OPI_Iz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 326 */ { VXInstructionMnemonic::MOV, { OPI_Eb, OPI_Gb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 327 */ { VXInstructionMnemonic::MOV, { OPI_R2b, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB }, - /* 328 */ { VXInstructionMnemonic::MOV, { OPI_R1b, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB }, - /* 329 */ { VXInstructionMnemonic::MOV, { OPI_R0b, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB }, - /* 32A */ { VXInstructionMnemonic::MOV, { OPI_R5b, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB }, - /* 32B */ { VXInstructionMnemonic::MOV, { OPI_R4b, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB }, - /* 32C */ { VXInstructionMnemonic::MOV, { OPI_R3b, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB }, - /* 32D */ { VXInstructionMnemonic::MOV, { OPI_AL, OPI_Ob, OPI_NONE, OPI_NONE }, 0 }, - /* 32E */ { VXInstructionMnemonic::MOV, { OPI_S, OPI_MwRv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 32F */ { VXInstructionMnemonic::MOV, { OPI_MwRv, OPI_S, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 330 */ { VXInstructionMnemonic::MOV, { OPI_Ov, OPI_rAX, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW }, - /* 331 */ { VXInstructionMnemonic::MOV, { OPI_Ob, OPI_AL, OPI_NONE, OPI_NONE }, 0 }, - /* 332 */ { VXInstructionMnemonic::MOV, { OPI_rAX, OPI_Ov, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW }, - /* 333 */ { VXInstructionMnemonic::MOV, { OPI_R6b, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB }, - /* 334 */ { VXInstructionMnemonic::MOV, { OPI_R3v, OPI_Iv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 335 */ { VXInstructionMnemonic::MOV, { OPI_R, OPI_D, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 336 */ { VXInstructionMnemonic::MOV, { OPI_R4v, OPI_Iv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 337 */ { VXInstructionMnemonic::MOV, { OPI_C, OPI_R, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 338 */ { VXInstructionMnemonic::MOV, { OPI_R2v, OPI_Iv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 339 */ { VXInstructionMnemonic::MOV, { OPI_D, OPI_R, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 33A */ { VXInstructionMnemonic::MOV, { OPI_R, OPI_C, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 33B */ { VXInstructionMnemonic::MOV, { OPI_R1v, OPI_Iv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 33C */ { VXInstructionMnemonic::MOV, { OPI_R0v, OPI_Iv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 33D */ { VXInstructionMnemonic::MOV, { OPI_R7b, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB }, - /* 33E */ { VXInstructionMnemonic::MOV, { OPI_R5v, OPI_Iv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 33F */ { VXInstructionMnemonic::MOV, { OPI_R7v, OPI_Iv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 340 */ { VXInstructionMnemonic::MOV, { OPI_R6v, OPI_Iv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 341 */ { VXInstructionMnemonic::MOVAPD, { OPI_W, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 342 */ { VXInstructionMnemonic::MOVAPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 343 */ { VXInstructionMnemonic::MOVAPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 344 */ { VXInstructionMnemonic::MOVAPS, { OPI_W, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 345 */ { VXInstructionMnemonic::MOVBE, { OPI_Mv, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 346 */ { VXInstructionMnemonic::MOVBE, { OPI_Gv, OPI_Mv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 347 */ { VXInstructionMnemonic::MOVD, { OPI_P, OPI_Ey, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 348 */ { VXInstructionMnemonic::MOVD, { OPI_Ey, OPI_P, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 349 */ { VXInstructionMnemonic::MOVD, { OPI_Ey, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 34A */ { VXInstructionMnemonic::MOVD, { OPI_Ey, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 34B */ { VXInstructionMnemonic::MOVD, { OPI_Ey, OPI_P, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 34C */ { VXInstructionMnemonic::MOVD, { OPI_P, OPI_Ey, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 34D */ { VXInstructionMnemonic::MOVD, { OPI_V, OPI_Ey, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 34E */ { VXInstructionMnemonic::MOVD, { OPI_V, OPI_Ey, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 34F */ { VXInstructionMnemonic::MOVDDUP, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 350 */ { VXInstructionMnemonic::MOVDDUP, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 351 */ { VXInstructionMnemonic::MOVDQ2Q, { OPI_P, OPI_U, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXB }, - /* 352 */ { VXInstructionMnemonic::MOVDQA, { OPI_W, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 353 */ { VXInstructionMnemonic::MOVDQA, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 354 */ { VXInstructionMnemonic::MOVDQU, { OPI_W, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 355 */ { VXInstructionMnemonic::MOVDQU, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 356 */ { VXInstructionMnemonic::MOVHLPS, { OPI_V, OPI_U, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 357 */ { VXInstructionMnemonic::MOVHPD, { OPI_V, OPI_M, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 358 */ { VXInstructionMnemonic::MOVHPD, { OPI_M, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 359 */ { VXInstructionMnemonic::MOVHPS, { OPI_V, OPI_M, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 35A */ { VXInstructionMnemonic::MOVHPS, { OPI_M, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 35B */ { VXInstructionMnemonic::MOVLHPS, { OPI_V, OPI_U, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 35C */ { VXInstructionMnemonic::MOVLPD, { OPI_V, OPI_M, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 35D */ { VXInstructionMnemonic::MOVLPD, { OPI_M, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 35E */ { VXInstructionMnemonic::MOVLPS, { OPI_M, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 35F */ { VXInstructionMnemonic::MOVLPS, { OPI_V, OPI_M, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 360 */ { VXInstructionMnemonic::MOVMSKPD, { OPI_Gd, OPI_U, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXB }, - /* 361 */ { VXInstructionMnemonic::MOVMSKPS, { OPI_Gd, OPI_U, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXB }, - /* 362 */ { VXInstructionMnemonic::MOVNTDQ, { OPI_M, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 363 */ { VXInstructionMnemonic::MOVNTDQA, { OPI_V, OPI_M, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 364 */ { VXInstructionMnemonic::MOVNTI, { OPI_M, OPI_Gy, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 365 */ { VXInstructionMnemonic::MOVNTPD, { OPI_M, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 366 */ { VXInstructionMnemonic::MOVNTPS, { OPI_M, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 367 */ { VXInstructionMnemonic::MOVNTQ, { OPI_M, OPI_P, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 368 */ { VXInstructionMnemonic::MOVQ, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 369 */ { VXInstructionMnemonic::MOVQ, { OPI_W, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 36A */ { VXInstructionMnemonic::MOVQ, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 36B */ { VXInstructionMnemonic::MOVQ, { OPI_Q, OPI_P, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 36C */ { VXInstructionMnemonic::MOVQ, { OPI_P, OPI_Eq, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 36D */ { VXInstructionMnemonic::MOVQ, { OPI_Eq, OPI_P, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 36E */ { VXInstructionMnemonic::MOVQ, { OPI_Eq, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 36F */ { VXInstructionMnemonic::MOVQ, { OPI_V, OPI_Eq, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 370 */ { VXInstructionMnemonic::MOVQ2DQ, { OPI_V, OPI_N, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR }, - /* 371 */ { VXInstructionMnemonic::MOVSB, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_SEGMENT_OVERRIDE }, - /* 372 */ { VXInstructionMnemonic::MOVSD, { OPI_V, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 373 */ { VXInstructionMnemonic::MOVSD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_SEGMENT_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW }, - /* 374 */ { VXInstructionMnemonic::MOVSD, { OPI_W, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 375 */ { VXInstructionMnemonic::MOVSHDUP, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 376 */ { VXInstructionMnemonic::MOVSHDUP, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 377 */ { VXInstructionMnemonic::MOVSLDUP, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 378 */ { VXInstructionMnemonic::MOVSLDUP, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 379 */ { VXInstructionMnemonic::MOVSQ, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_SEGMENT_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW }, - /* 37A */ { VXInstructionMnemonic::MOVSS, { OPI_W, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 37B */ { VXInstructionMnemonic::MOVSS, { OPI_V, OPI_MdU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 37C */ { VXInstructionMnemonic::MOVSW, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_SEGMENT_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW }, - /* 37D */ { VXInstructionMnemonic::MOVSX, { OPI_Gv, OPI_Eb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 37E */ { VXInstructionMnemonic::MOVSX, { OPI_Gy, OPI_Ew, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 37F */ { VXInstructionMnemonic::MOVSXD, { OPI_Gq, OPI_Ed, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXB }, - /* 380 */ { VXInstructionMnemonic::MOVUPD, { OPI_W, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 381 */ { VXInstructionMnemonic::MOVUPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 382 */ { VXInstructionMnemonic::MOVUPS, { OPI_W, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 383 */ { VXInstructionMnemonic::MOVUPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 384 */ { VXInstructionMnemonic::MOVZX, { OPI_Gy, OPI_Ew, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 385 */ { VXInstructionMnemonic::MOVZX, { OPI_Gv, OPI_Eb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 386 */ { VXInstructionMnemonic::MPSADBW, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 387 */ { VXInstructionMnemonic::MUL, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 388 */ { VXInstructionMnemonic::MUL, { OPI_Ev, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 389 */ { VXInstructionMnemonic::MULPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 38A */ { VXInstructionMnemonic::MULPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 38B */ { VXInstructionMnemonic::MULSD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 38C */ { VXInstructionMnemonic::MULSS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 38D */ { VXInstructionMnemonic::MWAIT, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 38E */ { VXInstructionMnemonic::NEG, { OPI_Ev, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 38F */ { VXInstructionMnemonic::NEG, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 390 */ { VXInstructionMnemonic::NOP, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 391 */ { VXInstructionMnemonic::NOP, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 392 */ { VXInstructionMnemonic::NOP, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 393 */ { VXInstructionMnemonic::NOP, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 394 */ { VXInstructionMnemonic::NOP, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 395 */ { VXInstructionMnemonic::NOP, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 396 */ { VXInstructionMnemonic::NOP, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 397 */ { VXInstructionMnemonic::NOT, { OPI_Ev, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 398 */ { VXInstructionMnemonic::NOT, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 399 */ { VXInstructionMnemonic::OR, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 39A */ { VXInstructionMnemonic::OR, { OPI_rAX, OPI_Iz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW }, - /* 39B */ { VXInstructionMnemonic::OR, { OPI_Ev, OPI_Iz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 39C */ { VXInstructionMnemonic::OR, { OPI_Ev, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 39D */ { VXInstructionMnemonic::OR, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 39E */ { VXInstructionMnemonic::OR, { OPI_Ev, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 39F */ { VXInstructionMnemonic::OR, { OPI_Eb, OPI_Gb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3A0 */ { VXInstructionMnemonic::OR, { OPI_Gb, OPI_Eb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3A1 */ { VXInstructionMnemonic::OR, { OPI_AL, OPI_Ib, OPI_NONE, OPI_NONE }, 0 }, - /* 3A2 */ { VXInstructionMnemonic::OR, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3A3 */ { VXInstructionMnemonic::ORPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3A4 */ { VXInstructionMnemonic::ORPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3A5 */ { VXInstructionMnemonic::OUT, { OPI_Ib, OPI_eAX, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE }, - /* 3A6 */ { VXInstructionMnemonic::OUT, { OPI_Ib, OPI_AL, OPI_NONE, OPI_NONE }, 0 }, - /* 3A7 */ { VXInstructionMnemonic::OUT, { OPI_DX, OPI_AL, OPI_NONE, OPI_NONE }, 0 }, - /* 3A8 */ { VXInstructionMnemonic::OUT, { OPI_DX, OPI_eAX, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE }, - /* 3A9 */ { VXInstructionMnemonic::OUTSB, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_SEGMENT_OVERRIDE }, - /* 3AA */ { VXInstructionMnemonic::OUTSD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_SEGMENT_OVERRIDE }, - /* 3AB */ { VXInstructionMnemonic::OUTSW, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_SEGMENT_OVERRIDE }, - /* 3AC */ { VXInstructionMnemonic::PABSB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3AD */ { VXInstructionMnemonic::PABSB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3AE */ { VXInstructionMnemonic::PABSD, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3AF */ { VXInstructionMnemonic::PABSD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3B0 */ { VXInstructionMnemonic::PABSW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3B1 */ { VXInstructionMnemonic::PABSW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3B2 */ { VXInstructionMnemonic::PACKSSDW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3B3 */ { VXInstructionMnemonic::PACKSSDW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3B4 */ { VXInstructionMnemonic::PACKSSWB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3B5 */ { VXInstructionMnemonic::PACKSSWB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3B6 */ { VXInstructionMnemonic::PACKUSDW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3B7 */ { VXInstructionMnemonic::PACKUSWB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3B8 */ { VXInstructionMnemonic::PACKUSWB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3B9 */ { VXInstructionMnemonic::PADDB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3BA */ { VXInstructionMnemonic::PADDB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3BB */ { VXInstructionMnemonic::PADDD, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3BC */ { VXInstructionMnemonic::PADDD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3BD */ { VXInstructionMnemonic::PADDQ, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3BE */ { VXInstructionMnemonic::PADDQ, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3BF */ { VXInstructionMnemonic::PADDSB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3C0 */ { VXInstructionMnemonic::PADDSB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3C1 */ { VXInstructionMnemonic::PADDSW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3C2 */ { VXInstructionMnemonic::PADDSW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3C3 */ { VXInstructionMnemonic::PADDUSB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3C4 */ { VXInstructionMnemonic::PADDUSB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3C5 */ { VXInstructionMnemonic::PADDUSW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3C6 */ { VXInstructionMnemonic::PADDUSW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3C7 */ { VXInstructionMnemonic::PADDW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3C8 */ { VXInstructionMnemonic::PADDW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3C9 */ { VXInstructionMnemonic::PALIGNR, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3CA */ { VXInstructionMnemonic::PALIGNR, { OPI_P, OPI_Q, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3CB */ { VXInstructionMnemonic::PAND, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3CC */ { VXInstructionMnemonic::PAND, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3CD */ { VXInstructionMnemonic::PANDN, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3CE */ { VXInstructionMnemonic::PANDN, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3CF */ { VXInstructionMnemonic::PAVGB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3D0 */ { VXInstructionMnemonic::PAVGB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3D1 */ { VXInstructionMnemonic::PAVGUSB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3D2 */ { VXInstructionMnemonic::PAVGW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3D3 */ { VXInstructionMnemonic::PAVGW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3D4 */ { VXInstructionMnemonic::PBLENDVB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3D5 */ { VXInstructionMnemonic::PBLENDW, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3D6 */ { VXInstructionMnemonic::PCLMULQDQ, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3D7 */ { VXInstructionMnemonic::PCMPEQB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3D8 */ { VXInstructionMnemonic::PCMPEQB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3D9 */ { VXInstructionMnemonic::PCMPEQD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3DA */ { VXInstructionMnemonic::PCMPEQD, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3DB */ { VXInstructionMnemonic::PCMPEQQ, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3DC */ { VXInstructionMnemonic::PCMPEQW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3DD */ { VXInstructionMnemonic::PCMPEQW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3DE */ { VXInstructionMnemonic::PCMPESTRI, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3DF */ { VXInstructionMnemonic::PCMPESTRM, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3E0 */ { VXInstructionMnemonic::PCMPGTB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3E1 */ { VXInstructionMnemonic::PCMPGTB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3E2 */ { VXInstructionMnemonic::PCMPGTD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3E3 */ { VXInstructionMnemonic::PCMPGTD, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3E4 */ { VXInstructionMnemonic::PCMPGTQ, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3E5 */ { VXInstructionMnemonic::PCMPGTW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3E6 */ { VXInstructionMnemonic::PCMPGTW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3E7 */ { VXInstructionMnemonic::PCMPISTRI, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3E8 */ { VXInstructionMnemonic::PCMPISTRM, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3E9 */ { VXInstructionMnemonic::PEXTRB, { OPI_MbRv, OPI_V, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, - /* 3EA */ { VXInstructionMnemonic::PEXTRD, { OPI_Ed, OPI_V, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 3EB */ { VXInstructionMnemonic::PEXTRD, { OPI_Ed, OPI_V, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 3EC */ { VXInstructionMnemonic::PEXTRQ, { OPI_Eq, OPI_V, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, - /* 3ED */ { VXInstructionMnemonic::PEXTRW, { OPI_Gd, OPI_U, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXB }, - /* 3EE */ { VXInstructionMnemonic::PEXTRW, { OPI_Gd, OPI_N, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3EF */ { VXInstructionMnemonic::PEXTRW, { OPI_MwRd, OPI_V, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXB }, - /* 3F0 */ { VXInstructionMnemonic::PF2ID, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3F1 */ { VXInstructionMnemonic::PF2IW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3F2 */ { VXInstructionMnemonic::PFACC, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3F3 */ { VXInstructionMnemonic::PFADD, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3F4 */ { VXInstructionMnemonic::PFCMPEQ, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3F5 */ { VXInstructionMnemonic::PFCMPGE, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3F6 */ { VXInstructionMnemonic::PFCMPGT, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3F7 */ { VXInstructionMnemonic::PFMAX, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3F8 */ { VXInstructionMnemonic::PFMIN, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3F9 */ { VXInstructionMnemonic::PFMUL, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3FA */ { VXInstructionMnemonic::PFNACC, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3FB */ { VXInstructionMnemonic::PFPNACC, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3FC */ { VXInstructionMnemonic::PFRCP, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3FD */ { VXInstructionMnemonic::PFRCPIT1, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3FE */ { VXInstructionMnemonic::PFRCPIT2, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 3FF */ { VXInstructionMnemonic::PFRSQIT1, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 400 */ { VXInstructionMnemonic::PFRSQRT, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 401 */ { VXInstructionMnemonic::PFSUB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 402 */ { VXInstructionMnemonic::PFSUBR, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 403 */ { VXInstructionMnemonic::PHADDD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 404 */ { VXInstructionMnemonic::PHADDD, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 405 */ { VXInstructionMnemonic::PHADDSW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 406 */ { VXInstructionMnemonic::PHADDSW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 407 */ { VXInstructionMnemonic::PHADDW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 408 */ { VXInstructionMnemonic::PHADDW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 409 */ { VXInstructionMnemonic::PHMINPOSUW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 40A */ { VXInstructionMnemonic::PHSUBD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 40B */ { VXInstructionMnemonic::PHSUBD, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 40C */ { VXInstructionMnemonic::PHSUBSW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 40D */ { VXInstructionMnemonic::PHSUBSW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 40E */ { VXInstructionMnemonic::PHSUBW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 40F */ { VXInstructionMnemonic::PHSUBW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 410 */ { VXInstructionMnemonic::PI2FD, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 411 */ { VXInstructionMnemonic::PI2FW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 412 */ { VXInstructionMnemonic::PINSRB, { OPI_V, OPI_MbRd, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 413 */ { VXInstructionMnemonic::PINSRD, { OPI_V, OPI_Ed, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 414 */ { VXInstructionMnemonic::PINSRD, { OPI_V, OPI_Ed, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 415 */ { VXInstructionMnemonic::PINSRQ, { OPI_V, OPI_Eq, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 416 */ { VXInstructionMnemonic::PINSRW, { OPI_V, OPI_MwRy, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, - /* 417 */ { VXInstructionMnemonic::PINSRW, { OPI_P, OPI_MwRy, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, - /* 418 */ { VXInstructionMnemonic::PMADDUBSW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 419 */ { VXInstructionMnemonic::PMADDUBSW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 41A */ { VXInstructionMnemonic::PMADDWD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 41B */ { VXInstructionMnemonic::PMADDWD, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 41C */ { VXInstructionMnemonic::PMAXSB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 41D */ { VXInstructionMnemonic::PMAXSD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 41E */ { VXInstructionMnemonic::PMAXSW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 41F */ { VXInstructionMnemonic::PMAXSW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 420 */ { VXInstructionMnemonic::PMAXUB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 421 */ { VXInstructionMnemonic::PMAXUB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 422 */ { VXInstructionMnemonic::PMAXUD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 423 */ { VXInstructionMnemonic::PMAXUW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 424 */ { VXInstructionMnemonic::PMINSB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 425 */ { VXInstructionMnemonic::PMINSD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 426 */ { VXInstructionMnemonic::PMINSW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 427 */ { VXInstructionMnemonic::PMINSW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 428 */ { VXInstructionMnemonic::PMINUB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 429 */ { VXInstructionMnemonic::PMINUB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 42A */ { VXInstructionMnemonic::PMINUD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 42B */ { VXInstructionMnemonic::PMINUW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 42C */ { VXInstructionMnemonic::PMOVMSKB, { OPI_Gd, OPI_U, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 42D */ { VXInstructionMnemonic::PMOVMSKB, { OPI_Gd, OPI_N, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 42E */ { VXInstructionMnemonic::PMOVSXBD, { OPI_V, OPI_MdU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 42F */ { VXInstructionMnemonic::PMOVSXBQ, { OPI_V, OPI_MwU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 430 */ { VXInstructionMnemonic::PMOVSXBW, { OPI_V, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 431 */ { VXInstructionMnemonic::PMOVSXDQ, { OPI_V, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 432 */ { VXInstructionMnemonic::PMOVSXWD, { OPI_V, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 433 */ { VXInstructionMnemonic::PMOVSXWQ, { OPI_V, OPI_MdU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 434 */ { VXInstructionMnemonic::PMOVZXBD, { OPI_V, OPI_MdU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 435 */ { VXInstructionMnemonic::PMOVZXBQ, { OPI_V, OPI_MwU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 436 */ { VXInstructionMnemonic::PMOVZXBW, { OPI_V, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 437 */ { VXInstructionMnemonic::PMOVZXDQ, { OPI_V, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 438 */ { VXInstructionMnemonic::PMOVZXWD, { OPI_V, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 439 */ { VXInstructionMnemonic::PMOVZXWQ, { OPI_V, OPI_MdU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 43A */ { VXInstructionMnemonic::PMULDQ, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 43B */ { VXInstructionMnemonic::PMULHRSW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 43C */ { VXInstructionMnemonic::PMULHRSW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 43D */ { VXInstructionMnemonic::PMULHRW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 43E */ { VXInstructionMnemonic::PMULHUW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 43F */ { VXInstructionMnemonic::PMULHUW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 440 */ { VXInstructionMnemonic::PMULHW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 441 */ { VXInstructionMnemonic::PMULHW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 442 */ { VXInstructionMnemonic::PMULLD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 443 */ { VXInstructionMnemonic::PMULLW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 444 */ { VXInstructionMnemonic::PMULLW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 445 */ { VXInstructionMnemonic::PMULUDQ, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 446 */ { VXInstructionMnemonic::PMULUDQ, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 447 */ { VXInstructionMnemonic::POP, { OPI_R5v, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, - /* 448 */ { VXInstructionMnemonic::POP, { OPI_R4v, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, - /* 449 */ { VXInstructionMnemonic::POP, { OPI_R6v, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, - /* 44A */ { VXInstructionMnemonic::POP, { OPI_Ev, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, - /* 44B */ { VXInstructionMnemonic::POP, { OPI_R7v, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, - /* 44C */ { VXInstructionMnemonic::POP, { OPI_R3v, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, - /* 44D */ { VXInstructionMnemonic::POP, { OPI_DS, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_INVALID_64 }, - /* 44E */ { VXInstructionMnemonic::POP, { OPI_GS, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 44F */ { VXInstructionMnemonic::POP, { OPI_ES, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_INVALID_64 }, - /* 450 */ { VXInstructionMnemonic::POP, { OPI_SS, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_INVALID_64 }, - /* 451 */ { VXInstructionMnemonic::POP, { OPI_R1v, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, - /* 452 */ { VXInstructionMnemonic::POP, { OPI_R2v, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, - /* 453 */ { VXInstructionMnemonic::POP, { OPI_FS, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 454 */ { VXInstructionMnemonic::POP, { OPI_R0v, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, - /* 455 */ { VXInstructionMnemonic::POPA, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_INVALID_64 }, - /* 456 */ { VXInstructionMnemonic::POPAD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_INVALID_64 }, - /* 457 */ { VXInstructionMnemonic::POPCNT, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 458 */ { VXInstructionMnemonic::POPFD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE }, - /* 459 */ { VXInstructionMnemonic::POPFQ, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_DEFAULT_64 }, - /* 45A */ { VXInstructionMnemonic::POPFQ, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_DEFAULT_64 }, - /* 45B */ { VXInstructionMnemonic::POPFW, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE }, - /* 45C */ { VXInstructionMnemonic::POR, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 45D */ { VXInstructionMnemonic::POR, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 45E */ { VXInstructionMnemonic::PREFETCH, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 45F */ { VXInstructionMnemonic::PREFETCH, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 460 */ { VXInstructionMnemonic::PREFETCH, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 461 */ { VXInstructionMnemonic::PREFETCH, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 462 */ { VXInstructionMnemonic::PREFETCH, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 463 */ { VXInstructionMnemonic::PREFETCH, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 464 */ { VXInstructionMnemonic::PREFETCH, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 465 */ { VXInstructionMnemonic::PREFETCH, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 466 */ { VXInstructionMnemonic::PREFETCHNTA, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 467 */ { VXInstructionMnemonic::PREFETCHT0, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 468 */ { VXInstructionMnemonic::PREFETCHT1, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 469 */ { VXInstructionMnemonic::PREFETCHT2, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 46A */ { VXInstructionMnemonic::PSADBW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 46B */ { VXInstructionMnemonic::PSADBW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 46C */ { VXInstructionMnemonic::PSHUFB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 46D */ { VXInstructionMnemonic::PSHUFB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 46E */ { VXInstructionMnemonic::PSHUFD, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 46F */ { VXInstructionMnemonic::PSHUFHW, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 470 */ { VXInstructionMnemonic::PSHUFLW, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 471 */ { VXInstructionMnemonic::PSHUFW, { OPI_P, OPI_Q, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 472 */ { VXInstructionMnemonic::PSIGNB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 473 */ { VXInstructionMnemonic::PSIGNB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 474 */ { VXInstructionMnemonic::PSIGND, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 475 */ { VXInstructionMnemonic::PSIGND, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 476 */ { VXInstructionMnemonic::PSIGNW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 477 */ { VXInstructionMnemonic::PSIGNW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 478 */ { VXInstructionMnemonic::PSLLD, { OPI_U, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB }, - /* 479 */ { VXInstructionMnemonic::PSLLD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 47A */ { VXInstructionMnemonic::PSLLD, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 47B */ { VXInstructionMnemonic::PSLLD, { OPI_N, OPI_Ib, OPI_NONE, OPI_NONE }, 0 }, - /* 47C */ { VXInstructionMnemonic::PSLLDQ, { OPI_U, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB }, - /* 47D */ { VXInstructionMnemonic::PSLLQ, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 47E */ { VXInstructionMnemonic::PSLLQ, { OPI_U, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB }, - /* 47F */ { VXInstructionMnemonic::PSLLQ, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 480 */ { VXInstructionMnemonic::PSLLQ, { OPI_N, OPI_Ib, OPI_NONE, OPI_NONE }, 0 }, - /* 481 */ { VXInstructionMnemonic::PSLLW, { OPI_N, OPI_Ib, OPI_NONE, OPI_NONE }, 0 }, - /* 482 */ { VXInstructionMnemonic::PSLLW, { OPI_U, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB }, - /* 483 */ { VXInstructionMnemonic::PSLLW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 484 */ { VXInstructionMnemonic::PSLLW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 485 */ { VXInstructionMnemonic::PSRAD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 486 */ { VXInstructionMnemonic::PSRAD, { OPI_N, OPI_Ib, OPI_NONE, OPI_NONE }, 0 }, - /* 487 */ { VXInstructionMnemonic::PSRAD, { OPI_U, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB }, - /* 488 */ { VXInstructionMnemonic::PSRAD, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 489 */ { VXInstructionMnemonic::PSRAW, { OPI_U, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB }, - /* 48A */ { VXInstructionMnemonic::PSRAW, { OPI_N, OPI_Ib, OPI_NONE, OPI_NONE }, 0 }, - /* 48B */ { VXInstructionMnemonic::PSRAW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 48C */ { VXInstructionMnemonic::PSRAW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 48D */ { VXInstructionMnemonic::PSRLD, { OPI_U, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB }, - /* 48E */ { VXInstructionMnemonic::PSRLD, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 48F */ { VXInstructionMnemonic::PSRLD, { OPI_N, OPI_Ib, OPI_NONE, OPI_NONE }, 0 }, - /* 490 */ { VXInstructionMnemonic::PSRLD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 491 */ { VXInstructionMnemonic::PSRLDQ, { OPI_U, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB }, - /* 492 */ { VXInstructionMnemonic::PSRLQ, { OPI_U, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB }, - /* 493 */ { VXInstructionMnemonic::PSRLQ, { OPI_N, OPI_Ib, OPI_NONE, OPI_NONE }, 0 }, - /* 494 */ { VXInstructionMnemonic::PSRLQ, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 495 */ { VXInstructionMnemonic::PSRLQ, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 496 */ { VXInstructionMnemonic::PSRLW, { OPI_U, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB }, - /* 497 */ { VXInstructionMnemonic::PSRLW, { OPI_N, OPI_Ib, OPI_NONE, OPI_NONE }, 0 }, - /* 498 */ { VXInstructionMnemonic::PSRLW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 499 */ { VXInstructionMnemonic::PSRLW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 49A */ { VXInstructionMnemonic::PSUBB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 49B */ { VXInstructionMnemonic::PSUBB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 49C */ { VXInstructionMnemonic::PSUBD, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 49D */ { VXInstructionMnemonic::PSUBD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 49E */ { VXInstructionMnemonic::PSUBQ, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 49F */ { VXInstructionMnemonic::PSUBQ, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4A0 */ { VXInstructionMnemonic::PSUBSB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4A1 */ { VXInstructionMnemonic::PSUBSB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4A2 */ { VXInstructionMnemonic::PSUBSW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4A3 */ { VXInstructionMnemonic::PSUBSW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4A4 */ { VXInstructionMnemonic::PSUBUSB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4A5 */ { VXInstructionMnemonic::PSUBUSB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4A6 */ { VXInstructionMnemonic::PSUBUSW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4A7 */ { VXInstructionMnemonic::PSUBUSW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4A8 */ { VXInstructionMnemonic::PSUBW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4A9 */ { VXInstructionMnemonic::PSUBW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4AA */ { VXInstructionMnemonic::PSWAPD, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4AB */ { VXInstructionMnemonic::PTEST, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4AC */ { VXInstructionMnemonic::PUNPCKHBW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4AD */ { VXInstructionMnemonic::PUNPCKHBW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4AE */ { VXInstructionMnemonic::PUNPCKHDQ, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4AF */ { VXInstructionMnemonic::PUNPCKHDQ, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4B0 */ { VXInstructionMnemonic::PUNPCKHQDQ, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4B1 */ { VXInstructionMnemonic::PUNPCKHWD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4B2 */ { VXInstructionMnemonic::PUNPCKHWD, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4B3 */ { VXInstructionMnemonic::PUNPCKLBW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4B4 */ { VXInstructionMnemonic::PUNPCKLBW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4B5 */ { VXInstructionMnemonic::PUNPCKLDQ, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4B6 */ { VXInstructionMnemonic::PUNPCKLDQ, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4B7 */ { VXInstructionMnemonic::PUNPCKLQDQ, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4B8 */ { VXInstructionMnemonic::PUNPCKLWD, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4B9 */ { VXInstructionMnemonic::PUNPCKLWD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4BA */ { VXInstructionMnemonic::PUSH, { OPI_DS, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_INVALID_64 }, - /* 4BB */ { VXInstructionMnemonic::PUSH, { OPI_ES, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_INVALID_64 }, - /* 4BC */ { VXInstructionMnemonic::PUSH, { OPI_Ib, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_DEFAULT_64 }, - /* 4BD */ { VXInstructionMnemonic::PUSH, { OPI_SS, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_INVALID_64 }, - /* 4BE */ { VXInstructionMnemonic::PUSH, { OPI_CS, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_INVALID_64 }, - /* 4BF */ { VXInstructionMnemonic::PUSH, { OPI_R3v, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, - /* 4C0 */ { VXInstructionMnemonic::PUSH, { OPI_R4v, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, - /* 4C1 */ { VXInstructionMnemonic::PUSH, { OPI_R5v, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, - /* 4C2 */ { VXInstructionMnemonic::PUSH, { OPI_R6v, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, - /* 4C3 */ { VXInstructionMnemonic::PUSH, { OPI_R7v, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, - /* 4C4 */ { VXInstructionMnemonic::PUSH, { OPI_R2v, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, - /* 4C5 */ { VXInstructionMnemonic::PUSH, { OPI_R0v, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, - /* 4C6 */ { VXInstructionMnemonic::PUSH, { OPI_FS, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 4C7 */ { VXInstructionMnemonic::PUSH, { OPI_GS, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 4C8 */ { VXInstructionMnemonic::PUSH, { OPI_Iz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_DEFAULT_64 }, - /* 4C9 */ { VXInstructionMnemonic::PUSH, { OPI_Ev, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, - /* 4CA */ { VXInstructionMnemonic::PUSH, { OPI_R1v, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, - /* 4CB */ { VXInstructionMnemonic::PUSHA, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_INVALID_64 }, - /* 4CC */ { VXInstructionMnemonic::PUSHAD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_INVALID_64 }, - /* 4CD */ { VXInstructionMnemonic::PUSHFD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE }, - /* 4CE */ { VXInstructionMnemonic::PUSHFQ, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_DEFAULT_64 }, - /* 4CF */ { VXInstructionMnemonic::PUSHFQ, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_DEFAULT_64 }, - /* 4D0 */ { VXInstructionMnemonic::PUSHFW, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_DEFAULT_64 }, - /* 4D1 */ { VXInstructionMnemonic::PUSHFW, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE }, - /* 4D2 */ { VXInstructionMnemonic::PXOR, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4D3 */ { VXInstructionMnemonic::PXOR, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4D4 */ { VXInstructionMnemonic::RCL, { OPI_Eb, OPI_CL, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4D5 */ { VXInstructionMnemonic::RCL, { OPI_Ev, OPI_CL, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4D6 */ { VXInstructionMnemonic::RCL, { OPI_Ev, OPI_I1, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4D7 */ { VXInstructionMnemonic::RCL, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4D8 */ { VXInstructionMnemonic::RCL, { OPI_Ev, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4D9 */ { VXInstructionMnemonic::RCL, { OPI_Eb, OPI_I1, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4DA */ { VXInstructionMnemonic::RCPPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4DB */ { VXInstructionMnemonic::RCPSS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4DC */ { VXInstructionMnemonic::RCR, { OPI_Ev, OPI_I1, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4DD */ { VXInstructionMnemonic::RCR, { OPI_Ev, OPI_CL, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4DE */ { VXInstructionMnemonic::RCR, { OPI_Eb, OPI_CL, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4DF */ { VXInstructionMnemonic::RCR, { OPI_Ev, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4E0 */ { VXInstructionMnemonic::RCR, { OPI_Eb, OPI_I1, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4E1 */ { VXInstructionMnemonic::RCR, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4E2 */ { VXInstructionMnemonic::RDMSR, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 4E3 */ { VXInstructionMnemonic::RDPMC, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 4E4 */ { VXInstructionMnemonic::RDRAND, { OPI_R, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4E5 */ { VXInstructionMnemonic::RDTSC, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 4E6 */ { VXInstructionMnemonic::RDTSCP, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 4E7 */ { VXInstructionMnemonic::REP, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 4E8 */ { VXInstructionMnemonic::REPNE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 4E9 */ { VXInstructionMnemonic::RETF, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 4EA */ { VXInstructionMnemonic::RETF, { OPI_Iw, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 4EB */ { VXInstructionMnemonic::RETN, { OPI_Iw, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 4EC */ { VXInstructionMnemonic::RETN, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 4ED */ { VXInstructionMnemonic::ROL, { OPI_Eb, OPI_I1, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4EE */ { VXInstructionMnemonic::ROL, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4EF */ { VXInstructionMnemonic::ROL, { OPI_Ev, OPI_I1, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4F0 */ { VXInstructionMnemonic::ROL, { OPI_Ev, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4F1 */ { VXInstructionMnemonic::ROL, { OPI_Ev, OPI_CL, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4F2 */ { VXInstructionMnemonic::ROL, { OPI_Eb, OPI_CL, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4F3 */ { VXInstructionMnemonic::ROR, { OPI_Eb, OPI_CL, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4F4 */ { VXInstructionMnemonic::ROR, { OPI_Ev, OPI_CL, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4F5 */ { VXInstructionMnemonic::ROR, { OPI_Eb, OPI_I1, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4F6 */ { VXInstructionMnemonic::ROR, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4F7 */ { VXInstructionMnemonic::ROR, { OPI_Ev, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4F8 */ { VXInstructionMnemonic::ROR, { OPI_Ev, OPI_I1, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4F9 */ { VXInstructionMnemonic::ROUNDPD, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4FA */ { VXInstructionMnemonic::ROUNDPS, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4FB */ { VXInstructionMnemonic::ROUNDSD, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4FC */ { VXInstructionMnemonic::ROUNDSS, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4FD */ { VXInstructionMnemonic::RSM, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 4FE */ { VXInstructionMnemonic::RSQRTPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 4FF */ { VXInstructionMnemonic::RSQRTSS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 500 */ { VXInstructionMnemonic::SAHF, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 501 */ { VXInstructionMnemonic::SALC, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_INVALID_64 }, - /* 502 */ { VXInstructionMnemonic::SAR, { OPI_Ev, OPI_CL, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 503 */ { VXInstructionMnemonic::SAR, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 504 */ { VXInstructionMnemonic::SAR, { OPI_Ev, OPI_I1, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 505 */ { VXInstructionMnemonic::SAR, { OPI_Eb, OPI_I1, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 506 */ { VXInstructionMnemonic::SAR, { OPI_Ev, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 507 */ { VXInstructionMnemonic::SAR, { OPI_Eb, OPI_CL, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 508 */ { VXInstructionMnemonic::SBB, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_INVALID_64 }, - /* 509 */ { VXInstructionMnemonic::SBB, { OPI_Ev, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 50A */ { VXInstructionMnemonic::SBB, { OPI_Gb, OPI_Eb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 50B */ { VXInstructionMnemonic::SBB, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 50C */ { VXInstructionMnemonic::SBB, { OPI_Eb, OPI_Gb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 50D */ { VXInstructionMnemonic::SBB, { OPI_Ev, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 50E */ { VXInstructionMnemonic::SBB, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 50F */ { VXInstructionMnemonic::SBB, { OPI_Ev, OPI_Iz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 510 */ { VXInstructionMnemonic::SBB, { OPI_AL, OPI_Ib, OPI_NONE, OPI_NONE }, 0 }, - /* 511 */ { VXInstructionMnemonic::SBB, { OPI_rAX, OPI_Iz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW }, - /* 512 */ { VXInstructionMnemonic::SCASB, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 513 */ { VXInstructionMnemonic::SCASD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW }, - /* 514 */ { VXInstructionMnemonic::SCASQ, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW }, - /* 515 */ { VXInstructionMnemonic::SCASW, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW }, - /* 516 */ { VXInstructionMnemonic::SETA, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 517 */ { VXInstructionMnemonic::SETAE, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 518 */ { VXInstructionMnemonic::SETB, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 519 */ { VXInstructionMnemonic::SETBE, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 51A */ { VXInstructionMnemonic::SETG, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 51B */ { VXInstructionMnemonic::SETGE, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 51C */ { VXInstructionMnemonic::SETL, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 51D */ { VXInstructionMnemonic::SETLE, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 51E */ { VXInstructionMnemonic::SETNO, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 51F */ { VXInstructionMnemonic::SETNP, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 520 */ { VXInstructionMnemonic::SETNS, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 521 */ { VXInstructionMnemonic::SETNZ, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 522 */ { VXInstructionMnemonic::SETO, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 523 */ { VXInstructionMnemonic::SETP, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 524 */ { VXInstructionMnemonic::SETS, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 525 */ { VXInstructionMnemonic::SETZ, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 526 */ { VXInstructionMnemonic::SFENCE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 527 */ { VXInstructionMnemonic::SFENCE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 528 */ { VXInstructionMnemonic::SFENCE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 529 */ { VXInstructionMnemonic::SFENCE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 52A */ { VXInstructionMnemonic::SFENCE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 52B */ { VXInstructionMnemonic::SFENCE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 52C */ { VXInstructionMnemonic::SFENCE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 52D */ { VXInstructionMnemonic::SFENCE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 52E */ { VXInstructionMnemonic::SGDT, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 52F */ { VXInstructionMnemonic::SHL, { OPI_Ev, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 530 */ { VXInstructionMnemonic::SHL, { OPI_Ev, OPI_CL, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 531 */ { VXInstructionMnemonic::SHL, { OPI_Ev, OPI_I1, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 532 */ { VXInstructionMnemonic::SHL, { OPI_Eb, OPI_CL, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 533 */ { VXInstructionMnemonic::SHL, { OPI_Ev, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 534 */ { VXInstructionMnemonic::SHL, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 535 */ { VXInstructionMnemonic::SHL, { OPI_Eb, OPI_CL, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 536 */ { VXInstructionMnemonic::SHL, { OPI_Eb, OPI_I1, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 537 */ { VXInstructionMnemonic::SHL, { OPI_Eb, OPI_I1, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 538 */ { VXInstructionMnemonic::SHL, { OPI_Ev, OPI_I1, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 539 */ { VXInstructionMnemonic::SHL, { OPI_Ev, OPI_CL, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 53A */ { VXInstructionMnemonic::SHL, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 53B */ { VXInstructionMnemonic::SHLD, { OPI_Ev, OPI_Gv, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 53C */ { VXInstructionMnemonic::SHLD, { OPI_Ev, OPI_Gv, OPI_CL, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 53D */ { VXInstructionMnemonic::SHR, { OPI_Eb, OPI_CL, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 53E */ { VXInstructionMnemonic::SHR, { OPI_Ev, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 53F */ { VXInstructionMnemonic::SHR, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 540 */ { VXInstructionMnemonic::SHR, { OPI_Eb, OPI_I1, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 541 */ { VXInstructionMnemonic::SHR, { OPI_Ev, OPI_I1, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 542 */ { VXInstructionMnemonic::SHR, { OPI_Ev, OPI_CL, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 543 */ { VXInstructionMnemonic::SHRD, { OPI_Ev, OPI_Gv, OPI_CL, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 544 */ { VXInstructionMnemonic::SHRD, { OPI_Ev, OPI_Gv, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 545 */ { VXInstructionMnemonic::SHUFPD, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 546 */ { VXInstructionMnemonic::SHUFPS, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 547 */ { VXInstructionMnemonic::SIDT, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 548 */ { VXInstructionMnemonic::SKINIT, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 549 */ { VXInstructionMnemonic::SLDT, { OPI_MwRv, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 54A */ { VXInstructionMnemonic::SMSW, { OPI_MwRv, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 54B */ { VXInstructionMnemonic::SMSW, { OPI_MwRv, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 54C */ { VXInstructionMnemonic::SQRTPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 54D */ { VXInstructionMnemonic::SQRTPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 54E */ { VXInstructionMnemonic::SQRTSD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 54F */ { VXInstructionMnemonic::SQRTSS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 550 */ { VXInstructionMnemonic::STC, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 551 */ { VXInstructionMnemonic::STD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 552 */ { VXInstructionMnemonic::STGI, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 553 */ { VXInstructionMnemonic::STI, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 554 */ { VXInstructionMnemonic::STMXCSR, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 555 */ { VXInstructionMnemonic::STOSB, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_SEGMENT_OVERRIDE }, - /* 556 */ { VXInstructionMnemonic::STOSD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_SEGMENT_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW }, - /* 557 */ { VXInstructionMnemonic::STOSQ, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_SEGMENT_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW }, - /* 558 */ { VXInstructionMnemonic::STOSW, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_SEGMENT_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW }, - /* 559 */ { VXInstructionMnemonic::STR, { OPI_MwRv, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 55A */ { VXInstructionMnemonic::SUB, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 55B */ { VXInstructionMnemonic::SUB, { OPI_AL, OPI_Ib, OPI_NONE, OPI_NONE }, 0 }, - /* 55C */ { VXInstructionMnemonic::SUB, { OPI_Gb, OPI_Eb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 55D */ { VXInstructionMnemonic::SUB, { OPI_Eb, OPI_Gb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 55E */ { VXInstructionMnemonic::SUB, { OPI_Ev, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 55F */ { VXInstructionMnemonic::SUB, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_INVALID_64 }, - /* 560 */ { VXInstructionMnemonic::SUB, { OPI_Ev, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 561 */ { VXInstructionMnemonic::SUB, { OPI_Ev, OPI_Iz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 562 */ { VXInstructionMnemonic::SUB, { OPI_rAX, OPI_Iz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW }, - /* 563 */ { VXInstructionMnemonic::SUB, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 564 */ { VXInstructionMnemonic::SUBPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 565 */ { VXInstructionMnemonic::SUBPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 566 */ { VXInstructionMnemonic::SUBSD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 567 */ { VXInstructionMnemonic::SUBSS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 568 */ { VXInstructionMnemonic::SWAPGS, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 569 */ { VXInstructionMnemonic::SYSCALL, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 56A */ { VXInstructionMnemonic::SYSENTER, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 56B */ { VXInstructionMnemonic::SYSENTER, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 56C */ { VXInstructionMnemonic::SYSEXIT, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 56D */ { VXInstructionMnemonic::SYSEXIT, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 56E */ { VXInstructionMnemonic::SYSRET, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 56F */ { VXInstructionMnemonic::TEST, { OPI_rAX, OPI_Iz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW }, - /* 570 */ { VXInstructionMnemonic::TEST, { OPI_Ev, OPI_Iz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 571 */ { VXInstructionMnemonic::TEST, { OPI_AL, OPI_Ib, OPI_NONE, OPI_NONE }, 0 }, - /* 572 */ { VXInstructionMnemonic::TEST, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 573 */ { VXInstructionMnemonic::TEST, { OPI_Eb, OPI_Gb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 574 */ { VXInstructionMnemonic::TEST, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 575 */ { VXInstructionMnemonic::TEST, { OPI_Ev, OPI_Iz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 576 */ { VXInstructionMnemonic::TEST, { OPI_Ev, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 577 */ { VXInstructionMnemonic::UCOMISD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 578 */ { VXInstructionMnemonic::UCOMISS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 579 */ { VXInstructionMnemonic::UD2, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 57A */ { VXInstructionMnemonic::UNPCKHPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 57B */ { VXInstructionMnemonic::UNPCKHPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 57C */ { VXInstructionMnemonic::UNPCKLPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 57D */ { VXInstructionMnemonic::UNPCKLPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 57E */ { VXInstructionMnemonic::VADDPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 57F */ { VXInstructionMnemonic::VADDPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 580 */ { VXInstructionMnemonic::VADDSD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 581 */ { VXInstructionMnemonic::VADDSS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 582 */ { VXInstructionMnemonic::VADDSUBPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 583 */ { VXInstructionMnemonic::VADDSUBPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 584 */ { VXInstructionMnemonic::VAESDEC, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 585 */ { VXInstructionMnemonic::VAESDECLAST, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 586 */ { VXInstructionMnemonic::VAESENC, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 587 */ { VXInstructionMnemonic::VAESENCLAST, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 588 */ { VXInstructionMnemonic::VAESIMC, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 589 */ { VXInstructionMnemonic::VAESKEYGENASSIST, { OPI_Vx, OPI_Wx, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 58A */ { VXInstructionMnemonic::VANDNPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 58B */ { VXInstructionMnemonic::VANDNPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 58C */ { VXInstructionMnemonic::VANDPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 58D */ { VXInstructionMnemonic::VANDPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 58E */ { VXInstructionMnemonic::VBLENDPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 58F */ { VXInstructionMnemonic::VBLENDPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 590 */ { VXInstructionMnemonic::VBLENDVPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Lx }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 591 */ { VXInstructionMnemonic::VBLENDVPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Lx }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 592 */ { VXInstructionMnemonic::VBROADCASTSD, { OPI_Vqq, OPI_Mq, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 593 */ { VXInstructionMnemonic::VBROADCASTSS, { OPI_V, OPI_Md, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 594 */ { VXInstructionMnemonic::VCMPPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 595 */ { VXInstructionMnemonic::VCMPPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 596 */ { VXInstructionMnemonic::VCMPSD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 597 */ { VXInstructionMnemonic::VCMPSS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 598 */ { VXInstructionMnemonic::VCOMISD, { OPI_Vsd, OPI_Wsd, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 599 */ { VXInstructionMnemonic::VCOMISS, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 59A */ { VXInstructionMnemonic::VCVTDQ2PD, { OPI_Vx, OPI_Wdq, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 59B */ { VXInstructionMnemonic::VCVTDQ2PS, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 59C */ { VXInstructionMnemonic::VCVTPD2DQ, { OPI_Vdq, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 59D */ { VXInstructionMnemonic::VCVTPD2PS, { OPI_Vdq, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 59E */ { VXInstructionMnemonic::VCVTPS2DQ, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 59F */ { VXInstructionMnemonic::VCVTPS2PD, { OPI_Vx, OPI_Wdq, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5A0 */ { VXInstructionMnemonic::VCVTSD2SI, { OPI_Gy, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5A1 */ { VXInstructionMnemonic::VCVTSD2SS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5A2 */ { VXInstructionMnemonic::VCVTSI2SD, { OPI_Vx, OPI_Hx, OPI_Ey, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5A3 */ { VXInstructionMnemonic::VCVTSI2SS, { OPI_Vx, OPI_Hx, OPI_Ey, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5A4 */ { VXInstructionMnemonic::VCVTSS2SD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5A5 */ { VXInstructionMnemonic::VCVTSS2SI, { OPI_Gy, OPI_MdU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5A6 */ { VXInstructionMnemonic::VCVTTPD2DQ, { OPI_Vdq, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5A7 */ { VXInstructionMnemonic::VCVTTPS2DQ, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5A8 */ { VXInstructionMnemonic::VCVTTSD2SI, { OPI_Gy, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5A9 */ { VXInstructionMnemonic::VCVTTSS2SI, { OPI_Gy, OPI_MdU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5AA */ { VXInstructionMnemonic::VDIVPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5AB */ { VXInstructionMnemonic::VDIVPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5AC */ { VXInstructionMnemonic::VDIVSD, { OPI_Vx, OPI_Hx, OPI_MqU, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5AD */ { VXInstructionMnemonic::VDIVSS, { OPI_Vx, OPI_Hx, OPI_MdU, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5AE */ { VXInstructionMnemonic::VDPPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5AF */ { VXInstructionMnemonic::VDPPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5B0 */ { VXInstructionMnemonic::VERR, { OPI_Ew, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5B1 */ { VXInstructionMnemonic::VERW, { OPI_Ew, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5B2 */ { VXInstructionMnemonic::VEXTRACTF128, { OPI_Wdq, OPI_Vqq, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5B3 */ { VXInstructionMnemonic::VEXTRACTPS, { OPI_MdRy, OPI_Vx, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5B4 */ { VXInstructionMnemonic::VHADDPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5B5 */ { VXInstructionMnemonic::VHADDPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5B6 */ { VXInstructionMnemonic::VHSUBPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5B7 */ { VXInstructionMnemonic::VHSUBPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5B8 */ { VXInstructionMnemonic::VINSERTF128, { OPI_Vqq, OPI_Hqq, OPI_Wdq, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5B9 */ { VXInstructionMnemonic::VINSERTPS, { OPI_Vx, OPI_Hx, OPI_Md, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5BA */ { VXInstructionMnemonic::VLDDQU, { OPI_Vx, OPI_M, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5BB */ { VXInstructionMnemonic::VMASKMOVDQU, { OPI_Vx, OPI_Ux, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5BC */ { VXInstructionMnemonic::VMASKMOVPD, { OPI_M, OPI_H, OPI_V, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5BD */ { VXInstructionMnemonic::VMASKMOVPD, { OPI_V, OPI_H, OPI_M, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5BE */ { VXInstructionMnemonic::VMASKMOVPS, { OPI_V, OPI_H, OPI_M, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5BF */ { VXInstructionMnemonic::VMASKMOVPS, { OPI_M, OPI_H, OPI_V, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5C0 */ { VXInstructionMnemonic::VMAXPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5C1 */ { VXInstructionMnemonic::VMAXPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5C2 */ { VXInstructionMnemonic::VMAXSD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5C3 */ { VXInstructionMnemonic::VMAXSS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5C4 */ { VXInstructionMnemonic::VMCALL, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 5C5 */ { VXInstructionMnemonic::VMCLEAR, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5C6 */ { VXInstructionMnemonic::VMINPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5C7 */ { VXInstructionMnemonic::VMINPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5C8 */ { VXInstructionMnemonic::VMINSD, { OPI_Vx, OPI_Hx, OPI_MqU, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5C9 */ { VXInstructionMnemonic::VMINSS, { OPI_Vx, OPI_Hx, OPI_MdU, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5CA */ { VXInstructionMnemonic::VMLAUNCH, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 5CB */ { VXInstructionMnemonic::VMLOAD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 5CC */ { VXInstructionMnemonic::VMMCALL, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 5CD */ { VXInstructionMnemonic::VMOVAPD, { OPI_Wx, OPI_Vx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5CE */ { VXInstructionMnemonic::VMOVAPD, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5CF */ { VXInstructionMnemonic::VMOVAPS, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5D0 */ { VXInstructionMnemonic::VMOVAPS, { OPI_Wx, OPI_Vx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5D1 */ { VXInstructionMnemonic::VMOVD, { OPI_Vx, OPI_Ey, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5D2 */ { VXInstructionMnemonic::VMOVD, { OPI_Ey, OPI_Vx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5D3 */ { VXInstructionMnemonic::VMOVD, { OPI_Ey, OPI_Vx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5D4 */ { VXInstructionMnemonic::VMOVD, { OPI_Vx, OPI_Ey, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5D5 */ { VXInstructionMnemonic::VMOVDDUP, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5D6 */ { VXInstructionMnemonic::VMOVDDUP, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5D7 */ { VXInstructionMnemonic::VMOVDQA, { OPI_Wx, OPI_Vx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5D8 */ { VXInstructionMnemonic::VMOVDQA, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5D9 */ { VXInstructionMnemonic::VMOVDQU, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5DA */ { VXInstructionMnemonic::VMOVDQU, { OPI_Wx, OPI_Vx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5DB */ { VXInstructionMnemonic::VMOVHLPS, { OPI_Vx, OPI_Ux, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5DC */ { VXInstructionMnemonic::VMOVHPD, { OPI_M, OPI_Vx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5DD */ { VXInstructionMnemonic::VMOVHPD, { OPI_Vx, OPI_Hx, OPI_M, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5DE */ { VXInstructionMnemonic::VMOVHPS, { OPI_M, OPI_Vx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5DF */ { VXInstructionMnemonic::VMOVHPS, { OPI_Vx, OPI_Hx, OPI_M, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5E0 */ { VXInstructionMnemonic::VMOVLHPS, { OPI_Vx, OPI_Hx, OPI_Ux, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5E1 */ { VXInstructionMnemonic::VMOVLPD, { OPI_Vx, OPI_M, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5E2 */ { VXInstructionMnemonic::VMOVLPD, { OPI_M, OPI_Vx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5E3 */ { VXInstructionMnemonic::VMOVLPS, { OPI_M, OPI_Vx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5E4 */ { VXInstructionMnemonic::VMOVLPS, { OPI_Vx, OPI_M, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5E5 */ { VXInstructionMnemonic::VMOVMSKPD, { OPI_Gd, OPI_Ux, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5E6 */ { VXInstructionMnemonic::VMOVMSKPS, { OPI_Gd, OPI_Ux, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXB }, - /* 5E7 */ { VXInstructionMnemonic::VMOVNTDQ, { OPI_M, OPI_Vx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5E8 */ { VXInstructionMnemonic::VMOVNTDQA, { OPI_Vx, OPI_M, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5E9 */ { VXInstructionMnemonic::VMOVNTPD, { OPI_M, OPI_Vx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5EA */ { VXInstructionMnemonic::VMOVNTPS, { OPI_M, OPI_Vx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5EB */ { VXInstructionMnemonic::VMOVQ, { OPI_Eq, OPI_Vx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5EC */ { VXInstructionMnemonic::VMOVQ, { OPI_Wx, OPI_Vx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5ED */ { VXInstructionMnemonic::VMOVQ, { OPI_Vx, OPI_Eq, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5EE */ { VXInstructionMnemonic::VMOVQ, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5EF */ { VXInstructionMnemonic::VMOVSD, { OPI_V, OPI_H, OPI_U, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5F0 */ { VXInstructionMnemonic::VMOVSD, { OPI_V, OPI_Mq, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5F1 */ { VXInstructionMnemonic::VMOVSD, { OPI_Mq, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5F2 */ { VXInstructionMnemonic::VMOVSD, { OPI_U, OPI_H, OPI_V, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5F3 */ { VXInstructionMnemonic::VMOVSHDUP, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5F4 */ { VXInstructionMnemonic::VMOVSHDUP, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5F5 */ { VXInstructionMnemonic::VMOVSLDUP, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5F6 */ { VXInstructionMnemonic::VMOVSLDUP, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5F7 */ { VXInstructionMnemonic::VMOVSS, { OPI_Md, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5F8 */ { VXInstructionMnemonic::VMOVSS, { OPI_V, OPI_Md, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5F9 */ { VXInstructionMnemonic::VMOVSS, { OPI_U, OPI_H, OPI_V, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5FA */ { VXInstructionMnemonic::VMOVSS, { OPI_V, OPI_H, OPI_U, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 5FB */ { VXInstructionMnemonic::VMOVUPD, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5FC */ { VXInstructionMnemonic::VMOVUPD, { OPI_Wx, OPI_Vx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5FD */ { VXInstructionMnemonic::VMOVUPS, { OPI_Wx, OPI_Vx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5FE */ { VXInstructionMnemonic::VMOVUPS, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 5FF */ { VXInstructionMnemonic::VMPSADBW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 600 */ { VXInstructionMnemonic::VMPTRLD, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 601 */ { VXInstructionMnemonic::VMPTRST, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 602 */ { VXInstructionMnemonic::VMREAD, { OPI_Ey, OPI_Gy, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, - /* 603 */ { VXInstructionMnemonic::VMRESUME, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 604 */ { VXInstructionMnemonic::VMRUN, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 605 */ { VXInstructionMnemonic::VMSAVE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 606 */ { VXInstructionMnemonic::VMULPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 607 */ { VXInstructionMnemonic::VMULPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 608 */ { VXInstructionMnemonic::VMULSD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 609 */ { VXInstructionMnemonic::VMULSS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 60A */ { VXInstructionMnemonic::VMWRITE, { OPI_Gy, OPI_Ey, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, - /* 60B */ { VXInstructionMnemonic::VMXOFF, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 60C */ { VXInstructionMnemonic::VMXON, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 60D */ { VXInstructionMnemonic::VORPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 60E */ { VXInstructionMnemonic::VORPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 60F */ { VXInstructionMnemonic::VPABSB, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 610 */ { VXInstructionMnemonic::VPABSD, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 611 */ { VXInstructionMnemonic::VPABSW, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 612 */ { VXInstructionMnemonic::VPACKSSDW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 613 */ { VXInstructionMnemonic::VPACKSSWB, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 614 */ { VXInstructionMnemonic::VPACKUSDW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 615 */ { VXInstructionMnemonic::VPACKUSWB, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 616 */ { VXInstructionMnemonic::VPADDB, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 617 */ { VXInstructionMnemonic::VPADDD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 618 */ { VXInstructionMnemonic::VPADDQ, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 619 */ { VXInstructionMnemonic::VPADDSB, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 61A */ { VXInstructionMnemonic::VPADDSW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 61B */ { VXInstructionMnemonic::VPADDUSB, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 61C */ { VXInstructionMnemonic::VPADDUSW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 61D */ { VXInstructionMnemonic::VPADDW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 61E */ { VXInstructionMnemonic::VPALIGNR, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 61F */ { VXInstructionMnemonic::VPAND, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 620 */ { VXInstructionMnemonic::VPANDN, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 621 */ { VXInstructionMnemonic::VPAVGB, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 622 */ { VXInstructionMnemonic::VPAVGW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 623 */ { VXInstructionMnemonic::VPBLENDVB, { OPI_V, OPI_H, OPI_W, OPI_L }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 624 */ { VXInstructionMnemonic::VPBLENDW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 625 */ { VXInstructionMnemonic::VPCLMULQDQ, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 626 */ { VXInstructionMnemonic::VPCMPEQB, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 627 */ { VXInstructionMnemonic::VPCMPEQD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 628 */ { VXInstructionMnemonic::VPCMPEQQ, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 629 */ { VXInstructionMnemonic::VPCMPEQW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 62A */ { VXInstructionMnemonic::VPCMPESTRI, { OPI_Vx, OPI_Wx, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 62B */ { VXInstructionMnemonic::VPCMPESTRM, { OPI_Vx, OPI_Wx, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 62C */ { VXInstructionMnemonic::VPCMPGTB, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 62D */ { VXInstructionMnemonic::VPCMPGTD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 62E */ { VXInstructionMnemonic::VPCMPGTQ, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 62F */ { VXInstructionMnemonic::VPCMPGTW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 630 */ { VXInstructionMnemonic::VPCMPISTRI, { OPI_Vx, OPI_Wx, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 631 */ { VXInstructionMnemonic::VPCMPISTRM, { OPI_Vx, OPI_Wx, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 632 */ { VXInstructionMnemonic::VPERM2F128, { OPI_Vqq, OPI_Hqq, OPI_Wqq, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 633 */ { VXInstructionMnemonic::VPERMILPD, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 634 */ { VXInstructionMnemonic::VPERMILPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 635 */ { VXInstructionMnemonic::VPERMILPS, { OPI_Vx, OPI_Wx, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 636 */ { VXInstructionMnemonic::VPERMILPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 637 */ { VXInstructionMnemonic::VPEXTRB, { OPI_MbRv, OPI_Vx, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, - /* 638 */ { VXInstructionMnemonic::VPEXTRD, { OPI_Ed, OPI_Vx, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 639 */ { VXInstructionMnemonic::VPEXTRD, { OPI_Ed, OPI_Vx, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 63A */ { VXInstructionMnemonic::VPEXTRQ, { OPI_Eq, OPI_Vx, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, - /* 63B */ { VXInstructionMnemonic::VPEXTRW, { OPI_Gd, OPI_Ux, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXB }, - /* 63C */ { VXInstructionMnemonic::VPEXTRW, { OPI_MwRd, OPI_Vx, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXB }, - /* 63D */ { VXInstructionMnemonic::VPHADDD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 63E */ { VXInstructionMnemonic::VPHADDSW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 63F */ { VXInstructionMnemonic::VPHADDW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 640 */ { VXInstructionMnemonic::VPHMINPOSUW, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 641 */ { VXInstructionMnemonic::VPHSUBD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 642 */ { VXInstructionMnemonic::VPHSUBSW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 643 */ { VXInstructionMnemonic::VPHSUBW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 644 */ { VXInstructionMnemonic::VPINSRB, { OPI_V, OPI_H, OPI_MbRd, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 645 */ { VXInstructionMnemonic::VPINSRD, { OPI_V, OPI_H, OPI_Ed, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 646 */ { VXInstructionMnemonic::VPINSRD, { OPI_V, OPI_H, OPI_Ed, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 647 */ { VXInstructionMnemonic::VPINSRQ, { OPI_V, OPI_H, OPI_Eq, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 648 */ { VXInstructionMnemonic::VPINSRW, { OPI_Vx, OPI_MwRy, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, - /* 649 */ { VXInstructionMnemonic::VPMADDUBSW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 64A */ { VXInstructionMnemonic::VPMADDWD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 64B */ { VXInstructionMnemonic::VPMAXSB, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 64C */ { VXInstructionMnemonic::VPMAXSD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 64D */ { VXInstructionMnemonic::VPMAXSW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 64E */ { VXInstructionMnemonic::VPMAXUB, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 64F */ { VXInstructionMnemonic::VPMAXUD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 650 */ { VXInstructionMnemonic::VPMAXUW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 651 */ { VXInstructionMnemonic::VPMINSB, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 652 */ { VXInstructionMnemonic::VPMINSD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 653 */ { VXInstructionMnemonic::VPMINSW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 654 */ { VXInstructionMnemonic::VPMINUB, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 655 */ { VXInstructionMnemonic::VPMINUD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 656 */ { VXInstructionMnemonic::VPMINUW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 657 */ { VXInstructionMnemonic::VPMOVMSKB, { OPI_Gd, OPI_Ux, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 658 */ { VXInstructionMnemonic::VPMOVSXBD, { OPI_Vx, OPI_MdU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 659 */ { VXInstructionMnemonic::VPMOVSXBQ, { OPI_Vx, OPI_MwU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 65A */ { VXInstructionMnemonic::VPMOVSXBW, { OPI_Vx, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 65B */ { VXInstructionMnemonic::VPMOVSXWD, { OPI_Vx, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 65C */ { VXInstructionMnemonic::VPMOVSXWQ, { OPI_Vx, OPI_MdU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 65D */ { VXInstructionMnemonic::VPMOVZXBD, { OPI_Vx, OPI_MdU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 65E */ { VXInstructionMnemonic::VPMOVZXBQ, { OPI_Vx, OPI_MwU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 65F */ { VXInstructionMnemonic::VPMOVZXBW, { OPI_Vx, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 660 */ { VXInstructionMnemonic::VPMOVZXDQ, { OPI_Vx, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 661 */ { VXInstructionMnemonic::VPMOVZXWD, { OPI_Vx, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 662 */ { VXInstructionMnemonic::VPMOVZXWQ, { OPI_Vx, OPI_MdU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 663 */ { VXInstructionMnemonic::VPMULDQ, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 664 */ { VXInstructionMnemonic::VPMULHRSW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 665 */ { VXInstructionMnemonic::VPMULHUW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 666 */ { VXInstructionMnemonic::VPMULHW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 667 */ { VXInstructionMnemonic::VPMULLD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 668 */ { VXInstructionMnemonic::VPMULLW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 669 */ { VXInstructionMnemonic::VPOR, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 66A */ { VXInstructionMnemonic::VPSADBW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 66B */ { VXInstructionMnemonic::VPSHUFB, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 66C */ { VXInstructionMnemonic::VPSHUFD, { OPI_Vx, OPI_Wx, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 66D */ { VXInstructionMnemonic::VPSHUFHW, { OPI_Vx, OPI_Wx, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 66E */ { VXInstructionMnemonic::VPSHUFLW, { OPI_Vx, OPI_Wx, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 66F */ { VXInstructionMnemonic::VPSIGNB, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 670 */ { VXInstructionMnemonic::VPSIGND, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 671 */ { VXInstructionMnemonic::VPSIGNW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 672 */ { VXInstructionMnemonic::VPSLLD, { OPI_H, OPI_V, OPI_W, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 673 */ { VXInstructionMnemonic::VPSLLD, { OPI_V, OPI_H, OPI_W, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 674 */ { VXInstructionMnemonic::VPSLLDQ, { OPI_Hx, OPI_Ux, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_REXB }, - /* 675 */ { VXInstructionMnemonic::VPSLLQ, { OPI_V, OPI_H, OPI_W, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 676 */ { VXInstructionMnemonic::VPSLLQ, { OPI_H, OPI_V, OPI_W, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 677 */ { VXInstructionMnemonic::VPSLLW, { OPI_H, OPI_V, OPI_W, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 678 */ { VXInstructionMnemonic::VPSLLW, { OPI_V, OPI_H, OPI_W, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 679 */ { VXInstructionMnemonic::VPSRAD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 67A */ { VXInstructionMnemonic::VPSRAD, { OPI_Hx, OPI_Ux, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_REXB }, - /* 67B */ { VXInstructionMnemonic::VPSRAW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 67C */ { VXInstructionMnemonic::VPSRAW, { OPI_Hx, OPI_Ux, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_REXB }, - /* 67D */ { VXInstructionMnemonic::VPSRLD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 67E */ { VXInstructionMnemonic::VPSRLD, { OPI_Hx, OPI_Ux, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_REXB }, - /* 67F */ { VXInstructionMnemonic::VPSRLDQ, { OPI_Hx, OPI_Ux, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_REXB }, - /* 680 */ { VXInstructionMnemonic::VPSRLQ, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 681 */ { VXInstructionMnemonic::VPSRLQ, { OPI_Hx, OPI_Ux, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_REXB }, - /* 682 */ { VXInstructionMnemonic::VPSRLW, { OPI_Hx, OPI_Ux, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_REXB }, - /* 683 */ { VXInstructionMnemonic::VPSRLW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 684 */ { VXInstructionMnemonic::VPSUBB, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 685 */ { VXInstructionMnemonic::VPSUBD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 686 */ { VXInstructionMnemonic::VPSUBQ, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 687 */ { VXInstructionMnemonic::VPSUBSB, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 688 */ { VXInstructionMnemonic::VPSUBSW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 689 */ { VXInstructionMnemonic::VPSUBUSB, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 68A */ { VXInstructionMnemonic::VPSUBUSW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 68B */ { VXInstructionMnemonic::VPSUBW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 68C */ { VXInstructionMnemonic::VPTEST, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 68D */ { VXInstructionMnemonic::VPUNPCKHBW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 68E */ { VXInstructionMnemonic::VPUNPCKHDQ, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 68F */ { VXInstructionMnemonic::VPUNPCKHQDQ, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 690 */ { VXInstructionMnemonic::VPUNPCKHWD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 691 */ { VXInstructionMnemonic::VPUNPCKLBW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 692 */ { VXInstructionMnemonic::VPUNPCKLDQ, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 693 */ { VXInstructionMnemonic::VPUNPCKLQDQ, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 694 */ { VXInstructionMnemonic::VPUNPCKLWD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 695 */ { VXInstructionMnemonic::VPXOR, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 696 */ { VXInstructionMnemonic::VRCPPS, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 697 */ { VXInstructionMnemonic::VRCPSS, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 698 */ { VXInstructionMnemonic::VROUNDPD, { OPI_Vx, OPI_Wx, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 699 */ { VXInstructionMnemonic::VROUNDPS, { OPI_Vx, OPI_Wx, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 69A */ { VXInstructionMnemonic::VROUNDSD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 69B */ { VXInstructionMnemonic::VROUNDSS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 69C */ { VXInstructionMnemonic::VRSQRTPS, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 69D */ { VXInstructionMnemonic::VRSQRTSS, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 69E */ { VXInstructionMnemonic::VSHUFPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 69F */ { VXInstructionMnemonic::VSHUFPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 6A0 */ { VXInstructionMnemonic::VSQRTPD, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 6A1 */ { VXInstructionMnemonic::VSQRTPS, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 6A2 */ { VXInstructionMnemonic::VSQRTSD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 6A3 */ { VXInstructionMnemonic::VSQRTSS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 6A4 */ { VXInstructionMnemonic::VSTMXCSR, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 6A5 */ { VXInstructionMnemonic::VSUBPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 6A6 */ { VXInstructionMnemonic::VSUBPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 6A7 */ { VXInstructionMnemonic::VSUBSD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 6A8 */ { VXInstructionMnemonic::VSUBSS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 6A9 */ { VXInstructionMnemonic::VTESTPD, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 6AA */ { VXInstructionMnemonic::VTESTPS, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 6AB */ { VXInstructionMnemonic::VUCOMISD, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 6AC */ { VXInstructionMnemonic::VUCOMISS, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 6AD */ { VXInstructionMnemonic::VUNPCKHPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 6AE */ { VXInstructionMnemonic::VUNPCKHPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 6AF */ { VXInstructionMnemonic::VUNPCKLPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 6B0 */ { VXInstructionMnemonic::VUNPCKLPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 6B1 */ { VXInstructionMnemonic::VXORPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, - /* 6B2 */ { VXInstructionMnemonic::VXORPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 6B3 */ { VXInstructionMnemonic::VZEROALL, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 6B4 */ { VXInstructionMnemonic::VZEROUPPER, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 6B5 */ { VXInstructionMnemonic::WAIT, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 6B6 */ { VXInstructionMnemonic::WBINVD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 6B7 */ { VXInstructionMnemonic::WRMSR, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 6B8 */ { VXInstructionMnemonic::XADD, { OPI_Ev, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 6B9 */ { VXInstructionMnemonic::XADD, { OPI_Eb, OPI_Gb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 6BA */ { VXInstructionMnemonic::XCHG, { OPI_R1v, OPI_rAX, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 6BB */ { VXInstructionMnemonic::XCHG, { OPI_R3v, OPI_rAX, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 6BC */ { VXInstructionMnemonic::XCHG, { OPI_R7v, OPI_rAX, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 6BD */ { VXInstructionMnemonic::XCHG, { OPI_R6v, OPI_rAX, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 6BE */ { VXInstructionMnemonic::XCHG, { OPI_R2v, OPI_rAX, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 6BF */ { VXInstructionMnemonic::XCHG, { OPI_Eb, OPI_Gb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 6C0 */ { VXInstructionMnemonic::XCHG, { OPI_Ev, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 6C1 */ { VXInstructionMnemonic::XCHG, { OPI_R0v, OPI_rAX, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 6C2 */ { VXInstructionMnemonic::XCHG, { OPI_R5v, OPI_rAX, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 6C3 */ { VXInstructionMnemonic::XCHG, { OPI_R4v, OPI_rAX, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB }, - /* 6C4 */ { VXInstructionMnemonic::XCRYPTCBC, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 6C5 */ { VXInstructionMnemonic::XCRYPTCFB, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 6C6 */ { VXInstructionMnemonic::XCRYPTCTR, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 6C7 */ { VXInstructionMnemonic::XCRYPTECB, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 6C8 */ { VXInstructionMnemonic::XCRYPTOFB, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 6C9 */ { VXInstructionMnemonic::XGETBV, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 6CA */ { VXInstructionMnemonic::XLATB, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXW | IDF_ACCEPTS_SEGMENT_OVERRIDE }, - /* 6CB */ { VXInstructionMnemonic::XOR, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_INVALID_64 }, - /* 6CC */ { VXInstructionMnemonic::XOR, { OPI_Ev, OPI_Iz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 6CD */ { VXInstructionMnemonic::XOR, { OPI_Ev, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 6CE */ { VXInstructionMnemonic::XOR, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 6CF */ { VXInstructionMnemonic::XOR, { OPI_Gb, OPI_Eb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 6D0 */ { VXInstructionMnemonic::XOR, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 6D1 */ { VXInstructionMnemonic::XOR, { OPI_Ev, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 6D2 */ { VXInstructionMnemonic::XOR, { OPI_Eb, OPI_Gb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 6D3 */ { VXInstructionMnemonic::XOR, { OPI_AL, OPI_Ib, OPI_NONE, OPI_NONE }, 0 }, - /* 6D4 */ { VXInstructionMnemonic::XOR, { OPI_rAX, OPI_Iz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE | IDF_ACCEPTS_REXW }, - /* 6D5 */ { VXInstructionMnemonic::XORPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 6D6 */ { VXInstructionMnemonic::XORPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 6D7 */ { VXInstructionMnemonic::XRSTOR, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 6D8 */ { VXInstructionMnemonic::XSAVE, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, - /* 6D9 */ { VXInstructionMnemonic::XSETBV, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 6DA */ { VXInstructionMnemonic::XSHA1, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 6DB */ { VXInstructionMnemonic::XSHA256, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, - /* 6DC */ { VXInstructionMnemonic::XSTORE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 2F8 */ { VXInstructionMnemonic::LFS, { OPI_Gz, OPI_M, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 2F9 */ { VXInstructionMnemonic::LGDT, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 2FA */ { VXInstructionMnemonic::LGS, { OPI_Gz, OPI_M, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 2FB */ { VXInstructionMnemonic::LIDT, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 2FC */ { VXInstructionMnemonic::LLDT, { OPI_Ew, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 2FD */ { VXInstructionMnemonic::LMSW, { OPI_Ew, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 2FE */ { VXInstructionMnemonic::LMSW, { OPI_Ew, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 2FF */ { VXInstructionMnemonic::LOCK, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 300 */ { VXInstructionMnemonic::LODSB, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_SEGMENT_PREFIX }, + /* 301 */ { VXInstructionMnemonic::LODSD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_SEGMENT_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW }, + /* 302 */ { VXInstructionMnemonic::LODSQ, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_SEGMENT_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW }, + /* 303 */ { VXInstructionMnemonic::LODSW, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_SEGMENT_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW }, + /* 304 */ { VXInstructionMnemonic::LOOP, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 305 */ { VXInstructionMnemonic::LOOPE, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 306 */ { VXInstructionMnemonic::LOOPNE, { OPI_Jb, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 307 */ { VXInstructionMnemonic::LSL, { OPI_Gv, OPI_Ew, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 308 */ { VXInstructionMnemonic::LSS, { OPI_Gv, OPI_M, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 309 */ { VXInstructionMnemonic::LTR, { OPI_Ew, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 30A */ { VXInstructionMnemonic::MASKMOVDQU, { OPI_V, OPI_U, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 30B */ { VXInstructionMnemonic::MASKMOVQ, { OPI_P, OPI_N, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 30C */ { VXInstructionMnemonic::MAXPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 30D */ { VXInstructionMnemonic::MAXPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 30E */ { VXInstructionMnemonic::MAXSD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 30F */ { VXInstructionMnemonic::MAXSS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 310 */ { VXInstructionMnemonic::MFENCE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 311 */ { VXInstructionMnemonic::MINPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 312 */ { VXInstructionMnemonic::MINPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 313 */ { VXInstructionMnemonic::MINSD, { OPI_V, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 314 */ { VXInstructionMnemonic::MINSS, { OPI_V, OPI_MdU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 315 */ { VXInstructionMnemonic::MONITOR, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 316 */ { VXInstructionMnemonic::MONTMUL, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 317 */ { VXInstructionMnemonic::MOV, { OPI_R0b, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 318 */ { VXInstructionMnemonic::MOV, { OPI_R2b, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 319 */ { VXInstructionMnemonic::MOV, { OPI_R3b, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 31A */ { VXInstructionMnemonic::MOV, { OPI_R1b, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 31B */ { VXInstructionMnemonic::MOV, { OPI_AL, OPI_Ob, OPI_NONE, OPI_NONE }, IDF_OPERAND1_WRITE }, + /* 31C */ { VXInstructionMnemonic::MOV, { OPI_S, OPI_MwRv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 31D */ { VXInstructionMnemonic::MOV, { OPI_MwRv, OPI_S, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 31E */ { VXInstructionMnemonic::MOV, { OPI_Ov, OPI_rAX, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_OPERAND1_WRITE }, + /* 31F */ { VXInstructionMnemonic::MOV, { OPI_Ob, OPI_AL, OPI_NONE, OPI_NONE }, IDF_OPERAND1_WRITE }, + /* 320 */ { VXInstructionMnemonic::MOV, { OPI_rAX, OPI_Ov, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_OPERAND1_WRITE }, + /* 321 */ { VXInstructionMnemonic::MOV, { OPI_R4b, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 322 */ { VXInstructionMnemonic::MOV, { OPI_R7v, OPI_Iv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 323 */ { VXInstructionMnemonic::MOV, { OPI_R6v, OPI_Iv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 324 */ { VXInstructionMnemonic::MOV, { OPI_R5v, OPI_Iv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 325 */ { VXInstructionMnemonic::MOV, { OPI_R, OPI_C, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 326 */ { VXInstructionMnemonic::MOV, { OPI_D, OPI_R, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 327 */ { VXInstructionMnemonic::MOV, { OPI_C, OPI_R, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 328 */ { VXInstructionMnemonic::MOV, { OPI_R, OPI_D, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 329 */ { VXInstructionMnemonic::MOV, { OPI_R4v, OPI_Iv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 32A */ { VXInstructionMnemonic::MOV, { OPI_R7b, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 32B */ { VXInstructionMnemonic::MOV, { OPI_R6b, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 32C */ { VXInstructionMnemonic::MOV, { OPI_R5b, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 32D */ { VXInstructionMnemonic::MOV, { OPI_R0v, OPI_Iv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 32E */ { VXInstructionMnemonic::MOV, { OPI_R3v, OPI_Iv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 32F */ { VXInstructionMnemonic::MOV, { OPI_R2v, OPI_Iv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 330 */ { VXInstructionMnemonic::MOV, { OPI_R1v, OPI_Iv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 331 */ { VXInstructionMnemonic::MOV, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 332 */ { VXInstructionMnemonic::MOV, { OPI_Ev, OPI_sIz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 333 */ { VXInstructionMnemonic::MOV, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 334 */ { VXInstructionMnemonic::MOV, { OPI_Eb, OPI_Gb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 335 */ { VXInstructionMnemonic::MOV, { OPI_Gb, OPI_Eb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 336 */ { VXInstructionMnemonic::MOV, { OPI_Ev, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 337 */ { VXInstructionMnemonic::MOVAPD, { OPI_W, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 338 */ { VXInstructionMnemonic::MOVAPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 339 */ { VXInstructionMnemonic::MOVAPS, { OPI_W, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 33A */ { VXInstructionMnemonic::MOVAPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 33B */ { VXInstructionMnemonic::MOVBE, { OPI_Gv, OPI_Mv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 33C */ { VXInstructionMnemonic::MOVBE, { OPI_Mv, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 33D */ { VXInstructionMnemonic::MOVD, { OPI_P, OPI_Ey, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 33E */ { VXInstructionMnemonic::MOVD, { OPI_Ey, OPI_P, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 33F */ { VXInstructionMnemonic::MOVD, { OPI_Ey, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 340 */ { VXInstructionMnemonic::MOVD, { OPI_Ey, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 341 */ { VXInstructionMnemonic::MOVD, { OPI_V, OPI_Ey, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 342 */ { VXInstructionMnemonic::MOVD, { OPI_V, OPI_Ey, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 343 */ { VXInstructionMnemonic::MOVD, { OPI_P, OPI_Ey, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 344 */ { VXInstructionMnemonic::MOVD, { OPI_Ey, OPI_P, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 345 */ { VXInstructionMnemonic::MOVDDUP, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 346 */ { VXInstructionMnemonic::MOVDDUP, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 347 */ { VXInstructionMnemonic::MOVDQ2Q, { OPI_P, OPI_U, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 348 */ { VXInstructionMnemonic::MOVDQA, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 349 */ { VXInstructionMnemonic::MOVDQA, { OPI_W, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 34A */ { VXInstructionMnemonic::MOVDQU, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 34B */ { VXInstructionMnemonic::MOVDQU, { OPI_W, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 34C */ { VXInstructionMnemonic::MOVHLPS, { OPI_V, OPI_U, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 34D */ { VXInstructionMnemonic::MOVHPD, { OPI_M, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 34E */ { VXInstructionMnemonic::MOVHPD, { OPI_V, OPI_M, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 34F */ { VXInstructionMnemonic::MOVHPS, { OPI_M, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 350 */ { VXInstructionMnemonic::MOVHPS, { OPI_V, OPI_M, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 351 */ { VXInstructionMnemonic::MOVLHPS, { OPI_V, OPI_U, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 352 */ { VXInstructionMnemonic::MOVLPD, { OPI_M, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 353 */ { VXInstructionMnemonic::MOVLPD, { OPI_V, OPI_M, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 354 */ { VXInstructionMnemonic::MOVLPS, { OPI_M, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 355 */ { VXInstructionMnemonic::MOVLPS, { OPI_V, OPI_M, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 356 */ { VXInstructionMnemonic::MOVMSKPD, { OPI_Gd, OPI_U, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 357 */ { VXInstructionMnemonic::MOVMSKPS, { OPI_Gd, OPI_U, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 358 */ { VXInstructionMnemonic::MOVNTDQ, { OPI_M, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 359 */ { VXInstructionMnemonic::MOVNTDQA, { OPI_V, OPI_M, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 35A */ { VXInstructionMnemonic::MOVNTI, { OPI_M, OPI_Gy, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 35B */ { VXInstructionMnemonic::MOVNTPD, { OPI_M, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 35C */ { VXInstructionMnemonic::MOVNTPS, { OPI_M, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 35D */ { VXInstructionMnemonic::MOVNTQ, { OPI_M, OPI_P, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 35E */ { VXInstructionMnemonic::MOVQ, { OPI_P, OPI_Eq, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 35F */ { VXInstructionMnemonic::MOVQ, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 360 */ { VXInstructionMnemonic::MOVQ, { OPI_Eq, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 361 */ { VXInstructionMnemonic::MOVQ, { OPI_W, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 362 */ { VXInstructionMnemonic::MOVQ, { OPI_Q, OPI_P, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 363 */ { VXInstructionMnemonic::MOVQ, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 364 */ { VXInstructionMnemonic::MOVQ, { OPI_V, OPI_Eq, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 365 */ { VXInstructionMnemonic::MOVQ, { OPI_Eq, OPI_P, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 366 */ { VXInstructionMnemonic::MOVQ2DQ, { OPI_V, OPI_N, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_OPERAND1_WRITE }, + /* 367 */ { VXInstructionMnemonic::MOVSB, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_SEGMENT_PREFIX | IDF_OPERAND1_WRITE }, + /* 368 */ { VXInstructionMnemonic::MOVSD, { OPI_V, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 369 */ { VXInstructionMnemonic::MOVSD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_SEGMENT_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_OPERAND1_WRITE }, + /* 36A */ { VXInstructionMnemonic::MOVSD, { OPI_W, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 36B */ { VXInstructionMnemonic::MOVSHDUP, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 36C */ { VXInstructionMnemonic::MOVSHDUP, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 36D */ { VXInstructionMnemonic::MOVSLDUP, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 36E */ { VXInstructionMnemonic::MOVSLDUP, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 36F */ { VXInstructionMnemonic::MOVSQ, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_SEGMENT_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_OPERAND1_WRITE }, + /* 370 */ { VXInstructionMnemonic::MOVSS, { OPI_W, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 371 */ { VXInstructionMnemonic::MOVSS, { OPI_V, OPI_MdU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 372 */ { VXInstructionMnemonic::MOVSW, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_SEGMENT_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_OPERAND1_WRITE }, + /* 373 */ { VXInstructionMnemonic::MOVSX, { OPI_Gv, OPI_Eb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 374 */ { VXInstructionMnemonic::MOVSX, { OPI_Gy, OPI_Ew, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 375 */ { VXInstructionMnemonic::MOVSXD, { OPI_Gq, OPI_Ed, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 376 */ { VXInstructionMnemonic::MOVUPD, { OPI_W, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 377 */ { VXInstructionMnemonic::MOVUPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 378 */ { VXInstructionMnemonic::MOVUPS, { OPI_W, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 379 */ { VXInstructionMnemonic::MOVUPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 37A */ { VXInstructionMnemonic::MOVZX, { OPI_Gy, OPI_Ew, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 37B */ { VXInstructionMnemonic::MOVZX, { OPI_Gv, OPI_Eb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 37C */ { VXInstructionMnemonic::MPSADBW, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 37D */ { VXInstructionMnemonic::MUL, { OPI_Ev, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 37E */ { VXInstructionMnemonic::MUL, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 37F */ { VXInstructionMnemonic::MULPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 380 */ { VXInstructionMnemonic::MULPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 381 */ { VXInstructionMnemonic::MULSD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 382 */ { VXInstructionMnemonic::MULSS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 383 */ { VXInstructionMnemonic::MWAIT, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 384 */ { VXInstructionMnemonic::NEG, { OPI_Ev, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 385 */ { VXInstructionMnemonic::NEG, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 386 */ { VXInstructionMnemonic::NOP, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 387 */ { VXInstructionMnemonic::NOP, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 388 */ { VXInstructionMnemonic::NOP, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 389 */ { VXInstructionMnemonic::NOP, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 38A */ { VXInstructionMnemonic::NOP, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 38B */ { VXInstructionMnemonic::NOP, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 38C */ { VXInstructionMnemonic::NOP, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 38D */ { VXInstructionMnemonic::NOT, { OPI_Ev, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 38E */ { VXInstructionMnemonic::NOT, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 38F */ { VXInstructionMnemonic::OR, { OPI_rAX, OPI_sIz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_OPERAND1_READWRITE }, + /* 390 */ { VXInstructionMnemonic::OR, { OPI_AL, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_OPERAND1_READWRITE }, + /* 391 */ { VXInstructionMnemonic::OR, { OPI_Ev, OPI_sIz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 392 */ { VXInstructionMnemonic::OR, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 393 */ { VXInstructionMnemonic::OR, { OPI_Ev, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 394 */ { VXInstructionMnemonic::OR, { OPI_Eb, OPI_Gb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 395 */ { VXInstructionMnemonic::OR, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 396 */ { VXInstructionMnemonic::OR, { OPI_Gb, OPI_Eb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 397 */ { VXInstructionMnemonic::OR, { OPI_Ev, OPI_sIb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 398 */ { VXInstructionMnemonic::OR, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 399 */ { VXInstructionMnemonic::ORPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 39A */ { VXInstructionMnemonic::ORPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 39B */ { VXInstructionMnemonic::OUT, { OPI_DX, OPI_AL, OPI_NONE, OPI_NONE }, 0 }, + /* 39C */ { VXInstructionMnemonic::OUT, { OPI_DX, OPI_eAX, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX }, + /* 39D */ { VXInstructionMnemonic::OUT, { OPI_Ib, OPI_AL, OPI_NONE, OPI_NONE }, 0 }, + /* 39E */ { VXInstructionMnemonic::OUT, { OPI_Ib, OPI_eAX, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX }, + /* 39F */ { VXInstructionMnemonic::OUTSB, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_SEGMENT_PREFIX }, + /* 3A0 */ { VXInstructionMnemonic::OUTSD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_SEGMENT_PREFIX }, + /* 3A1 */ { VXInstructionMnemonic::OUTSW, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_SEGMENT_PREFIX }, + /* 3A2 */ { VXInstructionMnemonic::PABSB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 3A3 */ { VXInstructionMnemonic::PABSB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 3A4 */ { VXInstructionMnemonic::PABSD, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 3A5 */ { VXInstructionMnemonic::PABSD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 3A6 */ { VXInstructionMnemonic::PABSW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 3A7 */ { VXInstructionMnemonic::PABSW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 3A8 */ { VXInstructionMnemonic::PACKSSDW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3A9 */ { VXInstructionMnemonic::PACKSSDW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3AA */ { VXInstructionMnemonic::PACKSSWB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3AB */ { VXInstructionMnemonic::PACKSSWB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3AC */ { VXInstructionMnemonic::PACKUSDW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3AD */ { VXInstructionMnemonic::PACKUSWB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3AE */ { VXInstructionMnemonic::PACKUSWB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3AF */ { VXInstructionMnemonic::PADDB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3B0 */ { VXInstructionMnemonic::PADDB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3B1 */ { VXInstructionMnemonic::PADDD, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3B2 */ { VXInstructionMnemonic::PADDD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3B3 */ { VXInstructionMnemonic::PADDQ, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3B4 */ { VXInstructionMnemonic::PADDQ, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3B5 */ { VXInstructionMnemonic::PADDSB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3B6 */ { VXInstructionMnemonic::PADDSB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3B7 */ { VXInstructionMnemonic::PADDSW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3B8 */ { VXInstructionMnemonic::PADDSW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3B9 */ { VXInstructionMnemonic::PADDUSB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3BA */ { VXInstructionMnemonic::PADDUSB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3BB */ { VXInstructionMnemonic::PADDUSW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3BC */ { VXInstructionMnemonic::PADDUSW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3BD */ { VXInstructionMnemonic::PADDW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3BE */ { VXInstructionMnemonic::PADDW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3BF */ { VXInstructionMnemonic::PALIGNR, { OPI_P, OPI_Q, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3C0 */ { VXInstructionMnemonic::PALIGNR, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3C1 */ { VXInstructionMnemonic::PAND, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3C2 */ { VXInstructionMnemonic::PAND, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3C3 */ { VXInstructionMnemonic::PANDN, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3C4 */ { VXInstructionMnemonic::PANDN, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3C5 */ { VXInstructionMnemonic::PAVGB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3C6 */ { VXInstructionMnemonic::PAVGB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3C7 */ { VXInstructionMnemonic::PAVGUSB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3C8 */ { VXInstructionMnemonic::PAVGW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3C9 */ { VXInstructionMnemonic::PAVGW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3CA */ { VXInstructionMnemonic::PBLENDVB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3CB */ { VXInstructionMnemonic::PBLENDW, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3CC */ { VXInstructionMnemonic::PCLMULQDQ, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3CD */ { VXInstructionMnemonic::PCMPEQB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3CE */ { VXInstructionMnemonic::PCMPEQB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3CF */ { VXInstructionMnemonic::PCMPEQD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3D0 */ { VXInstructionMnemonic::PCMPEQD, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3D1 */ { VXInstructionMnemonic::PCMPEQQ, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 3D2 */ { VXInstructionMnemonic::PCMPEQW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3D3 */ { VXInstructionMnemonic::PCMPEQW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3D4 */ { VXInstructionMnemonic::PCMPESTRI, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 3D5 */ { VXInstructionMnemonic::PCMPESTRM, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 3D6 */ { VXInstructionMnemonic::PCMPGTB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3D7 */ { VXInstructionMnemonic::PCMPGTB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3D8 */ { VXInstructionMnemonic::PCMPGTD, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3D9 */ { VXInstructionMnemonic::PCMPGTD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3DA */ { VXInstructionMnemonic::PCMPGTQ, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 3DB */ { VXInstructionMnemonic::PCMPGTW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3DC */ { VXInstructionMnemonic::PCMPGTW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3DD */ { VXInstructionMnemonic::PCMPISTRI, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 3DE */ { VXInstructionMnemonic::PCMPISTRM, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 3DF */ { VXInstructionMnemonic::PEXTRB, { OPI_MbRv, OPI_V, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 | IDF_OPERAND1_WRITE }, + /* 3E0 */ { VXInstructionMnemonic::PEXTRD, { OPI_Ed, OPI_V, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 3E1 */ { VXInstructionMnemonic::PEXTRD, { OPI_Ed, OPI_V, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 3E2 */ { VXInstructionMnemonic::PEXTRQ, { OPI_Eq, OPI_V, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 | IDF_OPERAND1_WRITE }, + /* 3E3 */ { VXInstructionMnemonic::PEXTRW, { OPI_MwRd, OPI_V, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 3E4 */ { VXInstructionMnemonic::PEXTRW, { OPI_Gd, OPI_N, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 3E5 */ { VXInstructionMnemonic::PEXTRW, { OPI_Gd, OPI_U, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 3E6 */ { VXInstructionMnemonic::PF2ID, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 3E7 */ { VXInstructionMnemonic::PF2IW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 3E8 */ { VXInstructionMnemonic::PFACC, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3E9 */ { VXInstructionMnemonic::PFADD, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3EA */ { VXInstructionMnemonic::PFCMPEQ, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3EB */ { VXInstructionMnemonic::PFCMPGE, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3EC */ { VXInstructionMnemonic::PFCMPGT, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3ED */ { VXInstructionMnemonic::PFMAX, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3EE */ { VXInstructionMnemonic::PFMIN, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3EF */ { VXInstructionMnemonic::PFMUL, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3F0 */ { VXInstructionMnemonic::PFNACC, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3F1 */ { VXInstructionMnemonic::PFPNACC, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3F2 */ { VXInstructionMnemonic::PFRCP, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 3F3 */ { VXInstructionMnemonic::PFRCPIT1, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 3F4 */ { VXInstructionMnemonic::PFRCPIT2, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 3F5 */ { VXInstructionMnemonic::PFRSQIT1, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 3F6 */ { VXInstructionMnemonic::PFRSQRT, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 3F7 */ { VXInstructionMnemonic::PFSUB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3F8 */ { VXInstructionMnemonic::PFSUBR, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3F9 */ { VXInstructionMnemonic::PHADDD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3FA */ { VXInstructionMnemonic::PHADDD, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3FB */ { VXInstructionMnemonic::PHADDSW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3FC */ { VXInstructionMnemonic::PHADDSW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3FD */ { VXInstructionMnemonic::PHADDW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3FE */ { VXInstructionMnemonic::PHADDW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 3FF */ { VXInstructionMnemonic::PHMINPOSUW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 400 */ { VXInstructionMnemonic::PHSUBD, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 401 */ { VXInstructionMnemonic::PHSUBD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 402 */ { VXInstructionMnemonic::PHSUBSW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 403 */ { VXInstructionMnemonic::PHSUBSW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 404 */ { VXInstructionMnemonic::PHSUBW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 405 */ { VXInstructionMnemonic::PHSUBW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 406 */ { VXInstructionMnemonic::PI2FD, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 407 */ { VXInstructionMnemonic::PI2FW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 408 */ { VXInstructionMnemonic::PINSRB, { OPI_V, OPI_MbRd, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 409 */ { VXInstructionMnemonic::PINSRD, { OPI_V, OPI_Ed, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 40A */ { VXInstructionMnemonic::PINSRD, { OPI_V, OPI_Ed, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 40B */ { VXInstructionMnemonic::PINSRQ, { OPI_V, OPI_Eq, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 40C */ { VXInstructionMnemonic::PINSRW, { OPI_V, OPI_MwRy, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 | IDF_OPERAND1_WRITE }, + /* 40D */ { VXInstructionMnemonic::PINSRW, { OPI_P, OPI_MwRy, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 | IDF_OPERAND1_WRITE }, + /* 40E */ { VXInstructionMnemonic::PMADDUBSW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 40F */ { VXInstructionMnemonic::PMADDUBSW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 410 */ { VXInstructionMnemonic::PMADDWD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 411 */ { VXInstructionMnemonic::PMADDWD, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 412 */ { VXInstructionMnemonic::PMAXSB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 413 */ { VXInstructionMnemonic::PMAXSD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 414 */ { VXInstructionMnemonic::PMAXSW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 415 */ { VXInstructionMnemonic::PMAXSW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 416 */ { VXInstructionMnemonic::PMAXUB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 417 */ { VXInstructionMnemonic::PMAXUB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 418 */ { VXInstructionMnemonic::PMAXUD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 419 */ { VXInstructionMnemonic::PMAXUW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 41A */ { VXInstructionMnemonic::PMINSB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 41B */ { VXInstructionMnemonic::PMINSD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 41C */ { VXInstructionMnemonic::PMINSW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 41D */ { VXInstructionMnemonic::PMINSW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 41E */ { VXInstructionMnemonic::PMINUB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 41F */ { VXInstructionMnemonic::PMINUB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 420 */ { VXInstructionMnemonic::PMINUD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 421 */ { VXInstructionMnemonic::PMINUW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 422 */ { VXInstructionMnemonic::PMOVMSKB, { OPI_Gd, OPI_N, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 423 */ { VXInstructionMnemonic::PMOVMSKB, { OPI_Gd, OPI_U, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 424 */ { VXInstructionMnemonic::PMOVSXBD, { OPI_V, OPI_MdU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 425 */ { VXInstructionMnemonic::PMOVSXBQ, { OPI_V, OPI_MwU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 426 */ { VXInstructionMnemonic::PMOVSXBW, { OPI_V, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 427 */ { VXInstructionMnemonic::PMOVSXDQ, { OPI_V, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 428 */ { VXInstructionMnemonic::PMOVSXWD, { OPI_V, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 429 */ { VXInstructionMnemonic::PMOVSXWQ, { OPI_V, OPI_MdU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 42A */ { VXInstructionMnemonic::PMOVZXBD, { OPI_V, OPI_MdU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 42B */ { VXInstructionMnemonic::PMOVZXBQ, { OPI_V, OPI_MwU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 42C */ { VXInstructionMnemonic::PMOVZXBW, { OPI_V, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 42D */ { VXInstructionMnemonic::PMOVZXDQ, { OPI_V, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 42E */ { VXInstructionMnemonic::PMOVZXWD, { OPI_V, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 42F */ { VXInstructionMnemonic::PMOVZXWQ, { OPI_V, OPI_MdU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 430 */ { VXInstructionMnemonic::PMULDQ, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 431 */ { VXInstructionMnemonic::PMULHRSW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 432 */ { VXInstructionMnemonic::PMULHRSW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 433 */ { VXInstructionMnemonic::PMULHRW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 434 */ { VXInstructionMnemonic::PMULHUW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 435 */ { VXInstructionMnemonic::PMULHUW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 436 */ { VXInstructionMnemonic::PMULHW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 437 */ { VXInstructionMnemonic::PMULHW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 438 */ { VXInstructionMnemonic::PMULLD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 439 */ { VXInstructionMnemonic::PMULLW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 43A */ { VXInstructionMnemonic::PMULLW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 43B */ { VXInstructionMnemonic::PMULUDQ, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 43C */ { VXInstructionMnemonic::PMULUDQ, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 43D */ { VXInstructionMnemonic::POP, { OPI_R5v, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 | IDF_OPERAND1_WRITE }, + /* 43E */ { VXInstructionMnemonic::POP, { OPI_R4v, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 | IDF_OPERAND1_WRITE }, + /* 43F */ { VXInstructionMnemonic::POP, { OPI_R6v, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 | IDF_OPERAND1_WRITE }, + /* 440 */ { VXInstructionMnemonic::POP, { OPI_Ev, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 | IDF_OPERAND1_WRITE }, + /* 441 */ { VXInstructionMnemonic::POP, { OPI_R7v, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 | IDF_OPERAND1_WRITE }, + /* 442 */ { VXInstructionMnemonic::POP, { OPI_R3v, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 | IDF_OPERAND1_WRITE }, + /* 443 */ { VXInstructionMnemonic::POP, { OPI_DS, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_INVALID_64 | IDF_OPERAND1_WRITE }, + /* 444 */ { VXInstructionMnemonic::POP, { OPI_GS, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_OPERAND1_WRITE }, + /* 445 */ { VXInstructionMnemonic::POP, { OPI_ES, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_INVALID_64 | IDF_OPERAND1_WRITE }, + /* 446 */ { VXInstructionMnemonic::POP, { OPI_SS, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_INVALID_64 | IDF_OPERAND1_WRITE }, + /* 447 */ { VXInstructionMnemonic::POP, { OPI_R1v, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 | IDF_OPERAND1_WRITE }, + /* 448 */ { VXInstructionMnemonic::POP, { OPI_R2v, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 | IDF_OPERAND1_WRITE }, + /* 449 */ { VXInstructionMnemonic::POP, { OPI_R0v, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 | IDF_OPERAND1_WRITE }, + /* 44A */ { VXInstructionMnemonic::POP, { OPI_FS, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_OPERAND1_WRITE }, + /* 44B */ { VXInstructionMnemonic::POPA, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_INVALID_64 }, + /* 44C */ { VXInstructionMnemonic::POPAD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_INVALID_64 }, + /* 44D */ { VXInstructionMnemonic::POPCNT, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 44E */ { VXInstructionMnemonic::POPFD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX }, + /* 44F */ { VXInstructionMnemonic::POPFQ, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_DEFAULT_64 }, + /* 450 */ { VXInstructionMnemonic::POPFQ, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_DEFAULT_64 }, + /* 451 */ { VXInstructionMnemonic::POPFW, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX }, + /* 452 */ { VXInstructionMnemonic::POR, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 453 */ { VXInstructionMnemonic::POR, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 454 */ { VXInstructionMnemonic::PREFETCH, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 455 */ { VXInstructionMnemonic::PREFETCHNTA, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 456 */ { VXInstructionMnemonic::PREFETCHT0, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 457 */ { VXInstructionMnemonic::PREFETCHT1, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 458 */ { VXInstructionMnemonic::PREFETCHT2, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 459 */ { VXInstructionMnemonic::PSADBW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 45A */ { VXInstructionMnemonic::PSADBW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 45B */ { VXInstructionMnemonic::PSHUFB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 45C */ { VXInstructionMnemonic::PSHUFB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 45D */ { VXInstructionMnemonic::PSHUFD, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 45E */ { VXInstructionMnemonic::PSHUFHW, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 45F */ { VXInstructionMnemonic::PSHUFLW, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 460 */ { VXInstructionMnemonic::PSHUFW, { OPI_P, OPI_Q, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 461 */ { VXInstructionMnemonic::PSIGNB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 462 */ { VXInstructionMnemonic::PSIGNB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 463 */ { VXInstructionMnemonic::PSIGND, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 464 */ { VXInstructionMnemonic::PSIGND, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 465 */ { VXInstructionMnemonic::PSIGNW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 466 */ { VXInstructionMnemonic::PSIGNW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 467 */ { VXInstructionMnemonic::PSLLD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 468 */ { VXInstructionMnemonic::PSLLD, { OPI_N, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_OPERAND1_READWRITE }, + /* 469 */ { VXInstructionMnemonic::PSLLD, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 46A */ { VXInstructionMnemonic::PSLLD, { OPI_U, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 46B */ { VXInstructionMnemonic::PSLLDQ, { OPI_U, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 46C */ { VXInstructionMnemonic::PSLLQ, { OPI_U, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 46D */ { VXInstructionMnemonic::PSLLQ, { OPI_N, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_OPERAND1_READWRITE }, + /* 46E */ { VXInstructionMnemonic::PSLLQ, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 46F */ { VXInstructionMnemonic::PSLLQ, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 470 */ { VXInstructionMnemonic::PSLLW, { OPI_N, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_OPERAND1_READWRITE }, + /* 471 */ { VXInstructionMnemonic::PSLLW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 472 */ { VXInstructionMnemonic::PSLLW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 473 */ { VXInstructionMnemonic::PSLLW, { OPI_U, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 474 */ { VXInstructionMnemonic::PSRAD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 475 */ { VXInstructionMnemonic::PSRAD, { OPI_N, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_OPERAND1_READWRITE }, + /* 476 */ { VXInstructionMnemonic::PSRAD, { OPI_U, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 477 */ { VXInstructionMnemonic::PSRAD, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 478 */ { VXInstructionMnemonic::PSRAW, { OPI_U, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 479 */ { VXInstructionMnemonic::PSRAW, { OPI_N, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_OPERAND1_READWRITE }, + /* 47A */ { VXInstructionMnemonic::PSRAW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 47B */ { VXInstructionMnemonic::PSRAW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 47C */ { VXInstructionMnemonic::PSRLD, { OPI_U, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 47D */ { VXInstructionMnemonic::PSRLD, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 47E */ { VXInstructionMnemonic::PSRLD, { OPI_N, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_OPERAND1_READWRITE }, + /* 47F */ { VXInstructionMnemonic::PSRLD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 480 */ { VXInstructionMnemonic::PSRLDQ, { OPI_U, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 481 */ { VXInstructionMnemonic::PSRLQ, { OPI_U, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 482 */ { VXInstructionMnemonic::PSRLQ, { OPI_N, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_OPERAND1_READWRITE }, + /* 483 */ { VXInstructionMnemonic::PSRLQ, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 484 */ { VXInstructionMnemonic::PSRLQ, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 485 */ { VXInstructionMnemonic::PSRLW, { OPI_U, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 486 */ { VXInstructionMnemonic::PSRLW, { OPI_N, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_OPERAND1_READWRITE }, + /* 487 */ { VXInstructionMnemonic::PSRLW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 488 */ { VXInstructionMnemonic::PSRLW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 489 */ { VXInstructionMnemonic::PSUBB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 48A */ { VXInstructionMnemonic::PSUBB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 48B */ { VXInstructionMnemonic::PSUBD, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 48C */ { VXInstructionMnemonic::PSUBD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 48D */ { VXInstructionMnemonic::PSUBQ, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 48E */ { VXInstructionMnemonic::PSUBQ, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 48F */ { VXInstructionMnemonic::PSUBSB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 490 */ { VXInstructionMnemonic::PSUBSB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 491 */ { VXInstructionMnemonic::PSUBSW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 492 */ { VXInstructionMnemonic::PSUBSW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 493 */ { VXInstructionMnemonic::PSUBUSB, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 494 */ { VXInstructionMnemonic::PSUBUSB, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 495 */ { VXInstructionMnemonic::PSUBUSW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 496 */ { VXInstructionMnemonic::PSUBUSW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 497 */ { VXInstructionMnemonic::PSUBW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 498 */ { VXInstructionMnemonic::PSUBW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 499 */ { VXInstructionMnemonic::PSWAPD, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 49A */ { VXInstructionMnemonic::PTEST, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 49B */ { VXInstructionMnemonic::PUNPCKHBW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 49C */ { VXInstructionMnemonic::PUNPCKHBW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 49D */ { VXInstructionMnemonic::PUNPCKHDQ, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 49E */ { VXInstructionMnemonic::PUNPCKHDQ, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 49F */ { VXInstructionMnemonic::PUNPCKHQDQ, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4A0 */ { VXInstructionMnemonic::PUNPCKHWD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4A1 */ { VXInstructionMnemonic::PUNPCKHWD, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4A2 */ { VXInstructionMnemonic::PUNPCKLBW, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4A3 */ { VXInstructionMnemonic::PUNPCKLBW, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4A4 */ { VXInstructionMnemonic::PUNPCKLDQ, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4A5 */ { VXInstructionMnemonic::PUNPCKLDQ, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4A6 */ { VXInstructionMnemonic::PUNPCKLQDQ, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4A7 */ { VXInstructionMnemonic::PUNPCKLWD, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4A8 */ { VXInstructionMnemonic::PUNPCKLWD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4A9 */ { VXInstructionMnemonic::PUSH, { OPI_DS, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_INVALID_64 }, + /* 4AA */ { VXInstructionMnemonic::PUSH, { OPI_ES, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_INVALID_64 }, + /* 4AB */ { VXInstructionMnemonic::PUSH, { OPI_sIb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_DEFAULT_64 }, + /* 4AC */ { VXInstructionMnemonic::PUSH, { OPI_SS, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_INVALID_64 }, + /* 4AD */ { VXInstructionMnemonic::PUSH, { OPI_CS, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_INVALID_64 }, + /* 4AE */ { VXInstructionMnemonic::PUSH, { OPI_R3v, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, + /* 4AF */ { VXInstructionMnemonic::PUSH, { OPI_R4v, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, + /* 4B0 */ { VXInstructionMnemonic::PUSH, { OPI_R5v, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, + /* 4B1 */ { VXInstructionMnemonic::PUSH, { OPI_R6v, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, + /* 4B2 */ { VXInstructionMnemonic::PUSH, { OPI_R7v, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, + /* 4B3 */ { VXInstructionMnemonic::PUSH, { OPI_R2v, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, + /* 4B4 */ { VXInstructionMnemonic::PUSH, { OPI_R0v, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, + /* 4B5 */ { VXInstructionMnemonic::PUSH, { OPI_FS, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 4B6 */ { VXInstructionMnemonic::PUSH, { OPI_GS, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 4B7 */ { VXInstructionMnemonic::PUSH, { OPI_sIz, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_DEFAULT_64 }, + /* 4B8 */ { VXInstructionMnemonic::PUSH, { OPI_Ev, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, + /* 4B9 */ { VXInstructionMnemonic::PUSH, { OPI_R1v, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, + /* 4BA */ { VXInstructionMnemonic::PUSHA, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_INVALID_64 }, + /* 4BB */ { VXInstructionMnemonic::PUSHAD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_INVALID_64 }, + /* 4BC */ { VXInstructionMnemonic::PUSHFD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX }, + /* 4BD */ { VXInstructionMnemonic::PUSHFQ, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_DEFAULT_64 }, + /* 4BE */ { VXInstructionMnemonic::PUSHFQ, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_DEFAULT_64 }, + /* 4BF */ { VXInstructionMnemonic::PUSHFW, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_DEFAULT_64 }, + /* 4C0 */ { VXInstructionMnemonic::PUSHFW, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX }, + /* 4C1 */ { VXInstructionMnemonic::PXOR, { OPI_P, OPI_Q, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4C2 */ { VXInstructionMnemonic::PXOR, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4C3 */ { VXInstructionMnemonic::RCL, { OPI_Eb, OPI_CL, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4C4 */ { VXInstructionMnemonic::RCL, { OPI_Ev, OPI_CL, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4C5 */ { VXInstructionMnemonic::RCL, { OPI_Ev, OPI_I1, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4C6 */ { VXInstructionMnemonic::RCL, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4C7 */ { VXInstructionMnemonic::RCL, { OPI_Ev, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4C8 */ { VXInstructionMnemonic::RCL, { OPI_Eb, OPI_I1, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4C9 */ { VXInstructionMnemonic::RCPPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 4CA */ { VXInstructionMnemonic::RCPSS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 4CB */ { VXInstructionMnemonic::RCR, { OPI_Ev, OPI_CL, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4CC */ { VXInstructionMnemonic::RCR, { OPI_Eb, OPI_CL, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4CD */ { VXInstructionMnemonic::RCR, { OPI_Eb, OPI_I1, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4CE */ { VXInstructionMnemonic::RCR, { OPI_Ev, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4CF */ { VXInstructionMnemonic::RCR, { OPI_Ev, OPI_I1, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4D0 */ { VXInstructionMnemonic::RCR, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4D1 */ { VXInstructionMnemonic::RDMSR, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 4D2 */ { VXInstructionMnemonic::RDPMC, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 4D3 */ { VXInstructionMnemonic::RDRAND, { OPI_R, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 4D4 */ { VXInstructionMnemonic::RDTSC, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 4D5 */ { VXInstructionMnemonic::RDTSCP, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 4D6 */ { VXInstructionMnemonic::REP, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 4D7 */ { VXInstructionMnemonic::REPNE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 4D8 */ { VXInstructionMnemonic::RET, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 4D9 */ { VXInstructionMnemonic::RET, { OPI_Iw, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 4DA */ { VXInstructionMnemonic::RETF, { OPI_Iw, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 4DB */ { VXInstructionMnemonic::RETF, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 4DC */ { VXInstructionMnemonic::ROL, { OPI_Ev, OPI_I1, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4DD */ { VXInstructionMnemonic::ROL, { OPI_Eb, OPI_I1, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4DE */ { VXInstructionMnemonic::ROL, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4DF */ { VXInstructionMnemonic::ROL, { OPI_Ev, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4E0 */ { VXInstructionMnemonic::ROL, { OPI_Ev, OPI_CL, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4E1 */ { VXInstructionMnemonic::ROL, { OPI_Eb, OPI_CL, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4E2 */ { VXInstructionMnemonic::ROR, { OPI_Ev, OPI_I1, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4E3 */ { VXInstructionMnemonic::ROR, { OPI_Eb, OPI_CL, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4E4 */ { VXInstructionMnemonic::ROR, { OPI_Ev, OPI_CL, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4E5 */ { VXInstructionMnemonic::ROR, { OPI_Eb, OPI_I1, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4E6 */ { VXInstructionMnemonic::ROR, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4E7 */ { VXInstructionMnemonic::ROR, { OPI_Ev, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4E8 */ { VXInstructionMnemonic::ROUNDPD, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 4E9 */ { VXInstructionMnemonic::ROUNDPS, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 4EA */ { VXInstructionMnemonic::ROUNDSD, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 4EB */ { VXInstructionMnemonic::ROUNDSS, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 4EC */ { VXInstructionMnemonic::RSM, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 4ED */ { VXInstructionMnemonic::RSQRTPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 4EE */ { VXInstructionMnemonic::RSQRTSS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 4EF */ { VXInstructionMnemonic::SAHF, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 4F0 */ { VXInstructionMnemonic::SALC, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_INVALID_64 | IDF_OPERAND1_READWRITE }, + /* 4F1 */ { VXInstructionMnemonic::SAR, { OPI_Eb, OPI_I1, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4F2 */ { VXInstructionMnemonic::SAR, { OPI_Eb, OPI_CL, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4F3 */ { VXInstructionMnemonic::SAR, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4F4 */ { VXInstructionMnemonic::SAR, { OPI_Ev, OPI_I1, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4F5 */ { VXInstructionMnemonic::SAR, { OPI_Ev, OPI_CL, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4F6 */ { VXInstructionMnemonic::SAR, { OPI_Ev, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 4F7 */ { VXInstructionMnemonic::SBB, { OPI_Ev, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 4F8 */ { VXInstructionMnemonic::SBB, { OPI_Gb, OPI_Eb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 4F9 */ { VXInstructionMnemonic::SBB, { OPI_rAX, OPI_sIz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_OPERAND1_WRITE }, + /* 4FA */ { VXInstructionMnemonic::SBB, { OPI_AL, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_OPERAND1_WRITE }, + /* 4FB */ { VXInstructionMnemonic::SBB, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 4FC */ { VXInstructionMnemonic::SBB, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_INVALID_64 | IDF_OPERAND1_WRITE }, + /* 4FD */ { VXInstructionMnemonic::SBB, { OPI_Ev, OPI_sIb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 4FE */ { VXInstructionMnemonic::SBB, { OPI_Eb, OPI_Gb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 4FF */ { VXInstructionMnemonic::SBB, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 500 */ { VXInstructionMnemonic::SBB, { OPI_Ev, OPI_sIz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 501 */ { VXInstructionMnemonic::SCASB, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 502 */ { VXInstructionMnemonic::SCASD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW }, + /* 503 */ { VXInstructionMnemonic::SCASQ, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW }, + /* 504 */ { VXInstructionMnemonic::SCASW, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW }, + /* 505 */ { VXInstructionMnemonic::SETA, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 506 */ { VXInstructionMnemonic::SETAE, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 507 */ { VXInstructionMnemonic::SETB, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 508 */ { VXInstructionMnemonic::SETBE, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 509 */ { VXInstructionMnemonic::SETE, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 50A */ { VXInstructionMnemonic::SETG, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 50B */ { VXInstructionMnemonic::SETGE, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 50C */ { VXInstructionMnemonic::SETL, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 50D */ { VXInstructionMnemonic::SETLE, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 50E */ { VXInstructionMnemonic::SETNE, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 50F */ { VXInstructionMnemonic::SETNO, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 510 */ { VXInstructionMnemonic::SETNP, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 511 */ { VXInstructionMnemonic::SETNS, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 512 */ { VXInstructionMnemonic::SETO, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 513 */ { VXInstructionMnemonic::SETP, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 514 */ { VXInstructionMnemonic::SETS, { OPI_Eb, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 515 */ { VXInstructionMnemonic::SFENCE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 516 */ { VXInstructionMnemonic::SGDT, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 517 */ { VXInstructionMnemonic::SHL, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 518 */ { VXInstructionMnemonic::SHL, { OPI_Ev, OPI_CL, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 519 */ { VXInstructionMnemonic::SHL, { OPI_Ev, OPI_I1, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 51A */ { VXInstructionMnemonic::SHL, { OPI_Eb, OPI_CL, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 51B */ { VXInstructionMnemonic::SHL, { OPI_Ev, OPI_CL, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 51C */ { VXInstructionMnemonic::SHL, { OPI_Ev, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 51D */ { VXInstructionMnemonic::SHL, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 51E */ { VXInstructionMnemonic::SHL, { OPI_Ev, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 51F */ { VXInstructionMnemonic::SHL, { OPI_Eb, OPI_I1, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 520 */ { VXInstructionMnemonic::SHL, { OPI_Ev, OPI_I1, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 521 */ { VXInstructionMnemonic::SHL, { OPI_Eb, OPI_CL, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 522 */ { VXInstructionMnemonic::SHL, { OPI_Eb, OPI_I1, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 523 */ { VXInstructionMnemonic::SHLD, { OPI_Ev, OPI_Gv, OPI_CL, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 524 */ { VXInstructionMnemonic::SHLD, { OPI_Ev, OPI_Gv, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 525 */ { VXInstructionMnemonic::SHR, { OPI_Ev, OPI_CL, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 526 */ { VXInstructionMnemonic::SHR, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 527 */ { VXInstructionMnemonic::SHR, { OPI_Eb, OPI_I1, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 528 */ { VXInstructionMnemonic::SHR, { OPI_Ev, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 529 */ { VXInstructionMnemonic::SHR, { OPI_Eb, OPI_CL, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 52A */ { VXInstructionMnemonic::SHR, { OPI_Ev, OPI_I1, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 52B */ { VXInstructionMnemonic::SHRD, { OPI_Ev, OPI_Gv, OPI_CL, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 52C */ { VXInstructionMnemonic::SHRD, { OPI_Ev, OPI_Gv, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 52D */ { VXInstructionMnemonic::SHUFPD, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 52E */ { VXInstructionMnemonic::SHUFPS, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 52F */ { VXInstructionMnemonic::SIDT, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 530 */ { VXInstructionMnemonic::SKINIT, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 531 */ { VXInstructionMnemonic::SLDT, { OPI_MwRv, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 532 */ { VXInstructionMnemonic::SMSW, { OPI_MwRv, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 533 */ { VXInstructionMnemonic::SMSW, { OPI_MwRv, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 534 */ { VXInstructionMnemonic::SQRTPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 535 */ { VXInstructionMnemonic::SQRTPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 536 */ { VXInstructionMnemonic::SQRTSD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 537 */ { VXInstructionMnemonic::SQRTSS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 538 */ { VXInstructionMnemonic::STC, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 539 */ { VXInstructionMnemonic::STD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 53A */ { VXInstructionMnemonic::STGI, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 53B */ { VXInstructionMnemonic::STI, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 53C */ { VXInstructionMnemonic::STMXCSR, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 53D */ { VXInstructionMnemonic::STOSB, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_SEGMENT_PREFIX }, + /* 53E */ { VXInstructionMnemonic::STOSD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_SEGMENT_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW }, + /* 53F */ { VXInstructionMnemonic::STOSQ, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_SEGMENT_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW }, + /* 540 */ { VXInstructionMnemonic::STOSW, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REP_PREFIX |IDF_ACCEPTS_SEGMENT_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW }, + /* 541 */ { VXInstructionMnemonic::STR, { OPI_MwRv, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 542 */ { VXInstructionMnemonic::SUB, { OPI_Eb, OPI_Gb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 543 */ { VXInstructionMnemonic::SUB, { OPI_Ev, OPI_sIz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 544 */ { VXInstructionMnemonic::SUB, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 545 */ { VXInstructionMnemonic::SUB, { OPI_Ev, OPI_sIb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 546 */ { VXInstructionMnemonic::SUB, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_INVALID_64 | IDF_OPERAND1_READWRITE }, + /* 547 */ { VXInstructionMnemonic::SUB, { OPI_rAX, OPI_sIz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_OPERAND1_READWRITE }, + /* 548 */ { VXInstructionMnemonic::SUB, { OPI_Gb, OPI_Eb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 549 */ { VXInstructionMnemonic::SUB, { OPI_Ev, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 54A */ { VXInstructionMnemonic::SUB, { OPI_AL, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_OPERAND1_READWRITE }, + /* 54B */ { VXInstructionMnemonic::SUB, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 54C */ { VXInstructionMnemonic::SUBPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 54D */ { VXInstructionMnemonic::SUBPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 54E */ { VXInstructionMnemonic::SUBSD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 54F */ { VXInstructionMnemonic::SUBSS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 550 */ { VXInstructionMnemonic::SWAPGS, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 551 */ { VXInstructionMnemonic::SYSCALL, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 552 */ { VXInstructionMnemonic::SYSENTER, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 553 */ { VXInstructionMnemonic::SYSENTER, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 554 */ { VXInstructionMnemonic::SYSEXIT, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 555 */ { VXInstructionMnemonic::SYSEXIT, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 556 */ { VXInstructionMnemonic::SYSRET, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 557 */ { VXInstructionMnemonic::TEST, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 558 */ { VXInstructionMnemonic::TEST, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 559 */ { VXInstructionMnemonic::TEST, { OPI_Ev, OPI_sIz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 55A */ { VXInstructionMnemonic::TEST, { OPI_Ev, OPI_Iz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 55B */ { VXInstructionMnemonic::TEST, { OPI_rAX, OPI_sIz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW }, + /* 55C */ { VXInstructionMnemonic::TEST, { OPI_Eb, OPI_Gb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 55D */ { VXInstructionMnemonic::TEST, { OPI_Ev, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 55E */ { VXInstructionMnemonic::TEST, { OPI_AL, OPI_Ib, OPI_NONE, OPI_NONE }, 0 }, + /* 55F */ { VXInstructionMnemonic::UCOMISD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 560 */ { VXInstructionMnemonic::UCOMISS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 561 */ { VXInstructionMnemonic::UD2, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 562 */ { VXInstructionMnemonic::UNPCKHPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 563 */ { VXInstructionMnemonic::UNPCKHPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 564 */ { VXInstructionMnemonic::UNPCKLPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 565 */ { VXInstructionMnemonic::UNPCKLPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 566 */ { VXInstructionMnemonic::VADDPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_READWRITE }, + /* 567 */ { VXInstructionMnemonic::VADDPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_READWRITE }, + /* 568 */ { VXInstructionMnemonic::VADDSD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 569 */ { VXInstructionMnemonic::VADDSS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 56A */ { VXInstructionMnemonic::VADDSUBPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 56B */ { VXInstructionMnemonic::VADDSUBPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 56C */ { VXInstructionMnemonic::VAESDEC, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 56D */ { VXInstructionMnemonic::VAESDECLAST, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 56E */ { VXInstructionMnemonic::VAESENC, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 56F */ { VXInstructionMnemonic::VAESENCLAST, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 570 */ { VXInstructionMnemonic::VAESIMC, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 571 */ { VXInstructionMnemonic::VAESKEYGENASSIST, { OPI_Vx, OPI_Wx, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 572 */ { VXInstructionMnemonic::VANDNPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 573 */ { VXInstructionMnemonic::VANDNPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 574 */ { VXInstructionMnemonic::VANDPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_READWRITE }, + /* 575 */ { VXInstructionMnemonic::VANDPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 576 */ { VXInstructionMnemonic::VBLENDPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_READWRITE }, + /* 577 */ { VXInstructionMnemonic::VBLENDPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 578 */ { VXInstructionMnemonic::VBLENDVPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Lx }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 579 */ { VXInstructionMnemonic::VBLENDVPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Lx }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 57A */ { VXInstructionMnemonic::VBROADCASTSD, { OPI_Vqq, OPI_Mq, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 57B */ { VXInstructionMnemonic::VBROADCASTSS, { OPI_V, OPI_Md, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 57C */ { VXInstructionMnemonic::VCMPPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_READWRITE }, + /* 57D */ { VXInstructionMnemonic::VCMPPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_READWRITE }, + /* 57E */ { VXInstructionMnemonic::VCMPSD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 57F */ { VXInstructionMnemonic::VCMPSS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 580 */ { VXInstructionMnemonic::VCOMISD, { OPI_Vsd, OPI_Wsd, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 581 */ { VXInstructionMnemonic::VCOMISS, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 582 */ { VXInstructionMnemonic::VCVTDQ2PD, { OPI_Vx, OPI_Wdq, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 583 */ { VXInstructionMnemonic::VCVTDQ2PS, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 584 */ { VXInstructionMnemonic::VCVTPD2DQ, { OPI_Vdq, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 585 */ { VXInstructionMnemonic::VCVTPD2PS, { OPI_Vdq, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 586 */ { VXInstructionMnemonic::VCVTPS2DQ, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 587 */ { VXInstructionMnemonic::VCVTPS2PD, { OPI_Vx, OPI_Wdq, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 588 */ { VXInstructionMnemonic::VCVTSD2SI, { OPI_Gy, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 589 */ { VXInstructionMnemonic::VCVTSD2SS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 58A */ { VXInstructionMnemonic::VCVTSI2SD, { OPI_Vx, OPI_Hx, OPI_Ey, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 58B */ { VXInstructionMnemonic::VCVTSI2SS, { OPI_Vx, OPI_Hx, OPI_Ey, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 58C */ { VXInstructionMnemonic::VCVTSS2SD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 58D */ { VXInstructionMnemonic::VCVTSS2SI, { OPI_Gy, OPI_MdU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 58E */ { VXInstructionMnemonic::VCVTTPD2DQ, { OPI_Vdq, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 58F */ { VXInstructionMnemonic::VCVTTPS2DQ, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 590 */ { VXInstructionMnemonic::VCVTTSD2SI, { OPI_Gy, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 591 */ { VXInstructionMnemonic::VCVTTSS2SI, { OPI_Gy, OPI_MdU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 592 */ { VXInstructionMnemonic::VDIVPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_READWRITE }, + /* 593 */ { VXInstructionMnemonic::VDIVPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 594 */ { VXInstructionMnemonic::VDIVSD, { OPI_Vx, OPI_Hx, OPI_MqU, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 595 */ { VXInstructionMnemonic::VDIVSS, { OPI_Vx, OPI_Hx, OPI_MdU, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 596 */ { VXInstructionMnemonic::VDPPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 597 */ { VXInstructionMnemonic::VDPPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_READWRITE }, + /* 598 */ { VXInstructionMnemonic::VERR, { OPI_Ew, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 599 */ { VXInstructionMnemonic::VERW, { OPI_Ew, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 59A */ { VXInstructionMnemonic::VEXTRACTF128, { OPI_Wdq, OPI_Vqq, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 59B */ { VXInstructionMnemonic::VEXTRACTPS, { OPI_MdRy, OPI_Vx, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 59C */ { VXInstructionMnemonic::VHADDPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_READWRITE }, + /* 59D */ { VXInstructionMnemonic::VHADDPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_READWRITE }, + /* 59E */ { VXInstructionMnemonic::VHSUBPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_READWRITE }, + /* 59F */ { VXInstructionMnemonic::VHSUBPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_READWRITE }, + /* 5A0 */ { VXInstructionMnemonic::VINSERTF128, { OPI_Vqq, OPI_Hqq, OPI_Wdq, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 5A1 */ { VXInstructionMnemonic::VINSERTPS, { OPI_Vx, OPI_Hx, OPI_Md, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 5A2 */ { VXInstructionMnemonic::VLDDQU, { OPI_Vx, OPI_M, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 5A3 */ { VXInstructionMnemonic::VMASKMOVDQU, { OPI_Vx, OPI_Ux, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 5A4 */ { VXInstructionMnemonic::VMASKMOVPD, { OPI_M, OPI_H, OPI_V, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 5A5 */ { VXInstructionMnemonic::VMASKMOVPD, { OPI_V, OPI_H, OPI_M, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 5A6 */ { VXInstructionMnemonic::VMASKMOVPS, { OPI_V, OPI_H, OPI_M, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 5A7 */ { VXInstructionMnemonic::VMASKMOVPS, { OPI_M, OPI_H, OPI_V, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 5A8 */ { VXInstructionMnemonic::VMAXPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_READWRITE }, + /* 5A9 */ { VXInstructionMnemonic::VMAXPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_READWRITE }, + /* 5AA */ { VXInstructionMnemonic::VMAXSD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 5AB */ { VXInstructionMnemonic::VMAXSS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 5AC */ { VXInstructionMnemonic::VMCALL, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 5AD */ { VXInstructionMnemonic::VMCLEAR, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 5AE */ { VXInstructionMnemonic::VMINPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_READWRITE }, + /* 5AF */ { VXInstructionMnemonic::VMINPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 5B0 */ { VXInstructionMnemonic::VMINSD, { OPI_Vx, OPI_Hx, OPI_MqU, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 5B1 */ { VXInstructionMnemonic::VMINSS, { OPI_Vx, OPI_Hx, OPI_MdU, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 5B2 */ { VXInstructionMnemonic::VMLAUNCH, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 5B3 */ { VXInstructionMnemonic::VMLOAD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 5B4 */ { VXInstructionMnemonic::VMMCALL, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 5B5 */ { VXInstructionMnemonic::VMOVAPD, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 5B6 */ { VXInstructionMnemonic::VMOVAPD, { OPI_Wx, OPI_Vx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 5B7 */ { VXInstructionMnemonic::VMOVAPS, { OPI_Wx, OPI_Vx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 5B8 */ { VXInstructionMnemonic::VMOVAPS, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 5B9 */ { VXInstructionMnemonic::VMOVD, { OPI_Ey, OPI_Vx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 5BA */ { VXInstructionMnemonic::VMOVD, { OPI_Vx, OPI_Ey, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 5BB */ { VXInstructionMnemonic::VMOVD, { OPI_Vx, OPI_Ey, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 5BC */ { VXInstructionMnemonic::VMOVD, { OPI_Ey, OPI_Vx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 5BD */ { VXInstructionMnemonic::VMOVDDUP, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 5BE */ { VXInstructionMnemonic::VMOVDDUP, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 5BF */ { VXInstructionMnemonic::VMOVDQA, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 5C0 */ { VXInstructionMnemonic::VMOVDQA, { OPI_Wx, OPI_Vx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 5C1 */ { VXInstructionMnemonic::VMOVDQU, { OPI_Wx, OPI_Vx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 5C2 */ { VXInstructionMnemonic::VMOVDQU, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 5C3 */ { VXInstructionMnemonic::VMOVHLPS, { OPI_Vx, OPI_Ux, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 5C4 */ { VXInstructionMnemonic::VMOVHPD, { OPI_Vx, OPI_Hx, OPI_M, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 5C5 */ { VXInstructionMnemonic::VMOVHPD, { OPI_M, OPI_Vx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 5C6 */ { VXInstructionMnemonic::VMOVHPS, { OPI_Vx, OPI_Hx, OPI_M, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 5C7 */ { VXInstructionMnemonic::VMOVHPS, { OPI_M, OPI_Vx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 5C8 */ { VXInstructionMnemonic::VMOVLHPS, { OPI_Vx, OPI_Hx, OPI_Ux, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 5C9 */ { VXInstructionMnemonic::VMOVLPD, { OPI_Vx, OPI_M, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 5CA */ { VXInstructionMnemonic::VMOVLPD, { OPI_M, OPI_Vx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 5CB */ { VXInstructionMnemonic::VMOVLPS, { OPI_Vx, OPI_M, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 5CC */ { VXInstructionMnemonic::VMOVLPS, { OPI_M, OPI_Vx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 5CD */ { VXInstructionMnemonic::VMOVMSKPD, { OPI_Gd, OPI_Ux, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 5CE */ { VXInstructionMnemonic::VMOVMSKPS, { OPI_Gd, OPI_Ux, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 5CF */ { VXInstructionMnemonic::VMOVNTDQ, { OPI_M, OPI_Vx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 5D0 */ { VXInstructionMnemonic::VMOVNTDQA, { OPI_Vx, OPI_M, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 5D1 */ { VXInstructionMnemonic::VMOVNTPD, { OPI_M, OPI_Vx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 5D2 */ { VXInstructionMnemonic::VMOVNTPS, { OPI_M, OPI_Vx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 5D3 */ { VXInstructionMnemonic::VMOVQ, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 5D4 */ { VXInstructionMnemonic::VMOVQ, { OPI_Wx, OPI_Vx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 5D5 */ { VXInstructionMnemonic::VMOVQ, { OPI_Vx, OPI_Eq, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 5D6 */ { VXInstructionMnemonic::VMOVQ, { OPI_Eq, OPI_Vx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 5D7 */ { VXInstructionMnemonic::VMOVSD, { OPI_U, OPI_H, OPI_V, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 5D8 */ { VXInstructionMnemonic::VMOVSD, { OPI_Mq, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 5D9 */ { VXInstructionMnemonic::VMOVSD, { OPI_V, OPI_H, OPI_U, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 5DA */ { VXInstructionMnemonic::VMOVSD, { OPI_V, OPI_Mq, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 5DB */ { VXInstructionMnemonic::VMOVSHDUP, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 5DC */ { VXInstructionMnemonic::VMOVSHDUP, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 5DD */ { VXInstructionMnemonic::VMOVSLDUP, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 5DE */ { VXInstructionMnemonic::VMOVSLDUP, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 5DF */ { VXInstructionMnemonic::VMOVSS, { OPI_V, OPI_H, OPI_U, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 5E0 */ { VXInstructionMnemonic::VMOVSS, { OPI_Md, OPI_V, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 5E1 */ { VXInstructionMnemonic::VMOVSS, { OPI_U, OPI_H, OPI_V, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 5E2 */ { VXInstructionMnemonic::VMOVSS, { OPI_V, OPI_Md, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 5E3 */ { VXInstructionMnemonic::VMOVUPD, { OPI_Wx, OPI_Vx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 5E4 */ { VXInstructionMnemonic::VMOVUPD, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 5E5 */ { VXInstructionMnemonic::VMOVUPS, { OPI_Wx, OPI_Vx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 5E6 */ { VXInstructionMnemonic::VMOVUPS, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 5E7 */ { VXInstructionMnemonic::VMPSADBW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_READWRITE }, + /* 5E8 */ { VXInstructionMnemonic::VMPTRLD, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 5E9 */ { VXInstructionMnemonic::VMPTRST, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 5EA */ { VXInstructionMnemonic::VMREAD, { OPI_Ey, OPI_Gy, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, + /* 5EB */ { VXInstructionMnemonic::VMRESUME, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 5EC */ { VXInstructionMnemonic::VMRUN, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 5ED */ { VXInstructionMnemonic::VMSAVE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 5EE */ { VXInstructionMnemonic::VMULPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_READWRITE }, + /* 5EF */ { VXInstructionMnemonic::VMULPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_READWRITE }, + /* 5F0 */ { VXInstructionMnemonic::VMULSD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 5F1 */ { VXInstructionMnemonic::VMULSS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 5F2 */ { VXInstructionMnemonic::VMWRITE, { OPI_Gy, OPI_Ey, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 }, + /* 5F3 */ { VXInstructionMnemonic::VMXOFF, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 5F4 */ { VXInstructionMnemonic::VMXON, { OPI_Mq, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 5F5 */ { VXInstructionMnemonic::VORPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_READWRITE }, + /* 5F6 */ { VXInstructionMnemonic::VORPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, + /* 5F7 */ { VXInstructionMnemonic::VPABSB, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 5F8 */ { VXInstructionMnemonic::VPABSD, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 5F9 */ { VXInstructionMnemonic::VPABSW, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 5FA */ { VXInstructionMnemonic::VPACKSSDW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_READWRITE }, + /* 5FB */ { VXInstructionMnemonic::VPACKSSWB, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_READWRITE }, + /* 5FC */ { VXInstructionMnemonic::VPACKUSDW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_READWRITE }, + /* 5FD */ { VXInstructionMnemonic::VPACKUSWB, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_READWRITE }, + /* 5FE */ { VXInstructionMnemonic::VPADDB, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_READWRITE }, + /* 5FF */ { VXInstructionMnemonic::VPADDD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_READWRITE }, + /* 600 */ { VXInstructionMnemonic::VPADDQ, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 601 */ { VXInstructionMnemonic::VPADDSB, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 602 */ { VXInstructionMnemonic::VPADDSW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 603 */ { VXInstructionMnemonic::VPADDUSB, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 604 */ { VXInstructionMnemonic::VPADDUSW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 605 */ { VXInstructionMnemonic::VPADDW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_READWRITE }, + /* 606 */ { VXInstructionMnemonic::VPALIGNR, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 607 */ { VXInstructionMnemonic::VPAND, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 608 */ { VXInstructionMnemonic::VPANDN, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 609 */ { VXInstructionMnemonic::VPAVGB, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 60A */ { VXInstructionMnemonic::VPAVGW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 60B */ { VXInstructionMnemonic::VPBLENDVB, { OPI_V, OPI_H, OPI_W, OPI_L }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 60C */ { VXInstructionMnemonic::VPBLENDW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 60D */ { VXInstructionMnemonic::VPCLMULQDQ, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 60E */ { VXInstructionMnemonic::VPCMPEQB, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 60F */ { VXInstructionMnemonic::VPCMPEQD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 610 */ { VXInstructionMnemonic::VPCMPEQQ, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 611 */ { VXInstructionMnemonic::VPCMPEQW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 612 */ { VXInstructionMnemonic::VPCMPESTRI, { OPI_Vx, OPI_Wx, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 613 */ { VXInstructionMnemonic::VPCMPESTRM, { OPI_Vx, OPI_Wx, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 614 */ { VXInstructionMnemonic::VPCMPGTB, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 615 */ { VXInstructionMnemonic::VPCMPGTD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 616 */ { VXInstructionMnemonic::VPCMPGTQ, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 617 */ { VXInstructionMnemonic::VPCMPGTW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 618 */ { VXInstructionMnemonic::VPCMPISTRI, { OPI_Vx, OPI_Wx, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 619 */ { VXInstructionMnemonic::VPCMPISTRM, { OPI_Vx, OPI_Wx, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 61A */ { VXInstructionMnemonic::VPERM2F128, { OPI_Vqq, OPI_Hqq, OPI_Wqq, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 61B */ { VXInstructionMnemonic::VPERMILPD, { OPI_V, OPI_W, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 61C */ { VXInstructionMnemonic::VPERMILPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 61D */ { VXInstructionMnemonic::VPERMILPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 61E */ { VXInstructionMnemonic::VPERMILPS, { OPI_Vx, OPI_Wx, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 61F */ { VXInstructionMnemonic::VPEXTRB, { OPI_MbRv, OPI_Vx, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 | IDF_OPERAND1_WRITE }, + /* 620 */ { VXInstructionMnemonic::VPEXTRD, { OPI_Ed, OPI_Vx, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 621 */ { VXInstructionMnemonic::VPEXTRD, { OPI_Ed, OPI_Vx, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 622 */ { VXInstructionMnemonic::VPEXTRQ, { OPI_Eq, OPI_Vx, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 | IDF_OPERAND1_WRITE }, + /* 623 */ { VXInstructionMnemonic::VPEXTRW, { OPI_Gd, OPI_Ux, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 624 */ { VXInstructionMnemonic::VPEXTRW, { OPI_MwRd, OPI_Vx, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 625 */ { VXInstructionMnemonic::VPHADDD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 626 */ { VXInstructionMnemonic::VPHADDSW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 627 */ { VXInstructionMnemonic::VPHADDW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 628 */ { VXInstructionMnemonic::VPHMINPOSUW, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 629 */ { VXInstructionMnemonic::VPHSUBD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 62A */ { VXInstructionMnemonic::VPHSUBSW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 62B */ { VXInstructionMnemonic::VPHSUBW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 62C */ { VXInstructionMnemonic::VPINSRB, { OPI_V, OPI_H, OPI_MbRd, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 62D */ { VXInstructionMnemonic::VPINSRD, { OPI_V, OPI_H, OPI_Ed, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 62E */ { VXInstructionMnemonic::VPINSRD, { OPI_V, OPI_H, OPI_Ed, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 62F */ { VXInstructionMnemonic::VPINSRQ, { OPI_V, OPI_H, OPI_Eq, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 630 */ { VXInstructionMnemonic::VPINSRW, { OPI_Vx, OPI_MwRy, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_DEFAULT_64 | IDF_OPERAND1_WRITE }, + /* 631 */ { VXInstructionMnemonic::VPMADDUBSW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 632 */ { VXInstructionMnemonic::VPMADDWD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 633 */ { VXInstructionMnemonic::VPMAXSB, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 634 */ { VXInstructionMnemonic::VPMAXSD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 635 */ { VXInstructionMnemonic::VPMAXSW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 636 */ { VXInstructionMnemonic::VPMAXUB, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 637 */ { VXInstructionMnemonic::VPMAXUD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 638 */ { VXInstructionMnemonic::VPMAXUW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 639 */ { VXInstructionMnemonic::VPMINSB, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 63A */ { VXInstructionMnemonic::VPMINSD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 63B */ { VXInstructionMnemonic::VPMINSW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 63C */ { VXInstructionMnemonic::VPMINUB, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 63D */ { VXInstructionMnemonic::VPMINUD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 63E */ { VXInstructionMnemonic::VPMINUW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 63F */ { VXInstructionMnemonic::VPMOVMSKB, { OPI_Gd, OPI_Ux, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 640 */ { VXInstructionMnemonic::VPMOVSXBD, { OPI_Vx, OPI_MdU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 641 */ { VXInstructionMnemonic::VPMOVSXBQ, { OPI_Vx, OPI_MwU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 642 */ { VXInstructionMnemonic::VPMOVSXBW, { OPI_Vx, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 643 */ { VXInstructionMnemonic::VPMOVSXWD, { OPI_Vx, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 644 */ { VXInstructionMnemonic::VPMOVSXWQ, { OPI_Vx, OPI_MdU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 645 */ { VXInstructionMnemonic::VPMOVZXBD, { OPI_Vx, OPI_MdU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 646 */ { VXInstructionMnemonic::VPMOVZXBQ, { OPI_Vx, OPI_MwU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 647 */ { VXInstructionMnemonic::VPMOVZXBW, { OPI_Vx, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 648 */ { VXInstructionMnemonic::VPMOVZXDQ, { OPI_Vx, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 649 */ { VXInstructionMnemonic::VPMOVZXWD, { OPI_Vx, OPI_MqU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 64A */ { VXInstructionMnemonic::VPMOVZXWQ, { OPI_Vx, OPI_MdU, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 64B */ { VXInstructionMnemonic::VPMULDQ, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 64C */ { VXInstructionMnemonic::VPMULHRSW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 64D */ { VXInstructionMnemonic::VPMULHUW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 64E */ { VXInstructionMnemonic::VPMULHW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 64F */ { VXInstructionMnemonic::VPMULLD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 650 */ { VXInstructionMnemonic::VPMULLW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 651 */ { VXInstructionMnemonic::VPOR, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 652 */ { VXInstructionMnemonic::VPSADBW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 653 */ { VXInstructionMnemonic::VPSHUFB, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 654 */ { VXInstructionMnemonic::VPSHUFD, { OPI_Vx, OPI_Wx, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 655 */ { VXInstructionMnemonic::VPSHUFHW, { OPI_Vx, OPI_Wx, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 656 */ { VXInstructionMnemonic::VPSHUFLW, { OPI_Vx, OPI_Wx, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 657 */ { VXInstructionMnemonic::VPSIGNB, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 658 */ { VXInstructionMnemonic::VPSIGND, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 659 */ { VXInstructionMnemonic::VPSIGNW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 65A */ { VXInstructionMnemonic::VPSLLD, { OPI_H, OPI_V, OPI_W, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 65B */ { VXInstructionMnemonic::VPSLLD, { OPI_V, OPI_H, OPI_W, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 65C */ { VXInstructionMnemonic::VPSLLDQ, { OPI_Hx, OPI_Ux, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 65D */ { VXInstructionMnemonic::VPSLLQ, { OPI_V, OPI_H, OPI_W, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 65E */ { VXInstructionMnemonic::VPSLLQ, { OPI_H, OPI_V, OPI_W, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 65F */ { VXInstructionMnemonic::VPSLLW, { OPI_V, OPI_H, OPI_W, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 660 */ { VXInstructionMnemonic::VPSLLW, { OPI_H, OPI_V, OPI_W, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 661 */ { VXInstructionMnemonic::VPSRAD, { OPI_Hx, OPI_Ux, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 662 */ { VXInstructionMnemonic::VPSRAD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 663 */ { VXInstructionMnemonic::VPSRAW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 664 */ { VXInstructionMnemonic::VPSRAW, { OPI_Hx, OPI_Ux, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 665 */ { VXInstructionMnemonic::VPSRLD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 666 */ { VXInstructionMnemonic::VPSRLD, { OPI_Hx, OPI_Ux, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 667 */ { VXInstructionMnemonic::VPSRLDQ, { OPI_Hx, OPI_Ux, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 668 */ { VXInstructionMnemonic::VPSRLQ, { OPI_Hx, OPI_Ux, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 669 */ { VXInstructionMnemonic::VPSRLQ, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 66A */ { VXInstructionMnemonic::VPSRLW, { OPI_Hx, OPI_Ux, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 66B */ { VXInstructionMnemonic::VPSRLW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 66C */ { VXInstructionMnemonic::VPSUBB, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 66D */ { VXInstructionMnemonic::VPSUBD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 66E */ { VXInstructionMnemonic::VPSUBQ, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 66F */ { VXInstructionMnemonic::VPSUBSB, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 670 */ { VXInstructionMnemonic::VPSUBSW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 671 */ { VXInstructionMnemonic::VPSUBUSB, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 672 */ { VXInstructionMnemonic::VPSUBUSW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 673 */ { VXInstructionMnemonic::VPSUBW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 674 */ { VXInstructionMnemonic::VPTEST, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, + /* 675 */ { VXInstructionMnemonic::VPUNPCKHBW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 676 */ { VXInstructionMnemonic::VPUNPCKHDQ, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 677 */ { VXInstructionMnemonic::VPUNPCKHQDQ, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 678 */ { VXInstructionMnemonic::VPUNPCKHWD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 679 */ { VXInstructionMnemonic::VPUNPCKLBW, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 67A */ { VXInstructionMnemonic::VPUNPCKLDQ, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 67B */ { VXInstructionMnemonic::VPUNPCKLQDQ, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 67C */ { VXInstructionMnemonic::VPUNPCKLWD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 67D */ { VXInstructionMnemonic::VPXOR, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 67E */ { VXInstructionMnemonic::VRCPPS, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 67F */ { VXInstructionMnemonic::VRCPSS, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 680 */ { VXInstructionMnemonic::VROUNDPD, { OPI_Vx, OPI_Wx, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 681 */ { VXInstructionMnemonic::VROUNDPS, { OPI_Vx, OPI_Wx, OPI_Ib, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 682 */ { VXInstructionMnemonic::VROUNDSD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 683 */ { VXInstructionMnemonic::VROUNDSS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 684 */ { VXInstructionMnemonic::VRSQRTPS, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 685 */ { VXInstructionMnemonic::VRSQRTSS, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 686 */ { VXInstructionMnemonic::VSHUFPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_READWRITE }, + /* 687 */ { VXInstructionMnemonic::VSHUFPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_Ib }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 688 */ { VXInstructionMnemonic::VSQRTPD, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 689 */ { VXInstructionMnemonic::VSQRTPS, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_WRITE }, + /* 68A */ { VXInstructionMnemonic::VSQRTSD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 68B */ { VXInstructionMnemonic::VSQRTSS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 68C */ { VXInstructionMnemonic::VSTMXCSR, { OPI_Md, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_WRITE }, + /* 68D */ { VXInstructionMnemonic::VSUBPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_READWRITE }, + /* 68E */ { VXInstructionMnemonic::VSUBPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_READWRITE }, + /* 68F */ { VXInstructionMnemonic::VSUBSD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 690 */ { VXInstructionMnemonic::VSUBSS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 691 */ { VXInstructionMnemonic::VTESTPD, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, + /* 692 */ { VXInstructionMnemonic::VTESTPS, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL }, + /* 693 */ { VXInstructionMnemonic::VUCOMISD, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 694 */ { VXInstructionMnemonic::VUCOMISS, { OPI_Vx, OPI_Wx, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 695 */ { VXInstructionMnemonic::VUNPCKHPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_READWRITE }, + /* 696 */ { VXInstructionMnemonic::VUNPCKHPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 697 */ { VXInstructionMnemonic::VUNPCKLPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_READWRITE }, + /* 698 */ { VXInstructionMnemonic::VUNPCKLPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 699 */ { VXInstructionMnemonic::VXORPD, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_ACCEPTS_VEXL | IDF_OPERAND1_READWRITE }, + /* 69A */ { VXInstructionMnemonic::VXORPS, { OPI_Vx, OPI_Hx, OPI_Wx, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 69B */ { VXInstructionMnemonic::VZEROALL, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 69C */ { VXInstructionMnemonic::VZEROUPPER, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 69D */ { VXInstructionMnemonic::WAIT, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 69E */ { VXInstructionMnemonic::WBINVD, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 69F */ { VXInstructionMnemonic::WRMSR, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 6A0 */ { VXInstructionMnemonic::XADD, { OPI_Ev, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE | IDF_OPERAND2_WRITE }, + /* 6A1 */ { VXInstructionMnemonic::XADD, { OPI_Eb, OPI_Gb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE | IDF_OPERAND2_WRITE }, + /* 6A2 */ { VXInstructionMnemonic::XCHG, { OPI_R4v, OPI_rAX, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE | IDF_OPERAND2_READWRITE }, + /* 6A3 */ { VXInstructionMnemonic::XCHG, { OPI_R3v, OPI_rAX, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE | IDF_OPERAND2_READWRITE }, + /* 6A4 */ { VXInstructionMnemonic::XCHG, { OPI_R5v, OPI_rAX, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE | IDF_OPERAND2_READWRITE }, + /* 6A5 */ { VXInstructionMnemonic::XCHG, { OPI_R7v, OPI_rAX, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE | IDF_OPERAND2_READWRITE }, + /* 6A6 */ { VXInstructionMnemonic::XCHG, { OPI_R6v, OPI_rAX, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE | IDF_OPERAND2_READWRITE }, + /* 6A7 */ { VXInstructionMnemonic::XCHG, { OPI_Ev, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE | IDF_OPERAND2_READWRITE }, + /* 6A8 */ { VXInstructionMnemonic::XCHG, { OPI_Eb, OPI_Gb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE | IDF_OPERAND2_READWRITE }, + /* 6A9 */ { VXInstructionMnemonic::XCHG, { OPI_R0v, OPI_rAX, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE | IDF_OPERAND2_READWRITE }, + /* 6AA */ { VXInstructionMnemonic::XCHG, { OPI_R2v, OPI_rAX, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE | IDF_OPERAND2_READWRITE }, + /* 6AB */ { VXInstructionMnemonic::XCHG, { OPI_R1v, OPI_rAX, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE | IDF_OPERAND2_READWRITE }, + /* 6AC */ { VXInstructionMnemonic::XCRYPTCBC, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 6AD */ { VXInstructionMnemonic::XCRYPTCFB, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 6AE */ { VXInstructionMnemonic::XCRYPTCTR, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 6AF */ { VXInstructionMnemonic::XCRYPTECB, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 6B0 */ { VXInstructionMnemonic::XCRYPTOFB, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 6B1 */ { VXInstructionMnemonic::XGETBV, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 6B2 */ { VXInstructionMnemonic::XLATB, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_REXW | IDF_ACCEPTS_SEGMENT_PREFIX }, + /* 6B3 */ { VXInstructionMnemonic::XOR, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_INVALID_64 | IDF_OPERAND1_READWRITE }, + /* 6B4 */ { VXInstructionMnemonic::XOR, { OPI_Ev, OPI_sIb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 6B5 */ { VXInstructionMnemonic::XOR, { OPI_Ev, OPI_sIz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 6B6 */ { VXInstructionMnemonic::XOR, { OPI_Gb, OPI_Eb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 6B7 */ { VXInstructionMnemonic::XOR, { OPI_Gv, OPI_Ev, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 6B8 */ { VXInstructionMnemonic::XOR, { OPI_Eb, OPI_Gb, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 6B9 */ { VXInstructionMnemonic::XOR, { OPI_Ev, OPI_Gv, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 6BA */ { VXInstructionMnemonic::XOR, { OPI_AL, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_OPERAND1_READWRITE }, + /* 6BB */ { VXInstructionMnemonic::XOR, { OPI_rAX, OPI_sIz, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_OPERAND_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_OPERAND1_READWRITE }, + /* 6BC */ { VXInstructionMnemonic::XOR, { OPI_Eb, OPI_Ib, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 6BD */ { VXInstructionMnemonic::XORPD, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 6BE */ { VXInstructionMnemonic::XORPS, { OPI_V, OPI_W, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB | IDF_OPERAND1_READWRITE }, + /* 6BF */ { VXInstructionMnemonic::XRSTOR, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 6C0 */ { VXInstructionMnemonic::XSAVE, { OPI_M, OPI_NONE, OPI_NONE, OPI_NONE }, IDF_ACCEPTS_ADDRESS_SIZE_PREFIX | IDF_ACCEPTS_REXW | IDF_ACCEPTS_REXR | IDF_ACCEPTS_REXX | IDF_ACCEPTS_REXB }, + /* 6C1 */ { VXInstructionMnemonic::XSETBV, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 6C2 */ { VXInstructionMnemonic::XSHA1, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 6C3 */ { VXInstructionMnemonic::XSHA256, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, + /* 6C4 */ { VXInstructionMnemonic::XSTORE, { OPI_NONE, OPI_NONE, OPI_NONE, OPI_NONE }, 0 }, }; #undef OPI_NONE @@ -9282,7 +8740,9 @@ static const VXInstructionDefinition instrDefinitions[] = #undef OPI_eDX #undef OPI_rAX #undef OPI_rCX -#undef OPI_rDX +#undef OPI_rDX +#undef OPI_sIb +#undef OPI_sIz const char* instrMnemonicStrings[] = { @@ -9338,18 +8798,18 @@ const char* instrMnemonicStrings[] = /* 031 */ "cmovae", /* 032 */ "cmovb", /* 033 */ "cmovbe", - /* 034 */ "cmovg", - /* 035 */ "cmovge", - /* 036 */ "cmovl", - /* 037 */ "cmovle", - /* 038 */ "cmovno", - /* 039 */ "cmovnp", - /* 03A */ "cmovns", - /* 03B */ "cmovnz", - /* 03C */ "cmovo", - /* 03D */ "cmovp", - /* 03E */ "cmovs", - /* 03F */ "cmovz", + /* 034 */ "cmove", + /* 035 */ "cmovg", + /* 036 */ "cmovge", + /* 037 */ "cmovl", + /* 038 */ "cmovle", + /* 039 */ "cmovne", + /* 03A */ "cmovno", + /* 03B */ "cmovnp", + /* 03C */ "cmovns", + /* 03D */ "cmovo", + /* 03E */ "cmovp", + /* 03F */ "cmovs", /* 040 */ "cmp", /* 041 */ "cmppd", /* 042 */ "cmpps", @@ -9461,732 +8921,736 @@ const char* instrMnemonicStrings[] = /* 0AC */ "fldz", /* 0AD */ "fmul", /* 0AE */ "fmulp", - /* 0AF */ "fninit", - /* 0B0 */ "fnop", - /* 0B1 */ "fnsave", - /* 0B2 */ "fnstcw", - /* 0B3 */ "fnstenv", - /* 0B4 */ "fnstsw", - /* 0B5 */ "fpatan", - /* 0B6 */ "fprem", - /* 0B7 */ "fprem1", - /* 0B8 */ "fptan", - /* 0B9 */ "frndint", - /* 0BA */ "frstor", - /* 0BB */ "fscale", - /* 0BC */ "fsin", - /* 0BD */ "fsincos", - /* 0BE */ "fsqrt", - /* 0BF */ "fst", - /* 0C0 */ "fstp", - /* 0C1 */ "fstp1", - /* 0C2 */ "fstp8", - /* 0C3 */ "fstp9", - /* 0C4 */ "fsub", - /* 0C5 */ "fsubp", - /* 0C6 */ "fsubr", - /* 0C7 */ "fsubrp", - /* 0C8 */ "ftst", - /* 0C9 */ "fucom", - /* 0CA */ "fucomi", - /* 0CB */ "fucomip", - /* 0CC */ "fucomp", - /* 0CD */ "fucompp", - /* 0CE */ "fxam", - /* 0CF */ "fxch", - /* 0D0 */ "fxch4", - /* 0D1 */ "fxch7", - /* 0D2 */ "fxrstor", - /* 0D3 */ "fxsave", - /* 0D4 */ "fxtract", - /* 0D5 */ "fyl2x", - /* 0D6 */ "fyl2xp1", - /* 0D7 */ "getsec", - /* 0D8 */ "haddpd", - /* 0D9 */ "haddps", - /* 0DA */ "hlt", - /* 0DB */ "hsubpd", - /* 0DC */ "hsubps", - /* 0DD */ "idiv", - /* 0DE */ "imul", - /* 0DF */ "in", - /* 0E0 */ "inc", - /* 0E1 */ "insb", - /* 0E2 */ "insd", - /* 0E3 */ "insertps", - /* 0E4 */ "insw", - /* 0E5 */ "int", - /* 0E6 */ "int1", - /* 0E7 */ "int3", - /* 0E8 */ "into", - /* 0E9 */ "invd", - /* 0EA */ "invept", - /* 0EB */ "invlpg", - /* 0EC */ "invlpga", - /* 0ED */ "invvpid", - /* 0EE */ "iretd", - /* 0EF */ "iretq", - /* 0F0 */ "iretw", - /* 0F1 */ "ja", - /* 0F2 */ "jae", - /* 0F3 */ "jb", - /* 0F4 */ "jbe", - /* 0F5 */ "jcxz", - /* 0F6 */ "jecxz", - /* 0F7 */ "jg", - /* 0F8 */ "jge", - /* 0F9 */ "jl", - /* 0FA */ "jle", - /* 0FB */ "jmp", - /* 0FC */ "jno", - /* 0FD */ "jnp", - /* 0FE */ "jns", - /* 0FF */ "jnz", - /* 100 */ "jo", - /* 101 */ "jp", - /* 102 */ "jrcxz", - /* 103 */ "js", - /* 104 */ "jz", - /* 105 */ "lahf", - /* 106 */ "lar", - /* 107 */ "lddqu", - /* 108 */ "ldmxcsr", - /* 109 */ "lds", - /* 10A */ "lea", - /* 10B */ "leave", - /* 10C */ "les", - /* 10D */ "lfence", - /* 10E */ "lfs", - /* 10F */ "lgdt", - /* 110 */ "lgs", - /* 111 */ "lidt", - /* 112 */ "lldt", - /* 113 */ "lmsw", - /* 114 */ "lock", - /* 115 */ "lodsb", - /* 116 */ "lodsd", - /* 117 */ "lodsq", - /* 118 */ "lodsw", - /* 119 */ "loop", - /* 11A */ "loope", - /* 11B */ "loopne", - /* 11C */ "lsl", - /* 11D */ "lss", - /* 11E */ "ltr", - /* 11F */ "maskmovdqu", - /* 120 */ "maskmovq", - /* 121 */ "maxpd", - /* 122 */ "maxps", - /* 123 */ "maxsd", - /* 124 */ "maxss", - /* 125 */ "mfence", - /* 126 */ "minpd", - /* 127 */ "minps", - /* 128 */ "minsd", - /* 129 */ "minss", - /* 12A */ "monitor", - /* 12B */ "montmul", - /* 12C */ "mov", - /* 12D */ "movapd", - /* 12E */ "movaps", - /* 12F */ "movbe", - /* 130 */ "movd", - /* 131 */ "movddup", - /* 132 */ "movdq2q", - /* 133 */ "movdqa", - /* 134 */ "movdqu", - /* 135 */ "movhlps", - /* 136 */ "movhpd", - /* 137 */ "movhps", - /* 138 */ "movlhps", - /* 139 */ "movlpd", - /* 13A */ "movlps", - /* 13B */ "movmskpd", - /* 13C */ "movmskps", - /* 13D */ "movntdq", - /* 13E */ "movntdqa", - /* 13F */ "movnti", - /* 140 */ "movntpd", - /* 141 */ "movntps", - /* 142 */ "movntq", - /* 143 */ "movq", - /* 144 */ "movq2dq", - /* 145 */ "movsb", - /* 146 */ "movsd", - /* 147 */ "movshdup", - /* 148 */ "movsldup", - /* 149 */ "movsq", - /* 14A */ "movss", - /* 14B */ "movsw", - /* 14C */ "movsx", - /* 14D */ "movsxd", - /* 14E */ "movupd", - /* 14F */ "movups", - /* 150 */ "movzx", - /* 151 */ "mpsadbw", - /* 152 */ "mul", - /* 153 */ "mulpd", - /* 154 */ "mulps", - /* 155 */ "mulsd", - /* 156 */ "mulss", - /* 157 */ "mwait", - /* 158 */ "neg", - /* 159 */ "nop", - /* 15A */ "not", - /* 15B */ "or", - /* 15C */ "orpd", - /* 15D */ "orps", - /* 15E */ "out", - /* 15F */ "outsb", - /* 160 */ "outsd", - /* 161 */ "outsw", - /* 162 */ "pabsb", - /* 163 */ "pabsd", - /* 164 */ "pabsw", - /* 165 */ "packssdw", - /* 166 */ "packsswb", - /* 167 */ "packusdw", - /* 168 */ "packuswb", - /* 169 */ "paddb", - /* 16A */ "paddd", - /* 16B */ "paddq", - /* 16C */ "paddsb", - /* 16D */ "paddsw", - /* 16E */ "paddusb", - /* 16F */ "paddusw", - /* 170 */ "paddw", - /* 171 */ "palignr", - /* 172 */ "pand", - /* 173 */ "pandn", - /* 174 */ "pause", - /* 175 */ "pavgb", - /* 176 */ "pavgusb", - /* 177 */ "pavgw", - /* 178 */ "pblendvb", - /* 179 */ "pblendw", - /* 17A */ "pclmulqdq", - /* 17B */ "pcmpeqb", - /* 17C */ "pcmpeqd", - /* 17D */ "pcmpeqq", - /* 17E */ "pcmpeqw", - /* 17F */ "pcmpestri", - /* 180 */ "pcmpestrm", - /* 181 */ "pcmpgtb", - /* 182 */ "pcmpgtd", - /* 183 */ "pcmpgtq", - /* 184 */ "pcmpgtw", - /* 185 */ "pcmpistri", - /* 186 */ "pcmpistrm", - /* 187 */ "pextrb", - /* 188 */ "pextrd", - /* 189 */ "pextrq", - /* 18A */ "pextrw", - /* 18B */ "pf2id", - /* 18C */ "pf2iw", - /* 18D */ "pfacc", - /* 18E */ "pfadd", - /* 18F */ "pfcmpeq", - /* 190 */ "pfcmpge", - /* 191 */ "pfcmpgt", - /* 192 */ "pfmax", - /* 193 */ "pfmin", - /* 194 */ "pfmul", - /* 195 */ "pfnacc", - /* 196 */ "pfpnacc", - /* 197 */ "pfrcp", - /* 198 */ "pfrcpit1", - /* 199 */ "pfrcpit2", - /* 19A */ "pfrsqit1", - /* 19B */ "pfrsqrt", - /* 19C */ "pfsub", - /* 19D */ "pfsubr", - /* 19E */ "phaddd", - /* 19F */ "phaddsw", - /* 1A0 */ "phaddw", - /* 1A1 */ "phminposuw", - /* 1A2 */ "phsubd", - /* 1A3 */ "phsubsw", - /* 1A4 */ "phsubw", - /* 1A5 */ "pi2fd", - /* 1A6 */ "pi2fw", - /* 1A7 */ "pinsrb", - /* 1A8 */ "pinsrd", - /* 1A9 */ "pinsrq", - /* 1AA */ "pinsrw", - /* 1AB */ "pmaddubsw", - /* 1AC */ "pmaddwd", - /* 1AD */ "pmaxsb", - /* 1AE */ "pmaxsd", - /* 1AF */ "pmaxsw", - /* 1B0 */ "pmaxub", - /* 1B1 */ "pmaxud", - /* 1B2 */ "pmaxuw", - /* 1B3 */ "pminsb", - /* 1B4 */ "pminsd", - /* 1B5 */ "pminsw", - /* 1B6 */ "pminub", - /* 1B7 */ "pminud", - /* 1B8 */ "pminuw", - /* 1B9 */ "pmovmskb", - /* 1BA */ "pmovsxbd", - /* 1BB */ "pmovsxbq", - /* 1BC */ "pmovsxbw", - /* 1BD */ "pmovsxdq", - /* 1BE */ "pmovsxwd", - /* 1BF */ "pmovsxwq", - /* 1C0 */ "pmovzxbd", - /* 1C1 */ "pmovzxbq", - /* 1C2 */ "pmovzxbw", - /* 1C3 */ "pmovzxdq", - /* 1C4 */ "pmovzxwd", - /* 1C5 */ "pmovzxwq", - /* 1C6 */ "pmuldq", - /* 1C7 */ "pmulhrsw", - /* 1C8 */ "pmulhrw", - /* 1C9 */ "pmulhuw", - /* 1CA */ "pmulhw", - /* 1CB */ "pmulld", - /* 1CC */ "pmullw", - /* 1CD */ "pmuludq", - /* 1CE */ "pop", - /* 1CF */ "popa", - /* 1D0 */ "popad", - /* 1D1 */ "popcnt", - /* 1D2 */ "popfd", - /* 1D3 */ "popfq", - /* 1D4 */ "popfw", - /* 1D5 */ "por", - /* 1D6 */ "prefetch", - /* 1D7 */ "prefetchnta", - /* 1D8 */ "prefetcht0", - /* 1D9 */ "prefetcht1", - /* 1DA */ "prefetcht2", - /* 1DB */ "psadbw", - /* 1DC */ "pshufb", - /* 1DD */ "pshufd", - /* 1DE */ "pshufhw", - /* 1DF */ "pshuflw", - /* 1E0 */ "pshufw", - /* 1E1 */ "psignb", - /* 1E2 */ "psignd", - /* 1E3 */ "psignw", - /* 1E4 */ "pslld", - /* 1E5 */ "pslldq", - /* 1E6 */ "psllq", - /* 1E7 */ "psllw", - /* 1E8 */ "psrad", - /* 1E9 */ "psraw", - /* 1EA */ "psrld", - /* 1EB */ "psrldq", - /* 1EC */ "psrlq", - /* 1ED */ "psrlw", - /* 1EE */ "psubb", - /* 1EF */ "psubd", - /* 1F0 */ "psubq", - /* 1F1 */ "psubsb", - /* 1F2 */ "psubsw", - /* 1F3 */ "psubusb", - /* 1F4 */ "psubusw", - /* 1F5 */ "psubw", - /* 1F6 */ "pswapd", - /* 1F7 */ "ptest", - /* 1F8 */ "punpckhbw", - /* 1F9 */ "punpckhdq", - /* 1FA */ "punpckhqdq", - /* 1FB */ "punpckhwd", - /* 1FC */ "punpcklbw", - /* 1FD */ "punpckldq", - /* 1FE */ "punpcklqdq", - /* 1FF */ "punpcklwd", - /* 200 */ "push", - /* 201 */ "pusha", - /* 202 */ "pushad", - /* 203 */ "pushfd", - /* 204 */ "pushfq", - /* 205 */ "pushfw", - /* 206 */ "pxor", - /* 207 */ "rcl", - /* 208 */ "rcpps", - /* 209 */ "rcpss", - /* 20A */ "rcr", - /* 20B */ "rdmsr", - /* 20C */ "rdpmc", - /* 20D */ "rdrand", - /* 20E */ "rdtsc", - /* 20F */ "rdtscp", - /* 210 */ "rep", - /* 211 */ "repne", - /* 212 */ "retf", - /* 213 */ "retn", - /* 214 */ "rol", - /* 215 */ "ror", - /* 216 */ "roundpd", - /* 217 */ "roundps", - /* 218 */ "roundsd", - /* 219 */ "roundss", - /* 21A */ "rsm", - /* 21B */ "rsqrtps", - /* 21C */ "rsqrtss", - /* 21D */ "sahf", - /* 21E */ "salc", - /* 21F */ "sar", - /* 220 */ "sbb", - /* 221 */ "scasb", - /* 222 */ "scasd", - /* 223 */ "scasq", - /* 224 */ "scasw", - /* 225 */ "seta", - /* 226 */ "setae", - /* 227 */ "setb", - /* 228 */ "setbe", - /* 229 */ "setg", - /* 22A */ "setge", - /* 22B */ "setl", - /* 22C */ "setle", - /* 22D */ "setno", - /* 22E */ "setnp", - /* 22F */ "setns", - /* 230 */ "setnz", - /* 231 */ "seto", - /* 232 */ "setp", - /* 233 */ "sets", - /* 234 */ "setz", - /* 235 */ "sfence", - /* 236 */ "sgdt", - /* 237 */ "shl", - /* 238 */ "shld", - /* 239 */ "shr", - /* 23A */ "shrd", - /* 23B */ "shufpd", - /* 23C */ "shufps", - /* 23D */ "sidt", - /* 23E */ "skinit", - /* 23F */ "sldt", - /* 240 */ "smsw", - /* 241 */ "sqrtpd", - /* 242 */ "sqrtps", - /* 243 */ "sqrtsd", - /* 244 */ "sqrtss", - /* 245 */ "stc", - /* 246 */ "std", - /* 247 */ "stgi", - /* 248 */ "sti", - /* 249 */ "stmxcsr", - /* 24A */ "stosb", - /* 24B */ "stosd", - /* 24C */ "stosq", - /* 24D */ "stosw", - /* 24E */ "str", - /* 24F */ "sub", - /* 250 */ "subpd", - /* 251 */ "subps", - /* 252 */ "subsd", - /* 253 */ "subss", - /* 254 */ "swapgs", - /* 255 */ "syscall", - /* 256 */ "sysenter", - /* 257 */ "sysexit", - /* 258 */ "sysret", - /* 259 */ "test", - /* 25A */ "ucomisd", - /* 25B */ "ucomiss", - /* 25C */ "ud2", - /* 25D */ "unpckhpd", - /* 25E */ "unpckhps", - /* 25F */ "unpcklpd", - /* 260 */ "unpcklps", - /* 261 */ "vaddpd", - /* 262 */ "vaddps", - /* 263 */ "vaddsd", - /* 264 */ "vaddss", - /* 265 */ "vaddsubpd", - /* 266 */ "vaddsubps", - /* 267 */ "vaesdec", - /* 268 */ "vaesdeclast", - /* 269 */ "vaesenc", - /* 26A */ "vaesenclast", - /* 26B */ "vaesimc", - /* 26C */ "vaeskeygenassist", - /* 26D */ "vandnpd", - /* 26E */ "vandnps", - /* 26F */ "vandpd", - /* 270 */ "vandps", - /* 271 */ "vblendpd", - /* 272 */ "vblendps", - /* 273 */ "vblendvpd", - /* 274 */ "vblendvps", - /* 275 */ "vbroadcastsd", - /* 276 */ "vbroadcastss", - /* 277 */ "vcmppd", - /* 278 */ "vcmpps", - /* 279 */ "vcmpsd", - /* 27A */ "vcmpss", - /* 27B */ "vcomisd", - /* 27C */ "vcomiss", - /* 27D */ "vcvtdq2pd", - /* 27E */ "vcvtdq2ps", - /* 27F */ "vcvtpd2dq", - /* 280 */ "vcvtpd2ps", - /* 281 */ "vcvtps2dq", - /* 282 */ "vcvtps2pd", - /* 283 */ "vcvtsd2si", - /* 284 */ "vcvtsd2ss", - /* 285 */ "vcvtsi2sd", - /* 286 */ "vcvtsi2ss", - /* 287 */ "vcvtss2sd", - /* 288 */ "vcvtss2si", - /* 289 */ "vcvttpd2dq", - /* 28A */ "vcvttps2dq", - /* 28B */ "vcvttsd2si", - /* 28C */ "vcvttss2si", - /* 28D */ "vdivpd", - /* 28E */ "vdivps", - /* 28F */ "vdivsd", - /* 290 */ "vdivss", - /* 291 */ "vdppd", - /* 292 */ "vdpps", - /* 293 */ "verr", - /* 294 */ "verw", - /* 295 */ "vextractf128", - /* 296 */ "vextractps", - /* 297 */ "vhaddpd", - /* 298 */ "vhaddps", - /* 299 */ "vhsubpd", - /* 29A */ "vhsubps", - /* 29B */ "vinsertf128", - /* 29C */ "vinsertps", - /* 29D */ "vlddqu", - /* 29E */ "vmaskmovdqu", - /* 29F */ "vmaskmovpd", - /* 2A0 */ "vmaskmovps", - /* 2A1 */ "vmaxpd", - /* 2A2 */ "vmaxps", - /* 2A3 */ "vmaxsd", - /* 2A4 */ "vmaxss", - /* 2A5 */ "vmcall", - /* 2A6 */ "vmclear", - /* 2A7 */ "vminpd", - /* 2A8 */ "vminps", - /* 2A9 */ "vminsd", - /* 2AA */ "vminss", - /* 2AB */ "vmlaunch", - /* 2AC */ "vmload", - /* 2AD */ "vmmcall", - /* 2AE */ "vmovapd", - /* 2AF */ "vmovaps", - /* 2B0 */ "vmovd", - /* 2B1 */ "vmovddup", - /* 2B2 */ "vmovdqa", - /* 2B3 */ "vmovdqu", - /* 2B4 */ "vmovhlps", - /* 2B5 */ "vmovhpd", - /* 2B6 */ "vmovhps", - /* 2B7 */ "vmovlhps", - /* 2B8 */ "vmovlpd", - /* 2B9 */ "vmovlps", - /* 2BA */ "vmovmskpd", - /* 2BB */ "vmovmskps", - /* 2BC */ "vmovntdq", - /* 2BD */ "vmovntdqa", - /* 2BE */ "vmovntpd", - /* 2BF */ "vmovntps", - /* 2C0 */ "vmovq", - /* 2C1 */ "vmovsd", - /* 2C2 */ "vmovshdup", - /* 2C3 */ "vmovsldup", - /* 2C4 */ "vmovss", - /* 2C5 */ "vmovupd", - /* 2C6 */ "vmovups", - /* 2C7 */ "vmpsadbw", - /* 2C8 */ "vmptrld", - /* 2C9 */ "vmptrst", - /* 2CA */ "vmread", - /* 2CB */ "vmresume", - /* 2CC */ "vmrun", - /* 2CD */ "vmsave", - /* 2CE */ "vmulpd", - /* 2CF */ "vmulps", - /* 2D0 */ "vmulsd", - /* 2D1 */ "vmulss", - /* 2D2 */ "vmwrite", - /* 2D3 */ "vmxoff", - /* 2D4 */ "vmxon", - /* 2D5 */ "vorpd", - /* 2D6 */ "vorps", - /* 2D7 */ "vpabsb", - /* 2D8 */ "vpabsd", - /* 2D9 */ "vpabsw", - /* 2DA */ "vpackssdw", - /* 2DB */ "vpacksswb", - /* 2DC */ "vpackusdw", - /* 2DD */ "vpackuswb", - /* 2DE */ "vpaddb", - /* 2DF */ "vpaddd", - /* 2E0 */ "vpaddq", - /* 2E1 */ "vpaddsb", - /* 2E2 */ "vpaddsw", - /* 2E3 */ "vpaddusb", - /* 2E4 */ "vpaddusw", - /* 2E5 */ "vpaddw", - /* 2E6 */ "vpalignr", - /* 2E7 */ "vpand", - /* 2E8 */ "vpandn", - /* 2E9 */ "vpavgb", - /* 2EA */ "vpavgw", - /* 2EB */ "vpblendvb", - /* 2EC */ "vpblendw", - /* 2ED */ "vpclmulqdq", - /* 2EE */ "vpcmpeqb", - /* 2EF */ "vpcmpeqd", - /* 2F0 */ "vpcmpeqq", - /* 2F1 */ "vpcmpeqw", - /* 2F2 */ "vpcmpestri", - /* 2F3 */ "vpcmpestrm", - /* 2F4 */ "vpcmpgtb", - /* 2F5 */ "vpcmpgtd", - /* 2F6 */ "vpcmpgtq", - /* 2F7 */ "vpcmpgtw", - /* 2F8 */ "vpcmpistri", - /* 2F9 */ "vpcmpistrm", - /* 2FA */ "vperm2f128", - /* 2FB */ "vpermilpd", - /* 2FC */ "vpermilps", - /* 2FD */ "vpextrb", - /* 2FE */ "vpextrd", - /* 2FF */ "vpextrq", - /* 300 */ "vpextrw", - /* 301 */ "vphaddd", - /* 302 */ "vphaddsw", - /* 303 */ "vphaddw", - /* 304 */ "vphminposuw", - /* 305 */ "vphsubd", - /* 306 */ "vphsubsw", - /* 307 */ "vphsubw", - /* 308 */ "vpinsrb", - /* 309 */ "vpinsrd", - /* 30A */ "vpinsrq", - /* 30B */ "vpinsrw", - /* 30C */ "vpmaddubsw", - /* 30D */ "vpmaddwd", - /* 30E */ "vpmaxsb", - /* 30F */ "vpmaxsd", - /* 310 */ "vpmaxsw", - /* 311 */ "vpmaxub", - /* 312 */ "vpmaxud", - /* 313 */ "vpmaxuw", - /* 314 */ "vpminsb", - /* 315 */ "vpminsd", - /* 316 */ "vpminsw", - /* 317 */ "vpminub", - /* 318 */ "vpminud", - /* 319 */ "vpminuw", - /* 31A */ "vpmovmskb", - /* 31B */ "vpmovsxbd", - /* 31C */ "vpmovsxbq", - /* 31D */ "vpmovsxbw", - /* 31E */ "vpmovsxwd", - /* 31F */ "vpmovsxwq", - /* 320 */ "vpmovzxbd", - /* 321 */ "vpmovzxbq", - /* 322 */ "vpmovzxbw", - /* 323 */ "vpmovzxdq", - /* 324 */ "vpmovzxwd", - /* 325 */ "vpmovzxwq", - /* 326 */ "vpmuldq", - /* 327 */ "vpmulhrsw", - /* 328 */ "vpmulhuw", - /* 329 */ "vpmulhw", - /* 32A */ "vpmulld", - /* 32B */ "vpmullw", - /* 32C */ "vpor", - /* 32D */ "vpsadbw", - /* 32E */ "vpshufb", - /* 32F */ "vpshufd", - /* 330 */ "vpshufhw", - /* 331 */ "vpshuflw", - /* 332 */ "vpsignb", - /* 333 */ "vpsignd", - /* 334 */ "vpsignw", - /* 335 */ "vpslld", - /* 336 */ "vpslldq", - /* 337 */ "vpsllq", - /* 338 */ "vpsllw", - /* 339 */ "vpsrad", - /* 33A */ "vpsraw", - /* 33B */ "vpsrld", - /* 33C */ "vpsrldq", - /* 33D */ "vpsrlq", - /* 33E */ "vpsrlw", - /* 33F */ "vpsubb", - /* 340 */ "vpsubd", - /* 341 */ "vpsubq", - /* 342 */ "vpsubsb", - /* 343 */ "vpsubsw", - /* 344 */ "vpsubusb", - /* 345 */ "vpsubusw", - /* 346 */ "vpsubw", - /* 347 */ "vptest", - /* 348 */ "vpunpckhbw", - /* 349 */ "vpunpckhdq", - /* 34A */ "vpunpckhqdq", - /* 34B */ "vpunpckhwd", - /* 34C */ "vpunpcklbw", - /* 34D */ "vpunpckldq", - /* 34E */ "vpunpcklqdq", - /* 34F */ "vpunpcklwd", - /* 350 */ "vpxor", - /* 351 */ "vrcpps", - /* 352 */ "vrcpss", - /* 353 */ "vroundpd", - /* 354 */ "vroundps", - /* 355 */ "vroundsd", - /* 356 */ "vroundss", - /* 357 */ "vrsqrtps", - /* 358 */ "vrsqrtss", - /* 359 */ "vshufpd", - /* 35A */ "vshufps", - /* 35B */ "vsqrtpd", - /* 35C */ "vsqrtps", - /* 35D */ "vsqrtsd", - /* 35E */ "vsqrtss", - /* 35F */ "vstmxcsr", - /* 360 */ "vsubpd", - /* 361 */ "vsubps", - /* 362 */ "vsubsd", - /* 363 */ "vsubss", - /* 364 */ "vtestpd", - /* 365 */ "vtestps", - /* 366 */ "vucomisd", - /* 367 */ "vucomiss", - /* 368 */ "vunpckhpd", - /* 369 */ "vunpckhps", - /* 36A */ "vunpcklpd", - /* 36B */ "vunpcklps", - /* 36C */ "vxorpd", - /* 36D */ "vxorps", - /* 36E */ "vzeroall", - /* 36F */ "vzeroupper", - /* 370 */ "wait", - /* 371 */ "wbinvd", - /* 372 */ "wrmsr", - /* 373 */ "xadd", - /* 374 */ "xchg", - /* 375 */ "xcryptcbc", - /* 376 */ "xcryptcfb", - /* 377 */ "xcryptctr", - /* 378 */ "xcryptecb", - /* 379 */ "xcryptofb", - /* 37A */ "xgetbv", - /* 37B */ "xlatb", - /* 37C */ "xor", - /* 37D */ "xorpd", - /* 37E */ "xorps", - /* 37F */ "xrstor", - /* 380 */ "xsave", - /* 381 */ "xsetbv", - /* 382 */ "xsha1", - /* 383 */ "xsha256", - /* 384 */ "xstore", + /* 0AF */ "fndisi", + /* 0B0 */ "fneni", + /* 0B1 */ "fninit", + /* 0B2 */ "fnop", + /* 0B3 */ "fnsave", + /* 0B4 */ "fnsetpm", + /* 0B5 */ "fnstcw", + /* 0B6 */ "fnstenv", + /* 0B7 */ "fnstsw", + /* 0B8 */ "fpatan", + /* 0B9 */ "fprem", + /* 0BA */ "fprem1", + /* 0BB */ "fptan", + /* 0BC */ "frndint", + /* 0BD */ "frstor", + /* 0BE */ "frstpm", + /* 0BF */ "fscale", + /* 0C0 */ "fsin", + /* 0C1 */ "fsincos", + /* 0C2 */ "fsqrt", + /* 0C3 */ "fst", + /* 0C4 */ "fstp", + /* 0C5 */ "fstp1", + /* 0C6 */ "fstp8", + /* 0C7 */ "fstp9", + /* 0C8 */ "fsub", + /* 0C9 */ "fsubp", + /* 0CA */ "fsubr", + /* 0CB */ "fsubrp", + /* 0CC */ "ftst", + /* 0CD */ "fucom", + /* 0CE */ "fucomi", + /* 0CF */ "fucomip", + /* 0D0 */ "fucomp", + /* 0D1 */ "fucompp", + /* 0D2 */ "fxam", + /* 0D3 */ "fxch", + /* 0D4 */ "fxch4", + /* 0D5 */ "fxch7", + /* 0D6 */ "fxrstor", + /* 0D7 */ "fxsave", + /* 0D8 */ "fxtract", + /* 0D9 */ "fyl2x", + /* 0DA */ "fyl2xp1", + /* 0DB */ "getsec", + /* 0DC */ "haddpd", + /* 0DD */ "haddps", + /* 0DE */ "hlt", + /* 0DF */ "hsubpd", + /* 0E0 */ "hsubps", + /* 0E1 */ "idiv", + /* 0E2 */ "imul", + /* 0E3 */ "in", + /* 0E4 */ "inc", + /* 0E5 */ "insb", + /* 0E6 */ "insd", + /* 0E7 */ "insertps", + /* 0E8 */ "insw", + /* 0E9 */ "int", + /* 0EA */ "int1", + /* 0EB */ "int3", + /* 0EC */ "into", + /* 0ED */ "invd", + /* 0EE */ "invept", + /* 0EF */ "invlpg", + /* 0F0 */ "invlpga", + /* 0F1 */ "invvpid", + /* 0F2 */ "iretd", + /* 0F3 */ "iretq", + /* 0F4 */ "iretw", + /* 0F5 */ "ja", + /* 0F6 */ "jae", + /* 0F7 */ "jb", + /* 0F8 */ "jbe", + /* 0F9 */ "jcxz", + /* 0FA */ "je", + /* 0FB */ "jecxz", + /* 0FC */ "jg", + /* 0FD */ "jge", + /* 0FE */ "jl", + /* 0FF */ "jle", + /* 100 */ "jmp", + /* 101 */ "jne", + /* 102 */ "jno", + /* 103 */ "jnp", + /* 104 */ "jns", + /* 105 */ "jo", + /* 106 */ "jp", + /* 107 */ "jrcxz", + /* 108 */ "js", + /* 109 */ "lahf", + /* 10A */ "lar", + /* 10B */ "lddqu", + /* 10C */ "ldmxcsr", + /* 10D */ "lds", + /* 10E */ "lea", + /* 10F */ "leave", + /* 110 */ "les", + /* 111 */ "lfence", + /* 112 */ "lfs", + /* 113 */ "lgdt", + /* 114 */ "lgs", + /* 115 */ "lidt", + /* 116 */ "lldt", + /* 117 */ "lmsw", + /* 118 */ "lock", + /* 119 */ "lodsb", + /* 11A */ "lodsd", + /* 11B */ "lodsq", + /* 11C */ "lodsw", + /* 11D */ "loop", + /* 11E */ "loope", + /* 11F */ "loopne", + /* 120 */ "lsl", + /* 121 */ "lss", + /* 122 */ "ltr", + /* 123 */ "maskmovdqu", + /* 124 */ "maskmovq", + /* 125 */ "maxpd", + /* 126 */ "maxps", + /* 127 */ "maxsd", + /* 128 */ "maxss", + /* 129 */ "mfence", + /* 12A */ "minpd", + /* 12B */ "minps", + /* 12C */ "minsd", + /* 12D */ "minss", + /* 12E */ "monitor", + /* 12F */ "montmul", + /* 130 */ "mov", + /* 131 */ "movapd", + /* 132 */ "movaps", + /* 133 */ "movbe", + /* 134 */ "movd", + /* 135 */ "movddup", + /* 136 */ "movdq2q", + /* 137 */ "movdqa", + /* 138 */ "movdqu", + /* 139 */ "movhlps", + /* 13A */ "movhpd", + /* 13B */ "movhps", + /* 13C */ "movlhps", + /* 13D */ "movlpd", + /* 13E */ "movlps", + /* 13F */ "movmskpd", + /* 140 */ "movmskps", + /* 141 */ "movntdq", + /* 142 */ "movntdqa", + /* 143 */ "movnti", + /* 144 */ "movntpd", + /* 145 */ "movntps", + /* 146 */ "movntq", + /* 147 */ "movq", + /* 148 */ "movq2dq", + /* 149 */ "movsb", + /* 14A */ "movsd", + /* 14B */ "movshdup", + /* 14C */ "movsldup", + /* 14D */ "movsq", + /* 14E */ "movss", + /* 14F */ "movsw", + /* 150 */ "movsx", + /* 151 */ "movsxd", + /* 152 */ "movupd", + /* 153 */ "movups", + /* 154 */ "movzx", + /* 155 */ "mpsadbw", + /* 156 */ "mul", + /* 157 */ "mulpd", + /* 158 */ "mulps", + /* 159 */ "mulsd", + /* 15A */ "mulss", + /* 15B */ "mwait", + /* 15C */ "neg", + /* 15D */ "nop", + /* 15E */ "not", + /* 15F */ "or", + /* 160 */ "orpd", + /* 161 */ "orps", + /* 162 */ "out", + /* 163 */ "outsb", + /* 164 */ "outsd", + /* 165 */ "outsw", + /* 166 */ "pabsb", + /* 167 */ "pabsd", + /* 168 */ "pabsw", + /* 169 */ "packssdw", + /* 16A */ "packsswb", + /* 16B */ "packusdw", + /* 16C */ "packuswb", + /* 16D */ "paddb", + /* 16E */ "paddd", + /* 16F */ "paddq", + /* 170 */ "paddsb", + /* 171 */ "paddsw", + /* 172 */ "paddusb", + /* 173 */ "paddusw", + /* 174 */ "paddw", + /* 175 */ "palignr", + /* 176 */ "pand", + /* 177 */ "pandn", + /* 178 */ "pause", + /* 179 */ "pavgb", + /* 17A */ "pavgusb", + /* 17B */ "pavgw", + /* 17C */ "pblendvb", + /* 17D */ "pblendw", + /* 17E */ "pclmulqdq", + /* 17F */ "pcmpeqb", + /* 180 */ "pcmpeqd", + /* 181 */ "pcmpeqq", + /* 182 */ "pcmpeqw", + /* 183 */ "pcmpestri", + /* 184 */ "pcmpestrm", + /* 185 */ "pcmpgtb", + /* 186 */ "pcmpgtd", + /* 187 */ "pcmpgtq", + /* 188 */ "pcmpgtw", + /* 189 */ "pcmpistri", + /* 18A */ "pcmpistrm", + /* 18B */ "pextrb", + /* 18C */ "pextrd", + /* 18D */ "pextrq", + /* 18E */ "pextrw", + /* 18F */ "pf2id", + /* 190 */ "pf2iw", + /* 191 */ "pfacc", + /* 192 */ "pfadd", + /* 193 */ "pfcmpeq", + /* 194 */ "pfcmpge", + /* 195 */ "pfcmpgt", + /* 196 */ "pfmax", + /* 197 */ "pfmin", + /* 198 */ "pfmul", + /* 199 */ "pfnacc", + /* 19A */ "pfpnacc", + /* 19B */ "pfrcp", + /* 19C */ "pfrcpit1", + /* 19D */ "pfrcpit2", + /* 19E */ "pfrsqit1", + /* 19F */ "pfrsqrt", + /* 1A0 */ "pfsub", + /* 1A1 */ "pfsubr", + /* 1A2 */ "phaddd", + /* 1A3 */ "phaddsw", + /* 1A4 */ "phaddw", + /* 1A5 */ "phminposuw", + /* 1A6 */ "phsubd", + /* 1A7 */ "phsubsw", + /* 1A8 */ "phsubw", + /* 1A9 */ "pi2fd", + /* 1AA */ "pi2fw", + /* 1AB */ "pinsrb", + /* 1AC */ "pinsrd", + /* 1AD */ "pinsrq", + /* 1AE */ "pinsrw", + /* 1AF */ "pmaddubsw", + /* 1B0 */ "pmaddwd", + /* 1B1 */ "pmaxsb", + /* 1B2 */ "pmaxsd", + /* 1B3 */ "pmaxsw", + /* 1B4 */ "pmaxub", + /* 1B5 */ "pmaxud", + /* 1B6 */ "pmaxuw", + /* 1B7 */ "pminsb", + /* 1B8 */ "pminsd", + /* 1B9 */ "pminsw", + /* 1BA */ "pminub", + /* 1BB */ "pminud", + /* 1BC */ "pminuw", + /* 1BD */ "pmovmskb", + /* 1BE */ "pmovsxbd", + /* 1BF */ "pmovsxbq", + /* 1C0 */ "pmovsxbw", + /* 1C1 */ "pmovsxdq", + /* 1C2 */ "pmovsxwd", + /* 1C3 */ "pmovsxwq", + /* 1C4 */ "pmovzxbd", + /* 1C5 */ "pmovzxbq", + /* 1C6 */ "pmovzxbw", + /* 1C7 */ "pmovzxdq", + /* 1C8 */ "pmovzxwd", + /* 1C9 */ "pmovzxwq", + /* 1CA */ "pmuldq", + /* 1CB */ "pmulhrsw", + /* 1CC */ "pmulhrw", + /* 1CD */ "pmulhuw", + /* 1CE */ "pmulhw", + /* 1CF */ "pmulld", + /* 1D0 */ "pmullw", + /* 1D1 */ "pmuludq", + /* 1D2 */ "pop", + /* 1D3 */ "popa", + /* 1D4 */ "popad", + /* 1D5 */ "popcnt", + /* 1D6 */ "popfd", + /* 1D7 */ "popfq", + /* 1D8 */ "popfw", + /* 1D9 */ "por", + /* 1DA */ "prefetch", + /* 1DB */ "prefetchnta", + /* 1DC */ "prefetcht0", + /* 1DD */ "prefetcht1", + /* 1DE */ "prefetcht2", + /* 1DF */ "psadbw", + /* 1E0 */ "pshufb", + /* 1E1 */ "pshufd", + /* 1E2 */ "pshufhw", + /* 1E3 */ "pshuflw", + /* 1E4 */ "pshufw", + /* 1E5 */ "psignb", + /* 1E6 */ "psignd", + /* 1E7 */ "psignw", + /* 1E8 */ "pslld", + /* 1E9 */ "pslldq", + /* 1EA */ "psllq", + /* 1EB */ "psllw", + /* 1EC */ "psrad", + /* 1ED */ "psraw", + /* 1EE */ "psrld", + /* 1EF */ "psrldq", + /* 1F0 */ "psrlq", + /* 1F1 */ "psrlw", + /* 1F2 */ "psubb", + /* 1F3 */ "psubd", + /* 1F4 */ "psubq", + /* 1F5 */ "psubsb", + /* 1F6 */ "psubsw", + /* 1F7 */ "psubusb", + /* 1F8 */ "psubusw", + /* 1F9 */ "psubw", + /* 1FA */ "pswapd", + /* 1FB */ "ptest", + /* 1FC */ "punpckhbw", + /* 1FD */ "punpckhdq", + /* 1FE */ "punpckhqdq", + /* 1FF */ "punpckhwd", + /* 200 */ "punpcklbw", + /* 201 */ "punpckldq", + /* 202 */ "punpcklqdq", + /* 203 */ "punpcklwd", + /* 204 */ "push", + /* 205 */ "pusha", + /* 206 */ "pushad", + /* 207 */ "pushfd", + /* 208 */ "pushfq", + /* 209 */ "pushfw", + /* 20A */ "pxor", + /* 20B */ "rcl", + /* 20C */ "rcpps", + /* 20D */ "rcpss", + /* 20E */ "rcr", + /* 20F */ "rdmsr", + /* 210 */ "rdpmc", + /* 211 */ "rdrand", + /* 212 */ "rdtsc", + /* 213 */ "rdtscp", + /* 214 */ "rep", + /* 215 */ "repne", + /* 216 */ "ret", + /* 217 */ "retf", + /* 218 */ "rol", + /* 219 */ "ror", + /* 21A */ "roundpd", + /* 21B */ "roundps", + /* 21C */ "roundsd", + /* 21D */ "roundss", + /* 21E */ "rsm", + /* 21F */ "rsqrtps", + /* 220 */ "rsqrtss", + /* 221 */ "sahf", + /* 222 */ "salc", + /* 223 */ "sar", + /* 224 */ "sbb", + /* 225 */ "scasb", + /* 226 */ "scasd", + /* 227 */ "scasq", + /* 228 */ "scasw", + /* 229 */ "seta", + /* 22A */ "setae", + /* 22B */ "setb", + /* 22C */ "setbe", + /* 22D */ "sete", + /* 22E */ "setg", + /* 22F */ "setge", + /* 230 */ "setl", + /* 231 */ "setle", + /* 232 */ "setne", + /* 233 */ "setno", + /* 234 */ "setnp", + /* 235 */ "setns", + /* 236 */ "seto", + /* 237 */ "setp", + /* 238 */ "sets", + /* 239 */ "sfence", + /* 23A */ "sgdt", + /* 23B */ "shl", + /* 23C */ "shld", + /* 23D */ "shr", + /* 23E */ "shrd", + /* 23F */ "shufpd", + /* 240 */ "shufps", + /* 241 */ "sidt", + /* 242 */ "skinit", + /* 243 */ "sldt", + /* 244 */ "smsw", + /* 245 */ "sqrtpd", + /* 246 */ "sqrtps", + /* 247 */ "sqrtsd", + /* 248 */ "sqrtss", + /* 249 */ "stc", + /* 24A */ "std", + /* 24B */ "stgi", + /* 24C */ "sti", + /* 24D */ "stmxcsr", + /* 24E */ "stosb", + /* 24F */ "stosd", + /* 250 */ "stosq", + /* 251 */ "stosw", + /* 252 */ "str", + /* 253 */ "sub", + /* 254 */ "subpd", + /* 255 */ "subps", + /* 256 */ "subsd", + /* 257 */ "subss", + /* 258 */ "swapgs", + /* 259 */ "syscall", + /* 25A */ "sysenter", + /* 25B */ "sysexit", + /* 25C */ "sysret", + /* 25D */ "test", + /* 25E */ "ucomisd", + /* 25F */ "ucomiss", + /* 260 */ "ud2", + /* 261 */ "unpckhpd", + /* 262 */ "unpckhps", + /* 263 */ "unpcklpd", + /* 264 */ "unpcklps", + /* 265 */ "vaddpd", + /* 266 */ "vaddps", + /* 267 */ "vaddsd", + /* 268 */ "vaddss", + /* 269 */ "vaddsubpd", + /* 26A */ "vaddsubps", + /* 26B */ "vaesdec", + /* 26C */ "vaesdeclast", + /* 26D */ "vaesenc", + /* 26E */ "vaesenclast", + /* 26F */ "vaesimc", + /* 270 */ "vaeskeygenassist", + /* 271 */ "vandnpd", + /* 272 */ "vandnps", + /* 273 */ "vandpd", + /* 274 */ "vandps", + /* 275 */ "vblendpd", + /* 276 */ "vblendps", + /* 277 */ "vblendvpd", + /* 278 */ "vblendvps", + /* 279 */ "vbroadcastsd", + /* 27A */ "vbroadcastss", + /* 27B */ "vcmppd", + /* 27C */ "vcmpps", + /* 27D */ "vcmpsd", + /* 27E */ "vcmpss", + /* 27F */ "vcomisd", + /* 280 */ "vcomiss", + /* 281 */ "vcvtdq2pd", + /* 282 */ "vcvtdq2ps", + /* 283 */ "vcvtpd2dq", + /* 284 */ "vcvtpd2ps", + /* 285 */ "vcvtps2dq", + /* 286 */ "vcvtps2pd", + /* 287 */ "vcvtsd2si", + /* 288 */ "vcvtsd2ss", + /* 289 */ "vcvtsi2sd", + /* 28A */ "vcvtsi2ss", + /* 28B */ "vcvtss2sd", + /* 28C */ "vcvtss2si", + /* 28D */ "vcvttpd2dq", + /* 28E */ "vcvttps2dq", + /* 28F */ "vcvttsd2si", + /* 290 */ "vcvttss2si", + /* 291 */ "vdivpd", + /* 292 */ "vdivps", + /* 293 */ "vdivsd", + /* 294 */ "vdivss", + /* 295 */ "vdppd", + /* 296 */ "vdpps", + /* 297 */ "verr", + /* 298 */ "verw", + /* 299 */ "vextractf128", + /* 29A */ "vextractps", + /* 29B */ "vhaddpd", + /* 29C */ "vhaddps", + /* 29D */ "vhsubpd", + /* 29E */ "vhsubps", + /* 29F */ "vinsertf128", + /* 2A0 */ "vinsertps", + /* 2A1 */ "vlddqu", + /* 2A2 */ "vmaskmovdqu", + /* 2A3 */ "vmaskmovpd", + /* 2A4 */ "vmaskmovps", + /* 2A5 */ "vmaxpd", + /* 2A6 */ "vmaxps", + /* 2A7 */ "vmaxsd", + /* 2A8 */ "vmaxss", + /* 2A9 */ "vmcall", + /* 2AA */ "vmclear", + /* 2AB */ "vminpd", + /* 2AC */ "vminps", + /* 2AD */ "vminsd", + /* 2AE */ "vminss", + /* 2AF */ "vmlaunch", + /* 2B0 */ "vmload", + /* 2B1 */ "vmmcall", + /* 2B2 */ "vmovapd", + /* 2B3 */ "vmovaps", + /* 2B4 */ "vmovd", + /* 2B5 */ "vmovddup", + /* 2B6 */ "vmovdqa", + /* 2B7 */ "vmovdqu", + /* 2B8 */ "vmovhlps", + /* 2B9 */ "vmovhpd", + /* 2BA */ "vmovhps", + /* 2BB */ "vmovlhps", + /* 2BC */ "vmovlpd", + /* 2BD */ "vmovlps", + /* 2BE */ "vmovmskpd", + /* 2BF */ "vmovmskps", + /* 2C0 */ "vmovntdq", + /* 2C1 */ "vmovntdqa", + /* 2C2 */ "vmovntpd", + /* 2C3 */ "vmovntps", + /* 2C4 */ "vmovq", + /* 2C5 */ "vmovsd", + /* 2C6 */ "vmovshdup", + /* 2C7 */ "vmovsldup", + /* 2C8 */ "vmovss", + /* 2C9 */ "vmovupd", + /* 2CA */ "vmovups", + /* 2CB */ "vmpsadbw", + /* 2CC */ "vmptrld", + /* 2CD */ "vmptrst", + /* 2CE */ "vmread", + /* 2CF */ "vmresume", + /* 2D0 */ "vmrun", + /* 2D1 */ "vmsave", + /* 2D2 */ "vmulpd", + /* 2D3 */ "vmulps", + /* 2D4 */ "vmulsd", + /* 2D5 */ "vmulss", + /* 2D6 */ "vmwrite", + /* 2D7 */ "vmxoff", + /* 2D8 */ "vmxon", + /* 2D9 */ "vorpd", + /* 2DA */ "vorps", + /* 2DB */ "vpabsb", + /* 2DC */ "vpabsd", + /* 2DD */ "vpabsw", + /* 2DE */ "vpackssdw", + /* 2DF */ "vpacksswb", + /* 2E0 */ "vpackusdw", + /* 2E1 */ "vpackuswb", + /* 2E2 */ "vpaddb", + /* 2E3 */ "vpaddd", + /* 2E4 */ "vpaddq", + /* 2E5 */ "vpaddsb", + /* 2E6 */ "vpaddsw", + /* 2E7 */ "vpaddusb", + /* 2E8 */ "vpaddusw", + /* 2E9 */ "vpaddw", + /* 2EA */ "vpalignr", + /* 2EB */ "vpand", + /* 2EC */ "vpandn", + /* 2ED */ "vpavgb", + /* 2EE */ "vpavgw", + /* 2EF */ "vpblendvb", + /* 2F0 */ "vpblendw", + /* 2F1 */ "vpclmulqdq", + /* 2F2 */ "vpcmpeqb", + /* 2F3 */ "vpcmpeqd", + /* 2F4 */ "vpcmpeqq", + /* 2F5 */ "vpcmpeqw", + /* 2F6 */ "vpcmpestri", + /* 2F7 */ "vpcmpestrm", + /* 2F8 */ "vpcmpgtb", + /* 2F9 */ "vpcmpgtd", + /* 2FA */ "vpcmpgtq", + /* 2FB */ "vpcmpgtw", + /* 2FC */ "vpcmpistri", + /* 2FD */ "vpcmpistrm", + /* 2FE */ "vperm2f128", + /* 2FF */ "vpermilpd", + /* 300 */ "vpermilps", + /* 301 */ "vpextrb", + /* 302 */ "vpextrd", + /* 303 */ "vpextrq", + /* 304 */ "vpextrw", + /* 305 */ "vphaddd", + /* 306 */ "vphaddsw", + /* 307 */ "vphaddw", + /* 308 */ "vphminposuw", + /* 309 */ "vphsubd", + /* 30A */ "vphsubsw", + /* 30B */ "vphsubw", + /* 30C */ "vpinsrb", + /* 30D */ "vpinsrd", + /* 30E */ "vpinsrq", + /* 30F */ "vpinsrw", + /* 310 */ "vpmaddubsw", + /* 311 */ "vpmaddwd", + /* 312 */ "vpmaxsb", + /* 313 */ "vpmaxsd", + /* 314 */ "vpmaxsw", + /* 315 */ "vpmaxub", + /* 316 */ "vpmaxud", + /* 317 */ "vpmaxuw", + /* 318 */ "vpminsb", + /* 319 */ "vpminsd", + /* 31A */ "vpminsw", + /* 31B */ "vpminub", + /* 31C */ "vpminud", + /* 31D */ "vpminuw", + /* 31E */ "vpmovmskb", + /* 31F */ "vpmovsxbd", + /* 320 */ "vpmovsxbq", + /* 321 */ "vpmovsxbw", + /* 322 */ "vpmovsxwd", + /* 323 */ "vpmovsxwq", + /* 324 */ "vpmovzxbd", + /* 325 */ "vpmovzxbq", + /* 326 */ "vpmovzxbw", + /* 327 */ "vpmovzxdq", + /* 328 */ "vpmovzxwd", + /* 329 */ "vpmovzxwq", + /* 32A */ "vpmuldq", + /* 32B */ "vpmulhrsw", + /* 32C */ "vpmulhuw", + /* 32D */ "vpmulhw", + /* 32E */ "vpmulld", + /* 32F */ "vpmullw", + /* 330 */ "vpor", + /* 331 */ "vpsadbw", + /* 332 */ "vpshufb", + /* 333 */ "vpshufd", + /* 334 */ "vpshufhw", + /* 335 */ "vpshuflw", + /* 336 */ "vpsignb", + /* 337 */ "vpsignd", + /* 338 */ "vpsignw", + /* 339 */ "vpslld", + /* 33A */ "vpslldq", + /* 33B */ "vpsllq", + /* 33C */ "vpsllw", + /* 33D */ "vpsrad", + /* 33E */ "vpsraw", + /* 33F */ "vpsrld", + /* 340 */ "vpsrldq", + /* 341 */ "vpsrlq", + /* 342 */ "vpsrlw", + /* 343 */ "vpsubb", + /* 344 */ "vpsubd", + /* 345 */ "vpsubq", + /* 346 */ "vpsubsb", + /* 347 */ "vpsubsw", + /* 348 */ "vpsubusb", + /* 349 */ "vpsubusw", + /* 34A */ "vpsubw", + /* 34B */ "vptest", + /* 34C */ "vpunpckhbw", + /* 34D */ "vpunpckhdq", + /* 34E */ "vpunpckhqdq", + /* 34F */ "vpunpckhwd", + /* 350 */ "vpunpcklbw", + /* 351 */ "vpunpckldq", + /* 352 */ "vpunpcklqdq", + /* 353 */ "vpunpcklwd", + /* 354 */ "vpxor", + /* 355 */ "vrcpps", + /* 356 */ "vrcpss", + /* 357 */ "vroundpd", + /* 358 */ "vroundps", + /* 359 */ "vroundsd", + /* 35A */ "vroundss", + /* 35B */ "vrsqrtps", + /* 35C */ "vrsqrtss", + /* 35D */ "vshufpd", + /* 35E */ "vshufps", + /* 35F */ "vsqrtpd", + /* 360 */ "vsqrtps", + /* 361 */ "vsqrtsd", + /* 362 */ "vsqrtss", + /* 363 */ "vstmxcsr", + /* 364 */ "vsubpd", + /* 365 */ "vsubps", + /* 366 */ "vsubsd", + /* 367 */ "vsubss", + /* 368 */ "vtestpd", + /* 369 */ "vtestps", + /* 36A */ "vucomisd", + /* 36B */ "vucomiss", + /* 36C */ "vunpckhpd", + /* 36D */ "vunpckhps", + /* 36E */ "vunpcklpd", + /* 36F */ "vunpcklps", + /* 370 */ "vxorpd", + /* 371 */ "vxorps", + /* 372 */ "vzeroall", + /* 373 */ "vzeroupper", + /* 374 */ "wait", + /* 375 */ "wbinvd", + /* 376 */ "wrmsr", + /* 377 */ "xadd", + /* 378 */ "xchg", + /* 379 */ "xcryptcbc", + /* 37A */ "xcryptcfb", + /* 37B */ "xcryptctr", + /* 37C */ "xcryptecb", + /* 37D */ "xcryptofb", + /* 37E */ "xgetbv", + /* 37F */ "xlatb", + /* 380 */ "xor", + /* 381 */ "xorpd", + /* 382 */ "xorps", + /* 383 */ "xrstor", + /* 384 */ "xsave", + /* 385 */ "xsetbv", + /* 386 */ "xsha1", + /* 387 */ "xsha256", + /* 388 */ "xstore", }; } diff --git a/Verteron Disassembler Engine/VXOpcodeTable.h b/Verteron Disassembler Engine/VXOpcodeTable.h index 584fba4..e8d7975 100644 --- a/Verteron Disassembler Engine/VXOpcodeTable.h +++ b/Verteron Disassembler Engine/VXOpcodeTable.h @@ -97,18 +97,18 @@ enum class VXInstructionMnemonic : uint16_t /* 031 */ CMOVAE, /* 032 */ CMOVB, /* 033 */ CMOVBE, - /* 034 */ CMOVG, - /* 035 */ CMOVGE, - /* 036 */ CMOVL, - /* 037 */ CMOVLE, - /* 038 */ CMOVNO, - /* 039 */ CMOVNP, - /* 03A */ CMOVNS, - /* 03B */ CMOVNZ, - /* 03C */ CMOVO, - /* 03D */ CMOVP, - /* 03E */ CMOVS, - /* 03F */ CMOVZ, + /* 034 */ CMOVE, + /* 035 */ CMOVG, + /* 036 */ CMOVGE, + /* 037 */ CMOVL, + /* 038 */ CMOVLE, + /* 039 */ CMOVNE, + /* 03A */ CMOVNO, + /* 03B */ CMOVNP, + /* 03C */ CMOVNS, + /* 03D */ CMOVO, + /* 03E */ CMOVP, + /* 03F */ CMOVS, /* 040 */ CMP, /* 041 */ CMPPD, /* 042 */ CMPPS, @@ -220,740 +220,741 @@ enum class VXInstructionMnemonic : uint16_t /* 0AC */ FLDZ, /* 0AD */ FMUL, /* 0AE */ FMULP, - /* 0AF */ FNINIT, - /* 0B0 */ FNOP, - /* 0B1 */ FNSAVE, - /* 0B2 */ FNSTCW, - /* 0B3 */ FNSTENV, - /* 0B4 */ FNSTSW, - /* 0B5 */ FPATAN, - /* 0B6 */ FPREM, - /* 0B7 */ FPREM1, - /* 0B8 */ FPTAN, - /* 0B9 */ FRNDINT, - /* 0BA */ FRSTOR, - /* 0BB */ FSCALE, - /* 0BC */ FSIN, - /* 0BD */ FSINCOS, - /* 0BE */ FSQRT, - /* 0BF */ FST, - /* 0C0 */ FSTP, - /* 0C1 */ FSTP1, - /* 0C2 */ FSTP8, - /* 0C3 */ FSTP9, - /* 0C4 */ FSUB, - /* 0C5 */ FSUBP, - /* 0C6 */ FSUBR, - /* 0C7 */ FSUBRP, - /* 0C8 */ FTST, - /* 0C9 */ FUCOM, - /* 0CA */ FUCOMI, - /* 0CB */ FUCOMIP, - /* 0CC */ FUCOMP, - /* 0CD */ FUCOMPP, - /* 0CE */ FXAM, - /* 0CF */ FXCH, - /* 0D0 */ FXCH4, - /* 0D1 */ FXCH7, - /* 0D2 */ FXRSTOR, - /* 0D3 */ FXSAVE, - /* 0D4 */ FXTRACT, - /* 0D5 */ FYL2X, - /* 0D6 */ FYL2XP1, - /* 0D7 */ GETSEC, - /* 0D8 */ HADDPD, - /* 0D9 */ HADDPS, - /* 0DA */ HLT, - /* 0DB */ HSUBPD, - /* 0DC */ HSUBPS, - /* 0DD */ IDIV, - /* 0DE */ IMUL, - /* 0DF */ IN, - /* 0E0 */ INC, - /* 0E1 */ INSB, - /* 0E2 */ INSD, - /* 0E3 */ INSERTPS, - /* 0E4 */ INSW, - /* 0E5 */ INT, - /* 0E6 */ INT1, - /* 0E7 */ INT3, - /* 0E8 */ INTO, - /* 0E9 */ INVD, - /* 0EA */ INVEPT, - /* 0EB */ INVLPG, - /* 0EC */ INVLPGA, - /* 0ED */ INVVPID, - /* 0EE */ IRETD, - /* 0EF */ IRETQ, - /* 0F0 */ IRETW, - /* 0F1 */ JA, - /* 0F2 */ JAE, - /* 0F3 */ JB, - /* 0F4 */ JBE, - /* 0F5 */ JCXZ, - /* 0F6 */ JECXZ, - /* 0F7 */ JG, - /* 0F8 */ JGE, - /* 0F9 */ JL, - /* 0FA */ JLE, - /* 0FB */ JMP, - /* 0FC */ JNO, - /* 0FD */ JNP, - /* 0FE */ JNS, - /* 0FF */ JNZ, - /* 100 */ JO, - /* 101 */ JP, - /* 102 */ JRCXZ, - /* 103 */ JS, - /* 104 */ JZ, - /* 105 */ LAHF, - /* 106 */ LAR, - /* 107 */ LDDQU, - /* 108 */ LDMXCSR, - /* 109 */ LDS, - /* 10A */ LEA, - /* 10B */ LEAVE, - /* 10C */ LES, - /* 10D */ LFENCE, - /* 10E */ LFS, - /* 10F */ LGDT, - /* 110 */ LGS, - /* 111 */ LIDT, - /* 112 */ LLDT, - /* 113 */ LMSW, - /* 114 */ LOCK, - /* 115 */ LODSB, - /* 116 */ LODSD, - /* 117 */ LODSQ, - /* 118 */ LODSW, - /* 119 */ LOOP, - /* 11A */ LOOPE, - /* 11B */ LOOPNE, - /* 11C */ LSL, - /* 11D */ LSS, - /* 11E */ LTR, - /* 11F */ MASKMOVDQU, - /* 120 */ MASKMOVQ, - /* 121 */ MAXPD, - /* 122 */ MAXPS, - /* 123 */ MAXSD, - /* 124 */ MAXSS, - /* 125 */ MFENCE, - /* 126 */ MINPD, - /* 127 */ MINPS, - /* 128 */ MINSD, - /* 129 */ MINSS, - /* 12A */ MONITOR, - /* 12B */ MONTMUL, - /* 12C */ MOV, - /* 12D */ MOVAPD, - /* 12E */ MOVAPS, - /* 12F */ MOVBE, - /* 130 */ MOVD, - /* 131 */ MOVDDUP, - /* 132 */ MOVDQ2Q, - /* 133 */ MOVDQA, - /* 134 */ MOVDQU, - /* 135 */ MOVHLPS, - /* 136 */ MOVHPD, - /* 137 */ MOVHPS, - /* 138 */ MOVLHPS, - /* 139 */ MOVLPD, - /* 13A */ MOVLPS, - /* 13B */ MOVMSKPD, - /* 13C */ MOVMSKPS, - /* 13D */ MOVNTDQ, - /* 13E */ MOVNTDQA, - /* 13F */ MOVNTI, - /* 140 */ MOVNTPD, - /* 141 */ MOVNTPS, - /* 142 */ MOVNTQ, - /* 143 */ MOVQ, - /* 144 */ MOVQ2DQ, - /* 145 */ MOVSB, - /* 146 */ MOVSD, - /* 147 */ MOVSHDUP, - /* 148 */ MOVSLDUP, - /* 149 */ MOVSQ, - /* 14A */ MOVSS, - /* 14B */ MOVSW, - /* 14C */ MOVSX, - /* 14D */ MOVSXD, - /* 14E */ MOVUPD, - /* 14F */ MOVUPS, - /* 150 */ MOVZX, - /* 151 */ MPSADBW, - /* 152 */ MUL, - /* 153 */ MULPD, - /* 154 */ MULPS, - /* 155 */ MULSD, - /* 156 */ MULSS, - /* 157 */ MWAIT, - /* 158 */ NEG, - /* 159 */ NOP, - /* 15A */ NOT, - /* 15B */ OR, - /* 15C */ ORPD, - /* 15D */ ORPS, - /* 15E */ OUT, - /* 15F */ OUTSB, - /* 160 */ OUTSD, - /* 161 */ OUTSW, - /* 162 */ PABSB, - /* 163 */ PABSD, - /* 164 */ PABSW, - /* 165 */ PACKSSDW, - /* 166 */ PACKSSWB, - /* 167 */ PACKUSDW, - /* 168 */ PACKUSWB, - /* 169 */ PADDB, - /* 16A */ PADDD, - /* 16B */ PADDQ, - /* 16C */ PADDSB, - /* 16D */ PADDSW, - /* 16E */ PADDUSB, - /* 16F */ PADDUSW, - /* 170 */ PADDW, - /* 171 */ PALIGNR, - /* 172 */ PAND, - /* 173 */ PANDN, - /* 174 */ PAUSE, - /* 175 */ PAVGB, - /* 176 */ PAVGUSB, - /* 177 */ PAVGW, - /* 178 */ PBLENDVB, - /* 179 */ PBLENDW, - /* 17A */ PCLMULQDQ, - /* 17B */ PCMPEQB, - /* 17C */ PCMPEQD, - /* 17D */ PCMPEQQ, - /* 17E */ PCMPEQW, - /* 17F */ PCMPESTRI, - /* 180 */ PCMPESTRM, - /* 181 */ PCMPGTB, - /* 182 */ PCMPGTD, - /* 183 */ PCMPGTQ, - /* 184 */ PCMPGTW, - /* 185 */ PCMPISTRI, - /* 186 */ PCMPISTRM, - /* 187 */ PEXTRB, - /* 188 */ PEXTRD, - /* 189 */ PEXTRQ, - /* 18A */ PEXTRW, - /* 18B */ PF2ID, - /* 18C */ PF2IW, - /* 18D */ PFACC, - /* 18E */ PFADD, - /* 18F */ PFCMPEQ, - /* 190 */ PFCMPGE, - /* 191 */ PFCMPGT, - /* 192 */ PFMAX, - /* 193 */ PFMIN, - /* 194 */ PFMUL, - /* 195 */ PFNACC, - /* 196 */ PFPNACC, - /* 197 */ PFRCP, - /* 198 */ PFRCPIT1, - /* 199 */ PFRCPIT2, - /* 19A */ PFRSQIT1, - /* 19B */ PFRSQRT, - /* 19C */ PFSUB, - /* 19D */ PFSUBR, - /* 19E */ PHADDD, - /* 19F */ PHADDSW, - /* 1A0 */ PHADDW, - /* 1A1 */ PHMINPOSUW, - /* 1A2 */ PHSUBD, - /* 1A3 */ PHSUBSW, - /* 1A4 */ PHSUBW, - /* 1A5 */ PI2FD, - /* 1A6 */ PI2FW, - /* 1A7 */ PINSRB, - /* 1A8 */ PINSRD, - /* 1A9 */ PINSRQ, - /* 1AA */ PINSRW, - /* 1AB */ PMADDUBSW, - /* 1AC */ PMADDWD, - /* 1AD */ PMAXSB, - /* 1AE */ PMAXSD, - /* 1AF */ PMAXSW, - /* 1B0 */ PMAXUB, - /* 1B1 */ PMAXUD, - /* 1B2 */ PMAXUW, - /* 1B3 */ PMINSB, - /* 1B4 */ PMINSD, - /* 1B5 */ PMINSW, - /* 1B6 */ PMINUB, - /* 1B7 */ PMINUD, - /* 1B8 */ PMINUW, - /* 1B9 */ PMOVMSKB, - /* 1BA */ PMOVSXBD, - /* 1BB */ PMOVSXBQ, - /* 1BC */ PMOVSXBW, - /* 1BD */ PMOVSXDQ, - /* 1BE */ PMOVSXWD, - /* 1BF */ PMOVSXWQ, - /* 1C0 */ PMOVZXBD, - /* 1C1 */ PMOVZXBQ, - /* 1C2 */ PMOVZXBW, - /* 1C3 */ PMOVZXDQ, - /* 1C4 */ PMOVZXWD, - /* 1C5 */ PMOVZXWQ, - /* 1C6 */ PMULDQ, - /* 1C7 */ PMULHRSW, - /* 1C8 */ PMULHRW, - /* 1C9 */ PMULHUW, - /* 1CA */ PMULHW, - /* 1CB */ PMULLD, - /* 1CC */ PMULLW, - /* 1CD */ PMULUDQ, - /* 1CE */ POP, - /* 1CF */ POPA, - /* 1D0 */ POPAD, - /* 1D1 */ POPCNT, - /* 1D2 */ POPFD, - /* 1D3 */ POPFQ, - /* 1D4 */ POPFW, - /* 1D5 */ POR, - /* 1D6 */ PREFETCH, - /* 1D7 */ PREFETCHNTA, - /* 1D8 */ PREFETCHT0, - /* 1D9 */ PREFETCHT1, - /* 1DA */ PREFETCHT2, - /* 1DB */ PSADBW, - /* 1DC */ PSHUFB, - /* 1DD */ PSHUFD, - /* 1DE */ PSHUFHW, - /* 1DF */ PSHUFLW, - /* 1E0 */ PSHUFW, - /* 1E1 */ PSIGNB, - /* 1E2 */ PSIGND, - /* 1E3 */ PSIGNW, - /* 1E4 */ PSLLD, - /* 1E5 */ PSLLDQ, - /* 1E6 */ PSLLQ, - /* 1E7 */ PSLLW, - /* 1E8 */ PSRAD, - /* 1E9 */ PSRAW, - /* 1EA */ PSRLD, - /* 1EB */ PSRLDQ, - /* 1EC */ PSRLQ, - /* 1ED */ PSRLW, - /* 1EE */ PSUBB, - /* 1EF */ PSUBD, - /* 1F0 */ PSUBQ, - /* 1F1 */ PSUBSB, - /* 1F2 */ PSUBSW, - /* 1F3 */ PSUBUSB, - /* 1F4 */ PSUBUSW, - /* 1F5 */ PSUBW, - /* 1F6 */ PSWAPD, - /* 1F7 */ PTEST, - /* 1F8 */ PUNPCKHBW, - /* 1F9 */ PUNPCKHDQ, - /* 1FA */ PUNPCKHQDQ, - /* 1FB */ PUNPCKHWD, - /* 1FC */ PUNPCKLBW, - /* 1FD */ PUNPCKLDQ, - /* 1FE */ PUNPCKLQDQ, - /* 1FF */ PUNPCKLWD, - /* 200 */ PUSH, - /* 201 */ PUSHA, - /* 202 */ PUSHAD, - /* 203 */ PUSHFD, - /* 204 */ PUSHFQ, - /* 205 */ PUSHFW, - /* 206 */ PXOR, - /* 207 */ RCL, - /* 208 */ RCPPS, - /* 209 */ RCPSS, - /* 20A */ RCR, - /* 20B */ RDMSR, - /* 20C */ RDPMC, - /* 20D */ RDRAND, - /* 20E */ RDTSC, - /* 20F */ RDTSCP, - /* 210 */ REP, - /* 211 */ REPNE, - /* 212 */ RETF, - /* 213 */ RETN, - /* 214 */ ROL, - /* 215 */ ROR, - /* 216 */ ROUNDPD, - /* 217 */ ROUNDPS, - /* 218 */ ROUNDSD, - /* 219 */ ROUNDSS, - /* 21A */ RSM, - /* 21B */ RSQRTPS, - /* 21C */ RSQRTSS, - /* 21D */ SAHF, - /* 21E */ SALC, - /* 21F */ SAR, - /* 220 */ SBB, - /* 221 */ SCASB, - /* 222 */ SCASD, - /* 223 */ SCASQ, - /* 224 */ SCASW, - /* 225 */ SETA, - /* 226 */ SETAE, - /* 227 */ SETB, - /* 228 */ SETBE, - /* 229 */ SETG, - /* 22A */ SETGE, - /* 22B */ SETL, - /* 22C */ SETLE, - /* 22D */ SETNO, - /* 22E */ SETNP, - /* 22F */ SETNS, - /* 230 */ SETNZ, - /* 231 */ SETO, - /* 232 */ SETP, - /* 233 */ SETS, - /* 234 */ SETZ, - /* 235 */ SFENCE, - /* 236 */ SGDT, - /* 237 */ SHL, - /* 238 */ SHLD, - /* 239 */ SHR, - /* 23A */ SHRD, - /* 23B */ SHUFPD, - /* 23C */ SHUFPS, - /* 23D */ SIDT, - /* 23E */ SKINIT, - /* 23F */ SLDT, - /* 240 */ SMSW, - /* 241 */ SQRTPD, - /* 242 */ SQRTPS, - /* 243 */ SQRTSD, - /* 244 */ SQRTSS, - /* 245 */ STC, - /* 246 */ STD, - /* 247 */ STGI, - /* 248 */ STI, - /* 249 */ STMXCSR, - /* 24A */ STOSB, - /* 24B */ STOSD, - /* 24C */ STOSQ, - /* 24D */ STOSW, - /* 24E */ STR, - /* 24F */ SUB, - /* 250 */ SUBPD, - /* 251 */ SUBPS, - /* 252 */ SUBSD, - /* 253 */ SUBSS, - /* 254 */ SWAPGS, - /* 255 */ SYSCALL, - /* 256 */ SYSENTER, - /* 257 */ SYSEXIT, - /* 258 */ SYSRET, - /* 259 */ TEST, - /* 25A */ UCOMISD, - /* 25B */ UCOMISS, - /* 25C */ UD2, - /* 25D */ UNPCKHPD, - /* 25E */ UNPCKHPS, - /* 25F */ UNPCKLPD, - /* 260 */ UNPCKLPS, - /* 261 */ VADDPD, - /* 262 */ VADDPS, - /* 263 */ VADDSD, - /* 264 */ VADDSS, - /* 265 */ VADDSUBPD, - /* 266 */ VADDSUBPS, - /* 267 */ VAESDEC, - /* 268 */ VAESDECLAST, - /* 269 */ VAESENC, - /* 26A */ VAESENCLAST, - /* 26B */ VAESIMC, - /* 26C */ VAESKEYGENASSIST, - /* 26D */ VANDNPD, - /* 26E */ VANDNPS, - /* 26F */ VANDPD, - /* 270 */ VANDPS, - /* 271 */ VBLENDPD, - /* 272 */ VBLENDPS, - /* 273 */ VBLENDVPD, - /* 274 */ VBLENDVPS, - /* 275 */ VBROADCASTSD, - /* 276 */ VBROADCASTSS, - /* 277 */ VCMPPD, - /* 278 */ VCMPPS, - /* 279 */ VCMPSD, - /* 27A */ VCMPSS, - /* 27B */ VCOMISD, - /* 27C */ VCOMISS, - /* 27D */ VCVTDQ2PD, - /* 27E */ VCVTDQ2PS, - /* 27F */ VCVTPD2DQ, - /* 280 */ VCVTPD2PS, - /* 281 */ VCVTPS2DQ, - /* 282 */ VCVTPS2PD, - /* 283 */ VCVTSD2SI, - /* 284 */ VCVTSD2SS, - /* 285 */ VCVTSI2SD, - /* 286 */ VCVTSI2SS, - /* 287 */ VCVTSS2SD, - /* 288 */ VCVTSS2SI, - /* 289 */ VCVTTPD2DQ, - /* 28A */ VCVTTPS2DQ, - /* 28B */ VCVTTSD2SI, - /* 28C */ VCVTTSS2SI, - /* 28D */ VDIVPD, - /* 28E */ VDIVPS, - /* 28F */ VDIVSD, - /* 290 */ VDIVSS, - /* 291 */ VDPPD, - /* 292 */ VDPPS, - /* 293 */ VERR, - /* 294 */ VERW, - /* 295 */ VEXTRACTF128, - /* 296 */ VEXTRACTPS, - /* 297 */ VHADDPD, - /* 298 */ VHADDPS, - /* 299 */ VHSUBPD, - /* 29A */ VHSUBPS, - /* 29B */ VINSERTF128, - /* 29C */ VINSERTPS, - /* 29D */ VLDDQU, - /* 29E */ VMASKMOVDQU, - /* 29F */ VMASKMOVPD, - /* 2A0 */ VMASKMOVPS, - /* 2A1 */ VMAXPD, - /* 2A2 */ VMAXPS, - /* 2A3 */ VMAXSD, - /* 2A4 */ VMAXSS, - /* 2A5 */ VMCALL, - /* 2A6 */ VMCLEAR, - /* 2A7 */ VMINPD, - /* 2A8 */ VMINPS, - /* 2A9 */ VMINSD, - /* 2AA */ VMINSS, - /* 2AB */ VMLAUNCH, - /* 2AC */ VMLOAD, - /* 2AD */ VMMCALL, - /* 2AE */ VMOVAPD, - /* 2AF */ VMOVAPS, - /* 2B0 */ VMOVD, - /* 2B1 */ VMOVDDUP, - /* 2B2 */ VMOVDQA, - /* 2B3 */ VMOVDQU, - /* 2B4 */ VMOVHLPS, - /* 2B5 */ VMOVHPD, - /* 2B6 */ VMOVHPS, - /* 2B7 */ VMOVLHPS, - /* 2B8 */ VMOVLPD, - /* 2B9 */ VMOVLPS, - /* 2BA */ VMOVMSKPD, - /* 2BB */ VMOVMSKPS, - /* 2BC */ VMOVNTDQ, - /* 2BD */ VMOVNTDQA, - /* 2BE */ VMOVNTPD, - /* 2BF */ VMOVNTPS, - /* 2C0 */ VMOVQ, - /* 2C1 */ VMOVSD, - /* 2C2 */ VMOVSHDUP, - /* 2C3 */ VMOVSLDUP, - /* 2C4 */ VMOVSS, - /* 2C5 */ VMOVUPD, - /* 2C6 */ VMOVUPS, - /* 2C7 */ VMPSADBW, - /* 2C8 */ VMPTRLD, - /* 2C9 */ VMPTRST, - /* 2CA */ VMREAD, - /* 2CB */ VMRESUME, - /* 2CC */ VMRUN, - /* 2CD */ VMSAVE, - /* 2CE */ VMULPD, - /* 2CF */ VMULPS, - /* 2D0 */ VMULSD, - /* 2D1 */ VMULSS, - /* 2D2 */ VMWRITE, - /* 2D3 */ VMXOFF, - /* 2D4 */ VMXON, - /* 2D5 */ VORPD, - /* 2D6 */ VORPS, - /* 2D7 */ VPABSB, - /* 2D8 */ VPABSD, - /* 2D9 */ VPABSW, - /* 2DA */ VPACKSSDW, - /* 2DB */ VPACKSSWB, - /* 2DC */ VPACKUSDW, - /* 2DD */ VPACKUSWB, - /* 2DE */ VPADDB, - /* 2DF */ VPADDD, - /* 2E0 */ VPADDQ, - /* 2E1 */ VPADDSB, - /* 2E2 */ VPADDSW, - /* 2E3 */ VPADDUSB, - /* 2E4 */ VPADDUSW, - /* 2E5 */ VPADDW, - /* 2E6 */ VPALIGNR, - /* 2E7 */ VPAND, - /* 2E8 */ VPANDN, - /* 2E9 */ VPAVGB, - /* 2EA */ VPAVGW, - /* 2EB */ VPBLENDVB, - /* 2EC */ VPBLENDW, - /* 2ED */ VPCLMULQDQ, - /* 2EE */ VPCMPEQB, - /* 2EF */ VPCMPEQD, - /* 2F0 */ VPCMPEQQ, - /* 2F1 */ VPCMPEQW, - /* 2F2 */ VPCMPESTRI, - /* 2F3 */ VPCMPESTRM, - /* 2F4 */ VPCMPGTB, - /* 2F5 */ VPCMPGTD, - /* 2F6 */ VPCMPGTQ, - /* 2F7 */ VPCMPGTW, - /* 2F8 */ VPCMPISTRI, - /* 2F9 */ VPCMPISTRM, - /* 2FA */ VPERM2F128, - /* 2FB */ VPERMILPD, - /* 2FC */ VPERMILPS, - /* 2FD */ VPEXTRB, - /* 2FE */ VPEXTRD, - /* 2FF */ VPEXTRQ, - /* 300 */ VPEXTRW, - /* 301 */ VPHADDD, - /* 302 */ VPHADDSW, - /* 303 */ VPHADDW, - /* 304 */ VPHMINPOSUW, - /* 305 */ VPHSUBD, - /* 306 */ VPHSUBSW, - /* 307 */ VPHSUBW, - /* 308 */ VPINSRB, - /* 309 */ VPINSRD, - /* 30A */ VPINSRQ, - /* 30B */ VPINSRW, - /* 30C */ VPMADDUBSW, - /* 30D */ VPMADDWD, - /* 30E */ VPMAXSB, - /* 30F */ VPMAXSD, - /* 310 */ VPMAXSW, - /* 311 */ VPMAXUB, - /* 312 */ VPMAXUD, - /* 313 */ VPMAXUW, - /* 314 */ VPMINSB, - /* 315 */ VPMINSD, - /* 316 */ VPMINSW, - /* 317 */ VPMINUB, - /* 318 */ VPMINUD, - /* 319 */ VPMINUW, - /* 31A */ VPMOVMSKB, - /* 31B */ VPMOVSXBD, - /* 31C */ VPMOVSXBQ, - /* 31D */ VPMOVSXBW, - /* 31E */ VPMOVSXWD, - /* 31F */ VPMOVSXWQ, - /* 320 */ VPMOVZXBD, - /* 321 */ VPMOVZXBQ, - /* 322 */ VPMOVZXBW, - /* 323 */ VPMOVZXDQ, - /* 324 */ VPMOVZXWD, - /* 325 */ VPMOVZXWQ, - /* 326 */ VPMULDQ, - /* 327 */ VPMULHRSW, - /* 328 */ VPMULHUW, - /* 329 */ VPMULHW, - /* 32A */ VPMULLD, - /* 32B */ VPMULLW, - /* 32C */ VPOR, - /* 32D */ VPSADBW, - /* 32E */ VPSHUFB, - /* 32F */ VPSHUFD, - /* 330 */ VPSHUFHW, - /* 331 */ VPSHUFLW, - /* 332 */ VPSIGNB, - /* 333 */ VPSIGND, - /* 334 */ VPSIGNW, - /* 335 */ VPSLLD, - /* 336 */ VPSLLDQ, - /* 337 */ VPSLLQ, - /* 338 */ VPSLLW, - /* 339 */ VPSRAD, - /* 33A */ VPSRAW, - /* 33B */ VPSRLD, - /* 33C */ VPSRLDQ, - /* 33D */ VPSRLQ, - /* 33E */ VPSRLW, - /* 33F */ VPSUBB, - /* 340 */ VPSUBD, - /* 341 */ VPSUBQ, - /* 342 */ VPSUBSB, - /* 343 */ VPSUBSW, - /* 344 */ VPSUBUSB, - /* 345 */ VPSUBUSW, - /* 346 */ VPSUBW, - /* 347 */ VPTEST, - /* 348 */ VPUNPCKHBW, - /* 349 */ VPUNPCKHDQ, - /* 34A */ VPUNPCKHQDQ, - /* 34B */ VPUNPCKHWD, - /* 34C */ VPUNPCKLBW, - /* 34D */ VPUNPCKLDQ, - /* 34E */ VPUNPCKLQDQ, - /* 34F */ VPUNPCKLWD, - /* 350 */ VPXOR, - /* 351 */ VRCPPS, - /* 352 */ VRCPSS, - /* 353 */ VROUNDPD, - /* 354 */ VROUNDPS, - /* 355 */ VROUNDSD, - /* 356 */ VROUNDSS, - /* 357 */ VRSQRTPS, - /* 358 */ VRSQRTSS, - /* 359 */ VSHUFPD, - /* 35A */ VSHUFPS, - /* 35B */ VSQRTPD, - /* 35C */ VSQRTPS, - /* 35D */ VSQRTSD, - /* 35E */ VSQRTSS, - /* 35F */ VSTMXCSR, - /* 360 */ VSUBPD, - /* 361 */ VSUBPS, - /* 362 */ VSUBSD, - /* 363 */ VSUBSS, - /* 364 */ VTESTPD, - /* 365 */ VTESTPS, - /* 366 */ VUCOMISD, - /* 367 */ VUCOMISS, - /* 368 */ VUNPCKHPD, - /* 369 */ VUNPCKHPS, - /* 36A */ VUNPCKLPD, - /* 36B */ VUNPCKLPS, - /* 36C */ VXORPD, - /* 36D */ VXORPS, - /* 36E */ VZEROALL, - /* 36F */ VZEROUPPER, - /* 370 */ WAIT, - /* 371 */ WBINVD, - /* 372 */ WRMSR, - /* 373 */ XADD, - /* 374 */ XCHG, - /* 375 */ XCRYPTCBC, - /* 376 */ XCRYPTCFB, - /* 377 */ XCRYPTCTR, - /* 378 */ XCRYPTECB, - /* 379 */ XCRYPTOFB, - /* 37A */ XGETBV, - /* 37B */ XLATB, - /* 37C */ XOR, - /* 37D */ XORPD, - /* 37E */ XORPS, - /* 37F */ XRSTOR, - /* 380 */ XSAVE, - /* 381 */ XSETBV, - /* 382 */ XSHA1, - /* 383 */ XSHA256, - /* 384 */ XSTORE, + /* 0AF */ FNDISI, + /* 0B0 */ FNENI, + /* 0B1 */ FNINIT, + /* 0B2 */ FNOP, + /* 0B3 */ FNSAVE, + /* 0B4 */ FNSETPM, + /* 0B5 */ FNSTCW, + /* 0B6 */ FNSTENV, + /* 0B7 */ FNSTSW, + /* 0B8 */ FPATAN, + /* 0B9 */ FPREM, + /* 0BA */ FPREM1, + /* 0BB */ FPTAN, + /* 0BC */ FRNDINT, + /* 0BD */ FRSTOR, + /* 0BE */ FRSTPM, + /* 0BF */ FSCALE, + /* 0C0 */ FSIN, + /* 0C1 */ FSINCOS, + /* 0C2 */ FSQRT, + /* 0C3 */ FST, + /* 0C4 */ FSTP, + /* 0C5 */ FSTP1, + /* 0C6 */ FSTP8, + /* 0C7 */ FSTP9, + /* 0C8 */ FSUB, + /* 0C9 */ FSUBP, + /* 0CA */ FSUBR, + /* 0CB */ FSUBRP, + /* 0CC */ FTST, + /* 0CD */ FUCOM, + /* 0CE */ FUCOMI, + /* 0CF */ FUCOMIP, + /* 0D0 */ FUCOMP, + /* 0D1 */ FUCOMPP, + /* 0D2 */ FXAM, + /* 0D3 */ FXCH, + /* 0D4 */ FXCH4, + /* 0D5 */ FXCH7, + /* 0D6 */ FXRSTOR, + /* 0D7 */ FXSAVE, + /* 0D8 */ FXTRACT, + /* 0D9 */ FYL2X, + /* 0DA */ FYL2XP1, + /* 0DB */ GETSEC, + /* 0DC */ HADDPD, + /* 0DD */ HADDPS, + /* 0DE */ HLT, + /* 0DF */ HSUBPD, + /* 0E0 */ HSUBPS, + /* 0E1 */ IDIV, + /* 0E2 */ IMUL, + /* 0E3 */ IN, + /* 0E4 */ INC, + /* 0E5 */ INSB, + /* 0E6 */ INSD, + /* 0E7 */ INSERTPS, + /* 0E8 */ INSW, + /* 0E9 */ INT, + /* 0EA */ INT1, + /* 0EB */ INT3, + /* 0EC */ INTO, + /* 0ED */ INVD, + /* 0EE */ INVEPT, + /* 0EF */ INVLPG, + /* 0F0 */ INVLPGA, + /* 0F1 */ INVVPID, + /* 0F2 */ IRETD, + /* 0F3 */ IRETQ, + /* 0F4 */ IRETW, + /* 0F5 */ JA, + /* 0F6 */ JAE, + /* 0F7 */ JB, + /* 0F8 */ JBE, + /* 0F9 */ JCXZ, + /* 0FA */ JE, + /* 0FB */ JECXZ, + /* 0FC */ JG, + /* 0FD */ JGE, + /* 0FE */ JL, + /* 0FF */ JLE, + /* 100 */ JMP, + /* 101 */ JNE, + /* 102 */ JNO, + /* 103 */ JNP, + /* 104 */ JNS, + /* 105 */ JO, + /* 106 */ JP, + /* 107 */ JRCXZ, + /* 108 */ JS, + /* 109 */ LAHF, + /* 10A */ LAR, + /* 10B */ LDDQU, + /* 10C */ LDMXCSR, + /* 10D */ LDS, + /* 10E */ LEA, + /* 10F */ LEAVE, + /* 110 */ LES, + /* 111 */ LFENCE, + /* 112 */ LFS, + /* 113 */ LGDT, + /* 114 */ LGS, + /* 115 */ LIDT, + /* 116 */ LLDT, + /* 117 */ LMSW, + /* 118 */ LOCK, + /* 119 */ LODSB, + /* 11A */ LODSD, + /* 11B */ LODSQ, + /* 11C */ LODSW, + /* 11D */ LOOP, + /* 11E */ LOOPE, + /* 11F */ LOOPNE, + /* 120 */ LSL, + /* 121 */ LSS, + /* 122 */ LTR, + /* 123 */ MASKMOVDQU, + /* 124 */ MASKMOVQ, + /* 125 */ MAXPD, + /* 126 */ MAXPS, + /* 127 */ MAXSD, + /* 128 */ MAXSS, + /* 129 */ MFENCE, + /* 12A */ MINPD, + /* 12B */ MINPS, + /* 12C */ MINSD, + /* 12D */ MINSS, + /* 12E */ MONITOR, + /* 12F */ MONTMUL, + /* 130 */ MOV, + /* 131 */ MOVAPD, + /* 132 */ MOVAPS, + /* 133 */ MOVBE, + /* 134 */ MOVD, + /* 135 */ MOVDDUP, + /* 136 */ MOVDQ2Q, + /* 137 */ MOVDQA, + /* 138 */ MOVDQU, + /* 139 */ MOVHLPS, + /* 13A */ MOVHPD, + /* 13B */ MOVHPS, + /* 13C */ MOVLHPS, + /* 13D */ MOVLPD, + /* 13E */ MOVLPS, + /* 13F */ MOVMSKPD, + /* 140 */ MOVMSKPS, + /* 141 */ MOVNTDQ, + /* 142 */ MOVNTDQA, + /* 143 */ MOVNTI, + /* 144 */ MOVNTPD, + /* 145 */ MOVNTPS, + /* 146 */ MOVNTQ, + /* 147 */ MOVQ, + /* 148 */ MOVQ2DQ, + /* 149 */ MOVSB, + /* 14A */ MOVSD, + /* 14B */ MOVSHDUP, + /* 14C */ MOVSLDUP, + /* 14D */ MOVSQ, + /* 14E */ MOVSS, + /* 14F */ MOVSW, + /* 150 */ MOVSX, + /* 151 */ MOVSXD, + /* 152 */ MOVUPD, + /* 153 */ MOVUPS, + /* 154 */ MOVZX, + /* 155 */ MPSADBW, + /* 156 */ MUL, + /* 157 */ MULPD, + /* 158 */ MULPS, + /* 159 */ MULSD, + /* 15A */ MULSS, + /* 15B */ MWAIT, + /* 15C */ NEG, + /* 15D */ NOP, + /* 15E */ NOT, + /* 15F */ OR, + /* 160 */ ORPD, + /* 161 */ ORPS, + /* 162 */ OUT, + /* 163 */ OUTSB, + /* 164 */ OUTSD, + /* 165 */ OUTSW, + /* 166 */ PABSB, + /* 167 */ PABSD, + /* 168 */ PABSW, + /* 169 */ PACKSSDW, + /* 16A */ PACKSSWB, + /* 16B */ PACKUSDW, + /* 16C */ PACKUSWB, + /* 16D */ PADDB, + /* 16E */ PADDD, + /* 16F */ PADDQ, + /* 170 */ PADDSB, + /* 171 */ PADDSW, + /* 172 */ PADDUSB, + /* 173 */ PADDUSW, + /* 174 */ PADDW, + /* 175 */ PALIGNR, + /* 176 */ PAND, + /* 177 */ PANDN, + /* 178 */ PAUSE, + /* 179 */ PAVGB, + /* 17A */ PAVGUSB, + /* 17B */ PAVGW, + /* 17C */ PBLENDVB, + /* 17D */ PBLENDW, + /* 17E */ PCLMULQDQ, + /* 17F */ PCMPEQB, + /* 180 */ PCMPEQD, + /* 181 */ PCMPEQQ, + /* 182 */ PCMPEQW, + /* 183 */ PCMPESTRI, + /* 184 */ PCMPESTRM, + /* 185 */ PCMPGTB, + /* 186 */ PCMPGTD, + /* 187 */ PCMPGTQ, + /* 188 */ PCMPGTW, + /* 189 */ PCMPISTRI, + /* 18A */ PCMPISTRM, + /* 18B */ PEXTRB, + /* 18C */ PEXTRD, + /* 18D */ PEXTRQ, + /* 18E */ PEXTRW, + /* 18F */ PF2ID, + /* 190 */ PF2IW, + /* 191 */ PFACC, + /* 192 */ PFADD, + /* 193 */ PFCMPEQ, + /* 194 */ PFCMPGE, + /* 195 */ PFCMPGT, + /* 196 */ PFMAX, + /* 197 */ PFMIN, + /* 198 */ PFMUL, + /* 199 */ PFNACC, + /* 19A */ PFPNACC, + /* 19B */ PFRCP, + /* 19C */ PFRCPIT1, + /* 19D */ PFRCPIT2, + /* 19E */ PFRSQIT1, + /* 19F */ PFRSQRT, + /* 1A0 */ PFSUB, + /* 1A1 */ PFSUBR, + /* 1A2 */ PHADDD, + /* 1A3 */ PHADDSW, + /* 1A4 */ PHADDW, + /* 1A5 */ PHMINPOSUW, + /* 1A6 */ PHSUBD, + /* 1A7 */ PHSUBSW, + /* 1A8 */ PHSUBW, + /* 1A9 */ PI2FD, + /* 1AA */ PI2FW, + /* 1AB */ PINSRB, + /* 1AC */ PINSRD, + /* 1AD */ PINSRQ, + /* 1AE */ PINSRW, + /* 1AF */ PMADDUBSW, + /* 1B0 */ PMADDWD, + /* 1B1 */ PMAXSB, + /* 1B2 */ PMAXSD, + /* 1B3 */ PMAXSW, + /* 1B4 */ PMAXUB, + /* 1B5 */ PMAXUD, + /* 1B6 */ PMAXUW, + /* 1B7 */ PMINSB, + /* 1B8 */ PMINSD, + /* 1B9 */ PMINSW, + /* 1BA */ PMINUB, + /* 1BB */ PMINUD, + /* 1BC */ PMINUW, + /* 1BD */ PMOVMSKB, + /* 1BE */ PMOVSXBD, + /* 1BF */ PMOVSXBQ, + /* 1C0 */ PMOVSXBW, + /* 1C1 */ PMOVSXDQ, + /* 1C2 */ PMOVSXWD, + /* 1C3 */ PMOVSXWQ, + /* 1C4 */ PMOVZXBD, + /* 1C5 */ PMOVZXBQ, + /* 1C6 */ PMOVZXBW, + /* 1C7 */ PMOVZXDQ, + /* 1C8 */ PMOVZXWD, + /* 1C9 */ PMOVZXWQ, + /* 1CA */ PMULDQ, + /* 1CB */ PMULHRSW, + /* 1CC */ PMULHRW, + /* 1CD */ PMULHUW, + /* 1CE */ PMULHW, + /* 1CF */ PMULLD, + /* 1D0 */ PMULLW, + /* 1D1 */ PMULUDQ, + /* 1D2 */ POP, + /* 1D3 */ POPA, + /* 1D4 */ POPAD, + /* 1D5 */ POPCNT, + /* 1D6 */ POPFD, + /* 1D7 */ POPFQ, + /* 1D8 */ POPFW, + /* 1D9 */ POR, + /* 1DA */ PREFETCH, + /* 1DB */ PREFETCHNTA, + /* 1DC */ PREFETCHT0, + /* 1DD */ PREFETCHT1, + /* 1DE */ PREFETCHT2, + /* 1DF */ PSADBW, + /* 1E0 */ PSHUFB, + /* 1E1 */ PSHUFD, + /* 1E2 */ PSHUFHW, + /* 1E3 */ PSHUFLW, + /* 1E4 */ PSHUFW, + /* 1E5 */ PSIGNB, + /* 1E6 */ PSIGND, + /* 1E7 */ PSIGNW, + /* 1E8 */ PSLLD, + /* 1E9 */ PSLLDQ, + /* 1EA */ PSLLQ, + /* 1EB */ PSLLW, + /* 1EC */ PSRAD, + /* 1ED */ PSRAW, + /* 1EE */ PSRLD, + /* 1EF */ PSRLDQ, + /* 1F0 */ PSRLQ, + /* 1F1 */ PSRLW, + /* 1F2 */ PSUBB, + /* 1F3 */ PSUBD, + /* 1F4 */ PSUBQ, + /* 1F5 */ PSUBSB, + /* 1F6 */ PSUBSW, + /* 1F7 */ PSUBUSB, + /* 1F8 */ PSUBUSW, + /* 1F9 */ PSUBW, + /* 1FA */ PSWAPD, + /* 1FB */ PTEST, + /* 1FC */ PUNPCKHBW, + /* 1FD */ PUNPCKHDQ, + /* 1FE */ PUNPCKHQDQ, + /* 1FF */ PUNPCKHWD, + /* 200 */ PUNPCKLBW, + /* 201 */ PUNPCKLDQ, + /* 202 */ PUNPCKLQDQ, + /* 203 */ PUNPCKLWD, + /* 204 */ PUSH, + /* 205 */ PUSHA, + /* 206 */ PUSHAD, + /* 207 */ PUSHFD, + /* 208 */ PUSHFQ, + /* 209 */ PUSHFW, + /* 20A */ PXOR, + /* 20B */ RCL, + /* 20C */ RCPPS, + /* 20D */ RCPSS, + /* 20E */ RCR, + /* 20F */ RDMSR, + /* 210 */ RDPMC, + /* 211 */ RDRAND, + /* 212 */ RDTSC, + /* 213 */ RDTSCP, + /* 214 */ REP, + /* 215 */ REPNE, + /* 216 */ RET, + /* 217 */ RETF, + /* 218 */ ROL, + /* 219 */ ROR, + /* 21A */ ROUNDPD, + /* 21B */ ROUNDPS, + /* 21C */ ROUNDSD, + /* 21D */ ROUNDSS, + /* 21E */ RSM, + /* 21F */ RSQRTPS, + /* 220 */ RSQRTSS, + /* 221 */ SAHF, + /* 222 */ SALC, + /* 223 */ SAR, + /* 224 */ SBB, + /* 225 */ SCASB, + /* 226 */ SCASD, + /* 227 */ SCASQ, + /* 228 */ SCASW, + /* 229 */ SETA, + /* 22A */ SETAE, + /* 22B */ SETB, + /* 22C */ SETBE, + /* 22D */ SETE, + /* 22E */ SETG, + /* 22F */ SETGE, + /* 230 */ SETL, + /* 231 */ SETLE, + /* 232 */ SETNE, + /* 233 */ SETNO, + /* 234 */ SETNP, + /* 235 */ SETNS, + /* 236 */ SETO, + /* 237 */ SETP, + /* 238 */ SETS, + /* 239 */ SFENCE, + /* 23A */ SGDT, + /* 23B */ SHL, + /* 23C */ SHLD, + /* 23D */ SHR, + /* 23E */ SHRD, + /* 23F */ SHUFPD, + /* 240 */ SHUFPS, + /* 241 */ SIDT, + /* 242 */ SKINIT, + /* 243 */ SLDT, + /* 244 */ SMSW, + /* 245 */ SQRTPD, + /* 246 */ SQRTPS, + /* 247 */ SQRTSD, + /* 248 */ SQRTSS, + /* 249 */ STC, + /* 24A */ STD, + /* 24B */ STGI, + /* 24C */ STI, + /* 24D */ STMXCSR, + /* 24E */ STOSB, + /* 24F */ STOSD, + /* 250 */ STOSQ, + /* 251 */ STOSW, + /* 252 */ STR, + /* 253 */ SUB, + /* 254 */ SUBPD, + /* 255 */ SUBPS, + /* 256 */ SUBSD, + /* 257 */ SUBSS, + /* 258 */ SWAPGS, + /* 259 */ SYSCALL, + /* 25A */ SYSENTER, + /* 25B */ SYSEXIT, + /* 25C */ SYSRET, + /* 25D */ TEST, + /* 25E */ UCOMISD, + /* 25F */ UCOMISS, + /* 260 */ UD2, + /* 261 */ UNPCKHPD, + /* 262 */ UNPCKHPS, + /* 263 */ UNPCKLPD, + /* 264 */ UNPCKLPS, + /* 265 */ VADDPD, + /* 266 */ VADDPS, + /* 267 */ VADDSD, + /* 268 */ VADDSS, + /* 269 */ VADDSUBPD, + /* 26A */ VADDSUBPS, + /* 26B */ VAESDEC, + /* 26C */ VAESDECLAST, + /* 26D */ VAESENC, + /* 26E */ VAESENCLAST, + /* 26F */ VAESIMC, + /* 270 */ VAESKEYGENASSIST, + /* 271 */ VANDNPD, + /* 272 */ VANDNPS, + /* 273 */ VANDPD, + /* 274 */ VANDPS, + /* 275 */ VBLENDPD, + /* 276 */ VBLENDPS, + /* 277 */ VBLENDVPD, + /* 278 */ VBLENDVPS, + /* 279 */ VBROADCASTSD, + /* 27A */ VBROADCASTSS, + /* 27B */ VCMPPD, + /* 27C */ VCMPPS, + /* 27D */ VCMPSD, + /* 27E */ VCMPSS, + /* 27F */ VCOMISD, + /* 280 */ VCOMISS, + /* 281 */ VCVTDQ2PD, + /* 282 */ VCVTDQ2PS, + /* 283 */ VCVTPD2DQ, + /* 284 */ VCVTPD2PS, + /* 285 */ VCVTPS2DQ, + /* 286 */ VCVTPS2PD, + /* 287 */ VCVTSD2SI, + /* 288 */ VCVTSD2SS, + /* 289 */ VCVTSI2SD, + /* 28A */ VCVTSI2SS, + /* 28B */ VCVTSS2SD, + /* 28C */ VCVTSS2SI, + /* 28D */ VCVTTPD2DQ, + /* 28E */ VCVTTPS2DQ, + /* 28F */ VCVTTSD2SI, + /* 290 */ VCVTTSS2SI, + /* 291 */ VDIVPD, + /* 292 */ VDIVPS, + /* 293 */ VDIVSD, + /* 294 */ VDIVSS, + /* 295 */ VDPPD, + /* 296 */ VDPPS, + /* 297 */ VERR, + /* 298 */ VERW, + /* 299 */ VEXTRACTF128, + /* 29A */ VEXTRACTPS, + /* 29B */ VHADDPD, + /* 29C */ VHADDPS, + /* 29D */ VHSUBPD, + /* 29E */ VHSUBPS, + /* 29F */ VINSERTF128, + /* 2A0 */ VINSERTPS, + /* 2A1 */ VLDDQU, + /* 2A2 */ VMASKMOVDQU, + /* 2A3 */ VMASKMOVPD, + /* 2A4 */ VMASKMOVPS, + /* 2A5 */ VMAXPD, + /* 2A6 */ VMAXPS, + /* 2A7 */ VMAXSD, + /* 2A8 */ VMAXSS, + /* 2A9 */ VMCALL, + /* 2AA */ VMCLEAR, + /* 2AB */ VMINPD, + /* 2AC */ VMINPS, + /* 2AD */ VMINSD, + /* 2AE */ VMINSS, + /* 2AF */ VMLAUNCH, + /* 2B0 */ VMLOAD, + /* 2B1 */ VMMCALL, + /* 2B2 */ VMOVAPD, + /* 2B3 */ VMOVAPS, + /* 2B4 */ VMOVD, + /* 2B5 */ VMOVDDUP, + /* 2B6 */ VMOVDQA, + /* 2B7 */ VMOVDQU, + /* 2B8 */ VMOVHLPS, + /* 2B9 */ VMOVHPD, + /* 2BA */ VMOVHPS, + /* 2BB */ VMOVLHPS, + /* 2BC */ VMOVLPD, + /* 2BD */ VMOVLPS, + /* 2BE */ VMOVMSKPD, + /* 2BF */ VMOVMSKPS, + /* 2C0 */ VMOVNTDQ, + /* 2C1 */ VMOVNTDQA, + /* 2C2 */ VMOVNTPD, + /* 2C3 */ VMOVNTPS, + /* 2C4 */ VMOVQ, + /* 2C5 */ VMOVSD, + /* 2C6 */ VMOVSHDUP, + /* 2C7 */ VMOVSLDUP, + /* 2C8 */ VMOVSS, + /* 2C9 */ VMOVUPD, + /* 2CA */ VMOVUPS, + /* 2CB */ VMPSADBW, + /* 2CC */ VMPTRLD, + /* 2CD */ VMPTRST, + /* 2CE */ VMREAD, + /* 2CF */ VMRESUME, + /* 2D0 */ VMRUN, + /* 2D1 */ VMSAVE, + /* 2D2 */ VMULPD, + /* 2D3 */ VMULPS, + /* 2D4 */ VMULSD, + /* 2D5 */ VMULSS, + /* 2D6 */ VMWRITE, + /* 2D7 */ VMXOFF, + /* 2D8 */ VMXON, + /* 2D9 */ VORPD, + /* 2DA */ VORPS, + /* 2DB */ VPABSB, + /* 2DC */ VPABSD, + /* 2DD */ VPABSW, + /* 2DE */ VPACKSSDW, + /* 2DF */ VPACKSSWB, + /* 2E0 */ VPACKUSDW, + /* 2E1 */ VPACKUSWB, + /* 2E2 */ VPADDB, + /* 2E3 */ VPADDD, + /* 2E4 */ VPADDQ, + /* 2E5 */ VPADDSB, + /* 2E6 */ VPADDSW, + /* 2E7 */ VPADDUSB, + /* 2E8 */ VPADDUSW, + /* 2E9 */ VPADDW, + /* 2EA */ VPALIGNR, + /* 2EB */ VPAND, + /* 2EC */ VPANDN, + /* 2ED */ VPAVGB, + /* 2EE */ VPAVGW, + /* 2EF */ VPBLENDVB, + /* 2F0 */ VPBLENDW, + /* 2F1 */ VPCLMULQDQ, + /* 2F2 */ VPCMPEQB, + /* 2F3 */ VPCMPEQD, + /* 2F4 */ VPCMPEQQ, + /* 2F5 */ VPCMPEQW, + /* 2F6 */ VPCMPESTRI, + /* 2F7 */ VPCMPESTRM, + /* 2F8 */ VPCMPGTB, + /* 2F9 */ VPCMPGTD, + /* 2FA */ VPCMPGTQ, + /* 2FB */ VPCMPGTW, + /* 2FC */ VPCMPISTRI, + /* 2FD */ VPCMPISTRM, + /* 2FE */ VPERM2F128, + /* 2FF */ VPERMILPD, + /* 300 */ VPERMILPS, + /* 301 */ VPEXTRB, + /* 302 */ VPEXTRD, + /* 303 */ VPEXTRQ, + /* 304 */ VPEXTRW, + /* 305 */ VPHADDD, + /* 306 */ VPHADDSW, + /* 307 */ VPHADDW, + /* 308 */ VPHMINPOSUW, + /* 309 */ VPHSUBD, + /* 30A */ VPHSUBSW, + /* 30B */ VPHSUBW, + /* 30C */ VPINSRB, + /* 30D */ VPINSRD, + /* 30E */ VPINSRQ, + /* 30F */ VPINSRW, + /* 310 */ VPMADDUBSW, + /* 311 */ VPMADDWD, + /* 312 */ VPMAXSB, + /* 313 */ VPMAXSD, + /* 314 */ VPMAXSW, + /* 315 */ VPMAXUB, + /* 316 */ VPMAXUD, + /* 317 */ VPMAXUW, + /* 318 */ VPMINSB, + /* 319 */ VPMINSD, + /* 31A */ VPMINSW, + /* 31B */ VPMINUB, + /* 31C */ VPMINUD, + /* 31D */ VPMINUW, + /* 31E */ VPMOVMSKB, + /* 31F */ VPMOVSXBD, + /* 320 */ VPMOVSXBQ, + /* 321 */ VPMOVSXBW, + /* 322 */ VPMOVSXWD, + /* 323 */ VPMOVSXWQ, + /* 324 */ VPMOVZXBD, + /* 325 */ VPMOVZXBQ, + /* 326 */ VPMOVZXBW, + /* 327 */ VPMOVZXDQ, + /* 328 */ VPMOVZXWD, + /* 329 */ VPMOVZXWQ, + /* 32A */ VPMULDQ, + /* 32B */ VPMULHRSW, + /* 32C */ VPMULHUW, + /* 32D */ VPMULHW, + /* 32E */ VPMULLD, + /* 32F */ VPMULLW, + /* 330 */ VPOR, + /* 331 */ VPSADBW, + /* 332 */ VPSHUFB, + /* 333 */ VPSHUFD, + /* 334 */ VPSHUFHW, + /* 335 */ VPSHUFLW, + /* 336 */ VPSIGNB, + /* 337 */ VPSIGND, + /* 338 */ VPSIGNW, + /* 339 */ VPSLLD, + /* 33A */ VPSLLDQ, + /* 33B */ VPSLLQ, + /* 33C */ VPSLLW, + /* 33D */ VPSRAD, + /* 33E */ VPSRAW, + /* 33F */ VPSRLD, + /* 340 */ VPSRLDQ, + /* 341 */ VPSRLQ, + /* 342 */ VPSRLW, + /* 343 */ VPSUBB, + /* 344 */ VPSUBD, + /* 345 */ VPSUBQ, + /* 346 */ VPSUBSB, + /* 347 */ VPSUBSW, + /* 348 */ VPSUBUSB, + /* 349 */ VPSUBUSW, + /* 34A */ VPSUBW, + /* 34B */ VPTEST, + /* 34C */ VPUNPCKHBW, + /* 34D */ VPUNPCKHDQ, + /* 34E */ VPUNPCKHQDQ, + /* 34F */ VPUNPCKHWD, + /* 350 */ VPUNPCKLBW, + /* 351 */ VPUNPCKLDQ, + /* 352 */ VPUNPCKLQDQ, + /* 353 */ VPUNPCKLWD, + /* 354 */ VPXOR, + /* 355 */ VRCPPS, + /* 356 */ VRCPSS, + /* 357 */ VROUNDPD, + /* 358 */ VROUNDPS, + /* 359 */ VROUNDSD, + /* 35A */ VROUNDSS, + /* 35B */ VRSQRTPS, + /* 35C */ VRSQRTSS, + /* 35D */ VSHUFPD, + /* 35E */ VSHUFPS, + /* 35F */ VSQRTPD, + /* 360 */ VSQRTPS, + /* 361 */ VSQRTSD, + /* 362 */ VSQRTSS, + /* 363 */ VSTMXCSR, + /* 364 */ VSUBPD, + /* 365 */ VSUBPS, + /* 366 */ VSUBSD, + /* 367 */ VSUBSS, + /* 368 */ VTESTPD, + /* 369 */ VTESTPS, + /* 36A */ VUCOMISD, + /* 36B */ VUCOMISS, + /* 36C */ VUNPCKHPD, + /* 36D */ VUNPCKHPS, + /* 36E */ VUNPCKLPD, + /* 36F */ VUNPCKLPS, + /* 370 */ VXORPD, + /* 371 */ VXORPS, + /* 372 */ VZEROALL, + /* 373 */ VZEROUPPER, + /* 374 */ WAIT, + /* 375 */ WBINVD, + /* 376 */ WRMSR, + /* 377 */ XADD, + /* 378 */ XCHG, + /* 379 */ XCRYPTCBC, + /* 37A */ XCRYPTCFB, + /* 37B */ XCRYPTCTR, + /* 37C */ XCRYPTECB, + /* 37D */ XCRYPTOFB, + /* 37E */ XGETBV, + /* 37F */ XLATB, + /* 380 */ XOR, + /* 381 */ XORPD, + /* 382 */ XORPS, + /* 383 */ XRSTOR, + /* 384 */ XSAVE, + /* 385 */ XSETBV, + /* 386 */ XSHA1, + /* 387 */ XSHA256, + /* 388 */ XSTORE, }; /** * @brief Defines an alias representing an opcode tree node. An opcode tree node is a 16 bit - * unsigned integer. - * The first 4 bits are reserved for the node type and the rest contains the actual value. - * In case of an instruction definition node, the 5th bit of the node (or the first bit - * of the value) is used to signal whether the modrm byte is used by the instruction. + * unsigned integer value with its first 4 bits reserved for the node type. */ typedef uint16_t VXOpcodeTreeNode; @@ -1072,6 +1073,11 @@ enum class VXDefinedOperandType : uint8_t * instruction. */ I, + /* + * @brief Signed immediate data. The operand value is encoded in subsequent bytes of the + * instruction. + */ + sI, /* * @brief Constant immediate data value of 1. */ @@ -1281,6 +1287,7 @@ enum class VXDefinedOperandType : uint8_t /** * @brief Values that represent the size of an operand in the instruction definition. + * Do not change the order or the values of this enum! */ enum class VXDefinedOperandSize : uint8_t { @@ -1384,19 +1391,66 @@ enum class VXDefinedOperandSize : uint8_t */ enum VXInstructionDefinitionFlags : uint16_t { + /** + * @brief The instruction accepts the rex.b prefix value. + */ IDF_ACCEPTS_REXB = 0x0001, + /** + * @brief The instruction accepts the rex.x prefix value. + */ IDF_ACCEPTS_REXX = 0x0002, + /** + * @brief The instruction accepts the rex.r prefix value. + */ IDF_ACCEPTS_REXR = 0x0004, + /** + * @brief The instruction accepts the rex.w prefix value. + */ IDF_ACCEPTS_REXW = 0x0008, - IDF_ACCEPTS_ADDRESS_SIZE_OVERRIDE = 0x0010, - IDF_ACCEPTS_OPERAND_SIZE_OVERRIDE = 0x0020, - IDF_ACCEPTS_SEGMENT_OVERRIDE = 0x0040, + /** + * @brief The instruction accepts the address size override prefix (0x67). + */ + IDF_ACCEPTS_ADDRESS_SIZE_PREFIX = 0x0010, + /** + * @brief The instruction accepts the operand size override prefix (0x66). + */ + IDF_ACCEPTS_OPERAND_SIZE_PREFIX = 0x0020, + /** + * @brief The instruction accepts the segment override prefix. + */ + IDF_ACCEPTS_SEGMENT_PREFIX = 0x0040, + /** + * @brief The instruction accepts the REP prefix. + */ IDF_ACCEPTS_REP_PREFIX = 0x0080, + /** + * @brief The instruction accepts the vex.l prefix value. + */ IDF_ACCEPTS_VEXL = 0x0100, + /** + * @brief The instruction is invalid in 64 bit mode. + */ IDF_INVALID_64 = 0x0200, + /** + * @brief The instructions operand size defaults to quadword in 64 bit mode. + */ IDF_DEFAULT_64 = 0x0400, - IDF_ACCEPTS_LOCK_PREFIX = 0x0800, // TODO: - IDF_PRIVILEGED_INSTRUCTION = 0x1000 // TODO: + /** + * @brief The first operand of the instruction is accessed in write mode. + */ + IDF_OPERAND1_WRITE = 0x0800, + /** + * @brief The first operand of the instruction is accessed in read-write mode. + */ + IDF_OPERAND1_READWRITE = 0x1000, + /** + * @brief The second operand of the instruction is accessed in write mode. + */ + IDF_OPERAND2_WRITE = 0x2000, + /** + * @brief The second operand of the instruction is accessed in read-write mode. + */ + IDF_OPERAND2_READWRITE = 0x4000 }; #pragma pack (push, 1) @@ -1624,29 +1678,15 @@ inline VXOpcodeTreeNode GetOpcodeTreeChild(VXOpcodeTreeNode parent, uint16_t ind return 0xFFFF; } -/** - * @brief Returns the instruction definition that is linked to the given @c node. - * @param node The instruction definition node. - * @param hasModrm Signals whether the instruction uses the modrm byte. - * @return NULL if it fails, else the instruction definition. - */ -inline const VXInstructionDefinition* GetInstructionDefinition(VXOpcodeTreeNode node, - bool &hasModrm) -{ - assert(GetOpcodeNodeType(node) == VXOpcodeTreeNodeType::INSTRUCTION_DEFINITION); - hasModrm = ((node & 0x0800) == 0x800); - return &instrDefinitions[node & 0x07FF]; -} - /** * @brief Returns the instruction definition that is linked to the given @c node. * @param node The instruction definition node. - * @return NULL if it fails, else the instruction definition. + * @return Pointer to the instruction definition. */ inline const VXInstructionDefinition* GetInstructionDefinition(VXOpcodeTreeNode node) { - bool hasModrm = false; - return GetInstructionDefinition(node, hasModrm); + assert(GetOpcodeNodeType(node) == VXOpcodeTreeNodeType::INSTRUCTION_DEFINITION); + return &instrDefinitions[node & 0x0FFF]; } /** @@ -1660,23 +1700,40 @@ inline const char* GetInstructionMnemonicString(VXInstructionMnemonic mnemonic) } /** - * @brief Returns the memory size part of the complex operand size. + * @brief Returns the numeric value for a simple operand size definition. * @param operandSize The defined operand size. - * @return The defined memory operand size. + * @return The the numeric value for the simple operand size definition. */ -inline VXDefinedOperandSize GetComplexOperandMemSize(VXDefinedOperandSize operandSize) +inline uint16_t GetSimpleOperandSize(VXDefinedOperandSize operandSize) { - return static_cast(static_cast(operandSize) & 0xF); + static uint16_t operandSizes[8] = + { + 8, 16, 32, 64, 80, 12, 128, 256 + }; + uint16_t index = + static_cast(operandSize) - static_cast(VXDefinedOperandSize::B); + assert(index < 8); + return operandSizes[index]; } /** - * @brief Returns the register size part of the complex operand size. + * @brief Returns the memory-size part of a complex operand size definition. * @param operandSize The defined operand size. - * @return The defined register operand size. + * @return The memory-size part of the operand size definition. + */ +inline VXDefinedOperandSize GetComplexOperandMemSize(VXDefinedOperandSize operandSize) +{ + return static_cast(static_cast(operandSize) & 0x0F); +} + +/** + * @brief Returns the register-size part of a complex operand size definition. + * @param operandSize The defined operand size. + * @return The register-size part of the operand size definition. */ inline VXDefinedOperandSize GetComplexOperandRegSize(VXDefinedOperandSize operandSize) { - return static_cast((static_cast(operandSize) >> 4) & 0xF); + return static_cast((static_cast(operandSize) >> 4) & 0x0F); } }