Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/asmjit/asmjit.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkobalicek <kobalicek.petr@gmail.com>2021-02-03 11:34:19 +0300
committerkobalicek <kobalicek.petr@gmail.com>2021-02-03 11:36:11 +0300
commit2ab380e0bd242e29f67330a66a3c18da73b3b40a (patch)
tree10dbad8431cf67b54e916fba151c9dd9b1573368
parentf36ea0c0313f8be8b9444fc059074d993c01b056 (diff)
[Bug] [Critical] [ABI] Update that fixes all problems discovered by comparison with LLVM-MC
Fixed POP Sreg instruction, which was incorrectly implemented to emit nothing Fixed CVTSD2SI, CVTSS2SI, CVTTSD2SI, and CVTTSS2SI instructions to not consider the size of the memory operand when calculagint REX.W prefix Fixed VCMPPD, VCMPPS, VCMPSD, VCMPSS, VPCMPEQ*, VPCMPGT* instructions to always force EVEX prefix when the first operand is K register Fixed ENDBR32 and ENDBR64 instructions (wrong opcode) Fixed CLRSSBSY and RSTORSSP instructions (wrong logic in Assembler) Fixed SLDT, SMSW, and STR instructions to not consider memory size when determining prefixes Fixed UD0 and UD1 instructions to consider both operands Fixed VCVTNE2PS2BF16, VCVTNEPS2BF16, and VDPBF16PS instructions (incorrect calculation of LL field) (AVX512) Fixed VCVTPD2DQ, VCVTPD2PS, VCVTPD2UDQ, VCVTQQ2PS, VCVTTOD2DQ, VCVTTPD2UDQ, VCVTUQQ2PS in AVX512 case (incorrect calculation of LL field) Fixed VGATHERPF* and VSCATTERPF* instructions (some instructions were encoded incorrectly by not considering the memory index register type in LL field) Fixed VPBLENDVB (incorrect calculation of LL field) Fixed VPEXTRW to use use a shorter encoding when possible (vpextrw r32, xmm, imm) Fixed VPSLLD, VPSLLQ, VPSLLW, VPSRAD, VPSRAQ, VPSRAW, VPSRLD, VPSRLQ, VPSRLW instructions to always force EVEX prefix when the instruction is RMI (AVX512) Fixed the accepted memory operand size of MMX PUNPCKL??? instructions from m64 to m32 (only affects validation) Added explicit forms to XSAVE* and XRSTOR* instructions Added HRESET and UINTR instructions Changed MOV and all ARITH instructions to output the same binary as LLVM in 'reg, reg' case (it used an alternative encoding initially) Renamed LRET to RETF Renamed VBLENDM* instructions to VPBLENDM* (the name was incorrect) Renamed VPBROADCASTMB2D to VPBROADCASTMW2D (the name was incorrect) Renamed SYSEXIT64 to SYSEXITQ and SYSRET64 to SYSRETQ Removed non-standard IRETW (use IRET, IRETD, or IRETQ to select the form)
-rw-r--r--.github/workflows/build.yml10
-rw-r--r--src/asmjit/x86/x86assembler.cpp241
-rw-r--r--src/asmjit/x86/x86emitter.h153
-rw-r--r--src/asmjit/x86/x86formatter.cpp34
-rw-r--r--src/asmjit/x86/x86globals.h26
-rw-r--r--src/asmjit/x86/x86instapi.cpp40
-rw-r--r--src/asmjit/x86/x86instdb.cpp5952
-rw-r--r--src/asmjit/x86/x86instdb_p.h16
-rw-r--r--src/asmjit/x86/x86opcode_p.h6
-rw-r--r--test/asmjit_test_assembler_x86.cpp15915
-rw-r--r--test/asmjit_test_opcode.h54
-rw-r--r--tools/tablegen-x86.js132
12 files changed, 19030 insertions, 3549 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index dd0c324..4b3a5a2 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -83,10 +83,12 @@ jobs:
- { title: "macos-10.15" , os: "macos-10.15" , cc: "gcc-9" , arch: "x64", build_type: "Release", defs: "ASMJIT_TEST=ON" }
- { title: "macos-10.15" , os: "macos-10.15" , cc: "clang" , arch: "x64", build_type: "Debug" , defs: "ASMJIT_TEST=ON" }
- { title: "macos-10.15" , os: "macos-10.15" , cc: "clang" , arch: "x64", build_type: "Release", defs: "ASMJIT_TEST=ON" }
- - { title: "macos-11.0" , os: "macos-11.0" , cc: "gcc-10" , arch: "x64", build_type: "Debug" , defs: "ASMJIT_TEST=ON" }
- - { title: "macos-11.0" , os: "macos-11.0" , cc: "gcc-10" , arch: "x64", build_type: "Release", defs: "ASMJIT_TEST=ON" }
- - { title: "macos-11.0" , os: "macos-11.0" , cc: "clang" , arch: "x64", build_type: "Debug" , defs: "ASMJIT_TEST=ON" }
- - { title: "macos-11.0" , os: "macos-11.0" , cc: "clang" , arch: "x64", build_type: "Release", defs: "ASMJIT_TEST=ON" }
+
+ # Disabled, because of GitHub actions infrastructure issues (builds not starting).
+ #- { title: "macos-11.0" , os: "macos-11.0" , cc: "gcc-10" , arch: "x64", build_type: "Debug" , defs: "ASMJIT_TEST=ON" }
+ #- { title: "macos-11.0" , os: "macos-11.0" , cc: "gcc-10" , arch: "x64", build_type: "Release", defs: "ASMJIT_TEST=ON" }
+ #- { title: "macos-11.0" , os: "macos-11.0" , cc: "clang" , arch: "x64", build_type: "Debug" , defs: "ASMJIT_TEST=ON" }
+ #- { title: "macos-11.0" , os: "macos-11.0" , cc: "clang" , arch: "x64", build_type: "Release", defs: "ASMJIT_TEST=ON" }
- { title: "windows" , os: "windows-latest", cc: "vs2019" , arch: "x86", build_type: "Debug" , defs: "ASMJIT_TEST=ON" }
- { title: "windows" , os: "windows-latest", cc: "vs2019" , arch: "x86", build_type: "Release", defs: "ASMJIT_TEST=ON" }
diff --git a/src/asmjit/x86/x86assembler.cpp b/src/asmjit/x86/x86assembler.cpp
index eaf5125..99b01b0 100644
--- a/src/asmjit/x86/x86assembler.cpp
+++ b/src/asmjit/x86/x86assembler.cpp
@@ -437,14 +437,14 @@ public:
if (immSize >= 4) {
emit32uLE(imm & 0xFFFFFFFFu);
imm >>= 32;
- immSize -= 4;
+ immSize = FastUInt8(immSize - 4u);
}
#else
uint32_t imm = uint32_t(immValue & 0xFFFFFFFFu);
if (immSize >= 4) {
emit32uLE(imm);
imm = uint32_t(immValue >> 32);
- immSize -= 4;
+ immSize = FastUInt8(immSize - 4u);
}
#endif
@@ -697,7 +697,8 @@ ASMJIT_FAVOR_SPEED Error Assembler::_emit(uint32_t instId, const Operand_& o0, c
goto EmitX86R;
case InstDB::kEncodingX86Op_Mod11RM_I8:
- if (ASMJIT_UNLIKELY(isign3 != ENC_OPS1(Imm)))
+ // The first operand must be immediate, we don't care of other operands as they could be implicit.
+ if (!o0.isImm())
goto InvalidInstruction;
rbReg = opcode.extractModRM();
@@ -755,11 +756,17 @@ ASMJIT_FAVOR_SPEED Error Assembler::_emit(uint32_t instId, const Operand_& o0, c
}
break;
+ case InstDB::kEncodingX86M_NoMemSize:
+ if (o0.isReg())
+ opcode.addPrefixBySize(o0.size());
+ goto CaseX86M_NoSize;
+
case InstDB::kEncodingX86M:
opcode.addPrefixBySize(o0.size());
ASMJIT_FALLTHROUGH;
case InstDB::kEncodingX86M_NoSize:
+CaseX86M_NoSize:
rbReg = o0.id();
if (isign3 == ENC_OPS1(Reg))
goto EmitX86R;
@@ -839,6 +846,13 @@ CaseX86M_GPB_MulDiv:
}
break;
+ case InstDB::kEncodingX86M_Only_EDX_EAX:
+ if (isign3 == ENC_OPS3(Mem, Reg, Reg) && Reg::isGpd(o1, Gp::kIdDx) && Reg::isGpd(o2, Gp::kIdAx)) {
+ rmRel = &o0;
+ goto EmitX86M;
+ }
+ ASMJIT_FALLTHROUGH;
+
case InstDB::kEncodingX86M_Only:
if (isign3 == ENC_OPS1(Mem)) {
rmRel = &o0;
@@ -977,34 +991,27 @@ CaseX86M_GPB_MulDiv:
case InstDB::kEncodingX86Arith:
if (isign3 == ENC_OPS2(Reg, Reg)) {
- opcode += 2;
opcode.addArithBySize(o0.size());
if (o0.size() != o1.size())
goto OperandSizeMismatch;
- opReg = o0.id();
- rbReg = o1.id();
+ rbReg = o0.id();
+ opReg = o1.id();
if (o0.size() == 1) {
- FIXUP_GPB(o0, opReg);
- FIXUP_GPB(o1, rbReg);
-
- if (!(options & Inst::kOptionModMR))
- goto EmitX86R;
-
- opcode -= 2;
- std::swap(opReg, rbReg);
- goto EmitX86R;
+ FIXUP_GPB(o0, rbReg);
+ FIXUP_GPB(o1, opReg);
}
- else {
- if (!(options & Inst::kOptionModMR))
- goto EmitX86R;
- opcode -= 2;
- std::swap(opReg, rbReg);
+ // MOD/MR: The default encoding used if not instructed otherwise..
+ if (!(options & Inst::kOptionModRM))
goto EmitX86R;
- }
+
+ // MOD/RM: Alternative encoding selected via instruction options.
+ opcode += 2;
+ std::swap(opReg, rbReg);
+ goto EmitX86R;
}
if (isign3 == ENC_OPS2(Reg, Mem)) {
@@ -1211,7 +1218,7 @@ CaseX86M_GPB_MulDiv:
if (o1.size() != 1)
goto EmitX86M;
- FIXUP_GPB(o0, opReg);
+ FIXUP_GPB(o1, opReg);
goto EmitX86M;
}
break;
@@ -1436,6 +1443,8 @@ CaseX86M_GPB_MulDiv:
}
if (isign3 == ENC_OPS1(Mem)) {
+ if (!o0.size())
+ goto AmbiguousOperandSize;
opcode.addArithBySize(o0.size());
rmRel = &o0;
goto EmitX86M;
@@ -1539,9 +1548,6 @@ CaseX86M_GPB_MulDiv:
case InstDB::kEncodingX86Mov:
// Reg <- Reg
if (isign3 == ENC_OPS2(Reg, Reg)) {
- opReg = o0.id();
- rbReg = o1.id();
-
// Asmjit uses segment registers indexed from 1 to 6, leaving zero as
// "no segment register used". We have to fix this (decrement the index
// of the register) when emitting MOV instructions which move to/from
@@ -1550,47 +1556,46 @@ CaseX86M_GPB_MulDiv:
// GP <- ??
if (Reg::isGp(o0)) {
+ rbReg = o0.id();
+ opReg = o1.id();
+
// GP <- GP
if (Reg::isGp(o1)) {
- uint32_t size0 = o0.size();
- uint32_t size1 = o1.size();
-
- if (size0 != size1) {
+ uint32_t opSize = o0.size();
+ if (opSize != o1.size()) {
+ // TODO: [X86 Assembler] This is a non-standard extension, which should be removed.
// We allow 'mov r64, r32' as it's basically zero-extend.
- if (size0 == 8 && size1 == 4)
- size0 = 4; // Zero extend, don't promote to 64-bit.
+ if (opSize == 8 && o1.size() == 4)
+ opSize = 4; // Zero extend, don't promote to 64-bit.
else
goto InvalidInstruction;
}
- if (size0 == 1) {
- FIXUP_GPB(o0, opReg);
- FIXUP_GPB(o1, rbReg);
- opcode = 0x8A;
+ if (opSize == 1) {
+ FIXUP_GPB(o0, rbReg);
+ FIXUP_GPB(o1, opReg);
+ opcode = 0x88;
- if (!(options & Inst::kOptionModMR))
+ if (!(options & Inst::kOptionModRM))
goto EmitX86R;
- opcode -= 2;
+ opcode += 2;
std::swap(opReg, rbReg);
goto EmitX86R;
}
else {
- opcode = 0x8B;
- opcode.addPrefixBySize(size0);
+ opcode = 0x89;
+ opcode.addPrefixBySize(opSize);
- if (!(options & Inst::kOptionModMR))
+ if (!(options & Inst::kOptionModRM))
goto EmitX86R;
- opcode -= 2;
+ opcode += 2;
std::swap(opReg, rbReg);
goto EmitX86R;
}
}
- opReg = rbReg;
- rbReg = o0.id();
-
// GP <- SReg
if (Reg::isSReg(o1)) {
opcode = 0x8C;
@@ -1618,6 +1623,9 @@ CaseX86M_GPB_MulDiv:
}
}
else {
+ opReg = o0.id();
+ rbReg = o1.id();
+
// ?? <- GP
if (!Reg::isGp(o1))
goto InvalidInstruction;
@@ -1952,7 +1960,7 @@ CaseX86M_GPB_MulDiv:
goto InvalidSegment;
opcode = x86OpcodePopSReg[segment];
- goto EmitDone;
+ goto EmitX86Op;
}
else {
CaseX86PushPop_Gp:
@@ -2032,6 +2040,8 @@ CaseX86PushPop_Gp:
}
}
else {
+ if (ASMJIT_UNLIKELY(o0.size() == 0))
+ goto AmbiguousOperandSize;
opcode.addArithBySize(o0.size());
if (isign3 == ENC_OPS2(Mem, Reg)) {
@@ -2044,9 +2054,6 @@ CaseX86PushPop_Gp:
}
if (isign3 == ENC_OPS2(Mem, Imm)) {
- if (ASMJIT_UNLIKELY(o0.size() == 0))
- goto AmbiguousOperandSize;
-
rmRel = &o0;
immValue = o1.as<Imm>().value() & 0xFF;
immSize = 0;
@@ -2257,30 +2264,45 @@ CaseX86PushPop_Gp:
case InstDB::kEncodingX86Xadd:
if (isign3 == ENC_OPS2(Reg, Reg)) {
- opcode.addArithBySize(o0.size());
rbReg = o0.id();
opReg = o1.id();
- if (o0.size() != o1.size())
+ uint32_t opSize = o0.size();
+ if (opSize != o1.size())
goto OperandSizeMismatch;
- if (o0.size() == 1) {
+ if (opSize == 1) {
FIXUP_GPB(o0, rbReg);
FIXUP_GPB(o1, opReg);
goto EmitX86R;
}
- // Special opcode for 'xchg ?ax, reg'.
+ // Special cases for 'xchg ?ax, reg'.
if (instId == Inst::kIdXchg && (opReg == 0 || rbReg == 0)) {
- opcode &= Opcode::kPP_66 | Opcode::kW;
- opcode |= 0x90;
- // One of `xchg a, b` or `xchg b, a` is AX/EAX/RAX.
- opReg += rbReg;
- goto EmitX86OpReg;
- }
- else {
- goto EmitX86R;
+ if (is64Bit() && opReg == rbReg && opSize >= 4) {
+ if (opSize == 8) {
+ // Encode 'xchg rax, rax' as '90' (REX and other prefixes are optional).
+ opcode &= Opcode::kW;
+ opcode |= 0x90;
+ goto EmitX86OpReg;
+ }
+ else {
+ // Encode 'xchg eax, eax' by by using a generic path.
+ }
+ }
+ else if (!(options & Inst::kOptionLongForm)) {
+ // The special encoding encodes only one register, which is non-zero.
+ opReg += rbReg;
+
+ opcode.addArithBySize(opSize);
+ opcode &= Opcode::kW | Opcode::kPP_66;
+ opcode |= 0x90;
+ goto EmitX86OpReg;
+ }
}
+
+ opcode.addArithBySize(opSize);
+ goto EmitX86R;
}
if (isign3 == ENC_OPS2(Mem, Reg)) {
@@ -2700,7 +2722,11 @@ CaseExtMovd:
goto CaseExtRm;
case InstDB::kEncodingExtRm_Wx:
- opcode.addWIf(Reg::isGpq(o0) || o1.size() == 8);
+ opcode.addWIf(o1.size() == 8);
+ ASMJIT_FALLTHROUGH;
+
+ case InstDB::kEncodingExtRm_Wx_GpqOnly:
+ opcode.addWIf(Reg::isGpq(o0));
ASMJIT_FALLTHROUGH;
case InstDB::kEncodingExtRm:
@@ -2843,15 +2869,15 @@ CaseExtRm:
if (isign3 == ENC_OPS2(Reg, Reg))
goto EmitX86R;
- // The following instruction uses the secondary opcode.
- opcode = x86AltOpcodeOf(instInfo);
-
if (isign3 == ENC_OPS3(Reg, Imm, Imm)) {
+ // This variant of the instruction uses the secondary opcode.
+ opcode = x86AltOpcodeOf(instInfo);
+ rbReg = opReg;
+ opReg = opcode.extractModO();
+
immValue = (uint32_t(o1.as<Imm>().valueAs<uint8_t>()) ) +
(uint32_t(o2.as<Imm>().valueAs<uint8_t>()) << 8) ;
immSize = 2;
-
- rbReg = opcode.extractModO();
goto EmitX86R;
}
break;
@@ -2866,10 +2892,10 @@ CaseExtRm:
if (isign4 == ENC_OPS2(Reg, Reg))
goto EmitX86R;
- // The following instruction uses the secondary opcode.
- opcode = x86AltOpcodeOf(instInfo);
-
if (isign4 == ENC_OPS4(Reg, Reg, Imm, Imm)) {
+ // This variant of the instruction uses the secondary opcode.
+ opcode = x86AltOpcodeOf(instInfo);
+
immValue = (uint32_t(o2.as<Imm>().valueAs<uint8_t>()) ) +
(uint32_t(o3.as<Imm>().valueAs<uint8_t>()) << 8) ;
immSize = 2;
@@ -2971,7 +2997,6 @@ CaseExtRm:
case InstDB::kEncodingVexM_VM:
if (isign3 == ENC_OPS1(Mem)) {
- opcode |= x86OpcodeLByVMem(o0);
rmRel = &o0;
goto EmitVexEvexM;
}
@@ -3003,11 +3028,27 @@ CaseExtRm:
}
break;
+ case InstDB::kEncodingVexMri_Vpextrw:
+ // Use 'vpextrw reg, xmm1, i8' when possible.
+ if (isign3 == ENC_OPS3(Reg, Reg, Imm)) {
+ opcode = Opcode::k660F00 | 0xC5;
+
+ opReg = o0.id();
+ rbReg = o1.id();
+
+ immValue = o2.as<Imm>().value();
+ immSize = 1;
+ goto EmitVexEvexR;
+ }
+
+ goto CaseVexMri;
+
case InstDB::kEncodingVexMri_Lx:
opcode |= x86OpcodeLBySize(o0.size() | o1.size());
ASMJIT_FALLTHROUGH;
case InstDB::kEncodingVexMri:
+CaseVexMri:
immValue = o2.as<Imm>().value();
immSize = 1;
@@ -3035,6 +3076,13 @@ CaseExtRm:
opcode.addWIf(Reg::isGpq(o0) | Reg::isGpq(o1));
goto CaseVexRm;
+ case InstDB::kEncodingVexRm_Lx_Narrow:
+ if (o1.size())
+ opcode |= x86OpcodeLBySize(o1.size());
+ else if (o0.size() == 32)
+ opcode |= Opcode::kLL_2;
+ goto CaseVexRm;
+
case InstDB::kEncodingVexRm_Lx_Bcst:
if (isign3 == ENC_OPS2(Reg, Reg) && Reg::isGp(o1.as<Reg>())) {
opcode = x86AltOpcodeOf(instInfo) | x86OpcodeLBySize(o0.size() | o1.size());
@@ -3077,7 +3125,7 @@ CaseVexRm:
const Operand_& o4 = opExt[EmitterUtils::kOp4];
const Operand_& o5 = opExt[EmitterUtils::kOp5];
- if (Reg::isZmm(o0) && Reg::isZmm(o1) && Reg::isZmm(o2) && Reg::isZmm(o3) && Reg::isZmm(o4) && o5.isMem()) {
+ if (Reg::isVec(o0) && Reg::isVec(o1) && Reg::isVec(o2) && Reg::isVec(o3) && Reg::isVec(o4) && o5.isMem()) {
// Registers [o1, o2, o3, o4] must start aligned and must be consecutive.
uint32_t i1 = o1.id();
uint32_t i2 = o2.id();
@@ -3087,7 +3135,7 @@ CaseVexRm:
if (ASMJIT_UNLIKELY((i1 & 0x3) != 0 || i2 != i1 + 1 || i3 != i1 + 2 || i4 != i1 + 3))
goto NotConsecutiveRegs;
- opReg = o0.id();
+ opReg = x86PackRegAndVvvvv(o0.id(), i1);
rmRel = &o5;
goto EmitVexEvexM;
}
@@ -3148,6 +3196,11 @@ CaseVexRvm_R:
goto CaseVexRvm;
}
+ case InstDB::kEncodingVexRvm_Lx_KEvex: {
+ opcode.forceEvexIf(Reg::isKReg(o0));
+ ASMJIT_FALLTHROUGH;
+ }
+
case InstDB::kEncodingVexRvm_Lx: {
opcode |= x86OpcodeLBySize(o0.size() | o1.size());
goto CaseVexRvm;
@@ -3205,11 +3258,21 @@ CaseVexRvm_R:
break;
}
+ case InstDB::kEncodingVexRvmi_KEvex:
+ opcode.forceEvexIf(Reg::isKReg(o0));
+ goto VexRvmi;
+
+ case InstDB::kEncodingVexRvmi_Lx_KEvex:
+ opcode.forceEvexIf(Reg::isKReg(o0));
+ ASMJIT_FALLTHROUGH;
+
case InstDB::kEncodingVexRvmi_Lx:
opcode |= x86OpcodeLBySize(o0.size() | o1.size());
ASMJIT_FALLTHROUGH;
- case InstDB::kEncodingVexRvmi: {
+ case InstDB::kEncodingVexRvmi:
+VexRvmi:
+ {
const Operand_& o3 = opExt[EmitterUtils::kOp3];
const uint32_t isign4 = isign3 + (o3.opType() << 9);
@@ -3257,7 +3320,6 @@ CaseVexRvm_R:
rmRel = &o1;
goto EmitVexEvexM;
}
-
ASMJIT_FALLTHROUGH;
case InstDB::kEncodingVexRmv_VM:
@@ -3542,6 +3604,10 @@ CaseVexRvm_R:
}
break;
+ case InstDB::kEncodingVexRvmVmi_Lx_MEvex:
+ opcode.forceEvexIf(o1.isMem());
+ ASMJIT_FALLTHROUGH;
+
case InstDB::kEncodingVexRvmVmi_Lx:
opcode |= x86OpcodeLBySize(o0.size() | o1.size());
ASMJIT_FALLTHROUGH;
@@ -3560,7 +3626,7 @@ CaseVexRvm_R:
}
// The following instruction uses the secondary opcode.
- opcode &= Opcode::kLL_Mask;
+ opcode &= Opcode::kLL_Mask | Opcode::kMM_ForceEvex;
opcode |= x86AltOpcodeOf(instInfo);
opReg = opcode.extractModO();
@@ -3598,9 +3664,9 @@ CaseVexRvm_R:
}
break;
- case InstDB::kEncodingVexEvexVmi_Lx:
+ case InstDB::kEncodingVexVmi_Lx_MEvex:
if (isign3 == ENC_OPS3(Reg, Mem, Imm))
- opcode |= Opcode::kMM_ForceEvex;
+ opcode.forceEvex();
ASMJIT_FALLTHROUGH;
case InstDB::kEncodingVexVmi_Lx:
@@ -3743,11 +3809,24 @@ CaseVexVmi_AfterImm:
if (isign4 == ENC_OPS4(Reg, Reg, Reg, Reg)) {
opReg = x86PackRegAndVvvvv(o0.id(), o1.id());
- rbReg = o2.id();
- immValue = o3.id() << 4;
- immSize = 1;
- goto EmitVexEvexR;
+ if (!(options & Inst::kOptionModMR)) {
+ // MOD/RM - Encoding preferred by LLVM.
+ opcode.addW();
+ rbReg = o3.id();
+
+ immValue = o2.id() << 4;
+ immSize = 1;
+ goto EmitVexEvexR;
+ }
+ else {
+ // MOD/MR - Alternative encoding.
+ rbReg = o2.id();
+
+ immValue = o3.id() << 4;
+ immSize = 1;
+ goto EmitVexEvexR;
+ }
}
if (isign4 == ENC_OPS4(Reg, Reg, Reg, Mem)) {
diff --git a/src/asmjit/x86/x86emitter.h b/src/asmjit/x86/x86emitter.h
index e209e0a..24f2fb6 100644
--- a/src/asmjit/x86/x86emitter.h
+++ b/src/asmjit/x86/x86emitter.h
@@ -340,9 +340,10 @@ public:
//! \name Encoding Options
//! \{
- //! Prefer MOD_MR encoding over MOD_RM (the default) when encoding instruction
- //! that allows both. This option is only applicable to instructions where both
- //! operands are registers.
+ //! Prefer MOD/RM encoding when both MOD/RM and MOD/MR forms are applicable.
+ inline This& mod_rm() noexcept { return _addInstOptions(Inst::kOptionModRM); }
+
+ //! Prefer MOD/MR encoding when both MOD/RM and MOD/MR forms are applicable.
inline This& mod_mr() noexcept { return _addInstOptions(Inst::kOptionModMR); }
//! \}
@@ -675,10 +676,10 @@ public:
ASMJIT_INST_2x(test, Test, Gp, Imm) // ANY
ASMJIT_INST_2x(test, Test, Mem, Gp) // ANY
ASMJIT_INST_2x(test, Test, Mem, Imm) // ANY
- ASMJIT_INST_1x(ud0, Ud0, Reg) // ANY
- ASMJIT_INST_1x(ud0, Ud0, Mem) // ANY
- ASMJIT_INST_1x(ud1, Ud1, Reg) // ANY
- ASMJIT_INST_1x(ud1, Ud1, Mem) // ANY
+ ASMJIT_INST_2x(ud0, Ud0, Gp, Gp) // ANY
+ ASMJIT_INST_2x(ud0, Ud0, Gp, Mem) // ANY
+ ASMJIT_INST_2x(ud1, Ud1, Gp, Gp) // ANY
+ ASMJIT_INST_2x(ud1, Ud1, Gp, Mem) // ANY
ASMJIT_INST_0x(ud2, Ud2) // ANY
ASMJIT_INST_2x(xadd, Xadd, Gp, Gp) // ANY
ASMJIT_INST_2x(xadd, Xadd, Mem, Gp) // ANY
@@ -993,7 +994,19 @@ public:
//! \name XSAVE Instructions
//! \{
- ASMJIT_INST_3x(xgetbv, Xgetbv, Gp_EDX, Gp_EAX, Gp_ECX) // XSAVE [EXPLICIT] EDX:EAX <- XCR[ECX]
+ ASMJIT_INST_3x(xgetbv, Xgetbv, Gp_EDX, Gp_EAX, Gp_ECX) // XSAVE [EXPLICIT] EDX:EAX <- XCR[ECX]
+ ASMJIT_INST_3x(xrstor, Xrstor, Mem, Gp_EDX, Gp_EAX) // XSAVE [EXPLICIT]
+ ASMJIT_INST_3x(xrstor64, Xrstor64, Mem, Gp_EDX, Gp_EAX) // XSAVE+X64 [EXPLICIT]
+ ASMJIT_INST_3x(xrstors, Xrstors, Mem, Gp_EDX, Gp_EAX) // XSAVE [EXPLICIT]
+ ASMJIT_INST_3x(xrstors64, Xrstors64, Mem, Gp_EDX, Gp_EAX) // XSAVE+X64 [EXPLICIT]
+ ASMJIT_INST_3x(xsave, Xsave, Mem, Gp_EDX, Gp_EAX) // XSAVE [EXPLICIT]
+ ASMJIT_INST_3x(xsave64, Xsave64, Mem, Gp_EDX, Gp_EAX) // XSAVE+X64 [EXPLICIT]
+ ASMJIT_INST_3x(xsavec, Xsavec, Mem, Gp_EDX, Gp_EAX) // XSAVE [EXPLICIT]
+ ASMJIT_INST_3x(xsavec64, Xsavec64, Mem, Gp_EDX, Gp_EAX) // XSAVE+X64 [EXPLICIT]
+ ASMJIT_INST_3x(xsaveopt, Xsaveopt, Mem, Gp_EDX, Gp_EAX) // XSAVE [EXPLICIT]
+ ASMJIT_INST_3x(xsaveopt64, Xsaveopt64, Mem, Gp_EDX, Gp_EAX) // XSAVE+X64 [EXPLICIT]
+ ASMJIT_INST_3x(xsaves, Xsaves, Mem, Gp_EDX, Gp_EAX) // XSAVE [EXPLICIT]
+ ASMJIT_INST_3x(xsaves64, Xsaves64, Mem, Gp_EDX, Gp_EAX) // XSAVE+X64 [EXPLICIT]
//! \}
@@ -1018,8 +1031,8 @@ public:
//! \name MONITORX Instructions
//! \{
- ASMJIT_INST_3x(monitorx, Monitorx, Mem, Gp, Gp)
- ASMJIT_INST_3x(mwaitx, Mwaitx, Gp, Gp, Gp)
+ ASMJIT_INST_3x(monitorx, Monitorx, Mem, Gp, Gp) // MONITORX
+ ASMJIT_INST_3x(mwaitx, Mwaitx, Gp, Gp, Gp) // MONITORX
//! \}
@@ -1049,9 +1062,9 @@ public:
//! \name WAITPKG Instructions
//! \{
- ASMJIT_INST_3x(tpause, Tpause, Gp, Gp, Gp)
- ASMJIT_INST_1x(umonitor, Umonitor, Mem)
- ASMJIT_INST_3x(umwait, Umwait, Gp, Gp, Gp)
+ ASMJIT_INST_3x(tpause, Tpause, Gp, Gp, Gp) // WAITPKG
+ ASMJIT_INST_1x(umonitor, Umonitor, Mem) // WAITPKG
+ ASMJIT_INST_3x(umwait, Umwait, Gp, Gp, Gp) // WAITPKG
//! \}
@@ -1089,36 +1102,58 @@ public:
//! \name TSXLDTRK Instructions
//! \{
- ASMJIT_INST_0x(xresldtrk, Xresldtrk)
- ASMJIT_INST_0x(xsusldtrk, Xsusldtrk)
+ ASMJIT_INST_0x(xresldtrk, Xresldtrk) // TSXLDTRK
+ ASMJIT_INST_0x(xsusldtrk, Xsusldtrk) // TSXLDTRK
//! \}
//! \name CET-IBT Instructions
//! \{
- ASMJIT_INST_0x(endbr32, Endbr32)
- ASMJIT_INST_0x(endbr64, Endbr64)
+ ASMJIT_INST_0x(endbr32, Endbr32) // CET_IBT
+ ASMJIT_INST_0x(endbr64, Endbr64) // CET_IBT
//! \}
//! \name CET-SS Instructions
//! \{
- ASMJIT_INST_1x(clrssbsy, Clrssbsy, Mem)
- ASMJIT_INST_0x(setssbsy, Setssbsy)
+ ASMJIT_INST_1x(clrssbsy, Clrssbsy, Mem) // CET_SS
+ ASMJIT_INST_0x(setssbsy, Setssbsy) // CET_SS
+
+ ASMJIT_INST_1x(rstorssp, Rstorssp, Mem) // CET_SS
+ ASMJIT_INST_0x(saveprevssp, Saveprevssp) // CET_SS
+
+ ASMJIT_INST_1x(incsspd, Incsspd, Gp) // CET_SS
+ ASMJIT_INST_1x(incsspq, Incsspq, Gp) // CET_SS
+ ASMJIT_INST_1x(rdsspd, Rdsspd, Gp) // CET_SS
+ ASMJIT_INST_1x(rdsspq, Rdsspq, Gp) // CET_SS
+ ASMJIT_INST_2x(wrssd, Wrssd, Gp, Gp) // CET_SS
+ ASMJIT_INST_2x(wrssd, Wrssd, Mem, Gp) // CET_SS
+ ASMJIT_INST_2x(wrssq, Wrssq, Gp, Gp) // CET_SS
+ ASMJIT_INST_2x(wrssq, Wrssq, Mem, Gp) // CET_SS
+ ASMJIT_INST_2x(wrussd, Wrussd, Gp, Gp) // CET_SS
+ ASMJIT_INST_2x(wrussd, Wrussd, Mem, Gp) // CET_SS
+ ASMJIT_INST_2x(wrussq, Wrussq, Gp, Gp) // CET_SS
+ ASMJIT_INST_2x(wrussq, Wrussq, Mem, Gp) // CET_SS
+
+ //! \}
+
+ //! \name HRESET Instructions
+ //! \{
- ASMJIT_INST_1x(rstorssp, Rstorssp, Mem)
- ASMJIT_INST_0x(saveprevssp, Saveprevssp)
+ ASMJIT_INST_2x(hreset, Hreset, Imm, Gp) // HRESET
+
+ //! \}
+
+ //! \name UINTR Instructions
+ //! \{
- ASMJIT_INST_1x(incsspd, Incsspd, Gp)
- ASMJIT_INST_1x(incsspq, Incsspq, Gp)
- ASMJIT_INST_1x(rdsspd, Rdsspd, Gp)
- ASMJIT_INST_1x(rdsspq, Rdsspq, Gp)
- ASMJIT_INST_2x(wrssd, Wrssd, Mem, Gp)
- ASMJIT_INST_2x(wrssq, Wrssq, Mem, Gp)
- ASMJIT_INST_2x(wrussd, Wrussd, Mem, Gp)
- ASMJIT_INST_2x(wrussq, Wrussq, Mem, Gp)
+ ASMJIT_INST_0x(clui, Clui) // UINTR
+ ASMJIT_INST_1x(senduipi, Senduipi, Gp) // UINTR
+ ASMJIT_INST_0x(testui, Testui) // UINTR
+ ASMJIT_INST_0x(stui, Stui) // UINTR
+ ASMJIT_INST_0x(uiret, Uiret) // UINTR
//! \}
@@ -1193,9 +1228,11 @@ public:
ASMJIT_INST_0x(vmlaunch, Vmlaunch) // VMX
ASMJIT_INST_1x(vmptrld, Vmptrld, Mem) // VMX
ASMJIT_INST_1x(vmptrst, Vmptrst, Mem) // VMX
+ ASMJIT_INST_2x(vmread, Vmread, Gp, Gp) // VMX
ASMJIT_INST_2x(vmread, Vmread, Mem, Gp) // VMX
ASMJIT_INST_0x(vmresume, Vmresume) // VMX
ASMJIT_INST_2x(vmwrite, Vmwrite, Gp, Mem) // VMX
+ ASMJIT_INST_2x(vmwrite, Vmwrite, Gp, Gp) // VMX
ASMJIT_INST_1x(vmxon, Vmxon, Mem) // VMX
//! \}
@@ -2238,18 +2275,10 @@ public:
ASMJIT_INST_3x(vandpd, Vandpd, Vec, Vec, Mem) // AVX AVX512_DQ{kz|b64}
ASMJIT_INST_3x(vandps, Vandps, Vec, Vec, Vec) // AVX AVX512_DQ{kz|b32}
ASMJIT_INST_3x(vandps, Vandps, Vec, Vec, Mem) // AVX AVX512_DQ{kz|b32}
- ASMJIT_INST_3x(vblendmb, Vblendmb, Vec, Vec, Vec) // AVX512_BW{kz}
- ASMJIT_INST_3x(vblendmb, Vblendmb, Vec, Vec, Mem) // AVX512_BW{kz}
- ASMJIT_INST_3x(vblendmd, Vblendmd, Vec, Vec, Vec) // AVX512_F{kz|b32}
- ASMJIT_INST_3x(vblendmd, Vblendmd, Vec, Vec, Mem) // AVX512_F{kz|b32}
ASMJIT_INST_3x(vblendmpd, Vblendmpd, Vec, Vec, Vec) // AVX512_F{kz|b64}
ASMJIT_INST_3x(vblendmpd, Vblendmpd, Vec, Vec, Mem) // AVX512_F{kz|b64}
ASMJIT_INST_3x(vblendmps, Vblendmps, Vec, Vec, Vec) // AVX512_F{kz|b32}
ASMJIT_INST_3x(vblendmps, Vblendmps, Vec, Vec, Mem) // AVX512_F{kz|b32}
- ASMJIT_INST_3x(vblendmq, Vblendmq, Vec, Vec, Vec) // AVX512_F{kz|b64}
- ASMJIT_INST_3x(vblendmq, Vblendmq, Vec, Vec, Mem) // AVX512_F{kz|b64}
- ASMJIT_INST_3x(vblendmw, Vblendmw, Vec, Vec, Vec) // AVX512_BW{kz}
- ASMJIT_INST_3x(vblendmw, Vblendmw, Vec, Vec, Mem) // AVX512_BW{kz}
ASMJIT_INST_4x(vblendpd, Vblendpd, Vec, Vec, Vec, Imm) // AVX
ASMJIT_INST_4x(vblendpd, Vblendpd, Vec, Vec, Mem, Imm) // AVX
ASMJIT_INST_4x(vblendps, Vblendps, Vec, Vec, Vec, Imm) // AVX
@@ -2808,6 +2837,14 @@ public:
ASMJIT_INST_3x(vpavgw, Vpavgw, Vec, Vec, Mem) // AVX+ AVX512_BW{kz}
ASMJIT_INST_4x(vpblendd, Vpblendd, Vec, Vec, Vec, Imm) // AVX2
ASMJIT_INST_4x(vpblendd, Vpblendd, Vec, Vec, Mem, Imm) // AVX2
+ ASMJIT_INST_3x(vpblendmb, Vpblendmb, Vec, Vec, Vec) // AVX512_BW{kz}
+ ASMJIT_INST_3x(vpblendmb, Vpblendmb, Vec, Vec, Mem) // AVX512_BW{kz}
+ ASMJIT_INST_3x(vpblendmd, Vpblendmd, Vec, Vec, Vec) // AVX512_F{kz|b32}
+ ASMJIT_INST_3x(vpblendmd, Vpblendmd, Vec, Vec, Mem) // AVX512_F{kz|b32}
+ ASMJIT_INST_3x(vpblendmq, Vpblendmq, Vec, Vec, Vec) // AVX512_F{kz|b64}
+ ASMJIT_INST_3x(vpblendmq, Vpblendmq, Vec, Vec, Mem) // AVX512_F{kz|b64}
+ ASMJIT_INST_3x(vpblendmw, Vpblendmw, Vec, Vec, Vec) // AVX512_BW{kz}
+ ASMJIT_INST_3x(vpblendmw, Vpblendmw, Vec, Vec, Mem) // AVX512_BW{kz}
ASMJIT_INST_4x(vpblendvb, Vpblendvb, Vec, Vec, Vec, Vec) // AVX+
ASMJIT_INST_4x(vpblendvb, Vpblendvb, Vec, Vec, Mem, Vec) // AVX+
ASMJIT_INST_4x(vpblendw, Vpblendw, Vec, Vec, Vec, Imm) // AVX+
@@ -2818,8 +2855,8 @@ public:
ASMJIT_INST_2x(vpbroadcastd, Vpbroadcastd, Vec, Vec) // AVX2 AVX512_F{kz}
ASMJIT_INST_2x(vpbroadcastd, Vpbroadcastd, Vec, Mem) // AVX2 AVX512_F{kz}
ASMJIT_INST_2x(vpbroadcastd, Vpbroadcastd, Vec, Gp) // AVX512_F{kz}
- ASMJIT_INST_2x(vpbroadcastmb2d, Vpbroadcastmb2d, Vec, KReg) // AVX512_CD
ASMJIT_INST_2x(vpbroadcastmb2q, Vpbroadcastmb2q, Vec, KReg) // AVX512_CD
+ ASMJIT_INST_2x(vpbroadcastmw2d, Vpbroadcastmw2d, Vec, KReg) // AVX512_CD
ASMJIT_INST_2x(vpbroadcastq, Vpbroadcastq, Vec, Vec) // AVX2 AVX512_F{kz}
ASMJIT_INST_2x(vpbroadcastq, Vpbroadcastq, Vec, Mem) // AVX2 AVX512_F{kz}
ASMJIT_INST_2x(vpbroadcastq, Vpbroadcastq, Vec, Gp) // AVX512_F{kz}
@@ -3175,14 +3212,20 @@ public:
ASMJIT_INST_2x(vpscatterqq, Vpscatterqq, Mem, Vec) // AVX512_F{k}
ASMJIT_INST_4x(vpshldd, Vpshldd, Vec, Vec, Vec, Imm) // AVX512_VBMI2{kz}
ASMJIT_INST_4x(vpshldd, Vpshldd, Vec, Vec, Mem, Imm) // AVX512_VBMI2{kz}
+ ASMJIT_INST_4x(vpshldq, Vpshldq, Vec, Vec, Vec, Imm) // AVX512_VBMI2{kz}
+ ASMJIT_INST_4x(vpshldq, Vpshldq, Vec, Vec, Mem, Imm) // AVX512_VBMI2{kz}
ASMJIT_INST_3x(vpshldvd, Vpshldvd, Vec, Vec, Vec) // AVX512_VBMI2{kz}
ASMJIT_INST_3x(vpshldvd, Vpshldvd, Vec, Vec, Mem) // AVX512_VBMI2{kz}
ASMJIT_INST_3x(vpshldvq, Vpshldvq, Vec, Vec, Vec) // AVX512_VBMI2{kz}
ASMJIT_INST_3x(vpshldvq, Vpshldvq, Vec, Vec, Mem) // AVX512_VBMI2{kz}
ASMJIT_INST_3x(vpshldvw, Vpshldvw, Vec, Vec, Vec) // AVX512_VBMI2{kz}
ASMJIT_INST_3x(vpshldvw, Vpshldvw, Vec, Vec, Mem) // AVX512_VBMI2{kz}
+ ASMJIT_INST_4x(vpshldw, Vpshldw, Vec, Vec, Vec, Imm) // AVX512_VBMI2{kz}
+ ASMJIT_INST_4x(vpshldw, Vpshldw, Vec, Vec, Mem, Imm) // AVX512_VBMI2{kz}
ASMJIT_INST_4x(vpshrdd, Vpshrdd, Vec, Vec, Vec, Imm) // AVX512_VBMI2{kz}
ASMJIT_INST_4x(vpshrdd, Vpshrdd, Vec, Vec, Mem, Imm) // AVX512_VBMI2{kz}
+ ASMJIT_INST_4x(vpshrdq, Vpshrdq, Vec, Vec, Vec, Imm) // AVX512_VBMI2{kz}
+ ASMJIT_INST_4x(vpshrdq, Vpshrdq, Vec, Vec, Mem, Imm) // AVX512_VBMI2{kz}
ASMJIT_INST_3x(vpshrdvd, Vpshrdvd, Vec, Vec, Vec) // AVX512_VBMI2{kz}
ASMJIT_INST_3x(vpshrdvd, Vpshrdvd, Vec, Vec, Mem) // AVX512_VBMI2{kz}
ASMJIT_INST_3x(vpshrdvq, Vpshrdvq, Vec, Vec, Vec) // AVX512_VBMI2{kz}
@@ -3768,7 +3811,6 @@ struct EmitterImplicitT : public EmitterExplicitT<This> {
ASMJIT_INST_0x(iret, Iret) // ANY [IMPLICIT]
ASMJIT_INST_0x(iretd, Iretd) // ANY [IMPLICIT]
ASMJIT_INST_0x(iretq, Iretq) // X64 [IMPLICIT]
- ASMJIT_INST_0x(iretw, Iretw) // ANY [IMPLICIT]
ASMJIT_INST_1x(jecxz, Jecxz, Label) // ANY [IMPLICIT] Short jump if CX/ECX/RCX is zero.
ASMJIT_INST_1x(jecxz, Jecxz, Imm) // ANY [IMPLICIT] Short jump if CX/ECX/RCX is zero.
ASMJIT_INST_1x(loop, Loop, Label) // ANY [IMPLICIT] Decrement xCX; short jump if xCX != 0.
@@ -3781,8 +3823,8 @@ struct EmitterImplicitT : public EmitterExplicitT<This> {
ASMJIT_INST_1x(mul, Mul, Mem) // ANY [IMPLICIT] {AX <- AL * m8} {xDX:xAX <- xAX * m16|m32|m64}
ASMJIT_INST_0x(ret, Ret)
ASMJIT_INST_1x(ret, Ret, Imm)
- ASMJIT_INST_0x(lret, Lret)
- ASMJIT_INST_1x(lret, Lret, Imm)
+ ASMJIT_INST_0x(retf, Retf)
+ ASMJIT_INST_1x(retf, Retf, Imm)
ASMJIT_INST_0x(xlatb, Xlatb) // ANY [IMPLICIT]
//! \}
@@ -3918,10 +3960,20 @@ struct EmitterImplicitT : public EmitterExplicitT<This> {
//! \name XSAVE Instructions
//! \{
- // TODO: xrstor and xsave don't have explicit variants yet.
-
//! \cond
using EmitterExplicitT<This>::xgetbv;
+ using EmitterExplicitT<This>::xrstor;
+ using EmitterExplicitT<This>::xrstor64;
+ using EmitterExplicitT<This>::xrstors;
+ using EmitterExplicitT<This>::xrstors64;
+ using EmitterExplicitT<This>::xsave;
+ using EmitterExplicitT<This>::xsave64;
+ using EmitterExplicitT<This>::xsavec;
+ using EmitterExplicitT<This>::xsavec64;
+ using EmitterExplicitT<This>::xsaveopt;
+ using EmitterExplicitT<This>::xsaveopt64;
+ using EmitterExplicitT<This>::xsaves;
+ using EmitterExplicitT<This>::xsaves64;
//! \endcond
ASMJIT_INST_0x(xgetbv, Xgetbv) // XSAVE [IMPLICIT] EDX:EAX <- XCR[ECX]
@@ -3948,6 +4000,17 @@ struct EmitterImplicitT : public EmitterExplicitT<This> {
//! \}
+ //! \name HRESET Instructions
+ //! \{
+
+ //! \cond
+ using EmitterExplicitT<This>::hreset;
+ //! \endcond
+
+ ASMJIT_INST_1x(hreset, Hreset, Imm) // HRESET [IMPLICIT]
+
+ //! \}
+
//! \name Privileged Instructions
//! \{
@@ -3962,9 +4025,9 @@ struct EmitterImplicitT : public EmitterExplicitT<This> {
ASMJIT_INST_0x(rdmsr, Rdmsr) // ANY [IMPLICIT]
ASMJIT_INST_0x(rdpmc, Rdpmc) // ANY [IMPLICIT]
ASMJIT_INST_0x(sysexit, Sysexit) // X64 [IMPLICIT]
- ASMJIT_INST_0x(sysexit64, Sysexit64) // X64 [IMPLICIT]
+ ASMJIT_INST_0x(sysexitq, Sysexitq) // X64 [IMPLICIT]
ASMJIT_INST_0x(sysret, Sysret) // X64 [IMPLICIT]
- ASMJIT_INST_0x(sysret64, Sysret64) // X64 [IMPLICIT]
+ ASMJIT_INST_0x(sysretq, Sysretq) // X64 [IMPLICIT]
ASMJIT_INST_0x(wrmsr, Wrmsr) // ANY [IMPLICIT]
ASMJIT_INST_0x(xsetbv, Xsetbv) // XSAVE [IMPLICIT] XCR[ECX] <- EDX:EAX
diff --git a/src/asmjit/x86/x86formatter.cpp b/src/asmjit/x86/x86formatter.cpp
index e9f4f9c..2ae0f94 100644
--- a/src/asmjit/x86/x86formatter.cpp
+++ b/src/asmjit/x86/x86formatter.cpp
@@ -188,15 +188,15 @@ static const RegFormatInfo x86RegFormatInfo = {
static const char* x86GetAddressSizeString(uint32_t size) noexcept {
switch (size) {
- case 1 : return "byte ";
- case 2 : return "word ";
- case 4 : return "dword ";
- case 6 : return "fword ";
- case 8 : return "qword ";
- case 10: return "tbyte ";
- case 16: return "oword ";
- case 32: return "yword ";
- case 64: return "zword ";
+ case 1 : return "byte ptr ";
+ case 2 : return "word ptr ";
+ case 4 : return "dword ptr ";
+ case 6 : return "fword ptr ";
+ case 8 : return "qword ptr ";
+ case 10: return "tbyte ptr ";
+ case 16: return "xmmword ptr ";
+ case 32: return "ymmword ptr ";
+ case 64: return "zmmword ptr ";
default: return "";
}
}
@@ -835,6 +835,17 @@ ASMJIT_FAVOR_SIZE Error FormatterInternal::formatInstruction(
// Format instruction options and instruction mnemonic.
if (instId < Inst::_kIdCount) {
+ // VEX|EVEX options.
+ if (options & Inst::kOptionVex) ASMJIT_PROPAGATE(sb.append("{vex} "));
+ if (options & Inst::kOptionVex3) ASMJIT_PROPAGATE(sb.append("{vex3} "));
+ if (options & Inst::kOptionEvex) ASMJIT_PROPAGATE(sb.append("{evex} "));
+
+ // MOD/RM and MOD/MR options
+ if (options & Inst::kOptionModRM)
+ ASMJIT_PROPAGATE(sb.append("{modrm} "));
+ else if (options & Inst::kOptionModMR)
+ ASMJIT_PROPAGATE(sb.append("{modmr} "));
+
// SHORT|LONG options.
if (options & Inst::kOptionShortForm) ASMJIT_PROPAGATE(sb.append("short "));
if (options & Inst::kOptionLongForm) ASMJIT_PROPAGATE(sb.append("long "));
@@ -873,11 +884,6 @@ ASMJIT_FAVOR_SIZE Error FormatterInternal::formatInstruction(
}
}
- // VEX|EVEX options.
- if (options & Inst::kOptionVex) ASMJIT_PROPAGATE(sb.append("{vex} "));
- if (options & Inst::kOptionVex3) ASMJIT_PROPAGATE(sb.append("{vex3} "));
- if (options & Inst::kOptionEvex) ASMJIT_PROPAGATE(sb.append("{evex} "));
-
ASMJIT_PROPAGATE(InstAPI::instIdToString(arch, instId, sb));
}
else {
diff --git a/src/asmjit/x86/x86globals.h b/src/asmjit/x86/x86globals.h
index d3e5c5e..77458e7 100644
--- a/src/asmjit/x86/x86globals.h
+++ b/src/asmjit/x86/x86globals.h
@@ -121,6 +121,7 @@ struct Inst : public BaseInst {
kIdCli, //!< Instruction 'cli'.
kIdClrssbsy, //!< Instruction 'clrssbsy' {CET_SS}.
kIdClts, //!< Instruction 'clts'.
+ kIdClui, //!< Instruction 'clui' {UINTR} (X64).
kIdClwb, //!< Instruction 'clwb' {CLWB}.
kIdClzero, //!< Instruction 'clzero' {CLZERO}.
kIdCmc, //!< Instruction 'cmc'.
@@ -315,6 +316,7 @@ struct Inst : public BaseInst {
kIdHaddpd, //!< Instruction 'haddpd' {SSE3}.
kIdHaddps, //!< Instruction 'haddps' {SSE3}.
kIdHlt, //!< Instruction 'hlt'.
+ kIdHreset, //!< Instruction 'hreset' {HRESET}.
kIdHsubpd, //!< Instruction 'hsubpd' {SSE3}.
kIdHsubps, //!< Instruction 'hsubps' {SSE3}.
kIdIdiv, //!< Instruction 'idiv'.
@@ -338,7 +340,6 @@ struct Inst : public BaseInst {
kIdIret, //!< Instruction 'iret'.
kIdIretd, //!< Instruction 'iretd'.
kIdIretq, //!< Instruction 'iretq' (X64).
- kIdIretw, //!< Instruction 'iretw'.
kIdJa, //!< Instruction 'ja'.
kIdJae, //!< Instruction 'jae'.
kIdJb, //!< Instruction 'jb'.
@@ -445,7 +446,6 @@ struct Inst : public BaseInst {
kIdLoop, //!< Instruction 'loop'.
kIdLoope, //!< Instruction 'loope'.
kIdLoopne, //!< Instruction 'loopne'.
- kIdLret, //!< Instruction 'lret'.
kIdLsl, //!< Instruction 'lsl'.
kIdLss, //!< Instruction 'lss'.
kIdLtr, //!< Instruction 'ltr'.
@@ -716,6 +716,7 @@ struct Inst : public BaseInst {
kIdRdtsc, //!< Instruction 'rdtsc' {RDTSC}.
kIdRdtscp, //!< Instruction 'rdtscp' {RDTSCP}.
kIdRet, //!< Instruction 'ret'.
+ kIdRetf, //!< Instruction 'retf'.
kIdRmpadjust, //!< Instruction 'rmpadjust' {SNP} (X64).
kIdRmpupdate, //!< Instruction 'rmpupdate' {SNP} (X64).
kIdRol, //!< Instruction 'rol'.
@@ -736,6 +737,7 @@ struct Inst : public BaseInst {
kIdSaveprevssp, //!< Instruction 'saveprevssp' {CET_SS}.
kIdSbb, //!< Instruction 'sbb'.
kIdScas, //!< Instruction 'scas'.
+ kIdSenduipi, //!< Instruction 'senduipi' {UINTR} (X64).
kIdSerialize, //!< Instruction 'serialize' {SERIALIZE}.
kIdSeta, //!< Instruction 'seta'.
kIdSetae, //!< Instruction 'setae'.
@@ -803,6 +805,7 @@ struct Inst : public BaseInst {
kIdStos, //!< Instruction 'stos'.
kIdStr, //!< Instruction 'str'.
kIdSttilecfg, //!< Instruction 'sttilecfg' {AMX_TILE} (X64).
+ kIdStui, //!< Instruction 'stui' {UINTR} (X64).
kIdSub, //!< Instruction 'sub'.
kIdSubpd, //!< Instruction 'subpd' {SSE2}.
kIdSubps, //!< Instruction 'subps' {SSE}.
@@ -812,9 +815,9 @@ struct Inst : public BaseInst {
kIdSyscall, //!< Instruction 'syscall' (X64).
kIdSysenter, //!< Instruction 'sysenter'.
kIdSysexit, //!< Instruction 'sysexit'.
- kIdSysexit64, //!< Instruction 'sysexit64'.
+ kIdSysexitq, //!< Instruction 'sysexitq'.
kIdSysret, //!< Instruction 'sysret' (X64).
- kIdSysret64, //!< Instruction 'sysret64' (X64).
+ kIdSysretq, //!< Instruction 'sysretq' (X64).
kIdT1mskc, //!< Instruction 't1mskc' {TBM}.
kIdTdpbf16ps, //!< Instruction 'tdpbf16ps' {AMX_BF16} (X64).
kIdTdpbssd, //!< Instruction 'tdpbssd' {AMX_INT8} (X64).
@@ -822,6 +825,7 @@ struct Inst : public BaseInst {
kIdTdpbusd, //!< Instruction 'tdpbusd' {AMX_INT8} (X64).
kIdTdpbuud, //!< Instruction 'tdpbuud' {AMX_INT8} (X64).
kIdTest, //!< Instruction 'test'.
+ kIdTestui, //!< Instruction 'testui' {UINTR} (X64).
kIdTileloadd, //!< Instruction 'tileloadd' {AMX_TILE} (X64).
kIdTileloaddt1, //!< Instruction 'tileloaddt1' {AMX_TILE} (X64).
kIdTilerelease, //!< Instruction 'tilerelease' {AMX_TILE} (X64).
@@ -835,6 +839,7 @@ struct Inst : public BaseInst {
kIdUd0, //!< Instruction 'ud0'.
kIdUd1, //!< Instruction 'ud1'.
kIdUd2, //!< Instruction 'ud2'.
+ kIdUiret, //!< Instruction 'uiret' {UINTR} (X64).
kIdUmonitor, //!< Instruction 'umonitor' {WAITPKG}.
kIdUmwait, //!< Instruction 'umwait' {WAITPKG}.
kIdUnpckhpd, //!< Instruction 'unpckhpd' {SSE2}.
@@ -863,12 +868,8 @@ struct Inst : public BaseInst {
kIdVandnps, //!< Instruction 'vandnps' {AVX|AVX512_DQ+VL}.
kIdVandpd, //!< Instruction 'vandpd' {AVX|AVX512_DQ+VL}.
kIdVandps, //!< Instruction 'vandps' {AVX|AVX512_DQ+VL}.
- kIdVblendmb, //!< Instruction 'vblendmb' {AVX512_BW+VL}.
- kIdVblendmd, //!< Instruction 'vblendmd' {AVX512_F+VL}.
kIdVblendmpd, //!< Instruction 'vblendmpd' {AVX512_F+VL}.
kIdVblendmps, //!< Instruction 'vblendmps' {AVX512_F+VL}.
- kIdVblendmq, //!< Instruction 'vblendmq' {AVX512_F+VL}.
- kIdVblendmw, //!< Instruction 'vblendmw' {AVX512_BW+VL}.
kIdVblendpd, //!< Instruction 'vblendpd' {AVX}.
kIdVblendps, //!< Instruction 'vblendps' {AVX}.
kIdVblendvpd, //!< Instruction 'vblendvpd' {AVX}.
@@ -1189,12 +1190,16 @@ struct Inst : public BaseInst {
kIdVpavgb, //!< Instruction 'vpavgb' {AVX|AVX2|AVX512_BW+VL}.
kIdVpavgw, //!< Instruction 'vpavgw' {AVX|AVX2|AVX512_BW+VL}.
kIdVpblendd, //!< Instruction 'vpblendd' {AVX2}.
+ kIdVpblendmb, //!< Instruction 'vpblendmb' {AVX512_BW+VL}.
+ kIdVpblendmd, //!< Instruction 'vpblendmd' {AVX512_F+VL}.
+ kIdVpblendmq, //!< Instruction 'vpblendmq' {AVX512_F+VL}.
+ kIdVpblendmw, //!< Instruction 'vpblendmw' {AVX512_BW+VL}.
kIdVpblendvb, //!< Instruction 'vpblendvb' {AVX|AVX2}.
kIdVpblendw, //!< Instruction 'vpblendw' {AVX|AVX2}.
kIdVpbroadcastb, //!< Instruction 'vpbroadcastb' {AVX2|AVX512_BW+VL}.
kIdVpbroadcastd, //!< Instruction 'vpbroadcastd' {AVX2|AVX512_F+VL}.
- kIdVpbroadcastmb2d, //!< Instruction 'vpbroadcastmb2d' {AVX512_CDI+VL}.
kIdVpbroadcastmb2q, //!< Instruction 'vpbroadcastmb2q' {AVX512_CDI+VL}.
+ kIdVpbroadcastmw2d, //!< Instruction 'vpbroadcastmw2d' {AVX512_CDI+VL}.
kIdVpbroadcastq, //!< Instruction 'vpbroadcastq' {AVX2|AVX512_F+VL}.
kIdVpbroadcastw, //!< Instruction 'vpbroadcastw' {AVX2|AVX512_BW+VL}.
kIdVpclmulqdq, //!< Instruction 'vpclmulqdq' {AVX|AVX512_F+VL & PCLMULQDQ|VPCLMULQDQ}.
@@ -1606,7 +1611,8 @@ struct Inst : public BaseInst {
//! Instruction options.
enum Options : uint32_t {
- kOptionModMR = 0x00000100u, //!< Use ModMR instead of ModRM when it's available.
+ kOptionModMR = 0x00000100u, //!< Use ModMR instead of ModRM if applicable.
+ kOptionModRM = 0x00000200u, //!< Use ModRM instead of ModMR if applicable.
kOptionVex3 = 0x00000400u, //!< Use 3-byte VEX prefix if possible (AVX) (must be 0x00000400).
kOptionVex = 0x00000800u, //!< Use VEX prefix when both VEX|EVEX prefixes are available (HINT: AVX_VNNI).
kOptionEvex = 0x00001000u, //!< Use 4-byte EVEX prefix if possible (AVX-512) (must be 0x00001000).
diff --git a/src/asmjit/x86/x86instapi.cpp b/src/asmjit/x86/x86instapi.cpp
index 19d4e60..423154f 100644
--- a/src/asmjit/x86/x86instapi.cpp
+++ b/src/asmjit/x86/x86instapi.cpp
@@ -1180,6 +1180,46 @@ Error InstInternal::queryRWInfo(uint32_t arch, const BaseInst& inst, const Opera
break;
}
+ case InstDB::RWInfo::kCategoryPunpcklxx: {
+ // Special case for 'punpcklbw|punpckldq|punpcklwd' instructions.
+ if (opCount == 2) {
+ if (Reg::isXmm(operands[0])) {
+ out->_operands[0].reset(X, 16);
+ out->_operands[0].setReadByteMask(0x0F0Fu);
+ out->_operands[0].setWriteByteMask(0xFFFFu);
+ out->_operands[1].reset(R, 16);
+ out->_operands[1].setWriteByteMask(0x0F0Fu);
+
+ if (Reg::isXmm(operands[1])) {
+ return kErrorOk;
+ }
+
+ if (operands[1].isMem()) {
+ out->_operands[1].addOpFlags(MibRead);
+ return kErrorOk;
+ }
+ }
+
+ if (Reg::isMm(operands[0])) {
+ out->_operands[0].reset(X, 8);
+ out->_operands[0].setReadByteMask(0x0Fu);
+ out->_operands[0].setWriteByteMask(0xFFu);
+ out->_operands[1].reset(R, 4);
+ out->_operands[1].setReadByteMask(0x0Fu);
+
+ if (Reg::isMm(operands[1])) {
+ return kErrorOk;
+ }
+
+ if (operands[1].isMem()) {
+ out->_operands[1].addOpFlags(MibRead);
+ return kErrorOk;
+ }
+ }
+ }
+ break;
+ }
+
case InstDB::RWInfo::kCategoryVmaskmov: {
// Special case for 'vmaskmovpd|vmaskmovps|vpmaskmovd|vpmaskmovq' instructions.
if (opCount == 3) {
diff --git a/src/asmjit/x86/x86instdb.cpp b/src/asmjit/x86/x86instdb.cpp
index 0d2ab6e..4391f3b 100644
--- a/src/asmjit/x86/x86instdb.cpp
+++ b/src/asmjit/x86/x86instdb.cpp
@@ -101,26 +101,26 @@ const InstDB::InstInfo InstDB::_instInfoTable[] = {
INST(Aas , X86Op_xAX , O(000000,3F,_,_,_,_,_,_ ), 0 , 0 , 0 , 13 , 1 , 1 ), // #4
INST(Adc , X86Arith , O(000000,10,2,_,x,_,_,_ ), 0 , 1 , 0 , 17 , 3 , 2 ), // #5
INST(Adcx , X86Rm , O(660F38,F6,_,_,x,_,_,_ ), 0 , 2 , 0 , 21 , 4 , 3 ), // #6
- INST(Add , X86Arith , O(000000,00,0,_,x,_,_,_ ), 0 , 0 , 0 , 3131 , 3 , 1 ), // #7
- INST(Addpd , ExtRm , O(660F00,58,_,_,_,_,_,_ ), 0 , 3 , 0 , 5121 , 5 , 4 ), // #8
- INST(Addps , ExtRm , O(000F00,58,_,_,_,_,_,_ ), 0 , 4 , 0 , 5133 , 5 , 5 ), // #9
- INST(Addsd , ExtRm , O(F20F00,58,_,_,_,_,_,_ ), 0 , 5 , 0 , 5355 , 6 , 4 ), // #10
- INST(Addss , ExtRm , O(F30F00,58,_,_,_,_,_,_ ), 0 , 6 , 0 , 3262 , 7 , 5 ), // #11
- INST(Addsubpd , ExtRm , O(660F00,D0,_,_,_,_,_,_ ), 0 , 3 , 0 , 4860 , 5 , 6 ), // #12
- INST(Addsubps , ExtRm , O(F20F00,D0,_,_,_,_,_,_ ), 0 , 5 , 0 , 4872 , 5 , 6 ), // #13
+ INST(Add , X86Arith , O(000000,00,0,_,x,_,_,_ ), 0 , 0 , 0 , 3146 , 3 , 1 ), // #7
+ INST(Addpd , ExtRm , O(660F00,58,_,_,_,_,_,_ ), 0 , 3 , 0 , 5106 , 5 , 4 ), // #8
+ INST(Addps , ExtRm , O(000F00,58,_,_,_,_,_,_ ), 0 , 4 , 0 , 5118 , 5 , 5 ), // #9
+ INST(Addsd , ExtRm , O(F20F00,58,_,_,_,_,_,_ ), 0 , 5 , 0 , 5340 , 6 , 4 ), // #10
+ INST(Addss , ExtRm , O(F30F00,58,_,_,_,_,_,_ ), 0 , 6 , 0 , 3283 , 7 , 5 ), // #11
+ INST(Addsubpd , ExtRm , O(660F00,D0,_,_,_,_,_,_ ), 0 , 3 , 0 , 4845 , 5 , 6 ), // #12
+ INST(Addsubps , ExtRm , O(F20F00,D0,_,_,_,_,_,_ ), 0 , 5 , 0 , 4857 , 5 , 6 ), // #13
INST(Adox , X86Rm , O(F30F38,F6,_,_,x,_,_,_ ), 0 , 7 , 0 , 26 , 4 , 7 ), // #14
- INST(Aesdec , ExtRm , O(660F38,DE,_,_,_,_,_,_ ), 0 , 2 , 0 , 3317 , 5 , 8 ), // #15
- INST(Aesdeclast , ExtRm , O(660F38,DF,_,_,_,_,_,_ ), 0 , 2 , 0 , 3325 , 5 , 8 ), // #16
- INST(Aesenc , ExtRm , O(660F38,DC,_,_,_,_,_,_ ), 0 , 2 , 0 , 3337 , 5 , 8 ), // #17
- INST(Aesenclast , ExtRm , O(660F38,DD,_,_,_,_,_,_ ), 0 , 2 , 0 , 3345 , 5 , 8 ), // #18
- INST(Aesimc , ExtRm , O(660F38,DB,_,_,_,_,_,_ ), 0 , 2 , 0 , 3357 , 5 , 8 ), // #19
- INST(Aeskeygenassist , ExtRmi , O(660F3A,DF,_,_,_,_,_,_ ), 0 , 8 , 0 , 3365 , 8 , 8 ), // #20
- INST(And , X86Arith , O(000000,20,4,_,x,_,_,_ ), 0 , 9 , 0 , 2529 , 9 , 1 ), // #21
- INST(Andn , VexRvm_Wx , V(000F38,F2,_,0,x,_,_,_ ), 0 , 10 , 0 , 6829 , 10 , 9 ), // #22
- INST(Andnpd , ExtRm , O(660F00,55,_,_,_,_,_,_ ), 0 , 3 , 0 , 3398 , 5 , 4 ), // #23
- INST(Andnps , ExtRm , O(000F00,55,_,_,_,_,_,_ ), 0 , 4 , 0 , 3406 , 5 , 5 ), // #24
- INST(Andpd , ExtRm , O(660F00,54,_,_,_,_,_,_ ), 0 , 3 , 0 , 4374 , 11 , 4 ), // #25
- INST(Andps , ExtRm , O(000F00,54,_,_,_,_,_,_ ), 0 , 4 , 0 , 4384 , 11 , 5 ), // #26
+ INST(Aesdec , ExtRm , O(660F38,DE,_,_,_,_,_,_ ), 0 , 2 , 0 , 3338 , 5 , 8 ), // #15
+ INST(Aesdeclast , ExtRm , O(660F38,DF,_,_,_,_,_,_ ), 0 , 2 , 0 , 3346 , 5 , 8 ), // #16
+ INST(Aesenc , ExtRm , O(660F38,DC,_,_,_,_,_,_ ), 0 , 2 , 0 , 3358 , 5 , 8 ), // #17
+ INST(Aesenclast , ExtRm , O(660F38,DD,_,_,_,_,_,_ ), 0 , 2 , 0 , 3366 , 5 , 8 ), // #18
+ INST(Aesimc , ExtRm , O(660F38,DB,_,_,_,_,_,_ ), 0 , 2 , 0 , 3378 , 5 , 8 ), // #19
+ INST(Aeskeygenassist , ExtRmi , O(660F3A,DF,_,_,_,_,_,_ ), 0 , 8 , 0 , 3386 , 8 , 8 ), // #20
+ INST(And , X86Arith , O(000000,20,4,_,x,_,_,_ ), 0 , 9 , 0 , 2525 , 9 , 1 ), // #21
+ INST(Andn , VexRvm_Wx , V(000F38,F2,_,0,x,_,_,_ ), 0 , 10 , 0 , 6814 , 10 , 9 ), // #22
+ INST(Andnpd , ExtRm , O(660F00,55,_,_,_,_,_,_ ), 0 , 3 , 0 , 3419 , 5 , 4 ), // #23
+ INST(Andnps , ExtRm , O(000F00,55,_,_,_,_,_,_ ), 0 , 4 , 0 , 3427 , 5 , 5 ), // #24
+ INST(Andpd , ExtRm , O(660F00,54,_,_,_,_,_,_ ), 0 , 3 , 0 , 4359 , 11 , 4 ), // #25
+ INST(Andps , ExtRm , O(000F00,54,_,_,_,_,_,_ ), 0 , 4 , 0 , 4369 , 11 , 5 ), // #26
INST(Arpl , X86Mr_NoSize , O(000000,63,_,_,_,_,_,_ ), 0 , 0 , 0 , 31 , 12 , 10 ), // #27
INST(Bextr , VexRmv_Wx , V(000F38,F7,_,0,x,_,_,_ ), 0 , 10 , 0 , 36 , 13 , 9 ), // #28
INST(Blcfill , VexVm_Wx , V(XOP_M9,01,1,0,x,_,_,_ ), 0 , 11 , 0 , 42 , 14 , 11 ), // #29
@@ -128,10 +128,10 @@ const InstDB::InstInfo InstDB::_instInfoTable[] = {
INST(Blcic , VexVm_Wx , V(XOP_M9,01,5,0,x,_,_,_ ), 0 , 13 , 0 , 55 , 14 , 11 ), // #31
INST(Blcmsk , VexVm_Wx , V(XOP_M9,02,1,0,x,_,_,_ ), 0 , 11 , 0 , 61 , 14 , 11 ), // #32
INST(Blcs , VexVm_Wx , V(XOP_M9,01,3,0,x,_,_,_ ), 0 , 14 , 0 , 68 , 14 , 11 ), // #33
- INST(Blendpd , ExtRmi , O(660F3A,0D,_,_,_,_,_,_ ), 0 , 8 , 0 , 3484 , 8 , 12 ), // #34
- INST(Blendps , ExtRmi , O(660F3A,0C,_,_,_,_,_,_ ), 0 , 8 , 0 , 3493 , 8 , 12 ), // #35
- INST(Blendvpd , ExtRm_XMM0 , O(660F38,15,_,_,_,_,_,_ ), 0 , 2 , 0 , 3502 , 15 , 12 ), // #36
- INST(Blendvps , ExtRm_XMM0 , O(660F38,14,_,_,_,_,_,_ ), 0 , 2 , 0 , 3512 , 15 , 12 ), // #37
+ INST(Blendpd , ExtRmi , O(660F3A,0D,_,_,_,_,_,_ ), 0 , 8 , 0 , 3469 , 8 , 12 ), // #34
+ INST(Blendps , ExtRmi , O(660F3A,0C,_,_,_,_,_,_ ), 0 , 8 , 0 , 3478 , 8 , 12 ), // #35
+ INST(Blendvpd , ExtRm_XMM0 , O(660F38,15,_,_,_,_,_,_ ), 0 , 2 , 0 , 3487 , 15 , 12 ), // #36
+ INST(Blendvps , ExtRm_XMM0 , O(660F38,14,_,_,_,_,_,_ ), 0 , 2 , 0 , 3497 , 15 , 12 ), // #37
INST(Blsfill , VexVm_Wx , V(XOP_M9,01,2,0,x,_,_,_ ), 0 , 15 , 0 , 73 , 14 , 11 ), // #38
INST(Blsi , VexVm_Wx , V(000F38,F3,3,0,x,_,_,_ ), 0 , 16 , 0 , 81 , 14 , 9 ), // #39
INST(Blsic , VexVm_Wx , V(XOP_M9,01,6,0,x,_,_,_ ), 0 , 12 , 0 , 86 , 14 , 11 ), // #40
@@ -153,7 +153,7 @@ const InstDB::InstInfo InstDB::_instInfoTable[] = {
INST(Btr , X86Bt , O(000F00,B3,_,_,x,_,_,_ ), O(000F00,BA,6,_,x,_,_,_ ), 4 , 4 , 176 , 25 , 14 ), // #56
INST(Bts , X86Bt , O(000F00,AB,_,_,x,_,_,_ ), O(000F00,BA,5,_,x,_,_,_ ), 4 , 5 , 180 , 25 , 14 ), // #57
INST(Bzhi , VexRmv_Wx , V(000F38,F5,_,0,x,_,_,_ ), 0 , 10 , 0 , 184 , 13 , 15 ), // #58
- INST(Call , X86Call , O(000000,FF,2,_,_,_,_,_ ), 0 , 1 , 0 , 3028 , 26 , 1 ), // #59
+ INST(Call , X86Call , O(000000,FF,2,_,_,_,_,_ ), 0 , 1 , 0 , 3038 , 26 , 1 ), // #59
INST(Cbw , X86Op_xAX , O(660000,98,_,_,_,_,_,_ ), 0 , 19 , 0 , 189 , 27 , 0 ), // #60
INST(Cdq , X86Op_xDX_xAX , O(000000,99,_,_,_,_,_,_ ), 0 , 0 , 0 , 193 , 28 , 0 ), // #61
INST(Cdqe , X86Op_xAX , O(000000,98,_,_,1,_,_,_ ), 0 , 20 , 0 , 197 , 29 , 0 ), // #62
@@ -165,1487 +165,1492 @@ const InstDB::InstInfo InstDB::_instInfoTable[] = {
INST(Clflushopt , X86M_Only , O(660F00,AE,7,_,_,_,_,_ ), 0 , 23 , 0 , 232 , 31 , 21 ), // #68
INST(Clgi , X86Op , O(000F01,DD,_,_,_,_,_,_ ), 0 , 21 , 0 , 243 , 30 , 22 ), // #69
INST(Cli , X86Op , O(000000,FA,_,_,_,_,_,_ ), 0 , 0 , 0 , 248 , 30 , 23 ), // #70
- INST(Clrssbsy , X86M , O(F30F00,AE,6,_,_,_,_,_ ), 0 , 24 , 0 , 252 , 32 , 24 ), // #71
+ INST(Clrssbsy , X86M_Only , O(F30F00,AE,6,_,_,_,_,_ ), 0 , 24 , 0 , 252 , 32 , 24 ), // #71
INST(Clts , X86Op , O(000F00,06,_,_,_,_,_,_ ), 0 , 4 , 0 , 261 , 30 , 0 ), // #72
- INST(Clwb , X86M_Only , O(660F00,AE,6,_,_,_,_,_ ), 0 , 25 , 0 , 266 , 31 , 25 ), // #73
- INST(Clzero , X86Op_MemZAX , O(000F01,FC,_,_,_,_,_,_ ), 0 , 21 , 0 , 271 , 33 , 26 ), // #74
- INST(Cmc , X86Op , O(000000,F5,_,_,_,_,_,_ ), 0 , 0 , 0 , 278 , 30 , 27 ), // #75
- INST(Cmova , X86Rm , O(000F00,47,_,_,x,_,_,_ ), 0 , 4 , 0 , 282 , 22 , 28 ), // #76
- INST(Cmovae , X86Rm , O(000F00,43,_,_,x,_,_,_ ), 0 , 4 , 0 , 288 , 22 , 29 ), // #77
- INST(Cmovb , X86Rm , O(000F00,42,_,_,x,_,_,_ ), 0 , 4 , 0 , 643 , 22 , 29 ), // #78
- INST(Cmovbe , X86Rm , O(000F00,46,_,_,x,_,_,_ ), 0 , 4 , 0 , 650 , 22 , 28 ), // #79
- INST(Cmovc , X86Rm , O(000F00,42,_,_,x,_,_,_ ), 0 , 4 , 0 , 295 , 22 , 29 ), // #80
- INST(Cmove , X86Rm , O(000F00,44,_,_,x,_,_,_ ), 0 , 4 , 0 , 658 , 22 , 30 ), // #81
- INST(Cmovg , X86Rm , O(000F00,4F,_,_,x,_,_,_ ), 0 , 4 , 0 , 301 , 22 , 31 ), // #82
- INST(Cmovge , X86Rm , O(000F00,4D,_,_,x,_,_,_ ), 0 , 4 , 0 , 307 , 22 , 32 ), // #83
- INST(Cmovl , X86Rm , O(000F00,4C,_,_,x,_,_,_ ), 0 , 4 , 0 , 314 , 22 , 32 ), // #84
- INST(Cmovle , X86Rm , O(000F00,4E,_,_,x,_,_,_ ), 0 , 4 , 0 , 320 , 22 , 31 ), // #85
- INST(Cmovna , X86Rm , O(000F00,46,_,_,x,_,_,_ ), 0 , 4 , 0 , 327 , 22 , 28 ), // #86
- INST(Cmovnae , X86Rm , O(000F00,42,_,_,x,_,_,_ ), 0 , 4 , 0 , 334 , 22 , 29 ), // #87
- INST(Cmovnb , X86Rm , O(000F00,43,_,_,x,_,_,_ ), 0 , 4 , 0 , 665 , 22 , 29 ), // #88
- INST(Cmovnbe , X86Rm , O(000F00,47,_,_,x,_,_,_ ), 0 , 4 , 0 , 673 , 22 , 28 ), // #89
- INST(Cmovnc , X86Rm , O(000F00,43,_,_,x,_,_,_ ), 0 , 4 , 0 , 342 , 22 , 29 ), // #90
- INST(Cmovne , X86Rm , O(000F00,45,_,_,x,_,_,_ ), 0 , 4 , 0 , 682 , 22 , 30 ), // #91
- INST(Cmovng , X86Rm , O(000F00,4E,_,_,x,_,_,_ ), 0 , 4 , 0 , 349 , 22 , 31 ), // #92
- INST(Cmovnge , X86Rm , O(000F00,4C,_,_,x,_,_,_ ), 0 , 4 , 0 , 356 , 22 , 32 ), // #93
- INST(Cmovnl , X86Rm , O(000F00,4D,_,_,x,_,_,_ ), 0 , 4 , 0 , 364 , 22 , 32 ), // #94
- INST(Cmovnle , X86Rm , O(000F00,4F,_,_,x,_,_,_ ), 0 , 4 , 0 , 371 , 22 , 31 ), // #95
- INST(Cmovno , X86Rm , O(000F00,41,_,_,x,_,_,_ ), 0 , 4 , 0 , 379 , 22 , 33 ), // #96
- INST(Cmovnp , X86Rm , O(000F00,4B,_,_,x,_,_,_ ), 0 , 4 , 0 , 386 , 22 , 34 ), // #97
- INST(Cmovns , X86Rm , O(000F00,49,_,_,x,_,_,_ ), 0 , 4 , 0 , 393 , 22 , 35 ), // #98
- INST(Cmovnz , X86Rm , O(000F00,45,_,_,x,_,_,_ ), 0 , 4 , 0 , 400 , 22 , 30 ), // #99
- INST(Cmovo , X86Rm , O(000F00,40,_,_,x,_,_,_ ), 0 , 4 , 0 , 407 , 22 , 33 ), // #100
- INST(Cmovp , X86Rm , O(000F00,4A,_,_,x,_,_,_ ), 0 , 4 , 0 , 413 , 22 , 34 ), // #101
- INST(Cmovpe , X86Rm , O(000F00,4A,_,_,x,_,_,_ ), 0 , 4 , 0 , 419 , 22 , 34 ), // #102
- INST(Cmovpo , X86Rm , O(000F00,4B,_,_,x,_,_,_ ), 0 , 4 , 0 , 426 , 22 , 34 ), // #103
- INST(Cmovs , X86Rm , O(000F00,48,_,_,x,_,_,_ ), 0 , 4 , 0 , 433 , 22 , 35 ), // #104
- INST(Cmovz , X86Rm , O(000F00,44,_,_,x,_,_,_ ), 0 , 4 , 0 , 439 , 22 , 30 ), // #105
- INST(Cmp , X86Arith , O(000000,38,7,_,x,_,_,_ ), 0 , 26 , 0 , 445 , 34 , 1 ), // #106
- INST(Cmppd , ExtRmi , O(660F00,C2,_,_,_,_,_,_ ), 0 , 3 , 0 , 3738 , 8 , 4 ), // #107
- INST(Cmpps , ExtRmi , O(000F00,C2,_,_,_,_,_,_ ), 0 , 4 , 0 , 3745 , 8 , 5 ), // #108
- INST(Cmps , X86StrMm , O(000000,A6,_,_,_,_,_,_ ), 0 , 0 , 0 , 449 , 35 , 36 ), // #109
- INST(Cmpsd , ExtRmi , O(F20F00,C2,_,_,_,_,_,_ ), 0 , 5 , 0 , 3752 , 36 , 4 ), // #110
- INST(Cmpss , ExtRmi , O(F30F00,C2,_,_,_,_,_,_ ), 0 , 6 , 0 , 3759 , 37 , 5 ), // #111
- INST(Cmpxchg , X86Cmpxchg , O(000F00,B0,_,_,x,_,_,_ ), 0 , 4 , 0 , 454 , 38 , 37 ), // #112
- INST(Cmpxchg16b , X86Cmpxchg8b_16b , O(000F00,C7,1,_,1,_,_,_ ), 0 , 27 , 0 , 462 , 39 , 38 ), // #113
- INST(Cmpxchg8b , X86Cmpxchg8b_16b , O(000F00,C7,1,_,_,_,_,_ ), 0 , 28 , 0 , 473 , 40 , 39 ), // #114
- INST(Comisd , ExtRm , O(660F00,2F,_,_,_,_,_,_ ), 0 , 3 , 0 , 10265, 6 , 40 ), // #115
- INST(Comiss , ExtRm , O(000F00,2F,_,_,_,_,_,_ ), 0 , 4 , 0 , 10274, 7 , 41 ), // #116
- INST(Cpuid , X86Op , O(000F00,A2,_,_,_,_,_,_ ), 0 , 4 , 0 , 483 , 41 , 42 ), // #117
- INST(Cqo , X86Op_xDX_xAX , O(000000,99,_,_,1,_,_,_ ), 0 , 20 , 0 , 489 , 42 , 0 ), // #118
- INST(Crc32 , X86Crc , O(F20F38,F0,_,_,x,_,_,_ ), 0 , 29 , 0 , 493 , 43 , 43 ), // #119
- INST(Cvtdq2pd , ExtRm , O(F30F00,E6,_,_,_,_,_,_ ), 0 , 6 , 0 , 3806 , 6 , 4 ), // #120
- INST(Cvtdq2ps , ExtRm , O(000F00,5B,_,_,_,_,_,_ ), 0 , 4 , 0 , 3816 , 5 , 4 ), // #121
- INST(Cvtpd2dq , ExtRm , O(F20F00,E6,_,_,_,_,_,_ ), 0 , 5 , 0 , 3855 , 5 , 4 ), // #122
- INST(Cvtpd2pi , ExtRm , O(660F00,2D,_,_,_,_,_,_ ), 0 , 3 , 0 , 499 , 44 , 4 ), // #123
- INST(Cvtpd2ps , ExtRm , O(660F00,5A,_,_,_,_,_,_ ), 0 , 3 , 0 , 3865 , 5 , 4 ), // #124
- INST(Cvtpi2pd , ExtRm , O(660F00,2A,_,_,_,_,_,_ ), 0 , 3 , 0 , 508 , 45 , 4 ), // #125
- INST(Cvtpi2ps , ExtRm , O(000F00,2A,_,_,_,_,_,_ ), 0 , 4 , 0 , 517 , 45 , 5 ), // #126
- INST(Cvtps2dq , ExtRm , O(660F00,5B,_,_,_,_,_,_ ), 0 , 3 , 0 , 3917 , 5 , 4 ), // #127
- INST(Cvtps2pd , ExtRm , O(000F00,5A,_,_,_,_,_,_ ), 0 , 4 , 0 , 3927 , 6 , 4 ), // #128
- INST(Cvtps2pi , ExtRm , O(000F00,2D,_,_,_,_,_,_ ), 0 , 4 , 0 , 526 , 46 , 5 ), // #129
- INST(Cvtsd2si , ExtRm_Wx , O(F20F00,2D,_,_,x,_,_,_ ), 0 , 5 , 0 , 3999 , 47 , 4 ), // #130
- INST(Cvtsd2ss , ExtRm , O(F20F00,5A,_,_,_,_,_,_ ), 0 , 5 , 0 , 4009 , 6 , 4 ), // #131
- INST(Cvtsi2sd , ExtRm_Wx , O(F20F00,2A,_,_,x,_,_,_ ), 0 , 5 , 0 , 4030 , 48 , 4 ), // #132
- INST(Cvtsi2ss , ExtRm_Wx , O(F30F00,2A,_,_,x,_,_,_ ), 0 , 6 , 0 , 4040 , 48 , 5 ), // #133
- INST(Cvtss2sd , ExtRm , O(F30F00,5A,_,_,_,_,_,_ ), 0 , 6 , 0 , 4050 , 7 , 4 ), // #134
- INST(Cvtss2si , ExtRm_Wx , O(F30F00,2D,_,_,x,_,_,_ ), 0 , 6 , 0 , 4060 , 49 , 5 ), // #135
- INST(Cvttpd2dq , ExtRm , O(660F00,E6,_,_,_,_,_,_ ), 0 , 3 , 0 , 4081 , 5 , 4 ), // #136
- INST(Cvttpd2pi , ExtRm , O(660F00,2C,_,_,_,_,_,_ ), 0 , 3 , 0 , 535 , 44 , 4 ), // #137
- INST(Cvttps2dq , ExtRm , O(F30F00,5B,_,_,_,_,_,_ ), 0 , 6 , 0 , 4127 , 5 , 4 ), // #138
- INST(Cvttps2pi , ExtRm , O(000F00,2C,_,_,_,_,_,_ ), 0 , 4 , 0 , 545 , 46 , 5 ), // #139
- INST(Cvttsd2si , ExtRm_Wx , O(F20F00,2C,_,_,x,_,_,_ ), 0 , 5 , 0 , 4173 , 47 , 4 ), // #140
- INST(Cvttss2si , ExtRm_Wx , O(F30F00,2C,_,_,x,_,_,_ ), 0 , 6 , 0 , 4196 , 49 , 5 ), // #141
- INST(Cwd , X86Op_xDX_xAX , O(660000,99,_,_,_,_,_,_ ), 0 , 19 , 0 , 555 , 50 , 0 ), // #142
- INST(Cwde , X86Op_xAX , O(000000,98,_,_,_,_,_,_ ), 0 , 0 , 0 , 559 , 51 , 0 ), // #143
- INST(Daa , X86Op , O(000000,27,_,_,_,_,_,_ ), 0 , 0 , 0 , 564 , 1 , 1 ), // #144
- INST(Das , X86Op , O(000000,2F,_,_,_,_,_,_ ), 0 , 0 , 0 , 568 , 1 , 1 ), // #145
- INST(Dec , X86IncDec , O(000000,FE,1,_,x,_,_,_ ), O(000000,48,_,_,x,_,_,_ ), 30 , 6 , 3320 , 52 , 44 ), // #146
- INST(Div , X86M_GPB_MulDiv , O(000000,F6,6,_,x,_,_,_ ), 0 , 31 , 0 , 805 , 53 , 1 ), // #147
- INST(Divpd , ExtRm , O(660F00,5E,_,_,_,_,_,_ ), 0 , 3 , 0 , 4295 , 5 , 4 ), // #148
- INST(Divps , ExtRm , O(000F00,5E,_,_,_,_,_,_ ), 0 , 4 , 0 , 4302 , 5 , 5 ), // #149
- INST(Divsd , ExtRm , O(F20F00,5E,_,_,_,_,_,_ ), 0 , 5 , 0 , 4309 , 6 , 4 ), // #150
- INST(Divss , ExtRm , O(F30F00,5E,_,_,_,_,_,_ ), 0 , 6 , 0 , 4316 , 7 , 5 ), // #151
- INST(Dppd , ExtRmi , O(660F3A,41,_,_,_,_,_,_ ), 0 , 8 , 0 , 4333 , 8 , 12 ), // #152
- INST(Dpps , ExtRmi , O(660F3A,40,_,_,_,_,_,_ ), 0 , 8 , 0 , 4339 , 8 , 12 ), // #153
- INST(Emms , X86Op , O(000F00,77,_,_,_,_,_,_ ), 0 , 4 , 0 , 773 , 54 , 45 ), // #154
- INST(Endbr32 , X86Op_Mod11RM , O(F30F00,FB,7,_,_,_,_,3 ), 0 , 32 , 0 , 572 , 30 , 46 ), // #155
- INST(Endbr64 , X86Op_Mod11RM , O(F30F00,FA,7,_,_,_,_,2 ), 0 , 33 , 0 , 580 , 30 , 46 ), // #156
- INST(Enqcmd , X86EnqcmdMovdir64b , O(F20F38,F8,_,_,_,_,_,_ ), 0 , 29 , 0 , 588 , 55 , 47 ), // #157
- INST(Enqcmds , X86EnqcmdMovdir64b , O(F30F38,F8,_,_,_,_,_,_ ), 0 , 7 , 0 , 595 , 55 , 47 ), // #158
- INST(Enter , X86Enter , O(000000,C8,_,_,_,_,_,_ ), 0 , 0 , 0 , 3036 , 56 , 0 ), // #159
- INST(Extractps , ExtExtract , O(660F3A,17,_,_,_,_,_,_ ), 0 , 8 , 0 , 4529 , 57 , 12 ), // #160
- INST(Extrq , ExtExtrq , O(660F00,79,_,_,_,_,_,_ ), O(660F00,78,0,_,_,_,_,_ ), 3 , 7 , 7625 , 58 , 48 ), // #161
- INST(F2xm1 , FpuOp , O_FPU(00,D9F0,_) , 0 , 34 , 0 , 603 , 30 , 0 ), // #162
- INST(Fabs , FpuOp , O_FPU(00,D9E1,_) , 0 , 34 , 0 , 609 , 30 , 0 ), // #163
- INST(Fadd , FpuArith , O_FPU(00,C0C0,0) , 0 , 35 , 0 , 2125 , 59 , 0 ), // #164
- INST(Faddp , FpuRDef , O_FPU(00,DEC0,_) , 0 , 36 , 0 , 614 , 60 , 0 ), // #165
- INST(Fbld , X86M_Only , O_FPU(00,00DF,4) , 0 , 37 , 0 , 620 , 61 , 0 ), // #166
- INST(Fbstp , X86M_Only , O_FPU(00,00DF,6) , 0 , 38 , 0 , 625 , 61 , 0 ), // #167
- INST(Fchs , FpuOp , O_FPU(00,D9E0,_) , 0 , 34 , 0 , 631 , 30 , 0 ), // #168
- INST(Fclex , FpuOp , O_FPU(9B,DBE2,_) , 0 , 39 , 0 , 636 , 30 , 0 ), // #169
- INST(Fcmovb , FpuR , O_FPU(00,DAC0,_) , 0 , 40 , 0 , 642 , 62 , 29 ), // #170
- INST(Fcmovbe , FpuR , O_FPU(00,DAD0,_) , 0 , 40 , 0 , 649 , 62 , 28 ), // #171
- INST(Fcmove , FpuR , O_FPU(00,DAC8,_) , 0 , 40 , 0 , 657 , 62 , 30 ), // #172
- INST(Fcmovnb , FpuR , O_FPU(00,DBC0,_) , 0 , 41 , 0 , 664 , 62 , 29 ), // #173
- INST(Fcmovnbe , FpuR , O_FPU(00,DBD0,_) , 0 , 41 , 0 , 672 , 62 , 28 ), // #174
- INST(Fcmovne , FpuR , O_FPU(00,DBC8,_) , 0 , 41 , 0 , 681 , 62 , 30 ), // #175
- INST(Fcmovnu , FpuR , O_FPU(00,DBD8,_) , 0 , 41 , 0 , 689 , 62 , 34 ), // #176
- INST(Fcmovu , FpuR , O_FPU(00,DAD8,_) , 0 , 40 , 0 , 697 , 62 , 34 ), // #177
- INST(Fcom , FpuCom , O_FPU(00,D0D0,2) , 0 , 42 , 0 , 704 , 63 , 0 ), // #178
- INST(Fcomi , FpuR , O_FPU(00,DBF0,_) , 0 , 41 , 0 , 709 , 62 , 49 ), // #179
- INST(Fcomip , FpuR , O_FPU(00,DFF0,_) , 0 , 43 , 0 , 715 , 62 , 49 ), // #180
- INST(Fcomp , FpuCom , O_FPU(00,D8D8,3) , 0 , 44 , 0 , 722 , 63 , 0 ), // #181
- INST(Fcompp , FpuOp , O_FPU(00,DED9,_) , 0 , 36 , 0 , 728 , 30 , 0 ), // #182
- INST(Fcos , FpuOp , O_FPU(00,D9FF,_) , 0 , 34 , 0 , 735 , 30 , 0 ), // #183
- INST(Fdecstp , FpuOp , O_FPU(00,D9F6,_) , 0 , 34 , 0 , 740 , 30 , 0 ), // #184
- INST(Fdiv , FpuArith , O_FPU(00,F0F8,6) , 0 , 45 , 0 , 748 , 59 , 0 ), // #185
- INST(Fdivp , FpuRDef , O_FPU(00,DEF8,_) , 0 , 36 , 0 , 753 , 60 , 0 ), // #186
- INST(Fdivr , FpuArith , O_FPU(00,F8F0,7) , 0 , 46 , 0 , 759 , 59 , 0 ), // #187
- INST(Fdivrp , FpuRDef , O_FPU(00,DEF0,_) , 0 , 36 , 0 , 765 , 60 , 0 ), // #188
- INST(Femms , X86Op , O(000F00,0E,_,_,_,_,_,_ ), 0 , 4 , 0 , 772 , 30 , 50 ), // #189
- INST(Ffree , FpuR , O_FPU(00,DDC0,_) , 0 , 47 , 0 , 778 , 62 , 0 ), // #190
- INST(Fiadd , FpuM , O_FPU(00,00DA,0) , 0 , 48 , 0 , 784 , 64 , 0 ), // #191
- INST(Ficom , FpuM , O_FPU(00,00DA,2) , 0 , 49 , 0 , 790 , 64 , 0 ), // #192
- INST(Ficomp , FpuM , O_FPU(00,00DA,3) , 0 , 50 , 0 , 796 , 64 , 0 ), // #193
- INST(Fidiv , FpuM , O_FPU(00,00DA,6) , 0 , 38 , 0 , 803 , 64 , 0 ), // #194
- INST(Fidivr , FpuM , O_FPU(00,00DA,7) , 0 , 51 , 0 , 809 , 64 , 0 ), // #195
- INST(Fild , FpuM , O_FPU(00,00DB,0) , O_FPU(00,00DF,5) , 48 , 8 , 816 , 65 , 0 ), // #196
- INST(Fimul , FpuM , O_FPU(00,00DA,1) , 0 , 52 , 0 , 821 , 64 , 0 ), // #197
- INST(Fincstp , FpuOp , O_FPU(00,D9F7,_) , 0 , 34 , 0 , 827 , 30 , 0 ), // #198
- INST(Finit , FpuOp , O_FPU(9B,DBE3,_) , 0 , 39 , 0 , 835 , 30 , 0 ), // #199
- INST(Fist , FpuM , O_FPU(00,00DB,2) , 0 , 49 , 0 , 841 , 64 , 0 ), // #200
- INST(Fistp , FpuM , O_FPU(00,00DB,3) , O_FPU(00,00DF,7) , 50 , 9 , 846 , 65 , 0 ), // #201
- INST(Fisttp , FpuM , O_FPU(00,00DB,1) , O_FPU(00,00DD,1) , 52 , 10 , 852 , 65 , 6 ), // #202
- INST(Fisub , FpuM , O_FPU(00,00DA,4) , 0 , 37 , 0 , 859 , 64 , 0 ), // #203
- INST(Fisubr , FpuM , O_FPU(00,00DA,5) , 0 , 53 , 0 , 865 , 64 , 0 ), // #204
- INST(Fld , FpuFldFst , O_FPU(00,00D9,0) , O_FPU(00,00DB,5) , 48 , 11 , 872 , 66 , 0 ), // #205
- INST(Fld1 , FpuOp , O_FPU(00,D9E8,_) , 0 , 34 , 0 , 876 , 30 , 0 ), // #206
- INST(Fldcw , X86M_Only , O_FPU(00,00D9,5) , 0 , 53 , 0 , 881 , 67 , 0 ), // #207
- INST(Fldenv , X86M_Only , O_FPU(00,00D9,4) , 0 , 37 , 0 , 887 , 31 , 0 ), // #208
- INST(Fldl2e , FpuOp , O_FPU(00,D9EA,_) , 0 , 34 , 0 , 894 , 30 , 0 ), // #209
- INST(Fldl2t , FpuOp , O_FPU(00,D9E9,_) , 0 , 34 , 0 , 901 , 30 , 0 ), // #210
- INST(Fldlg2 , FpuOp , O_FPU(00,D9EC,_) , 0 , 34 , 0 , 908 , 30 , 0 ), // #211
- INST(Fldln2 , FpuOp , O_FPU(00,D9ED,_) , 0 , 34 , 0 , 915 , 30 , 0 ), // #212
- INST(Fldpi , FpuOp , O_FPU(00,D9EB,_) , 0 , 34 , 0 , 922 , 30 , 0 ), // #213
- INST(Fldz , FpuOp , O_FPU(00,D9EE,_) , 0 , 34 , 0 , 928 , 30 , 0 ), // #214
- INST(Fmul , FpuArith , O_FPU(00,C8C8,1) , 0 , 54 , 0 , 2167 , 59 , 0 ), // #215
- INST(Fmulp , FpuRDef , O_FPU(00,DEC8,_) , 0 , 36 , 0 , 933 , 60 , 0 ), // #216
- INST(Fnclex , FpuOp , O_FPU(00,DBE2,_) , 0 , 41 , 0 , 939 , 30 , 0 ), // #217
- INST(Fninit , FpuOp , O_FPU(00,DBE3,_) , 0 , 41 , 0 , 946 , 30 , 0 ), // #218
- INST(Fnop , FpuOp , O_FPU(00,D9D0,_) , 0 , 34 , 0 , 953 , 30 , 0 ), // #219
- INST(Fnsave , X86M_Only , O_FPU(00,00DD,6) , 0 , 38 , 0 , 958 , 31 , 0 ), // #220
- INST(Fnstcw , X86M_Only , O_FPU(00,00D9,7) , 0 , 51 , 0 , 965 , 67 , 0 ), // #221
- INST(Fnstenv , X86M_Only , O_FPU(00,00D9,6) , 0 , 38 , 0 , 972 , 31 , 0 ), // #222
- INST(Fnstsw , FpuStsw , O_FPU(00,00DD,7) , O_FPU(00,DFE0,_) , 51 , 12 , 980 , 68 , 0 ), // #223
- INST(Fpatan , FpuOp , O_FPU(00,D9F3,_) , 0 , 34 , 0 , 987 , 30 , 0 ), // #224
- INST(Fprem , FpuOp , O_FPU(00,D9F8,_) , 0 , 34 , 0 , 994 , 30 , 0 ), // #225
- INST(Fprem1 , FpuOp , O_FPU(00,D9F5,_) , 0 , 34 , 0 , 1000 , 30 , 0 ), // #226
- INST(Fptan , FpuOp , O_FPU(00,D9F2,_) , 0 , 34 , 0 , 1007 , 30 , 0 ), // #227
- INST(Frndint , FpuOp , O_FPU(00,D9FC,_) , 0 , 34 , 0 , 1013 , 30 , 0 ), // #228
- INST(Frstor , X86M_Only , O_FPU(00,00DD,4) , 0 , 37 , 0 , 1021 , 31 , 0 ), // #229
- INST(Fsave , X86M_Only , O_FPU(9B,00DD,6) , 0 , 55 , 0 , 1028 , 31 , 0 ), // #230
- INST(Fscale , FpuOp , O_FPU(00,D9FD,_) , 0 , 34 , 0 , 1034 , 30 , 0 ), // #231
- INST(Fsin , FpuOp , O_FPU(00,D9FE,_) , 0 , 34 , 0 , 1041 , 30 , 0 ), // #232
- INST(Fsincos , FpuOp , O_FPU(00,D9FB,_) , 0 , 34 , 0 , 1046 , 30 , 0 ), // #233
- INST(Fsqrt , FpuOp , O_FPU(00,D9FA,_) , 0 , 34 , 0 , 1054 , 30 , 0 ), // #234
- INST(Fst , FpuFldFst , O_FPU(00,00D9,2) , 0 , 49 , 0 , 1060 , 69 , 0 ), // #235
- INST(Fstcw , X86M_Only , O_FPU(9B,00D9,7) , 0 , 56 , 0 , 1064 , 67 , 0 ), // #236
- INST(Fstenv , X86M_Only , O_FPU(9B,00D9,6) , 0 , 55 , 0 , 1070 , 31 , 0 ), // #237
- INST(Fstp , FpuFldFst , O_FPU(00,00D9,3) , O(000000,DB,7,_,_,_,_,_ ), 50 , 13 , 1077 , 66 , 0 ), // #238
- INST(Fstsw , FpuStsw , O_FPU(9B,00DD,7) , O_FPU(9B,DFE0,_) , 56 , 14 , 1082 , 68 , 0 ), // #239
- INST(Fsub , FpuArith , O_FPU(00,E0E8,4) , 0 , 57 , 0 , 2245 , 59 , 0 ), // #240
- INST(Fsubp , FpuRDef , O_FPU(00,DEE8,_) , 0 , 36 , 0 , 1088 , 60 , 0 ), // #241
- INST(Fsubr , FpuArith , O_FPU(00,E8E0,5) , 0 , 58 , 0 , 2251 , 59 , 0 ), // #242
- INST(Fsubrp , FpuRDef , O_FPU(00,DEE0,_) , 0 , 36 , 0 , 1094 , 60 , 0 ), // #243
- INST(Ftst , FpuOp , O_FPU(00,D9E4,_) , 0 , 34 , 0 , 1101 , 30 , 0 ), // #244
- INST(Fucom , FpuRDef , O_FPU(00,DDE0,_) , 0 , 47 , 0 , 1106 , 60 , 0 ), // #245
- INST(Fucomi , FpuR , O_FPU(00,DBE8,_) , 0 , 41 , 0 , 1112 , 62 , 49 ), // #246
- INST(Fucomip , FpuR , O_FPU(00,DFE8,_) , 0 , 43 , 0 , 1119 , 62 , 49 ), // #247
- INST(Fucomp , FpuRDef , O_FPU(00,DDE8,_) , 0 , 47 , 0 , 1127 , 60 , 0 ), // #248
- INST(Fucompp , FpuOp , O_FPU(00,DAE9,_) , 0 , 40 , 0 , 1134 , 30 , 0 ), // #249
- INST(Fwait , X86Op , O_FPU(00,009B,_) , 0 , 59 , 0 , 1142 , 30 , 0 ), // #250
- INST(Fxam , FpuOp , O_FPU(00,D9E5,_) , 0 , 34 , 0 , 1148 , 30 , 0 ), // #251
- INST(Fxch , FpuR , O_FPU(00,D9C8,_) , 0 , 34 , 0 , 1153 , 60 , 0 ), // #252
- INST(Fxrstor , X86M_Only , O(000F00,AE,1,_,_,_,_,_ ), 0 , 28 , 0 , 1158 , 31 , 51 ), // #253
- INST(Fxrstor64 , X86M_Only , O(000F00,AE,1,_,1,_,_,_ ), 0 , 27 , 0 , 1166 , 70 , 51 ), // #254
- INST(Fxsave , X86M_Only , O(000F00,AE,0,_,_,_,_,_ ), 0 , 4 , 0 , 1176 , 31 , 51 ), // #255
- INST(Fxsave64 , X86M_Only , O(000F00,AE,0,_,1,_,_,_ ), 0 , 60 , 0 , 1183 , 70 , 51 ), // #256
- INST(Fxtract , FpuOp , O_FPU(00,D9F4,_) , 0 , 34 , 0 , 1192 , 30 , 0 ), // #257
- INST(Fyl2x , FpuOp , O_FPU(00,D9F1,_) , 0 , 34 , 0 , 1200 , 30 , 0 ), // #258
- INST(Fyl2xp1 , FpuOp , O_FPU(00,D9F9,_) , 0 , 34 , 0 , 1206 , 30 , 0 ), // #259
- INST(Getsec , X86Op , O(000F00,37,_,_,_,_,_,_ ), 0 , 4 , 0 , 1214 , 30 , 52 ), // #260
- INST(Gf2p8affineinvqb , ExtRmi , O(660F3A,CF,_,_,_,_,_,_ ), 0 , 8 , 0 , 5884 , 8 , 53 ), // #261
- INST(Gf2p8affineqb , ExtRmi , O(660F3A,CE,_,_,_,_,_,_ ), 0 , 8 , 0 , 5902 , 8 , 53 ), // #262
- INST(Gf2p8mulb , ExtRm , O(660F38,CF,_,_,_,_,_,_ ), 0 , 2 , 0 , 5917 , 5 , 53 ), // #263
- INST(Haddpd , ExtRm , O(660F00,7C,_,_,_,_,_,_ ), 0 , 3 , 0 , 5928 , 5 , 6 ), // #264
- INST(Haddps , ExtRm , O(F20F00,7C,_,_,_,_,_,_ ), 0 , 5 , 0 , 5936 , 5 , 6 ), // #265
- INST(Hlt , X86Op , O(000000,F4,_,_,_,_,_,_ ), 0 , 0 , 0 , 1221 , 30 , 0 ), // #266
- INST(Hsubpd , ExtRm , O(660F00,7D,_,_,_,_,_,_ ), 0 , 3 , 0 , 5944 , 5 , 6 ), // #267
- INST(Hsubps , ExtRm , O(F20F00,7D,_,_,_,_,_,_ ), 0 , 5 , 0 , 5952 , 5 , 6 ), // #268
- INST(Idiv , X86M_GPB_MulDiv , O(000000,F6,7,_,x,_,_,_ ), 0 , 26 , 0 , 804 , 53 , 1 ), // #269
- INST(Imul , X86Imul , O(000000,F6,5,_,x,_,_,_ ), 0 , 61 , 0 , 822 , 71 , 1 ), // #270
- INST(In , X86In , O(000000,EC,_,_,_,_,_,_ ), O(000000,E4,_,_,_,_,_,_ ), 0 , 15 , 10437, 72 , 0 ), // #271
- INST(Inc , X86IncDec , O(000000,FE,0,_,x,_,_,_ ), O(000000,40,_,_,x,_,_,_ ), 0 , 16 , 1225 , 52 , 44 ), // #272
- INST(Incsspd , X86M , O(F30F00,AE,5,_,0,_,_,_ ), 0 , 62 , 0 , 1229 , 73 , 54 ), // #273
- INST(Incsspq , X86M , O(F30F00,AE,5,_,1,_,_,_ ), 0 , 63 , 0 , 1237 , 74 , 54 ), // #274
- INST(Ins , X86Ins , O(000000,6C,_,_,_,_,_,_ ), 0 , 0 , 0 , 1920 , 75 , 0 ), // #275
- INST(Insertps , ExtRmi , O(660F3A,21,_,_,_,_,_,_ ), 0 , 8 , 0 , 6088 , 37 , 12 ), // #276
- INST(Insertq , ExtInsertq , O(F20F00,79,_,_,_,_,_,_ ), O(F20F00,78,_,_,_,_,_,_ ), 5 , 17 , 1245 , 76 , 48 ), // #277
- INST(Int , X86Int , O(000000,CD,_,_,_,_,_,_ ), 0 , 0 , 0 , 1017 , 77 , 0 ), // #278
- INST(Int3 , X86Op , O(000000,CC,_,_,_,_,_,_ ), 0 , 0 , 0 , 1253 , 30 , 0 ), // #279
- INST(Into , X86Op , O(000000,CE,_,_,_,_,_,_ ), 0 , 0 , 0 , 1258 , 78 , 55 ), // #280
- INST(Invd , X86Op , O(000F00,08,_,_,_,_,_,_ ), 0 , 4 , 0 , 10366, 30 , 42 ), // #281
- INST(Invept , X86Rm_NoSize , O(660F38,80,_,_,_,_,_,_ ), 0 , 2 , 0 , 1263 , 79 , 56 ), // #282
- INST(Invlpg , X86M_Only , O(000F00,01,7,_,_,_,_,_ ), 0 , 22 , 0 , 1270 , 31 , 42 ), // #283
- INST(Invlpga , X86Op_xAddr , O(000F01,DF,_,_,_,_,_,_ ), 0 , 21 , 0 , 1277 , 80 , 22 ), // #284
- INST(Invpcid , X86Rm_NoSize , O(660F38,82,_,_,_,_,_,_ ), 0 , 2 , 0 , 1285 , 79 , 42 ), // #285
- INST(Invvpid , X86Rm_NoSize , O(660F38,81,_,_,_,_,_,_ ), 0 , 2 , 0 , 1293 , 79 , 56 ), // #286
- INST(Iret , X86Op , O(000000,CF,_,_,_,_,_,_ ), 0 , 0 , 0 , 1301 , 81 , 1 ), // #287
- INST(Iretd , X86Op , O(000000,CF,_,_,_,_,_,_ ), 0 , 0 , 0 , 1306 , 81 , 1 ), // #288
- INST(Iretq , X86Op , O(000000,CF,_,_,1,_,_,_ ), 0 , 20 , 0 , 1312 , 82 , 1 ), // #289
- INST(Iretw , X86Op , O(660000,CF,_,_,_,_,_,_ ), 0 , 19 , 0 , 1318 , 81 , 1 ), // #290
- INST(Ja , X86Jcc , O(000F00,87,_,_,_,_,_,_ ), O(000000,77,_,_,_,_,_,_ ), 4 , 18 , 1324 , 83 , 57 ), // #291
- INST(Jae , X86Jcc , O(000F00,83,_,_,_,_,_,_ ), O(000000,73,_,_,_,_,_,_ ), 4 , 19 , 1327 , 83 , 58 ), // #292
- INST(Jb , X86Jcc , O(000F00,82,_,_,_,_,_,_ ), O(000000,72,_,_,_,_,_,_ ), 4 , 20 , 1331 , 83 , 58 ), // #293
- INST(Jbe , X86Jcc , O(000F00,86,_,_,_,_,_,_ ), O(000000,76,_,_,_,_,_,_ ), 4 , 21 , 1334 , 83 , 57 ), // #294
- INST(Jc , X86Jcc , O(000F00,82,_,_,_,_,_,_ ), O(000000,72,_,_,_,_,_,_ ), 4 , 20 , 1338 , 83 , 58 ), // #295
- INST(Je , X86Jcc , O(000F00,84,_,_,_,_,_,_ ), O(000000,74,_,_,_,_,_,_ ), 4 , 22 , 1341 , 83 , 59 ), // #296
- INST(Jecxz , X86JecxzLoop , 0 , O(000000,E3,_,_,_,_,_,_ ), 0 , 23 , 1344 , 84 , 0 ), // #297
- INST(Jg , X86Jcc , O(000F00,8F,_,_,_,_,_,_ ), O(000000,7F,_,_,_,_,_,_ ), 4 , 24 , 1350 , 83 , 60 ), // #298
- INST(Jge , X86Jcc , O(000F00,8D,_,_,_,_,_,_ ), O(000000,7D,_,_,_,_,_,_ ), 4 , 25 , 1353 , 83 , 61 ), // #299
- INST(Jl , X86Jcc , O(000F00,8C,_,_,_,_,_,_ ), O(000000,7C,_,_,_,_,_,_ ), 4 , 26 , 1357 , 83 , 61 ), // #300
- INST(Jle , X86Jcc , O(000F00,8E,_,_,_,_,_,_ ), O(000000,7E,_,_,_,_,_,_ ), 4 , 27 , 1360 , 83 , 60 ), // #301
- INST(Jmp , X86Jmp , O(000000,FF,4,_,_,_,_,_ ), O(000000,EB,_,_,_,_,_,_ ), 9 , 28 , 1860 , 85 , 0 ), // #302
- INST(Jna , X86Jcc , O(000F00,86,_,_,_,_,_,_ ), O(000000,76,_,_,_,_,_,_ ), 4 , 21 , 1364 , 83 , 57 ), // #303
- INST(Jnae , X86Jcc , O(000F00,82,_,_,_,_,_,_ ), O(000000,72,_,_,_,_,_,_ ), 4 , 20 , 1368 , 83 , 58 ), // #304
- INST(Jnb , X86Jcc , O(000F00,83,_,_,_,_,_,_ ), O(000000,73,_,_,_,_,_,_ ), 4 , 19 , 1373 , 83 , 58 ), // #305
- INST(Jnbe , X86Jcc , O(000F00,87,_,_,_,_,_,_ ), O(000000,77,_,_,_,_,_,_ ), 4 , 18 , 1377 , 83 , 57 ), // #306
- INST(Jnc , X86Jcc , O(000F00,83,_,_,_,_,_,_ ), O(000000,73,_,_,_,_,_,_ ), 4 , 19 , 1382 , 83 , 58 ), // #307
- INST(Jne , X86Jcc , O(000F00,85,_,_,_,_,_,_ ), O(000000,75,_,_,_,_,_,_ ), 4 , 29 , 1386 , 83 , 59 ), // #308
- INST(Jng , X86Jcc , O(000F00,8E,_,_,_,_,_,_ ), O(000000,7E,_,_,_,_,_,_ ), 4 , 27 , 1390 , 83 , 60 ), // #309
- INST(Jnge , X86Jcc , O(000F00,8C,_,_,_,_,_,_ ), O(000000,7C,_,_,_,_,_,_ ), 4 , 26 , 1394 , 83 , 61 ), // #310
- INST(Jnl , X86Jcc , O(000F00,8D,_,_,_,_,_,_ ), O(000000,7D,_,_,_,_,_,_ ), 4 , 25 , 1399 , 83 , 61 ), // #311
- INST(Jnle , X86Jcc , O(000F00,8F,_,_,_,_,_,_ ), O(000000,7F,_,_,_,_,_,_ ), 4 , 24 , 1403 , 83 , 60 ), // #312
- INST(Jno , X86Jcc , O(000F00,81,_,_,_,_,_,_ ), O(000000,71,_,_,_,_,_,_ ), 4 , 30 , 1408 , 83 , 55 ), // #313
- INST(Jnp , X86Jcc , O(000F00,8B,_,_,_,_,_,_ ), O(000000,7B,_,_,_,_,_,_ ), 4 , 31 , 1412 , 83 , 62 ), // #314
- INST(Jns , X86Jcc , O(000F00,89,_,_,_,_,_,_ ), O(000000,79,_,_,_,_,_,_ ), 4 , 32 , 1416 , 83 , 63 ), // #315
- INST(Jnz , X86Jcc , O(000F00,85,_,_,_,_,_,_ ), O(000000,75,_,_,_,_,_,_ ), 4 , 29 , 1420 , 83 , 59 ), // #316
- INST(Jo , X86Jcc , O(000F00,80,_,_,_,_,_,_ ), O(000000,70,_,_,_,_,_,_ ), 4 , 33 , 1424 , 83 , 55 ), // #317
- INST(Jp , X86Jcc , O(000F00,8A,_,_,_,_,_,_ ), O(000000,7A,_,_,_,_,_,_ ), 4 , 34 , 1427 , 83 , 62 ), // #318
- INST(Jpe , X86Jcc , O(000F00,8A,_,_,_,_,_,_ ), O(000000,7A,_,_,_,_,_,_ ), 4 , 34 , 1430 , 83 , 62 ), // #319
- INST(Jpo , X86Jcc , O(000F00,8B,_,_,_,_,_,_ ), O(000000,7B,_,_,_,_,_,_ ), 4 , 31 , 1434 , 83 , 62 ), // #320
- INST(Js , X86Jcc , O(000F00,88,_,_,_,_,_,_ ), O(000000,78,_,_,_,_,_,_ ), 4 , 35 , 1438 , 83 , 63 ), // #321
- INST(Jz , X86Jcc , O(000F00,84,_,_,_,_,_,_ ), O(000000,74,_,_,_,_,_,_ ), 4 , 22 , 1441 , 83 , 59 ), // #322
- INST(Kaddb , VexRvm , V(660F00,4A,_,1,0,_,_,_ ), 0 , 64 , 0 , 1444 , 86 , 64 ), // #323
- INST(Kaddd , VexRvm , V(660F00,4A,_,1,1,_,_,_ ), 0 , 65 , 0 , 1450 , 86 , 65 ), // #324
- INST(Kaddq , VexRvm , V(000F00,4A,_,1,1,_,_,_ ), 0 , 66 , 0 , 1456 , 86 , 65 ), // #325
- INST(Kaddw , VexRvm , V(000F00,4A,_,1,0,_,_,_ ), 0 , 67 , 0 , 1462 , 86 , 64 ), // #326
- INST(Kandb , VexRvm , V(660F00,41,_,1,0,_,_,_ ), 0 , 64 , 0 , 1468 , 86 , 64 ), // #327
- INST(Kandd , VexRvm , V(660F00,41,_,1,1,_,_,_ ), 0 , 65 , 0 , 1474 , 86 , 65 ), // #328
- INST(Kandnb , VexRvm , V(660F00,42,_,1,0,_,_,_ ), 0 , 64 , 0 , 1480 , 86 , 64 ), // #329
- INST(Kandnd , VexRvm , V(660F00,42,_,1,1,_,_,_ ), 0 , 65 , 0 , 1487 , 86 , 65 ), // #330
- INST(Kandnq , VexRvm , V(000F00,42,_,1,1,_,_,_ ), 0 , 66 , 0 , 1494 , 86 , 65 ), // #331
- INST(Kandnw , VexRvm , V(000F00,42,_,1,0,_,_,_ ), 0 , 67 , 0 , 1501 , 86 , 66 ), // #332
- INST(Kandq , VexRvm , V(000F00,41,_,1,1,_,_,_ ), 0 , 66 , 0 , 1508 , 86 , 65 ), // #333
- INST(Kandw , VexRvm , V(000F00,41,_,1,0,_,_,_ ), 0 , 67 , 0 , 1514 , 86 , 66 ), // #334
- INST(Kmovb , VexKmov , V(660F00,90,_,0,0,_,_,_ ), V(660F00,92,_,0,0,_,_,_ ), 68 , 36 , 1520 , 87 , 64 ), // #335
- INST(Kmovd , VexKmov , V(660F00,90,_,0,1,_,_,_ ), V(F20F00,92,_,0,0,_,_,_ ), 69 , 37 , 8105 , 88 , 65 ), // #336
- INST(Kmovq , VexKmov , V(000F00,90,_,0,1,_,_,_ ), V(F20F00,92,_,0,1,_,_,_ ), 70 , 38 , 8116 , 89 , 65 ), // #337
- INST(Kmovw , VexKmov , V(000F00,90,_,0,0,_,_,_ ), V(000F00,92,_,0,0,_,_,_ ), 71 , 39 , 1526 , 90 , 66 ), // #338
- INST(Knotb , VexRm , V(660F00,44,_,0,0,_,_,_ ), 0 , 68 , 0 , 1532 , 91 , 64 ), // #339
- INST(Knotd , VexRm , V(660F00,44,_,0,1,_,_,_ ), 0 , 69 , 0 , 1538 , 91 , 65 ), // #340
- INST(Knotq , VexRm , V(000F00,44,_,0,1,_,_,_ ), 0 , 70 , 0 , 1544 , 91 , 65 ), // #341
- INST(Knotw , VexRm , V(000F00,44,_,0,0,_,_,_ ), 0 , 71 , 0 , 1550 , 91 , 66 ), // #342
- INST(Korb , VexRvm , V(660F00,45,_,1,0,_,_,_ ), 0 , 64 , 0 , 1556 , 86 , 64 ), // #343
- INST(Kord , VexRvm , V(660F00,45,_,1,1,_,_,_ ), 0 , 65 , 0 , 1561 , 86 , 65 ), // #344
- INST(Korq , VexRvm , V(000F00,45,_,1,1,_,_,_ ), 0 , 66 , 0 , 1566 , 86 , 65 ), // #345
- INST(Kortestb , VexRm , V(660F00,98,_,0,0,_,_,_ ), 0 , 68 , 0 , 1571 , 91 , 67 ), // #346
- INST(Kortestd , VexRm , V(660F00,98,_,0,1,_,_,_ ), 0 , 69 , 0 , 1580 , 91 , 68 ), // #347
- INST(Kortestq , VexRm , V(000F00,98,_,0,1,_,_,_ ), 0 , 70 , 0 , 1589 , 91 , 68 ), // #348
- INST(Kortestw , VexRm , V(000F00,98,_,0,0,_,_,_ ), 0 , 71 , 0 , 1598 , 91 , 69 ), // #349
- INST(Korw , VexRvm , V(000F00,45,_,1,0,_,_,_ ), 0 , 67 , 0 , 1607 , 86 , 66 ), // #350
- INST(Kshiftlb , VexRmi , V(660F3A,32,_,0,0,_,_,_ ), 0 , 72 , 0 , 1612 , 92 , 64 ), // #351
- INST(Kshiftld , VexRmi , V(660F3A,33,_,0,0,_,_,_ ), 0 , 72 , 0 , 1621 , 92 , 65 ), // #352
- INST(Kshiftlq , VexRmi , V(660F3A,33,_,0,1,_,_,_ ), 0 , 73 , 0 , 1630 , 92 , 65 ), // #353
- INST(Kshiftlw , VexRmi , V(660F3A,32,_,0,1,_,_,_ ), 0 , 73 , 0 , 1639 , 92 , 66 ), // #354
- INST(Kshiftrb , VexRmi , V(660F3A,30,_,0,0,_,_,_ ), 0 , 72 , 0 , 1648 , 92 , 64 ), // #355
- INST(Kshiftrd , VexRmi , V(660F3A,31,_,0,0,_,_,_ ), 0 , 72 , 0 , 1657 , 92 , 65 ), // #356
- INST(Kshiftrq , VexRmi , V(660F3A,31,_,0,1,_,_,_ ), 0 , 73 , 0 , 1666 , 92 , 65 ), // #357
- INST(Kshiftrw , VexRmi , V(660F3A,30,_,0,1,_,_,_ ), 0 , 73 , 0 , 1675 , 92 , 66 ), // #358
- INST(Ktestb , VexRm , V(660F00,99,_,0,0,_,_,_ ), 0 , 68 , 0 , 1684 , 91 , 67 ), // #359
- INST(Ktestd , VexRm , V(660F00,99,_,0,1,_,_,_ ), 0 , 69 , 0 , 1691 , 91 , 68 ), // #360
- INST(Ktestq , VexRm , V(000F00,99,_,0,1,_,_,_ ), 0 , 70 , 0 , 1698 , 91 , 68 ), // #361
- INST(Ktestw , VexRm , V(000F00,99,_,0,0,_,_,_ ), 0 , 71 , 0 , 1705 , 91 , 67 ), // #362
- INST(Kunpckbw , VexRvm , V(660F00,4B,_,1,0,_,_,_ ), 0 , 64 , 0 , 1712 , 86 , 66 ), // #363
- INST(Kunpckdq , VexRvm , V(000F00,4B,_,1,1,_,_,_ ), 0 , 66 , 0 , 1721 , 86 , 65 ), // #364
- INST(Kunpckwd , VexRvm , V(000F00,4B,_,1,0,_,_,_ ), 0 , 67 , 0 , 1730 , 86 , 65 ), // #365
- INST(Kxnorb , VexRvm , V(660F00,46,_,1,0,_,_,_ ), 0 , 64 , 0 , 1739 , 86 , 64 ), // #366
- INST(Kxnord , VexRvm , V(660F00,46,_,1,1,_,_,_ ), 0 , 65 , 0 , 1746 , 86 , 65 ), // #367
- INST(Kxnorq , VexRvm , V(000F00,46,_,1,1,_,_,_ ), 0 , 66 , 0 , 1753 , 86 , 65 ), // #368
- INST(Kxnorw , VexRvm , V(000F00,46,_,1,0,_,_,_ ), 0 , 67 , 0 , 1760 , 86 , 66 ), // #369
- INST(Kxorb , VexRvm , V(660F00,47,_,1,0,_,_,_ ), 0 , 64 , 0 , 1767 , 86 , 64 ), // #370
- INST(Kxord , VexRvm , V(660F00,47,_,1,1,_,_,_ ), 0 , 65 , 0 , 1773 , 86 , 65 ), // #371
- INST(Kxorq , VexRvm , V(000F00,47,_,1,1,_,_,_ ), 0 , 66 , 0 , 1779 , 86 , 65 ), // #372
- INST(Kxorw , VexRvm , V(000F00,47,_,1,0,_,_,_ ), 0 , 67 , 0 , 1785 , 86 , 66 ), // #373
- INST(Lahf , X86Op , O(000000,9F,_,_,_,_,_,_ ), 0 , 0 , 0 , 1791 , 93 , 70 ), // #374
- INST(Lar , X86Rm , O(000F00,02,_,_,_,_,_,_ ), 0 , 4 , 0 , 1796 , 94 , 10 ), // #375
- INST(Lcall , X86LcallLjmp , O(000000,FF,3,_,_,_,_,_ ), O(000000,9A,_,_,_,_,_,_ ), 74 , 40 , 1800 , 95 , 1 ), // #376
- INST(Lddqu , ExtRm , O(F20F00,F0,_,_,_,_,_,_ ), 0 , 5 , 0 , 6098 , 96 , 6 ), // #377
- INST(Ldmxcsr , X86M_Only , O(000F00,AE,2,_,_,_,_,_ ), 0 , 75 , 0 , 6105 , 97 , 5 ), // #378
- INST(Lds , X86Rm , O(000000,C5,_,_,_,_,_,_ ), 0 , 0 , 0 , 1806 , 98 , 0 ), // #379
- INST(Ldtilecfg , AmxCfg , V(000F38,49,_,0,0,_,_,_ ), 0 , 10 , 0 , 1810 , 99 , 71 ), // #380
- INST(Lea , X86Lea , O(000000,8D,_,_,x,_,_,_ ), 0 , 0 , 0 , 1820 , 100, 0 ), // #381
- INST(Leave , X86Op , O(000000,C9,_,_,_,_,_,_ ), 0 , 0 , 0 , 1824 , 30 , 0 ), // #382
- INST(Les , X86Rm , O(000000,C4,_,_,_,_,_,_ ), 0 , 0 , 0 , 1830 , 98 , 0 ), // #383
- INST(Lfence , X86Fence , O(000F00,AE,5,_,_,_,_,_ ), 0 , 76 , 0 , 1834 , 30 , 4 ), // #384
- INST(Lfs , X86Rm , O(000F00,B4,_,_,_,_,_,_ ), 0 , 4 , 0 , 1841 , 101, 0 ), // #385
- INST(Lgdt , X86M_Only , O(000F00,01,2,_,_,_,_,_ ), 0 , 75 , 0 , 1845 , 31 , 0 ), // #386
- INST(Lgs , X86Rm , O(000F00,B5,_,_,_,_,_,_ ), 0 , 4 , 0 , 1850 , 101, 0 ), // #387
- INST(Lidt , X86M_Only , O(000F00,01,3,_,_,_,_,_ ), 0 , 77 , 0 , 1854 , 31 , 0 ), // #388
- INST(Ljmp , X86LcallLjmp , O(000000,FF,5,_,_,_,_,_ ), O(000000,EA,_,_,_,_,_,_ ), 61 , 41 , 1859 , 102, 0 ), // #389
- INST(Lldt , X86M_NoSize , O(000F00,00,2,_,_,_,_,_ ), 0 , 75 , 0 , 1864 , 103, 0 ), // #390
- INST(Llwpcb , VexR_Wx , V(XOP_M9,12,0,0,x,_,_,_ ), 0 , 78 , 0 , 1869 , 104, 72 ), // #391
- INST(Lmsw , X86M_NoSize , O(000F00,01,6,_,_,_,_,_ ), 0 , 79 , 0 , 1876 , 103, 0 ), // #392
- INST(Lods , X86StrRm , O(000000,AC,_,_,_,_,_,_ ), 0 , 0 , 0 , 1881 , 105, 73 ), // #393
- INST(Loop , X86JecxzLoop , 0 , O(000000,E2,_,_,_,_,_,_ ), 0 , 42 , 1886 , 106, 0 ), // #394
- INST(Loope , X86JecxzLoop , 0 , O(000000,E1,_,_,_,_,_,_ ), 0 , 43 , 1891 , 106, 59 ), // #395
- INST(Loopne , X86JecxzLoop , 0 , O(000000,E0,_,_,_,_,_,_ ), 0 , 44 , 1897 , 106, 59 ), // #396
- INST(Lret , X86Ret , O(000000,CA,_,_,x,_,_,_ ), 0 , 0 , 0 , 1904 , 107, 0 ), // #397
- INST(Lsl , X86Rm , O(000F00,03,_,_,_,_,_,_ ), 0 , 4 , 0 , 1909 , 108, 10 ), // #398
- INST(Lss , X86Rm , O(000F00,B2,_,_,_,_,_,_ ), 0 , 4 , 0 , 6596 , 101, 0 ), // #399
- INST(Ltr , X86M_NoSize , O(000F00,00,3,_,_,_,_,_ ), 0 , 77 , 0 , 1913 , 103, 0 ), // #400
- INST(Lwpins , VexVmi4_Wx , V(XOP_MA,12,0,0,x,_,_,_ ), 0 , 80 , 0 , 1917 , 109, 72 ), // #401
- INST(Lwpval , VexVmi4_Wx , V(XOP_MA,12,1,0,x,_,_,_ ), 0 , 81 , 0 , 1924 , 109, 72 ), // #402
- INST(Lzcnt , X86Rm_Raw66H , O(F30F00,BD,_,_,x,_,_,_ ), 0 , 6 , 0 , 1931 , 22 , 74 ), // #403
- INST(Maskmovdqu , ExtRm_ZDI , O(660F00,57,_,_,_,_,_,_ ), 0 , 3 , 0 , 6114 , 110, 4 ), // #404
- INST(Maskmovq , ExtRm_ZDI , O(000F00,F7,_,_,_,_,_,_ ), 0 , 4 , 0 , 8113 , 111, 75 ), // #405
- INST(Maxpd , ExtRm , O(660F00,5F,_,_,_,_,_,_ ), 0 , 3 , 0 , 6148 , 5 , 4 ), // #406
- INST(Maxps , ExtRm , O(000F00,5F,_,_,_,_,_,_ ), 0 , 4 , 0 , 6155 , 5 , 5 ), // #407
- INST(Maxsd , ExtRm , O(F20F00,5F,_,_,_,_,_,_ ), 0 , 5 , 0 , 8132 , 6 , 4 ), // #408
- INST(Maxss , ExtRm , O(F30F00,5F,_,_,_,_,_,_ ), 0 , 6 , 0 , 6169 , 7 , 5 ), // #409
- INST(Mcommit , X86Op , O(F30F01,FA,_,_,_,_,_,_ ), 0 , 82 , 0 , 1937 , 30 , 76 ), // #410
- INST(Mfence , X86Fence , O(000F00,AE,6,_,_,_,_,_ ), 0 , 79 , 0 , 1945 , 30 , 4 ), // #411
- INST(Minpd , ExtRm , O(660F00,5D,_,_,_,_,_,_ ), 0 , 3 , 0 , 6198 , 5 , 4 ), // #412
- INST(Minps , ExtRm , O(000F00,5D,_,_,_,_,_,_ ), 0 , 4 , 0 , 6205 , 5 , 5 ), // #413
- INST(Minsd , ExtRm , O(F20F00,5D,_,_,_,_,_,_ ), 0 , 5 , 0 , 8196 , 6 , 4 ), // #414
- INST(Minss , ExtRm , O(F30F00,5D,_,_,_,_,_,_ ), 0 , 6 , 0 , 6219 , 7 , 5 ), // #415
- INST(Monitor , X86Op , O(000F01,C8,_,_,_,_,_,_ ), 0 , 21 , 0 , 3211 , 112, 77 ), // #416
- INST(Monitorx , X86Op , O(000F01,FA,_,_,_,_,_,_ ), 0 , 21 , 0 , 1952 , 112, 78 ), // #417
- INST(Mov , X86Mov , 0 , 0 , 0 , 0 , 138 , 113, 0 ), // #418
- INST(Movabs , X86Movabs , 0 , 0 , 0 , 0 , 1961 , 114, 0 ), // #419
- INST(Movapd , ExtMov , O(660F00,28,_,_,_,_,_,_ ), O(660F00,29,_,_,_,_,_,_ ), 3 , 45 , 6250 , 115, 4 ), // #420
- INST(Movaps , ExtMov , O(000F00,28,_,_,_,_,_,_ ), O(000F00,29,_,_,_,_,_,_ ), 4 , 46 , 6258 , 115, 5 ), // #421
- INST(Movbe , ExtMovbe , O(000F38,F0,_,_,x,_,_,_ ), O(000F38,F1,_,_,x,_,_,_ ), 83 , 47 , 651 , 116, 79 ), // #422
- INST(Movd , ExtMovd , O(000F00,6E,_,_,_,_,_,_ ), O(000F00,7E,_,_,_,_,_,_ ), 4 , 48 , 8106 , 117, 80 ), // #423
- INST(Movddup , ExtMov , O(F20F00,12,_,_,_,_,_,_ ), 0 , 5 , 0 , 6272 , 6 , 6 ), // #424
- INST(Movdir64b , X86EnqcmdMovdir64b , O(660F38,F8,_,_,_,_,_,_ ), 0 , 2 , 0 , 1968 , 118, 81 ), // #425
- INST(Movdiri , X86MovntiMovdiri , O(000F38,F9,_,_,_,_,_,_ ), 0 , 83 , 0 , 1978 , 119, 82 ), // #426
- INST(Movdq2q , ExtMov , O(F20F00,D6,_,_,_,_,_,_ ), 0 , 5 , 0 , 1986 , 120, 4 ), // #427
- INST(Movdqa , ExtMov , O(660F00,6F,_,_,_,_,_,_ ), O(660F00,7F,_,_,_,_,_,_ ), 3 , 49 , 6281 , 115, 4 ), // #428
- INST(Movdqu , ExtMov , O(F30F00,6F,_,_,_,_,_,_ ), O(F30F00,7F,_,_,_,_,_,_ ), 6 , 50 , 6118 , 115, 4 ), // #429
- INST(Movhlps , ExtMov , O(000F00,12,_,_,_,_,_,_ ), 0 , 4 , 0 , 6356 , 121, 5 ), // #430
- INST(Movhpd , ExtMov , O(660F00,16,_,_,_,_,_,_ ), O(660F00,17,_,_,_,_,_,_ ), 3 , 51 , 6365 , 122, 4 ), // #431
- INST(Movhps , ExtMov , O(000F00,16,_,_,_,_,_,_ ), O(000F00,17,_,_,_,_,_,_ ), 4 , 52 , 6373 , 122, 5 ), // #432
- INST(Movlhps , ExtMov , O(000F00,16,_,_,_,_,_,_ ), 0 , 4 , 0 , 6381 , 121, 5 ), // #433
- INST(Movlpd , ExtMov , O(660F00,12,_,_,_,_,_,_ ), O(660F00,13,_,_,_,_,_,_ ), 3 , 53 , 6390 , 122, 4 ), // #434
- INST(Movlps , ExtMov , O(000F00,12,_,_,_,_,_,_ ), O(000F00,13,_,_,_,_,_,_ ), 4 , 54 , 6398 , 122, 5 ), // #435
- INST(Movmskpd , ExtMov , O(660F00,50,_,_,_,_,_,_ ), 0 , 3 , 0 , 6406 , 123, 4 ), // #436
- INST(Movmskps , ExtMov , O(000F00,50,_,_,_,_,_,_ ), 0 , 4 , 0 , 6416 , 123, 5 ), // #437
- INST(Movntdq , ExtMov , 0 , O(660F00,E7,_,_,_,_,_,_ ), 0 , 55 , 6426 , 124, 4 ), // #438
- INST(Movntdqa , ExtMov , O(660F38,2A,_,_,_,_,_,_ ), 0 , 2 , 0 , 6435 , 96 , 12 ), // #439
- INST(Movnti , X86MovntiMovdiri , O(000F00,C3,_,_,x,_,_,_ ), 0 , 4 , 0 , 1994 , 119, 4 ), // #440
- INST(Movntpd , ExtMov , 0 , O(660F00,2B,_,_,_,_,_,_ ), 0 , 56 , 6445 , 124, 4 ), // #441
- INST(Movntps , ExtMov , 0 , O(000F00,2B,_,_,_,_,_,_ ), 0 , 57 , 6454 , 124, 5 ), // #442
- INST(Movntq , ExtMov , 0 , O(000F00,E7,_,_,_,_,_,_ ), 0 , 58 , 2001 , 125, 75 ), // #443
- INST(Movntsd , ExtMov , 0 , O(F20F00,2B,_,_,_,_,_,_ ), 0 , 59 , 2008 , 126, 48 ), // #444
- INST(Movntss , ExtMov , 0 , O(F30F00,2B,_,_,_,_,_,_ ), 0 , 60 , 2016 , 127, 48 ), // #445
- INST(Movq , ExtMovq , O(000F00,6E,_,_,x,_,_,_ ), O(000F00,7E,_,_,x,_,_,_ ), 4 , 61 , 8117 , 128, 80 ), // #446
- INST(Movq2dq , ExtRm , O(F30F00,D6,_,_,_,_,_,_ ), 0 , 6 , 0 , 2024 , 129, 4 ), // #447
- INST(Movs , X86StrMm , O(000000,A4,_,_,_,_,_,_ ), 0 , 0 , 0 , 434 , 130, 73 ), // #448
- INST(Movsd , ExtMov , O(F20F00,10,_,_,_,_,_,_ ), O(F20F00,11,_,_,_,_,_,_ ), 5 , 62 , 6469 , 131, 4 ), // #449
- INST(Movshdup , ExtRm , O(F30F00,16,_,_,_,_,_,_ ), 0 , 6 , 0 , 6476 , 5 , 6 ), // #450
- INST(Movsldup , ExtRm , O(F30F00,12,_,_,_,_,_,_ ), 0 , 6 , 0 , 6486 , 5 , 6 ), // #451
- INST(Movss , ExtMov , O(F30F00,10,_,_,_,_,_,_ ), O(F30F00,11,_,_,_,_,_,_ ), 6 , 63 , 6496 , 132, 5 ), // #452
- INST(Movsx , X86MovsxMovzx , O(000F00,BE,_,_,x,_,_,_ ), 0 , 4 , 0 , 2032 , 133, 0 ), // #453
- INST(Movsxd , X86Rm , O(000000,63,_,_,x,_,_,_ ), 0 , 0 , 0 , 2038 , 134, 0 ), // #454
- INST(Movupd , ExtMov , O(660F00,10,_,_,_,_,_,_ ), O(660F00,11,_,_,_,_,_,_ ), 3 , 64 , 6503 , 115, 4 ), // #455
- INST(Movups , ExtMov , O(000F00,10,_,_,_,_,_,_ ), O(000F00,11,_,_,_,_,_,_ ), 4 , 65 , 6511 , 115, 5 ), // #456
- INST(Movzx , X86MovsxMovzx , O(000F00,B6,_,_,x,_,_,_ ), 0 , 4 , 0 , 2045 , 133, 0 ), // #457
- INST(Mpsadbw , ExtRmi , O(660F3A,42,_,_,_,_,_,_ ), 0 , 8 , 0 , 6519 , 8 , 12 ), // #458
- INST(Mul , X86M_GPB_MulDiv , O(000000,F6,4,_,x,_,_,_ ), 0 , 9 , 0 , 823 , 53 , 1 ), // #459
- INST(Mulpd , ExtRm , O(660F00,59,_,_,_,_,_,_ ), 0 , 3 , 0 , 6573 , 5 , 4 ), // #460
- INST(Mulps , ExtRm , O(000F00,59,_,_,_,_,_,_ ), 0 , 4 , 0 , 6580 , 5 , 5 ), // #461
- INST(Mulsd , ExtRm , O(F20F00,59,_,_,_,_,_,_ ), 0 , 5 , 0 , 6587 , 6 , 4 ), // #462
- INST(Mulss , ExtRm , O(F30F00,59,_,_,_,_,_,_ ), 0 , 6 , 0 , 6594 , 7 , 5 ), // #463
- INST(Mulx , VexRvm_ZDX_Wx , V(F20F38,F6,_,0,x,_,_,_ ), 0 , 84 , 0 , 2051 , 135, 83 ), // #464
- INST(Mwait , X86Op , O(000F01,C9,_,_,_,_,_,_ ), 0 , 21 , 0 , 3220 , 136, 77 ), // #465
- INST(Mwaitx , X86Op , O(000F01,FB,_,_,_,_,_,_ ), 0 , 21 , 0 , 2056 , 137, 78 ), // #466
- INST(Neg , X86M_GPB , O(000000,F6,3,_,x,_,_,_ ), 0 , 74 , 0 , 2063 , 138, 1 ), // #467
- INST(Nop , X86M_Nop , O(000000,90,_,_,_,_,_,_ ), 0 , 0 , 0 , 954 , 139, 0 ), // #468
- INST(Not , X86M_GPB , O(000000,F6,2,_,x,_,_,_ ), 0 , 1 , 0 , 2067 , 138, 0 ), // #469
- INST(Or , X86Arith , O(000000,08,1,_,x,_,_,_ ), 0 , 30 , 0 , 3216 , 140, 1 ), // #470
- INST(Orpd , ExtRm , O(660F00,56,_,_,_,_,_,_ ), 0 , 3 , 0 , 10323, 11 , 4 ), // #471
- INST(Orps , ExtRm , O(000F00,56,_,_,_,_,_,_ ), 0 , 4 , 0 , 10330, 11 , 5 ), // #472
- INST(Out , X86Out , O(000000,EE,_,_,_,_,_,_ ), O(000000,E6,_,_,_,_,_,_ ), 0 , 66 , 2071 , 141, 0 ), // #473
- INST(Outs , X86Outs , O(000000,6E,_,_,_,_,_,_ ), 0 , 0 , 0 , 2075 , 142, 0 ), // #474
- INST(Pabsb , ExtRm_P , O(000F38,1C,_,_,_,_,_,_ ), 0 , 83 , 0 , 6676 , 143, 84 ), // #475
- INST(Pabsd , ExtRm_P , O(000F38,1E,_,_,_,_,_,_ ), 0 , 83 , 0 , 6683 , 143, 84 ), // #476
- INST(Pabsw , ExtRm_P , O(000F38,1D,_,_,_,_,_,_ ), 0 , 83 , 0 , 6697 , 143, 84 ), // #477
- INST(Packssdw , ExtRm_P , O(000F00,6B,_,_,_,_,_,_ ), 0 , 4 , 0 , 6704 , 143, 80 ), // #478
- INST(Packsswb , ExtRm_P , O(000F00,63,_,_,_,_,_,_ ), 0 , 4 , 0 , 6714 , 143, 80 ), // #479
- INST(Packusdw , ExtRm , O(660F38,2B,_,_,_,_,_,_ ), 0 , 2 , 0 , 6724 , 5 , 12 ), // #480
- INST(Packuswb , ExtRm_P , O(000F00,67,_,_,_,_,_,_ ), 0 , 4 , 0 , 6734 , 143, 80 ), // #481
- INST(Paddb , ExtRm_P , O(000F00,FC,_,_,_,_,_,_ ), 0 , 4 , 0 , 6744 , 143, 80 ), // #482
- INST(Paddd , ExtRm_P , O(000F00,FE,_,_,_,_,_,_ ), 0 , 4 , 0 , 6751 , 143, 80 ), // #483
- INST(Paddq , ExtRm_P , O(000F00,D4,_,_,_,_,_,_ ), 0 , 4 , 0 , 6758 , 143, 4 ), // #484
- INST(Paddsb , ExtRm_P , O(000F00,EC,_,_,_,_,_,_ ), 0 , 4 , 0 , 6765 , 143, 80 ), // #485
- INST(Paddsw , ExtRm_P , O(000F00,ED,_,_,_,_,_,_ ), 0 , 4 , 0 , 6773 , 143, 80 ), // #486
- INST(Paddusb , ExtRm_P , O(000F00,DC,_,_,_,_,_,_ ), 0 , 4 , 0 , 6781 , 143, 80 ), // #487
- INST(Paddusw , ExtRm_P , O(000F00,DD,_,_,_,_,_,_ ), 0 , 4 , 0 , 6790 , 143, 80 ), // #488
- INST(Paddw , ExtRm_P , O(000F00,FD,_,_,_,_,_,_ ), 0 , 4 , 0 , 6799 , 143, 80 ), // #489
- INST(Palignr , ExtRmi_P , O(000F3A,0F,_,_,_,_,_,_ ), 0 , 85 , 0 , 6806 , 144, 6 ), // #490
- INST(Pand , ExtRm_P , O(000F00,DB,_,_,_,_,_,_ ), 0 , 4 , 0 , 6815 , 145, 80 ), // #491
- INST(Pandn , ExtRm_P , O(000F00,DF,_,_,_,_,_,_ ), 0 , 4 , 0 , 6828 , 146, 80 ), // #492
- INST(Pause , X86Op , O(F30000,90,_,_,_,_,_,_ ), 0 , 86 , 0 , 3180 , 30 , 0 ), // #493
- INST(Pavgb , ExtRm_P , O(000F00,E0,_,_,_,_,_,_ ), 0 , 4 , 0 , 6858 , 143, 85 ), // #494
- INST(Pavgusb , Ext3dNow , O(000F0F,BF,_,_,_,_,_,_ ), 0 , 87 , 0 , 2080 , 147, 50 ), // #495
- INST(Pavgw , ExtRm_P , O(000F00,E3,_,_,_,_,_,_ ), 0 , 4 , 0 , 6865 , 143, 85 ), // #496
- INST(Pblendvb , ExtRm_XMM0 , O(660F38,10,_,_,_,_,_,_ ), 0 , 2 , 0 , 6881 , 15 , 12 ), // #497
- INST(Pblendw , ExtRmi , O(660F3A,0E,_,_,_,_,_,_ ), 0 , 8 , 0 , 6891 , 8 , 12 ), // #498
- INST(Pclmulqdq , ExtRmi , O(660F3A,44,_,_,_,_,_,_ ), 0 , 8 , 0 , 6984 , 8 , 86 ), // #499
- INST(Pcmpeqb , ExtRm_P , O(000F00,74,_,_,_,_,_,_ ), 0 , 4 , 0 , 7016 , 146, 80 ), // #500
- INST(Pcmpeqd , ExtRm_P , O(000F00,76,_,_,_,_,_,_ ), 0 , 4 , 0 , 7025 , 146, 80 ), // #501
- INST(Pcmpeqq , ExtRm , O(660F38,29,_,_,_,_,_,_ ), 0 , 2 , 0 , 7034 , 148, 12 ), // #502
- INST(Pcmpeqw , ExtRm_P , O(000F00,75,_,_,_,_,_,_ ), 0 , 4 , 0 , 7043 , 146, 80 ), // #503
- INST(Pcmpestri , ExtRmi , O(660F3A,61,_,_,_,_,_,_ ), 0 , 8 , 0 , 7052 , 149, 87 ), // #504
- INST(Pcmpestrm , ExtRmi , O(660F3A,60,_,_,_,_,_,_ ), 0 , 8 , 0 , 7063 , 150, 87 ), // #505
- INST(Pcmpgtb , ExtRm_P , O(000F00,64,_,_,_,_,_,_ ), 0 , 4 , 0 , 7074 , 146, 80 ), // #506
- INST(Pcmpgtd , ExtRm_P , O(000F00,66,_,_,_,_,_,_ ), 0 , 4 , 0 , 7083 , 146, 80 ), // #507
- INST(Pcmpgtq , ExtRm , O(660F38,37,_,_,_,_,_,_ ), 0 , 2 , 0 , 7092 , 148, 43 ), // #508
- INST(Pcmpgtw , ExtRm_P , O(000F00,65,_,_,_,_,_,_ ), 0 , 4 , 0 , 7101 , 146, 80 ), // #509
- INST(Pcmpistri , ExtRmi , O(660F3A,63,_,_,_,_,_,_ ), 0 , 8 , 0 , 7110 , 151, 87 ), // #510
- INST(Pcmpistrm , ExtRmi , O(660F3A,62,_,_,_,_,_,_ ), 0 , 8 , 0 , 7121 , 152, 87 ), // #511
- INST(Pconfig , X86Op , O(000F01,C5,_,_,_,_,_,_ ), 0 , 21 , 0 , 2088 , 30 , 88 ), // #512
- INST(Pdep , VexRvm_Wx , V(F20F38,F5,_,0,x,_,_,_ ), 0 , 84 , 0 , 2096 , 10 , 83 ), // #513
- INST(Pext , VexRvm_Wx , V(F30F38,F5,_,0,x,_,_,_ ), 0 , 88 , 0 , 2101 , 10 , 83 ), // #514
- INST(Pextrb , ExtExtract , O(000F3A,14,_,_,_,_,_,_ ), 0 , 85 , 0 , 7608 , 153, 12 ), // #515
- INST(Pextrd , ExtExtract , O(000F3A,16,_,_,_,_,_,_ ), 0 , 85 , 0 , 7616 , 57 , 12 ), // #516
- INST(Pextrq , ExtExtract , O(000F3A,16,_,_,1,_,_,_ ), 0 , 89 , 0 , 7624 , 154, 12 ), // #517
- INST(Pextrw , ExtPextrw , O(000F00,C5,_,_,_,_,_,_ ), O(000F3A,15,_,_,_,_,_,_ ), 4 , 67 , 7632 , 155, 89 ), // #518
- INST(Pf2id , Ext3dNow , O(000F0F,1D,_,_,_,_,_,_ ), 0 , 87 , 0 , 2106 , 147, 50 ), // #519
- INST(Pf2iw , Ext3dNow , O(000F0F,1C,_,_,_,_,_,_ ), 0 , 87 , 0 , 2112 , 147, 90 ), // #520
- INST(Pfacc , Ext3dNow , O(000F0F,AE,_,_,_,_,_,_ ), 0 , 87 , 0 , 2118 , 147, 50 ), // #521
- INST(Pfadd , Ext3dNow , O(000F0F,9E,_,_,_,_,_,_ ), 0 , 87 , 0 , 2124 , 147, 50 ), // #522
- INST(Pfcmpeq , Ext3dNow , O(000F0F,B0,_,_,_,_,_,_ ), 0 , 87 , 0 , 2130 , 147, 50 ), // #523
- INST(Pfcmpge , Ext3dNow , O(000F0F,90,_,_,_,_,_,_ ), 0 , 87 , 0 , 2138 , 147, 50 ), // #524
- INST(Pfcmpgt , Ext3dNow , O(000F0F,A0,_,_,_,_,_,_ ), 0 , 87 , 0 , 2146 , 147, 50 ), // #525
- INST(Pfmax , Ext3dNow , O(000F0F,A4,_,_,_,_,_,_ ), 0 , 87 , 0 , 2154 , 147, 50 ), // #526
- INST(Pfmin , Ext3dNow , O(000F0F,94,_,_,_,_,_,_ ), 0 , 87 , 0 , 2160 , 147, 50 ), // #527
- INST(Pfmul , Ext3dNow , O(000F0F,B4,_,_,_,_,_,_ ), 0 , 87 , 0 , 2166 , 147, 50 ), // #528
- INST(Pfnacc , Ext3dNow , O(000F0F,8A,_,_,_,_,_,_ ), 0 , 87 , 0 , 2172 , 147, 90 ), // #529
- INST(Pfpnacc , Ext3dNow , O(000F0F,8E,_,_,_,_,_,_ ), 0 , 87 , 0 , 2179 , 147, 90 ), // #530
- INST(Pfrcp , Ext3dNow , O(000F0F,96,_,_,_,_,_,_ ), 0 , 87 , 0 , 2187 , 147, 50 ), // #531
- INST(Pfrcpit1 , Ext3dNow , O(000F0F,A6,_,_,_,_,_,_ ), 0 , 87 , 0 , 2193 , 147, 50 ), // #532
- INST(Pfrcpit2 , Ext3dNow , O(000F0F,B6,_,_,_,_,_,_ ), 0 , 87 , 0 , 2202 , 147, 50 ), // #533
- INST(Pfrcpv , Ext3dNow , O(000F0F,86,_,_,_,_,_,_ ), 0 , 87 , 0 , 2211 , 147, 91 ), // #534
- INST(Pfrsqit1 , Ext3dNow , O(000F0F,A7,_,_,_,_,_,_ ), 0 , 87 , 0 , 2218 , 147, 50 ), // #535
- INST(Pfrsqrt , Ext3dNow , O(000F0F,97,_,_,_,_,_,_ ), 0 , 87 , 0 , 2227 , 147, 50 ), // #536
- INST(Pfrsqrtv , Ext3dNow , O(000F0F,87,_,_,_,_,_,_ ), 0 , 87 , 0 , 2235 , 147, 91 ), // #537
- INST(Pfsub , Ext3dNow , O(000F0F,9A,_,_,_,_,_,_ ), 0 , 87 , 0 , 2244 , 147, 50 ), // #538
- INST(Pfsubr , Ext3dNow , O(000F0F,AA,_,_,_,_,_,_ ), 0 , 87 , 0 , 2250 , 147, 50 ), // #539
- INST(Phaddd , ExtRm_P , O(000F38,02,_,_,_,_,_,_ ), 0 , 83 , 0 , 7711 , 143, 84 ), // #540
- INST(Phaddsw , ExtRm_P , O(000F38,03,_,_,_,_,_,_ ), 0 , 83 , 0 , 7728 , 143, 84 ), // #541
- INST(Phaddw , ExtRm_P , O(000F38,01,_,_,_,_,_,_ ), 0 , 83 , 0 , 7797 , 143, 84 ), // #542
- INST(Phminposuw , ExtRm , O(660F38,41,_,_,_,_,_,_ ), 0 , 2 , 0 , 7823 , 5 , 12 ), // #543
- INST(Phsubd , ExtRm_P , O(000F38,06,_,_,_,_,_,_ ), 0 , 83 , 0 , 7844 , 143, 84 ), // #544
- INST(Phsubsw , ExtRm_P , O(000F38,07,_,_,_,_,_,_ ), 0 , 83 , 0 , 7861 , 143, 84 ), // #545
- INST(Phsubw , ExtRm_P , O(000F38,05,_,_,_,_,_,_ ), 0 , 83 , 0 , 7870 , 143, 84 ), // #546
- INST(Pi2fd , Ext3dNow , O(000F0F,0D,_,_,_,_,_,_ ), 0 , 87 , 0 , 2257 , 147, 50 ), // #547
- INST(Pi2fw , Ext3dNow , O(000F0F,0C,_,_,_,_,_,_ ), 0 , 87 , 0 , 2263 , 147, 90 ), // #548
- INST(Pinsrb , ExtRmi , O(660F3A,20,_,_,_,_,_,_ ), 0 , 8 , 0 , 7887 , 156, 12 ), // #549
- INST(Pinsrd , ExtRmi , O(660F3A,22,_,_,_,_,_,_ ), 0 , 8 , 0 , 7895 , 157, 12 ), // #550
- INST(Pinsrq , ExtRmi , O(660F3A,22,_,_,1,_,_,_ ), 0 , 90 , 0 , 7903 , 158, 12 ), // #551
- INST(Pinsrw , ExtRmi_P , O(000F00,C4,_,_,_,_,_,_ ), 0 , 4 , 0 , 7911 , 159, 85 ), // #552
- INST(Pmaddubsw , ExtRm_P , O(000F38,04,_,_,_,_,_,_ ), 0 , 83 , 0 , 8081 , 143, 84 ), // #553
- INST(Pmaddwd , ExtRm_P , O(000F00,F5,_,_,_,_,_,_ ), 0 , 4 , 0 , 8092 , 143, 80 ), // #554
- INST(Pmaxsb , ExtRm , O(660F38,3C,_,_,_,_,_,_ ), 0 , 2 , 0 , 8123 , 11 , 12 ), // #555
- INST(Pmaxsd , ExtRm , O(660F38,3D,_,_,_,_,_,_ ), 0 , 2 , 0 , 8131 , 11 , 12 ), // #556
- INST(Pmaxsw , ExtRm_P , O(000F00,EE,_,_,_,_,_,_ ), 0 , 4 , 0 , 8147 , 145, 85 ), // #557
- INST(Pmaxub , ExtRm_P , O(000F00,DE,_,_,_,_,_,_ ), 0 , 4 , 0 , 8155 , 145, 85 ), // #558
- INST(Pmaxud , ExtRm , O(660F38,3F,_,_,_,_,_,_ ), 0 , 2 , 0 , 8163 , 11 , 12 ), // #559
- INST(Pmaxuw , ExtRm , O(660F38,3E,_,_,_,_,_,_ ), 0 , 2 , 0 , 8179 , 11 , 12 ), // #560
- INST(Pminsb , ExtRm , O(660F38,38,_,_,_,_,_,_ ), 0 , 2 , 0 , 8187 , 11 , 12 ), // #561
- INST(Pminsd , ExtRm , O(660F38,39,_,_,_,_,_,_ ), 0 , 2 , 0 , 8195 , 11 , 12 ), // #562
- INST(Pminsw , ExtRm_P , O(000F00,EA,_,_,_,_,_,_ ), 0 , 4 , 0 , 8211 , 145, 85 ), // #563
- INST(Pminub , ExtRm_P , O(000F00,DA,_,_,_,_,_,_ ), 0 , 4 , 0 , 8219 , 145, 85 ), // #564
- INST(Pminud , ExtRm , O(660F38,3B,_,_,_,_,_,_ ), 0 , 2 , 0 , 8227 , 11 , 12 ), // #565
- INST(Pminuw , ExtRm , O(660F38,3A,_,_,_,_,_,_ ), 0 , 2 , 0 , 8243 , 11 , 12 ), // #566
- INST(Pmovmskb , ExtRm_P , O(000F00,D7,_,_,_,_,_,_ ), 0 , 4 , 0 , 8321 , 160, 85 ), // #567
- INST(Pmovsxbd , ExtRm , O(660F38,21,_,_,_,_,_,_ ), 0 , 2 , 0 , 8418 , 7 , 12 ), // #568
- INST(Pmovsxbq , ExtRm , O(660F38,22,_,_,_,_,_,_ ), 0 , 2 , 0 , 8428 , 161, 12 ), // #569
- INST(Pmovsxbw , ExtRm , O(660F38,20,_,_,_,_,_,_ ), 0 , 2 , 0 , 8438 , 6 , 12 ), // #570
- INST(Pmovsxdq , ExtRm , O(660F38,25,_,_,_,_,_,_ ), 0 , 2 , 0 , 8448 , 6 , 12 ), // #571
- INST(Pmovsxwd , ExtRm , O(660F38,23,_,_,_,_,_,_ ), 0 , 2 , 0 , 8458 , 6 , 12 ), // #572
- INST(Pmovsxwq , ExtRm , O(660F38,24,_,_,_,_,_,_ ), 0 , 2 , 0 , 8468 , 7 , 12 ), // #573
- INST(Pmovzxbd , ExtRm , O(660F38,31,_,_,_,_,_,_ ), 0 , 2 , 0 , 8555 , 7 , 12 ), // #574
- INST(Pmovzxbq , ExtRm , O(660F38,32,_,_,_,_,_,_ ), 0 , 2 , 0 , 8565 , 161, 12 ), // #575
- INST(Pmovzxbw , ExtRm , O(660F38,30,_,_,_,_,_,_ ), 0 , 2 , 0 , 8575 , 6 , 12 ), // #576
- INST(Pmovzxdq , ExtRm , O(660F38,35,_,_,_,_,_,_ ), 0 , 2 , 0 , 8585 , 6 , 12 ), // #577
- INST(Pmovzxwd , ExtRm , O(660F38,33,_,_,_,_,_,_ ), 0 , 2 , 0 , 8595 , 6 , 12 ), // #578
- INST(Pmovzxwq , ExtRm , O(660F38,34,_,_,_,_,_,_ ), 0 , 2 , 0 , 8605 , 7 , 12 ), // #579
- INST(Pmuldq , ExtRm , O(660F38,28,_,_,_,_,_,_ ), 0 , 2 , 0 , 8615 , 5 , 12 ), // #580
- INST(Pmulhrsw , ExtRm_P , O(000F38,0B,_,_,_,_,_,_ ), 0 , 83 , 0 , 8623 , 143, 84 ), // #581
- INST(Pmulhrw , Ext3dNow , O(000F0F,B7,_,_,_,_,_,_ ), 0 , 87 , 0 , 2269 , 147, 50 ), // #582
- INST(Pmulhuw , ExtRm_P , O(000F00,E4,_,_,_,_,_,_ ), 0 , 4 , 0 , 8633 , 143, 85 ), // #583
- INST(Pmulhw , ExtRm_P , O(000F00,E5,_,_,_,_,_,_ ), 0 , 4 , 0 , 8642 , 143, 80 ), // #584
- INST(Pmulld , ExtRm , O(660F38,40,_,_,_,_,_,_ ), 0 , 2 , 0 , 8650 , 5 , 12 ), // #585
- INST(Pmullw , ExtRm_P , O(000F00,D5,_,_,_,_,_,_ ), 0 , 4 , 0 , 8666 , 143, 80 ), // #586
- INST(Pmuludq , ExtRm_P , O(000F00,F4,_,_,_,_,_,_ ), 0 , 4 , 0 , 8689 , 143, 4 ), // #587
- INST(Pop , X86Pop , O(000000,8F,0,_,_,_,_,_ ), O(000000,58,_,_,_,_,_,_ ), 0 , 68 , 2277 , 162, 0 ), // #588
- INST(Popa , X86Op , O(660000,61,_,_,_,_,_,_ ), 0 , 19 , 0 , 2281 , 78 , 0 ), // #589
- INST(Popad , X86Op , O(000000,61,_,_,_,_,_,_ ), 0 , 0 , 0 , 2286 , 78 , 0 ), // #590
- INST(Popcnt , X86Rm_Raw66H , O(F30F00,B8,_,_,x,_,_,_ ), 0 , 6 , 0 , 2292 , 22 , 92 ), // #591
- INST(Popf , X86Op , O(660000,9D,_,_,_,_,_,_ ), 0 , 19 , 0 , 2299 , 30 , 93 ), // #592
- INST(Popfd , X86Op , O(000000,9D,_,_,_,_,_,_ ), 0 , 0 , 0 , 2304 , 78 , 93 ), // #593
- INST(Popfq , X86Op , O(000000,9D,_,_,_,_,_,_ ), 0 , 0 , 0 , 2310 , 163, 93 ), // #594
- INST(Por , ExtRm_P , O(000F00,EB,_,_,_,_,_,_ ), 0 , 4 , 0 , 8734 , 145, 80 ), // #595
- INST(Prefetch , X86M_Only , O(000F00,0D,0,_,_,_,_,_ ), 0 , 4 , 0 , 2316 , 31 , 50 ), // #596
- INST(Prefetchnta , X86M_Only , O(000F00,18,0,_,_,_,_,_ ), 0 , 4 , 0 , 2325 , 31 , 75 ), // #597
- INST(Prefetcht0 , X86M_Only , O(000F00,18,1,_,_,_,_,_ ), 0 , 28 , 0 , 2337 , 31 , 75 ), // #598
- INST(Prefetcht1 , X86M_Only , O(000F00,18,2,_,_,_,_,_ ), 0 , 75 , 0 , 2348 , 31 , 75 ), // #599
- INST(Prefetcht2 , X86M_Only , O(000F00,18,3,_,_,_,_,_ ), 0 , 77 , 0 , 2359 , 31 , 75 ), // #600
- INST(Prefetchw , X86M_Only , O(000F00,0D,1,_,_,_,_,_ ), 0 , 28 , 0 , 2370 , 31 , 94 ), // #601
- INST(Prefetchwt1 , X86M_Only , O(000F00,0D,2,_,_,_,_,_ ), 0 , 75 , 0 , 2380 , 31 , 95 ), // #602
- INST(Psadbw , ExtRm_P , O(000F00,F6,_,_,_,_,_,_ ), 0 , 4 , 0 , 4287 , 143, 85 ), // #603
- INST(Pshufb , ExtRm_P , O(000F38,00,_,_,_,_,_,_ ), 0 , 83 , 0 , 9060 , 143, 84 ), // #604
- INST(Pshufd , ExtRmi , O(660F00,70,_,_,_,_,_,_ ), 0 , 3 , 0 , 9081 , 8 , 4 ), // #605
- INST(Pshufhw , ExtRmi , O(F30F00,70,_,_,_,_,_,_ ), 0 , 6 , 0 , 9089 , 8 , 4 ), // #606
- INST(Pshuflw , ExtRmi , O(F20F00,70,_,_,_,_,_,_ ), 0 , 5 , 0 , 9098 , 8 , 4 ), // #607
- INST(Pshufw , ExtRmi_P , O(000F00,70,_,_,_,_,_,_ ), 0 , 4 , 0 , 2392 , 164, 75 ), // #608
- INST(Psignb , ExtRm_P , O(000F38,08,_,_,_,_,_,_ ), 0 , 83 , 0 , 9107 , 143, 84 ), // #609
- INST(Psignd , ExtRm_P , O(000F38,0A,_,_,_,_,_,_ ), 0 , 83 , 0 , 9115 , 143, 84 ), // #610
- INST(Psignw , ExtRm_P , O(000F38,09,_,_,_,_,_,_ ), 0 , 83 , 0 , 9123 , 143, 84 ), // #611
- INST(Pslld , ExtRmRi_P , O(000F00,F2,_,_,_,_,_,_ ), O(000F00,72,6,_,_,_,_,_ ), 4 , 69 , 9131 , 165, 80 ), // #612
- INST(Pslldq , ExtRmRi , 0 , O(660F00,73,7,_,_,_,_,_ ), 0 , 70 , 9138 , 166, 4 ), // #613
- INST(Psllq , ExtRmRi_P , O(000F00,F3,_,_,_,_,_,_ ), O(000F00,73,6,_,_,_,_,_ ), 4 , 71 , 9146 , 165, 80 ), // #614
- INST(Psllw , ExtRmRi_P , O(000F00,F1,_,_,_,_,_,_ ), O(000F00,71,6,_,_,_,_,_ ), 4 , 72 , 9177 , 165, 80 ), // #615
- INST(Psmash , X86Op , O(F30F01,FF,_,_,_,_,_,_ ), 0 , 82 , 0 , 2399 , 163, 96 ), // #616
- INST(Psrad , ExtRmRi_P , O(000F00,E2,_,_,_,_,_,_ ), O(000F00,72,4,_,_,_,_,_ ), 4 , 73 , 9184 , 165, 80 ), // #617
- INST(Psraw , ExtRmRi_P , O(000F00,E1,_,_,_,_,_,_ ), O(000F00,71,4,_,_,_,_,_ ), 4 , 74 , 9222 , 165, 80 ), // #618
- INST(Psrld , ExtRmRi_P , O(000F00,D2,_,_,_,_,_,_ ), O(000F00,72,2,_,_,_,_,_ ), 4 , 75 , 9229 , 165, 80 ), // #619
- INST(Psrldq , ExtRmRi , 0 , O(660F00,73,3,_,_,_,_,_ ), 0 , 76 , 9236 , 166, 4 ), // #620
- INST(Psrlq , ExtRmRi_P , O(000F00,D3,_,_,_,_,_,_ ), O(000F00,73,2,_,_,_,_,_ ), 4 , 77 , 9244 , 165, 80 ), // #621
- INST(Psrlw , ExtRmRi_P , O(000F00,D1,_,_,_,_,_,_ ), O(000F00,71,2,_,_,_,_,_ ), 4 , 78 , 9275 , 165, 80 ), // #622
- INST(Psubb , ExtRm_P , O(000F00,F8,_,_,_,_,_,_ ), 0 , 4 , 0 , 9282 , 146, 80 ), // #623
- INST(Psubd , ExtRm_P , O(000F00,FA,_,_,_,_,_,_ ), 0 , 4 , 0 , 9289 , 146, 80 ), // #624
- INST(Psubq , ExtRm_P , O(000F00,FB,_,_,_,_,_,_ ), 0 , 4 , 0 , 9296 , 146, 4 ), // #625
- INST(Psubsb , ExtRm_P , O(000F00,E8,_,_,_,_,_,_ ), 0 , 4 , 0 , 9303 , 146, 80 ), // #626
- INST(Psubsw , ExtRm_P , O(000F00,E9,_,_,_,_,_,_ ), 0 , 4 , 0 , 9311 , 146, 80 ), // #627
- INST(Psubusb , ExtRm_P , O(000F00,D8,_,_,_,_,_,_ ), 0 , 4 , 0 , 9319 , 146, 80 ), // #628
- INST(Psubusw , ExtRm_P , O(000F00,D9,_,_,_,_,_,_ ), 0 , 4 , 0 , 9328 , 146, 80 ), // #629
- INST(Psubw , ExtRm_P , O(000F00,F9,_,_,_,_,_,_ ), 0 , 4 , 0 , 9337 , 146, 80 ), // #630
- INST(Pswapd , Ext3dNow , O(000F0F,BB,_,_,_,_,_,_ ), 0 , 87 , 0 , 2406 , 147, 90 ), // #631
- INST(Ptest , ExtRm , O(660F38,17,_,_,_,_,_,_ ), 0 , 2 , 0 , 9366 , 5 , 97 ), // #632
- INST(Ptwrite , X86M , O(F30F00,AE,4,_,_,_,_,_ ), 0 , 91 , 0 , 2413 , 167, 98 ), // #633
- INST(Punpckhbw , ExtRm_P , O(000F00,68,_,_,_,_,_,_ ), 0 , 4 , 0 , 9449 , 143, 80 ), // #634
- INST(Punpckhdq , ExtRm_P , O(000F00,6A,_,_,_,_,_,_ ), 0 , 4 , 0 , 9460 , 143, 80 ), // #635
- INST(Punpckhqdq , ExtRm , O(660F00,6D,_,_,_,_,_,_ ), 0 , 3 , 0 , 9471 , 5 , 4 ), // #636
- INST(Punpckhwd , ExtRm_P , O(000F00,69,_,_,_,_,_,_ ), 0 , 4 , 0 , 9483 , 143, 80 ), // #637
- INST(Punpcklbw , ExtRm_P , O(000F00,60,_,_,_,_,_,_ ), 0 , 4 , 0 , 9494 , 143, 80 ), // #638
- INST(Punpckldq , ExtRm_P , O(000F00,62,_,_,_,_,_,_ ), 0 , 4 , 0 , 9505 , 143, 80 ), // #639
- INST(Punpcklqdq , ExtRm , O(660F00,6C,_,_,_,_,_,_ ), 0 , 3 , 0 , 9516 , 5 , 4 ), // #640
- INST(Punpcklwd , ExtRm_P , O(000F00,61,_,_,_,_,_,_ ), 0 , 4 , 0 , 9528 , 143, 80 ), // #641
- INST(Push , X86Push , O(000000,FF,6,_,_,_,_,_ ), O(000000,50,_,_,_,_,_,_ ), 31 , 79 , 2421 , 168, 0 ), // #642
- INST(Pusha , X86Op , O(660000,60,_,_,_,_,_,_ ), 0 , 19 , 0 , 2426 , 78 , 0 ), // #643
- INST(Pushad , X86Op , O(000000,60,_,_,_,_,_,_ ), 0 , 0 , 0 , 2432 , 78 , 0 ), // #644
- INST(Pushf , X86Op , O(660000,9C,_,_,_,_,_,_ ), 0 , 19 , 0 , 2439 , 30 , 99 ), // #645
- INST(Pushfd , X86Op , O(000000,9C,_,_,_,_,_,_ ), 0 , 0 , 0 , 2445 , 78 , 99 ), // #646
- INST(Pushfq , X86Op , O(000000,9C,_,_,_,_,_,_ ), 0 , 0 , 0 , 2452 , 163, 99 ), // #647
- INST(Pvalidate , X86Op , O(F20F01,FF,_,_,_,_,_,_ ), 0 , 92 , 0 , 2459 , 30 , 100), // #648
- INST(Pxor , ExtRm_P , O(000F00,EF,_,_,_,_,_,_ ), 0 , 4 , 0 , 9539 , 146, 80 ), // #649
- INST(Rcl , X86Rot , O(000000,D0,2,_,x,_,_,_ ), 0 , 1 , 0 , 2469 , 169, 101), // #650
- INST(Rcpps , ExtRm , O(000F00,53,_,_,_,_,_,_ ), 0 , 4 , 0 , 9667 , 5 , 5 ), // #651
- INST(Rcpss , ExtRm , O(F30F00,53,_,_,_,_,_,_ ), 0 , 6 , 0 , 9674 , 7 , 5 ), // #652
- INST(Rcr , X86Rot , O(000000,D0,3,_,x,_,_,_ ), 0 , 74 , 0 , 2473 , 169, 101), // #653
- INST(Rdfsbase , X86M , O(F30F00,AE,0,_,x,_,_,_ ), 0 , 6 , 0 , 2477 , 170, 102), // #654
- INST(Rdgsbase , X86M , O(F30F00,AE,1,_,x,_,_,_ ), 0 , 93 , 0 , 2486 , 170, 102), // #655
- INST(Rdmsr , X86Op , O(000F00,32,_,_,_,_,_,_ ), 0 , 4 , 0 , 2495 , 171, 103), // #656
- INST(Rdpid , X86R_Native , O(F30F00,C7,7,_,_,_,_,_ ), 0 , 94 , 0 , 2501 , 172, 104), // #657
- INST(Rdpkru , X86Op , O(000F01,EE,_,_,_,_,_,_ ), 0 , 21 , 0 , 2507 , 171, 105), // #658
- INST(Rdpmc , X86Op , O(000F00,33,_,_,_,_,_,_ ), 0 , 4 , 0 , 2514 , 171, 0 ), // #659
- INST(Rdpru , X86Op , O(000F01,FD,_,_,_,_,_,_ ), 0 , 21 , 0 , 2520 , 171, 106), // #660
- INST(Rdrand , X86M , O(000F00,C7,6,_,x,_,_,_ ), 0 , 79 , 0 , 2526 , 23 , 107), // #661
- INST(Rdseed , X86M , O(000F00,C7,7,_,x,_,_,_ ), 0 , 22 , 0 , 2533 , 23 , 108), // #662
- INST(Rdsspd , X86M , O(F30F00,1E,1,_,_,_,_,_ ), 0 , 93 , 0 , 2540 , 73 , 54 ), // #663
- INST(Rdsspq , X86M , O(F30F00,1E,1,_,_,_,_,_ ), 0 , 93 , 0 , 2547 , 74 , 54 ), // #664
- INST(Rdtsc , X86Op , O(000F00,31,_,_,_,_,_,_ ), 0 , 4 , 0 , 2554 , 28 , 109), // #665
- INST(Rdtscp , X86Op , O(000F01,F9,_,_,_,_,_,_ ), 0 , 21 , 0 , 2560 , 171, 110), // #666
- INST(Ret , X86Ret , O(000000,C2,_,_,_,_,_,_ ), 0 , 0 , 0 , 3063 , 173, 0 ), // #667
- INST(Rmpadjust , X86Op , O(F30F01,FE,_,_,_,_,_,_ ), 0 , 82 , 0 , 2567 , 163, 96 ), // #668
- INST(Rmpupdate , X86Op , O(F20F01,FE,_,_,_,_,_,_ ), 0 , 92 , 0 , 2577 , 163, 96 ), // #669
- INST(Rol , X86Rot , O(000000,D0,0,_,x,_,_,_ ), 0 , 0 , 0 , 2587 , 169, 111), // #670
- INST(Ror , X86Rot , O(000000,D0,1,_,x,_,_,_ ), 0 , 30 , 0 , 2591 , 169, 111), // #671
- INST(Rorx , VexRmi_Wx , V(F20F3A,F0,_,0,x,_,_,_ ), 0 , 95 , 0 , 2595 , 174, 83 ), // #672
- INST(Roundpd , ExtRmi , O(660F3A,09,_,_,_,_,_,_ ), 0 , 8 , 0 , 9769 , 8 , 12 ), // #673
- INST(Roundps , ExtRmi , O(660F3A,08,_,_,_,_,_,_ ), 0 , 8 , 0 , 9778 , 8 , 12 ), // #674
- INST(Roundsd , ExtRmi , O(660F3A,0B,_,_,_,_,_,_ ), 0 , 8 , 0 , 9787 , 36 , 12 ), // #675
- INST(Roundss , ExtRmi , O(660F3A,0A,_,_,_,_,_,_ ), 0 , 8 , 0 , 9796 , 37 , 12 ), // #676
- INST(Rsm , X86Op , O(000F00,AA,_,_,_,_,_,_ ), 0 , 4 , 0 , 2600 , 78 , 1 ), // #677
- INST(Rsqrtps , ExtRm , O(000F00,52,_,_,_,_,_,_ ), 0 , 4 , 0 , 9893 , 5 , 5 ), // #678
- INST(Rsqrtss , ExtRm , O(F30F00,52,_,_,_,_,_,_ ), 0 , 6 , 0 , 9902 , 7 , 5 ), // #679
- INST(Rstorssp , X86M , O(F30F00,01,5,_,_,_,_,_ ), 0 , 62 , 0 , 2604 , 32 , 24 ), // #680
- INST(Sahf , X86Op , O(000000,9E,_,_,_,_,_,_ ), 0 , 0 , 0 , 2613 , 93 , 112), // #681
- INST(Sal , X86Rot , O(000000,D0,4,_,x,_,_,_ ), 0 , 9 , 0 , 2618 , 169, 1 ), // #682
- INST(Sar , X86Rot , O(000000,D0,7,_,x,_,_,_ ), 0 , 26 , 0 , 2622 , 169, 1 ), // #683
- INST(Sarx , VexRmv_Wx , V(F30F38,F7,_,0,x,_,_,_ ), 0 , 88 , 0 , 2626 , 13 , 83 ), // #684
- INST(Saveprevssp , X86Op , O(F30F01,EA,_,_,_,_,_,_ ), 0 , 82 , 0 , 2631 , 30 , 24 ), // #685
- INST(Sbb , X86Arith , O(000000,18,3,_,x,_,_,_ ), 0 , 74 , 0 , 2643 , 175, 2 ), // #686
- INST(Scas , X86StrRm , O(000000,AE,_,_,_,_,_,_ ), 0 , 0 , 0 , 2647 , 176, 36 ), // #687
- INST(Serialize , X86Op , O(000F01,E8,_,_,_,_,_,_ ), 0 , 21 , 0 , 2652 , 30 , 113), // #688
- INST(Seta , X86Set , O(000F00,97,_,_,_,_,_,_ ), 0 , 4 , 0 , 2662 , 177, 57 ), // #689
- INST(Setae , X86Set , O(000F00,93,_,_,_,_,_,_ ), 0 , 4 , 0 , 2667 , 177, 58 ), // #690
- INST(Setb , X86Set , O(000F00,92,_,_,_,_,_,_ ), 0 , 4 , 0 , 2673 , 177, 58 ), // #691
- INST(Setbe , X86Set , O(000F00,96,_,_,_,_,_,_ ), 0 , 4 , 0 , 2678 , 177, 57 ), // #692
- INST(Setc , X86Set , O(000F00,92,_,_,_,_,_,_ ), 0 , 4 , 0 , 2684 , 177, 58 ), // #693
- INST(Sete , X86Set , O(000F00,94,_,_,_,_,_,_ ), 0 , 4 , 0 , 2689 , 177, 59 ), // #694
- INST(Setg , X86Set , O(000F00,9F,_,_,_,_,_,_ ), 0 , 4 , 0 , 2694 , 177, 60 ), // #695
- INST(Setge , X86Set , O(000F00,9D,_,_,_,_,_,_ ), 0 , 4 , 0 , 2699 , 177, 61 ), // #696
- INST(Setl , X86Set , O(000F00,9C,_,_,_,_,_,_ ), 0 , 4 , 0 , 2705 , 177, 61 ), // #697
- INST(Setle , X86Set , O(000F00,9E,_,_,_,_,_,_ ), 0 , 4 , 0 , 2710 , 177, 60 ), // #698
- INST(Setna , X86Set , O(000F00,96,_,_,_,_,_,_ ), 0 , 4 , 0 , 2716 , 177, 57 ), // #699
- INST(Setnae , X86Set , O(000F00,92,_,_,_,_,_,_ ), 0 , 4 , 0 , 2722 , 177, 58 ), // #700
- INST(Setnb , X86Set , O(000F00,93,_,_,_,_,_,_ ), 0 , 4 , 0 , 2729 , 177, 58 ), // #701
- INST(Setnbe , X86Set , O(000F00,97,_,_,_,_,_,_ ), 0 , 4 , 0 , 2735 , 177, 57 ), // #702
- INST(Setnc , X86Set , O(000F00,93,_,_,_,_,_,_ ), 0 , 4 , 0 , 2742 , 177, 58 ), // #703
- INST(Setne , X86Set , O(000F00,95,_,_,_,_,_,_ ), 0 , 4 , 0 , 2748 , 177, 59 ), // #704
- INST(Setng , X86Set , O(000F00,9E,_,_,_,_,_,_ ), 0 , 4 , 0 , 2754 , 177, 60 ), // #705
- INST(Setnge , X86Set , O(000F00,9C,_,_,_,_,_,_ ), 0 , 4 , 0 , 2760 , 177, 61 ), // #706
- INST(Setnl , X86Set , O(000F00,9D,_,_,_,_,_,_ ), 0 , 4 , 0 , 2767 , 177, 61 ), // #707
- INST(Setnle , X86Set , O(000F00,9F,_,_,_,_,_,_ ), 0 , 4 , 0 , 2773 , 177, 60 ), // #708
- INST(Setno , X86Set , O(000F00,91,_,_,_,_,_,_ ), 0 , 4 , 0 , 2780 , 177, 55 ), // #709
- INST(Setnp , X86Set , O(000F00,9B,_,_,_,_,_,_ ), 0 , 4 , 0 , 2786 , 177, 62 ), // #710
- INST(Setns , X86Set , O(000F00,99,_,_,_,_,_,_ ), 0 , 4 , 0 , 2792 , 177, 63 ), // #711
- INST(Setnz , X86Set , O(000F00,95,_,_,_,_,_,_ ), 0 , 4 , 0 , 2798 , 177, 59 ), // #712
- INST(Seto , X86Set , O(000F00,90,_,_,_,_,_,_ ), 0 , 4 , 0 , 2804 , 177, 55 ), // #713
- INST(Setp , X86Set , O(000F00,9A,_,_,_,_,_,_ ), 0 , 4 , 0 , 2809 , 177, 62 ), // #714
- INST(Setpe , X86Set , O(000F00,9A,_,_,_,_,_,_ ), 0 , 4 , 0 , 2814 , 177, 62 ), // #715
- INST(Setpo , X86Set , O(000F00,9B,_,_,_,_,_,_ ), 0 , 4 , 0 , 2820 , 177, 62 ), // #716
- INST(Sets , X86Set , O(000F00,98,_,_,_,_,_,_ ), 0 , 4 , 0 , 2826 , 177, 63 ), // #717
- INST(Setssbsy , X86Op , O(F30F01,E8,_,_,_,_,_,_ ), 0 , 82 , 0 , 2831 , 30 , 54 ), // #718
- INST(Setz , X86Set , O(000F00,94,_,_,_,_,_,_ ), 0 , 4 , 0 , 2840 , 177, 59 ), // #719
- INST(Sfence , X86Fence , O(000F00,AE,7,_,_,_,_,_ ), 0 , 22 , 0 , 2845 , 30 , 75 ), // #720
- INST(Sgdt , X86M_Only , O(000F00,01,0,_,_,_,_,_ ), 0 , 4 , 0 , 2852 , 31 , 0 ), // #721
- INST(Sha1msg1 , ExtRm , O(000F38,C9,_,_,_,_,_,_ ), 0 , 83 , 0 , 2857 , 5 , 114), // #722
- INST(Sha1msg2 , ExtRm , O(000F38,CA,_,_,_,_,_,_ ), 0 , 83 , 0 , 2866 , 5 , 114), // #723
- INST(Sha1nexte , ExtRm , O(000F38,C8,_,_,_,_,_,_ ), 0 , 83 , 0 , 2875 , 5 , 114), // #724
- INST(Sha1rnds4 , ExtRmi , O(000F3A,CC,_,_,_,_,_,_ ), 0 , 85 , 0 , 2885 , 8 , 114), // #725
- INST(Sha256msg1 , ExtRm , O(000F38,CC,_,_,_,_,_,_ ), 0 , 83 , 0 , 2895 , 5 , 114), // #726
- INST(Sha256msg2 , ExtRm , O(000F38,CD,_,_,_,_,_,_ ), 0 , 83 , 0 , 2906 , 5 , 114), // #727
- INST(Sha256rnds2 , ExtRm_XMM0 , O(000F38,CB,_,_,_,_,_,_ ), 0 , 83 , 0 , 2917 , 15 , 114), // #728
- INST(Shl , X86Rot , O(000000,D0,4,_,x,_,_,_ ), 0 , 9 , 0 , 2929 , 169, 1 ), // #729
- INST(Shld , X86ShldShrd , O(000F00,A4,_,_,x,_,_,_ ), 0 , 4 , 0 , 8938 , 178, 1 ), // #730
- INST(Shlx , VexRmv_Wx , V(660F38,F7,_,0,x,_,_,_ ), 0 , 96 , 0 , 2933 , 13 , 83 ), // #731
- INST(Shr , X86Rot , O(000000,D0,5,_,x,_,_,_ ), 0 , 61 , 0 , 2938 , 169, 1 ), // #732
- INST(Shrd , X86ShldShrd , O(000F00,AC,_,_,x,_,_,_ ), 0 , 4 , 0 , 2942 , 178, 1 ), // #733
- INST(Shrx , VexRmv_Wx , V(F20F38,F7,_,0,x,_,_,_ ), 0 , 84 , 0 , 2947 , 13 , 83 ), // #734
- INST(Shufpd , ExtRmi , O(660F00,C6,_,_,_,_,_,_ ), 0 , 3 , 0 , 10163, 8 , 4 ), // #735
- INST(Shufps , ExtRmi , O(000F00,C6,_,_,_,_,_,_ ), 0 , 4 , 0 , 10171, 8 , 5 ), // #736
- INST(Sidt , X86M_Only , O(000F00,01,1,_,_,_,_,_ ), 0 , 28 , 0 , 2952 , 31 , 0 ), // #737
- INST(Skinit , X86Op_xAX , O(000F01,DE,_,_,_,_,_,_ ), 0 , 21 , 0 , 2957 , 51 , 115), // #738
- INST(Sldt , X86M , O(000F00,00,0,_,_,_,_,_ ), 0 , 4 , 0 , 2964 , 179, 0 ), // #739
- INST(Slwpcb , VexR_Wx , V(XOP_M9,12,1,0,x,_,_,_ ), 0 , 11 , 0 , 2969 , 104, 72 ), // #740
- INST(Smsw , X86M , O(000F00,01,4,_,_,_,_,_ ), 0 , 97 , 0 , 2976 , 179, 0 ), // #741
- INST(Sqrtpd , ExtRm , O(660F00,51,_,_,_,_,_,_ ), 0 , 3 , 0 , 10179, 5 , 4 ), // #742
- INST(Sqrtps , ExtRm , O(000F00,51,_,_,_,_,_,_ ), 0 , 4 , 0 , 9894 , 5 , 5 ), // #743
- INST(Sqrtsd , ExtRm , O(F20F00,51,_,_,_,_,_,_ ), 0 , 5 , 0 , 10195, 6 , 4 ), // #744
- INST(Sqrtss , ExtRm , O(F30F00,51,_,_,_,_,_,_ ), 0 , 6 , 0 , 9903 , 7 , 5 ), // #745
- INST(Stac , X86Op , O(000F01,CB,_,_,_,_,_,_ ), 0 , 21 , 0 , 2981 , 30 , 16 ), // #746
- INST(Stc , X86Op , O(000000,F9,_,_,_,_,_,_ ), 0 , 0 , 0 , 2986 , 30 , 17 ), // #747
- INST(Std , X86Op , O(000000,FD,_,_,_,_,_,_ ), 0 , 0 , 0 , 6921 , 30 , 18 ), // #748
- INST(Stgi , X86Op , O(000F01,DC,_,_,_,_,_,_ ), 0 , 21 , 0 , 2990 , 30 , 115), // #749
- INST(Sti , X86Op , O(000000,FB,_,_,_,_,_,_ ), 0 , 0 , 0 , 2995 , 30 , 23 ), // #750
- INST(Stmxcsr , X86M_Only , O(000F00,AE,3,_,_,_,_,_ ), 0 , 77 , 0 , 10211, 97 , 5 ), // #751
- INST(Stos , X86StrMr , O(000000,AA,_,_,_,_,_,_ ), 0 , 0 , 0 , 2999 , 180, 73 ), // #752
- INST(Str , X86M , O(000F00,00,1,_,_,_,_,_ ), 0 , 28 , 0 , 3004 , 179, 0 ), // #753
- INST(Sttilecfg , AmxCfg , V(660F38,49,_,0,0,_,_,_ ), 0 , 96 , 0 , 3008 , 99 , 71 ), // #754
- INST(Sub , X86Arith , O(000000,28,5,_,x,_,_,_ ), 0 , 61 , 0 , 861 , 175, 1 ), // #755
- INST(Subpd , ExtRm , O(660F00,5C,_,_,_,_,_,_ ), 0 , 3 , 0 , 4863 , 5 , 4 ), // #756
- INST(Subps , ExtRm , O(000F00,5C,_,_,_,_,_,_ ), 0 , 4 , 0 , 4875 , 5 , 5 ), // #757
- INST(Subsd , ExtRm , O(F20F00,5C,_,_,_,_,_,_ ), 0 , 5 , 0 , 5551 , 6 , 4 ), // #758
- INST(Subss , ExtRm , O(F30F00,5C,_,_,_,_,_,_ ), 0 , 6 , 0 , 5561 , 7 , 5 ), // #759
- INST(Swapgs , X86Op , O(000F01,F8,_,_,_,_,_,_ ), 0 , 21 , 0 , 3018 , 163, 0 ), // #760
- INST(Syscall , X86Op , O(000F00,05,_,_,_,_,_,_ ), 0 , 4 , 0 , 3025 , 163, 0 ), // #761
- INST(Sysenter , X86Op , O(000F00,34,_,_,_,_,_,_ ), 0 , 4 , 0 , 3033 , 30 , 0 ), // #762
- INST(Sysexit , X86Op , O(000F00,35,_,_,_,_,_,_ ), 0 , 4 , 0 , 3042 , 30 , 0 ), // #763
- INST(Sysexit64 , X86Op , O(000F00,35,_,_,_,_,_,_ ), 0 , 4 , 0 , 3050 , 30 , 0 ), // #764
- INST(Sysret , X86Op , O(000F00,07,_,_,_,_,_,_ ), 0 , 4 , 0 , 3060 , 163, 0 ), // #765
- INST(Sysret64 , X86Op , O(000F00,07,_,_,_,_,_,_ ), 0 , 4 , 0 , 3067 , 163, 0 ), // #766
- INST(T1mskc , VexVm_Wx , V(XOP_M9,01,7,0,x,_,_,_ ), 0 , 98 , 0 , 3076 , 14 , 11 ), // #767
- INST(Tdpbf16ps , AmxRmv , V(F30F38,5C,_,0,0,_,_,_ ), 0 , 88 , 0 , 3083 , 181, 116), // #768
- INST(Tdpbssd , AmxRmv , V(F20F38,5E,_,0,0,_,_,_ ), 0 , 84 , 0 , 3093 , 181, 117), // #769
- INST(Tdpbsud , AmxRmv , V(F30F38,5E,_,0,0,_,_,_ ), 0 , 88 , 0 , 3101 , 181, 117), // #770
- INST(Tdpbusd , AmxRmv , V(660F38,5E,_,0,0,_,_,_ ), 0 , 96 , 0 , 3109 , 181, 117), // #771
- INST(Tdpbuud , AmxRmv , V(000F38,5E,_,0,0,_,_,_ ), 0 , 10 , 0 , 3117 , 181, 117), // #772
- INST(Test , X86Test , O(000000,84,_,_,x,_,_,_ ), O(000000,F6,_,_,x,_,_,_ ), 0 , 80 , 9367 , 182, 1 ), // #773
- INST(Tileloadd , AmxRm , V(F20F38,4B,_,0,0,_,_,_ ), 0 , 84 , 0 , 3125 , 183, 71 ), // #774
- INST(Tileloaddt1 , AmxRm , V(660F38,4B,_,0,0,_,_,_ ), 0 , 96 , 0 , 3135 , 183, 71 ), // #775
- INST(Tilerelease , VexOpMod , V(000F38,49,0,0,0,_,_,_ ), 0 , 10 , 0 , 3147 , 184, 71 ), // #776
- INST(Tilestored , AmxMr , V(F30F38,4B,_,0,0,_,_,_ ), 0 , 88 , 0 , 3159 , 185, 71 ), // #777
- INST(Tilezero , AmxR , V(F20F38,49,_,0,0,_,_,_ ), 0 , 84 , 0 , 3170 , 186, 71 ), // #778
- INST(Tpause , X86R32_EDX_EAX , O(660F00,AE,6,_,_,_,_,_ ), 0 , 25 , 0 , 3179 , 187, 118), // #779
- INST(Tzcnt , X86Rm_Raw66H , O(F30F00,BC,_,_,x,_,_,_ ), 0 , 6 , 0 , 3186 , 22 , 9 ), // #780
- INST(Tzmsk , VexVm_Wx , V(XOP_M9,01,4,0,x,_,_,_ ), 0 , 99 , 0 , 3192 , 14 , 11 ), // #781
- INST(Ucomisd , ExtRm , O(660F00,2E,_,_,_,_,_,_ ), 0 , 3 , 0 , 10264, 6 , 40 ), // #782
- INST(Ucomiss , ExtRm , O(000F00,2E,_,_,_,_,_,_ ), 0 , 4 , 0 , 10273, 7 , 41 ), // #783
- INST(Ud0 , X86M , O(000F00,FF,_,_,_,_,_,_ ), 0 , 4 , 0 , 3198 , 188, 0 ), // #784
- INST(Ud1 , X86M , O(000F00,B9,_,_,_,_,_,_ ), 0 , 4 , 0 , 3202 , 188, 0 ), // #785
- INST(Ud2 , X86Op , O(000F00,0B,_,_,_,_,_,_ ), 0 , 4 , 0 , 3206 , 30 , 0 ), // #786
- INST(Umonitor , X86R_FromM , O(F30F00,AE,6,_,_,_,_,_ ), 0 , 24 , 0 , 3210 , 189, 119), // #787
- INST(Umwait , X86R32_EDX_EAX , O(F20F00,AE,6,_,_,_,_,_ ), 0 , 100, 0 , 3219 , 187, 118), // #788
- INST(Unpckhpd , ExtRm , O(660F00,15,_,_,_,_,_,_ ), 0 , 3 , 0 , 10282, 5 , 4 ), // #789
- INST(Unpckhps , ExtRm , O(000F00,15,_,_,_,_,_,_ ), 0 , 4 , 0 , 10292, 5 , 5 ), // #790
- INST(Unpcklpd , ExtRm , O(660F00,14,_,_,_,_,_,_ ), 0 , 3 , 0 , 10302, 5 , 4 ), // #791
- INST(Unpcklps , ExtRm , O(000F00,14,_,_,_,_,_,_ ), 0 , 4 , 0 , 10312, 5 , 5 ), // #792
- INST(V4fmaddps , VexRm_T1_4X , E(F20F38,9A,_,2,_,0,2,T4X), 0 , 101, 0 , 3226 , 190, 120), // #793
- INST(V4fmaddss , VexRm_T1_4X , E(F20F38,9B,_,2,_,0,2,T4X), 0 , 101, 0 , 3236 , 191, 120), // #794
- INST(V4fnmaddps , VexRm_T1_4X , E(F20F38,AA,_,2,_,0,2,T4X), 0 , 101, 0 , 3246 , 190, 120), // #795
- INST(V4fnmaddss , VexRm_T1_4X , E(F20F38,AB,_,2,_,0,2,T4X), 0 , 101, 0 , 3257 , 191, 120), // #796
- INST(Vaddpd , VexRvm_Lx , V(660F00,58,_,x,I,1,4,FV ), 0 , 102, 0 , 3268 , 192, 121), // #797
- INST(Vaddps , VexRvm_Lx , V(000F00,58,_,x,I,0,4,FV ), 0 , 103, 0 , 3275 , 193, 121), // #798
- INST(Vaddsd , VexRvm , V(F20F00,58,_,I,I,1,3,T1S), 0 , 104, 0 , 3282 , 194, 122), // #799
- INST(Vaddss , VexRvm , V(F30F00,58,_,I,I,0,2,T1S), 0 , 105, 0 , 3289 , 195, 122), // #800
- INST(Vaddsubpd , VexRvm_Lx , V(660F00,D0,_,x,I,_,_,_ ), 0 , 68 , 0 , 3296 , 196, 123), // #801
- INST(Vaddsubps , VexRvm_Lx , V(F20F00,D0,_,x,I,_,_,_ ), 0 , 106, 0 , 3306 , 196, 123), // #802
- INST(Vaesdec , VexRvm_Lx , V(660F38,DE,_,x,I,_,4,FVM), 0 , 107, 0 , 3316 , 197, 124), // #803
- INST(Vaesdeclast , VexRvm_Lx , V(660F38,DF,_,x,I,_,4,FVM), 0 , 107, 0 , 3324 , 197, 124), // #804
- INST(Vaesenc , VexRvm_Lx , V(660F38,DC,_,x,I,_,4,FVM), 0 , 107, 0 , 3336 , 197, 124), // #805
- INST(Vaesenclast , VexRvm_Lx , V(660F38,DD,_,x,I,_,4,FVM), 0 , 107, 0 , 3344 , 197, 124), // #806
- INST(Vaesimc , VexRm , V(660F38,DB,_,0,I,_,_,_ ), 0 , 96 , 0 , 3356 , 198, 125), // #807
- INST(Vaeskeygenassist , VexRmi , V(660F3A,DF,_,0,I,_,_,_ ), 0 , 72 , 0 , 3364 , 199, 125), // #808
- INST(Valignd , VexRvmi_Lx , E(660F3A,03,_,x,_,0,4,FV ), 0 , 108, 0 , 3381 , 200, 126), // #809
- INST(Valignq , VexRvmi_Lx , E(660F3A,03,_,x,_,1,4,FV ), 0 , 109, 0 , 3389 , 201, 126), // #810
- INST(Vandnpd , VexRvm_Lx , V(660F00,55,_,x,I,1,4,FV ), 0 , 102, 0 , 3397 , 202, 127), // #811
- INST(Vandnps , VexRvm_Lx , V(000F00,55,_,x,I,0,4,FV ), 0 , 103, 0 , 3405 , 203, 127), // #812
- INST(Vandpd , VexRvm_Lx , V(660F00,54,_,x,I,1,4,FV ), 0 , 102, 0 , 3413 , 204, 127), // #813
- INST(Vandps , VexRvm_Lx , V(000F00,54,_,x,I,0,4,FV ), 0 , 103, 0 , 3420 , 205, 127), // #814
- INST(Vblendmb , VexRvm_Lx , E(660F38,66,_,x,_,0,4,FVM), 0 , 110, 0 , 3427 , 206, 128), // #815
- INST(Vblendmd , VexRvm_Lx , E(660F38,64,_,x,_,0,4,FV ), 0 , 111, 0 , 3436 , 207, 126), // #816
- INST(Vblendmpd , VexRvm_Lx , E(660F38,65,_,x,_,1,4,FV ), 0 , 112, 0 , 3445 , 208, 126), // #817
- INST(Vblendmps , VexRvm_Lx , E(660F38,65,_,x,_,0,4,FV ), 0 , 111, 0 , 3455 , 207, 126), // #818
- INST(Vblendmq , VexRvm_Lx , E(660F38,64,_,x,_,1,4,FV ), 0 , 112, 0 , 3465 , 208, 126), // #819
- INST(Vblendmw , VexRvm_Lx , E(660F38,66,_,x,_,1,4,FVM), 0 , 113, 0 , 3474 , 206, 128), // #820
- INST(Vblendpd , VexRvmi_Lx , V(660F3A,0D,_,x,I,_,_,_ ), 0 , 72 , 0 , 3483 , 209, 123), // #821
- INST(Vblendps , VexRvmi_Lx , V(660F3A,0C,_,x,I,_,_,_ ), 0 , 72 , 0 , 3492 , 209, 123), // #822
- INST(Vblendvpd , VexRvmr_Lx , V(660F3A,4B,_,x,0,_,_,_ ), 0 , 72 , 0 , 3501 , 210, 123), // #823
- INST(Vblendvps , VexRvmr_Lx , V(660F3A,4A,_,x,0,_,_,_ ), 0 , 72 , 0 , 3511 , 210, 123), // #824
- INST(Vbroadcastf128 , VexRm , V(660F38,1A,_,1,0,_,_,_ ), 0 , 114, 0 , 3521 , 211, 123), // #825
- INST(Vbroadcastf32x2 , VexRm_Lx , E(660F38,19,_,x,_,0,3,T2 ), 0 , 115, 0 , 3536 , 212, 129), // #826
- INST(Vbroadcastf32x4 , VexRm_Lx , E(660F38,1A,_,x,_,0,4,T4 ), 0 , 116, 0 , 3552 , 213, 66 ), // #827
- INST(Vbroadcastf32x8 , VexRm , E(660F38,1B,_,2,_,0,5,T8 ), 0 , 117, 0 , 3568 , 214, 64 ), // #828
- INST(Vbroadcastf64x2 , VexRm_Lx , E(660F38,1A,_,x,_,1,4,T2 ), 0 , 118, 0 , 3584 , 213, 129), // #829
- INST(Vbroadcastf64x4 , VexRm , E(660F38,1B,_,2,_,1,5,T4 ), 0 , 119, 0 , 3600 , 214, 66 ), // #830
- INST(Vbroadcasti128 , VexRm , V(660F38,5A,_,1,0,_,_,_ ), 0 , 114, 0 , 3616 , 211, 130), // #831
- INST(Vbroadcasti32x2 , VexRm_Lx , E(660F38,59,_,x,_,0,3,T2 ), 0 , 115, 0 , 3631 , 215, 129), // #832
- INST(Vbroadcasti32x4 , VexRm_Lx , E(660F38,5A,_,x,_,0,4,T4 ), 0 , 116, 0 , 3647 , 213, 126), // #833
- INST(Vbroadcasti32x8 , VexRm , E(660F38,5B,_,2,_,0,5,T8 ), 0 , 117, 0 , 3663 , 214, 64 ), // #834
- INST(Vbroadcasti64x2 , VexRm_Lx , E(660F38,5A,_,x,_,1,4,T2 ), 0 , 118, 0 , 3679 , 213, 129), // #835
- INST(Vbroadcasti64x4 , VexRm , E(660F38,5B,_,2,_,1,5,T4 ), 0 , 119, 0 , 3695 , 214, 66 ), // #836
- INST(Vbroadcastsd , VexRm_Lx , V(660F38,19,_,x,0,1,3,T1S), 0 , 120, 0 , 3711 , 216, 131), // #837
- INST(Vbroadcastss , VexRm_Lx , V(660F38,18,_,x,0,0,2,T1S), 0 , 121, 0 , 3724 , 217, 131), // #838
- INST(Vcmppd , VexRvmi_Lx , V(660F00,C2,_,x,I,1,4,FV ), 0 , 102, 0 , 3737 , 218, 121), // #839
- INST(Vcmpps , VexRvmi_Lx , V(000F00,C2,_,x,I,0,4,FV ), 0 , 103, 0 , 3744 , 219, 121), // #840
- INST(Vcmpsd , VexRvmi , V(F20F00,C2,_,I,I,1,3,T1S), 0 , 104, 0 , 3751 , 220, 122), // #841
- INST(Vcmpss , VexRvmi , V(F30F00,C2,_,I,I,0,2,T1S), 0 , 105, 0 , 3758 , 221, 122), // #842
- INST(Vcomisd , VexRm , V(660F00,2F,_,I,I,1,3,T1S), 0 , 122, 0 , 3765 , 222, 132), // #843
- INST(Vcomiss , VexRm , V(000F00,2F,_,I,I,0,2,T1S), 0 , 123, 0 , 3773 , 223, 132), // #844
- INST(Vcompresspd , VexMr_Lx , E(660F38,8A,_,x,_,1,3,T1S), 0 , 124, 0 , 3781 , 224, 126), // #845
- INST(Vcompressps , VexMr_Lx , E(660F38,8A,_,x,_,0,2,T1S), 0 , 125, 0 , 3793 , 224, 126), // #846
- INST(Vcvtdq2pd , VexRm_Lx , V(F30F00,E6,_,x,I,0,3,HV ), 0 , 126, 0 , 3805 , 225, 121), // #847
- INST(Vcvtdq2ps , VexRm_Lx , V(000F00,5B,_,x,I,0,4,FV ), 0 , 103, 0 , 3815 , 226, 121), // #848
- INST(Vcvtne2ps2bf16 , VexRvm , E(F20F38,72,_,_,_,0,_,_ ), 0 , 127, 0 , 3825 , 207, 133), // #849
- INST(Vcvtneps2bf16 , VexRm , E(F30F38,72,_,_,_,0,_,_ ), 0 , 128, 0 , 3840 , 227, 133), // #850
- INST(Vcvtpd2dq , VexRm_Lx , V(F20F00,E6,_,x,I,1,4,FV ), 0 , 129, 0 , 3854 , 228, 121), // #851
- INST(Vcvtpd2ps , VexRm_Lx , V(660F00,5A,_,x,I,1,4,FV ), 0 , 102, 0 , 3864 , 228, 121), // #852
- INST(Vcvtpd2qq , VexRm_Lx , E(660F00,7B,_,x,_,1,4,FV ), 0 , 130, 0 , 3874 , 229, 129), // #853
- INST(Vcvtpd2udq , VexRm_Lx , E(000F00,79,_,x,_,1,4,FV ), 0 , 131, 0 , 3884 , 230, 126), // #854
- INST(Vcvtpd2uqq , VexRm_Lx , E(660F00,79,_,x,_,1,4,FV ), 0 , 130, 0 , 3895 , 229, 129), // #855
- INST(Vcvtph2ps , VexRm_Lx , V(660F38,13,_,x,0,0,3,HVM), 0 , 132, 0 , 3906 , 231, 134), // #856
- INST(Vcvtps2dq , VexRm_Lx , V(660F00,5B,_,x,I,0,4,FV ), 0 , 133, 0 , 3916 , 226, 121), // #857
- INST(Vcvtps2pd , VexRm_Lx , V(000F00,5A,_,x,I,0,4,HV ), 0 , 134, 0 , 3926 , 232, 121), // #858
- INST(Vcvtps2ph , VexMri_Lx , V(660F3A,1D,_,x,0,0,3,HVM), 0 , 135, 0 , 3936 , 233, 134), // #859
- INST(Vcvtps2qq , VexRm_Lx , E(660F00,7B,_,x,_,0,3,HV ), 0 , 136, 0 , 3946 , 234, 129), // #860
- INST(Vcvtps2udq , VexRm_Lx , E(000F00,79,_,x,_,0,4,FV ), 0 , 137, 0 , 3956 , 235, 126), // #861
- INST(Vcvtps2uqq , VexRm_Lx , E(660F00,79,_,x,_,0,3,HV ), 0 , 136, 0 , 3967 , 234, 129), // #862
- INST(Vcvtqq2pd , VexRm_Lx , E(F30F00,E6,_,x,_,1,4,FV ), 0 , 138, 0 , 3978 , 229, 129), // #863
- INST(Vcvtqq2ps , VexRm_Lx , E(000F00,5B,_,x,_,1,4,FV ), 0 , 131, 0 , 3988 , 230, 129), // #864
- INST(Vcvtsd2si , VexRm_Wx , V(F20F00,2D,_,I,x,x,3,T1F), 0 , 139, 0 , 3998 , 236, 122), // #865
- INST(Vcvtsd2ss , VexRvm , V(F20F00,5A,_,I,I,1,3,T1S), 0 , 104, 0 , 4008 , 194, 122), // #866
- INST(Vcvtsd2usi , VexRm_Wx , E(F20F00,79,_,I,_,x,3,T1F), 0 , 140, 0 , 4018 , 237, 66 ), // #867
- INST(Vcvtsi2sd , VexRvm_Wx , V(F20F00,2A,_,I,x,x,2,T1W), 0 , 141, 0 , 4029 , 238, 122), // #868
- INST(Vcvtsi2ss , VexRvm_Wx , V(F30F00,2A,_,I,x,x,2,T1W), 0 , 142, 0 , 4039 , 238, 122), // #869
- INST(Vcvtss2sd , VexRvm , V(F30F00,5A,_,I,I,0,2,T1S), 0 , 105, 0 , 4049 , 239, 122), // #870
- INST(Vcvtss2si , VexRm_Wx , V(F30F00,2D,_,I,x,x,2,T1F), 0 , 143, 0 , 4059 , 240, 122), // #871
- INST(Vcvtss2usi , VexRm_Wx , E(F30F00,79,_,I,_,x,2,T1F), 0 , 144, 0 , 4069 , 241, 66 ), // #872
- INST(Vcvttpd2dq , VexRm_Lx , V(660F00,E6,_,x,I,1,4,FV ), 0 , 102, 0 , 4080 , 242, 121), // #873
- INST(Vcvttpd2qq , VexRm_Lx , E(660F00,7A,_,x,_,1,4,FV ), 0 , 130, 0 , 4091 , 243, 126), // #874
- INST(Vcvttpd2udq , VexRm_Lx , E(000F00,78,_,x,_,1,4,FV ), 0 , 131, 0 , 4102 , 244, 126), // #875
- INST(Vcvttpd2uqq , VexRm_Lx , E(660F00,78,_,x,_,1,4,FV ), 0 , 130, 0 , 4114 , 243, 129), // #876
- INST(Vcvttps2dq , VexRm_Lx , V(F30F00,5B,_,x,I,0,4,FV ), 0 , 145, 0 , 4126 , 245, 121), // #877
- INST(Vcvttps2qq , VexRm_Lx , E(660F00,7A,_,x,_,0,3,HV ), 0 , 136, 0 , 4137 , 246, 129), // #878
- INST(Vcvttps2udq , VexRm_Lx , E(000F00,78,_,x,_,0,4,FV ), 0 , 137, 0 , 4148 , 247, 126), // #879
- INST(Vcvttps2uqq , VexRm_Lx , E(660F00,78,_,x,_,0,3,HV ), 0 , 136, 0 , 4160 , 246, 129), // #880
- INST(Vcvttsd2si , VexRm_Wx , V(F20F00,2C,_,I,x,x,3,T1F), 0 , 139, 0 , 4172 , 248, 122), // #881
- INST(Vcvttsd2usi , VexRm_Wx , E(F20F00,78,_,I,_,x,3,T1F), 0 , 140, 0 , 4183 , 249, 66 ), // #882
- INST(Vcvttss2si , VexRm_Wx , V(F30F00,2C,_,I,x,x,2,T1F), 0 , 143, 0 , 4195 , 250, 122), // #883
- INST(Vcvttss2usi , VexRm_Wx , E(F30F00,78,_,I,_,x,2,T1F), 0 , 144, 0 , 4206 , 251, 66 ), // #884
- INST(Vcvtudq2pd , VexRm_Lx , E(F30F00,7A,_,x,_,0,3,HV ), 0 , 146, 0 , 4218 , 252, 126), // #885
- INST(Vcvtudq2ps , VexRm_Lx , E(F20F00,7A,_,x,_,0,4,FV ), 0 , 147, 0 , 4229 , 235, 126), // #886
- INST(Vcvtuqq2pd , VexRm_Lx , E(F30F00,7A,_,x,_,1,4,FV ), 0 , 138, 0 , 4240 , 229, 129), // #887
- INST(Vcvtuqq2ps , VexRm_Lx , E(F20F00,7A,_,x,_,1,4,FV ), 0 , 148, 0 , 4251 , 230, 129), // #888
- INST(Vcvtusi2sd , VexRvm_Wx , E(F20F00,7B,_,I,_,x,2,T1W), 0 , 149, 0 , 4262 , 253, 66 ), // #889
- INST(Vcvtusi2ss , VexRvm_Wx , E(F30F00,7B,_,I,_,x,2,T1W), 0 , 150, 0 , 4273 , 253, 66 ), // #890
- INST(Vdbpsadbw , VexRvmi_Lx , E(660F3A,42,_,x,_,0,4,FVM), 0 , 151, 0 , 4284 , 254, 128), // #891
- INST(Vdivpd , VexRvm_Lx , V(660F00,5E,_,x,I,1,4,FV ), 0 , 102, 0 , 4294 , 192, 121), // #892
- INST(Vdivps , VexRvm_Lx , V(000F00,5E,_,x,I,0,4,FV ), 0 , 103, 0 , 4301 , 193, 121), // #893
- INST(Vdivsd , VexRvm , V(F20F00,5E,_,I,I,1,3,T1S), 0 , 104, 0 , 4308 , 194, 122), // #894
- INST(Vdivss , VexRvm , V(F30F00,5E,_,I,I,0,2,T1S), 0 , 105, 0 , 4315 , 195, 122), // #895
- INST(Vdpbf16ps , VexRvm , E(F30F38,52,_,_,_,0,_,_ ), 0 , 128, 0 , 4322 , 207, 133), // #896
- INST(Vdppd , VexRvmi_Lx , V(660F3A,41,_,x,I,_,_,_ ), 0 , 72 , 0 , 4332 , 255, 123), // #897
- INST(Vdpps , VexRvmi_Lx , V(660F3A,40,_,x,I,_,_,_ ), 0 , 72 , 0 , 4338 , 209, 123), // #898
- INST(Verr , X86M_NoSize , O(000F00,00,4,_,_,_,_,_ ), 0 , 97 , 0 , 4344 , 103, 10 ), // #899
- INST(Verw , X86M_NoSize , O(000F00,00,5,_,_,_,_,_ ), 0 , 76 , 0 , 4349 , 103, 10 ), // #900
- INST(Vexp2pd , VexRm , E(660F38,C8,_,2,_,1,4,FV ), 0 , 152, 0 , 4354 , 256, 135), // #901
- INST(Vexp2ps , VexRm , E(660F38,C8,_,2,_,0,4,FV ), 0 , 153, 0 , 4362 , 257, 135), // #902
- INST(Vexpandpd , VexRm_Lx , E(660F38,88,_,x,_,1,3,T1S), 0 , 124, 0 , 4370 , 258, 126), // #903
- INST(Vexpandps , VexRm_Lx , E(660F38,88,_,x,_,0,2,T1S), 0 , 125, 0 , 4380 , 258, 126), // #904
- INST(Vextractf128 , VexMri , V(660F3A,19,_,1,0,_,_,_ ), 0 , 154, 0 , 4390 , 259, 123), // #905
- INST(Vextractf32x4 , VexMri_Lx , E(660F3A,19,_,x,_,0,4,T4 ), 0 , 155, 0 , 4403 , 260, 126), // #906
- INST(Vextractf32x8 , VexMri , E(660F3A,1B,_,2,_,0,5,T8 ), 0 , 156, 0 , 4417 , 261, 64 ), // #907
- INST(Vextractf64x2 , VexMri_Lx , E(660F3A,19,_,x,_,1,4,T2 ), 0 , 157, 0 , 4431 , 260, 129), // #908
- INST(Vextractf64x4 , VexMri , E(660F3A,1B,_,2,_,1,5,T4 ), 0 , 158, 0 , 4445 , 261, 66 ), // #909
- INST(Vextracti128 , VexMri , V(660F3A,39,_,1,0,_,_,_ ), 0 , 154, 0 , 4459 , 259, 130), // #910
- INST(Vextracti32x4 , VexMri_Lx , E(660F3A,39,_,x,_,0,4,T4 ), 0 , 155, 0 , 4472 , 260, 126), // #911
- INST(Vextracti32x8 , VexMri , E(660F3A,3B,_,2,_,0,5,T8 ), 0 , 156, 0 , 4486 , 261, 64 ), // #912
- INST(Vextracti64x2 , VexMri_Lx , E(660F3A,39,_,x,_,1,4,T2 ), 0 , 157, 0 , 4500 , 260, 129), // #913
- INST(Vextracti64x4 , VexMri , E(660F3A,3B,_,2,_,1,5,T4 ), 0 , 158, 0 , 4514 , 261, 66 ), // #914
- INST(Vextractps , VexMri , V(660F3A,17,_,0,I,I,2,T1S), 0 , 159, 0 , 4528 , 262, 122), // #915
- INST(Vfixupimmpd , VexRvmi_Lx , E(660F3A,54,_,x,_,1,4,FV ), 0 , 109, 0 , 4539 , 263, 126), // #916
- INST(Vfixupimmps , VexRvmi_Lx , E(660F3A,54,_,x,_,0,4,FV ), 0 , 108, 0 , 4551 , 264, 126), // #917
- INST(Vfixupimmsd , VexRvmi , E(660F3A,55,_,I,_,1,3,T1S), 0 , 160, 0 , 4563 , 265, 66 ), // #918
- INST(Vfixupimmss , VexRvmi , E(660F3A,55,_,I,_,0,2,T1S), 0 , 161, 0 , 4575 , 266, 66 ), // #919
- INST(Vfmadd132pd , VexRvm_Lx , V(660F38,98,_,x,1,1,4,FV ), 0 , 162, 0 , 4587 , 192, 136), // #920
- INST(Vfmadd132ps , VexRvm_Lx , V(660F38,98,_,x,0,0,4,FV ), 0 , 163, 0 , 4599 , 193, 136), // #921
- INST(Vfmadd132sd , VexRvm , V(660F38,99,_,I,1,1,3,T1S), 0 , 164, 0 , 4611 , 194, 137), // #922
- INST(Vfmadd132ss , VexRvm , V(660F38,99,_,I,0,0,2,T1S), 0 , 121, 0 , 4623 , 195, 137), // #923
- INST(Vfmadd213pd , VexRvm_Lx , V(660F38,A8,_,x,1,1,4,FV ), 0 , 162, 0 , 4635 , 192, 136), // #924
- INST(Vfmadd213ps , VexRvm_Lx , V(660F38,A8,_,x,0,0,4,FV ), 0 , 163, 0 , 4647 , 193, 136), // #925
- INST(Vfmadd213sd , VexRvm , V(660F38,A9,_,I,1,1,3,T1S), 0 , 164, 0 , 4659 , 194, 137), // #926
- INST(Vfmadd213ss , VexRvm , V(660F38,A9,_,I,0,0,2,T1S), 0 , 121, 0 , 4671 , 195, 137), // #927
- INST(Vfmadd231pd , VexRvm_Lx , V(660F38,B8,_,x,1,1,4,FV ), 0 , 162, 0 , 4683 , 192, 136), // #928
- INST(Vfmadd231ps , VexRvm_Lx , V(660F38,B8,_,x,0,0,4,FV ), 0 , 163, 0 , 4695 , 193, 136), // #929
- INST(Vfmadd231sd , VexRvm , V(660F38,B9,_,I,1,1,3,T1S), 0 , 164, 0 , 4707 , 194, 137), // #930
- INST(Vfmadd231ss , VexRvm , V(660F38,B9,_,I,0,0,2,T1S), 0 , 121, 0 , 4719 , 195, 137), // #931
- INST(Vfmaddpd , Fma4_Lx , V(660F3A,69,_,x,x,_,_,_ ), 0 , 72 , 0 , 4731 , 267, 138), // #932
- INST(Vfmaddps , Fma4_Lx , V(660F3A,68,_,x,x,_,_,_ ), 0 , 72 , 0 , 4740 , 267, 138), // #933
- INST(Vfmaddsd , Fma4 , V(660F3A,6B,_,0,x,_,_,_ ), 0 , 72 , 0 , 4749 , 268, 138), // #934
- INST(Vfmaddss , Fma4 , V(660F3A,6A,_,0,x,_,_,_ ), 0 , 72 , 0 , 4758 , 269, 138), // #935
- INST(Vfmaddsub132pd , VexRvm_Lx , V(660F38,96,_,x,1,1,4,FV ), 0 , 162, 0 , 4767 , 192, 136), // #936
- INST(Vfmaddsub132ps , VexRvm_Lx , V(660F38,96,_,x,0,0,4,FV ), 0 , 163, 0 , 4782 , 193, 136), // #937
- INST(Vfmaddsub213pd , VexRvm_Lx , V(660F38,A6,_,x,1,1,4,FV ), 0 , 162, 0 , 4797 , 192, 136), // #938
- INST(Vfmaddsub213ps , VexRvm_Lx , V(660F38,A6,_,x,0,0,4,FV ), 0 , 163, 0 , 4812 , 193, 136), // #939
- INST(Vfmaddsub231pd , VexRvm_Lx , V(660F38,B6,_,x,1,1,4,FV ), 0 , 162, 0 , 4827 , 192, 136), // #940
- INST(Vfmaddsub231ps , VexRvm_Lx , V(660F38,B6,_,x,0,0,4,FV ), 0 , 163, 0 , 4842 , 193, 136), // #941
- INST(Vfmaddsubpd , Fma4_Lx , V(660F3A,5D,_,x,x,_,_,_ ), 0 , 72 , 0 , 4857 , 267, 138), // #942
- INST(Vfmaddsubps , Fma4_Lx , V(660F3A,5C,_,x,x,_,_,_ ), 0 , 72 , 0 , 4869 , 267, 138), // #943
- INST(Vfmsub132pd , VexRvm_Lx , V(660F38,9A,_,x,1,1,4,FV ), 0 , 162, 0 , 4881 , 192, 136), // #944
- INST(Vfmsub132ps , VexRvm_Lx , V(660F38,9A,_,x,0,0,4,FV ), 0 , 163, 0 , 4893 , 193, 136), // #945
- INST(Vfmsub132sd , VexRvm , V(660F38,9B,_,I,1,1,3,T1S), 0 , 164, 0 , 4905 , 194, 137), // #946
- INST(Vfmsub132ss , VexRvm , V(660F38,9B,_,I,0,0,2,T1S), 0 , 121, 0 , 4917 , 195, 137), // #947
- INST(Vfmsub213pd , VexRvm_Lx , V(660F38,AA,_,x,1,1,4,FV ), 0 , 162, 0 , 4929 , 192, 136), // #948
- INST(Vfmsub213ps , VexRvm_Lx , V(660F38,AA,_,x,0,0,4,FV ), 0 , 163, 0 , 4941 , 193, 136), // #949
- INST(Vfmsub213sd , VexRvm , V(660F38,AB,_,I,1,1,3,T1S), 0 , 164, 0 , 4953 , 194, 137), // #950
- INST(Vfmsub213ss , VexRvm , V(660F38,AB,_,I,0,0,2,T1S), 0 , 121, 0 , 4965 , 195, 137), // #951
- INST(Vfmsub231pd , VexRvm_Lx , V(660F38,BA,_,x,1,1,4,FV ), 0 , 162, 0 , 4977 , 192, 136), // #952
- INST(Vfmsub231ps , VexRvm_Lx , V(660F38,BA,_,x,0,0,4,FV ), 0 , 163, 0 , 4989 , 193, 136), // #953
- INST(Vfmsub231sd , VexRvm , V(660F38,BB,_,I,1,1,3,T1S), 0 , 164, 0 , 5001 , 194, 137), // #954
- INST(Vfmsub231ss , VexRvm , V(660F38,BB,_,I,0,0,2,T1S), 0 , 121, 0 , 5013 , 195, 137), // #955
- INST(Vfmsubadd132pd , VexRvm_Lx , V(660F38,97,_,x,1,1,4,FV ), 0 , 162, 0 , 5025 , 192, 136), // #956
- INST(Vfmsubadd132ps , VexRvm_Lx , V(660F38,97,_,x,0,0,4,FV ), 0 , 163, 0 , 5040 , 193, 136), // #957
- INST(Vfmsubadd213pd , VexRvm_Lx , V(660F38,A7,_,x,1,1,4,FV ), 0 , 162, 0 , 5055 , 192, 136), // #958
- INST(Vfmsubadd213ps , VexRvm_Lx , V(660F38,A7,_,x,0,0,4,FV ), 0 , 163, 0 , 5070 , 193, 136), // #959
- INST(Vfmsubadd231pd , VexRvm_Lx , V(660F38,B7,_,x,1,1,4,FV ), 0 , 162, 0 , 5085 , 192, 136), // #960
- INST(Vfmsubadd231ps , VexRvm_Lx , V(660F38,B7,_,x,0,0,4,FV ), 0 , 163, 0 , 5100 , 193, 136), // #961
- INST(Vfmsubaddpd , Fma4_Lx , V(660F3A,5F,_,x,x,_,_,_ ), 0 , 72 , 0 , 5115 , 267, 138), // #962
- INST(Vfmsubaddps , Fma4_Lx , V(660F3A,5E,_,x,x,_,_,_ ), 0 , 72 , 0 , 5127 , 267, 138), // #963
- INST(Vfmsubpd , Fma4_Lx , V(660F3A,6D,_,x,x,_,_,_ ), 0 , 72 , 0 , 5139 , 267, 138), // #964
- INST(Vfmsubps , Fma4_Lx , V(660F3A,6C,_,x,x,_,_,_ ), 0 , 72 , 0 , 5148 , 267, 138), // #965
- INST(Vfmsubsd , Fma4 , V(660F3A,6F,_,0,x,_,_,_ ), 0 , 72 , 0 , 5157 , 268, 138), // #966
- INST(Vfmsubss , Fma4 , V(660F3A,6E,_,0,x,_,_,_ ), 0 , 72 , 0 , 5166 , 269, 138), // #967
- INST(Vfnmadd132pd , VexRvm_Lx , V(660F38,9C,_,x,1,1,4,FV ), 0 , 162, 0 , 5175 , 192, 136), // #968
- INST(Vfnmadd132ps , VexRvm_Lx , V(660F38,9C,_,x,0,0,4,FV ), 0 , 163, 0 , 5188 , 193, 136), // #969
- INST(Vfnmadd132sd , VexRvm , V(660F38,9D,_,I,1,1,3,T1S), 0 , 164, 0 , 5201 , 194, 137), // #970
- INST(Vfnmadd132ss , VexRvm , V(660F38,9D,_,I,0,0,2,T1S), 0 , 121, 0 , 5214 , 195, 137), // #971
- INST(Vfnmadd213pd , VexRvm_Lx , V(660F38,AC,_,x,1,1,4,FV ), 0 , 162, 0 , 5227 , 192, 136), // #972
- INST(Vfnmadd213ps , VexRvm_Lx , V(660F38,AC,_,x,0,0,4,FV ), 0 , 163, 0 , 5240 , 193, 136), // #973
- INST(Vfnmadd213sd , VexRvm , V(660F38,AD,_,I,1,1,3,T1S), 0 , 164, 0 , 5253 , 194, 137), // #974
- INST(Vfnmadd213ss , VexRvm , V(660F38,AD,_,I,0,0,2,T1S), 0 , 121, 0 , 5266 , 195, 137), // #975
- INST(Vfnmadd231pd , VexRvm_Lx , V(660F38,BC,_,x,1,1,4,FV ), 0 , 162, 0 , 5279 , 192, 136), // #976
- INST(Vfnmadd231ps , VexRvm_Lx , V(660F38,BC,_,x,0,0,4,FV ), 0 , 163, 0 , 5292 , 193, 136), // #977
- INST(Vfnmadd231sd , VexRvm , V(660F38,BC,_,I,1,1,3,T1S), 0 , 164, 0 , 5305 , 194, 137), // #978
- INST(Vfnmadd231ss , VexRvm , V(660F38,BC,_,I,0,0,2,T1S), 0 , 121, 0 , 5318 , 195, 137), // #979
- INST(Vfnmaddpd , Fma4_Lx , V(660F3A,79,_,x,x,_,_,_ ), 0 , 72 , 0 , 5331 , 267, 138), // #980
- INST(Vfnmaddps , Fma4_Lx , V(660F3A,78,_,x,x,_,_,_ ), 0 , 72 , 0 , 5341 , 267, 138), // #981
- INST(Vfnmaddsd , Fma4 , V(660F3A,7B,_,0,x,_,_,_ ), 0 , 72 , 0 , 5351 , 268, 138), // #982
- INST(Vfnmaddss , Fma4 , V(660F3A,7A,_,0,x,_,_,_ ), 0 , 72 , 0 , 5361 , 269, 138), // #983
- INST(Vfnmsub132pd , VexRvm_Lx , V(660F38,9E,_,x,1,1,4,FV ), 0 , 162, 0 , 5371 , 192, 136), // #984
- INST(Vfnmsub132ps , VexRvm_Lx , V(660F38,9E,_,x,0,0,4,FV ), 0 , 163, 0 , 5384 , 193, 136), // #985
- INST(Vfnmsub132sd , VexRvm , V(660F38,9F,_,I,1,1,3,T1S), 0 , 164, 0 , 5397 , 194, 137), // #986
- INST(Vfnmsub132ss , VexRvm , V(660F38,9F,_,I,0,0,2,T1S), 0 , 121, 0 , 5410 , 195, 137), // #987
- INST(Vfnmsub213pd , VexRvm_Lx , V(660F38,AE,_,x,1,1,4,FV ), 0 , 162, 0 , 5423 , 192, 136), // #988
- INST(Vfnmsub213ps , VexRvm_Lx , V(660F38,AE,_,x,0,0,4,FV ), 0 , 163, 0 , 5436 , 193, 136), // #989
- INST(Vfnmsub213sd , VexRvm , V(660F38,AF,_,I,1,1,3,T1S), 0 , 164, 0 , 5449 , 194, 137), // #990
- INST(Vfnmsub213ss , VexRvm , V(660F38,AF,_,I,0,0,2,T1S), 0 , 121, 0 , 5462 , 195, 137), // #991
- INST(Vfnmsub231pd , VexRvm_Lx , V(660F38,BE,_,x,1,1,4,FV ), 0 , 162, 0 , 5475 , 192, 136), // #992
- INST(Vfnmsub231ps , VexRvm_Lx , V(660F38,BE,_,x,0,0,4,FV ), 0 , 163, 0 , 5488 , 193, 136), // #993
- INST(Vfnmsub231sd , VexRvm , V(660F38,BF,_,I,1,1,3,T1S), 0 , 164, 0 , 5501 , 194, 137), // #994
- INST(Vfnmsub231ss , VexRvm , V(660F38,BF,_,I,0,0,2,T1S), 0 , 121, 0 , 5514 , 195, 137), // #995
- INST(Vfnmsubpd , Fma4_Lx , V(660F3A,7D,_,x,x,_,_,_ ), 0 , 72 , 0 , 5527 , 267, 138), // #996
- INST(Vfnmsubps , Fma4_Lx , V(660F3A,7C,_,x,x,_,_,_ ), 0 , 72 , 0 , 5537 , 267, 138), // #997
- INST(Vfnmsubsd , Fma4 , V(660F3A,7F,_,0,x,_,_,_ ), 0 , 72 , 0 , 5547 , 268, 138), // #998
- INST(Vfnmsubss , Fma4 , V(660F3A,7E,_,0,x,_,_,_ ), 0 , 72 , 0 , 5557 , 269, 138), // #999
- INST(Vfpclasspd , VexRmi_Lx , E(660F3A,66,_,x,_,1,4,FV ), 0 , 109, 0 , 5567 , 270, 129), // #1000
- INST(Vfpclassps , VexRmi_Lx , E(660F3A,66,_,x,_,0,4,FV ), 0 , 108, 0 , 5578 , 271, 129), // #1001
- INST(Vfpclasssd , VexRmi_Lx , E(660F3A,67,_,I,_,1,3,T1S), 0 , 160, 0 , 5589 , 272, 64 ), // #1002
- INST(Vfpclassss , VexRmi_Lx , E(660F3A,67,_,I,_,0,2,T1S), 0 , 161, 0 , 5600 , 273, 64 ), // #1003
- INST(Vfrczpd , VexRm_Lx , V(XOP_M9,81,_,x,0,_,_,_ ), 0 , 78 , 0 , 5611 , 274, 139), // #1004
- INST(Vfrczps , VexRm_Lx , V(XOP_M9,80,_,x,0,_,_,_ ), 0 , 78 , 0 , 5619 , 274, 139), // #1005
- INST(Vfrczsd , VexRm , V(XOP_M9,83,_,0,0,_,_,_ ), 0 , 78 , 0 , 5627 , 275, 139), // #1006
- INST(Vfrczss , VexRm , V(XOP_M9,82,_,0,0,_,_,_ ), 0 , 78 , 0 , 5635 , 276, 139), // #1007
- INST(Vgatherdpd , VexRmvRm_VM , V(660F38,92,_,x,1,_,_,_ ), V(660F38,92,_,x,_,1,3,T1S), 165, 81 , 5643 , 277, 140), // #1008
- INST(Vgatherdps , VexRmvRm_VM , V(660F38,92,_,x,0,_,_,_ ), V(660F38,92,_,x,_,0,2,T1S), 96 , 82 , 5654 , 278, 140), // #1009
- INST(Vgatherpf0dpd , VexM_VM , E(660F38,C6,1,2,_,1,3,T1S), 0 , 166, 0 , 5665 , 279, 141), // #1010
- INST(Vgatherpf0dps , VexM_VM , E(660F38,C6,1,2,_,0,2,T1S), 0 , 167, 0 , 5679 , 280, 141), // #1011
- INST(Vgatherpf0qpd , VexM_VM , E(660F38,C7,1,2,_,1,3,T1S), 0 , 166, 0 , 5693 , 281, 141), // #1012
- INST(Vgatherpf0qps , VexM_VM , E(660F38,C7,1,2,_,0,2,T1S), 0 , 167, 0 , 5707 , 281, 141), // #1013
- INST(Vgatherpf1dpd , VexM_VM , E(660F38,C6,2,2,_,1,3,T1S), 0 , 168, 0 , 5721 , 279, 141), // #1014
- INST(Vgatherpf1dps , VexM_VM , E(660F38,C6,2,2,_,0,2,T1S), 0 , 169, 0 , 5735 , 280, 141), // #1015
- INST(Vgatherpf1qpd , VexM_VM , E(660F38,C7,2,2,_,1,3,T1S), 0 , 168, 0 , 5749 , 281, 141), // #1016
- INST(Vgatherpf1qps , VexM_VM , E(660F38,C7,2,2,_,0,2,T1S), 0 , 169, 0 , 5763 , 281, 141), // #1017
- INST(Vgatherqpd , VexRmvRm_VM , V(660F38,93,_,x,1,_,_,_ ), V(660F38,93,_,x,_,1,3,T1S), 165, 83 , 5777 , 282, 140), // #1018
- INST(Vgatherqps , VexRmvRm_VM , V(660F38,93,_,x,0,_,_,_ ), V(660F38,93,_,x,_,0,2,T1S), 96 , 84 , 5788 , 283, 140), // #1019
- INST(Vgetexppd , VexRm_Lx , E(660F38,42,_,x,_,1,4,FV ), 0 , 112, 0 , 5799 , 243, 126), // #1020
- INST(Vgetexpps , VexRm_Lx , E(660F38,42,_,x,_,0,4,FV ), 0 , 111, 0 , 5809 , 247, 126), // #1021
- INST(Vgetexpsd , VexRvm , E(660F38,43,_,I,_,1,3,T1S), 0 , 124, 0 , 5819 , 284, 66 ), // #1022
- INST(Vgetexpss , VexRvm , E(660F38,43,_,I,_,0,2,T1S), 0 , 125, 0 , 5829 , 285, 66 ), // #1023
- INST(Vgetmantpd , VexRmi_Lx , E(660F3A,26,_,x,_,1,4,FV ), 0 , 109, 0 , 5839 , 286, 126), // #1024
- INST(Vgetmantps , VexRmi_Lx , E(660F3A,26,_,x,_,0,4,FV ), 0 , 108, 0 , 5850 , 287, 126), // #1025
- INST(Vgetmantsd , VexRvmi , E(660F3A,27,_,I,_,1,3,T1S), 0 , 160, 0 , 5861 , 265, 66 ), // #1026
- INST(Vgetmantss , VexRvmi , E(660F3A,27,_,I,_,0,2,T1S), 0 , 161, 0 , 5872 , 266, 66 ), // #1027
- INST(Vgf2p8affineinvqb, VexRvmi_Lx , V(660F3A,CF,_,x,1,1,4,FV ), 0 , 170, 0 , 5883 , 288, 142), // #1028
- INST(Vgf2p8affineqb , VexRvmi_Lx , V(660F3A,CE,_,x,1,1,4,FV ), 0 , 170, 0 , 5901 , 288, 142), // #1029
- INST(Vgf2p8mulb , VexRvm_Lx , V(660F38,CF,_,x,0,0,4,FV ), 0 , 163, 0 , 5916 , 289, 142), // #1030
- INST(Vhaddpd , VexRvm_Lx , V(660F00,7C,_,x,I,_,_,_ ), 0 , 68 , 0 , 5927 , 196, 123), // #1031
- INST(Vhaddps , VexRvm_Lx , V(F20F00,7C,_,x,I,_,_,_ ), 0 , 106, 0 , 5935 , 196, 123), // #1032
- INST(Vhsubpd , VexRvm_Lx , V(660F00,7D,_,x,I,_,_,_ ), 0 , 68 , 0 , 5943 , 196, 123), // #1033
- INST(Vhsubps , VexRvm_Lx , V(F20F00,7D,_,x,I,_,_,_ ), 0 , 106, 0 , 5951 , 196, 123), // #1034
- INST(Vinsertf128 , VexRvmi , V(660F3A,18,_,1,0,_,_,_ ), 0 , 154, 0 , 5959 , 290, 123), // #1035
- INST(Vinsertf32x4 , VexRvmi_Lx , E(660F3A,18,_,x,_,0,4,T4 ), 0 , 155, 0 , 5971 , 291, 126), // #1036
- INST(Vinsertf32x8 , VexRvmi , E(660F3A,1A,_,2,_,0,5,T8 ), 0 , 156, 0 , 5984 , 292, 64 ), // #1037
- INST(Vinsertf64x2 , VexRvmi_Lx , E(660F3A,18,_,x,_,1,4,T2 ), 0 , 157, 0 , 5997 , 291, 129), // #1038
- INST(Vinsertf64x4 , VexRvmi , E(660F3A,1A,_,2,_,1,5,T4 ), 0 , 158, 0 , 6010 , 292, 66 ), // #1039
- INST(Vinserti128 , VexRvmi , V(660F3A,38,_,1,0,_,_,_ ), 0 , 154, 0 , 6023 , 290, 130), // #1040
- INST(Vinserti32x4 , VexRvmi_Lx , E(660F3A,38,_,x,_,0,4,T4 ), 0 , 155, 0 , 6035 , 291, 126), // #1041
- INST(Vinserti32x8 , VexRvmi , E(660F3A,3A,_,2,_,0,5,T8 ), 0 , 156, 0 , 6048 , 292, 64 ), // #1042
- INST(Vinserti64x2 , VexRvmi_Lx , E(660F3A,38,_,x,_,1,4,T2 ), 0 , 157, 0 , 6061 , 291, 129), // #1043
- INST(Vinserti64x4 , VexRvmi , E(660F3A,3A,_,2,_,1,5,T4 ), 0 , 158, 0 , 6074 , 292, 66 ), // #1044
- INST(Vinsertps , VexRvmi , V(660F3A,21,_,0,I,0,2,T1S), 0 , 159, 0 , 6087 , 293, 122), // #1045
- INST(Vlddqu , VexRm_Lx , V(F20F00,F0,_,x,I,_,_,_ ), 0 , 106, 0 , 6097 , 294, 123), // #1046
- INST(Vldmxcsr , VexM , V(000F00,AE,2,0,I,_,_,_ ), 0 , 171, 0 , 6104 , 295, 123), // #1047
- INST(Vmaskmovdqu , VexRm_ZDI , V(660F00,F7,_,0,I,_,_,_ ), 0 , 68 , 0 , 6113 , 296, 123), // #1048
- INST(Vmaskmovpd , VexRvmMvr_Lx , V(660F38,2D,_,x,0,_,_,_ ), V(660F38,2F,_,x,0,_,_,_ ), 96 , 85 , 6125 , 297, 123), // #1049
- INST(Vmaskmovps , VexRvmMvr_Lx , V(660F38,2C,_,x,0,_,_,_ ), V(660F38,2E,_,x,0,_,_,_ ), 96 , 86 , 6136 , 297, 123), // #1050
- INST(Vmaxpd , VexRvm_Lx , V(660F00,5F,_,x,I,1,4,FV ), 0 , 102, 0 , 6147 , 298, 121), // #1051
- INST(Vmaxps , VexRvm_Lx , V(000F00,5F,_,x,I,0,4,FV ), 0 , 103, 0 , 6154 , 299, 121), // #1052
- INST(Vmaxsd , VexRvm , V(F20F00,5F,_,I,I,1,3,T1S), 0 , 104, 0 , 6161 , 300, 121), // #1053
- INST(Vmaxss , VexRvm , V(F30F00,5F,_,I,I,0,2,T1S), 0 , 105, 0 , 6168 , 239, 121), // #1054
- INST(Vmcall , X86Op , O(000F01,C1,_,_,_,_,_,_ ), 0 , 21 , 0 , 6175 , 30 , 56 ), // #1055
- INST(Vmclear , X86M_Only , O(660F00,C7,6,_,_,_,_,_ ), 0 , 25 , 0 , 6182 , 32 , 56 ), // #1056
- INST(Vmfunc , X86Op , O(000F01,D4,_,_,_,_,_,_ ), 0 , 21 , 0 , 6190 , 30 , 56 ), // #1057
- INST(Vminpd , VexRvm_Lx , V(660F00,5D,_,x,I,1,4,FV ), 0 , 102, 0 , 6197 , 298, 121), // #1058
- INST(Vminps , VexRvm_Lx , V(000F00,5D,_,x,I,0,4,FV ), 0 , 103, 0 , 6204 , 299, 121), // #1059
- INST(Vminsd , VexRvm , V(F20F00,5D,_,I,I,1,3,T1S), 0 , 104, 0 , 6211 , 300, 121), // #1060
- INST(Vminss , VexRvm , V(F30F00,5D,_,I,I,0,2,T1S), 0 , 105, 0 , 6218 , 239, 121), // #1061
- INST(Vmlaunch , X86Op , O(000F01,C2,_,_,_,_,_,_ ), 0 , 21 , 0 , 6225 , 30 , 56 ), // #1062
- INST(Vmload , X86Op_xAX , O(000F01,DA,_,_,_,_,_,_ ), 0 , 21 , 0 , 6234 , 301, 22 ), // #1063
- INST(Vmmcall , X86Op , O(000F01,D9,_,_,_,_,_,_ ), 0 , 21 , 0 , 6241 , 30 , 22 ), // #1064
- INST(Vmovapd , VexRmMr_Lx , V(660F00,28,_,x,I,1,4,FVM), V(660F00,29,_,x,I,1,4,FVM), 172, 87 , 6249 , 302, 121), // #1065
- INST(Vmovaps , VexRmMr_Lx , V(000F00,28,_,x,I,0,4,FVM), V(000F00,29,_,x,I,0,4,FVM), 173, 88 , 6257 , 302, 121), // #1066
- INST(Vmovd , VexMovdMovq , V(660F00,6E,_,0,0,0,2,T1S), V(660F00,7E,_,0,0,0,2,T1S), 174, 89 , 6265 , 303, 122), // #1067
- INST(Vmovddup , VexRm_Lx , V(F20F00,12,_,x,I,1,3,DUP), 0 , 175, 0 , 6271 , 304, 121), // #1068
- INST(Vmovdqa , VexRmMr_Lx , V(660F00,6F,_,x,I,_,_,_ ), V(660F00,7F,_,x,I,_,_,_ ), 68 , 90 , 6280 , 305, 123), // #1069
- INST(Vmovdqa32 , VexRmMr_Lx , E(660F00,6F,_,x,_,0,4,FVM), E(660F00,7F,_,x,_,0,4,FVM), 176, 91 , 6288 , 306, 126), // #1070
- INST(Vmovdqa64 , VexRmMr_Lx , E(660F00,6F,_,x,_,1,4,FVM), E(660F00,7F,_,x,_,1,4,FVM), 177, 92 , 6298 , 306, 126), // #1071
- INST(Vmovdqu , VexRmMr_Lx , V(F30F00,6F,_,x,I,_,_,_ ), V(F30F00,7F,_,x,I,_,_,_ ), 178, 93 , 6308 , 305, 123), // #1072
- INST(Vmovdqu16 , VexRmMr_Lx , E(F20F00,6F,_,x,_,1,4,FVM), E(F20F00,7F,_,x,_,1,4,FVM), 179, 94 , 6316 , 306, 128), // #1073
- INST(Vmovdqu32 , VexRmMr_Lx , E(F30F00,6F,_,x,_,0,4,FVM), E(F30F00,7F,_,x,_,0,4,FVM), 180, 95 , 6326 , 306, 126), // #1074
- INST(Vmovdqu64 , VexRmMr_Lx , E(F30F00,6F,_,x,_,1,4,FVM), E(F30F00,7F,_,x,_,1,4,FVM), 181, 96 , 6336 , 306, 126), // #1075
- INST(Vmovdqu8 , VexRmMr_Lx , E(F20F00,6F,_,x,_,0,4,FVM), E(F20F00,7F,_,x,_,0,4,FVM), 182, 97 , 6346 , 306, 128), // #1076
- INST(Vmovhlps , VexRvm , V(000F00,12,_,0,I,0,_,_ ), 0 , 71 , 0 , 6355 , 307, 122), // #1077
- INST(Vmovhpd , VexRvmMr , V(660F00,16,_,0,I,1,3,T1S), V(660F00,17,_,0,I,1,3,T1S), 122, 98 , 6364 , 308, 122), // #1078
- INST(Vmovhps , VexRvmMr , V(000F00,16,_,0,I,0,3,T2 ), V(000F00,17,_,0,I,0,3,T2 ), 183, 99 , 6372 , 308, 122), // #1079
- INST(Vmovlhps , VexRvm , V(000F00,16,_,0,I,0,_,_ ), 0 , 71 , 0 , 6380 , 307, 122), // #1080
- INST(Vmovlpd , VexRvmMr , V(660F00,12,_,0,I,1,3,T1S), V(660F00,13,_,0,I,1,3,T1S), 122, 100, 6389 , 308, 122), // #1081
- INST(Vmovlps , VexRvmMr , V(000F00,12,_,0,I,0,3,T2 ), V(000F00,13,_,0,I,0,3,T2 ), 183, 101, 6397 , 308, 122), // #1082
- INST(Vmovmskpd , VexRm_Lx , V(660F00,50,_,x,I,_,_,_ ), 0 , 68 , 0 , 6405 , 309, 123), // #1083
- INST(Vmovmskps , VexRm_Lx , V(000F00,50,_,x,I,_,_,_ ), 0 , 71 , 0 , 6415 , 309, 123), // #1084
- INST(Vmovntdq , VexMr_Lx , V(660F00,E7,_,x,I,0,4,FVM), 0 , 184, 0 , 6425 , 310, 121), // #1085
- INST(Vmovntdqa , VexRm_Lx , V(660F38,2A,_,x,I,0,4,FVM), 0 , 107, 0 , 6434 , 311, 131), // #1086
- INST(Vmovntpd , VexMr_Lx , V(660F00,2B,_,x,I,1,4,FVM), 0 , 172, 0 , 6444 , 310, 121), // #1087
- INST(Vmovntps , VexMr_Lx , V(000F00,2B,_,x,I,0,4,FVM), 0 , 173, 0 , 6453 , 310, 121), // #1088
- INST(Vmovq , VexMovdMovq , V(660F00,6E,_,0,I,1,3,T1S), V(660F00,7E,_,0,I,1,3,T1S), 122, 102, 6462 , 312, 122), // #1089
- INST(Vmovsd , VexMovssMovsd , V(F20F00,10,_,I,I,1,3,T1S), V(F20F00,11,_,I,I,1,3,T1S), 104, 103, 6468 , 313, 122), // #1090
- INST(Vmovshdup , VexRm_Lx , V(F30F00,16,_,x,I,0,4,FVM), 0 , 185, 0 , 6475 , 314, 121), // #1091
- INST(Vmovsldup , VexRm_Lx , V(F30F00,12,_,x,I,0,4,FVM), 0 , 185, 0 , 6485 , 314, 121), // #1092
- INST(Vmovss , VexMovssMovsd , V(F30F00,10,_,I,I,0,2,T1S), V(F30F00,11,_,I,I,0,2,T1S), 105, 104, 6495 , 315, 122), // #1093
- INST(Vmovupd , VexRmMr_Lx , V(660F00,10,_,x,I,1,4,FVM), V(660F00,11,_,x,I,1,4,FVM), 172, 105, 6502 , 302, 121), // #1094
- INST(Vmovups , VexRmMr_Lx , V(000F00,10,_,x,I,0,4,FVM), V(000F00,11,_,x,I,0,4,FVM), 173, 106, 6510 , 302, 121), // #1095
- INST(Vmpsadbw , VexRvmi_Lx , V(660F3A,42,_,x,I,_,_,_ ), 0 , 72 , 0 , 6518 , 209, 143), // #1096
- INST(Vmptrld , X86M_Only , O(000F00,C7,6,_,_,_,_,_ ), 0 , 79 , 0 , 6527 , 32 , 56 ), // #1097
- INST(Vmptrst , X86M_Only , O(000F00,C7,7,_,_,_,_,_ ), 0 , 22 , 0 , 6535 , 32 , 56 ), // #1098
- INST(Vmread , X86Mr_NoSize , O(000F00,78,_,_,_,_,_,_ ), 0 , 4 , 0 , 6543 , 316, 56 ), // #1099
- INST(Vmresume , X86Op , O(000F01,C3,_,_,_,_,_,_ ), 0 , 21 , 0 , 6550 , 30 , 56 ), // #1100
- INST(Vmrun , X86Op_xAX , O(000F01,D8,_,_,_,_,_,_ ), 0 , 21 , 0 , 6559 , 301, 22 ), // #1101
- INST(Vmsave , X86Op_xAX , O(000F01,DB,_,_,_,_,_,_ ), 0 , 21 , 0 , 6565 , 301, 22 ), // #1102
- INST(Vmulpd , VexRvm_Lx , V(660F00,59,_,x,I,1,4,FV ), 0 , 102, 0 , 6572 , 192, 121), // #1103
- INST(Vmulps , VexRvm_Lx , V(000F00,59,_,x,I,0,4,FV ), 0 , 103, 0 , 6579 , 193, 121), // #1104
- INST(Vmulsd , VexRvm_Lx , V(F20F00,59,_,I,I,1,3,T1S), 0 , 104, 0 , 6586 , 194, 122), // #1105
- INST(Vmulss , VexRvm_Lx , V(F30F00,59,_,I,I,0,2,T1S), 0 , 105, 0 , 6593 , 195, 122), // #1106
- INST(Vmwrite , X86Rm_NoSize , O(000F00,79,_,_,_,_,_,_ ), 0 , 4 , 0 , 6600 , 317, 56 ), // #1107
- INST(Vmxon , X86M_Only , O(F30F00,C7,6,_,_,_,_,_ ), 0 , 24 , 0 , 6608 , 32 , 56 ), // #1108
- INST(Vorpd , VexRvm_Lx , V(660F00,56,_,x,I,1,4,FV ), 0 , 102, 0 , 6614 , 204, 127), // #1109
- INST(Vorps , VexRvm_Lx , V(000F00,56,_,x,I,0,4,FV ), 0 , 103, 0 , 6620 , 205, 127), // #1110
- INST(Vp2intersectd , VexRvm_Lx_2xK , E(F20F38,68,_,_,_,0,4,FV ), 0 , 186, 0 , 6626 , 318, 144), // #1111
- INST(Vp2intersectq , VexRvm_Lx_2xK , E(F20F38,68,_,_,_,1,4,FV ), 0 , 187, 0 , 6640 , 319, 144), // #1112
- INST(Vp4dpwssd , VexRm_T1_4X , E(F20F38,52,_,2,_,0,2,T4X), 0 , 101, 0 , 6654 , 190, 145), // #1113
- INST(Vp4dpwssds , VexRm_T1_4X , E(F20F38,53,_,2,_,0,2,T4X), 0 , 101, 0 , 6664 , 190, 145), // #1114
- INST(Vpabsb , VexRm_Lx , V(660F38,1C,_,x,I,_,4,FVM), 0 , 107, 0 , 6675 , 314, 146), // #1115
- INST(Vpabsd , VexRm_Lx , V(660F38,1E,_,x,I,0,4,FV ), 0 , 163, 0 , 6682 , 314, 131), // #1116
- INST(Vpabsq , VexRm_Lx , E(660F38,1F,_,x,_,1,4,FV ), 0 , 112, 0 , 6689 , 258, 126), // #1117
- INST(Vpabsw , VexRm_Lx , V(660F38,1D,_,x,I,_,4,FVM), 0 , 107, 0 , 6696 , 314, 146), // #1118
- INST(Vpackssdw , VexRvm_Lx , V(660F00,6B,_,x,I,0,4,FV ), 0 , 133, 0 , 6703 , 203, 146), // #1119
- INST(Vpacksswb , VexRvm_Lx , V(660F00,63,_,x,I,I,4,FVM), 0 , 184, 0 , 6713 , 289, 146), // #1120
- INST(Vpackusdw , VexRvm_Lx , V(660F38,2B,_,x,I,0,4,FV ), 0 , 163, 0 , 6723 , 203, 146), // #1121
- INST(Vpackuswb , VexRvm_Lx , V(660F00,67,_,x,I,I,4,FVM), 0 , 184, 0 , 6733 , 289, 146), // #1122
- INST(Vpaddb , VexRvm_Lx , V(660F00,FC,_,x,I,I,4,FVM), 0 , 184, 0 , 6743 , 289, 146), // #1123
- INST(Vpaddd , VexRvm_Lx , V(660F00,FE,_,x,I,0,4,FV ), 0 , 133, 0 , 6750 , 203, 131), // #1124
- INST(Vpaddq , VexRvm_Lx , V(660F00,D4,_,x,I,1,4,FV ), 0 , 102, 0 , 6757 , 202, 131), // #1125
- INST(Vpaddsb , VexRvm_Lx , V(660F00,EC,_,x,I,I,4,FVM), 0 , 184, 0 , 6764 , 289, 146), // #1126
- INST(Vpaddsw , VexRvm_Lx , V(660F00,ED,_,x,I,I,4,FVM), 0 , 184, 0 , 6772 , 289, 146), // #1127
- INST(Vpaddusb , VexRvm_Lx , V(660F00,DC,_,x,I,I,4,FVM), 0 , 184, 0 , 6780 , 289, 146), // #1128
- INST(Vpaddusw , VexRvm_Lx , V(660F00,DD,_,x,I,I,4,FVM), 0 , 184, 0 , 6789 , 289, 146), // #1129
- INST(Vpaddw , VexRvm_Lx , V(660F00,FD,_,x,I,I,4,FVM), 0 , 184, 0 , 6798 , 289, 146), // #1130
- INST(Vpalignr , VexRvmi_Lx , V(660F3A,0F,_,x,I,I,4,FVM), 0 , 188, 0 , 6805 , 288, 146), // #1131
- INST(Vpand , VexRvm_Lx , V(660F00,DB,_,x,I,_,_,_ ), 0 , 68 , 0 , 6814 , 320, 143), // #1132
- INST(Vpandd , VexRvm_Lx , E(660F00,DB,_,x,_,0,4,FV ), 0 , 189, 0 , 6820 , 321, 126), // #1133
- INST(Vpandn , VexRvm_Lx , V(660F00,DF,_,x,I,_,_,_ ), 0 , 68 , 0 , 6827 , 322, 143), // #1134
- INST(Vpandnd , VexRvm_Lx , E(660F00,DF,_,x,_,0,4,FV ), 0 , 189, 0 , 6834 , 323, 126), // #1135
- INST(Vpandnq , VexRvm_Lx , E(660F00,DF,_,x,_,1,4,FV ), 0 , 130, 0 , 6842 , 324, 126), // #1136
- INST(Vpandq , VexRvm_Lx , E(660F00,DB,_,x,_,1,4,FV ), 0 , 130, 0 , 6850 , 325, 126), // #1137
- INST(Vpavgb , VexRvm_Lx , V(660F00,E0,_,x,I,I,4,FVM), 0 , 184, 0 , 6857 , 289, 146), // #1138
- INST(Vpavgw , VexRvm_Lx , V(660F00,E3,_,x,I,I,4,FVM), 0 , 184, 0 , 6864 , 289, 146), // #1139
- INST(Vpblendd , VexRvmi_Lx , V(660F3A,02,_,x,0,_,_,_ ), 0 , 72 , 0 , 6871 , 209, 130), // #1140
- INST(Vpblendvb , VexRvmr , V(660F3A,4C,_,x,0,_,_,_ ), 0 , 72 , 0 , 6880 , 210, 143), // #1141
- INST(Vpblendw , VexRvmi_Lx , V(660F3A,0E,_,x,I,_,_,_ ), 0 , 72 , 0 , 6890 , 209, 143), // #1142
- INST(Vpbroadcastb , VexRm_Lx_Bcst , V(660F38,78,_,x,0,0,0,T1S), E(660F38,7A,_,x,0,0,0,T1S), 190, 107, 6899 , 326, 147), // #1143
- INST(Vpbroadcastd , VexRm_Lx_Bcst , V(660F38,58,_,x,0,0,2,T1S), E(660F38,7C,_,x,0,0,0,T1S), 121, 108, 6912 , 327, 140), // #1144
- INST(Vpbroadcastmb2d , VexRm_Lx , E(F30F38,3A,_,x,_,0,_,_ ), 0 , 128, 0 , 6925 , 328, 148), // #1145
- INST(Vpbroadcastmb2q , VexRm_Lx , E(F30F38,2A,_,x,_,1,_,_ ), 0 , 191, 0 , 6941 , 328, 148), // #1146
- INST(Vpbroadcastq , VexRm_Lx_Bcst , V(660F38,59,_,x,0,1,3,T1S), E(660F38,7C,_,x,0,1,0,T1S), 120, 109, 6957 , 329, 140), // #1147
- INST(Vpbroadcastw , VexRm_Lx_Bcst , V(660F38,79,_,x,0,0,1,T1S), E(660F38,7B,_,x,0,0,0,T1S), 192, 110, 6970 , 330, 147), // #1148
- INST(Vpclmulqdq , VexRvmi_Lx , V(660F3A,44,_,x,I,_,4,FVM), 0 , 188, 0 , 6983 , 331, 149), // #1149
- INST(Vpcmov , VexRvrmRvmr_Lx , V(XOP_M8,A2,_,x,x,_,_,_ ), 0 , 193, 0 , 6994 , 267, 139), // #1150
- INST(Vpcmpb , VexRvmi_Lx , E(660F3A,3F,_,x,_,0,4,FVM), 0 , 151, 0 , 7001 , 332, 128), // #1151
- INST(Vpcmpd , VexRvmi_Lx , E(660F3A,1F,_,x,_,0,4,FV ), 0 , 108, 0 , 7008 , 333, 126), // #1152
- INST(Vpcmpeqb , VexRvm_Lx , V(660F00,74,_,x,I,I,4,FV ), 0 , 133, 0 , 7015 , 334, 146), // #1153
- INST(Vpcmpeqd , VexRvm_Lx , V(660F00,76,_,x,I,0,4,FVM), 0 , 184, 0 , 7024 , 335, 131), // #1154
- INST(Vpcmpeqq , VexRvm_Lx , V(660F38,29,_,x,I,1,4,FVM), 0 , 194, 0 , 7033 , 336, 131), // #1155
- INST(Vpcmpeqw , VexRvm_Lx , V(660F00,75,_,x,I,I,4,FV ), 0 , 133, 0 , 7042 , 334, 146), // #1156
- INST(Vpcmpestri , VexRmi , V(660F3A,61,_,0,I,_,_,_ ), 0 , 72 , 0 , 7051 , 337, 150), // #1157
- INST(Vpcmpestrm , VexRmi , V(660F3A,60,_,0,I,_,_,_ ), 0 , 72 , 0 , 7062 , 338, 150), // #1158
- INST(Vpcmpgtb , VexRvm_Lx , V(660F00,64,_,x,I,I,4,FV ), 0 , 133, 0 , 7073 , 334, 146), // #1159
- INST(Vpcmpgtd , VexRvm_Lx , V(660F00,66,_,x,I,0,4,FVM), 0 , 184, 0 , 7082 , 335, 131), // #1160
- INST(Vpcmpgtq , VexRvm_Lx , V(660F38,37,_,x,I,1,4,FVM), 0 , 194, 0 , 7091 , 336, 131), // #1161
- INST(Vpcmpgtw , VexRvm_Lx , V(660F00,65,_,x,I,I,4,FV ), 0 , 133, 0 , 7100 , 334, 146), // #1162
- INST(Vpcmpistri , VexRmi , V(660F3A,63,_,0,I,_,_,_ ), 0 , 72 , 0 , 7109 , 339, 150), // #1163
- INST(Vpcmpistrm , VexRmi , V(660F3A,62,_,0,I,_,_,_ ), 0 , 72 , 0 , 7120 , 340, 150), // #1164
- INST(Vpcmpq , VexRvmi_Lx , E(660F3A,1F,_,x,_,1,4,FV ), 0 , 109, 0 , 7131 , 341, 126), // #1165
- INST(Vpcmpub , VexRvmi_Lx , E(660F3A,3E,_,x,_,0,4,FVM), 0 , 151, 0 , 7138 , 332, 128), // #1166
- INST(Vpcmpud , VexRvmi_Lx , E(660F3A,1E,_,x,_,0,4,FV ), 0 , 108, 0 , 7146 , 333, 126), // #1167
- INST(Vpcmpuq , VexRvmi_Lx , E(660F3A,1E,_,x,_,1,4,FV ), 0 , 109, 0 , 7154 , 341, 126), // #1168
- INST(Vpcmpuw , VexRvmi_Lx , E(660F3A,3E,_,x,_,1,4,FVM), 0 , 195, 0 , 7162 , 341, 128), // #1169
- INST(Vpcmpw , VexRvmi_Lx , E(660F3A,3F,_,x,_,1,4,FVM), 0 , 195, 0 , 7170 , 341, 128), // #1170
- INST(Vpcomb , VexRvmi , V(XOP_M8,CC,_,0,0,_,_,_ ), 0 , 193, 0 , 7177 , 255, 139), // #1171
- INST(Vpcomd , VexRvmi , V(XOP_M8,CE,_,0,0,_,_,_ ), 0 , 193, 0 , 7184 , 255, 139), // #1172
- INST(Vpcompressb , VexMr_Lx , E(660F38,63,_,x,_,0,0,T1S), 0 , 196, 0 , 7191 , 224, 151), // #1173
- INST(Vpcompressd , VexMr_Lx , E(660F38,8B,_,x,_,0,2,T1S), 0 , 125, 0 , 7203 , 224, 126), // #1174
- INST(Vpcompressq , VexMr_Lx , E(660F38,8B,_,x,_,1,3,T1S), 0 , 124, 0 , 7215 , 224, 126), // #1175
- INST(Vpcompressw , VexMr_Lx , E(660F38,63,_,x,_,1,1,T1S), 0 , 197, 0 , 7227 , 224, 151), // #1176
- INST(Vpcomq , VexRvmi , V(XOP_M8,CF,_,0,0,_,_,_ ), 0 , 193, 0 , 7239 , 255, 139), // #1177
- INST(Vpcomub , VexRvmi , V(XOP_M8,EC,_,0,0,_,_,_ ), 0 , 193, 0 , 7246 , 255, 139), // #1178
- INST(Vpcomud , VexRvmi , V(XOP_M8,EE,_,0,0,_,_,_ ), 0 , 193, 0 , 7254 , 255, 139), // #1179
- INST(Vpcomuq , VexRvmi , V(XOP_M8,EF,_,0,0,_,_,_ ), 0 , 193, 0 , 7262 , 255, 139), // #1180
- INST(Vpcomuw , VexRvmi , V(XOP_M8,ED,_,0,0,_,_,_ ), 0 , 193, 0 , 7270 , 255, 139), // #1181
- INST(Vpcomw , VexRvmi , V(XOP_M8,CD,_,0,0,_,_,_ ), 0 , 193, 0 , 7278 , 255, 139), // #1182
- INST(Vpconflictd , VexRm_Lx , E(660F38,C4,_,x,_,0,4,FV ), 0 , 111, 0 , 7285 , 342, 148), // #1183
- INST(Vpconflictq , VexRm_Lx , E(660F38,C4,_,x,_,1,4,FV ), 0 , 112, 0 , 7297 , 342, 148), // #1184
- INST(Vpdpbusd , VexRvm_Lx , V(660F38,50,_,x,_,0,4,FV ), 0 , 163, 0 , 7309 , 343, 152), // #1185
- INST(Vpdpbusds , VexRvm_Lx , V(660F38,51,_,x,_,0,4,FV ), 0 , 163, 0 , 7318 , 343, 152), // #1186
- INST(Vpdpwssd , VexRvm_Lx , V(660F38,52,_,x,_,0,4,FV ), 0 , 163, 0 , 7328 , 343, 152), // #1187
- INST(Vpdpwssds , VexRvm_Lx , V(660F38,53,_,x,_,0,4,FV ), 0 , 163, 0 , 7337 , 343, 152), // #1188
- INST(Vperm2f128 , VexRvmi , V(660F3A,06,_,1,0,_,_,_ ), 0 , 154, 0 , 7347 , 344, 123), // #1189
- INST(Vperm2i128 , VexRvmi , V(660F3A,46,_,1,0,_,_,_ ), 0 , 154, 0 , 7358 , 344, 130), // #1190
- INST(Vpermb , VexRvm_Lx , E(660F38,8D,_,x,_,0,4,FVM), 0 , 110, 0 , 7369 , 206, 153), // #1191
- INST(Vpermd , VexRvm_Lx , V(660F38,36,_,x,0,0,4,FV ), 0 , 163, 0 , 7376 , 345, 140), // #1192
- INST(Vpermi2b , VexRvm_Lx , E(660F38,75,_,x,_,0,4,FVM), 0 , 110, 0 , 7383 , 206, 153), // #1193
- INST(Vpermi2d , VexRvm_Lx , E(660F38,76,_,x,_,0,4,FV ), 0 , 111, 0 , 7392 , 207, 126), // #1194
- INST(Vpermi2pd , VexRvm_Lx , E(660F38,77,_,x,_,1,4,FV ), 0 , 112, 0 , 7401 , 208, 126), // #1195
- INST(Vpermi2ps , VexRvm_Lx , E(660F38,77,_,x,_,0,4,FV ), 0 , 111, 0 , 7411 , 207, 126), // #1196
- INST(Vpermi2q , VexRvm_Lx , E(660F38,76,_,x,_,1,4,FV ), 0 , 112, 0 , 7421 , 208, 126), // #1197
- INST(Vpermi2w , VexRvm_Lx , E(660F38,75,_,x,_,1,4,FVM), 0 , 113, 0 , 7430 , 206, 128), // #1198
- INST(Vpermil2pd , VexRvrmiRvmri_Lx , V(660F3A,49,_,x,x,_,_,_ ), 0 , 72 , 0 , 7439 , 346, 139), // #1199
- INST(Vpermil2ps , VexRvrmiRvmri_Lx , V(660F3A,48,_,x,x,_,_,_ ), 0 , 72 , 0 , 7450 , 346, 139), // #1200
- INST(Vpermilpd , VexRvmRmi_Lx , V(660F38,0D,_,x,0,1,4,FV ), V(660F3A,05,_,x,0,1,4,FV ), 198, 111, 7461 , 347, 121), // #1201
- INST(Vpermilps , VexRvmRmi_Lx , V(660F38,0C,_,x,0,0,4,FV ), V(660F3A,04,_,x,0,0,4,FV ), 163, 112, 7471 , 347, 121), // #1202
- INST(Vpermpd , VexRvmRmi_Lx , E(660F38,16,_,x,1,1,4,FV ), V(660F3A,01,_,x,1,1,4,FV ), 199, 113, 7481 , 348, 140), // #1203
- INST(Vpermps , VexRvm_Lx , V(660F38,16,_,x,0,0,4,FV ), 0 , 163, 0 , 7489 , 345, 140), // #1204
- INST(Vpermq , VexRvmRmi_Lx , V(660F38,36,_,x,_,1,4,FV ), V(660F3A,00,_,x,1,1,4,FV ), 198, 114, 7497 , 348, 140), // #1205
- INST(Vpermt2b , VexRvm_Lx , E(660F38,7D,_,x,_,0,4,FVM), 0 , 110, 0 , 7504 , 206, 153), // #1206
- INST(Vpermt2d , VexRvm_Lx , E(660F38,7E,_,x,_,0,4,FV ), 0 , 111, 0 , 7513 , 207, 126), // #1207
- INST(Vpermt2pd , VexRvm_Lx , E(660F38,7F,_,x,_,1,4,FV ), 0 , 112, 0 , 7522 , 208, 126), // #1208
- INST(Vpermt2ps , VexRvm_Lx , E(660F38,7F,_,x,_,0,4,FV ), 0 , 111, 0 , 7532 , 207, 126), // #1209
- INST(Vpermt2q , VexRvm_Lx , E(660F38,7E,_,x,_,1,4,FV ), 0 , 112, 0 , 7542 , 208, 126), // #1210
- INST(Vpermt2w , VexRvm_Lx , E(660F38,7D,_,x,_,1,4,FVM), 0 , 113, 0 , 7551 , 206, 128), // #1211
- INST(Vpermw , VexRvm_Lx , E(660F38,8D,_,x,_,1,4,FVM), 0 , 113, 0 , 7560 , 206, 128), // #1212
- INST(Vpexpandb , VexRm_Lx , E(660F38,62,_,x,_,0,0,T1S), 0 , 196, 0 , 7567 , 258, 151), // #1213
- INST(Vpexpandd , VexRm_Lx , E(660F38,89,_,x,_,0,2,T1S), 0 , 125, 0 , 7577 , 258, 126), // #1214
- INST(Vpexpandq , VexRm_Lx , E(660F38,89,_,x,_,1,3,T1S), 0 , 124, 0 , 7587 , 258, 126), // #1215
- INST(Vpexpandw , VexRm_Lx , E(660F38,62,_,x,_,1,1,T1S), 0 , 197, 0 , 7597 , 258, 151), // #1216
- INST(Vpextrb , VexMri , V(660F3A,14,_,0,0,I,0,T1S), 0 , 200, 0 , 7607 , 349, 154), // #1217
- INST(Vpextrd , VexMri , V(660F3A,16,_,0,0,0,2,T1S), 0 , 159, 0 , 7615 , 262, 155), // #1218
- INST(Vpextrq , VexMri , V(660F3A,16,_,0,1,1,3,T1S), 0 , 201, 0 , 7623 , 350, 155), // #1219
- INST(Vpextrw , VexMri , V(660F3A,15,_,0,0,I,1,T1S), 0 , 202, 0 , 7631 , 351, 154), // #1220
- INST(Vpgatherdd , VexRmvRm_VM , V(660F38,90,_,x,0,_,_,_ ), V(660F38,90,_,x,_,0,2,T1S), 96 , 115, 7639 , 278, 140), // #1221
- INST(Vpgatherdq , VexRmvRm_VM , V(660F38,90,_,x,1,_,_,_ ), V(660F38,90,_,x,_,1,3,T1S), 165, 116, 7650 , 277, 140), // #1222
- INST(Vpgatherqd , VexRmvRm_VM , V(660F38,91,_,x,0,_,_,_ ), V(660F38,91,_,x,_,0,2,T1S), 96 , 117, 7661 , 283, 140), // #1223
- INST(Vpgatherqq , VexRmvRm_VM , V(660F38,91,_,x,1,_,_,_ ), V(660F38,91,_,x,_,1,3,T1S), 165, 118, 7672 , 282, 140), // #1224
- INST(Vphaddbd , VexRm , V(XOP_M9,C2,_,0,0,_,_,_ ), 0 , 78 , 0 , 7683 , 198, 139), // #1225
- INST(Vphaddbq , VexRm , V(XOP_M9,C3,_,0,0,_,_,_ ), 0 , 78 , 0 , 7692 , 198, 139), // #1226
- INST(Vphaddbw , VexRm , V(XOP_M9,C1,_,0,0,_,_,_ ), 0 , 78 , 0 , 7701 , 198, 139), // #1227
- INST(Vphaddd , VexRvm_Lx , V(660F38,02,_,x,I,_,_,_ ), 0 , 96 , 0 , 7710 , 196, 143), // #1228
- INST(Vphadddq , VexRm , V(XOP_M9,CB,_,0,0,_,_,_ ), 0 , 78 , 0 , 7718 , 198, 139), // #1229
- INST(Vphaddsw , VexRvm_Lx , V(660F38,03,_,x,I,_,_,_ ), 0 , 96 , 0 , 7727 , 196, 143), // #1230
- INST(Vphaddubd , VexRm , V(XOP_M9,D2,_,0,0,_,_,_ ), 0 , 78 , 0 , 7736 , 198, 139), // #1231
- INST(Vphaddubq , VexRm , V(XOP_M9,D3,_,0,0,_,_,_ ), 0 , 78 , 0 , 7746 , 198, 139), // #1232
- INST(Vphaddubw , VexRm , V(XOP_M9,D1,_,0,0,_,_,_ ), 0 , 78 , 0 , 7756 , 198, 139), // #1233
- INST(Vphaddudq , VexRm , V(XOP_M9,DB,_,0,0,_,_,_ ), 0 , 78 , 0 , 7766 , 198, 139), // #1234
- INST(Vphadduwd , VexRm , V(XOP_M9,D6,_,0,0,_,_,_ ), 0 , 78 , 0 , 7776 , 198, 139), // #1235
- INST(Vphadduwq , VexRm , V(XOP_M9,D7,_,0,0,_,_,_ ), 0 , 78 , 0 , 7786 , 198, 139), // #1236
- INST(Vphaddw , VexRvm_Lx , V(660F38,01,_,x,I,_,_,_ ), 0 , 96 , 0 , 7796 , 196, 143), // #1237
- INST(Vphaddwd , VexRm , V(XOP_M9,C6,_,0,0,_,_,_ ), 0 , 78 , 0 , 7804 , 198, 139), // #1238
- INST(Vphaddwq , VexRm , V(XOP_M9,C7,_,0,0,_,_,_ ), 0 , 78 , 0 , 7813 , 198, 139), // #1239
- INST(Vphminposuw , VexRm , V(660F38,41,_,0,I,_,_,_ ), 0 , 96 , 0 , 7822 , 198, 123), // #1240
- INST(Vphsubbw , VexRm , V(XOP_M9,E1,_,0,0,_,_,_ ), 0 , 78 , 0 , 7834 , 198, 139), // #1241
- INST(Vphsubd , VexRvm_Lx , V(660F38,06,_,x,I,_,_,_ ), 0 , 96 , 0 , 7843 , 196, 143), // #1242
- INST(Vphsubdq , VexRm , V(XOP_M9,E3,_,0,0,_,_,_ ), 0 , 78 , 0 , 7851 , 198, 139), // #1243
- INST(Vphsubsw , VexRvm_Lx , V(660F38,07,_,x,I,_,_,_ ), 0 , 96 , 0 , 7860 , 196, 143), // #1244
- INST(Vphsubw , VexRvm_Lx , V(660F38,05,_,x,I,_,_,_ ), 0 , 96 , 0 , 7869 , 196, 143), // #1245
- INST(Vphsubwd , VexRm , V(XOP_M9,E2,_,0,0,_,_,_ ), 0 , 78 , 0 , 7877 , 198, 139), // #1246
- INST(Vpinsrb , VexRvmi , V(660F3A,20,_,0,0,I,0,T1S), 0 , 200, 0 , 7886 , 352, 154), // #1247
- INST(Vpinsrd , VexRvmi , V(660F3A,22,_,0,0,0,2,T1S), 0 , 159, 0 , 7894 , 353, 155), // #1248
- INST(Vpinsrq , VexRvmi , V(660F3A,22,_,0,1,1,3,T1S), 0 , 201, 0 , 7902 , 354, 155), // #1249
- INST(Vpinsrw , VexRvmi , V(660F00,C4,_,0,0,I,1,T1S), 0 , 203, 0 , 7910 , 355, 154), // #1250
- INST(Vplzcntd , VexRm_Lx , E(660F38,44,_,x,_,0,4,FV ), 0 , 111, 0 , 7918 , 342, 148), // #1251
- INST(Vplzcntq , VexRm_Lx , E(660F38,44,_,x,_,1,4,FV ), 0 , 112, 0 , 7927 , 356, 148), // #1252
- INST(Vpmacsdd , VexRvmr , V(XOP_M8,9E,_,0,0,_,_,_ ), 0 , 193, 0 , 7936 , 357, 139), // #1253
- INST(Vpmacsdqh , VexRvmr , V(XOP_M8,9F,_,0,0,_,_,_ ), 0 , 193, 0 , 7945 , 357, 139), // #1254
- INST(Vpmacsdql , VexRvmr , V(XOP_M8,97,_,0,0,_,_,_ ), 0 , 193, 0 , 7955 , 357, 139), // #1255
- INST(Vpmacssdd , VexRvmr , V(XOP_M8,8E,_,0,0,_,_,_ ), 0 , 193, 0 , 7965 , 357, 139), // #1256
- INST(Vpmacssdqh , VexRvmr , V(XOP_M8,8F,_,0,0,_,_,_ ), 0 , 193, 0 , 7975 , 357, 139), // #1257
- INST(Vpmacssdql , VexRvmr , V(XOP_M8,87,_,0,0,_,_,_ ), 0 , 193, 0 , 7986 , 357, 139), // #1258
- INST(Vpmacsswd , VexRvmr , V(XOP_M8,86,_,0,0,_,_,_ ), 0 , 193, 0 , 7997 , 357, 139), // #1259
- INST(Vpmacssww , VexRvmr , V(XOP_M8,85,_,0,0,_,_,_ ), 0 , 193, 0 , 8007 , 357, 139), // #1260
- INST(Vpmacswd , VexRvmr , V(XOP_M8,96,_,0,0,_,_,_ ), 0 , 193, 0 , 8017 , 357, 139), // #1261
- INST(Vpmacsww , VexRvmr , V(XOP_M8,95,_,0,0,_,_,_ ), 0 , 193, 0 , 8026 , 357, 139), // #1262
- INST(Vpmadcsswd , VexRvmr , V(XOP_M8,A6,_,0,0,_,_,_ ), 0 , 193, 0 , 8035 , 357, 139), // #1263
- INST(Vpmadcswd , VexRvmr , V(XOP_M8,B6,_,0,0,_,_,_ ), 0 , 193, 0 , 8046 , 357, 139), // #1264
- INST(Vpmadd52huq , VexRvm_Lx , E(660F38,B5,_,x,_,1,4,FV ), 0 , 112, 0 , 8056 , 208, 156), // #1265
- INST(Vpmadd52luq , VexRvm_Lx , E(660F38,B4,_,x,_,1,4,FV ), 0 , 112, 0 , 8068 , 208, 156), // #1266
- INST(Vpmaddubsw , VexRvm_Lx , V(660F38,04,_,x,I,I,4,FVM), 0 , 107, 0 , 8080 , 289, 146), // #1267
- INST(Vpmaddwd , VexRvm_Lx , V(660F00,F5,_,x,I,I,4,FVM), 0 , 184, 0 , 8091 , 289, 146), // #1268
- INST(Vpmaskmovd , VexRvmMvr_Lx , V(660F38,8C,_,x,0,_,_,_ ), V(660F38,8E,_,x,0,_,_,_ ), 96 , 119, 8100 , 297, 130), // #1269
- INST(Vpmaskmovq , VexRvmMvr_Lx , V(660F38,8C,_,x,1,_,_,_ ), V(660F38,8E,_,x,1,_,_,_ ), 165, 120, 8111 , 297, 130), // #1270
- INST(Vpmaxsb , VexRvm_Lx , V(660F38,3C,_,x,I,I,4,FVM), 0 , 107, 0 , 8122 , 358, 146), // #1271
- INST(Vpmaxsd , VexRvm_Lx , V(660F38,3D,_,x,I,0,4,FV ), 0 , 163, 0 , 8130 , 205, 131), // #1272
- INST(Vpmaxsq , VexRvm_Lx , E(660F38,3D,_,x,_,1,4,FV ), 0 , 112, 0 , 8138 , 208, 126), // #1273
- INST(Vpmaxsw , VexRvm_Lx , V(660F00,EE,_,x,I,I,4,FVM), 0 , 184, 0 , 8146 , 358, 146), // #1274
- INST(Vpmaxub , VexRvm_Lx , V(660F00,DE,_,x,I,I,4,FVM), 0 , 184, 0 , 8154 , 358, 146), // #1275
- INST(Vpmaxud , VexRvm_Lx , V(660F38,3F,_,x,I,0,4,FV ), 0 , 163, 0 , 8162 , 205, 131), // #1276
- INST(Vpmaxuq , VexRvm_Lx , E(660F38,3F,_,x,_,1,4,FV ), 0 , 112, 0 , 8170 , 208, 126), // #1277
- INST(Vpmaxuw , VexRvm_Lx , V(660F38,3E,_,x,I,I,4,FVM), 0 , 107, 0 , 8178 , 358, 146), // #1278
- INST(Vpminsb , VexRvm_Lx , V(660F38,38,_,x,I,I,4,FVM), 0 , 107, 0 , 8186 , 358, 146), // #1279
- INST(Vpminsd , VexRvm_Lx , V(660F38,39,_,x,I,0,4,FV ), 0 , 163, 0 , 8194 , 205, 131), // #1280
- INST(Vpminsq , VexRvm_Lx , E(660F38,39,_,x,_,1,4,FV ), 0 , 112, 0 , 8202 , 208, 126), // #1281
- INST(Vpminsw , VexRvm_Lx , V(660F00,EA,_,x,I,I,4,FVM), 0 , 184, 0 , 8210 , 358, 146), // #1282
- INST(Vpminub , VexRvm_Lx , V(660F00,DA,_,x,I,_,4,FVM), 0 , 184, 0 , 8218 , 358, 146), // #1283
- INST(Vpminud , VexRvm_Lx , V(660F38,3B,_,x,I,0,4,FV ), 0 , 163, 0 , 8226 , 205, 131), // #1284
- INST(Vpminuq , VexRvm_Lx , E(660F38,3B,_,x,_,1,4,FV ), 0 , 112, 0 , 8234 , 208, 126), // #1285
- INST(Vpminuw , VexRvm_Lx , V(660F38,3A,_,x,I,_,4,FVM), 0 , 107, 0 , 8242 , 358, 146), // #1286
- INST(Vpmovb2m , VexRm_Lx , E(F30F38,29,_,x,_,0,_,_ ), 0 , 128, 0 , 8250 , 359, 128), // #1287
- INST(Vpmovd2m , VexRm_Lx , E(F30F38,39,_,x,_,0,_,_ ), 0 , 128, 0 , 8259 , 359, 129), // #1288
- INST(Vpmovdb , VexMr_Lx , E(F30F38,31,_,x,_,0,2,QVM), 0 , 204, 0 , 8268 , 360, 126), // #1289
- INST(Vpmovdw , VexMr_Lx , E(F30F38,33,_,x,_,0,3,HVM), 0 , 205, 0 , 8276 , 361, 126), // #1290
- INST(Vpmovm2b , VexRm_Lx , E(F30F38,28,_,x,_,0,_,_ ), 0 , 128, 0 , 8284 , 328, 128), // #1291
- INST(Vpmovm2d , VexRm_Lx , E(F30F38,38,_,x,_,0,_,_ ), 0 , 128, 0 , 8293 , 328, 129), // #1292
- INST(Vpmovm2q , VexRm_Lx , E(F30F38,38,_,x,_,1,_,_ ), 0 , 191, 0 , 8302 , 328, 129), // #1293
- INST(Vpmovm2w , VexRm_Lx , E(F30F38,28,_,x,_,1,_,_ ), 0 , 191, 0 , 8311 , 328, 128), // #1294
- INST(Vpmovmskb , VexRm_Lx , V(660F00,D7,_,x,I,_,_,_ ), 0 , 68 , 0 , 8320 , 309, 143), // #1295
- INST(Vpmovq2m , VexRm_Lx , E(F30F38,39,_,x,_,1,_,_ ), 0 , 191, 0 , 8330 , 359, 129), // #1296
- INST(Vpmovqb , VexMr_Lx , E(F30F38,32,_,x,_,0,1,OVM), 0 , 206, 0 , 8339 , 362, 126), // #1297
- INST(Vpmovqd , VexMr_Lx , E(F30F38,35,_,x,_,0,3,HVM), 0 , 205, 0 , 8347 , 361, 126), // #1298
- INST(Vpmovqw , VexMr_Lx , E(F30F38,34,_,x,_,0,2,QVM), 0 , 204, 0 , 8355 , 360, 126), // #1299
- INST(Vpmovsdb , VexMr_Lx , E(F30F38,21,_,x,_,0,2,QVM), 0 , 204, 0 , 8363 , 360, 126), // #1300
- INST(Vpmovsdw , VexMr_Lx , E(F30F38,23,_,x,_,0,3,HVM), 0 , 205, 0 , 8372 , 361, 126), // #1301
- INST(Vpmovsqb , VexMr_Lx , E(F30F38,22,_,x,_,0,1,OVM), 0 , 206, 0 , 8381 , 362, 126), // #1302
- INST(Vpmovsqd , VexMr_Lx , E(F30F38,25,_,x,_,0,3,HVM), 0 , 205, 0 , 8390 , 361, 126), // #1303
- INST(Vpmovsqw , VexMr_Lx , E(F30F38,24,_,x,_,0,2,QVM), 0 , 204, 0 , 8399 , 360, 126), // #1304
- INST(Vpmovswb , VexMr_Lx , E(F30F38,20,_,x,_,0,3,HVM), 0 , 205, 0 , 8408 , 361, 128), // #1305
- INST(Vpmovsxbd , VexRm_Lx , V(660F38,21,_,x,I,I,2,QVM), 0 , 207, 0 , 8417 , 363, 131), // #1306
- INST(Vpmovsxbq , VexRm_Lx , V(660F38,22,_,x,I,I,1,OVM), 0 , 208, 0 , 8427 , 364, 131), // #1307
- INST(Vpmovsxbw , VexRm_Lx , V(660F38,20,_,x,I,I,3,HVM), 0 , 132, 0 , 8437 , 365, 146), // #1308
- INST(Vpmovsxdq , VexRm_Lx , V(660F38,25,_,x,I,0,3,HVM), 0 , 132, 0 , 8447 , 365, 131), // #1309
- INST(Vpmovsxwd , VexRm_Lx , V(660F38,23,_,x,I,I,3,HVM), 0 , 132, 0 , 8457 , 365, 131), // #1310
- INST(Vpmovsxwq , VexRm_Lx , V(660F38,24,_,x,I,I,2,QVM), 0 , 207, 0 , 8467 , 363, 131), // #1311
- INST(Vpmovusdb , VexMr_Lx , E(F30F38,11,_,x,_,0,2,QVM), 0 , 204, 0 , 8477 , 360, 126), // #1312
- INST(Vpmovusdw , VexMr_Lx , E(F30F38,13,_,x,_,0,3,HVM), 0 , 205, 0 , 8487 , 361, 126), // #1313
- INST(Vpmovusqb , VexMr_Lx , E(F30F38,12,_,x,_,0,1,OVM), 0 , 206, 0 , 8497 , 362, 126), // #1314
- INST(Vpmovusqd , VexMr_Lx , E(F30F38,15,_,x,_,0,3,HVM), 0 , 205, 0 , 8507 , 361, 126), // #1315
- INST(Vpmovusqw , VexMr_Lx , E(F30F38,14,_,x,_,0,2,QVM), 0 , 204, 0 , 8517 , 360, 126), // #1316
- INST(Vpmovuswb , VexMr_Lx , E(F30F38,10,_,x,_,0,3,HVM), 0 , 205, 0 , 8527 , 361, 128), // #1317
- INST(Vpmovw2m , VexRm_Lx , E(F30F38,29,_,x,_,1,_,_ ), 0 , 191, 0 , 8537 , 359, 128), // #1318
- INST(Vpmovwb , VexMr_Lx , E(F30F38,30,_,x,_,0,3,HVM), 0 , 205, 0 , 8546 , 361, 128), // #1319
- INST(Vpmovzxbd , VexRm_Lx , V(660F38,31,_,x,I,I,2,QVM), 0 , 207, 0 , 8554 , 363, 131), // #1320
- INST(Vpmovzxbq , VexRm_Lx , V(660F38,32,_,x,I,I,1,OVM), 0 , 208, 0 , 8564 , 364, 131), // #1321
- INST(Vpmovzxbw , VexRm_Lx , V(660F38,30,_,x,I,I,3,HVM), 0 , 132, 0 , 8574 , 365, 146), // #1322
- INST(Vpmovzxdq , VexRm_Lx , V(660F38,35,_,x,I,0,3,HVM), 0 , 132, 0 , 8584 , 365, 131), // #1323
- INST(Vpmovzxwd , VexRm_Lx , V(660F38,33,_,x,I,I,3,HVM), 0 , 132, 0 , 8594 , 365, 131), // #1324
- INST(Vpmovzxwq , VexRm_Lx , V(660F38,34,_,x,I,I,2,QVM), 0 , 207, 0 , 8604 , 363, 131), // #1325
- INST(Vpmuldq , VexRvm_Lx , V(660F38,28,_,x,I,1,4,FV ), 0 , 198, 0 , 8614 , 202, 131), // #1326
- INST(Vpmulhrsw , VexRvm_Lx , V(660F38,0B,_,x,I,I,4,FVM), 0 , 107, 0 , 8622 , 289, 146), // #1327
- INST(Vpmulhuw , VexRvm_Lx , V(660F00,E4,_,x,I,I,4,FVM), 0 , 184, 0 , 8632 , 289, 146), // #1328
- INST(Vpmulhw , VexRvm_Lx , V(660F00,E5,_,x,I,I,4,FVM), 0 , 184, 0 , 8641 , 289, 146), // #1329
- INST(Vpmulld , VexRvm_Lx , V(660F38,40,_,x,I,0,4,FV ), 0 , 163, 0 , 8649 , 203, 131), // #1330
- INST(Vpmullq , VexRvm_Lx , E(660F38,40,_,x,_,1,4,FV ), 0 , 112, 0 , 8657 , 208, 129), // #1331
- INST(Vpmullw , VexRvm_Lx , V(660F00,D5,_,x,I,I,4,FVM), 0 , 184, 0 , 8665 , 289, 146), // #1332
- INST(Vpmultishiftqb , VexRvm_Lx , E(660F38,83,_,x,_,1,4,FV ), 0 , 112, 0 , 8673 , 208, 153), // #1333
- INST(Vpmuludq , VexRvm_Lx , V(660F00,F4,_,x,I,1,4,FV ), 0 , 102, 0 , 8688 , 202, 131), // #1334
- INST(Vpopcntb , VexRm_Lx , E(660F38,54,_,x,_,0,4,FV ), 0 , 111, 0 , 8697 , 258, 157), // #1335
- INST(Vpopcntd , VexRm_Lx , E(660F38,55,_,x,_,0,4,FVM), 0 , 110, 0 , 8706 , 342, 158), // #1336
- INST(Vpopcntq , VexRm_Lx , E(660F38,55,_,x,_,1,4,FVM), 0 , 113, 0 , 8715 , 356, 158), // #1337
- INST(Vpopcntw , VexRm_Lx , E(660F38,54,_,x,_,1,4,FV ), 0 , 112, 0 , 8724 , 258, 157), // #1338
- INST(Vpor , VexRvm_Lx , V(660F00,EB,_,x,I,_,_,_ ), 0 , 68 , 0 , 8733 , 320, 143), // #1339
- INST(Vpord , VexRvm_Lx , E(660F00,EB,_,x,_,0,4,FV ), 0 , 189, 0 , 8738 , 321, 126), // #1340
- INST(Vporq , VexRvm_Lx , E(660F00,EB,_,x,_,1,4,FV ), 0 , 130, 0 , 8744 , 325, 126), // #1341
- INST(Vpperm , VexRvrmRvmr , V(XOP_M8,A3,_,0,x,_,_,_ ), 0 , 193, 0 , 8750 , 366, 139), // #1342
- INST(Vprold , VexVmi_Lx , E(660F00,72,1,x,_,0,4,FV ), 0 , 209, 0 , 8757 , 367, 126), // #1343
- INST(Vprolq , VexVmi_Lx , E(660F00,72,1,x,_,1,4,FV ), 0 , 210, 0 , 8764 , 368, 126), // #1344
- INST(Vprolvd , VexRvm_Lx , E(660F38,15,_,x,_,0,4,FV ), 0 , 111, 0 , 8771 , 207, 126), // #1345
- INST(Vprolvq , VexRvm_Lx , E(660F38,15,_,x,_,1,4,FV ), 0 , 112, 0 , 8779 , 208, 126), // #1346
- INST(Vprord , VexVmi_Lx , E(660F00,72,0,x,_,0,4,FV ), 0 , 189, 0 , 8787 , 367, 126), // #1347
- INST(Vprorq , VexVmi_Lx , E(660F00,72,0,x,_,1,4,FV ), 0 , 130, 0 , 8794 , 368, 126), // #1348
- INST(Vprorvd , VexRvm_Lx , E(660F38,14,_,x,_,0,4,FV ), 0 , 111, 0 , 8801 , 207, 126), // #1349
- INST(Vprorvq , VexRvm_Lx , E(660F38,14,_,x,_,1,4,FV ), 0 , 112, 0 , 8809 , 208, 126), // #1350
- INST(Vprotb , VexRvmRmvRmi , V(XOP_M9,90,_,0,x,_,_,_ ), V(XOP_M8,C0,_,0,x,_,_,_ ), 78 , 121, 8817 , 369, 139), // #1351
- INST(Vprotd , VexRvmRmvRmi , V(XOP_M9,92,_,0,x,_,_,_ ), V(XOP_M8,C2,_,0,x,_,_,_ ), 78 , 122, 8824 , 369, 139), // #1352
- INST(Vprotq , VexRvmRmvRmi , V(XOP_M9,93,_,0,x,_,_,_ ), V(XOP_M8,C3,_,0,x,_,_,_ ), 78 , 123, 8831 , 369, 139), // #1353
- INST(Vprotw , VexRvmRmvRmi , V(XOP_M9,91,_,0,x,_,_,_ ), V(XOP_M8,C1,_,0,x,_,_,_ ), 78 , 124, 8838 , 369, 139), // #1354
- INST(Vpsadbw , VexRvm_Lx , V(660F00,F6,_,x,I,I,4,FVM), 0 , 184, 0 , 8845 , 197, 146), // #1355
- INST(Vpscatterdd , VexMr_VM , E(660F38,A0,_,x,_,0,2,T1S), 0 , 125, 0 , 8853 , 370, 126), // #1356
- INST(Vpscatterdq , VexMr_VM , E(660F38,A0,_,x,_,1,3,T1S), 0 , 124, 0 , 8865 , 370, 126), // #1357
- INST(Vpscatterqd , VexMr_VM , E(660F38,A1,_,x,_,0,2,T1S), 0 , 125, 0 , 8877 , 371, 126), // #1358
- INST(Vpscatterqq , VexMr_VM , E(660F38,A1,_,x,_,1,3,T1S), 0 , 124, 0 , 8889 , 372, 126), // #1359
- INST(Vpshab , VexRvmRmv , V(XOP_M9,98,_,0,x,_,_,_ ), 0 , 78 , 0 , 8901 , 373, 139), // #1360
- INST(Vpshad , VexRvmRmv , V(XOP_M9,9A,_,0,x,_,_,_ ), 0 , 78 , 0 , 8908 , 373, 139), // #1361
- INST(Vpshaq , VexRvmRmv , V(XOP_M9,9B,_,0,x,_,_,_ ), 0 , 78 , 0 , 8915 , 373, 139), // #1362
- INST(Vpshaw , VexRvmRmv , V(XOP_M9,99,_,0,x,_,_,_ ), 0 , 78 , 0 , 8922 , 373, 139), // #1363
- INST(Vpshlb , VexRvmRmv , V(XOP_M9,94,_,0,x,_,_,_ ), 0 , 78 , 0 , 8929 , 373, 139), // #1364
- INST(Vpshld , VexRvmRmv , V(XOP_M9,96,_,0,x,_,_,_ ), 0 , 78 , 0 , 8936 , 373, 139), // #1365
- INST(Vpshldd , VexRvmi_Lx , E(660F3A,71,_,x,_,0,4,FV ), 0 , 108, 0 , 8943 , 200, 151), // #1366
- INST(Vpshldq , VexRvmi_Lx , E(660F3A,71,_,x,_,1,4,FV ), 0 , 109, 0 , 8951 , 201, 151), // #1367
- INST(Vpshldvd , VexRvm_Lx , E(660F38,71,_,x,_,0,4,FV ), 0 , 111, 0 , 8959 , 207, 151), // #1368
- INST(Vpshldvq , VexRvm_Lx , E(660F38,71,_,x,_,1,4,FV ), 0 , 112, 0 , 8968 , 208, 151), // #1369
- INST(Vpshldvw , VexRvm_Lx , E(660F38,70,_,x,_,0,4,FVM), 0 , 110, 0 , 8977 , 206, 151), // #1370
- INST(Vpshldw , VexRvmi_Lx , E(660F3A,70,_,x,_,0,4,FVM), 0 , 151, 0 , 8986 , 254, 151), // #1371
- INST(Vpshlq , VexRvmRmv , V(XOP_M9,97,_,0,x,_,_,_ ), 0 , 78 , 0 , 8994 , 373, 139), // #1372
- INST(Vpshlw , VexRvmRmv , V(XOP_M9,95,_,0,x,_,_,_ ), 0 , 78 , 0 , 9001 , 373, 139), // #1373
- INST(Vpshrdd , VexRvmi_Lx , E(660F3A,73,_,x,_,0,4,FV ), 0 , 108, 0 , 9008 , 200, 151), // #1374
- INST(Vpshrdq , VexRvmi_Lx , E(660F3A,73,_,x,_,1,4,FV ), 0 , 109, 0 , 9016 , 201, 151), // #1375
- INST(Vpshrdvd , VexRvm_Lx , E(660F38,73,_,x,_,0,4,FV ), 0 , 111, 0 , 9024 , 207, 151), // #1376
- INST(Vpshrdvq , VexRvm_Lx , E(660F38,73,_,x,_,1,4,FV ), 0 , 112, 0 , 9033 , 208, 151), // #1377
- INST(Vpshrdvw , VexRvm_Lx , E(660F38,72,_,x,_,0,4,FVM), 0 , 110, 0 , 9042 , 206, 151), // #1378
- INST(Vpshrdw , VexRvmi_Lx , E(660F3A,72,_,x,_,0,4,FVM), 0 , 151, 0 , 9051 , 254, 151), // #1379
- INST(Vpshufb , VexRvm_Lx , V(660F38,00,_,x,I,I,4,FVM), 0 , 107, 0 , 9059 , 289, 146), // #1380
- INST(Vpshufbitqmb , VexRvm_Lx , E(660F38,8F,_,x,0,0,4,FVM), 0 , 110, 0 , 9067 , 374, 157), // #1381
- INST(Vpshufd , VexRmi_Lx , V(660F00,70,_,x,I,0,4,FV ), 0 , 133, 0 , 9080 , 375, 131), // #1382
- INST(Vpshufhw , VexRmi_Lx , V(F30F00,70,_,x,I,I,4,FVM), 0 , 185, 0 , 9088 , 376, 146), // #1383
- INST(Vpshuflw , VexRmi_Lx , V(F20F00,70,_,x,I,I,4,FVM), 0 , 211, 0 , 9097 , 376, 146), // #1384
- INST(Vpsignb , VexRvm_Lx , V(660F38,08,_,x,I,_,_,_ ), 0 , 96 , 0 , 9106 , 196, 143), // #1385
- INST(Vpsignd , VexRvm_Lx , V(660F38,0A,_,x,I,_,_,_ ), 0 , 96 , 0 , 9114 , 196, 143), // #1386
- INST(Vpsignw , VexRvm_Lx , V(660F38,09,_,x,I,_,_,_ ), 0 , 96 , 0 , 9122 , 196, 143), // #1387
- INST(Vpslld , VexRvmVmi_Lx , V(660F00,F2,_,x,I,0,4,128), V(660F00,72,6,x,I,0,4,FV ), 212, 125, 9130 , 377, 131), // #1388
- INST(Vpslldq , VexEvexVmi_Lx , V(660F00,73,7,x,I,I,4,FVM), 0 , 213, 0 , 9137 , 378, 146), // #1389
- INST(Vpsllq , VexRvmVmi_Lx , V(660F00,F3,_,x,I,1,4,128), V(660F00,73,6,x,I,1,4,FV ), 214, 126, 9145 , 379, 131), // #1390
- INST(Vpsllvd , VexRvm_Lx , V(660F38,47,_,x,0,0,4,FV ), 0 , 163, 0 , 9152 , 203, 140), // #1391
- INST(Vpsllvq , VexRvm_Lx , V(660F38,47,_,x,1,1,4,FV ), 0 , 162, 0 , 9160 , 202, 140), // #1392
- INST(Vpsllvw , VexRvm_Lx , E(660F38,12,_,x,_,1,4,FVM), 0 , 113, 0 , 9168 , 206, 128), // #1393
- INST(Vpsllw , VexRvmVmi_Lx , V(660F00,F1,_,x,I,I,4,FVM), V(660F00,71,6,x,I,I,4,FVM), 184, 127, 9176 , 380, 146), // #1394
- INST(Vpsrad , VexRvmVmi_Lx , V(660F00,E2,_,x,I,0,4,128), V(660F00,72,4,x,I,0,4,FV ), 212, 128, 9183 , 377, 131), // #1395
- INST(Vpsraq , VexRvmVmi_Lx , E(660F00,E2,_,x,_,1,4,128), E(660F00,72,4,x,_,1,4,FV ), 215, 129, 9190 , 381, 126), // #1396
- INST(Vpsravd , VexRvm_Lx , V(660F38,46,_,x,0,0,4,FV ), 0 , 163, 0 , 9197 , 203, 140), // #1397
- INST(Vpsravq , VexRvm_Lx , E(660F38,46,_,x,_,1,4,FV ), 0 , 112, 0 , 9205 , 208, 126), // #1398
- INST(Vpsravw , VexRvm_Lx , E(660F38,11,_,x,_,1,4,FVM), 0 , 113, 0 , 9213 , 206, 128), // #1399
- INST(Vpsraw , VexRvmVmi_Lx , V(660F00,E1,_,x,I,I,4,128), V(660F00,71,4,x,I,I,4,FVM), 212, 130, 9221 , 380, 146), // #1400
- INST(Vpsrld , VexRvmVmi_Lx , V(660F00,D2,_,x,I,0,4,128), V(660F00,72,2,x,I,0,4,FV ), 212, 131, 9228 , 377, 131), // #1401
- INST(Vpsrldq , VexEvexVmi_Lx , V(660F00,73,3,x,I,I,4,FVM), 0 , 216, 0 , 9235 , 378, 146), // #1402
- INST(Vpsrlq , VexRvmVmi_Lx , V(660F00,D3,_,x,I,1,4,128), V(660F00,73,2,x,I,1,4,FV ), 214, 132, 9243 , 379, 131), // #1403
- INST(Vpsrlvd , VexRvm_Lx , V(660F38,45,_,x,0,0,4,FV ), 0 , 163, 0 , 9250 , 203, 140), // #1404
- INST(Vpsrlvq , VexRvm_Lx , V(660F38,45,_,x,1,1,4,FV ), 0 , 162, 0 , 9258 , 202, 140), // #1405
- INST(Vpsrlvw , VexRvm_Lx , E(660F38,10,_,x,_,1,4,FVM), 0 , 113, 0 , 9266 , 206, 128), // #1406
- INST(Vpsrlw , VexRvmVmi_Lx , V(660F00,D1,_,x,I,I,4,128), V(660F00,71,2,x,I,I,4,FVM), 212, 133, 9274 , 380, 146), // #1407
- INST(Vpsubb , VexRvm_Lx , V(660F00,F8,_,x,I,I,4,FVM), 0 , 184, 0 , 9281 , 382, 146), // #1408
- INST(Vpsubd , VexRvm_Lx , V(660F00,FA,_,x,I,0,4,FV ), 0 , 133, 0 , 9288 , 383, 131), // #1409
- INST(Vpsubq , VexRvm_Lx , V(660F00,FB,_,x,I,1,4,FV ), 0 , 102, 0 , 9295 , 384, 131), // #1410
- INST(Vpsubsb , VexRvm_Lx , V(660F00,E8,_,x,I,I,4,FVM), 0 , 184, 0 , 9302 , 382, 146), // #1411
- INST(Vpsubsw , VexRvm_Lx , V(660F00,E9,_,x,I,I,4,FVM), 0 , 184, 0 , 9310 , 382, 146), // #1412
- INST(Vpsubusb , VexRvm_Lx , V(660F00,D8,_,x,I,I,4,FVM), 0 , 184, 0 , 9318 , 382, 146), // #1413
- INST(Vpsubusw , VexRvm_Lx , V(660F00,D9,_,x,I,I,4,FVM), 0 , 184, 0 , 9327 , 382, 146), // #1414
- INST(Vpsubw , VexRvm_Lx , V(660F00,F9,_,x,I,I,4,FVM), 0 , 184, 0 , 9336 , 382, 146), // #1415
- INST(Vpternlogd , VexRvmi_Lx , E(660F3A,25,_,x,_,0,4,FV ), 0 , 108, 0 , 9343 , 200, 126), // #1416
- INST(Vpternlogq , VexRvmi_Lx , E(660F3A,25,_,x,_,1,4,FV ), 0 , 109, 0 , 9354 , 201, 126), // #1417
- INST(Vptest , VexRm_Lx , V(660F38,17,_,x,I,_,_,_ ), 0 , 96 , 0 , 9365 , 274, 150), // #1418
- INST(Vptestmb , VexRvm_Lx , E(660F38,26,_,x,_,0,4,FVM), 0 , 110, 0 , 9372 , 374, 128), // #1419
- INST(Vptestmd , VexRvm_Lx , E(660F38,27,_,x,_,0,4,FV ), 0 , 111, 0 , 9381 , 385, 126), // #1420
- INST(Vptestmq , VexRvm_Lx , E(660F38,27,_,x,_,1,4,FV ), 0 , 112, 0 , 9390 , 386, 126), // #1421
- INST(Vptestmw , VexRvm_Lx , E(660F38,26,_,x,_,1,4,FVM), 0 , 113, 0 , 9399 , 374, 128), // #1422
- INST(Vptestnmb , VexRvm_Lx , E(F30F38,26,_,x,_,0,4,FVM), 0 , 217, 0 , 9408 , 374, 128), // #1423
- INST(Vptestnmd , VexRvm_Lx , E(F30F38,27,_,x,_,0,4,FV ), 0 , 218, 0 , 9418 , 385, 126), // #1424
- INST(Vptestnmq , VexRvm_Lx , E(F30F38,27,_,x,_,1,4,FV ), 0 , 219, 0 , 9428 , 386, 126), // #1425
- INST(Vptestnmw , VexRvm_Lx , E(F30F38,26,_,x,_,1,4,FVM), 0 , 220, 0 , 9438 , 374, 128), // #1426
- INST(Vpunpckhbw , VexRvm_Lx , V(660F00,68,_,x,I,I,4,FVM), 0 , 184, 0 , 9448 , 289, 146), // #1427
- INST(Vpunpckhdq , VexRvm_Lx , V(660F00,6A,_,x,I,0,4,FV ), 0 , 133, 0 , 9459 , 203, 131), // #1428
- INST(Vpunpckhqdq , VexRvm_Lx , V(660F00,6D,_,x,I,1,4,FV ), 0 , 102, 0 , 9470 , 202, 131), // #1429
- INST(Vpunpckhwd , VexRvm_Lx , V(660F00,69,_,x,I,I,4,FVM), 0 , 184, 0 , 9482 , 289, 146), // #1430
- INST(Vpunpcklbw , VexRvm_Lx , V(660F00,60,_,x,I,I,4,FVM), 0 , 184, 0 , 9493 , 289, 146), // #1431
- INST(Vpunpckldq , VexRvm_Lx , V(660F00,62,_,x,I,0,4,FV ), 0 , 133, 0 , 9504 , 203, 131), // #1432
- INST(Vpunpcklqdq , VexRvm_Lx , V(660F00,6C,_,x,I,1,4,FV ), 0 , 102, 0 , 9515 , 202, 131), // #1433
- INST(Vpunpcklwd , VexRvm_Lx , V(660F00,61,_,x,I,I,4,FVM), 0 , 184, 0 , 9527 , 289, 146), // #1434
- INST(Vpxor , VexRvm_Lx , V(660F00,EF,_,x,I,_,_,_ ), 0 , 68 , 0 , 9538 , 322, 143), // #1435
- INST(Vpxord , VexRvm_Lx , E(660F00,EF,_,x,_,0,4,FV ), 0 , 189, 0 , 9544 , 323, 126), // #1436
- INST(Vpxorq , VexRvm_Lx , E(660F00,EF,_,x,_,1,4,FV ), 0 , 130, 0 , 9551 , 324, 126), // #1437
- INST(Vrangepd , VexRvmi_Lx , E(660F3A,50,_,x,_,1,4,FV ), 0 , 109, 0 , 9558 , 263, 129), // #1438
- INST(Vrangeps , VexRvmi_Lx , E(660F3A,50,_,x,_,0,4,FV ), 0 , 108, 0 , 9567 , 264, 129), // #1439
- INST(Vrangesd , VexRvmi , E(660F3A,51,_,I,_,1,3,T1S), 0 , 160, 0 , 9576 , 265, 64 ), // #1440
- INST(Vrangess , VexRvmi , E(660F3A,51,_,I,_,0,2,T1S), 0 , 161, 0 , 9585 , 266, 64 ), // #1441
- INST(Vrcp14pd , VexRm_Lx , E(660F38,4C,_,x,_,1,4,FV ), 0 , 112, 0 , 9594 , 356, 126), // #1442
- INST(Vrcp14ps , VexRm_Lx , E(660F38,4C,_,x,_,0,4,FV ), 0 , 111, 0 , 9603 , 342, 126), // #1443
- INST(Vrcp14sd , VexRvm , E(660F38,4D,_,I,_,1,3,T1S), 0 , 124, 0 , 9612 , 387, 66 ), // #1444
- INST(Vrcp14ss , VexRvm , E(660F38,4D,_,I,_,0,2,T1S), 0 , 125, 0 , 9621 , 388, 66 ), // #1445
- INST(Vrcp28pd , VexRm , E(660F38,CA,_,2,_,1,4,FV ), 0 , 152, 0 , 9630 , 256, 135), // #1446
- INST(Vrcp28ps , VexRm , E(660F38,CA,_,2,_,0,4,FV ), 0 , 153, 0 , 9639 , 257, 135), // #1447
- INST(Vrcp28sd , VexRvm , E(660F38,CB,_,I,_,1,3,T1S), 0 , 124, 0 , 9648 , 284, 135), // #1448
- INST(Vrcp28ss , VexRvm , E(660F38,CB,_,I,_,0,2,T1S), 0 , 125, 0 , 9657 , 285, 135), // #1449
- INST(Vrcpps , VexRm_Lx , V(000F00,53,_,x,I,_,_,_ ), 0 , 71 , 0 , 9666 , 274, 123), // #1450
- INST(Vrcpss , VexRvm , V(F30F00,53,_,I,I,_,_,_ ), 0 , 178, 0 , 9673 , 389, 123), // #1451
- INST(Vreducepd , VexRmi_Lx , E(660F3A,56,_,x,_,1,4,FV ), 0 , 109, 0 , 9680 , 368, 129), // #1452
- INST(Vreduceps , VexRmi_Lx , E(660F3A,56,_,x,_,0,4,FV ), 0 , 108, 0 , 9690 , 367, 129), // #1453
- INST(Vreducesd , VexRvmi , E(660F3A,57,_,I,_,1,3,T1S), 0 , 160, 0 , 9700 , 390, 64 ), // #1454
- INST(Vreducess , VexRvmi , E(660F3A,57,_,I,_,0,2,T1S), 0 , 161, 0 , 9710 , 391, 64 ), // #1455
- INST(Vrndscalepd , VexRmi_Lx , E(660F3A,09,_,x,_,1,4,FV ), 0 , 109, 0 , 9720 , 286, 126), // #1456
- INST(Vrndscaleps , VexRmi_Lx , E(660F3A,08,_,x,_,0,4,FV ), 0 , 108, 0 , 9732 , 287, 126), // #1457
- INST(Vrndscalesd , VexRvmi , E(660F3A,0B,_,I,_,1,3,T1S), 0 , 160, 0 , 9744 , 265, 66 ), // #1458
- INST(Vrndscaless , VexRvmi , E(660F3A,0A,_,I,_,0,2,T1S), 0 , 161, 0 , 9756 , 266, 66 ), // #1459
- INST(Vroundpd , VexRmi_Lx , V(660F3A,09,_,x,I,_,_,_ ), 0 , 72 , 0 , 9768 , 392, 123), // #1460
- INST(Vroundps , VexRmi_Lx , V(660F3A,08,_,x,I,_,_,_ ), 0 , 72 , 0 , 9777 , 392, 123), // #1461
- INST(Vroundsd , VexRvmi , V(660F3A,0B,_,I,I,_,_,_ ), 0 , 72 , 0 , 9786 , 393, 123), // #1462
- INST(Vroundss , VexRvmi , V(660F3A,0A,_,I,I,_,_,_ ), 0 , 72 , 0 , 9795 , 394, 123), // #1463
- INST(Vrsqrt14pd , VexRm_Lx , E(660F38,4E,_,x,_,1,4,FV ), 0 , 112, 0 , 9804 , 356, 126), // #1464
- INST(Vrsqrt14ps , VexRm_Lx , E(660F38,4E,_,x,_,0,4,FV ), 0 , 111, 0 , 9815 , 342, 126), // #1465
- INST(Vrsqrt14sd , VexRvm , E(660F38,4F,_,I,_,1,3,T1S), 0 , 124, 0 , 9826 , 387, 66 ), // #1466
- INST(Vrsqrt14ss , VexRvm , E(660F38,4F,_,I,_,0,2,T1S), 0 , 125, 0 , 9837 , 388, 66 ), // #1467
- INST(Vrsqrt28pd , VexRm , E(660F38,CC,_,2,_,1,4,FV ), 0 , 152, 0 , 9848 , 256, 135), // #1468
- INST(Vrsqrt28ps , VexRm , E(660F38,CC,_,2,_,0,4,FV ), 0 , 153, 0 , 9859 , 257, 135), // #1469
- INST(Vrsqrt28sd , VexRvm , E(660F38,CD,_,I,_,1,3,T1S), 0 , 124, 0 , 9870 , 284, 135), // #1470
- INST(Vrsqrt28ss , VexRvm , E(660F38,CD,_,I,_,0,2,T1S), 0 , 125, 0 , 9881 , 285, 135), // #1471
- INST(Vrsqrtps , VexRm_Lx , V(000F00,52,_,x,I,_,_,_ ), 0 , 71 , 0 , 9892 , 274, 123), // #1472
- INST(Vrsqrtss , VexRvm , V(F30F00,52,_,I,I,_,_,_ ), 0 , 178, 0 , 9901 , 389, 123), // #1473
- INST(Vscalefpd , VexRvm_Lx , E(660F38,2C,_,x,_,1,4,FV ), 0 , 112, 0 , 9910 , 395, 126), // #1474
- INST(Vscalefps , VexRvm_Lx , E(660F38,2C,_,x,_,0,4,FV ), 0 , 111, 0 , 9920 , 396, 126), // #1475
- INST(Vscalefsd , VexRvm , E(660F38,2D,_,I,_,1,3,T1S), 0 , 124, 0 , 9930 , 397, 66 ), // #1476
- INST(Vscalefss , VexRvm , E(660F38,2D,_,I,_,0,2,T1S), 0 , 125, 0 , 9940 , 398, 66 ), // #1477
- INST(Vscatterdpd , VexMr_Lx , E(660F38,A2,_,x,_,1,3,T1S), 0 , 124, 0 , 9950 , 399, 126), // #1478
- INST(Vscatterdps , VexMr_Lx , E(660F38,A2,_,x,_,0,2,T1S), 0 , 125, 0 , 9962 , 370, 126), // #1479
- INST(Vscatterpf0dpd , VexM_VM , E(660F38,C6,5,2,_,1,3,T1S), 0 , 221, 0 , 9974 , 279, 141), // #1480
- INST(Vscatterpf0dps , VexM_VM , E(660F38,C6,5,2,_,0,2,T1S), 0 , 222, 0 , 9989 , 280, 141), // #1481
- INST(Vscatterpf0qpd , VexM_VM , E(660F38,C7,5,2,_,1,3,T1S), 0 , 221, 0 , 10004, 281, 141), // #1482
- INST(Vscatterpf0qps , VexM_VM , E(660F38,C7,5,2,_,0,2,T1S), 0 , 222, 0 , 10019, 281, 141), // #1483
- INST(Vscatterpf1dpd , VexM_VM , E(660F38,C6,6,2,_,1,3,T1S), 0 , 223, 0 , 10034, 279, 141), // #1484
- INST(Vscatterpf1dps , VexM_VM , E(660F38,C6,6,2,_,0,2,T1S), 0 , 224, 0 , 10049, 280, 141), // #1485
- INST(Vscatterpf1qpd , VexM_VM , E(660F38,C7,6,2,_,1,3,T1S), 0 , 223, 0 , 10064, 281, 141), // #1486
- INST(Vscatterpf1qps , VexM_VM , E(660F38,C7,6,2,_,0,2,T1S), 0 , 224, 0 , 10079, 281, 141), // #1487
- INST(Vscatterqpd , VexMr_Lx , E(660F38,A3,_,x,_,1,3,T1S), 0 , 124, 0 , 10094, 372, 126), // #1488
- INST(Vscatterqps , VexMr_Lx , E(660F38,A3,_,x,_,0,2,T1S), 0 , 125, 0 , 10106, 371, 126), // #1489
- INST(Vshuff32x4 , VexRvmi_Lx , E(660F3A,23,_,x,_,0,4,FV ), 0 , 108, 0 , 10118, 400, 126), // #1490
- INST(Vshuff64x2 , VexRvmi_Lx , E(660F3A,23,_,x,_,1,4,FV ), 0 , 109, 0 , 10129, 401, 126), // #1491
- INST(Vshufi32x4 , VexRvmi_Lx , E(660F3A,43,_,x,_,0,4,FV ), 0 , 108, 0 , 10140, 400, 126), // #1492
- INST(Vshufi64x2 , VexRvmi_Lx , E(660F3A,43,_,x,_,1,4,FV ), 0 , 109, 0 , 10151, 401, 126), // #1493
- INST(Vshufpd , VexRvmi_Lx , V(660F00,C6,_,x,I,1,4,FV ), 0 , 102, 0 , 10162, 402, 121), // #1494
- INST(Vshufps , VexRvmi_Lx , V(000F00,C6,_,x,I,0,4,FV ), 0 , 103, 0 , 10170, 403, 121), // #1495
- INST(Vsqrtpd , VexRm_Lx , V(660F00,51,_,x,I,1,4,FV ), 0 , 102, 0 , 10178, 404, 121), // #1496
- INST(Vsqrtps , VexRm_Lx , V(000F00,51,_,x,I,0,4,FV ), 0 , 103, 0 , 10186, 226, 121), // #1497
- INST(Vsqrtsd , VexRvm , V(F20F00,51,_,I,I,1,3,T1S), 0 , 104, 0 , 10194, 194, 122), // #1498
- INST(Vsqrtss , VexRvm , V(F30F00,51,_,I,I,0,2,T1S), 0 , 105, 0 , 10202, 195, 122), // #1499
- INST(Vstmxcsr , VexM , V(000F00,AE,3,0,I,_,_,_ ), 0 , 225, 0 , 10210, 295, 123), // #1500
- INST(Vsubpd , VexRvm_Lx , V(660F00,5C,_,x,I,1,4,FV ), 0 , 102, 0 , 10219, 192, 121), // #1501
- INST(Vsubps , VexRvm_Lx , V(000F00,5C,_,x,I,0,4,FV ), 0 , 103, 0 , 10226, 193, 121), // #1502
- INST(Vsubsd , VexRvm , V(F20F00,5C,_,I,I,1,3,T1S), 0 , 104, 0 , 10233, 194, 122), // #1503
- INST(Vsubss , VexRvm , V(F30F00,5C,_,I,I,0,2,T1S), 0 , 105, 0 , 10240, 195, 122), // #1504
- INST(Vtestpd , VexRm_Lx , V(660F38,0F,_,x,0,_,_,_ ), 0 , 96 , 0 , 10247, 274, 150), // #1505
- INST(Vtestps , VexRm_Lx , V(660F38,0E,_,x,0,_,_,_ ), 0 , 96 , 0 , 10255, 274, 150), // #1506
- INST(Vucomisd , VexRm , V(660F00,2E,_,I,I,1,3,T1S), 0 , 122, 0 , 10263, 222, 132), // #1507
- INST(Vucomiss , VexRm , V(000F00,2E,_,I,I,0,2,T1S), 0 , 123, 0 , 10272, 223, 132), // #1508
- INST(Vunpckhpd , VexRvm_Lx , V(660F00,15,_,x,I,1,4,FV ), 0 , 102, 0 , 10281, 202, 121), // #1509
- INST(Vunpckhps , VexRvm_Lx , V(000F00,15,_,x,I,0,4,FV ), 0 , 103, 0 , 10291, 203, 121), // #1510
- INST(Vunpcklpd , VexRvm_Lx , V(660F00,14,_,x,I,1,4,FV ), 0 , 102, 0 , 10301, 202, 121), // #1511
- INST(Vunpcklps , VexRvm_Lx , V(000F00,14,_,x,I,0,4,FV ), 0 , 103, 0 , 10311, 203, 121), // #1512
- INST(Vxorpd , VexRvm_Lx , V(660F00,57,_,x,I,1,4,FV ), 0 , 102, 0 , 10321, 384, 127), // #1513
- INST(Vxorps , VexRvm_Lx , V(000F00,57,_,x,I,0,4,FV ), 0 , 103, 0 , 10328, 383, 127), // #1514
- INST(Vzeroall , VexOp , V(000F00,77,_,1,I,_,_,_ ), 0 , 67 , 0 , 10335, 405, 123), // #1515
- INST(Vzeroupper , VexOp , V(000F00,77,_,0,I,_,_,_ ), 0 , 71 , 0 , 10344, 405, 123), // #1516
- INST(Wbinvd , X86Op , O(000F00,09,_,_,_,_,_,_ ), 0 , 4 , 0 , 10355, 30 , 0 ), // #1517
- INST(Wbnoinvd , X86Op , O(F30F00,09,_,_,_,_,_,_ ), 0 , 6 , 0 , 10362, 30 , 159), // #1518
- INST(Wrfsbase , X86M , O(F30F00,AE,2,_,x,_,_,_ ), 0 , 226, 0 , 10371, 170, 102), // #1519
- INST(Wrgsbase , X86M , O(F30F00,AE,3,_,x,_,_,_ ), 0 , 227, 0 , 10380, 170, 102), // #1520
- INST(Wrmsr , X86Op , O(000F00,30,_,_,_,_,_,_ ), 0 , 4 , 0 , 10389, 171, 103), // #1521
- INST(Wrssd , X86Mr , O(000F38,F6,_,_,_,_,_,_ ), 0 , 83 , 0 , 10395, 406, 54 ), // #1522
- INST(Wrssq , X86Mr , O(000F38,F6,_,_,1,_,_,_ ), 0 , 228, 0 , 10401, 407, 54 ), // #1523
- INST(Wrussd , X86Mr , O(660F38,F5,_,_,_,_,_,_ ), 0 , 2 , 0 , 10407, 406, 54 ), // #1524
- INST(Wrussq , X86Mr , O(660F38,F5,_,_,1,_,_,_ ), 0 , 229, 0 , 10414, 407, 54 ), // #1525
- INST(Xabort , X86Op_Mod11RM_I8 , O(000000,C6,7,_,_,_,_,_ ), 0 , 26 , 0 , 10421, 77 , 160), // #1526
- INST(Xadd , X86Xadd , O(000F00,C0,_,_,x,_,_,_ ), 0 , 4 , 0 , 10428, 408, 37 ), // #1527
- INST(Xbegin , X86JmpRel , O(000000,C7,7,_,_,_,_,_ ), 0 , 26 , 0 , 10433, 409, 160), // #1528
- INST(Xchg , X86Xchg , O(000000,86,_,_,x,_,_,_ ), 0 , 0 , 0 , 457 , 410, 0 ), // #1529
- INST(Xend , X86Op , O(000F01,D5,_,_,_,_,_,_ ), 0 , 21 , 0 , 10440, 30 , 160), // #1530
- INST(Xgetbv , X86Op , O(000F01,D0,_,_,_,_,_,_ ), 0 , 21 , 0 , 10445, 171, 161), // #1531
- INST(Xlatb , X86Op , O(000000,D7,_,_,_,_,_,_ ), 0 , 0 , 0 , 10452, 30 , 0 ), // #1532
- INST(Xor , X86Arith , O(000000,30,6,_,x,_,_,_ ), 0 , 31 , 0 , 9540 , 175, 1 ), // #1533
- INST(Xorpd , ExtRm , O(660F00,57,_,_,_,_,_,_ ), 0 , 3 , 0 , 10322, 148, 4 ), // #1534
- INST(Xorps , ExtRm , O(000F00,57,_,_,_,_,_,_ ), 0 , 4 , 0 , 10329, 148, 5 ), // #1535
- INST(Xresldtrk , X86Op , O(F20F01,E9,_,_,_,_,_,_ ), 0 , 92 , 0 , 10458, 30 , 162), // #1536
- INST(Xrstor , X86M_Only , O(000F00,AE,5,_,_,_,_,_ ), 0 , 76 , 0 , 1159 , 411, 161), // #1537
- INST(Xrstor64 , X86M_Only , O(000F00,AE,5,_,1,_,_,_ ), 0 , 230, 0 , 1167 , 412, 161), // #1538
- INST(Xrstors , X86M_Only , O(000F00,C7,3,_,_,_,_,_ ), 0 , 77 , 0 , 10468, 411, 163), // #1539
- INST(Xrstors64 , X86M_Only , O(000F00,C7,3,_,1,_,_,_ ), 0 , 231, 0 , 10476, 412, 163), // #1540
- INST(Xsave , X86M_Only , O(000F00,AE,4,_,_,_,_,_ ), 0 , 97 , 0 , 1177 , 411, 161), // #1541
- INST(Xsave64 , X86M_Only , O(000F00,AE,4,_,1,_,_,_ ), 0 , 232, 0 , 1184 , 412, 161), // #1542
- INST(Xsavec , X86M_Only , O(000F00,C7,4,_,_,_,_,_ ), 0 , 97 , 0 , 10486, 411, 164), // #1543
- INST(Xsavec64 , X86M_Only , O(000F00,C7,4,_,1,_,_,_ ), 0 , 232, 0 , 10493, 412, 164), // #1544
- INST(Xsaveopt , X86M_Only , O(000F00,AE,6,_,_,_,_,_ ), 0 , 79 , 0 , 10502, 411, 165), // #1545
- INST(Xsaveopt64 , X86M_Only , O(000F00,AE,6,_,1,_,_,_ ), 0 , 233, 0 , 10511, 412, 165), // #1546
- INST(Xsaves , X86M_Only , O(000F00,C7,5,_,_,_,_,_ ), 0 , 76 , 0 , 10522, 411, 163), // #1547
- INST(Xsaves64 , X86M_Only , O(000F00,C7,5,_,1,_,_,_ ), 0 , 230, 0 , 10529, 412, 163), // #1548
- INST(Xsetbv , X86Op , O(000F01,D1,_,_,_,_,_,_ ), 0 , 21 , 0 , 10538, 171, 161), // #1549
- INST(Xsusldtrk , X86Op , O(F20F01,E8,_,_,_,_,_,_ ), 0 , 92 , 0 , 10545, 30 , 162), // #1550
- INST(Xtest , X86Op , O(000F01,D6,_,_,_,_,_,_ ), 0 , 21 , 0 , 10555, 30 , 166) // #1551
+ INST(Clui , X86Op , O(F30F01,EE,_,_,_,_,_,_ ), 0 , 25 , 0 , 266 , 33 , 25 ), // #73
+ INST(Clwb , X86M_Only , O(660F00,AE,6,_,_,_,_,_ ), 0 , 26 , 0 , 271 , 31 , 26 ), // #74
+ INST(Clzero , X86Op_MemZAX , O(000F01,FC,_,_,_,_,_,_ ), 0 , 21 , 0 , 276 , 34 , 27 ), // #75
+ INST(Cmc , X86Op , O(000000,F5,_,_,_,_,_,_ ), 0 , 0 , 0 , 283 , 30 , 28 ), // #76
+ INST(Cmova , X86Rm , O(000F00,47,_,_,x,_,_,_ ), 0 , 4 , 0 , 287 , 22 , 29 ), // #77
+ INST(Cmovae , X86Rm , O(000F00,43,_,_,x,_,_,_ ), 0 , 4 , 0 , 293 , 22 , 30 ), // #78
+ INST(Cmovb , X86Rm , O(000F00,42,_,_,x,_,_,_ ), 0 , 4 , 0 , 648 , 22 , 30 ), // #79
+ INST(Cmovbe , X86Rm , O(000F00,46,_,_,x,_,_,_ ), 0 , 4 , 0 , 655 , 22 , 29 ), // #80
+ INST(Cmovc , X86Rm , O(000F00,42,_,_,x,_,_,_ ), 0 , 4 , 0 , 300 , 22 , 30 ), // #81
+ INST(Cmove , X86Rm , O(000F00,44,_,_,x,_,_,_ ), 0 , 4 , 0 , 663 , 22 , 31 ), // #82
+ INST(Cmovg , X86Rm , O(000F00,4F,_,_,x,_,_,_ ), 0 , 4 , 0 , 306 , 22 , 32 ), // #83
+ INST(Cmovge , X86Rm , O(000F00,4D,_,_,x,_,_,_ ), 0 , 4 , 0 , 312 , 22 , 33 ), // #84
+ INST(Cmovl , X86Rm , O(000F00,4C,_,_,x,_,_,_ ), 0 , 4 , 0 , 319 , 22 , 33 ), // #85
+ INST(Cmovle , X86Rm , O(000F00,4E,_,_,x,_,_,_ ), 0 , 4 , 0 , 325 , 22 , 32 ), // #86
+ INST(Cmovna , X86Rm , O(000F00,46,_,_,x,_,_,_ ), 0 , 4 , 0 , 332 , 22 , 29 ), // #87
+ INST(Cmovnae , X86Rm , O(000F00,42,_,_,x,_,_,_ ), 0 , 4 , 0 , 339 , 22 , 30 ), // #88
+ INST(Cmovnb , X86Rm , O(000F00,43,_,_,x,_,_,_ ), 0 , 4 , 0 , 670 , 22 , 30 ), // #89
+ INST(Cmovnbe , X86Rm , O(000F00,47,_,_,x,_,_,_ ), 0 , 4 , 0 , 678 , 22 , 29 ), // #90
+ INST(Cmovnc , X86Rm , O(000F00,43,_,_,x,_,_,_ ), 0 , 4 , 0 , 347 , 22 , 30 ), // #91
+ INST(Cmovne , X86Rm , O(000F00,45,_,_,x,_,_,_ ), 0 , 4 , 0 , 687 , 22 , 31 ), // #92
+ INST(Cmovng , X86Rm , O(000F00,4E,_,_,x,_,_,_ ), 0 , 4 , 0 , 354 , 22 , 32 ), // #93
+ INST(Cmovnge , X86Rm , O(000F00,4C,_,_,x,_,_,_ ), 0 , 4 , 0 , 361 , 22 , 33 ), // #94
+ INST(Cmovnl , X86Rm , O(000F00,4D,_,_,x,_,_,_ ), 0 , 4 , 0 , 369 , 22 , 33 ), // #95
+ INST(Cmovnle , X86Rm , O(000F00,4F,_,_,x,_,_,_ ), 0 , 4 , 0 , 376 , 22 , 32 ), // #96
+ INST(Cmovno , X86Rm , O(000F00,41,_,_,x,_,_,_ ), 0 , 4 , 0 , 384 , 22 , 34 ), // #97
+ INST(Cmovnp , X86Rm , O(000F00,4B,_,_,x,_,_,_ ), 0 , 4 , 0 , 391 , 22 , 35 ), // #98
+ INST(Cmovns , X86Rm , O(000F00,49,_,_,x,_,_,_ ), 0 , 4 , 0 , 398 , 22 , 36 ), // #99
+ INST(Cmovnz , X86Rm , O(000F00,45,_,_,x,_,_,_ ), 0 , 4 , 0 , 405 , 22 , 31 ), // #100
+ INST(Cmovo , X86Rm , O(000F00,40,_,_,x,_,_,_ ), 0 , 4 , 0 , 412 , 22 , 34 ), // #101
+ INST(Cmovp , X86Rm , O(000F00,4A,_,_,x,_,_,_ ), 0 , 4 , 0 , 418 , 22 , 35 ), // #102
+ INST(Cmovpe , X86Rm , O(000F00,4A,_,_,x,_,_,_ ), 0 , 4 , 0 , 424 , 22 , 35 ), // #103
+ INST(Cmovpo , X86Rm , O(000F00,4B,_,_,x,_,_,_ ), 0 , 4 , 0 , 431 , 22 , 35 ), // #104
+ INST(Cmovs , X86Rm , O(000F00,48,_,_,x,_,_,_ ), 0 , 4 , 0 , 438 , 22 , 36 ), // #105
+ INST(Cmovz , X86Rm , O(000F00,44,_,_,x,_,_,_ ), 0 , 4 , 0 , 444 , 22 , 31 ), // #106
+ INST(Cmp , X86Arith , O(000000,38,7,_,x,_,_,_ ), 0 , 27 , 0 , 450 , 35 , 1 ), // #107
+ INST(Cmppd , ExtRmi , O(660F00,C2,_,_,_,_,_,_ ), 0 , 3 , 0 , 3723 , 8 , 4 ), // #108
+ INST(Cmpps , ExtRmi , O(000F00,C2,_,_,_,_,_,_ ), 0 , 4 , 0 , 3730 , 8 , 5 ), // #109
+ INST(Cmps , X86StrMm , O(000000,A6,_,_,_,_,_,_ ), 0 , 0 , 0 , 454 , 36 , 37 ), // #110
+ INST(Cmpsd , ExtRmi , O(F20F00,C2,_,_,_,_,_,_ ), 0 , 5 , 0 , 3737 , 37 , 4 ), // #111
+ INST(Cmpss , ExtRmi , O(F30F00,C2,_,_,_,_,_,_ ), 0 , 6 , 0 , 3744 , 38 , 5 ), // #112
+ INST(Cmpxchg , X86Cmpxchg , O(000F00,B0,_,_,x,_,_,_ ), 0 , 4 , 0 , 459 , 39 , 38 ), // #113
+ INST(Cmpxchg16b , X86Cmpxchg8b_16b , O(000F00,C7,1,_,1,_,_,_ ), 0 , 28 , 0 , 467 , 40 , 39 ), // #114
+ INST(Cmpxchg8b , X86Cmpxchg8b_16b , O(000F00,C7,1,_,_,_,_,_ ), 0 , 29 , 0 , 478 , 41 , 40 ), // #115
+ INST(Comisd , ExtRm , O(660F00,2F,_,_,_,_,_,_ ), 0 , 3 , 0 , 10290, 6 , 41 ), // #116
+ INST(Comiss , ExtRm , O(000F00,2F,_,_,_,_,_,_ ), 0 , 4 , 0 , 10299, 7 , 42 ), // #117
+ INST(Cpuid , X86Op , O(000F00,A2,_,_,_,_,_,_ ), 0 , 4 , 0 , 488 , 42 , 43 ), // #118
+ INST(Cqo , X86Op_xDX_xAX , O(000000,99,_,_,1,_,_,_ ), 0 , 20 , 0 , 494 , 43 , 0 ), // #119
+ INST(Crc32 , X86Crc , O(F20F38,F0,_,_,x,_,_,_ ), 0 , 30 , 0 , 498 , 44 , 44 ), // #120
+ INST(Cvtdq2pd , ExtRm , O(F30F00,E6,_,_,_,_,_,_ ), 0 , 6 , 0 , 3791 , 6 , 4 ), // #121
+ INST(Cvtdq2ps , ExtRm , O(000F00,5B,_,_,_,_,_,_ ), 0 , 4 , 0 , 3801 , 5 , 4 ), // #122
+ INST(Cvtpd2dq , ExtRm , O(F20F00,E6,_,_,_,_,_,_ ), 0 , 5 , 0 , 3840 , 5 , 4 ), // #123
+ INST(Cvtpd2pi , ExtRm , O(660F00,2D,_,_,_,_,_,_ ), 0 , 3 , 0 , 504 , 45 , 4 ), // #124
+ INST(Cvtpd2ps , ExtRm , O(660F00,5A,_,_,_,_,_,_ ), 0 , 3 , 0 , 3850 , 5 , 4 ), // #125
+ INST(Cvtpi2pd , ExtRm , O(660F00,2A,_,_,_,_,_,_ ), 0 , 3 , 0 , 513 , 46 , 4 ), // #126
+ INST(Cvtpi2ps , ExtRm , O(000F00,2A,_,_,_,_,_,_ ), 0 , 4 , 0 , 522 , 46 , 5 ), // #127
+ INST(Cvtps2dq , ExtRm , O(660F00,5B,_,_,_,_,_,_ ), 0 , 3 , 0 , 3902 , 5 , 4 ), // #128
+ INST(Cvtps2pd , ExtRm , O(000F00,5A,_,_,_,_,_,_ ), 0 , 4 , 0 , 3912 , 6 , 4 ), // #129
+ INST(Cvtps2pi , ExtRm , O(000F00,2D,_,_,_,_,_,_ ), 0 , 4 , 0 , 531 , 47 , 5 ), // #130
+ INST(Cvtsd2si , ExtRm_Wx_GpqOnly , O(F20F00,2D,_,_,x,_,_,_ ), 0 , 5 , 0 , 3984 , 48 , 4 ), // #131
+ INST(Cvtsd2ss , ExtRm , O(F20F00,5A,_,_,_,_,_,_ ), 0 , 5 , 0 , 3994 , 6 , 4 ), // #132
+ INST(Cvtsi2sd , ExtRm_Wx , O(F20F00,2A,_,_,x,_,_,_ ), 0 , 5 , 0 , 4015 , 49 , 4 ), // #133
+ INST(Cvtsi2ss , ExtRm_Wx , O(F30F00,2A,_,_,x,_,_,_ ), 0 , 6 , 0 , 4025 , 49 , 5 ), // #134
+ INST(Cvtss2sd , ExtRm , O(F30F00,5A,_,_,_,_,_,_ ), 0 , 6 , 0 , 4035 , 7 , 4 ), // #135
+ INST(Cvtss2si , ExtRm_Wx_GpqOnly , O(F30F00,2D,_,_,x,_,_,_ ), 0 , 6 , 0 , 4045 , 50 , 5 ), // #136
+ INST(Cvttpd2dq , ExtRm , O(660F00,E6,_,_,_,_,_,_ ), 0 , 3 , 0 , 4066 , 5 , 4 ), // #137
+ INST(Cvttpd2pi , ExtRm , O(660F00,2C,_,_,_,_,_,_ ), 0 , 3 , 0 , 540 , 45 , 4 ), // #138
+ INST(Cvttps2dq , ExtRm , O(F30F00,5B,_,_,_,_,_,_ ), 0 , 6 , 0 , 4112 , 5 , 4 ), // #139
+ INST(Cvttps2pi , ExtRm , O(000F00,2C,_,_,_,_,_,_ ), 0 , 4 , 0 , 550 , 47 , 5 ), // #140
+ INST(Cvttsd2si , ExtRm_Wx_GpqOnly , O(F20F00,2C,_,_,x,_,_,_ ), 0 , 5 , 0 , 4158 , 48 , 4 ), // #141
+ INST(Cvttss2si , ExtRm_Wx_GpqOnly , O(F30F00,2C,_,_,x,_,_,_ ), 0 , 6 , 0 , 4181 , 50 , 5 ), // #142
+ INST(Cwd , X86Op_xDX_xAX , O(660000,99,_,_,_,_,_,_ ), 0 , 19 , 0 , 560 , 51 , 0 ), // #143
+ INST(Cwde , X86Op_xAX , O(000000,98,_,_,_,_,_,_ ), 0 , 0 , 0 , 564 , 52 , 0 ), // #144
+ INST(Daa , X86Op , O(000000,27,_,_,_,_,_,_ ), 0 , 0 , 0 , 569 , 1 , 1 ), // #145
+ INST(Das , X86Op , O(000000,2F,_,_,_,_,_,_ ), 0 , 0 , 0 , 573 , 1 , 1 ), // #146
+ INST(Dec , X86IncDec , O(000000,FE,1,_,x,_,_,_ ), O(000000,48,_,_,x,_,_,_ ), 31 , 6 , 3341 , 53 , 45 ), // #147
+ INST(Div , X86M_GPB_MulDiv , O(000000,F6,6,_,x,_,_,_ ), 0 , 32 , 0 , 810 , 54 , 1 ), // #148
+ INST(Divpd , ExtRm , O(660F00,5E,_,_,_,_,_,_ ), 0 , 3 , 0 , 4280 , 5 , 4 ), // #149
+ INST(Divps , ExtRm , O(000F00,5E,_,_,_,_,_,_ ), 0 , 4 , 0 , 4287 , 5 , 5 ), // #150
+ INST(Divsd , ExtRm , O(F20F00,5E,_,_,_,_,_,_ ), 0 , 5 , 0 , 4294 , 6 , 4 ), // #151
+ INST(Divss , ExtRm , O(F30F00,5E,_,_,_,_,_,_ ), 0 , 6 , 0 , 4301 , 7 , 5 ), // #152
+ INST(Dppd , ExtRmi , O(660F3A,41,_,_,_,_,_,_ ), 0 , 8 , 0 , 4318 , 8 , 12 ), // #153
+ INST(Dpps , ExtRmi , O(660F3A,40,_,_,_,_,_,_ ), 0 , 8 , 0 , 4324 , 8 , 12 ), // #154
+ INST(Emms , X86Op , O(000F00,77,_,_,_,_,_,_ ), 0 , 4 , 0 , 778 , 55 , 46 ), // #155
+ INST(Endbr32 , X86Op_Mod11RM , O(F30F00,1E,7,_,_,_,_,3 ), 0 , 33 , 0 , 577 , 30 , 47 ), // #156
+ INST(Endbr64 , X86Op_Mod11RM , O(F30F00,1E,7,_,_,_,_,2 ), 0 , 34 , 0 , 585 , 30 , 47 ), // #157
+ INST(Enqcmd , X86EnqcmdMovdir64b , O(F20F38,F8,_,_,_,_,_,_ ), 0 , 30 , 0 , 593 , 56 , 48 ), // #158
+ INST(Enqcmds , X86EnqcmdMovdir64b , O(F30F38,F8,_,_,_,_,_,_ ), 0 , 7 , 0 , 600 , 56 , 48 ), // #159
+ INST(Enter , X86Enter , O(000000,C8,_,_,_,_,_,_ ), 0 , 0 , 0 , 3046 , 57 , 0 ), // #160
+ INST(Extractps , ExtExtract , O(660F3A,17,_,_,_,_,_,_ ), 0 , 8 , 0 , 4514 , 58 , 12 ), // #161
+ INST(Extrq , ExtExtrq , O(660F00,79,_,_,_,_,_,_ ), O(660F00,78,0,_,_,_,_,_ ), 3 , 7 , 7650 , 59 , 49 ), // #162
+ INST(F2xm1 , FpuOp , O_FPU(00,D9F0,_) , 0 , 35 , 0 , 608 , 30 , 0 ), // #163
+ INST(Fabs , FpuOp , O_FPU(00,D9E1,_) , 0 , 35 , 0 , 614 , 30 , 0 ), // #164
+ INST(Fadd , FpuArith , O_FPU(00,C0C0,0) , 0 , 36 , 0 , 2121 , 60 , 0 ), // #165
+ INST(Faddp , FpuRDef , O_FPU(00,DEC0,_) , 0 , 37 , 0 , 619 , 61 , 0 ), // #166
+ INST(Fbld , X86M_Only , O_FPU(00,00DF,4) , 0 , 38 , 0 , 625 , 62 , 0 ), // #167
+ INST(Fbstp , X86M_Only , O_FPU(00,00DF,6) , 0 , 39 , 0 , 630 , 62 , 0 ), // #168
+ INST(Fchs , FpuOp , O_FPU(00,D9E0,_) , 0 , 35 , 0 , 636 , 30 , 0 ), // #169
+ INST(Fclex , FpuOp , O_FPU(9B,DBE2,_) , 0 , 40 , 0 , 641 , 30 , 0 ), // #170
+ INST(Fcmovb , FpuR , O_FPU(00,DAC0,_) , 0 , 41 , 0 , 647 , 63 , 30 ), // #171
+ INST(Fcmovbe , FpuR , O_FPU(00,DAD0,_) , 0 , 41 , 0 , 654 , 63 , 29 ), // #172
+ INST(Fcmove , FpuR , O_FPU(00,DAC8,_) , 0 , 41 , 0 , 662 , 63 , 31 ), // #173
+ INST(Fcmovnb , FpuR , O_FPU(00,DBC0,_) , 0 , 42 , 0 , 669 , 63 , 30 ), // #174
+ INST(Fcmovnbe , FpuR , O_FPU(00,DBD0,_) , 0 , 42 , 0 , 677 , 63 , 29 ), // #175
+ INST(Fcmovne , FpuR , O_FPU(00,DBC8,_) , 0 , 42 , 0 , 686 , 63 , 31 ), // #176
+ INST(Fcmovnu , FpuR , O_FPU(00,DBD8,_) , 0 , 42 , 0 , 694 , 63 , 35 ), // #177
+ INST(Fcmovu , FpuR , O_FPU(00,DAD8,_) , 0 , 41 , 0 , 702 , 63 , 35 ), // #178
+ INST(Fcom , FpuCom , O_FPU(00,D0D0,2) , 0 , 43 , 0 , 709 , 64 , 0 ), // #179
+ INST(Fcomi , FpuR , O_FPU(00,DBF0,_) , 0 , 42 , 0 , 714 , 63 , 50 ), // #180
+ INST(Fcomip , FpuR , O_FPU(00,DFF0,_) , 0 , 44 , 0 , 720 , 63 , 50 ), // #181
+ INST(Fcomp , FpuCom , O_FPU(00,D8D8,3) , 0 , 45 , 0 , 727 , 64 , 0 ), // #182
+ INST(Fcompp , FpuOp , O_FPU(00,DED9,_) , 0 , 37 , 0 , 733 , 30 , 0 ), // #183
+ INST(Fcos , FpuOp , O_FPU(00,D9FF,_) , 0 , 35 , 0 , 740 , 30 , 0 ), // #184
+ INST(Fdecstp , FpuOp , O_FPU(00,D9F6,_) , 0 , 35 , 0 , 745 , 30 , 0 ), // #185
+ INST(Fdiv , FpuArith , O_FPU(00,F0F8,6) , 0 , 46 , 0 , 753 , 60 , 0 ), // #186
+ INST(Fdivp , FpuRDef , O_FPU(00,DEF8,_) , 0 , 37 , 0 , 758 , 61 , 0 ), // #187
+ INST(Fdivr , FpuArith , O_FPU(00,F8F0,7) , 0 , 47 , 0 , 764 , 60 , 0 ), // #188
+ INST(Fdivrp , FpuRDef , O_FPU(00,DEF0,_) , 0 , 37 , 0 , 770 , 61 , 0 ), // #189
+ INST(Femms , X86Op , O(000F00,0E,_,_,_,_,_,_ ), 0 , 4 , 0 , 777 , 30 , 51 ), // #190
+ INST(Ffree , FpuR , O_FPU(00,DDC0,_) , 0 , 48 , 0 , 783 , 63 , 0 ), // #191
+ INST(Fiadd , FpuM , O_FPU(00,00DA,0) , 0 , 49 , 0 , 789 , 65 , 0 ), // #192
+ INST(Ficom , FpuM , O_FPU(00,00DA,2) , 0 , 50 , 0 , 795 , 65 , 0 ), // #193
+ INST(Ficomp , FpuM , O_FPU(00,00DA,3) , 0 , 51 , 0 , 801 , 65 , 0 ), // #194
+ INST(Fidiv , FpuM , O_FPU(00,00DA,6) , 0 , 39 , 0 , 808 , 65 , 0 ), // #195
+ INST(Fidivr , FpuM , O_FPU(00,00DA,7) , 0 , 52 , 0 , 814 , 65 , 0 ), // #196
+ INST(Fild , FpuM , O_FPU(00,00DB,0) , O_FPU(00,00DF,5) , 49 , 8 , 821 , 66 , 0 ), // #197
+ INST(Fimul , FpuM , O_FPU(00,00DA,1) , 0 , 53 , 0 , 826 , 65 , 0 ), // #198
+ INST(Fincstp , FpuOp , O_FPU(00,D9F7,_) , 0 , 35 , 0 , 832 , 30 , 0 ), // #199
+ INST(Finit , FpuOp , O_FPU(9B,DBE3,_) , 0 , 40 , 0 , 840 , 30 , 0 ), // #200
+ INST(Fist , FpuM , O_FPU(00,00DB,2) , 0 , 50 , 0 , 846 , 65 , 0 ), // #201
+ INST(Fistp , FpuM , O_FPU(00,00DB,3) , O_FPU(00,00DF,7) , 51 , 9 , 851 , 66 , 0 ), // #202
+ INST(Fisttp , FpuM , O_FPU(00,00DB,1) , O_FPU(00,00DD,1) , 53 , 10 , 857 , 66 , 6 ), // #203
+ INST(Fisub , FpuM , O_FPU(00,00DA,4) , 0 , 38 , 0 , 864 , 65 , 0 ), // #204
+ INST(Fisubr , FpuM , O_FPU(00,00DA,5) , 0 , 54 , 0 , 870 , 65 , 0 ), // #205
+ INST(Fld , FpuFldFst , O_FPU(00,00D9,0) , O_FPU(00,00DB,5) , 49 , 11 , 877 , 67 , 0 ), // #206
+ INST(Fld1 , FpuOp , O_FPU(00,D9E8,_) , 0 , 35 , 0 , 881 , 30 , 0 ), // #207
+ INST(Fldcw , X86M_Only , O_FPU(00,00D9,5) , 0 , 54 , 0 , 886 , 68 , 0 ), // #208
+ INST(Fldenv , X86M_Only , O_FPU(00,00D9,4) , 0 , 38 , 0 , 892 , 31 , 0 ), // #209
+ INST(Fldl2e , FpuOp , O_FPU(00,D9EA,_) , 0 , 35 , 0 , 899 , 30 , 0 ), // #210
+ INST(Fldl2t , FpuOp , O_FPU(00,D9E9,_) , 0 , 35 , 0 , 906 , 30 , 0 ), // #211
+ INST(Fldlg2 , FpuOp , O_FPU(00,D9EC,_) , 0 , 35 , 0 , 913 , 30 , 0 ), // #212
+ INST(Fldln2 , FpuOp , O_FPU(00,D9ED,_) , 0 , 35 , 0 , 920 , 30 , 0 ), // #213
+ INST(Fldpi , FpuOp , O_FPU(00,D9EB,_) , 0 , 35 , 0 , 927 , 30 , 0 ), // #214
+ INST(Fldz , FpuOp , O_FPU(00,D9EE,_) , 0 , 35 , 0 , 933 , 30 , 0 ), // #215
+ INST(Fmul , FpuArith , O_FPU(00,C8C8,1) , 0 , 55 , 0 , 2163 , 60 , 0 ), // #216
+ INST(Fmulp , FpuRDef , O_FPU(00,DEC8,_) , 0 , 37 , 0 , 938 , 61 , 0 ), // #217
+ INST(Fnclex , FpuOp , O_FPU(00,DBE2,_) , 0 , 42 , 0 , 944 , 30 , 0 ), // #218
+ INST(Fninit , FpuOp , O_FPU(00,DBE3,_) , 0 , 42 , 0 , 951 , 30 , 0 ), // #219
+ INST(Fnop , FpuOp , O_FPU(00,D9D0,_) , 0 , 35 , 0 , 958 , 30 , 0 ), // #220
+ INST(Fnsave , X86M_Only , O_FPU(00,00DD,6) , 0 , 39 , 0 , 963 , 31 , 0 ), // #221
+ INST(Fnstcw , X86M_Only , O_FPU(00,00D9,7) , 0 , 52 , 0 , 970 , 68 , 0 ), // #222
+ INST(Fnstenv , X86M_Only , O_FPU(00,00D9,6) , 0 , 39 , 0 , 977 , 31 , 0 ), // #223
+ INST(Fnstsw , FpuStsw , O_FPU(00,00DD,7) , O_FPU(00,DFE0,_) , 52 , 12 , 985 , 69 , 0 ), // #224
+ INST(Fpatan , FpuOp , O_FPU(00,D9F3,_) , 0 , 35 , 0 , 992 , 30 , 0 ), // #225
+ INST(Fprem , FpuOp , O_FPU(00,D9F8,_) , 0 , 35 , 0 , 999 , 30 , 0 ), // #226
+ INST(Fprem1 , FpuOp , O_FPU(00,D9F5,_) , 0 , 35 , 0 , 1005 , 30 , 0 ), // #227
+ INST(Fptan , FpuOp , O_FPU(00,D9F2,_) , 0 , 35 , 0 , 1012 , 30 , 0 ), // #228
+ INST(Frndint , FpuOp , O_FPU(00,D9FC,_) , 0 , 35 , 0 , 1018 , 30 , 0 ), // #229
+ INST(Frstor , X86M_Only , O_FPU(00,00DD,4) , 0 , 38 , 0 , 1026 , 31 , 0 ), // #230
+ INST(Fsave , X86M_Only , O_FPU(9B,00DD,6) , 0 , 56 , 0 , 1033 , 31 , 0 ), // #231
+ INST(Fscale , FpuOp , O_FPU(00,D9FD,_) , 0 , 35 , 0 , 1039 , 30 , 0 ), // #232
+ INST(Fsin , FpuOp , O_FPU(00,D9FE,_) , 0 , 35 , 0 , 1046 , 30 , 0 ), // #233
+ INST(Fsincos , FpuOp , O_FPU(00,D9FB,_) , 0 , 35 , 0 , 1051 , 30 , 0 ), // #234
+ INST(Fsqrt , FpuOp , O_FPU(00,D9FA,_) , 0 , 35 , 0 , 1059 , 30 , 0 ), // #235
+ INST(Fst , FpuFldFst , O_FPU(00,00D9,2) , 0 , 50 , 0 , 1065 , 70 , 0 ), // #236
+ INST(Fstcw , X86M_Only , O_FPU(9B,00D9,7) , 0 , 57 , 0 , 1069 , 68 , 0 ), // #237
+ INST(Fstenv , X86M_Only , O_FPU(9B,00D9,6) , 0 , 56 , 0 , 1075 , 31 , 0 ), // #238
+ INST(Fstp , FpuFldFst , O_FPU(00,00D9,3) , O(000000,DB,7,_,_,_,_,_ ), 51 , 13 , 1082 , 67 , 0 ), // #239
+ INST(Fstsw , FpuStsw , O_FPU(9B,00DD,7) , O_FPU(9B,DFE0,_) , 57 , 14 , 1087 , 69 , 0 ), // #240
+ INST(Fsub , FpuArith , O_FPU(00,E0E8,4) , 0 , 58 , 0 , 2241 , 60 , 0 ), // #241
+ INST(Fsubp , FpuRDef , O_FPU(00,DEE8,_) , 0 , 37 , 0 , 1093 , 61 , 0 ), // #242
+ INST(Fsubr , FpuArith , O_FPU(00,E8E0,5) , 0 , 59 , 0 , 2247 , 60 , 0 ), // #243
+ INST(Fsubrp , FpuRDef , O_FPU(00,DEE0,_) , 0 , 37 , 0 , 1099 , 61 , 0 ), // #244
+ INST(Ftst , FpuOp , O_FPU(00,D9E4,_) , 0 , 35 , 0 , 1106 , 30 , 0 ), // #245
+ INST(Fucom , FpuRDef , O_FPU(00,DDE0,_) , 0 , 48 , 0 , 1111 , 61 , 0 ), // #246
+ INST(Fucomi , FpuR , O_FPU(00,DBE8,_) , 0 , 42 , 0 , 1117 , 63 , 50 ), // #247
+ INST(Fucomip , FpuR , O_FPU(00,DFE8,_) , 0 , 44 , 0 , 1124 , 63 , 50 ), // #248
+ INST(Fucomp , FpuRDef , O_FPU(00,DDE8,_) , 0 , 48 , 0 , 1132 , 61 , 0 ), // #249
+ INST(Fucompp , FpuOp , O_FPU(00,DAE9,_) , 0 , 41 , 0 , 1139 , 30 , 0 ), // #250
+ INST(Fwait , X86Op , O_FPU(00,009B,_) , 0 , 60 , 0 , 1147 , 30 , 0 ), // #251
+ INST(Fxam , FpuOp , O_FPU(00,D9E5,_) , 0 , 35 , 0 , 1153 , 30 , 0 ), // #252
+ INST(Fxch , FpuR , O_FPU(00,D9C8,_) , 0 , 35 , 0 , 1158 , 61 , 0 ), // #253
+ INST(Fxrstor , X86M_Only , O(000F00,AE,1,_,_,_,_,_ ), 0 , 29 , 0 , 1163 , 31 , 52 ), // #254
+ INST(Fxrstor64 , X86M_Only , O(000F00,AE,1,_,1,_,_,_ ), 0 , 28 , 0 , 1171 , 71 , 52 ), // #255
+ INST(Fxsave , X86M_Only , O(000F00,AE,0,_,_,_,_,_ ), 0 , 4 , 0 , 1181 , 31 , 52 ), // #256
+ INST(Fxsave64 , X86M_Only , O(000F00,AE,0,_,1,_,_,_ ), 0 , 61 , 0 , 1188 , 71 , 52 ), // #257
+ INST(Fxtract , FpuOp , O_FPU(00,D9F4,_) , 0 , 35 , 0 , 1197 , 30 , 0 ), // #258
+ INST(Fyl2x , FpuOp , O_FPU(00,D9F1,_) , 0 , 35 , 0 , 1205 , 30 , 0 ), // #259
+ INST(Fyl2xp1 , FpuOp , O_FPU(00,D9F9,_) , 0 , 35 , 0 , 1211 , 30 , 0 ), // #260
+ INST(Getsec , X86Op , O(000F00,37,_,_,_,_,_,_ ), 0 , 4 , 0 , 1219 , 30 , 53 ), // #261
+ INST(Gf2p8affineinvqb , ExtRmi , O(660F3A,CF,_,_,_,_,_,_ ), 0 , 8 , 0 , 5869 , 8 , 54 ), // #262
+ INST(Gf2p8affineqb , ExtRmi , O(660F3A,CE,_,_,_,_,_,_ ), 0 , 8 , 0 , 5887 , 8 , 54 ), // #263
+ INST(Gf2p8mulb , ExtRm , O(660F38,CF,_,_,_,_,_,_ ), 0 , 2 , 0 , 5902 , 5 , 54 ), // #264
+ INST(Haddpd , ExtRm , O(660F00,7C,_,_,_,_,_,_ ), 0 , 3 , 0 , 5913 , 5 , 6 ), // #265
+ INST(Haddps , ExtRm , O(F20F00,7C,_,_,_,_,_,_ ), 0 , 5 , 0 , 5921 , 5 , 6 ), // #266
+ INST(Hlt , X86Op , O(000000,F4,_,_,_,_,_,_ ), 0 , 0 , 0 , 1226 , 30 , 0 ), // #267
+ INST(Hreset , X86Op_Mod11RM_I8 , O(F30F3A,F0,0,_,_,_,_,_ ), 0 , 62 , 0 , 1230 , 72 , 55 ), // #268
+ INST(Hsubpd , ExtRm , O(660F00,7D,_,_,_,_,_,_ ), 0 , 3 , 0 , 5929 , 5 , 6 ), // #269
+ INST(Hsubps , ExtRm , O(F20F00,7D,_,_,_,_,_,_ ), 0 , 5 , 0 , 5937 , 5 , 6 ), // #270
+ INST(Idiv , X86M_GPB_MulDiv , O(000000,F6,7,_,x,_,_,_ ), 0 , 27 , 0 , 809 , 54 , 1 ), // #271
+ INST(Imul , X86Imul , O(000000,F6,5,_,x,_,_,_ ), 0 , 63 , 0 , 827 , 73 , 1 ), // #272
+ INST(In , X86In , O(000000,EC,_,_,_,_,_,_ ), O(000000,E4,_,_,_,_,_,_ ), 0 , 15 , 10462, 74 , 0 ), // #273
+ INST(Inc , X86IncDec , O(000000,FE,0,_,x,_,_,_ ), O(000000,40,_,_,x,_,_,_ ), 0 , 16 , 1237 , 53 , 45 ), // #274
+ INST(Incsspd , X86M , O(F30F00,AE,5,_,0,_,_,_ ), 0 , 64 , 0 , 1241 , 75 , 56 ), // #275
+ INST(Incsspq , X86M , O(F30F00,AE,5,_,1,_,_,_ ), 0 , 65 , 0 , 1249 , 76 , 56 ), // #276
+ INST(Ins , X86Ins , O(000000,6C,_,_,_,_,_,_ ), 0 , 0 , 0 , 1916 , 77 , 0 ), // #277
+ INST(Insertps , ExtRmi , O(660F3A,21,_,_,_,_,_,_ ), 0 , 8 , 0 , 6073 , 38 , 12 ), // #278
+ INST(Insertq , ExtInsertq , O(F20F00,79,_,_,_,_,_,_ ), O(F20F00,78,_,_,_,_,_,_ ), 5 , 17 , 1257 , 78 , 49 ), // #279
+ INST(Int , X86Int , O(000000,CD,_,_,_,_,_,_ ), 0 , 0 , 0 , 1022 , 79 , 0 ), // #280
+ INST(Int3 , X86Op , O(000000,CC,_,_,_,_,_,_ ), 0 , 0 , 0 , 1265 , 30 , 0 ), // #281
+ INST(Into , X86Op , O(000000,CE,_,_,_,_,_,_ ), 0 , 0 , 0 , 1270 , 80 , 57 ), // #282
+ INST(Invd , X86Op , O(000F00,08,_,_,_,_,_,_ ), 0 , 4 , 0 , 10391, 30 , 43 ), // #283
+ INST(Invept , X86Rm_NoSize , O(660F38,80,_,_,_,_,_,_ ), 0 , 2 , 0 , 1275 , 81 , 58 ), // #284
+ INST(Invlpg , X86M_Only , O(000F00,01,7,_,_,_,_,_ ), 0 , 22 , 0 , 1282 , 31 , 43 ), // #285
+ INST(Invlpga , X86Op_xAddr , O(000F01,DF,_,_,_,_,_,_ ), 0 , 21 , 0 , 1289 , 82 , 22 ), // #286
+ INST(Invpcid , X86Rm_NoSize , O(660F38,82,_,_,_,_,_,_ ), 0 , 2 , 0 , 1297 , 81 , 43 ), // #287
+ INST(Invvpid , X86Rm_NoSize , O(660F38,81,_,_,_,_,_,_ ), 0 , 2 , 0 , 1305 , 81 , 58 ), // #288
+ INST(Iret , X86Op , O(660000,CF,_,_,_,_,_,_ ), 0 , 19 , 0 , 3226 , 83 , 1 ), // #289
+ INST(Iretd , X86Op , O(000000,CF,_,_,_,_,_,_ ), 0 , 0 , 0 , 1313 , 83 , 1 ), // #290
+ INST(Iretq , X86Op , O(000000,CF,_,_,1,_,_,_ ), 0 , 20 , 0 , 1319 , 84 , 1 ), // #291
+ INST(Ja , X86Jcc , O(000F00,87,_,_,_,_,_,_ ), O(000000,77,_,_,_,_,_,_ ), 4 , 18 , 1325 , 85 , 59 ), // #292
+ INST(Jae , X86Jcc , O(000F00,83,_,_,_,_,_,_ ), O(000000,73,_,_,_,_,_,_ ), 4 , 19 , 1328 , 85 , 60 ), // #293
+ INST(Jb , X86Jcc , O(000F00,82,_,_,_,_,_,_ ), O(000000,72,_,_,_,_,_,_ ), 4 , 20 , 1332 , 85 , 60 ), // #294
+ INST(Jbe , X86Jcc , O(000F00,86,_,_,_,_,_,_ ), O(000000,76,_,_,_,_,_,_ ), 4 , 21 , 1335 , 85 , 59 ), // #295
+ INST(Jc , X86Jcc , O(000F00,82,_,_,_,_,_,_ ), O(000000,72,_,_,_,_,_,_ ), 4 , 20 , 1339 , 85 , 60 ), // #296
+ INST(Je , X86Jcc , O(000F00,84,_,_,_,_,_,_ ), O(000000,74,_,_,_,_,_,_ ), 4 , 22 , 1342 , 85 , 61 ), // #297
+ INST(Jecxz , X86JecxzLoop , 0 , O(000000,E3,_,_,_,_,_,_ ), 0 , 23 , 1345 , 86 , 0 ), // #298
+ INST(Jg , X86Jcc , O(000F00,8F,_,_,_,_,_,_ ), O(000000,7F,_,_,_,_,_,_ ), 4 , 24 , 1351 , 85 , 62 ), // #299
+ INST(Jge , X86Jcc , O(000F00,8D,_,_,_,_,_,_ ), O(000000,7D,_,_,_,_,_,_ ), 4 , 25 , 1354 , 85 , 63 ), // #300
+ INST(Jl , X86Jcc , O(000F00,8C,_,_,_,_,_,_ ), O(000000,7C,_,_,_,_,_,_ ), 4 , 26 , 1358 , 85 , 63 ), // #301
+ INST(Jle , X86Jcc , O(000F00,8E,_,_,_,_,_,_ ), O(000000,7E,_,_,_,_,_,_ ), 4 , 27 , 1361 , 85 , 62 ), // #302
+ INST(Jmp , X86Jmp , O(000000,FF,4,_,_,_,_,_ ), O(000000,EB,_,_,_,_,_,_ ), 9 , 28 , 1861 , 87 , 0 ), // #303
+ INST(Jna , X86Jcc , O(000F00,86,_,_,_,_,_,_ ), O(000000,76,_,_,_,_,_,_ ), 4 , 21 , 1365 , 85 , 59 ), // #304
+ INST(Jnae , X86Jcc , O(000F00,82,_,_,_,_,_,_ ), O(000000,72,_,_,_,_,_,_ ), 4 , 20 , 1369 , 85 , 60 ), // #305
+ INST(Jnb , X86Jcc , O(000F00,83,_,_,_,_,_,_ ), O(000000,73,_,_,_,_,_,_ ), 4 , 19 , 1374 , 85 , 60 ), // #306
+ INST(Jnbe , X86Jcc , O(000F00,87,_,_,_,_,_,_ ), O(000000,77,_,_,_,_,_,_ ), 4 , 18 , 1378 , 85 , 59 ), // #307
+ INST(Jnc , X86Jcc , O(000F00,83,_,_,_,_,_,_ ), O(000000,73,_,_,_,_,_,_ ), 4 , 19 , 1383 , 85 , 60 ), // #308
+ INST(Jne , X86Jcc , O(000F00,85,_,_,_,_,_,_ ), O(000000,75,_,_,_,_,_,_ ), 4 , 29 , 1387 , 85 , 61 ), // #309
+ INST(Jng , X86Jcc , O(000F00,8E,_,_,_,_,_,_ ), O(000000,7E,_,_,_,_,_,_ ), 4 , 27 , 1391 , 85 , 62 ), // #310
+ INST(Jnge , X86Jcc , O(000F00,8C,_,_,_,_,_,_ ), O(000000,7C,_,_,_,_,_,_ ), 4 , 26 , 1395 , 85 , 63 ), // #311
+ INST(Jnl , X86Jcc , O(000F00,8D,_,_,_,_,_,_ ), O(000000,7D,_,_,_,_,_,_ ), 4 , 25 , 1400 , 85 , 63 ), // #312
+ INST(Jnle , X86Jcc , O(000F00,8F,_,_,_,_,_,_ ), O(000000,7F,_,_,_,_,_,_ ), 4 , 24 , 1404 , 85 , 62 ), // #313
+ INST(Jno , X86Jcc , O(000F00,81,_,_,_,_,_,_ ), O(000000,71,_,_,_,_,_,_ ), 4 , 30 , 1409 , 85 , 57 ), // #314
+ INST(Jnp , X86Jcc , O(000F00,8B,_,_,_,_,_,_ ), O(000000,7B,_,_,_,_,_,_ ), 4 , 31 , 1413 , 85 , 64 ), // #315
+ INST(Jns , X86Jcc , O(000F00,89,_,_,_,_,_,_ ), O(000000,79,_,_,_,_,_,_ ), 4 , 32 , 1417 , 85 , 65 ), // #316
+ INST(Jnz , X86Jcc , O(000F00,85,_,_,_,_,_,_ ), O(000000,75,_,_,_,_,_,_ ), 4 , 29 , 1421 , 85 , 61 ), // #317
+ INST(Jo , X86Jcc , O(000F00,80,_,_,_,_,_,_ ), O(000000,70,_,_,_,_,_,_ ), 4 , 33 , 1425 , 85 , 57 ), // #318
+ INST(Jp , X86Jcc , O(000F00,8A,_,_,_,_,_,_ ), O(000000,7A,_,_,_,_,_,_ ), 4 , 34 , 1428 , 85 , 64 ), // #319
+ INST(Jpe , X86Jcc , O(000F00,8A,_,_,_,_,_,_ ), O(000000,7A,_,_,_,_,_,_ ), 4 , 34 , 1431 , 85 , 64 ), // #320
+ INST(Jpo , X86Jcc , O(000F00,8B,_,_,_,_,_,_ ), O(000000,7B,_,_,_,_,_,_ ), 4 , 31 , 1435 , 85 , 64 ), // #321
+ INST(Js , X86Jcc , O(000F00,88,_,_,_,_,_,_ ), O(000000,78,_,_,_,_,_,_ ), 4 , 35 , 1439 , 85 , 65 ), // #322
+ INST(Jz , X86Jcc , O(000F00,84,_,_,_,_,_,_ ), O(000000,74,_,_,_,_,_,_ ), 4 , 22 , 1442 , 85 , 61 ), // #323
+ INST(Kaddb , VexRvm , V(660F00,4A,_,1,0,_,_,_ ), 0 , 66 , 0 , 1445 , 88 , 66 ), // #324
+ INST(Kaddd , VexRvm , V(660F00,4A,_,1,1,_,_,_ ), 0 , 67 , 0 , 1451 , 88 , 67 ), // #325
+ INST(Kaddq , VexRvm , V(000F00,4A,_,1,1,_,_,_ ), 0 , 68 , 0 , 1457 , 88 , 67 ), // #326
+ INST(Kaddw , VexRvm , V(000F00,4A,_,1,0,_,_,_ ), 0 , 69 , 0 , 1463 , 88 , 66 ), // #327
+ INST(Kandb , VexRvm , V(660F00,41,_,1,0,_,_,_ ), 0 , 66 , 0 , 1469 , 88 , 66 ), // #328
+ INST(Kandd , VexRvm , V(660F00,41,_,1,1,_,_,_ ), 0 , 67 , 0 , 1475 , 88 , 67 ), // #329
+ INST(Kandnb , VexRvm , V(660F00,42,_,1,0,_,_,_ ), 0 , 66 , 0 , 1481 , 88 , 66 ), // #330
+ INST(Kandnd , VexRvm , V(660F00,42,_,1,1,_,_,_ ), 0 , 67 , 0 , 1488 , 88 , 67 ), // #331
+ INST(Kandnq , VexRvm , V(000F00,42,_,1,1,_,_,_ ), 0 , 68 , 0 , 1495 , 88 , 67 ), // #332
+ INST(Kandnw , VexRvm , V(000F00,42,_,1,0,_,_,_ ), 0 , 69 , 0 , 1502 , 88 , 68 ), // #333
+ INST(Kandq , VexRvm , V(000F00,41,_,1,1,_,_,_ ), 0 , 68 , 0 , 1509 , 88 , 67 ), // #334
+ INST(Kandw , VexRvm , V(000F00,41,_,1,0,_,_,_ ), 0 , 69 , 0 , 1515 , 88 , 68 ), // #335
+ INST(Kmovb , VexKmov , V(660F00,90,_,0,0,_,_,_ ), V(660F00,92,_,0,0,_,_,_ ), 70 , 36 , 1521 , 89 , 66 ), // #336
+ INST(Kmovd , VexKmov , V(660F00,90,_,0,1,_,_,_ ), V(F20F00,92,_,0,0,_,_,_ ), 71 , 37 , 8130 , 90 , 67 ), // #337
+ INST(Kmovq , VexKmov , V(000F00,90,_,0,1,_,_,_ ), V(F20F00,92,_,0,1,_,_,_ ), 72 , 38 , 8141 , 91 , 67 ), // #338
+ INST(Kmovw , VexKmov , V(000F00,90,_,0,0,_,_,_ ), V(000F00,92,_,0,0,_,_,_ ), 73 , 39 , 1527 , 92 , 68 ), // #339
+ INST(Knotb , VexRm , V(660F00,44,_,0,0,_,_,_ ), 0 , 70 , 0 , 1533 , 93 , 66 ), // #340
+ INST(Knotd , VexRm , V(660F00,44,_,0,1,_,_,_ ), 0 , 71 , 0 , 1539 , 93 , 67 ), // #341
+ INST(Knotq , VexRm , V(000F00,44,_,0,1,_,_,_ ), 0 , 72 , 0 , 1545 , 93 , 67 ), // #342
+ INST(Knotw , VexRm , V(000F00,44,_,0,0,_,_,_ ), 0 , 73 , 0 , 1551 , 93 , 68 ), // #343
+ INST(Korb , VexRvm , V(660F00,45,_,1,0,_,_,_ ), 0 , 66 , 0 , 1557 , 88 , 66 ), // #344
+ INST(Kord , VexRvm , V(660F00,45,_,1,1,_,_,_ ), 0 , 67 , 0 , 1562 , 88 , 67 ), // #345
+ INST(Korq , VexRvm , V(000F00,45,_,1,1,_,_,_ ), 0 , 68 , 0 , 1567 , 88 , 67 ), // #346
+ INST(Kortestb , VexRm , V(660F00,98,_,0,0,_,_,_ ), 0 , 70 , 0 , 1572 , 93 , 69 ), // #347
+ INST(Kortestd , VexRm , V(660F00,98,_,0,1,_,_,_ ), 0 , 71 , 0 , 1581 , 93 , 70 ), // #348
+ INST(Kortestq , VexRm , V(000F00,98,_,0,1,_,_,_ ), 0 , 72 , 0 , 1590 , 93 , 70 ), // #349
+ INST(Kortestw , VexRm , V(000F00,98,_,0,0,_,_,_ ), 0 , 73 , 0 , 1599 , 93 , 71 ), // #350
+ INST(Korw , VexRvm , V(000F00,45,_,1,0,_,_,_ ), 0 , 69 , 0 , 1608 , 88 , 68 ), // #351
+ INST(Kshiftlb , VexRmi , V(660F3A,32,_,0,0,_,_,_ ), 0 , 74 , 0 , 1613 , 94 , 66 ), // #352
+ INST(Kshiftld , VexRmi , V(660F3A,33,_,0,0,_,_,_ ), 0 , 74 , 0 , 1622 , 94 , 67 ), // #353
+ INST(Kshiftlq , VexRmi , V(660F3A,33,_,0,1,_,_,_ ), 0 , 75 , 0 , 1631 , 94 , 67 ), // #354
+ INST(Kshiftlw , VexRmi , V(660F3A,32,_,0,1,_,_,_ ), 0 , 75 , 0 , 1640 , 94 , 68 ), // #355
+ INST(Kshiftrb , VexRmi , V(660F3A,30,_,0,0,_,_,_ ), 0 , 74 , 0 , 1649 , 94 , 66 ), // #356
+ INST(Kshiftrd , VexRmi , V(660F3A,31,_,0,0,_,_,_ ), 0 , 74 , 0 , 1658 , 94 , 67 ), // #357
+ INST(Kshiftrq , VexRmi , V(660F3A,31,_,0,1,_,_,_ ), 0 , 75 , 0 , 1667 , 94 , 67 ), // #358
+ INST(Kshiftrw , VexRmi , V(660F3A,30,_,0,1,_,_,_ ), 0 , 75 , 0 , 1676 , 94 , 68 ), // #359
+ INST(Ktestb , VexRm , V(660F00,99,_,0,0,_,_,_ ), 0 , 70 , 0 , 1685 , 93 , 69 ), // #360
+ INST(Ktestd , VexRm , V(660F00,99,_,0,1,_,_,_ ), 0 , 71 , 0 , 1692 , 93 , 70 ), // #361
+ INST(Ktestq , VexRm , V(000F00,99,_,0,1,_,_,_ ), 0 , 72 , 0 , 1699 , 93 , 70 ), // #362
+ INST(Ktestw , VexRm , V(000F00,99,_,0,0,_,_,_ ), 0 , 73 , 0 , 1706 , 93 , 69 ), // #363
+ INST(Kunpckbw , VexRvm , V(660F00,4B,_,1,0,_,_,_ ), 0 , 66 , 0 , 1713 , 88 , 68 ), // #364
+ INST(Kunpckdq , VexRvm , V(000F00,4B,_,1,1,_,_,_ ), 0 , 68 , 0 , 1722 , 88 , 67 ), // #365
+ INST(Kunpckwd , VexRvm , V(000F00,4B,_,1,0,_,_,_ ), 0 , 69 , 0 , 1731 , 88 , 67 ), // #366
+ INST(Kxnorb , VexRvm , V(660F00,46,_,1,0,_,_,_ ), 0 , 66 , 0 , 1740 , 88 , 66 ), // #367
+ INST(Kxnord , VexRvm , V(660F00,46,_,1,1,_,_,_ ), 0 , 67 , 0 , 1747 , 88 , 67 ), // #368
+ INST(Kxnorq , VexRvm , V(000F00,46,_,1,1,_,_,_ ), 0 , 68 , 0 , 1754 , 88 , 67 ), // #369
+ INST(Kxnorw , VexRvm , V(000F00,46,_,1,0,_,_,_ ), 0 , 69 , 0 , 1761 , 88 , 68 ), // #370
+ INST(Kxorb , VexRvm , V(660F00,47,_,1,0,_,_,_ ), 0 , 66 , 0 , 1768 , 88 , 66 ), // #371
+ INST(Kxord , VexRvm , V(660F00,47,_,1,1,_,_,_ ), 0 , 67 , 0 , 1774 , 88 , 67 ), // #372
+ INST(Kxorq , VexRvm , V(000F00,47,_,1,1,_,_,_ ), 0 , 68 , 0 , 1780 , 88 , 67 ), // #373
+ INST(Kxorw , VexRvm , V(000F00,47,_,1,0,_,_,_ ), 0 , 69 , 0 , 1786 , 88 , 68 ), // #374
+ INST(Lahf , X86Op , O(000000,9F,_,_,_,_,_,_ ), 0 , 0 , 0 , 1792 , 95 , 72 ), // #375
+ INST(Lar , X86Rm , O(000F00,02,_,_,_,_,_,_ ), 0 , 4 , 0 , 1797 , 96 , 10 ), // #376
+ INST(Lcall , X86LcallLjmp , O(000000,FF,3,_,_,_,_,_ ), O(000000,9A,_,_,_,_,_,_ ), 76 , 40 , 1801 , 97 , 1 ), // #377
+ INST(Lddqu , ExtRm , O(F20F00,F0,_,_,_,_,_,_ ), 0 , 5 , 0 , 6083 , 98 , 6 ), // #378
+ INST(Ldmxcsr , X86M_Only , O(000F00,AE,2,_,_,_,_,_ ), 0 , 77 , 0 , 6090 , 99 , 5 ), // #379
+ INST(Lds , X86Rm , O(000000,C5,_,_,_,_,_,_ ), 0 , 0 , 0 , 1807 , 100, 0 ), // #380
+ INST(Ldtilecfg , AmxCfg , V(000F38,49,_,0,0,_,_,_ ), 0 , 10 , 0 , 1811 , 101, 73 ), // #381
+ INST(Lea , X86Lea , O(000000,8D,_,_,x,_,_,_ ), 0 , 0 , 0 , 1821 , 102, 0 ), // #382
+ INST(Leave , X86Op , O(000000,C9,_,_,_,_,_,_ ), 0 , 0 , 0 , 1825 , 30 , 0 ), // #383
+ INST(Les , X86Rm , O(000000,C4,_,_,_,_,_,_ ), 0 , 0 , 0 , 1831 , 100, 0 ), // #384
+ INST(Lfence , X86Fence , O(000F00,AE,5,_,_,_,_,_ ), 0 , 78 , 0 , 1835 , 30 , 4 ), // #385
+ INST(Lfs , X86Rm , O(000F00,B4,_,_,_,_,_,_ ), 0 , 4 , 0 , 1842 , 103, 0 ), // #386
+ INST(Lgdt , X86M_Only , O(000F00,01,2,_,_,_,_,_ ), 0 , 77 , 0 , 1846 , 31 , 0 ), // #387
+ INST(Lgs , X86Rm , O(000F00,B5,_,_,_,_,_,_ ), 0 , 4 , 0 , 1851 , 103, 0 ), // #388
+ INST(Lidt , X86M_Only , O(000F00,01,3,_,_,_,_,_ ), 0 , 79 , 0 , 1855 , 31 , 0 ), // #389
+ INST(Ljmp , X86LcallLjmp , O(000000,FF,5,_,_,_,_,_ ), O(000000,EA,_,_,_,_,_,_ ), 63 , 41 , 1860 , 104, 0 ), // #390
+ INST(Lldt , X86M_NoSize , O(000F00,00,2,_,_,_,_,_ ), 0 , 77 , 0 , 1865 , 105, 0 ), // #391
+ INST(Llwpcb , VexR_Wx , V(XOP_M9,12,0,0,x,_,_,_ ), 0 , 80 , 0 , 1870 , 106, 74 ), // #392
+ INST(Lmsw , X86M_NoSize , O(000F00,01,6,_,_,_,_,_ ), 0 , 81 , 0 , 1877 , 105, 0 ), // #393
+ INST(Lods , X86StrRm , O(000000,AC,_,_,_,_,_,_ ), 0 , 0 , 0 , 1882 , 107, 75 ), // #394
+ INST(Loop , X86JecxzLoop , 0 , O(000000,E2,_,_,_,_,_,_ ), 0 , 42 , 1887 , 108, 0 ), // #395
+ INST(Loope , X86JecxzLoop , 0 , O(000000,E1,_,_,_,_,_,_ ), 0 , 43 , 1892 , 108, 61 ), // #396
+ INST(Loopne , X86JecxzLoop , 0 , O(000000,E0,_,_,_,_,_,_ ), 0 , 44 , 1898 , 108, 61 ), // #397
+ INST(Lsl , X86Rm , O(000F00,03,_,_,_,_,_,_ ), 0 , 4 , 0 , 1905 , 109, 10 ), // #398
+ INST(Lss , X86Rm , O(000F00,B2,_,_,_,_,_,_ ), 0 , 4 , 0 , 6581 , 103, 0 ), // #399
+ INST(Ltr , X86M_NoSize , O(000F00,00,3,_,_,_,_,_ ), 0 , 79 , 0 , 1909 , 105, 0 ), // #400
+ INST(Lwpins , VexVmi4_Wx , V(XOP_MA,12,0,0,x,_,_,_ ), 0 , 82 , 0 , 1913 , 110, 74 ), // #401
+ INST(Lwpval , VexVmi4_Wx , V(XOP_MA,12,1,0,x,_,_,_ ), 0 , 83 , 0 , 1920 , 110, 74 ), // #402
+ INST(Lzcnt , X86Rm_Raw66H , O(F30F00,BD,_,_,x,_,_,_ ), 0 , 6 , 0 , 1927 , 22 , 76 ), // #403
+ INST(Maskmovdqu , ExtRm_ZDI , O(660F00,F7,_,_,_,_,_,_ ), 0 , 3 , 0 , 6099 , 111, 4 ), // #404
+ INST(Maskmovq , ExtRm_ZDI , O(000F00,F7,_,_,_,_,_,_ ), 0 , 4 , 0 , 8138 , 112, 77 ), // #405
+ INST(Maxpd , ExtRm , O(660F00,5F,_,_,_,_,_,_ ), 0 , 3 , 0 , 6133 , 5 , 4 ), // #406
+ INST(Maxps , ExtRm , O(000F00,5F,_,_,_,_,_,_ ), 0 , 4 , 0 , 6140 , 5 , 5 ), // #407
+ INST(Maxsd , ExtRm , O(F20F00,5F,_,_,_,_,_,_ ), 0 , 5 , 0 , 8157 , 6 , 4 ), // #408
+ INST(Maxss , ExtRm , O(F30F00,5F,_,_,_,_,_,_ ), 0 , 6 , 0 , 6154 , 7 , 5 ), // #409
+ INST(Mcommit , X86Op , O(F30F01,FA,_,_,_,_,_,_ ), 0 , 25 , 0 , 1933 , 30 , 78 ), // #410
+ INST(Mfence , X86Fence , O(000F00,AE,6,_,_,_,_,_ ), 0 , 81 , 0 , 1941 , 30 , 4 ), // #411
+ INST(Minpd , ExtRm , O(660F00,5D,_,_,_,_,_,_ ), 0 , 3 , 0 , 6183 , 5 , 4 ), // #412
+ INST(Minps , ExtRm , O(000F00,5D,_,_,_,_,_,_ ), 0 , 4 , 0 , 6190 , 5 , 5 ), // #413
+ INST(Minsd , ExtRm , O(F20F00,5D,_,_,_,_,_,_ ), 0 , 5 , 0 , 8221 , 6 , 4 ), // #414
+ INST(Minss , ExtRm , O(F30F00,5D,_,_,_,_,_,_ ), 0 , 6 , 0 , 6204 , 7 , 5 ), // #415
+ INST(Monitor , X86Op , O(000F01,C8,_,_,_,_,_,_ ), 0 , 21 , 0 , 3232 , 113, 79 ), // #416
+ INST(Monitorx , X86Op , O(000F01,FA,_,_,_,_,_,_ ), 0 , 21 , 0 , 1948 , 113, 80 ), // #417
+ INST(Mov , X86Mov , 0 , 0 , 0 , 0 , 138 , 114, 0 ), // #418
+ INST(Movabs , X86Movabs , 0 , 0 , 0 , 0 , 1957 , 115, 0 ), // #419
+ INST(Movapd , ExtMov , O(660F00,28,_,_,_,_,_,_ ), O(660F00,29,_,_,_,_,_,_ ), 3 , 45 , 6235 , 116, 4 ), // #420
+ INST(Movaps , ExtMov , O(000F00,28,_,_,_,_,_,_ ), O(000F00,29,_,_,_,_,_,_ ), 4 , 46 , 6243 , 116, 5 ), // #421
+ INST(Movbe , ExtMovbe , O(000F38,F0,_,_,x,_,_,_ ), O(000F38,F1,_,_,x,_,_,_ ), 84 , 47 , 656 , 117, 81 ), // #422
+ INST(Movd , ExtMovd , O(000F00,6E,_,_,_,_,_,_ ), O(000F00,7E,_,_,_,_,_,_ ), 4 , 48 , 8131 , 118, 82 ), // #423
+ INST(Movddup , ExtMov , O(F20F00,12,_,_,_,_,_,_ ), 0 , 5 , 0 , 6257 , 6 , 6 ), // #424
+ INST(Movdir64b , X86EnqcmdMovdir64b , O(660F38,F8,_,_,_,_,_,_ ), 0 , 2 , 0 , 1964 , 119, 83 ), // #425
+ INST(Movdiri , X86MovntiMovdiri , O(000F38,F9,_,_,_,_,_,_ ), 0 , 84 , 0 , 1974 , 120, 84 ), // #426
+ INST(Movdq2q , ExtMov , O(F20F00,D6,_,_,_,_,_,_ ), 0 , 5 , 0 , 1982 , 121, 4 ), // #427
+ INST(Movdqa , ExtMov , O(660F00,6F,_,_,_,_,_,_ ), O(660F00,7F,_,_,_,_,_,_ ), 3 , 49 , 6266 , 116, 4 ), // #428
+ INST(Movdqu , ExtMov , O(F30F00,6F,_,_,_,_,_,_ ), O(F30F00,7F,_,_,_,_,_,_ ), 6 , 50 , 6103 , 116, 4 ), // #429
+ INST(Movhlps , ExtMov , O(000F00,12,_,_,_,_,_,_ ), 0 , 4 , 0 , 6341 , 122, 5 ), // #430
+ INST(Movhpd , ExtMov , O(660F00,16,_,_,_,_,_,_ ), O(660F00,17,_,_,_,_,_,_ ), 3 , 51 , 6350 , 123, 4 ), // #431
+ INST(Movhps , ExtMov , O(000F00,16,_,_,_,_,_,_ ), O(000F00,17,_,_,_,_,_,_ ), 4 , 52 , 6358 , 123, 5 ), // #432
+ INST(Movlhps , ExtMov , O(000F00,16,_,_,_,_,_,_ ), 0 , 4 , 0 , 6366 , 122, 5 ), // #433
+ INST(Movlpd , ExtMov , O(660F00,12,_,_,_,_,_,_ ), O(660F00,13,_,_,_,_,_,_ ), 3 , 53 , 6375 , 123, 4 ), // #434
+ INST(Movlps , ExtMov , O(000F00,12,_,_,_,_,_,_ ), O(000F00,13,_,_,_,_,_,_ ), 4 , 54 , 6383 , 123, 5 ), // #435
+ INST(Movmskpd , ExtMov , O(660F00,50,_,_,_,_,_,_ ), 0 , 3 , 0 , 6391 , 124, 4 ), // #436
+ INST(Movmskps , ExtMov , O(000F00,50,_,_,_,_,_,_ ), 0 , 4 , 0 , 6401 , 124, 5 ), // #437
+ INST(Movntdq , ExtMov , 0 , O(660F00,E7,_,_,_,_,_,_ ), 0 , 55 , 6411 , 125, 4 ), // #438
+ INST(Movntdqa , ExtMov , O(660F38,2A,_,_,_,_,_,_ ), 0 , 2 , 0 , 6420 , 98 , 12 ), // #439
+ INST(Movnti , X86MovntiMovdiri , O(000F00,C3,_,_,x,_,_,_ ), 0 , 4 , 0 , 1990 , 120, 4 ), // #440
+ INST(Movntpd , ExtMov , 0 , O(660F00,2B,_,_,_,_,_,_ ), 0 , 56 , 6430 , 125, 4 ), // #441
+ INST(Movntps , ExtMov , 0 , O(000F00,2B,_,_,_,_,_,_ ), 0 , 57 , 6439 , 125, 5 ), // #442
+ INST(Movntq , ExtMov , 0 , O(000F00,E7,_,_,_,_,_,_ ), 0 , 58 , 1997 , 126, 77 ), // #443
+ INST(Movntsd , ExtMov , 0 , O(F20F00,2B,_,_,_,_,_,_ ), 0 , 59 , 2004 , 127, 49 ), // #444
+ INST(Movntss , ExtMov , 0 , O(F30F00,2B,_,_,_,_,_,_ ), 0 , 60 , 2012 , 128, 49 ), // #445
+ INST(Movq , ExtMovq , O(000F00,6E,_,_,x,_,_,_ ), O(000F00,7E,_,_,x,_,_,_ ), 4 , 61 , 8142 , 129, 82 ), // #446
+ INST(Movq2dq , ExtRm , O(F30F00,D6,_,_,_,_,_,_ ), 0 , 6 , 0 , 2020 , 130, 4 ), // #447
+ INST(Movs , X86StrMm , O(000000,A4,_,_,_,_,_,_ ), 0 , 0 , 0 , 439 , 131, 75 ), // #448
+ INST(Movsd , ExtMov , O(F20F00,10,_,_,_,_,_,_ ), O(F20F00,11,_,_,_,_,_,_ ), 5 , 62 , 6454 , 132, 4 ), // #449
+ INST(Movshdup , ExtRm , O(F30F00,16,_,_,_,_,_,_ ), 0 , 6 , 0 , 6461 , 5 , 6 ), // #450
+ INST(Movsldup , ExtRm , O(F30F00,12,_,_,_,_,_,_ ), 0 , 6 , 0 , 6471 , 5 , 6 ), // #451
+ INST(Movss , ExtMov , O(F30F00,10,_,_,_,_,_,_ ), O(F30F00,11,_,_,_,_,_,_ ), 6 , 63 , 6481 , 133, 5 ), // #452
+ INST(Movsx , X86MovsxMovzx , O(000F00,BE,_,_,x,_,_,_ ), 0 , 4 , 0 , 2028 , 134, 0 ), // #453
+ INST(Movsxd , X86Rm , O(000000,63,_,_,x,_,_,_ ), 0 , 0 , 0 , 2034 , 135, 0 ), // #454
+ INST(Movupd , ExtMov , O(660F00,10,_,_,_,_,_,_ ), O(660F00,11,_,_,_,_,_,_ ), 3 , 64 , 6488 , 116, 4 ), // #455
+ INST(Movups , ExtMov , O(000F00,10,_,_,_,_,_,_ ), O(000F00,11,_,_,_,_,_,_ ), 4 , 65 , 6496 , 116, 5 ), // #456
+ INST(Movzx , X86MovsxMovzx , O(000F00,B6,_,_,x,_,_,_ ), 0 , 4 , 0 , 2041 , 134, 0 ), // #457
+ INST(Mpsadbw , ExtRmi , O(660F3A,42,_,_,_,_,_,_ ), 0 , 8 , 0 , 6504 , 8 , 12 ), // #458
+ INST(Mul , X86M_GPB_MulDiv , O(000000,F6,4,_,x,_,_,_ ), 0 , 9 , 0 , 828 , 54 , 1 ), // #459
+ INST(Mulpd , ExtRm , O(660F00,59,_,_,_,_,_,_ ), 0 , 3 , 0 , 6558 , 5 , 4 ), // #460
+ INST(Mulps , ExtRm , O(000F00,59,_,_,_,_,_,_ ), 0 , 4 , 0 , 6565 , 5 , 5 ), // #461
+ INST(Mulsd , ExtRm , O(F20F00,59,_,_,_,_,_,_ ), 0 , 5 , 0 , 6572 , 6 , 4 ), // #462
+ INST(Mulss , ExtRm , O(F30F00,59,_,_,_,_,_,_ ), 0 , 6 , 0 , 6579 , 7 , 5 ), // #463
+ INST(Mulx , VexRvm_ZDX_Wx , V(F20F38,F6,_,0,x,_,_,_ ), 0 , 85 , 0 , 2047 , 136, 85 ), // #464
+ INST(Mwait , X86Op , O(000F01,C9,_,_,_,_,_,_ ), 0 , 21 , 0 , 3241 , 137, 79 ), // #465
+ INST(Mwaitx , X86Op , O(000F01,FB,_,_,_,_,_,_ ), 0 , 21 , 0 , 2052 , 138, 80 ), // #466
+ INST(Neg , X86M_GPB , O(000000,F6,3,_,x,_,_,_ ), 0 , 76 , 0 , 2059 , 139, 1 ), // #467
+ INST(Nop , X86M_Nop , O(000000,90,_,_,_,_,_,_ ), 0 , 0 , 0 , 959 , 140, 0 ), // #468
+ INST(Not , X86M_GPB , O(000000,F6,2,_,x,_,_,_ ), 0 , 1 , 0 , 2063 , 139, 0 ), // #469
+ INST(Or , X86Arith , O(000000,08,1,_,x,_,_,_ ), 0 , 31 , 0 , 3237 , 141, 1 ), // #470
+ INST(Orpd , ExtRm , O(660F00,56,_,_,_,_,_,_ ), 0 , 3 , 0 , 10348, 11 , 4 ), // #471
+ INST(Orps , ExtRm , O(000F00,56,_,_,_,_,_,_ ), 0 , 4 , 0 , 10355, 11 , 5 ), // #472
+ INST(Out , X86Out , O(000000,EE,_,_,_,_,_,_ ), O(000000,E6,_,_,_,_,_,_ ), 0 , 66 , 2067 , 142, 0 ), // #473
+ INST(Outs , X86Outs , O(000000,6E,_,_,_,_,_,_ ), 0 , 0 , 0 , 2071 , 143, 0 ), // #474
+ INST(Pabsb , ExtRm_P , O(000F38,1C,_,_,_,_,_,_ ), 0 , 84 , 0 , 6661 , 144, 86 ), // #475
+ INST(Pabsd , ExtRm_P , O(000F38,1E,_,_,_,_,_,_ ), 0 , 84 , 0 , 6668 , 144, 86 ), // #476
+ INST(Pabsw , ExtRm_P , O(000F38,1D,_,_,_,_,_,_ ), 0 , 84 , 0 , 6682 , 144, 86 ), // #477
+ INST(Packssdw , ExtRm_P , O(000F00,6B,_,_,_,_,_,_ ), 0 , 4 , 0 , 6689 , 144, 82 ), // #478
+ INST(Packsswb , ExtRm_P , O(000F00,63,_,_,_,_,_,_ ), 0 , 4 , 0 , 6699 , 144, 82 ), // #479
+ INST(Packusdw , ExtRm , O(660F38,2B,_,_,_,_,_,_ ), 0 , 2 , 0 , 6709 , 5 , 12 ), // #480
+ INST(Packuswb , ExtRm_P , O(000F00,67,_,_,_,_,_,_ ), 0 , 4 , 0 , 6719 , 144, 82 ), // #481
+ INST(Paddb , ExtRm_P , O(000F00,FC,_,_,_,_,_,_ ), 0 , 4 , 0 , 6729 , 144, 82 ), // #482
+ INST(Paddd , ExtRm_P , O(000F00,FE,_,_,_,_,_,_ ), 0 , 4 , 0 , 6736 , 144, 82 ), // #483
+ INST(Paddq , ExtRm_P , O(000F00,D4,_,_,_,_,_,_ ), 0 , 4 , 0 , 6743 , 144, 4 ), // #484
+ INST(Paddsb , ExtRm_P , O(000F00,EC,_,_,_,_,_,_ ), 0 , 4 , 0 , 6750 , 144, 82 ), // #485
+ INST(Paddsw , ExtRm_P , O(000F00,ED,_,_,_,_,_,_ ), 0 , 4 , 0 , 6758 , 144, 82 ), // #486
+ INST(Paddusb , ExtRm_P , O(000F00,DC,_,_,_,_,_,_ ), 0 , 4 , 0 , 6766 , 144, 82 ), // #487
+ INST(Paddusw , ExtRm_P , O(000F00,DD,_,_,_,_,_,_ ), 0 , 4 , 0 , 6775 , 144, 82 ), // #488
+ INST(Paddw , ExtRm_P , O(000F00,FD,_,_,_,_,_,_ ), 0 , 4 , 0 , 6784 , 144, 82 ), // #489
+ INST(Palignr , ExtRmi_P , O(000F3A,0F,_,_,_,_,_,_ ), 0 , 86 , 0 , 6791 , 145, 6 ), // #490
+ INST(Pand , ExtRm_P , O(000F00,DB,_,_,_,_,_,_ ), 0 , 4 , 0 , 6800 , 146, 82 ), // #491
+ INST(Pandn , ExtRm_P , O(000F00,DF,_,_,_,_,_,_ ), 0 , 4 , 0 , 6813 , 147, 82 ), // #492
+ INST(Pause , X86Op , O(F30000,90,_,_,_,_,_,_ ), 0 , 87 , 0 , 3195 , 30 , 0 ), // #493
+ INST(Pavgb , ExtRm_P , O(000F00,E0,_,_,_,_,_,_ ), 0 , 4 , 0 , 6843 , 144, 87 ), // #494
+ INST(Pavgusb , Ext3dNow , O(000F0F,BF,_,_,_,_,_,_ ), 0 , 88 , 0 , 2076 , 148, 51 ), // #495
+ INST(Pavgw , ExtRm_P , O(000F00,E3,_,_,_,_,_,_ ), 0 , 4 , 0 , 6850 , 144, 87 ), // #496
+ INST(Pblendvb , ExtRm_XMM0 , O(660F38,10,_,_,_,_,_,_ ), 0 , 2 , 0 , 6906 , 15 , 12 ), // #497
+ INST(Pblendw , ExtRmi , O(660F3A,0E,_,_,_,_,_,_ ), 0 , 8 , 0 , 6916 , 8 , 12 ), // #498
+ INST(Pclmulqdq , ExtRmi , O(660F3A,44,_,_,_,_,_,_ ), 0 , 8 , 0 , 7009 , 8 , 88 ), // #499
+ INST(Pcmpeqb , ExtRm_P , O(000F00,74,_,_,_,_,_,_ ), 0 , 4 , 0 , 7041 , 147, 82 ), // #500
+ INST(Pcmpeqd , ExtRm_P , O(000F00,76,_,_,_,_,_,_ ), 0 , 4 , 0 , 7050 , 147, 82 ), // #501
+ INST(Pcmpeqq , ExtRm , O(660F38,29,_,_,_,_,_,_ ), 0 , 2 , 0 , 7059 , 149, 12 ), // #502
+ INST(Pcmpeqw , ExtRm_P , O(000F00,75,_,_,_,_,_,_ ), 0 , 4 , 0 , 7068 , 147, 82 ), // #503
+ INST(Pcmpestri , ExtRmi , O(660F3A,61,_,_,_,_,_,_ ), 0 , 8 , 0 , 7077 , 150, 89 ), // #504
+ INST(Pcmpestrm , ExtRmi , O(660F3A,60,_,_,_,_,_,_ ), 0 , 8 , 0 , 7088 , 151, 89 ), // #505
+ INST(Pcmpgtb , ExtRm_P , O(000F00,64,_,_,_,_,_,_ ), 0 , 4 , 0 , 7099 , 147, 82 ), // #506
+ INST(Pcmpgtd , ExtRm_P , O(000F00,66,_,_,_,_,_,_ ), 0 , 4 , 0 , 7108 , 147, 82 ), // #507
+ INST(Pcmpgtq , ExtRm , O(660F38,37,_,_,_,_,_,_ ), 0 , 2 , 0 , 7117 , 149, 44 ), // #508
+ INST(Pcmpgtw , ExtRm_P , O(000F00,65,_,_,_,_,_,_ ), 0 , 4 , 0 , 7126 , 147, 82 ), // #509
+ INST(Pcmpistri , ExtRmi , O(660F3A,63,_,_,_,_,_,_ ), 0 , 8 , 0 , 7135 , 152, 89 ), // #510
+ INST(Pcmpistrm , ExtRmi , O(660F3A,62,_,_,_,_,_,_ ), 0 , 8 , 0 , 7146 , 153, 89 ), // #511
+ INST(Pconfig , X86Op , O(000F01,C5,_,_,_,_,_,_ ), 0 , 21 , 0 , 2084 , 30 , 90 ), // #512
+ INST(Pdep , VexRvm_Wx , V(F20F38,F5,_,0,x,_,_,_ ), 0 , 85 , 0 , 2092 , 10 , 85 ), // #513
+ INST(Pext , VexRvm_Wx , V(F30F38,F5,_,0,x,_,_,_ ), 0 , 89 , 0 , 2097 , 10 , 85 ), // #514
+ INST(Pextrb , ExtExtract , O(000F3A,14,_,_,_,_,_,_ ), 0 , 86 , 0 , 7633 , 154, 12 ), // #515
+ INST(Pextrd , ExtExtract , O(000F3A,16,_,_,_,_,_,_ ), 0 , 86 , 0 , 7641 , 58 , 12 ), // #516
+ INST(Pextrq , ExtExtract , O(000F3A,16,_,_,1,_,_,_ ), 0 , 90 , 0 , 7649 , 155, 12 ), // #517
+ INST(Pextrw , ExtPextrw , O(000F00,C5,_,_,_,_,_,_ ), O(000F3A,15,_,_,_,_,_,_ ), 4 , 67 , 7657 , 156, 91 ), // #518
+ INST(Pf2id , Ext3dNow , O(000F0F,1D,_,_,_,_,_,_ ), 0 , 88 , 0 , 2102 , 148, 51 ), // #519
+ INST(Pf2iw , Ext3dNow , O(000F0F,1C,_,_,_,_,_,_ ), 0 , 88 , 0 , 2108 , 148, 92 ), // #520
+ INST(Pfacc , Ext3dNow , O(000F0F,AE,_,_,_,_,_,_ ), 0 , 88 , 0 , 2114 , 148, 51 ), // #521
+ INST(Pfadd , Ext3dNow , O(000F0F,9E,_,_,_,_,_,_ ), 0 , 88 , 0 , 2120 , 148, 51 ), // #522
+ INST(Pfcmpeq , Ext3dNow , O(000F0F,B0,_,_,_,_,_,_ ), 0 , 88 , 0 , 2126 , 148, 51 ), // #523
+ INST(Pfcmpge , Ext3dNow , O(000F0F,90,_,_,_,_,_,_ ), 0 , 88 , 0 , 2134 , 148, 51 ), // #524
+ INST(Pfcmpgt , Ext3dNow , O(000F0F,A0,_,_,_,_,_,_ ), 0 , 88 , 0 , 2142 , 148, 51 ), // #525
+ INST(Pfmax , Ext3dNow , O(000F0F,A4,_,_,_,_,_,_ ), 0 , 88 , 0 , 2150 , 148, 51 ), // #526
+ INST(Pfmin , Ext3dNow , O(000F0F,94,_,_,_,_,_,_ ), 0 , 88 , 0 , 2156 , 148, 51 ), // #527
+ INST(Pfmul , Ext3dNow , O(000F0F,B4,_,_,_,_,_,_ ), 0 , 88 , 0 , 2162 , 148, 51 ), // #528
+ INST(Pfnacc , Ext3dNow , O(000F0F,8A,_,_,_,_,_,_ ), 0 , 88 , 0 , 2168 , 148, 92 ), // #529
+ INST(Pfpnacc , Ext3dNow , O(000F0F,8E,_,_,_,_,_,_ ), 0 , 88 , 0 , 2175 , 148, 92 ), // #530
+ INST(Pfrcp , Ext3dNow , O(000F0F,96,_,_,_,_,_,_ ), 0 , 88 , 0 , 2183 , 148, 51 ), // #531
+ INST(Pfrcpit1 , Ext3dNow , O(000F0F,A6,_,_,_,_,_,_ ), 0 , 88 , 0 , 2189 , 148, 51 ), // #532
+ INST(Pfrcpit2 , Ext3dNow , O(000F0F,B6,_,_,_,_,_,_ ), 0 , 88 , 0 , 2198 , 148, 51 ), // #533
+ INST(Pfrcpv , Ext3dNow , O(000F0F,86,_,_,_,_,_,_ ), 0 , 88 , 0 , 2207 , 148, 93 ), // #534
+ INST(Pfrsqit1 , Ext3dNow , O(000F0F,A7,_,_,_,_,_,_ ), 0 , 88 , 0 , 2214 , 148, 51 ), // #535
+ INST(Pfrsqrt , Ext3dNow , O(000F0F,97,_,_,_,_,_,_ ), 0 , 88 , 0 , 2223 , 148, 51 ), // #536
+ INST(Pfrsqrtv , Ext3dNow , O(000F0F,87,_,_,_,_,_,_ ), 0 , 88 , 0 , 2231 , 148, 93 ), // #537
+ INST(Pfsub , Ext3dNow , O(000F0F,9A,_,_,_,_,_,_ ), 0 , 88 , 0 , 2240 , 148, 51 ), // #538
+ INST(Pfsubr , Ext3dNow , O(000F0F,AA,_,_,_,_,_,_ ), 0 , 88 , 0 , 2246 , 148, 51 ), // #539
+ INST(Phaddd , ExtRm_P , O(000F38,02,_,_,_,_,_,_ ), 0 , 84 , 0 , 7736 , 144, 86 ), // #540
+ INST(Phaddsw , ExtRm_P , O(000F38,03,_,_,_,_,_,_ ), 0 , 84 , 0 , 7753 , 144, 86 ), // #541
+ INST(Phaddw , ExtRm_P , O(000F38,01,_,_,_,_,_,_ ), 0 , 84 , 0 , 7822 , 144, 86 ), // #542
+ INST(Phminposuw , ExtRm , O(660F38,41,_,_,_,_,_,_ ), 0 , 2 , 0 , 7848 , 5 , 12 ), // #543
+ INST(Phsubd , ExtRm_P , O(000F38,06,_,_,_,_,_,_ ), 0 , 84 , 0 , 7869 , 144, 86 ), // #544
+ INST(Phsubsw , ExtRm_P , O(000F38,07,_,_,_,_,_,_ ), 0 , 84 , 0 , 7886 , 144, 86 ), // #545
+ INST(Phsubw , ExtRm_P , O(000F38,05,_,_,_,_,_,_ ), 0 , 84 , 0 , 7895 , 144, 86 ), // #546
+ INST(Pi2fd , Ext3dNow , O(000F0F,0D,_,_,_,_,_,_ ), 0 , 88 , 0 , 2253 , 148, 51 ), // #547
+ INST(Pi2fw , Ext3dNow , O(000F0F,0C,_,_,_,_,_,_ ), 0 , 88 , 0 , 2259 , 148, 92 ), // #548
+ INST(Pinsrb , ExtRmi , O(660F3A,20,_,_,_,_,_,_ ), 0 , 8 , 0 , 7912 , 157, 12 ), // #549
+ INST(Pinsrd , ExtRmi , O(660F3A,22,_,_,_,_,_,_ ), 0 , 8 , 0 , 7920 , 158, 12 ), // #550
+ INST(Pinsrq , ExtRmi , O(660F3A,22,_,_,1,_,_,_ ), 0 , 91 , 0 , 7928 , 159, 12 ), // #551
+ INST(Pinsrw , ExtRmi_P , O(000F00,C4,_,_,_,_,_,_ ), 0 , 4 , 0 , 7936 , 160, 87 ), // #552
+ INST(Pmaddubsw , ExtRm_P , O(000F38,04,_,_,_,_,_,_ ), 0 , 84 , 0 , 8106 , 144, 86 ), // #553
+ INST(Pmaddwd , ExtRm_P , O(000F00,F5,_,_,_,_,_,_ ), 0 , 4 , 0 , 8117 , 144, 82 ), // #554
+ INST(Pmaxsb , ExtRm , O(660F38,3C,_,_,_,_,_,_ ), 0 , 2 , 0 , 8148 , 11 , 12 ), // #555
+ INST(Pmaxsd , ExtRm , O(660F38,3D,_,_,_,_,_,_ ), 0 , 2 , 0 , 8156 , 11 , 12 ), // #556
+ INST(Pmaxsw , ExtRm_P , O(000F00,EE,_,_,_,_,_,_ ), 0 , 4 , 0 , 8172 , 146, 87 ), // #557
+ INST(Pmaxub , ExtRm_P , O(000F00,DE,_,_,_,_,_,_ ), 0 , 4 , 0 , 8180 , 146, 87 ), // #558
+ INST(Pmaxud , ExtRm , O(660F38,3F,_,_,_,_,_,_ ), 0 , 2 , 0 , 8188 , 11 , 12 ), // #559
+ INST(Pmaxuw , ExtRm , O(660F38,3E,_,_,_,_,_,_ ), 0 , 2 , 0 , 8204 , 11 , 12 ), // #560
+ INST(Pminsb , ExtRm , O(660F38,38,_,_,_,_,_,_ ), 0 , 2 , 0 , 8212 , 11 , 12 ), // #561
+ INST(Pminsd , ExtRm , O(660F38,39,_,_,_,_,_,_ ), 0 , 2 , 0 , 8220 , 11 , 12 ), // #562
+ INST(Pminsw , ExtRm_P , O(000F00,EA,_,_,_,_,_,_ ), 0 , 4 , 0 , 8236 , 146, 87 ), // #563
+ INST(Pminub , ExtRm_P , O(000F00,DA,_,_,_,_,_,_ ), 0 , 4 , 0 , 8244 , 146, 87 ), // #564
+ INST(Pminud , ExtRm , O(660F38,3B,_,_,_,_,_,_ ), 0 , 2 , 0 , 8252 , 11 , 12 ), // #565
+ INST(Pminuw , ExtRm , O(660F38,3A,_,_,_,_,_,_ ), 0 , 2 , 0 , 8268 , 11 , 12 ), // #566
+ INST(Pmovmskb , ExtRm_P , O(000F00,D7,_,_,_,_,_,_ ), 0 , 4 , 0 , 8346 , 161, 87 ), // #567
+ INST(Pmovsxbd , ExtRm , O(660F38,21,_,_,_,_,_,_ ), 0 , 2 , 0 , 8443 , 7 , 12 ), // #568
+ INST(Pmovsxbq , ExtRm , O(660F38,22,_,_,_,_,_,_ ), 0 , 2 , 0 , 8453 , 162, 12 ), // #569
+ INST(Pmovsxbw , ExtRm , O(660F38,20,_,_,_,_,_,_ ), 0 , 2 , 0 , 8463 , 6 , 12 ), // #570
+ INST(Pmovsxdq , ExtRm , O(660F38,25,_,_,_,_,_,_ ), 0 , 2 , 0 , 8473 , 6 , 12 ), // #571
+ INST(Pmovsxwd , ExtRm , O(660F38,23,_,_,_,_,_,_ ), 0 , 2 , 0 , 8483 , 6 , 12 ), // #572
+ INST(Pmovsxwq , ExtRm , O(660F38,24,_,_,_,_,_,_ ), 0 , 2 , 0 , 8493 , 7 , 12 ), // #573
+ INST(Pmovzxbd , ExtRm , O(660F38,31,_,_,_,_,_,_ ), 0 , 2 , 0 , 8580 , 7 , 12 ), // #574
+ INST(Pmovzxbq , ExtRm , O(660F38,32,_,_,_,_,_,_ ), 0 , 2 , 0 , 8590 , 162, 12 ), // #575
+ INST(Pmovzxbw , ExtRm , O(660F38,30,_,_,_,_,_,_ ), 0 , 2 , 0 , 8600 , 6 , 12 ), // #576
+ INST(Pmovzxdq , ExtRm , O(660F38,35,_,_,_,_,_,_ ), 0 , 2 , 0 , 8610 , 6 , 12 ), // #577
+ INST(Pmovzxwd , ExtRm , O(660F38,33,_,_,_,_,_,_ ), 0 , 2 , 0 , 8620 , 6 , 12 ), // #578
+ INST(Pmovzxwq , ExtRm , O(660F38,34,_,_,_,_,_,_ ), 0 , 2 , 0 , 8630 , 7 , 12 ), // #579
+ INST(Pmuldq , ExtRm , O(660F38,28,_,_,_,_,_,_ ), 0 , 2 , 0 , 8640 , 5 , 12 ), // #580
+ INST(Pmulhrsw , ExtRm_P , O(000F38,0B,_,_,_,_,_,_ ), 0 , 84 , 0 , 8648 , 144, 86 ), // #581
+ INST(Pmulhrw , Ext3dNow , O(000F0F,B7,_,_,_,_,_,_ ), 0 , 88 , 0 , 2265 , 148, 51 ), // #582
+ INST(Pmulhuw , ExtRm_P , O(000F00,E4,_,_,_,_,_,_ ), 0 , 4 , 0 , 8658 , 144, 87 ), // #583
+ INST(Pmulhw , ExtRm_P , O(000F00,E5,_,_,_,_,_,_ ), 0 , 4 , 0 , 8667 , 144, 82 ), // #584
+ INST(Pmulld , ExtRm , O(660F38,40,_,_,_,_,_,_ ), 0 , 2 , 0 , 8675 , 5 , 12 ), // #585
+ INST(Pmullw , ExtRm_P , O(000F00,D5,_,_,_,_,_,_ ), 0 , 4 , 0 , 8691 , 144, 82 ), // #586
+ INST(Pmuludq , ExtRm_P , O(000F00,F4,_,_,_,_,_,_ ), 0 , 4 , 0 , 8714 , 144, 4 ), // #587
+ INST(Pop , X86Pop , O(000000,8F,0,_,_,_,_,_ ), O(000000,58,_,_,_,_,_,_ ), 0 , 68 , 2273 , 163, 0 ), // #588
+ INST(Popa , X86Op , O(660000,61,_,_,_,_,_,_ ), 0 , 19 , 0 , 2277 , 80 , 0 ), // #589
+ INST(Popad , X86Op , O(000000,61,_,_,_,_,_,_ ), 0 , 0 , 0 , 2282 , 80 , 0 ), // #590
+ INST(Popcnt , X86Rm_Raw66H , O(F30F00,B8,_,_,x,_,_,_ ), 0 , 6 , 0 , 2288 , 22 , 94 ), // #591
+ INST(Popf , X86Op , O(660000,9D,_,_,_,_,_,_ ), 0 , 19 , 0 , 2295 , 30 , 95 ), // #592
+ INST(Popfd , X86Op , O(000000,9D,_,_,_,_,_,_ ), 0 , 0 , 0 , 2300 , 80 , 95 ), // #593
+ INST(Popfq , X86Op , O(000000,9D,_,_,_,_,_,_ ), 0 , 0 , 0 , 2306 , 33 , 95 ), // #594
+ INST(Por , ExtRm_P , O(000F00,EB,_,_,_,_,_,_ ), 0 , 4 , 0 , 8759 , 146, 82 ), // #595
+ INST(Prefetch , X86M_Only , O(000F00,0D,0,_,_,_,_,_ ), 0 , 4 , 0 , 2312 , 31 , 51 ), // #596
+ INST(Prefetchnta , X86M_Only , O(000F00,18,0,_,_,_,_,_ ), 0 , 4 , 0 , 2321 , 31 , 77 ), // #597
+ INST(Prefetcht0 , X86M_Only , O(000F00,18,1,_,_,_,_,_ ), 0 , 29 , 0 , 2333 , 31 , 77 ), // #598
+ INST(Prefetcht1 , X86M_Only , O(000F00,18,2,_,_,_,_,_ ), 0 , 77 , 0 , 2344 , 31 , 77 ), // #599
+ INST(Prefetcht2 , X86M_Only , O(000F00,18,3,_,_,_,_,_ ), 0 , 79 , 0 , 2355 , 31 , 77 ), // #600
+ INST(Prefetchw , X86M_Only , O(000F00,0D,1,_,_,_,_,_ ), 0 , 29 , 0 , 2366 , 31 , 96 ), // #601
+ INST(Prefetchwt1 , X86M_Only , O(000F00,0D,2,_,_,_,_,_ ), 0 , 77 , 0 , 2376 , 31 , 97 ), // #602
+ INST(Psadbw , ExtRm_P , O(000F00,F6,_,_,_,_,_,_ ), 0 , 4 , 0 , 4272 , 144, 87 ), // #603
+ INST(Pshufb , ExtRm_P , O(000F38,00,_,_,_,_,_,_ ), 0 , 84 , 0 , 9085 , 144, 86 ), // #604
+ INST(Pshufd , ExtRmi , O(660F00,70,_,_,_,_,_,_ ), 0 , 3 , 0 , 9106 , 8 , 4 ), // #605
+ INST(Pshufhw , ExtRmi , O(F30F00,70,_,_,_,_,_,_ ), 0 , 6 , 0 , 9114 , 8 , 4 ), // #606
+ INST(Pshuflw , ExtRmi , O(F20F00,70,_,_,_,_,_,_ ), 0 , 5 , 0 , 9123 , 8 , 4 ), // #607
+ INST(Pshufw , ExtRmi_P , O(000F00,70,_,_,_,_,_,_ ), 0 , 4 , 0 , 2388 , 164, 77 ), // #608
+ INST(Psignb , ExtRm_P , O(000F38,08,_,_,_,_,_,_ ), 0 , 84 , 0 , 9132 , 144, 86 ), // #609
+ INST(Psignd , ExtRm_P , O(000F38,0A,_,_,_,_,_,_ ), 0 , 84 , 0 , 9140 , 144, 86 ), // #610
+ INST(Psignw , ExtRm_P , O(000F38,09,_,_,_,_,_,_ ), 0 , 84 , 0 , 9148 , 144, 86 ), // #611
+ INST(Pslld , ExtRmRi_P , O(000F00,F2,_,_,_,_,_,_ ), O(000F00,72,6,_,_,_,_,_ ), 4 , 69 , 9156 , 165, 82 ), // #612
+ INST(Pslldq , ExtRmRi , 0 , O(660F00,73,7,_,_,_,_,_ ), 0 , 70 , 9163 , 166, 4 ), // #613
+ INST(Psllq , ExtRmRi_P , O(000F00,F3,_,_,_,_,_,_ ), O(000F00,73,6,_,_,_,_,_ ), 4 , 71 , 9171 , 165, 82 ), // #614
+ INST(Psllw , ExtRmRi_P , O(000F00,F1,_,_,_,_,_,_ ), O(000F00,71,6,_,_,_,_,_ ), 4 , 72 , 9202 , 165, 82 ), // #615
+ INST(Psmash , X86Op , O(F30F01,FF,_,_,_,_,_,_ ), 0 , 25 , 0 , 2395 , 33 , 98 ), // #616
+ INST(Psrad , ExtRmRi_P , O(000F00,E2,_,_,_,_,_,_ ), O(000F00,72,4,_,_,_,_,_ ), 4 , 73 , 9209 , 165, 82 ), // #617
+ INST(Psraw , ExtRmRi_P , O(000F00,E1,_,_,_,_,_,_ ), O(000F00,71,4,_,_,_,_,_ ), 4 , 74 , 9247 , 165, 82 ), // #618
+ INST(Psrld , ExtRmRi_P , O(000F00,D2,_,_,_,_,_,_ ), O(000F00,72,2,_,_,_,_,_ ), 4 , 75 , 9254 , 165, 82 ), // #619
+ INST(Psrldq , ExtRmRi , 0 , O(660F00,73,3,_,_,_,_,_ ), 0 , 76 , 9261 , 166, 4 ), // #620
+ INST(Psrlq , ExtRmRi_P , O(000F00,D3,_,_,_,_,_,_ ), O(000F00,73,2,_,_,_,_,_ ), 4 , 77 , 9269 , 165, 82 ), // #621
+ INST(Psrlw , ExtRmRi_P , O(000F00,D1,_,_,_,_,_,_ ), O(000F00,71,2,_,_,_,_,_ ), 4 , 78 , 9300 , 165, 82 ), // #622
+ INST(Psubb , ExtRm_P , O(000F00,F8,_,_,_,_,_,_ ), 0 , 4 , 0 , 9307 , 147, 82 ), // #623
+ INST(Psubd , ExtRm_P , O(000F00,FA,_,_,_,_,_,_ ), 0 , 4 , 0 , 9314 , 147, 82 ), // #624
+ INST(Psubq , ExtRm_P , O(000F00,FB,_,_,_,_,_,_ ), 0 , 4 , 0 , 9321 , 147, 4 ), // #625
+ INST(Psubsb , ExtRm_P , O(000F00,E8,_,_,_,_,_,_ ), 0 , 4 , 0 , 9328 , 147, 82 ), // #626
+ INST(Psubsw , ExtRm_P , O(000F00,E9,_,_,_,_,_,_ ), 0 , 4 , 0 , 9336 , 147, 82 ), // #627
+ INST(Psubusb , ExtRm_P , O(000F00,D8,_,_,_,_,_,_ ), 0 , 4 , 0 , 9344 , 147, 82 ), // #628
+ INST(Psubusw , ExtRm_P , O(000F00,D9,_,_,_,_,_,_ ), 0 , 4 , 0 , 9353 , 147, 82 ), // #629
+ INST(Psubw , ExtRm_P , O(000F00,F9,_,_,_,_,_,_ ), 0 , 4 , 0 , 9362 , 147, 82 ), // #630
+ INST(Pswapd , Ext3dNow , O(000F0F,BB,_,_,_,_,_,_ ), 0 , 88 , 0 , 2402 , 148, 92 ), // #631
+ INST(Ptest , ExtRm , O(660F38,17,_,_,_,_,_,_ ), 0 , 2 , 0 , 9391 , 5 , 99 ), // #632
+ INST(Ptwrite , X86M , O(F30F00,AE,4,_,_,_,_,_ ), 0 , 92 , 0 , 2409 , 167, 100), // #633
+ INST(Punpckhbw , ExtRm_P , O(000F00,68,_,_,_,_,_,_ ), 0 , 4 , 0 , 9474 , 144, 82 ), // #634
+ INST(Punpckhdq , ExtRm_P , O(000F00,6A,_,_,_,_,_,_ ), 0 , 4 , 0 , 9485 , 144, 82 ), // #635
+ INST(Punpckhqdq , ExtRm , O(660F00,6D,_,_,_,_,_,_ ), 0 , 3 , 0 , 9496 , 5 , 4 ), // #636
+ INST(Punpckhwd , ExtRm_P , O(000F00,69,_,_,_,_,_,_ ), 0 , 4 , 0 , 9508 , 144, 82 ), // #637
+ INST(Punpcklbw , ExtRm_P , O(000F00,60,_,_,_,_,_,_ ), 0 , 4 , 0 , 9519 , 168, 82 ), // #638
+ INST(Punpckldq , ExtRm_P , O(000F00,62,_,_,_,_,_,_ ), 0 , 4 , 0 , 9530 , 168, 82 ), // #639
+ INST(Punpcklqdq , ExtRm , O(660F00,6C,_,_,_,_,_,_ ), 0 , 3 , 0 , 9541 , 5 , 4 ), // #640
+ INST(Punpcklwd , ExtRm_P , O(000F00,61,_,_,_,_,_,_ ), 0 , 4 , 0 , 9553 , 168, 82 ), // #641
+ INST(Push , X86Push , O(000000,FF,6,_,_,_,_,_ ), O(000000,50,_,_,_,_,_,_ ), 32 , 79 , 2417 , 169, 0 ), // #642
+ INST(Pusha , X86Op , O(660000,60,_,_,_,_,_,_ ), 0 , 19 , 0 , 2422 , 80 , 0 ), // #643
+ INST(Pushad , X86Op , O(000000,60,_,_,_,_,_,_ ), 0 , 0 , 0 , 2428 , 80 , 0 ), // #644
+ INST(Pushf , X86Op , O(660000,9C,_,_,_,_,_,_ ), 0 , 19 , 0 , 2435 , 30 , 101), // #645
+ INST(Pushfd , X86Op , O(000000,9C,_,_,_,_,_,_ ), 0 , 0 , 0 , 2441 , 80 , 101), // #646
+ INST(Pushfq , X86Op , O(000000,9C,_,_,_,_,_,_ ), 0 , 0 , 0 , 2448 , 33 , 101), // #647
+ INST(Pvalidate , X86Op , O(F20F01,FF,_,_,_,_,_,_ ), 0 , 93 , 0 , 2455 , 30 , 102), // #648
+ INST(Pxor , ExtRm_P , O(000F00,EF,_,_,_,_,_,_ ), 0 , 4 , 0 , 9564 , 147, 82 ), // #649
+ INST(Rcl , X86Rot , O(000000,D0,2,_,x,_,_,_ ), 0 , 1 , 0 , 2465 , 170, 103), // #650
+ INST(Rcpps , ExtRm , O(000F00,53,_,_,_,_,_,_ ), 0 , 4 , 0 , 9692 , 5 , 5 ), // #651
+ INST(Rcpss , ExtRm , O(F30F00,53,_,_,_,_,_,_ ), 0 , 6 , 0 , 9699 , 7 , 5 ), // #652
+ INST(Rcr , X86Rot , O(000000,D0,3,_,x,_,_,_ ), 0 , 76 , 0 , 2469 , 170, 103), // #653
+ INST(Rdfsbase , X86M , O(F30F00,AE,0,_,x,_,_,_ ), 0 , 6 , 0 , 2473 , 171, 104), // #654
+ INST(Rdgsbase , X86M , O(F30F00,AE,1,_,x,_,_,_ ), 0 , 94 , 0 , 2482 , 171, 104), // #655
+ INST(Rdmsr , X86Op , O(000F00,32,_,_,_,_,_,_ ), 0 , 4 , 0 , 2491 , 172, 105), // #656
+ INST(Rdpid , X86R_Native , O(F30F00,C7,7,_,_,_,_,_ ), 0 , 95 , 0 , 2497 , 173, 106), // #657
+ INST(Rdpkru , X86Op , O(000F01,EE,_,_,_,_,_,_ ), 0 , 21 , 0 , 2503 , 172, 107), // #658
+ INST(Rdpmc , X86Op , O(000F00,33,_,_,_,_,_,_ ), 0 , 4 , 0 , 2510 , 172, 0 ), // #659
+ INST(Rdpru , X86Op , O(000F01,FD,_,_,_,_,_,_ ), 0 , 21 , 0 , 2516 , 172, 108), // #660
+ INST(Rdrand , X86M , O(000F00,C7,6,_,x,_,_,_ ), 0 , 81 , 0 , 2522 , 23 , 109), // #661
+ INST(Rdseed , X86M , O(000F00,C7,7,_,x,_,_,_ ), 0 , 22 , 0 , 2529 , 23 , 110), // #662
+ INST(Rdsspd , X86M , O(F30F00,1E,1,_,_,_,_,_ ), 0 , 94 , 0 , 2536 , 75 , 56 ), // #663
+ INST(Rdsspq , X86M , O(F30F00,1E,1,_,_,_,_,_ ), 0 , 94 , 0 , 2543 , 76 , 56 ), // #664
+ INST(Rdtsc , X86Op , O(000F00,31,_,_,_,_,_,_ ), 0 , 4 , 0 , 2550 , 28 , 111), // #665
+ INST(Rdtscp , X86Op , O(000F01,F9,_,_,_,_,_,_ ), 0 , 21 , 0 , 2556 , 172, 112), // #666
+ INST(Ret , X86Ret , O(000000,C2,_,_,_,_,_,_ ), 0 , 0 , 0 , 3072 , 174, 0 ), // #667
+ INST(Retf , X86Ret , O(000000,CA,_,_,x,_,_,_ ), 0 , 0 , 0 , 2563 , 175, 0 ), // #668
+ INST(Rmpadjust , X86Op , O(F30F01,FE,_,_,_,_,_,_ ), 0 , 25 , 0 , 2568 , 33 , 98 ), // #669
+ INST(Rmpupdate , X86Op , O(F20F01,FE,_,_,_,_,_,_ ), 0 , 93 , 0 , 2578 , 33 , 98 ), // #670
+ INST(Rol , X86Rot , O(000000,D0,0,_,x,_,_,_ ), 0 , 0 , 0 , 2588 , 170, 113), // #671
+ INST(Ror , X86Rot , O(000000,D0,1,_,x,_,_,_ ), 0 , 31 , 0 , 2592 , 170, 113), // #672
+ INST(Rorx , VexRmi_Wx , V(F20F3A,F0,_,0,x,_,_,_ ), 0 , 96 , 0 , 2596 , 176, 85 ), // #673
+ INST(Roundpd , ExtRmi , O(660F3A,09,_,_,_,_,_,_ ), 0 , 8 , 0 , 9794 , 8 , 12 ), // #674
+ INST(Roundps , ExtRmi , O(660F3A,08,_,_,_,_,_,_ ), 0 , 8 , 0 , 9803 , 8 , 12 ), // #675
+ INST(Roundsd , ExtRmi , O(660F3A,0B,_,_,_,_,_,_ ), 0 , 8 , 0 , 9812 , 37 , 12 ), // #676
+ INST(Roundss , ExtRmi , O(660F3A,0A,_,_,_,_,_,_ ), 0 , 8 , 0 , 9821 , 38 , 12 ), // #677
+ INST(Rsm , X86Op , O(000F00,AA,_,_,_,_,_,_ ), 0 , 4 , 0 , 2601 , 80 , 1 ), // #678
+ INST(Rsqrtps , ExtRm , O(000F00,52,_,_,_,_,_,_ ), 0 , 4 , 0 , 9918 , 5 , 5 ), // #679
+ INST(Rsqrtss , ExtRm , O(F30F00,52,_,_,_,_,_,_ ), 0 , 6 , 0 , 9927 , 7 , 5 ), // #680
+ INST(Rstorssp , X86M_Only , O(F30F00,01,5,_,_,_,_,_ ), 0 , 64 , 0 , 2605 , 32 , 24 ), // #681
+ INST(Sahf , X86Op , O(000000,9E,_,_,_,_,_,_ ), 0 , 0 , 0 , 2614 , 95 , 114), // #682
+ INST(Sal , X86Rot , O(000000,D0,4,_,x,_,_,_ ), 0 , 9 , 0 , 2619 , 170, 1 ), // #683
+ INST(Sar , X86Rot , O(000000,D0,7,_,x,_,_,_ ), 0 , 27 , 0 , 2623 , 170, 1 ), // #684
+ INST(Sarx , VexRmv_Wx , V(F30F38,F7,_,0,x,_,_,_ ), 0 , 89 , 0 , 2627 , 13 , 85 ), // #685
+ INST(Saveprevssp , X86Op , O(F30F01,EA,_,_,_,_,_,_ ), 0 , 25 , 0 , 2632 , 30 , 24 ), // #686
+ INST(Sbb , X86Arith , O(000000,18,3,_,x,_,_,_ ), 0 , 76 , 0 , 2644 , 177, 2 ), // #687
+ INST(Scas , X86StrRm , O(000000,AE,_,_,_,_,_,_ ), 0 , 0 , 0 , 2648 , 178, 37 ), // #688
+ INST(Senduipi , X86M_NoSize , O(F30F00,C7,6,_,_,_,_,_ ), 0 , 24 , 0 , 2653 , 76 , 25 ), // #689
+ INST(Serialize , X86Op , O(000F01,E8,_,_,_,_,_,_ ), 0 , 21 , 0 , 2662 , 30 , 115), // #690
+ INST(Seta , X86Set , O(000F00,97,_,_,_,_,_,_ ), 0 , 4 , 0 , 2672 , 179, 59 ), // #691
+ INST(Setae , X86Set , O(000F00,93,_,_,_,_,_,_ ), 0 , 4 , 0 , 2677 , 179, 60 ), // #692
+ INST(Setb , X86Set , O(000F00,92,_,_,_,_,_,_ ), 0 , 4 , 0 , 2683 , 179, 60 ), // #693
+ INST(Setbe , X86Set , O(000F00,96,_,_,_,_,_,_ ), 0 , 4 , 0 , 2688 , 179, 59 ), // #694
+ INST(Setc , X86Set , O(000F00,92,_,_,_,_,_,_ ), 0 , 4 , 0 , 2694 , 179, 60 ), // #695
+ INST(Sete , X86Set , O(000F00,94,_,_,_,_,_,_ ), 0 , 4 , 0 , 2699 , 179, 61 ), // #696
+ INST(Setg , X86Set , O(000F00,9F,_,_,_,_,_,_ ), 0 , 4 , 0 , 2704 , 179, 62 ), // #697
+ INST(Setge , X86Set , O(000F00,9D,_,_,_,_,_,_ ), 0 , 4 , 0 , 2709 , 179, 63 ), // #698
+ INST(Setl , X86Set , O(000F00,9C,_,_,_,_,_,_ ), 0 , 4 , 0 , 2715 , 179, 63 ), // #699
+ INST(Setle , X86Set , O(000F00,9E,_,_,_,_,_,_ ), 0 , 4 , 0 , 2720 , 179, 62 ), // #700
+ INST(Setna , X86Set , O(000F00,96,_,_,_,_,_,_ ), 0 , 4 , 0 , 2726 , 179, 59 ), // #701
+ INST(Setnae , X86Set , O(000F00,92,_,_,_,_,_,_ ), 0 , 4 , 0 , 2732 , 179, 60 ), // #702
+ INST(Setnb , X86Set , O(000F00,93,_,_,_,_,_,_ ), 0 , 4 , 0 , 2739 , 179, 60 ), // #703
+ INST(Setnbe , X86Set , O(000F00,97,_,_,_,_,_,_ ), 0 , 4 , 0 , 2745 , 179, 59 ), // #704
+ INST(Setnc , X86Set , O(000F00,93,_,_,_,_,_,_ ), 0 , 4 , 0 , 2752 , 179, 60 ), // #705
+ INST(Setne , X86Set , O(000F00,95,_,_,_,_,_,_ ), 0 , 4 , 0 , 2758 , 179, 61 ), // #706
+ INST(Setng , X86Set , O(000F00,9E,_,_,_,_,_,_ ), 0 , 4 , 0 , 2764 , 179, 62 ), // #707
+ INST(Setnge , X86Set , O(000F00,9C,_,_,_,_,_,_ ), 0 , 4 , 0 , 2770 , 179, 63 ), // #708
+ INST(Setnl , X86Set , O(000F00,9D,_,_,_,_,_,_ ), 0 , 4 , 0 , 2777 , 179, 63 ), // #709
+ INST(Setnle , X86Set , O(000F00,9F,_,_,_,_,_,_ ), 0 , 4 , 0 , 2783 , 179, 62 ), // #710
+ INST(Setno , X86Set , O(000F00,91,_,_,_,_,_,_ ), 0 , 4 , 0 , 2790 , 179, 57 ), // #711
+ INST(Setnp , X86Set , O(000F00,9B,_,_,_,_,_,_ ), 0 , 4 , 0 , 2796 , 179, 64 ), // #712
+ INST(Setns , X86Set , O(000F00,99,_,_,_,_,_,_ ), 0 , 4 , 0 , 2802 , 179, 65 ), // #713
+ INST(Setnz , X86Set , O(000F00,95,_,_,_,_,_,_ ), 0 , 4 , 0 , 2808 , 179, 61 ), // #714
+ INST(Seto , X86Set , O(000F00,90,_,_,_,_,_,_ ), 0 , 4 , 0 , 2814 , 179, 57 ), // #715
+ INST(Setp , X86Set , O(000F00,9A,_,_,_,_,_,_ ), 0 , 4 , 0 , 2819 , 179, 64 ), // #716
+ INST(Setpe , X86Set , O(000F00,9A,_,_,_,_,_,_ ), 0 , 4 , 0 , 2824 , 179, 64 ), // #717
+ INST(Setpo , X86Set , O(000F00,9B,_,_,_,_,_,_ ), 0 , 4 , 0 , 2830 , 179, 64 ), // #718
+ INST(Sets , X86Set , O(000F00,98,_,_,_,_,_,_ ), 0 , 4 , 0 , 2836 , 179, 65 ), // #719
+ INST(Setssbsy , X86Op , O(F30F01,E8,_,_,_,_,_,_ ), 0 , 25 , 0 , 2841 , 30 , 56 ), // #720
+ INST(Setz , X86Set , O(000F00,94,_,_,_,_,_,_ ), 0 , 4 , 0 , 2850 , 179, 61 ), // #721
+ INST(Sfence , X86Fence , O(000F00,AE,7,_,_,_,_,_ ), 0 , 22 , 0 , 2855 , 30 , 77 ), // #722
+ INST(Sgdt , X86M_Only , O(000F00,01,0,_,_,_,_,_ ), 0 , 4 , 0 , 2862 , 31 , 0 ), // #723
+ INST(Sha1msg1 , ExtRm , O(000F38,C9,_,_,_,_,_,_ ), 0 , 84 , 0 , 2867 , 5 , 116), // #724
+ INST(Sha1msg2 , ExtRm , O(000F38,CA,_,_,_,_,_,_ ), 0 , 84 , 0 , 2876 , 5 , 116), // #725
+ INST(Sha1nexte , ExtRm , O(000F38,C8,_,_,_,_,_,_ ), 0 , 84 , 0 , 2885 , 5 , 116), // #726
+ INST(Sha1rnds4 , ExtRmi , O(000F3A,CC,_,_,_,_,_,_ ), 0 , 86 , 0 , 2895 , 8 , 116), // #727
+ INST(Sha256msg1 , ExtRm , O(000F38,CC,_,_,_,_,_,_ ), 0 , 84 , 0 , 2905 , 5 , 116), // #728
+ INST(Sha256msg2 , ExtRm , O(000F38,CD,_,_,_,_,_,_ ), 0 , 84 , 0 , 2916 , 5 , 116), // #729
+ INST(Sha256rnds2 , ExtRm_XMM0 , O(000F38,CB,_,_,_,_,_,_ ), 0 , 84 , 0 , 2927 , 15 , 116), // #730
+ INST(Shl , X86Rot , O(000000,D0,4,_,x,_,_,_ ), 0 , 9 , 0 , 2939 , 170, 1 ), // #731
+ INST(Shld , X86ShldShrd , O(000F00,A4,_,_,x,_,_,_ ), 0 , 4 , 0 , 8963 , 180, 1 ), // #732
+ INST(Shlx , VexRmv_Wx , V(660F38,F7,_,0,x,_,_,_ ), 0 , 97 , 0 , 2943 , 13 , 85 ), // #733
+ INST(Shr , X86Rot , O(000000,D0,5,_,x,_,_,_ ), 0 , 63 , 0 , 2948 , 170, 1 ), // #734
+ INST(Shrd , X86ShldShrd , O(000F00,AC,_,_,x,_,_,_ ), 0 , 4 , 0 , 2952 , 180, 1 ), // #735
+ INST(Shrx , VexRmv_Wx , V(F20F38,F7,_,0,x,_,_,_ ), 0 , 85 , 0 , 2957 , 13 , 85 ), // #736
+ INST(Shufpd , ExtRmi , O(660F00,C6,_,_,_,_,_,_ ), 0 , 3 , 0 , 10188, 8 , 4 ), // #737
+ INST(Shufps , ExtRmi , O(000F00,C6,_,_,_,_,_,_ ), 0 , 4 , 0 , 10196, 8 , 5 ), // #738
+ INST(Sidt , X86M_Only , O(000F00,01,1,_,_,_,_,_ ), 0 , 29 , 0 , 2962 , 31 , 0 ), // #739
+ INST(Skinit , X86Op_xAX , O(000F01,DE,_,_,_,_,_,_ ), 0 , 21 , 0 , 2967 , 52 , 117), // #740
+ INST(Sldt , X86M_NoMemSize , O(000F00,00,0,_,_,_,_,_ ), 0 , 4 , 0 , 2974 , 181, 0 ), // #741
+ INST(Slwpcb , VexR_Wx , V(XOP_M9,12,1,0,x,_,_,_ ), 0 , 11 , 0 , 2979 , 106, 74 ), // #742
+ INST(Smsw , X86M_NoMemSize , O(000F00,01,4,_,_,_,_,_ ), 0 , 98 , 0 , 2986 , 181, 0 ), // #743
+ INST(Sqrtpd , ExtRm , O(660F00,51,_,_,_,_,_,_ ), 0 , 3 , 0 , 10204, 5 , 4 ), // #744
+ INST(Sqrtps , ExtRm , O(000F00,51,_,_,_,_,_,_ ), 0 , 4 , 0 , 9919 , 5 , 5 ), // #745
+ INST(Sqrtsd , ExtRm , O(F20F00,51,_,_,_,_,_,_ ), 0 , 5 , 0 , 10220, 6 , 4 ), // #746
+ INST(Sqrtss , ExtRm , O(F30F00,51,_,_,_,_,_,_ ), 0 , 6 , 0 , 9928 , 7 , 5 ), // #747
+ INST(Stac , X86Op , O(000F01,CB,_,_,_,_,_,_ ), 0 , 21 , 0 , 2991 , 30 , 16 ), // #748
+ INST(Stc , X86Op , O(000000,F9,_,_,_,_,_,_ ), 0 , 0 , 0 , 2996 , 30 , 17 ), // #749
+ INST(Std , X86Op , O(000000,FD,_,_,_,_,_,_ ), 0 , 0 , 0 , 6946 , 30 , 18 ), // #750
+ INST(Stgi , X86Op , O(000F01,DC,_,_,_,_,_,_ ), 0 , 21 , 0 , 3000 , 30 , 117), // #751
+ INST(Sti , X86Op , O(000000,FB,_,_,_,_,_,_ ), 0 , 0 , 0 , 3005 , 30 , 23 ), // #752
+ INST(Stmxcsr , X86M_Only , O(000F00,AE,3,_,_,_,_,_ ), 0 , 79 , 0 , 10236, 99 , 5 ), // #753
+ INST(Stos , X86StrMr , O(000000,AA,_,_,_,_,_,_ ), 0 , 0 , 0 , 3009 , 182, 75 ), // #754
+ INST(Str , X86M_NoMemSize , O(000F00,00,1,_,_,_,_,_ ), 0 , 29 , 0 , 3014 , 181, 0 ), // #755
+ INST(Sttilecfg , AmxCfg , V(660F38,49,_,0,0,_,_,_ ), 0 , 97 , 0 , 3018 , 101, 73 ), // #756
+ INST(Stui , X86Op , O(F30F01,EF,_,_,_,_,_,_ ), 0 , 25 , 0 , 3135 , 33 , 25 ), // #757
+ INST(Sub , X86Arith , O(000000,28,5,_,x,_,_,_ ), 0 , 63 , 0 , 866 , 177, 1 ), // #758
+ INST(Subpd , ExtRm , O(660F00,5C,_,_,_,_,_,_ ), 0 , 3 , 0 , 4848 , 5 , 4 ), // #759
+ INST(Subps , ExtRm , O(000F00,5C,_,_,_,_,_,_ ), 0 , 4 , 0 , 4860 , 5 , 5 ), // #760
+ INST(Subsd , ExtRm , O(F20F00,5C,_,_,_,_,_,_ ), 0 , 5 , 0 , 5536 , 6 , 4 ), // #761
+ INST(Subss , ExtRm , O(F30F00,5C,_,_,_,_,_,_ ), 0 , 6 , 0 , 5546 , 7 , 5 ), // #762
+ INST(Swapgs , X86Op , O(000F01,F8,_,_,_,_,_,_ ), 0 , 21 , 0 , 3028 , 33 , 0 ), // #763
+ INST(Syscall , X86Op , O(000F00,05,_,_,_,_,_,_ ), 0 , 4 , 0 , 3035 , 33 , 0 ), // #764
+ INST(Sysenter , X86Op , O(000F00,34,_,_,_,_,_,_ ), 0 , 4 , 0 , 3043 , 30 , 0 ), // #765
+ INST(Sysexit , X86Op , O(000F00,35,_,_,_,_,_,_ ), 0 , 4 , 0 , 3052 , 30 , 0 ), // #766
+ INST(Sysexitq , X86Op , O(000F00,35,_,_,1,_,_,_ ), 0 , 61 , 0 , 3060 , 30 , 0 ), // #767
+ INST(Sysret , X86Op , O(000F00,07,_,_,_,_,_,_ ), 0 , 4 , 0 , 3069 , 33 , 0 ), // #768
+ INST(Sysretq , X86Op , O(000F00,07,_,_,1,_,_,_ ), 0 , 61 , 0 , 3076 , 33 , 0 ), // #769
+ INST(T1mskc , VexVm_Wx , V(XOP_M9,01,7,0,x,_,_,_ ), 0 , 99 , 0 , 3084 , 14 , 11 ), // #770
+ INST(Tdpbf16ps , AmxRmv , V(F30F38,5C,_,0,0,_,_,_ ), 0 , 89 , 0 , 3091 , 183, 118), // #771
+ INST(Tdpbssd , AmxRmv , V(F20F38,5E,_,0,0,_,_,_ ), 0 , 85 , 0 , 3101 , 183, 119), // #772
+ INST(Tdpbsud , AmxRmv , V(F30F38,5E,_,0,0,_,_,_ ), 0 , 89 , 0 , 3109 , 183, 119), // #773
+ INST(Tdpbusd , AmxRmv , V(660F38,5E,_,0,0,_,_,_ ), 0 , 97 , 0 , 3117 , 183, 119), // #774
+ INST(Tdpbuud , AmxRmv , V(000F38,5E,_,0,0,_,_,_ ), 0 , 10 , 0 , 3125 , 183, 119), // #775
+ INST(Test , X86Test , O(000000,84,_,_,x,_,_,_ ), O(000000,F6,_,_,x,_,_,_ ), 0 , 80 , 9392 , 184, 1 ), // #776
+ INST(Testui , X86Op , O(F30F01,ED,_,_,_,_,_,_ ), 0 , 25 , 0 , 3133 , 33 , 120), // #777
+ INST(Tileloadd , AmxRm , V(F20F38,4B,_,0,0,_,_,_ ), 0 , 85 , 0 , 3140 , 185, 73 ), // #778
+ INST(Tileloaddt1 , AmxRm , V(660F38,4B,_,0,0,_,_,_ ), 0 , 97 , 0 , 3150 , 185, 73 ), // #779
+ INST(Tilerelease , VexOpMod , V(000F38,49,0,0,0,_,_,_ ), 0 , 10 , 0 , 3162 , 186, 73 ), // #780
+ INST(Tilestored , AmxMr , V(F30F38,4B,_,0,0,_,_,_ ), 0 , 89 , 0 , 3174 , 187, 73 ), // #781
+ INST(Tilezero , AmxR , V(F20F38,49,_,0,0,_,_,_ ), 0 , 85 , 0 , 3185 , 188, 73 ), // #782
+ INST(Tpause , X86R32_EDX_EAX , O(660F00,AE,6,_,_,_,_,_ ), 0 , 26 , 0 , 3194 , 189, 121), // #783
+ INST(Tzcnt , X86Rm_Raw66H , O(F30F00,BC,_,_,x,_,_,_ ), 0 , 6 , 0 , 3201 , 22 , 9 ), // #784
+ INST(Tzmsk , VexVm_Wx , V(XOP_M9,01,4,0,x,_,_,_ ), 0 , 100, 0 , 3207 , 14 , 11 ), // #785
+ INST(Ucomisd , ExtRm , O(660F00,2E,_,_,_,_,_,_ ), 0 , 3 , 0 , 10289, 6 , 41 ), // #786
+ INST(Ucomiss , ExtRm , O(000F00,2E,_,_,_,_,_,_ ), 0 , 4 , 0 , 10298, 7 , 42 ), // #787
+ INST(Ud0 , X86Rm , O(000F00,FF,_,_,_,_,_,_ ), 0 , 4 , 0 , 3213 , 190, 0 ), // #788
+ INST(Ud1 , X86Rm , O(000F00,B9,_,_,_,_,_,_ ), 0 , 4 , 0 , 3217 , 190, 0 ), // #789
+ INST(Ud2 , X86Op , O(000F00,0B,_,_,_,_,_,_ ), 0 , 4 , 0 , 3221 , 30 , 0 ), // #790
+ INST(Uiret , X86Op , O(F30F01,EC,_,_,_,_,_,_ ), 0 , 25 , 0 , 3225 , 33 , 25 ), // #791
+ INST(Umonitor , X86R_FromM , O(F30F00,AE,6,_,_,_,_,_ ), 0 , 24 , 0 , 3231 , 191, 122), // #792
+ INST(Umwait , X86R32_EDX_EAX , O(F20F00,AE,6,_,_,_,_,_ ), 0 , 101, 0 , 3240 , 189, 121), // #793
+ INST(Unpckhpd , ExtRm , O(660F00,15,_,_,_,_,_,_ ), 0 , 3 , 0 , 10307, 5 , 4 ), // #794
+ INST(Unpckhps , ExtRm , O(000F00,15,_,_,_,_,_,_ ), 0 , 4 , 0 , 10317, 5 , 5 ), // #795
+ INST(Unpcklpd , ExtRm , O(660F00,14,_,_,_,_,_,_ ), 0 , 3 , 0 , 10327, 5 , 4 ), // #796
+ INST(Unpcklps , ExtRm , O(000F00,14,_,_,_,_,_,_ ), 0 , 4 , 0 , 10337, 5 , 5 ), // #797
+ INST(V4fmaddps , VexRm_T1_4X , E(F20F38,9A,_,2,_,0,4,T4X), 0 , 102, 0 , 3247 , 192, 123), // #798
+ INST(V4fmaddss , VexRm_T1_4X , E(F20F38,9B,_,0,_,0,4,T4X), 0 , 103, 0 , 3257 , 193, 123), // #799
+ INST(V4fnmaddps , VexRm_T1_4X , E(F20F38,AA,_,2,_,0,4,T4X), 0 , 102, 0 , 3267 , 192, 123), // #800
+ INST(V4fnmaddss , VexRm_T1_4X , E(F20F38,AB,_,0,_,0,4,T4X), 0 , 103, 0 , 3278 , 193, 123), // #801
+ INST(Vaddpd , VexRvm_Lx , V(660F00,58,_,x,I,1,4,FV ), 0 , 104, 0 , 3289 , 194, 124), // #802
+ INST(Vaddps , VexRvm_Lx , V(000F00,58,_,x,I,0,4,FV ), 0 , 105, 0 , 3296 , 195, 124), // #803
+ INST(Vaddsd , VexRvm , V(F20F00,58,_,I,I,1,3,T1S), 0 , 106, 0 , 3303 , 196, 125), // #804
+ INST(Vaddss , VexRvm , V(F30F00,58,_,I,I,0,2,T1S), 0 , 107, 0 , 3310 , 197, 125), // #805
+ INST(Vaddsubpd , VexRvm_Lx , V(660F00,D0,_,x,I,_,_,_ ), 0 , 70 , 0 , 3317 , 198, 126), // #806
+ INST(Vaddsubps , VexRvm_Lx , V(F20F00,D0,_,x,I,_,_,_ ), 0 , 108, 0 , 3327 , 198, 126), // #807
+ INST(Vaesdec , VexRvm_Lx , V(660F38,DE,_,x,I,_,4,FVM), 0 , 109, 0 , 3337 , 199, 127), // #808
+ INST(Vaesdeclast , VexRvm_Lx , V(660F38,DF,_,x,I,_,4,FVM), 0 , 109, 0 , 3345 , 199, 127), // #809
+ INST(Vaesenc , VexRvm_Lx , V(660F38,DC,_,x,I,_,4,FVM), 0 , 109, 0 , 3357 , 199, 127), // #810
+ INST(Vaesenclast , VexRvm_Lx , V(660F38,DD,_,x,I,_,4,FVM), 0 , 109, 0 , 3365 , 199, 127), // #811
+ INST(Vaesimc , VexRm , V(660F38,DB,_,0,I,_,_,_ ), 0 , 97 , 0 , 3377 , 200, 128), // #812
+ INST(Vaeskeygenassist , VexRmi , V(660F3A,DF,_,0,I,_,_,_ ), 0 , 74 , 0 , 3385 , 201, 128), // #813
+ INST(Valignd , VexRvmi_Lx , E(660F3A,03,_,x,_,0,4,FV ), 0 , 110, 0 , 3402 , 202, 129), // #814
+ INST(Valignq , VexRvmi_Lx , E(660F3A,03,_,x,_,1,4,FV ), 0 , 111, 0 , 3410 , 203, 129), // #815
+ INST(Vandnpd , VexRvm_Lx , V(660F00,55,_,x,I,1,4,FV ), 0 , 104, 0 , 3418 , 204, 130), // #816
+ INST(Vandnps , VexRvm_Lx , V(000F00,55,_,x,I,0,4,FV ), 0 , 105, 0 , 3426 , 205, 130), // #817
+ INST(Vandpd , VexRvm_Lx , V(660F00,54,_,x,I,1,4,FV ), 0 , 104, 0 , 3434 , 206, 130), // #818
+ INST(Vandps , VexRvm_Lx , V(000F00,54,_,x,I,0,4,FV ), 0 , 105, 0 , 3441 , 207, 130), // #819
+ INST(Vblendmpd , VexRvm_Lx , E(660F38,65,_,x,_,1,4,FV ), 0 , 112, 0 , 3448 , 208, 129), // #820
+ INST(Vblendmps , VexRvm_Lx , E(660F38,65,_,x,_,0,4,FV ), 0 , 113, 0 , 3458 , 209, 129), // #821
+ INST(Vblendpd , VexRvmi_Lx , V(660F3A,0D,_,x,I,_,_,_ ), 0 , 74 , 0 , 3468 , 210, 126), // #822
+ INST(Vblendps , VexRvmi_Lx , V(660F3A,0C,_,x,I,_,_,_ ), 0 , 74 , 0 , 3477 , 210, 126), // #823
+ INST(Vblendvpd , VexRvmr_Lx , V(660F3A,4B,_,x,0,_,_,_ ), 0 , 74 , 0 , 3486 , 211, 126), // #824
+ INST(Vblendvps , VexRvmr_Lx , V(660F3A,4A,_,x,0,_,_,_ ), 0 , 74 , 0 , 3496 , 211, 126), // #825
+ INST(Vbroadcastf128 , VexRm , V(660F38,1A,_,1,0,_,_,_ ), 0 , 114, 0 , 3506 , 212, 126), // #826
+ INST(Vbroadcastf32x2 , VexRm_Lx , E(660F38,19,_,x,_,0,3,T2 ), 0 , 115, 0 , 3521 , 213, 131), // #827
+ INST(Vbroadcastf32x4 , VexRm_Lx , E(660F38,1A,_,x,_,0,4,T4 ), 0 , 116, 0 , 3537 , 214, 68 ), // #828
+ INST(Vbroadcastf32x8 , VexRm , E(660F38,1B,_,2,_,0,5,T8 ), 0 , 117, 0 , 3553 , 215, 66 ), // #829
+ INST(Vbroadcastf64x2 , VexRm_Lx , E(660F38,1A,_,x,_,1,4,T2 ), 0 , 118, 0 , 3569 , 214, 131), // #830
+ INST(Vbroadcastf64x4 , VexRm , E(660F38,1B,_,2,_,1,5,T4 ), 0 , 119, 0 , 3585 , 215, 68 ), // #831
+ INST(Vbroadcasti128 , VexRm , V(660F38,5A,_,1,0,_,_,_ ), 0 , 114, 0 , 3601 , 212, 132), // #832
+ INST(Vbroadcasti32x2 , VexRm_Lx , E(660F38,59,_,x,_,0,3,T2 ), 0 , 115, 0 , 3616 , 216, 131), // #833
+ INST(Vbroadcasti32x4 , VexRm_Lx , E(660F38,5A,_,x,_,0,4,T4 ), 0 , 116, 0 , 3632 , 214, 129), // #834
+ INST(Vbroadcasti32x8 , VexRm , E(660F38,5B,_,2,_,0,5,T8 ), 0 , 117, 0 , 3648 , 215, 66 ), // #835
+ INST(Vbroadcasti64x2 , VexRm_Lx , E(660F38,5A,_,x,_,1,4,T2 ), 0 , 118, 0 , 3664 , 214, 131), // #836
+ INST(Vbroadcasti64x4 , VexRm , E(660F38,5B,_,2,_,1,5,T4 ), 0 , 119, 0 , 3680 , 215, 68 ), // #837
+ INST(Vbroadcastsd , VexRm_Lx , V(660F38,19,_,x,0,1,3,T1S), 0 , 120, 0 , 3696 , 217, 133), // #838
+ INST(Vbroadcastss , VexRm_Lx , V(660F38,18,_,x,0,0,2,T1S), 0 , 121, 0 , 3709 , 218, 133), // #839
+ INST(Vcmppd , VexRvmi_Lx_KEvex , V(660F00,C2,_,x,I,1,4,FV ), 0 , 104, 0 , 3722 , 219, 124), // #840
+ INST(Vcmpps , VexRvmi_Lx_KEvex , V(000F00,C2,_,x,I,0,4,FV ), 0 , 105, 0 , 3729 , 220, 124), // #841
+ INST(Vcmpsd , VexRvmi_KEvex , V(F20F00,C2,_,I,I,1,3,T1S), 0 , 106, 0 , 3736 , 221, 125), // #842
+ INST(Vcmpss , VexRvmi_KEvex , V(F30F00,C2,_,I,I,0,2,T1S), 0 , 107, 0 , 3743 , 222, 125), // #843
+ INST(Vcomisd , VexRm , V(660F00,2F,_,I,I,1,3,T1S), 0 , 122, 0 , 3750 , 223, 134), // #844
+ INST(Vcomiss , VexRm , V(000F00,2F,_,I,I,0,2,T1S), 0 , 123, 0 , 3758 , 224, 134), // #845
+ INST(Vcompresspd , VexMr_Lx , E(660F38,8A,_,x,_,1,3,T1S), 0 , 124, 0 , 3766 , 225, 129), // #846
+ INST(Vcompressps , VexMr_Lx , E(660F38,8A,_,x,_,0,2,T1S), 0 , 125, 0 , 3778 , 225, 129), // #847
+ INST(Vcvtdq2pd , VexRm_Lx , V(F30F00,E6,_,x,I,0,3,HV ), 0 , 126, 0 , 3790 , 226, 124), // #848
+ INST(Vcvtdq2ps , VexRm_Lx , V(000F00,5B,_,x,I,0,4,FV ), 0 , 105, 0 , 3800 , 227, 124), // #849
+ INST(Vcvtne2ps2bf16 , VexRvm_Lx , E(F20F38,72,_,_,_,0,4,FV ), 0 , 127, 0 , 3810 , 209, 135), // #850
+ INST(Vcvtneps2bf16 , VexRm_Lx_Narrow , E(F30F38,72,_,_,_,0,4,FV ), 0 , 128, 0 , 3825 , 228, 135), // #851
+ INST(Vcvtpd2dq , VexRm_Lx_Narrow , V(F20F00,E6,_,x,I,1,4,FV ), 0 , 129, 0 , 3839 , 229, 124), // #852
+ INST(Vcvtpd2ps , VexRm_Lx_Narrow , V(660F00,5A,_,x,I,1,4,FV ), 0 , 104, 0 , 3849 , 229, 124), // #853
+ INST(Vcvtpd2qq , VexRm_Lx , E(660F00,7B,_,x,_,1,4,FV ), 0 , 130, 0 , 3859 , 230, 131), // #854
+ INST(Vcvtpd2udq , VexRm_Lx_Narrow , E(000F00,79,_,x,_,1,4,FV ), 0 , 131, 0 , 3869 , 231, 129), // #855
+ INST(Vcvtpd2uqq , VexRm_Lx , E(660F00,79,_,x,_,1,4,FV ), 0 , 130, 0 , 3880 , 230, 131), // #856
+ INST(Vcvtph2ps , VexRm_Lx , V(660F38,13,_,x,0,0,3,HVM), 0 , 132, 0 , 3891 , 232, 136), // #857
+ INST(Vcvtps2dq , VexRm_Lx , V(660F00,5B,_,x,I,0,4,FV ), 0 , 133, 0 , 3901 , 227, 124), // #858
+ INST(Vcvtps2pd , VexRm_Lx , V(000F00,5A,_,x,I,0,3,HV ), 0 , 134, 0 , 3911 , 233, 124), // #859
+ INST(Vcvtps2ph , VexMri_Lx , V(660F3A,1D,_,x,0,0,3,HVM), 0 , 135, 0 , 3921 , 234, 136), // #860
+ INST(Vcvtps2qq , VexRm_Lx , E(660F00,7B,_,x,_,0,3,HV ), 0 , 136, 0 , 3931 , 235, 131), // #861
+ INST(Vcvtps2udq , VexRm_Lx , E(000F00,79,_,x,_,0,4,FV ), 0 , 137, 0 , 3941 , 236, 129), // #862
+ INST(Vcvtps2uqq , VexRm_Lx , E(660F00,79,_,x,_,0,3,HV ), 0 , 136, 0 , 3952 , 235, 131), // #863
+ INST(Vcvtqq2pd , VexRm_Lx , E(F30F00,E6,_,x,_,1,4,FV ), 0 , 138, 0 , 3963 , 230, 131), // #864
+ INST(Vcvtqq2ps , VexRm_Lx_Narrow , E(000F00,5B,_,x,_,1,4,FV ), 0 , 131, 0 , 3973 , 231, 131), // #865
+ INST(Vcvtsd2si , VexRm_Wx , V(F20F00,2D,_,I,x,x,3,T1F), 0 , 139, 0 , 3983 , 237, 125), // #866
+ INST(Vcvtsd2ss , VexRvm , V(F20F00,5A,_,I,I,1,3,T1S), 0 , 106, 0 , 3993 , 196, 125), // #867
+ INST(Vcvtsd2usi , VexRm_Wx , E(F20F00,79,_,I,_,x,3,T1F), 0 , 140, 0 , 4003 , 238, 68 ), // #868
+ INST(Vcvtsi2sd , VexRvm_Wx , V(F20F00,2A,_,I,x,x,2,T1W), 0 , 141, 0 , 4014 , 239, 125), // #869
+ INST(Vcvtsi2ss , VexRvm_Wx , V(F30F00,2A,_,I,x,x,2,T1W), 0 , 142, 0 , 4024 , 239, 125), // #870
+ INST(Vcvtss2sd , VexRvm , V(F30F00,5A,_,I,I,0,2,T1S), 0 , 107, 0 , 4034 , 240, 125), // #871
+ INST(Vcvtss2si , VexRm_Wx , V(F30F00,2D,_,I,x,x,2,T1F), 0 , 143, 0 , 4044 , 241, 125), // #872
+ INST(Vcvtss2usi , VexRm_Wx , E(F30F00,79,_,I,_,x,2,T1F), 0 , 144, 0 , 4054 , 242, 68 ), // #873
+ INST(Vcvttpd2dq , VexRm_Lx_Narrow , V(660F00,E6,_,x,I,1,4,FV ), 0 , 104, 0 , 4065 , 243, 124), // #874
+ INST(Vcvttpd2qq , VexRm_Lx , E(660F00,7A,_,x,_,1,4,FV ), 0 , 130, 0 , 4076 , 244, 129), // #875
+ INST(Vcvttpd2udq , VexRm_Lx_Narrow , E(000F00,78,_,x,_,1,4,FV ), 0 , 131, 0 , 4087 , 245, 129), // #876
+ INST(Vcvttpd2uqq , VexRm_Lx , E(660F00,78,_,x,_,1,4,FV ), 0 , 130, 0 , 4099 , 244, 131), // #877
+ INST(Vcvttps2dq , VexRm_Lx , V(F30F00,5B,_,x,I,0,4,FV ), 0 , 145, 0 , 4111 , 246, 124), // #878
+ INST(Vcvttps2qq , VexRm_Lx , E(660F00,7A,_,x,_,0,3,HV ), 0 , 136, 0 , 4122 , 247, 131), // #879
+ INST(Vcvttps2udq , VexRm_Lx , E(000F00,78,_,x,_,0,4,FV ), 0 , 137, 0 , 4133 , 248, 129), // #880
+ INST(Vcvttps2uqq , VexRm_Lx , E(660F00,78,_,x,_,0,3,HV ), 0 , 136, 0 , 4145 , 247, 131), // #881
+ INST(Vcvttsd2si , VexRm_Wx , V(F20F00,2C,_,I,x,x,3,T1F), 0 , 139, 0 , 4157 , 249, 125), // #882
+ INST(Vcvttsd2usi , VexRm_Wx , E(F20F00,78,_,I,_,x,3,T1F), 0 , 140, 0 , 4168 , 250, 68 ), // #883
+ INST(Vcvttss2si , VexRm_Wx , V(F30F00,2C,_,I,x,x,2,T1F), 0 , 143, 0 , 4180 , 251, 125), // #884
+ INST(Vcvttss2usi , VexRm_Wx , E(F30F00,78,_,I,_,x,2,T1F), 0 , 144, 0 , 4191 , 252, 68 ), // #885
+ INST(Vcvtudq2pd , VexRm_Lx , E(F30F00,7A,_,x,_,0,3,HV ), 0 , 146, 0 , 4203 , 253, 129), // #886
+ INST(Vcvtudq2ps , VexRm_Lx , E(F20F00,7A,_,x,_,0,4,FV ), 0 , 147, 0 , 4214 , 236, 129), // #887
+ INST(Vcvtuqq2pd , VexRm_Lx , E(F30F00,7A,_,x,_,1,4,FV ), 0 , 138, 0 , 4225 , 230, 131), // #888
+ INST(Vcvtuqq2ps , VexRm_Lx_Narrow , E(F20F00,7A,_,x,_,1,4,FV ), 0 , 148, 0 , 4236 , 231, 131), // #889
+ INST(Vcvtusi2sd , VexRvm_Wx , E(F20F00,7B,_,I,_,x,2,T1W), 0 , 149, 0 , 4247 , 254, 68 ), // #890
+ INST(Vcvtusi2ss , VexRvm_Wx , E(F30F00,7B,_,I,_,x,2,T1W), 0 , 150, 0 , 4258 , 254, 68 ), // #891
+ INST(Vdbpsadbw , VexRvmi_Lx , E(660F3A,42,_,x,_,0,4,FVM), 0 , 151, 0 , 4269 , 255, 137), // #892
+ INST(Vdivpd , VexRvm_Lx , V(660F00,5E,_,x,I,1,4,FV ), 0 , 104, 0 , 4279 , 194, 124), // #893
+ INST(Vdivps , VexRvm_Lx , V(000F00,5E,_,x,I,0,4,FV ), 0 , 105, 0 , 4286 , 195, 124), // #894
+ INST(Vdivsd , VexRvm , V(F20F00,5E,_,I,I,1,3,T1S), 0 , 106, 0 , 4293 , 196, 125), // #895
+ INST(Vdivss , VexRvm , V(F30F00,5E,_,I,I,0,2,T1S), 0 , 107, 0 , 4300 , 197, 125), // #896
+ INST(Vdpbf16ps , VexRvm_Lx , E(F30F38,52,_,_,_,0,4,FV ), 0 , 128, 0 , 4307 , 209, 135), // #897
+ INST(Vdppd , VexRvmi_Lx , V(660F3A,41,_,x,I,_,_,_ ), 0 , 74 , 0 , 4317 , 256, 126), // #898
+ INST(Vdpps , VexRvmi_Lx , V(660F3A,40,_,x,I,_,_,_ ), 0 , 74 , 0 , 4323 , 210, 126), // #899
+ INST(Verr , X86M_NoSize , O(000F00,00,4,_,_,_,_,_ ), 0 , 98 , 0 , 4329 , 105, 10 ), // #900
+ INST(Verw , X86M_NoSize , O(000F00,00,5,_,_,_,_,_ ), 0 , 78 , 0 , 4334 , 105, 10 ), // #901
+ INST(Vexp2pd , VexRm , E(660F38,C8,_,2,_,1,4,FV ), 0 , 152, 0 , 4339 , 257, 138), // #902
+ INST(Vexp2ps , VexRm , E(660F38,C8,_,2,_,0,4,FV ), 0 , 153, 0 , 4347 , 258, 138), // #903
+ INST(Vexpandpd , VexRm_Lx , E(660F38,88,_,x,_,1,3,T1S), 0 , 124, 0 , 4355 , 259, 129), // #904
+ INST(Vexpandps , VexRm_Lx , E(660F38,88,_,x,_,0,2,T1S), 0 , 125, 0 , 4365 , 259, 129), // #905
+ INST(Vextractf128 , VexMri , V(660F3A,19,_,1,0,_,_,_ ), 0 , 154, 0 , 4375 , 260, 126), // #906
+ INST(Vextractf32x4 , VexMri_Lx , E(660F3A,19,_,x,_,0,4,T4 ), 0 , 155, 0 , 4388 , 261, 129), // #907
+ INST(Vextractf32x8 , VexMri , E(660F3A,1B,_,2,_,0,5,T8 ), 0 , 156, 0 , 4402 , 262, 66 ), // #908
+ INST(Vextractf64x2 , VexMri_Lx , E(660F3A,19,_,x,_,1,4,T2 ), 0 , 157, 0 , 4416 , 261, 131), // #909
+ INST(Vextractf64x4 , VexMri , E(660F3A,1B,_,2,_,1,5,T4 ), 0 , 158, 0 , 4430 , 262, 68 ), // #910
+ INST(Vextracti128 , VexMri , V(660F3A,39,_,1,0,_,_,_ ), 0 , 154, 0 , 4444 , 260, 132), // #911
+ INST(Vextracti32x4 , VexMri_Lx , E(660F3A,39,_,x,_,0,4,T4 ), 0 , 155, 0 , 4457 , 261, 129), // #912
+ INST(Vextracti32x8 , VexMri , E(660F3A,3B,_,2,_,0,5,T8 ), 0 , 156, 0 , 4471 , 262, 66 ), // #913
+ INST(Vextracti64x2 , VexMri_Lx , E(660F3A,39,_,x,_,1,4,T2 ), 0 , 157, 0 , 4485 , 261, 131), // #914
+ INST(Vextracti64x4 , VexMri , E(660F3A,3B,_,2,_,1,5,T4 ), 0 , 158, 0 , 4499 , 262, 68 ), // #915
+ INST(Vextractps , VexMri , V(660F3A,17,_,0,I,I,2,T1S), 0 , 159, 0 , 4513 , 263, 125), // #916
+ INST(Vfixupimmpd , VexRvmi_Lx , E(660F3A,54,_,x,_,1,4,FV ), 0 , 111, 0 , 4524 , 264, 129), // #917
+ INST(Vfixupimmps , VexRvmi_Lx , E(660F3A,54,_,x,_,0,4,FV ), 0 , 110, 0 , 4536 , 265, 129), // #918
+ INST(Vfixupimmsd , VexRvmi , E(660F3A,55,_,I,_,1,3,T1S), 0 , 160, 0 , 4548 , 266, 68 ), // #919
+ INST(Vfixupimmss , VexRvmi , E(660F3A,55,_,I,_,0,2,T1S), 0 , 161, 0 , 4560 , 267, 68 ), // #920
+ INST(Vfmadd132pd , VexRvm_Lx , V(660F38,98,_,x,1,1,4,FV ), 0 , 162, 0 , 4572 , 194, 139), // #921
+ INST(Vfmadd132ps , VexRvm_Lx , V(660F38,98,_,x,0,0,4,FV ), 0 , 163, 0 , 4584 , 195, 139), // #922
+ INST(Vfmadd132sd , VexRvm , V(660F38,99,_,I,1,1,3,T1S), 0 , 164, 0 , 4596 , 196, 140), // #923
+ INST(Vfmadd132ss , VexRvm , V(660F38,99,_,I,0,0,2,T1S), 0 , 121, 0 , 4608 , 197, 140), // #924
+ INST(Vfmadd213pd , VexRvm_Lx , V(660F38,A8,_,x,1,1,4,FV ), 0 , 162, 0 , 4620 , 194, 139), // #925
+ INST(Vfmadd213ps , VexRvm_Lx , V(660F38,A8,_,x,0,0,4,FV ), 0 , 163, 0 , 4632 , 195, 139), // #926
+ INST(Vfmadd213sd , VexRvm , V(660F38,A9,_,I,1,1,3,T1S), 0 , 164, 0 , 4644 , 196, 140), // #927
+ INST(Vfmadd213ss , VexRvm , V(660F38,A9,_,I,0,0,2,T1S), 0 , 121, 0 , 4656 , 197, 140), // #928
+ INST(Vfmadd231pd , VexRvm_Lx , V(660F38,B8,_,x,1,1,4,FV ), 0 , 162, 0 , 4668 , 194, 139), // #929
+ INST(Vfmadd231ps , VexRvm_Lx , V(660F38,B8,_,x,0,0,4,FV ), 0 , 163, 0 , 4680 , 195, 139), // #930
+ INST(Vfmadd231sd , VexRvm , V(660F38,B9,_,I,1,1,3,T1S), 0 , 164, 0 , 4692 , 196, 140), // #931
+ INST(Vfmadd231ss , VexRvm , V(660F38,B9,_,I,0,0,2,T1S), 0 , 121, 0 , 4704 , 197, 140), // #932
+ INST(Vfmaddpd , Fma4_Lx , V(660F3A,69,_,x,x,_,_,_ ), 0 , 74 , 0 , 4716 , 268, 141), // #933
+ INST(Vfmaddps , Fma4_Lx , V(660F3A,68,_,x,x,_,_,_ ), 0 , 74 , 0 , 4725 , 268, 141), // #934
+ INST(Vfmaddsd , Fma4 , V(660F3A,6B,_,0,x,_,_,_ ), 0 , 74 , 0 , 4734 , 269, 141), // #935
+ INST(Vfmaddss , Fma4 , V(660F3A,6A,_,0,x,_,_,_ ), 0 , 74 , 0 , 4743 , 270, 141), // #936
+ INST(Vfmaddsub132pd , VexRvm_Lx , V(660F38,96,_,x,1,1,4,FV ), 0 , 162, 0 , 4752 , 194, 139), // #937
+ INST(Vfmaddsub132ps , VexRvm_Lx , V(660F38,96,_,x,0,0,4,FV ), 0 , 163, 0 , 4767 , 195, 139), // #938
+ INST(Vfmaddsub213pd , VexRvm_Lx , V(660F38,A6,_,x,1,1,4,FV ), 0 , 162, 0 , 4782 , 194, 139), // #939
+ INST(Vfmaddsub213ps , VexRvm_Lx , V(660F38,A6,_,x,0,0,4,FV ), 0 , 163, 0 , 4797 , 195, 139), // #940
+ INST(Vfmaddsub231pd , VexRvm_Lx , V(660F38,B6,_,x,1,1,4,FV ), 0 , 162, 0 , 4812 , 194, 139), // #941
+ INST(Vfmaddsub231ps , VexRvm_Lx , V(660F38,B6,_,x,0,0,4,FV ), 0 , 163, 0 , 4827 , 195, 139), // #942
+ INST(Vfmaddsubpd , Fma4_Lx , V(660F3A,5D,_,x,x,_,_,_ ), 0 , 74 , 0 , 4842 , 268, 141), // #943
+ INST(Vfmaddsubps , Fma4_Lx , V(660F3A,5C,_,x,x,_,_,_ ), 0 , 74 , 0 , 4854 , 268, 141), // #944
+ INST(Vfmsub132pd , VexRvm_Lx , V(660F38,9A,_,x,1,1,4,FV ), 0 , 162, 0 , 4866 , 194, 139), // #945
+ INST(Vfmsub132ps , VexRvm_Lx , V(660F38,9A,_,x,0,0,4,FV ), 0 , 163, 0 , 4878 , 195, 139), // #946
+ INST(Vfmsub132sd , VexRvm , V(660F38,9B,_,I,1,1,3,T1S), 0 , 164, 0 , 4890 , 196, 140), // #947
+ INST(Vfmsub132ss , VexRvm , V(660F38,9B,_,I,0,0,2,T1S), 0 , 121, 0 , 4902 , 197, 140), // #948
+ INST(Vfmsub213pd , VexRvm_Lx , V(660F38,AA,_,x,1,1,4,FV ), 0 , 162, 0 , 4914 , 194, 139), // #949
+ INST(Vfmsub213ps , VexRvm_Lx , V(660F38,AA,_,x,0,0,4,FV ), 0 , 163, 0 , 4926 , 195, 139), // #950
+ INST(Vfmsub213sd , VexRvm , V(660F38,AB,_,I,1,1,3,T1S), 0 , 164, 0 , 4938 , 196, 140), // #951
+ INST(Vfmsub213ss , VexRvm , V(660F38,AB,_,I,0,0,2,T1S), 0 , 121, 0 , 4950 , 197, 140), // #952
+ INST(Vfmsub231pd , VexRvm_Lx , V(660F38,BA,_,x,1,1,4,FV ), 0 , 162, 0 , 4962 , 194, 139), // #953
+ INST(Vfmsub231ps , VexRvm_Lx , V(660F38,BA,_,x,0,0,4,FV ), 0 , 163, 0 , 4974 , 195, 139), // #954
+ INST(Vfmsub231sd , VexRvm , V(660F38,BB,_,I,1,1,3,T1S), 0 , 164, 0 , 4986 , 196, 140), // #955
+ INST(Vfmsub231ss , VexRvm , V(660F38,BB,_,I,0,0,2,T1S), 0 , 121, 0 , 4998 , 197, 140), // #956
+ INST(Vfmsubadd132pd , VexRvm_Lx , V(660F38,97,_,x,1,1,4,FV ), 0 , 162, 0 , 5010 , 194, 139), // #957
+ INST(Vfmsubadd132ps , VexRvm_Lx , V(660F38,97,_,x,0,0,4,FV ), 0 , 163, 0 , 5025 , 195, 139), // #958
+ INST(Vfmsubadd213pd , VexRvm_Lx , V(660F38,A7,_,x,1,1,4,FV ), 0 , 162, 0 , 5040 , 194, 139), // #959
+ INST(Vfmsubadd213ps , VexRvm_Lx , V(660F38,A7,_,x,0,0,4,FV ), 0 , 163, 0 , 5055 , 195, 139), // #960
+ INST(Vfmsubadd231pd , VexRvm_Lx , V(660F38,B7,_,x,1,1,4,FV ), 0 , 162, 0 , 5070 , 194, 139), // #961
+ INST(Vfmsubadd231ps , VexRvm_Lx , V(660F38,B7,_,x,0,0,4,FV ), 0 , 163, 0 , 5085 , 195, 139), // #962
+ INST(Vfmsubaddpd , Fma4_Lx , V(660F3A,5F,_,x,x,_,_,_ ), 0 , 74 , 0 , 5100 , 268, 141), // #963
+ INST(Vfmsubaddps , Fma4_Lx , V(660F3A,5E,_,x,x,_,_,_ ), 0 , 74 , 0 , 5112 , 268, 141), // #964
+ INST(Vfmsubpd , Fma4_Lx , V(660F3A,6D,_,x,x,_,_,_ ), 0 , 74 , 0 , 5124 , 268, 141), // #965
+ INST(Vfmsubps , Fma4_Lx , V(660F3A,6C,_,x,x,_,_,_ ), 0 , 74 , 0 , 5133 , 268, 141), // #966
+ INST(Vfmsubsd , Fma4 , V(660F3A,6F,_,0,x,_,_,_ ), 0 , 74 , 0 , 5142 , 269, 141), // #967
+ INST(Vfmsubss , Fma4 , V(660F3A,6E,_,0,x,_,_,_ ), 0 , 74 , 0 , 5151 , 270, 141), // #968
+ INST(Vfnmadd132pd , VexRvm_Lx , V(660F38,9C,_,x,1,1,4,FV ), 0 , 162, 0 , 5160 , 194, 139), // #969
+ INST(Vfnmadd132ps , VexRvm_Lx , V(660F38,9C,_,x,0,0,4,FV ), 0 , 163, 0 , 5173 , 195, 139), // #970
+ INST(Vfnmadd132sd , VexRvm , V(660F38,9D,_,I,1,1,3,T1S), 0 , 164, 0 , 5186 , 196, 140), // #971
+ INST(Vfnmadd132ss , VexRvm , V(660F38,9D,_,I,0,0,2,T1S), 0 , 121, 0 , 5199 , 197, 140), // #972
+ INST(Vfnmadd213pd , VexRvm_Lx , V(660F38,AC,_,x,1,1,4,FV ), 0 , 162, 0 , 5212 , 194, 139), // #973
+ INST(Vfnmadd213ps , VexRvm_Lx , V(660F38,AC,_,x,0,0,4,FV ), 0 , 163, 0 , 5225 , 195, 139), // #974
+ INST(Vfnmadd213sd , VexRvm , V(660F38,AD,_,I,1,1,3,T1S), 0 , 164, 0 , 5238 , 196, 140), // #975
+ INST(Vfnmadd213ss , VexRvm , V(660F38,AD,_,I,0,0,2,T1S), 0 , 121, 0 , 5251 , 197, 140), // #976
+ INST(Vfnmadd231pd , VexRvm_Lx , V(660F38,BC,_,x,1,1,4,FV ), 0 , 162, 0 , 5264 , 194, 139), // #977
+ INST(Vfnmadd231ps , VexRvm_Lx , V(660F38,BC,_,x,0,0,4,FV ), 0 , 163, 0 , 5277 , 195, 139), // #978
+ INST(Vfnmadd231sd , VexRvm , V(660F38,BD,_,I,1,1,3,T1S), 0 , 164, 0 , 5290 , 196, 140), // #979
+ INST(Vfnmadd231ss , VexRvm , V(660F38,BD,_,I,0,0,2,T1S), 0 , 121, 0 , 5303 , 197, 140), // #980
+ INST(Vfnmaddpd , Fma4_Lx , V(660F3A,79,_,x,x,_,_,_ ), 0 , 74 , 0 , 5316 , 268, 141), // #981
+ INST(Vfnmaddps , Fma4_Lx , V(660F3A,78,_,x,x,_,_,_ ), 0 , 74 , 0 , 5326 , 268, 141), // #982
+ INST(Vfnmaddsd , Fma4 , V(660F3A,7B,_,0,x,_,_,_ ), 0 , 74 , 0 , 5336 , 269, 141), // #983
+ INST(Vfnmaddss , Fma4 , V(660F3A,7A,_,0,x,_,_,_ ), 0 , 74 , 0 , 5346 , 270, 141), // #984
+ INST(Vfnmsub132pd , VexRvm_Lx , V(660F38,9E,_,x,1,1,4,FV ), 0 , 162, 0 , 5356 , 194, 139), // #985
+ INST(Vfnmsub132ps , VexRvm_Lx , V(660F38,9E,_,x,0,0,4,FV ), 0 , 163, 0 , 5369 , 195, 139), // #986
+ INST(Vfnmsub132sd , VexRvm , V(660F38,9F,_,I,1,1,3,T1S), 0 , 164, 0 , 5382 , 196, 140), // #987
+ INST(Vfnmsub132ss , VexRvm , V(660F38,9F,_,I,0,0,2,T1S), 0 , 121, 0 , 5395 , 197, 140), // #988
+ INST(Vfnmsub213pd , VexRvm_Lx , V(660F38,AE,_,x,1,1,4,FV ), 0 , 162, 0 , 5408 , 194, 139), // #989
+ INST(Vfnmsub213ps , VexRvm_Lx , V(660F38,AE,_,x,0,0,4,FV ), 0 , 163, 0 , 5421 , 195, 139), // #990
+ INST(Vfnmsub213sd , VexRvm , V(660F38,AF,_,I,1,1,3,T1S), 0 , 164, 0 , 5434 , 196, 140), // #991
+ INST(Vfnmsub213ss , VexRvm , V(660F38,AF,_,I,0,0,2,T1S), 0 , 121, 0 , 5447 , 197, 140), // #992
+ INST(Vfnmsub231pd , VexRvm_Lx , V(660F38,BE,_,x,1,1,4,FV ), 0 , 162, 0 , 5460 , 194, 139), // #993
+ INST(Vfnmsub231ps , VexRvm_Lx , V(660F38,BE,_,x,0,0,4,FV ), 0 , 163, 0 , 5473 , 195, 139), // #994
+ INST(Vfnmsub231sd , VexRvm , V(660F38,BF,_,I,1,1,3,T1S), 0 , 164, 0 , 5486 , 196, 140), // #995
+ INST(Vfnmsub231ss , VexRvm , V(660F38,BF,_,I,0,0,2,T1S), 0 , 121, 0 , 5499 , 197, 140), // #996
+ INST(Vfnmsubpd , Fma4_Lx , V(660F3A,7D,_,x,x,_,_,_ ), 0 , 74 , 0 , 5512 , 268, 141), // #997
+ INST(Vfnmsubps , Fma4_Lx , V(660F3A,7C,_,x,x,_,_,_ ), 0 , 74 , 0 , 5522 , 268, 141), // #998
+ INST(Vfnmsubsd , Fma4 , V(660F3A,7F,_,0,x,_,_,_ ), 0 , 74 , 0 , 5532 , 269, 141), // #999
+ INST(Vfnmsubss , Fma4 , V(660F3A,7E,_,0,x,_,_,_ ), 0 , 74 , 0 , 5542 , 270, 141), // #1000
+ INST(Vfpclasspd , VexRmi_Lx , E(660F3A,66,_,x,_,1,4,FV ), 0 , 111, 0 , 5552 , 271, 131), // #1001
+ INST(Vfpclassps , VexRmi_Lx , E(660F3A,66,_,x,_,0,4,FV ), 0 , 110, 0 , 5563 , 272, 131), // #1002
+ INST(Vfpclasssd , VexRmi_Lx , E(660F3A,67,_,I,_,1,3,T1S), 0 , 160, 0 , 5574 , 273, 66 ), // #1003
+ INST(Vfpclassss , VexRmi_Lx , E(660F3A,67,_,I,_,0,2,T1S), 0 , 161, 0 , 5585 , 274, 66 ), // #1004
+ INST(Vfrczpd , VexRm_Lx , V(XOP_M9,81,_,x,0,_,_,_ ), 0 , 80 , 0 , 5596 , 275, 142), // #1005
+ INST(Vfrczps , VexRm_Lx , V(XOP_M9,80,_,x,0,_,_,_ ), 0 , 80 , 0 , 5604 , 275, 142), // #1006
+ INST(Vfrczsd , VexRm , V(XOP_M9,83,_,0,0,_,_,_ ), 0 , 80 , 0 , 5612 , 276, 142), // #1007
+ INST(Vfrczss , VexRm , V(XOP_M9,82,_,0,0,_,_,_ ), 0 , 80 , 0 , 5620 , 277, 142), // #1008
+ INST(Vgatherdpd , VexRmvRm_VM , V(660F38,92,_,x,1,_,_,_ ), E(660F38,92,_,x,_,1,3,T1S), 165, 81 , 5628 , 278, 143), // #1009
+ INST(Vgatherdps , VexRmvRm_VM , V(660F38,92,_,x,0,_,_,_ ), E(660F38,92,_,x,_,0,2,T1S), 97 , 82 , 5639 , 279, 143), // #1010
+ INST(Vgatherpf0dpd , VexM_VM , E(660F38,C6,1,2,_,1,3,T1S), 0 , 166, 0 , 5650 , 280, 144), // #1011
+ INST(Vgatherpf0dps , VexM_VM , E(660F38,C6,1,2,_,0,2,T1S), 0 , 167, 0 , 5664 , 281, 144), // #1012
+ INST(Vgatherpf0qpd , VexM_VM , E(660F38,C7,1,2,_,1,3,T1S), 0 , 166, 0 , 5678 , 282, 144), // #1013
+ INST(Vgatherpf0qps , VexM_VM , E(660F38,C7,1,2,_,0,2,T1S), 0 , 167, 0 , 5692 , 282, 144), // #1014
+ INST(Vgatherpf1dpd , VexM_VM , E(660F38,C6,2,2,_,1,3,T1S), 0 , 168, 0 , 5706 , 280, 144), // #1015
+ INST(Vgatherpf1dps , VexM_VM , E(660F38,C6,2,2,_,0,2,T1S), 0 , 169, 0 , 5720 , 281, 144), // #1016
+ INST(Vgatherpf1qpd , VexM_VM , E(660F38,C7,2,2,_,1,3,T1S), 0 , 168, 0 , 5734 , 282, 144), // #1017
+ INST(Vgatherpf1qps , VexM_VM , E(660F38,C7,2,2,_,0,2,T1S), 0 , 169, 0 , 5748 , 282, 144), // #1018
+ INST(Vgatherqpd , VexRmvRm_VM , V(660F38,93,_,x,1,_,_,_ ), E(660F38,93,_,x,_,1,3,T1S), 165, 83 , 5762 , 283, 143), // #1019
+ INST(Vgatherqps , VexRmvRm_VM , V(660F38,93,_,x,0,_,_,_ ), E(660F38,93,_,x,_,0,2,T1S), 97 , 84 , 5773 , 284, 143), // #1020
+ INST(Vgetexppd , VexRm_Lx , E(660F38,42,_,x,_,1,4,FV ), 0 , 112, 0 , 5784 , 244, 129), // #1021
+ INST(Vgetexpps , VexRm_Lx , E(660F38,42,_,x,_,0,4,FV ), 0 , 113, 0 , 5794 , 248, 129), // #1022
+ INST(Vgetexpsd , VexRvm , E(660F38,43,_,I,_,1,3,T1S), 0 , 124, 0 , 5804 , 285, 68 ), // #1023
+ INST(Vgetexpss , VexRvm , E(660F38,43,_,I,_,0,2,T1S), 0 , 125, 0 , 5814 , 286, 68 ), // #1024
+ INST(Vgetmantpd , VexRmi_Lx , E(660F3A,26,_,x,_,1,4,FV ), 0 , 111, 0 , 5824 , 287, 129), // #1025
+ INST(Vgetmantps , VexRmi_Lx , E(660F3A,26,_,x,_,0,4,FV ), 0 , 110, 0 , 5835 , 288, 129), // #1026
+ INST(Vgetmantsd , VexRvmi , E(660F3A,27,_,I,_,1,3,T1S), 0 , 160, 0 , 5846 , 266, 68 ), // #1027
+ INST(Vgetmantss , VexRvmi , E(660F3A,27,_,I,_,0,2,T1S), 0 , 161, 0 , 5857 , 267, 68 ), // #1028
+ INST(Vgf2p8affineinvqb, VexRvmi_Lx , V(660F3A,CF,_,x,1,1,4,FV ), 0 , 170, 0 , 5868 , 289, 145), // #1029
+ INST(Vgf2p8affineqb , VexRvmi_Lx , V(660F3A,CE,_,x,1,1,4,FV ), 0 , 170, 0 , 5886 , 289, 145), // #1030
+ INST(Vgf2p8mulb , VexRvm_Lx , V(660F38,CF,_,x,0,0,4,FV ), 0 , 163, 0 , 5901 , 290, 145), // #1031
+ INST(Vhaddpd , VexRvm_Lx , V(660F00,7C,_,x,I,_,_,_ ), 0 , 70 , 0 , 5912 , 198, 126), // #1032
+ INST(Vhaddps , VexRvm_Lx , V(F20F00,7C,_,x,I,_,_,_ ), 0 , 108, 0 , 5920 , 198, 126), // #1033
+ INST(Vhsubpd , VexRvm_Lx , V(660F00,7D,_,x,I,_,_,_ ), 0 , 70 , 0 , 5928 , 198, 126), // #1034
+ INST(Vhsubps , VexRvm_Lx , V(F20F00,7D,_,x,I,_,_,_ ), 0 , 108, 0 , 5936 , 198, 126), // #1035
+ INST(Vinsertf128 , VexRvmi , V(660F3A,18,_,1,0,_,_,_ ), 0 , 154, 0 , 5944 , 291, 126), // #1036
+ INST(Vinsertf32x4 , VexRvmi_Lx , E(660F3A,18,_,x,_,0,4,T4 ), 0 , 155, 0 , 5956 , 292, 129), // #1037
+ INST(Vinsertf32x8 , VexRvmi , E(660F3A,1A,_,2,_,0,5,T8 ), 0 , 156, 0 , 5969 , 293, 66 ), // #1038
+ INST(Vinsertf64x2 , VexRvmi_Lx , E(660F3A,18,_,x,_,1,4,T2 ), 0 , 157, 0 , 5982 , 292, 131), // #1039
+ INST(Vinsertf64x4 , VexRvmi , E(660F3A,1A,_,2,_,1,5,T4 ), 0 , 158, 0 , 5995 , 293, 68 ), // #1040
+ INST(Vinserti128 , VexRvmi , V(660F3A,38,_,1,0,_,_,_ ), 0 , 154, 0 , 6008 , 291, 132), // #1041
+ INST(Vinserti32x4 , VexRvmi_Lx , E(660F3A,38,_,x,_,0,4,T4 ), 0 , 155, 0 , 6020 , 292, 129), // #1042
+ INST(Vinserti32x8 , VexRvmi , E(660F3A,3A,_,2,_,0,5,T8 ), 0 , 156, 0 , 6033 , 293, 66 ), // #1043
+ INST(Vinserti64x2 , VexRvmi_Lx , E(660F3A,38,_,x,_,1,4,T2 ), 0 , 157, 0 , 6046 , 292, 131), // #1044
+ INST(Vinserti64x4 , VexRvmi , E(660F3A,3A,_,2,_,1,5,T4 ), 0 , 158, 0 , 6059 , 293, 68 ), // #1045
+ INST(Vinsertps , VexRvmi , V(660F3A,21,_,0,I,0,2,T1S), 0 , 159, 0 , 6072 , 294, 125), // #1046
+ INST(Vlddqu , VexRm_Lx , V(F20F00,F0,_,x,I,_,_,_ ), 0 , 108, 0 , 6082 , 295, 126), // #1047
+ INST(Vldmxcsr , VexM , V(000F00,AE,2,0,I,_,_,_ ), 0 , 171, 0 , 6089 , 296, 126), // #1048
+ INST(Vmaskmovdqu , VexRm_ZDI , V(660F00,F7,_,0,I,_,_,_ ), 0 , 70 , 0 , 6098 , 297, 126), // #1049
+ INST(Vmaskmovpd , VexRvmMvr_Lx , V(660F38,2D,_,x,0,_,_,_ ), V(660F38,2F,_,x,0,_,_,_ ), 97 , 85 , 6110 , 298, 126), // #1050
+ INST(Vmaskmovps , VexRvmMvr_Lx , V(660F38,2C,_,x,0,_,_,_ ), V(660F38,2E,_,x,0,_,_,_ ), 97 , 86 , 6121 , 298, 126), // #1051
+ INST(Vmaxpd , VexRvm_Lx , V(660F00,5F,_,x,I,1,4,FV ), 0 , 104, 0 , 6132 , 299, 124), // #1052
+ INST(Vmaxps , VexRvm_Lx , V(000F00,5F,_,x,I,0,4,FV ), 0 , 105, 0 , 6139 , 300, 124), // #1053
+ INST(Vmaxsd , VexRvm , V(F20F00,5F,_,I,I,1,3,T1S), 0 , 106, 0 , 6146 , 301, 124), // #1054
+ INST(Vmaxss , VexRvm , V(F30F00,5F,_,I,I,0,2,T1S), 0 , 107, 0 , 6153 , 240, 124), // #1055
+ INST(Vmcall , X86Op , O(000F01,C1,_,_,_,_,_,_ ), 0 , 21 , 0 , 6160 , 30 , 58 ), // #1056
+ INST(Vmclear , X86M_Only , O(660F00,C7,6,_,_,_,_,_ ), 0 , 26 , 0 , 6167 , 32 , 58 ), // #1057
+ INST(Vmfunc , X86Op , O(000F01,D4,_,_,_,_,_,_ ), 0 , 21 , 0 , 6175 , 30 , 58 ), // #1058
+ INST(Vminpd , VexRvm_Lx , V(660F00,5D,_,x,I,1,4,FV ), 0 , 104, 0 , 6182 , 299, 124), // #1059
+ INST(Vminps , VexRvm_Lx , V(000F00,5D,_,x,I,0,4,FV ), 0 , 105, 0 , 6189 , 300, 124), // #1060
+ INST(Vminsd , VexRvm , V(F20F00,5D,_,I,I,1,3,T1S), 0 , 106, 0 , 6196 , 301, 124), // #1061
+ INST(Vminss , VexRvm , V(F30F00,5D,_,I,I,0,2,T1S), 0 , 107, 0 , 6203 , 240, 124), // #1062
+ INST(Vmlaunch , X86Op , O(000F01,C2,_,_,_,_,_,_ ), 0 , 21 , 0 , 6210 , 30 , 58 ), // #1063
+ INST(Vmload , X86Op_xAX , O(000F01,DA,_,_,_,_,_,_ ), 0 , 21 , 0 , 6219 , 302, 22 ), // #1064
+ INST(Vmmcall , X86Op , O(000F01,D9,_,_,_,_,_,_ ), 0 , 21 , 0 , 6226 , 30 , 22 ), // #1065
+ INST(Vmovapd , VexRmMr_Lx , V(660F00,28,_,x,I,1,4,FVM), V(660F00,29,_,x,I,1,4,FVM), 172, 87 , 6234 , 303, 124), // #1066
+ INST(Vmovaps , VexRmMr_Lx , V(000F00,28,_,x,I,0,4,FVM), V(000F00,29,_,x,I,0,4,FVM), 173, 88 , 6242 , 303, 124), // #1067
+ INST(Vmovd , VexMovdMovq , V(660F00,6E,_,0,0,0,2,T1S), V(660F00,7E,_,0,0,0,2,T1S), 174, 89 , 6250 , 304, 125), // #1068
+ INST(Vmovddup , VexRm_Lx , V(F20F00,12,_,x,I,1,3,DUP), 0 , 175, 0 , 6256 , 305, 124), // #1069
+ INST(Vmovdqa , VexRmMr_Lx , V(660F00,6F,_,x,I,_,_,_ ), V(660F00,7F,_,x,I,_,_,_ ), 70 , 90 , 6265 , 306, 126), // #1070
+ INST(Vmovdqa32 , VexRmMr_Lx , E(660F00,6F,_,x,_,0,4,FVM), E(660F00,7F,_,x,_,0,4,FVM), 176, 91 , 6273 , 307, 129), // #1071
+ INST(Vmovdqa64 , VexRmMr_Lx , E(660F00,6F,_,x,_,1,4,FVM), E(660F00,7F,_,x,_,1,4,FVM), 177, 92 , 6283 , 307, 129), // #1072
+ INST(Vmovdqu , VexRmMr_Lx , V(F30F00,6F,_,x,I,_,_,_ ), V(F30F00,7F,_,x,I,_,_,_ ), 178, 93 , 6293 , 306, 126), // #1073
+ INST(Vmovdqu16 , VexRmMr_Lx , E(F20F00,6F,_,x,_,1,4,FVM), E(F20F00,7F,_,x,_,1,4,FVM), 179, 94 , 6301 , 307, 137), // #1074
+ INST(Vmovdqu32 , VexRmMr_Lx , E(F30F00,6F,_,x,_,0,4,FVM), E(F30F00,7F,_,x,_,0,4,FVM), 180, 95 , 6311 , 307, 129), // #1075
+ INST(Vmovdqu64 , VexRmMr_Lx , E(F30F00,6F,_,x,_,1,4,FVM), E(F30F00,7F,_,x,_,1,4,FVM), 181, 96 , 6321 , 307, 129), // #1076
+ INST(Vmovdqu8 , VexRmMr_Lx , E(F20F00,6F,_,x,_,0,4,FVM), E(F20F00,7F,_,x,_,0,4,FVM), 182, 97 , 6331 , 307, 137), // #1077
+ INST(Vmovhlps , VexRvm , V(000F00,12,_,0,I,0,_,_ ), 0 , 73 , 0 , 6340 , 308, 125), // #1078
+ INST(Vmovhpd , VexRvmMr , V(660F00,16,_,0,I,1,3,T1S), V(660F00,17,_,0,I,1,3,T1S), 122, 98 , 6349 , 309, 125), // #1079
+ INST(Vmovhps , VexRvmMr , V(000F00,16,_,0,I,0,3,T2 ), V(000F00,17,_,0,I,0,3,T2 ), 183, 99 , 6357 , 309, 125), // #1080
+ INST(Vmovlhps , VexRvm , V(000F00,16,_,0,I,0,_,_ ), 0 , 73 , 0 , 6365 , 308, 125), // #1081
+ INST(Vmovlpd , VexRvmMr , V(660F00,12,_,0,I,1,3,T1S), V(660F00,13,_,0,I,1,3,T1S), 122, 100, 6374 , 309, 125), // #1082
+ INST(Vmovlps , VexRvmMr , V(000F00,12,_,0,I,0,3,T2 ), V(000F00,13,_,0,I,0,3,T2 ), 183, 101, 6382 , 309, 125), // #1083
+ INST(Vmovmskpd , VexRm_Lx , V(660F00,50,_,x,I,_,_,_ ), 0 , 70 , 0 , 6390 , 310, 126), // #1084
+ INST(Vmovmskps , VexRm_Lx , V(000F00,50,_,x,I,_,_,_ ), 0 , 73 , 0 , 6400 , 310, 126), // #1085
+ INST(Vmovntdq , VexMr_Lx , V(660F00,E7,_,x,I,0,4,FVM), 0 , 184, 0 , 6410 , 311, 124), // #1086
+ INST(Vmovntdqa , VexRm_Lx , V(660F38,2A,_,x,I,0,4,FVM), 0 , 109, 0 , 6419 , 312, 133), // #1087
+ INST(Vmovntpd , VexMr_Lx , V(660F00,2B,_,x,I,1,4,FVM), 0 , 172, 0 , 6429 , 311, 124), // #1088
+ INST(Vmovntps , VexMr_Lx , V(000F00,2B,_,x,I,0,4,FVM), 0 , 173, 0 , 6438 , 311, 124), // #1089
+ INST(Vmovq , VexMovdMovq , V(660F00,6E,_,0,I,1,3,T1S), V(660F00,7E,_,0,I,1,3,T1S), 122, 102, 6447 , 313, 125), // #1090
+ INST(Vmovsd , VexMovssMovsd , V(F20F00,10,_,I,I,1,3,T1S), V(F20F00,11,_,I,I,1,3,T1S), 106, 103, 6453 , 314, 125), // #1091
+ INST(Vmovshdup , VexRm_Lx , V(F30F00,16,_,x,I,0,4,FVM), 0 , 185, 0 , 6460 , 315, 124), // #1092
+ INST(Vmovsldup , VexRm_Lx , V(F30F00,12,_,x,I,0,4,FVM), 0 , 185, 0 , 6470 , 315, 124), // #1093
+ INST(Vmovss , VexMovssMovsd , V(F30F00,10,_,I,I,0,2,T1S), V(F30F00,11,_,I,I,0,2,T1S), 107, 104, 6480 , 316, 125), // #1094
+ INST(Vmovupd , VexRmMr_Lx , V(660F00,10,_,x,I,1,4,FVM), V(660F00,11,_,x,I,1,4,FVM), 172, 105, 6487 , 303, 124), // #1095
+ INST(Vmovups , VexRmMr_Lx , V(000F00,10,_,x,I,0,4,FVM), V(000F00,11,_,x,I,0,4,FVM), 173, 106, 6495 , 303, 124), // #1096
+ INST(Vmpsadbw , VexRvmi_Lx , V(660F3A,42,_,x,I,_,_,_ ), 0 , 74 , 0 , 6503 , 210, 146), // #1097
+ INST(Vmptrld , X86M_Only , O(000F00,C7,6,_,_,_,_,_ ), 0 , 81 , 0 , 6512 , 32 , 58 ), // #1098
+ INST(Vmptrst , X86M_Only , O(000F00,C7,7,_,_,_,_,_ ), 0 , 22 , 0 , 6520 , 32 , 58 ), // #1099
+ INST(Vmread , X86Mr_NoSize , O(000F00,78,_,_,_,_,_,_ ), 0 , 4 , 0 , 6528 , 317, 58 ), // #1100
+ INST(Vmresume , X86Op , O(000F01,C3,_,_,_,_,_,_ ), 0 , 21 , 0 , 6535 , 30 , 58 ), // #1101
+ INST(Vmrun , X86Op_xAX , O(000F01,D8,_,_,_,_,_,_ ), 0 , 21 , 0 , 6544 , 302, 22 ), // #1102
+ INST(Vmsave , X86Op_xAX , O(000F01,DB,_,_,_,_,_,_ ), 0 , 21 , 0 , 6550 , 302, 22 ), // #1103
+ INST(Vmulpd , VexRvm_Lx , V(660F00,59,_,x,I,1,4,FV ), 0 , 104, 0 , 6557 , 194, 124), // #1104
+ INST(Vmulps , VexRvm_Lx , V(000F00,59,_,x,I,0,4,FV ), 0 , 105, 0 , 6564 , 195, 124), // #1105
+ INST(Vmulsd , VexRvm_Lx , V(F20F00,59,_,I,I,1,3,T1S), 0 , 106, 0 , 6571 , 196, 125), // #1106
+ INST(Vmulss , VexRvm_Lx , V(F30F00,59,_,I,I,0,2,T1S), 0 , 107, 0 , 6578 , 197, 125), // #1107
+ INST(Vmwrite , X86Rm_NoSize , O(000F00,79,_,_,_,_,_,_ ), 0 , 4 , 0 , 6585 , 318, 58 ), // #1108
+ INST(Vmxon , X86M_Only , O(F30F00,C7,6,_,_,_,_,_ ), 0 , 24 , 0 , 6593 , 32 , 58 ), // #1109
+ INST(Vorpd , VexRvm_Lx , V(660F00,56,_,x,I,1,4,FV ), 0 , 104, 0 , 6599 , 206, 130), // #1110
+ INST(Vorps , VexRvm_Lx , V(000F00,56,_,x,I,0,4,FV ), 0 , 105, 0 , 6605 , 207, 130), // #1111
+ INST(Vp2intersectd , VexRvm_Lx_2xK , E(F20F38,68,_,_,_,0,4,FV ), 0 , 127, 0 , 6611 , 319, 147), // #1112
+ INST(Vp2intersectq , VexRvm_Lx_2xK , E(F20F38,68,_,_,_,1,4,FV ), 0 , 186, 0 , 6625 , 320, 147), // #1113
+ INST(Vp4dpwssd , VexRm_T1_4X , E(F20F38,52,_,2,_,0,4,T4X), 0 , 102, 0 , 6639 , 192, 148), // #1114
+ INST(Vp4dpwssds , VexRm_T1_4X , E(F20F38,53,_,2,_,0,4,T4X), 0 , 102, 0 , 6649 , 192, 148), // #1115
+ INST(Vpabsb , VexRm_Lx , V(660F38,1C,_,x,I,_,4,FVM), 0 , 109, 0 , 6660 , 315, 149), // #1116
+ INST(Vpabsd , VexRm_Lx , V(660F38,1E,_,x,I,0,4,FV ), 0 , 163, 0 , 6667 , 315, 133), // #1117
+ INST(Vpabsq , VexRm_Lx , E(660F38,1F,_,x,_,1,4,FV ), 0 , 112, 0 , 6674 , 259, 129), // #1118
+ INST(Vpabsw , VexRm_Lx , V(660F38,1D,_,x,I,_,4,FVM), 0 , 109, 0 , 6681 , 315, 149), // #1119
+ INST(Vpackssdw , VexRvm_Lx , V(660F00,6B,_,x,I,0,4,FV ), 0 , 133, 0 , 6688 , 205, 149), // #1120
+ INST(Vpacksswb , VexRvm_Lx , V(660F00,63,_,x,I,I,4,FVM), 0 , 184, 0 , 6698 , 290, 149), // #1121
+ INST(Vpackusdw , VexRvm_Lx , V(660F38,2B,_,x,I,0,4,FV ), 0 , 163, 0 , 6708 , 205, 149), // #1122
+ INST(Vpackuswb , VexRvm_Lx , V(660F00,67,_,x,I,I,4,FVM), 0 , 184, 0 , 6718 , 290, 149), // #1123
+ INST(Vpaddb , VexRvm_Lx , V(660F00,FC,_,x,I,I,4,FVM), 0 , 184, 0 , 6728 , 290, 149), // #1124
+ INST(Vpaddd , VexRvm_Lx , V(660F00,FE,_,x,I,0,4,FV ), 0 , 133, 0 , 6735 , 205, 133), // #1125
+ INST(Vpaddq , VexRvm_Lx , V(660F00,D4,_,x,I,1,4,FV ), 0 , 104, 0 , 6742 , 204, 133), // #1126
+ INST(Vpaddsb , VexRvm_Lx , V(660F00,EC,_,x,I,I,4,FVM), 0 , 184, 0 , 6749 , 290, 149), // #1127
+ INST(Vpaddsw , VexRvm_Lx , V(660F00,ED,_,x,I,I,4,FVM), 0 , 184, 0 , 6757 , 290, 149), // #1128
+ INST(Vpaddusb , VexRvm_Lx , V(660F00,DC,_,x,I,I,4,FVM), 0 , 184, 0 , 6765 , 290, 149), // #1129
+ INST(Vpaddusw , VexRvm_Lx , V(660F00,DD,_,x,I,I,4,FVM), 0 , 184, 0 , 6774 , 290, 149), // #1130
+ INST(Vpaddw , VexRvm_Lx , V(660F00,FD,_,x,I,I,4,FVM), 0 , 184, 0 , 6783 , 290, 149), // #1131
+ INST(Vpalignr , VexRvmi_Lx , V(660F3A,0F,_,x,I,I,4,FVM), 0 , 187, 0 , 6790 , 289, 149), // #1132
+ INST(Vpand , VexRvm_Lx , V(660F00,DB,_,x,I,_,_,_ ), 0 , 70 , 0 , 6799 , 321, 146), // #1133
+ INST(Vpandd , VexRvm_Lx , E(660F00,DB,_,x,_,0,4,FV ), 0 , 188, 0 , 6805 , 322, 129), // #1134
+ INST(Vpandn , VexRvm_Lx , V(660F00,DF,_,x,I,_,_,_ ), 0 , 70 , 0 , 6812 , 323, 146), // #1135
+ INST(Vpandnd , VexRvm_Lx , E(660F00,DF,_,x,_,0,4,FV ), 0 , 188, 0 , 6819 , 324, 129), // #1136
+ INST(Vpandnq , VexRvm_Lx , E(660F00,DF,_,x,_,1,4,FV ), 0 , 130, 0 , 6827 , 325, 129), // #1137
+ INST(Vpandq , VexRvm_Lx , E(660F00,DB,_,x,_,1,4,FV ), 0 , 130, 0 , 6835 , 326, 129), // #1138
+ INST(Vpavgb , VexRvm_Lx , V(660F00,E0,_,x,I,I,4,FVM), 0 , 184, 0 , 6842 , 290, 149), // #1139
+ INST(Vpavgw , VexRvm_Lx , V(660F00,E3,_,x,I,I,4,FVM), 0 , 184, 0 , 6849 , 290, 149), // #1140
+ INST(Vpblendd , VexRvmi_Lx , V(660F3A,02,_,x,0,_,_,_ ), 0 , 74 , 0 , 6856 , 210, 132), // #1141
+ INST(Vpblendmb , VexRvm_Lx , E(660F38,66,_,x,_,0,4,FVM), 0 , 189, 0 , 6865 , 327, 137), // #1142
+ INST(Vpblendmd , VexRvm_Lx , E(660F38,64,_,x,_,0,4,FV ), 0 , 113, 0 , 6875 , 209, 129), // #1143
+ INST(Vpblendmq , VexRvm_Lx , E(660F38,64,_,x,_,1,4,FV ), 0 , 112, 0 , 6885 , 208, 129), // #1144
+ INST(Vpblendmw , VexRvm_Lx , E(660F38,66,_,x,_,1,4,FVM), 0 , 190, 0 , 6895 , 327, 137), // #1145
+ INST(Vpblendvb , VexRvmr_Lx , V(660F3A,4C,_,x,0,_,_,_ ), 0 , 74 , 0 , 6905 , 211, 146), // #1146
+ INST(Vpblendw , VexRvmi_Lx , V(660F3A,0E,_,x,I,_,_,_ ), 0 , 74 , 0 , 6915 , 210, 146), // #1147
+ INST(Vpbroadcastb , VexRm_Lx_Bcst , V(660F38,78,_,x,0,0,0,T1S), E(660F38,7A,_,x,0,0,0,T1S), 191, 107, 6924 , 328, 150), // #1148
+ INST(Vpbroadcastd , VexRm_Lx_Bcst , V(660F38,58,_,x,0,0,2,T1S), E(660F38,7C,_,x,0,0,0,T1S), 121, 108, 6937 , 329, 143), // #1149
+ INST(Vpbroadcastmb2q , VexRm_Lx , E(F30F38,2A,_,x,_,1,_,_ ), 0 , 192, 0 , 6950 , 330, 151), // #1150
+ INST(Vpbroadcastmw2d , VexRm_Lx , E(F30F38,3A,_,x,_,0,_,_ ), 0 , 193, 0 , 6966 , 330, 151), // #1151
+ INST(Vpbroadcastq , VexRm_Lx_Bcst , V(660F38,59,_,x,0,1,3,T1S), E(660F38,7C,_,x,0,1,0,T1S), 120, 109, 6982 , 331, 143), // #1152
+ INST(Vpbroadcastw , VexRm_Lx_Bcst , V(660F38,79,_,x,0,0,1,T1S), E(660F38,7B,_,x,0,0,0,T1S), 194, 110, 6995 , 332, 150), // #1153
+ INST(Vpclmulqdq , VexRvmi_Lx , V(660F3A,44,_,x,I,_,4,FVM), 0 , 187, 0 , 7008 , 333, 152), // #1154
+ INST(Vpcmov , VexRvrmRvmr_Lx , V(XOP_M8,A2,_,x,x,_,_,_ ), 0 , 195, 0 , 7019 , 268, 142), // #1155
+ INST(Vpcmpb , VexRvmi_Lx , E(660F3A,3F,_,x,_,0,4,FVM), 0 , 151, 0 , 7026 , 334, 137), // #1156
+ INST(Vpcmpd , VexRvmi_Lx , E(660F3A,1F,_,x,_,0,4,FV ), 0 , 110, 0 , 7033 , 335, 129), // #1157
+ INST(Vpcmpeqb , VexRvm_Lx_KEvex , V(660F00,74,_,x,I,I,4,FV ), 0 , 133, 0 , 7040 , 336, 149), // #1158
+ INST(Vpcmpeqd , VexRvm_Lx_KEvex , V(660F00,76,_,x,I,0,4,FVM), 0 , 184, 0 , 7049 , 337, 133), // #1159
+ INST(Vpcmpeqq , VexRvm_Lx_KEvex , V(660F38,29,_,x,I,1,4,FVM), 0 , 196, 0 , 7058 , 338, 133), // #1160
+ INST(Vpcmpeqw , VexRvm_Lx_KEvex , V(660F00,75,_,x,I,I,4,FV ), 0 , 133, 0 , 7067 , 336, 149), // #1161
+ INST(Vpcmpestri , VexRmi , V(660F3A,61,_,0,I,_,_,_ ), 0 , 74 , 0 , 7076 , 339, 153), // #1162
+ INST(Vpcmpestrm , VexRmi , V(660F3A,60,_,0,I,_,_,_ ), 0 , 74 , 0 , 7087 , 340, 153), // #1163
+ INST(Vpcmpgtb , VexRvm_Lx_KEvex , V(660F00,64,_,x,I,I,4,FV ), 0 , 133, 0 , 7098 , 336, 149), // #1164
+ INST(Vpcmpgtd , VexRvm_Lx_KEvex , V(660F00,66,_,x,I,0,4,FVM), 0 , 184, 0 , 7107 , 337, 133), // #1165
+ INST(Vpcmpgtq , VexRvm_Lx_KEvex , V(660F38,37,_,x,I,1,4,FVM), 0 , 196, 0 , 7116 , 338, 133), // #1166
+ INST(Vpcmpgtw , VexRvm_Lx_KEvex , V(660F00,65,_,x,I,I,4,FV ), 0 , 133, 0 , 7125 , 336, 149), // #1167
+ INST(Vpcmpistri , VexRmi , V(660F3A,63,_,0,I,_,_,_ ), 0 , 74 , 0 , 7134 , 341, 153), // #1168
+ INST(Vpcmpistrm , VexRmi , V(660F3A,62,_,0,I,_,_,_ ), 0 , 74 , 0 , 7145 , 342, 153), // #1169
+ INST(Vpcmpq , VexRvmi_Lx , E(660F3A,1F,_,x,_,1,4,FV ), 0 , 111, 0 , 7156 , 343, 129), // #1170
+ INST(Vpcmpub , VexRvmi_Lx , E(660F3A,3E,_,x,_,0,4,FVM), 0 , 151, 0 , 7163 , 334, 137), // #1171
+ INST(Vpcmpud , VexRvmi_Lx , E(660F3A,1E,_,x,_,0,4,FV ), 0 , 110, 0 , 7171 , 335, 129), // #1172
+ INST(Vpcmpuq , VexRvmi_Lx , E(660F3A,1E,_,x,_,1,4,FV ), 0 , 111, 0 , 7179 , 343, 129), // #1173
+ INST(Vpcmpuw , VexRvmi_Lx , E(660F3A,3E,_,x,_,1,4,FVM), 0 , 197, 0 , 7187 , 343, 137), // #1174
+ INST(Vpcmpw , VexRvmi_Lx , E(660F3A,3F,_,x,_,1,4,FVM), 0 , 197, 0 , 7195 , 343, 137), // #1175
+ INST(Vpcomb , VexRvmi , V(XOP_M8,CC,_,0,0,_,_,_ ), 0 , 195, 0 , 7202 , 256, 142), // #1176
+ INST(Vpcomd , VexRvmi , V(XOP_M8,CE,_,0,0,_,_,_ ), 0 , 195, 0 , 7209 , 256, 142), // #1177
+ INST(Vpcompressb , VexMr_Lx , E(660F38,63,_,x,_,0,0,T1S), 0 , 198, 0 , 7216 , 225, 154), // #1178
+ INST(Vpcompressd , VexMr_Lx , E(660F38,8B,_,x,_,0,2,T1S), 0 , 125, 0 , 7228 , 225, 129), // #1179
+ INST(Vpcompressq , VexMr_Lx , E(660F38,8B,_,x,_,1,3,T1S), 0 , 124, 0 , 7240 , 225, 129), // #1180
+ INST(Vpcompressw , VexMr_Lx , E(660F38,63,_,x,_,1,1,T1S), 0 , 199, 0 , 7252 , 225, 154), // #1181
+ INST(Vpcomq , VexRvmi , V(XOP_M8,CF,_,0,0,_,_,_ ), 0 , 195, 0 , 7264 , 256, 142), // #1182
+ INST(Vpcomub , VexRvmi , V(XOP_M8,EC,_,0,0,_,_,_ ), 0 , 195, 0 , 7271 , 256, 142), // #1183
+ INST(Vpcomud , VexRvmi , V(XOP_M8,EE,_,0,0,_,_,_ ), 0 , 195, 0 , 7279 , 256, 142), // #1184
+ INST(Vpcomuq , VexRvmi , V(XOP_M8,EF,_,0,0,_,_,_ ), 0 , 195, 0 , 7287 , 256, 142), // #1185
+ INST(Vpcomuw , VexRvmi , V(XOP_M8,ED,_,0,0,_,_,_ ), 0 , 195, 0 , 7295 , 256, 142), // #1186
+ INST(Vpcomw , VexRvmi , V(XOP_M8,CD,_,0,0,_,_,_ ), 0 , 195, 0 , 7303 , 256, 142), // #1187
+ INST(Vpconflictd , VexRm_Lx , E(660F38,C4,_,x,_,0,4,FV ), 0 , 113, 0 , 7310 , 344, 151), // #1188
+ INST(Vpconflictq , VexRm_Lx , E(660F38,C4,_,x,_,1,4,FV ), 0 , 112, 0 , 7322 , 344, 151), // #1189
+ INST(Vpdpbusd , VexRvm_Lx , V(660F38,50,_,x,_,0,4,FV ), 0 , 163, 0 , 7334 , 345, 155), // #1190
+ INST(Vpdpbusds , VexRvm_Lx , V(660F38,51,_,x,_,0,4,FV ), 0 , 163, 0 , 7343 , 345, 155), // #1191
+ INST(Vpdpwssd , VexRvm_Lx , V(660F38,52,_,x,_,0,4,FV ), 0 , 163, 0 , 7353 , 345, 155), // #1192
+ INST(Vpdpwssds , VexRvm_Lx , V(660F38,53,_,x,_,0,4,FV ), 0 , 163, 0 , 7362 , 345, 155), // #1193
+ INST(Vperm2f128 , VexRvmi , V(660F3A,06,_,1,0,_,_,_ ), 0 , 154, 0 , 7372 , 346, 126), // #1194
+ INST(Vperm2i128 , VexRvmi , V(660F3A,46,_,1,0,_,_,_ ), 0 , 154, 0 , 7383 , 346, 132), // #1195
+ INST(Vpermb , VexRvm_Lx , E(660F38,8D,_,x,_,0,4,FVM), 0 , 189, 0 , 7394 , 327, 156), // #1196
+ INST(Vpermd , VexRvm_Lx , V(660F38,36,_,x,0,0,4,FV ), 0 , 163, 0 , 7401 , 347, 143), // #1197
+ INST(Vpermi2b , VexRvm_Lx , E(660F38,75,_,x,_,0,4,FVM), 0 , 189, 0 , 7408 , 327, 156), // #1198
+ INST(Vpermi2d , VexRvm_Lx , E(660F38,76,_,x,_,0,4,FV ), 0 , 113, 0 , 7417 , 209, 129), // #1199
+ INST(Vpermi2pd , VexRvm_Lx , E(660F38,77,_,x,_,1,4,FV ), 0 , 112, 0 , 7426 , 208, 129), // #1200
+ INST(Vpermi2ps , VexRvm_Lx , E(660F38,77,_,x,_,0,4,FV ), 0 , 113, 0 , 7436 , 209, 129), // #1201
+ INST(Vpermi2q , VexRvm_Lx , E(660F38,76,_,x,_,1,4,FV ), 0 , 112, 0 , 7446 , 208, 129), // #1202
+ INST(Vpermi2w , VexRvm_Lx , E(660F38,75,_,x,_,1,4,FVM), 0 , 190, 0 , 7455 , 327, 137), // #1203
+ INST(Vpermil2pd , VexRvrmiRvmri_Lx , V(660F3A,49,_,x,x,_,_,_ ), 0 , 74 , 0 , 7464 , 348, 142), // #1204
+ INST(Vpermil2ps , VexRvrmiRvmri_Lx , V(660F3A,48,_,x,x,_,_,_ ), 0 , 74 , 0 , 7475 , 348, 142), // #1205
+ INST(Vpermilpd , VexRvmRmi_Lx , V(660F38,0D,_,x,0,1,4,FV ), V(660F3A,05,_,x,0,1,4,FV ), 200, 111, 7486 , 349, 124), // #1206
+ INST(Vpermilps , VexRvmRmi_Lx , V(660F38,0C,_,x,0,0,4,FV ), V(660F3A,04,_,x,0,0,4,FV ), 163, 112, 7496 , 349, 124), // #1207
+ INST(Vpermpd , VexRvmRmi_Lx , E(660F38,16,_,x,1,1,4,FV ), V(660F3A,01,_,x,1,1,4,FV ), 201, 113, 7506 , 350, 143), // #1208
+ INST(Vpermps , VexRvm_Lx , V(660F38,16,_,x,0,0,4,FV ), 0 , 163, 0 , 7514 , 347, 143), // #1209
+ INST(Vpermq , VexRvmRmi_Lx , E(660F38,36,_,x,_,1,4,FV ), V(660F3A,00,_,x,1,1,4,FV ), 112, 114, 7522 , 350, 143), // #1210
+ INST(Vpermt2b , VexRvm_Lx , E(660F38,7D,_,x,_,0,4,FVM), 0 , 189, 0 , 7529 , 327, 156), // #1211
+ INST(Vpermt2d , VexRvm_Lx , E(660F38,7E,_,x,_,0,4,FV ), 0 , 113, 0 , 7538 , 209, 129), // #1212
+ INST(Vpermt2pd , VexRvm_Lx , E(660F38,7F,_,x,_,1,4,FV ), 0 , 112, 0 , 7547 , 208, 129), // #1213
+ INST(Vpermt2ps , VexRvm_Lx , E(660F38,7F,_,x,_,0,4,FV ), 0 , 113, 0 , 7557 , 209, 129), // #1214
+ INST(Vpermt2q , VexRvm_Lx , E(660F38,7E,_,x,_,1,4,FV ), 0 , 112, 0 , 7567 , 208, 129), // #1215
+ INST(Vpermt2w , VexRvm_Lx , E(660F38,7D,_,x,_,1,4,FVM), 0 , 190, 0 , 7576 , 327, 137), // #1216
+ INST(Vpermw , VexRvm_Lx , E(660F38,8D,_,x,_,1,4,FVM), 0 , 190, 0 , 7585 , 327, 137), // #1217
+ INST(Vpexpandb , VexRm_Lx , E(660F38,62,_,x,_,0,0,T1S), 0 , 198, 0 , 7592 , 259, 154), // #1218
+ INST(Vpexpandd , VexRm_Lx , E(660F38,89,_,x,_,0,2,T1S), 0 , 125, 0 , 7602 , 259, 129), // #1219
+ INST(Vpexpandq , VexRm_Lx , E(660F38,89,_,x,_,1,3,T1S), 0 , 124, 0 , 7612 , 259, 129), // #1220
+ INST(Vpexpandw , VexRm_Lx , E(660F38,62,_,x,_,1,1,T1S), 0 , 199, 0 , 7622 , 259, 154), // #1221
+ INST(Vpextrb , VexMri , V(660F3A,14,_,0,0,I,0,T1S), 0 , 202, 0 , 7632 , 351, 157), // #1222
+ INST(Vpextrd , VexMri , V(660F3A,16,_,0,0,0,2,T1S), 0 , 159, 0 , 7640 , 263, 158), // #1223
+ INST(Vpextrq , VexMri , V(660F3A,16,_,0,1,1,3,T1S), 0 , 203, 0 , 7648 , 352, 158), // #1224
+ INST(Vpextrw , VexMri_Vpextrw , V(660F3A,15,_,0,0,I,1,T1S), 0 , 204, 0 , 7656 , 353, 157), // #1225
+ INST(Vpgatherdd , VexRmvRm_VM , V(660F38,90,_,x,0,_,_,_ ), E(660F38,90,_,x,_,0,2,T1S), 97 , 115, 7664 , 279, 143), // #1226
+ INST(Vpgatherdq , VexRmvRm_VM , V(660F38,90,_,x,1,_,_,_ ), E(660F38,90,_,x,_,1,3,T1S), 165, 116, 7675 , 278, 143), // #1227
+ INST(Vpgatherqd , VexRmvRm_VM , V(660F38,91,_,x,0,_,_,_ ), E(660F38,91,_,x,_,0,2,T1S), 97 , 117, 7686 , 284, 143), // #1228
+ INST(Vpgatherqq , VexRmvRm_VM , V(660F38,91,_,x,1,_,_,_ ), E(660F38,91,_,x,_,1,3,T1S), 165, 118, 7697 , 283, 143), // #1229
+ INST(Vphaddbd , VexRm , V(XOP_M9,C2,_,0,0,_,_,_ ), 0 , 80 , 0 , 7708 , 200, 142), // #1230
+ INST(Vphaddbq , VexRm , V(XOP_M9,C3,_,0,0,_,_,_ ), 0 , 80 , 0 , 7717 , 200, 142), // #1231
+ INST(Vphaddbw , VexRm , V(XOP_M9,C1,_,0,0,_,_,_ ), 0 , 80 , 0 , 7726 , 200, 142), // #1232
+ INST(Vphaddd , VexRvm_Lx , V(660F38,02,_,x,I,_,_,_ ), 0 , 97 , 0 , 7735 , 198, 146), // #1233
+ INST(Vphadddq , VexRm , V(XOP_M9,CB,_,0,0,_,_,_ ), 0 , 80 , 0 , 7743 , 200, 142), // #1234
+ INST(Vphaddsw , VexRvm_Lx , V(660F38,03,_,x,I,_,_,_ ), 0 , 97 , 0 , 7752 , 198, 146), // #1235
+ INST(Vphaddubd , VexRm , V(XOP_M9,D2,_,0,0,_,_,_ ), 0 , 80 , 0 , 7761 , 200, 142), // #1236
+ INST(Vphaddubq , VexRm , V(XOP_M9,D3,_,0,0,_,_,_ ), 0 , 80 , 0 , 7771 , 200, 142), // #1237
+ INST(Vphaddubw , VexRm , V(XOP_M9,D1,_,0,0,_,_,_ ), 0 , 80 , 0 , 7781 , 200, 142), // #1238
+ INST(Vphaddudq , VexRm , V(XOP_M9,DB,_,0,0,_,_,_ ), 0 , 80 , 0 , 7791 , 200, 142), // #1239
+ INST(Vphadduwd , VexRm , V(XOP_M9,D6,_,0,0,_,_,_ ), 0 , 80 , 0 , 7801 , 200, 142), // #1240
+ INST(Vphadduwq , VexRm , V(XOP_M9,D7,_,0,0,_,_,_ ), 0 , 80 , 0 , 7811 , 200, 142), // #1241
+ INST(Vphaddw , VexRvm_Lx , V(660F38,01,_,x,I,_,_,_ ), 0 , 97 , 0 , 7821 , 198, 146), // #1242
+ INST(Vphaddwd , VexRm , V(XOP_M9,C6,_,0,0,_,_,_ ), 0 , 80 , 0 , 7829 , 200, 142), // #1243
+ INST(Vphaddwq , VexRm , V(XOP_M9,C7,_,0,0,_,_,_ ), 0 , 80 , 0 , 7838 , 200, 142), // #1244
+ INST(Vphminposuw , VexRm , V(660F38,41,_,0,I,_,_,_ ), 0 , 97 , 0 , 7847 , 200, 126), // #1245
+ INST(Vphsubbw , VexRm , V(XOP_M9,E1,_,0,0,_,_,_ ), 0 , 80 , 0 , 7859 , 200, 142), // #1246
+ INST(Vphsubd , VexRvm_Lx , V(660F38,06,_,x,I,_,_,_ ), 0 , 97 , 0 , 7868 , 198, 146), // #1247
+ INST(Vphsubdq , VexRm , V(XOP_M9,E3,_,0,0,_,_,_ ), 0 , 80 , 0 , 7876 , 200, 142), // #1248
+ INST(Vphsubsw , VexRvm_Lx , V(660F38,07,_,x,I,_,_,_ ), 0 , 97 , 0 , 7885 , 198, 146), // #1249
+ INST(Vphsubw , VexRvm_Lx , V(660F38,05,_,x,I,_,_,_ ), 0 , 97 , 0 , 7894 , 198, 146), // #1250
+ INST(Vphsubwd , VexRm , V(XOP_M9,E2,_,0,0,_,_,_ ), 0 , 80 , 0 , 7902 , 200, 142), // #1251
+ INST(Vpinsrb , VexRvmi , V(660F3A,20,_,0,0,I,0,T1S), 0 , 202, 0 , 7911 , 354, 157), // #1252
+ INST(Vpinsrd , VexRvmi , V(660F3A,22,_,0,0,0,2,T1S), 0 , 159, 0 , 7919 , 355, 158), // #1253
+ INST(Vpinsrq , VexRvmi , V(660F3A,22,_,0,1,1,3,T1S), 0 , 203, 0 , 7927 , 356, 158), // #1254
+ INST(Vpinsrw , VexRvmi , V(660F00,C4,_,0,0,I,1,T1S), 0 , 205, 0 , 7935 , 357, 157), // #1255
+ INST(Vplzcntd , VexRm_Lx , E(660F38,44,_,x,_,0,4,FV ), 0 , 113, 0 , 7943 , 344, 151), // #1256
+ INST(Vplzcntq , VexRm_Lx , E(660F38,44,_,x,_,1,4,FV ), 0 , 112, 0 , 7952 , 358, 151), // #1257
+ INST(Vpmacsdd , VexRvmr , V(XOP_M8,9E,_,0,0,_,_,_ ), 0 , 195, 0 , 7961 , 359, 142), // #1258
+ INST(Vpmacsdqh , VexRvmr , V(XOP_M8,9F,_,0,0,_,_,_ ), 0 , 195, 0 , 7970 , 359, 142), // #1259
+ INST(Vpmacsdql , VexRvmr , V(XOP_M8,97,_,0,0,_,_,_ ), 0 , 195, 0 , 7980 , 359, 142), // #1260
+ INST(Vpmacssdd , VexRvmr , V(XOP_M8,8E,_,0,0,_,_,_ ), 0 , 195, 0 , 7990 , 359, 142), // #1261
+ INST(Vpmacssdqh , VexRvmr , V(XOP_M8,8F,_,0,0,_,_,_ ), 0 , 195, 0 , 8000 , 359, 142), // #1262
+ INST(Vpmacssdql , VexRvmr , V(XOP_M8,87,_,0,0,_,_,_ ), 0 , 195, 0 , 8011 , 359, 142), // #1263
+ INST(Vpmacsswd , VexRvmr , V(XOP_M8,86,_,0,0,_,_,_ ), 0 , 195, 0 , 8022 , 359, 142), // #1264
+ INST(Vpmacssww , VexRvmr , V(XOP_M8,85,_,0,0,_,_,_ ), 0 , 195, 0 , 8032 , 359, 142), // #1265
+ INST(Vpmacswd , VexRvmr , V(XOP_M8,96,_,0,0,_,_,_ ), 0 , 195, 0 , 8042 , 359, 142), // #1266
+ INST(Vpmacsww , VexRvmr , V(XOP_M8,95,_,0,0,_,_,_ ), 0 , 195, 0 , 8051 , 359, 142), // #1267
+ INST(Vpmadcsswd , VexRvmr , V(XOP_M8,A6,_,0,0,_,_,_ ), 0 , 195, 0 , 8060 , 359, 142), // #1268
+ INST(Vpmadcswd , VexRvmr , V(XOP_M8,B6,_,0,0,_,_,_ ), 0 , 195, 0 , 8071 , 359, 142), // #1269
+ INST(Vpmadd52huq , VexRvm_Lx , E(660F38,B5,_,x,_,1,4,FV ), 0 , 112, 0 , 8081 , 208, 159), // #1270
+ INST(Vpmadd52luq , VexRvm_Lx , E(660F38,B4,_,x,_,1,4,FV ), 0 , 112, 0 , 8093 , 208, 159), // #1271
+ INST(Vpmaddubsw , VexRvm_Lx , V(660F38,04,_,x,I,I,4,FVM), 0 , 109, 0 , 8105 , 290, 149), // #1272
+ INST(Vpmaddwd , VexRvm_Lx , V(660F00,F5,_,x,I,I,4,FVM), 0 , 184, 0 , 8116 , 290, 149), // #1273
+ INST(Vpmaskmovd , VexRvmMvr_Lx , V(660F38,8C,_,x,0,_,_,_ ), V(660F38,8E,_,x,0,_,_,_ ), 97 , 119, 8125 , 298, 132), // #1274
+ INST(Vpmaskmovq , VexRvmMvr_Lx , V(660F38,8C,_,x,1,_,_,_ ), V(660F38,8E,_,x,1,_,_,_ ), 165, 120, 8136 , 298, 132), // #1275
+ INST(Vpmaxsb , VexRvm_Lx , V(660F38,3C,_,x,I,I,4,FVM), 0 , 109, 0 , 8147 , 360, 149), // #1276
+ INST(Vpmaxsd , VexRvm_Lx , V(660F38,3D,_,x,I,0,4,FV ), 0 , 163, 0 , 8155 , 207, 133), // #1277
+ INST(Vpmaxsq , VexRvm_Lx , E(660F38,3D,_,x,_,1,4,FV ), 0 , 112, 0 , 8163 , 208, 129), // #1278
+ INST(Vpmaxsw , VexRvm_Lx , V(660F00,EE,_,x,I,I,4,FVM), 0 , 184, 0 , 8171 , 360, 149), // #1279
+ INST(Vpmaxub , VexRvm_Lx , V(660F00,DE,_,x,I,I,4,FVM), 0 , 184, 0 , 8179 , 360, 149), // #1280
+ INST(Vpmaxud , VexRvm_Lx , V(660F38,3F,_,x,I,0,4,FV ), 0 , 163, 0 , 8187 , 207, 133), // #1281
+ INST(Vpmaxuq , VexRvm_Lx , E(660F38,3F,_,x,_,1,4,FV ), 0 , 112, 0 , 8195 , 208, 129), // #1282
+ INST(Vpmaxuw , VexRvm_Lx , V(660F38,3E,_,x,I,I,4,FVM), 0 , 109, 0 , 8203 , 360, 149), // #1283
+ INST(Vpminsb , VexRvm_Lx , V(660F38,38,_,x,I,I,4,FVM), 0 , 109, 0 , 8211 , 360, 149), // #1284
+ INST(Vpminsd , VexRvm_Lx , V(660F38,39,_,x,I,0,4,FV ), 0 , 163, 0 , 8219 , 207, 133), // #1285
+ INST(Vpminsq , VexRvm_Lx , E(660F38,39,_,x,_,1,4,FV ), 0 , 112, 0 , 8227 , 208, 129), // #1286
+ INST(Vpminsw , VexRvm_Lx , V(660F00,EA,_,x,I,I,4,FVM), 0 , 184, 0 , 8235 , 360, 149), // #1287
+ INST(Vpminub , VexRvm_Lx , V(660F00,DA,_,x,I,_,4,FVM), 0 , 184, 0 , 8243 , 360, 149), // #1288
+ INST(Vpminud , VexRvm_Lx , V(660F38,3B,_,x,I,0,4,FV ), 0 , 163, 0 , 8251 , 207, 133), // #1289
+ INST(Vpminuq , VexRvm_Lx , E(660F38,3B,_,x,_,1,4,FV ), 0 , 112, 0 , 8259 , 208, 129), // #1290
+ INST(Vpminuw , VexRvm_Lx , V(660F38,3A,_,x,I,_,4,FVM), 0 , 109, 0 , 8267 , 360, 149), // #1291
+ INST(Vpmovb2m , VexRm_Lx , E(F30F38,29,_,x,_,0,_,_ ), 0 , 193, 0 , 8275 , 361, 137), // #1292
+ INST(Vpmovd2m , VexRm_Lx , E(F30F38,39,_,x,_,0,_,_ ), 0 , 193, 0 , 8284 , 361, 131), // #1293
+ INST(Vpmovdb , VexMr_Lx , E(F30F38,31,_,x,_,0,2,QVM), 0 , 206, 0 , 8293 , 362, 129), // #1294
+ INST(Vpmovdw , VexMr_Lx , E(F30F38,33,_,x,_,0,3,HVM), 0 , 207, 0 , 8301 , 363, 129), // #1295
+ INST(Vpmovm2b , VexRm_Lx , E(F30F38,28,_,x,_,0,_,_ ), 0 , 193, 0 , 8309 , 330, 137), // #1296
+ INST(Vpmovm2d , VexRm_Lx , E(F30F38,38,_,x,_,0,_,_ ), 0 , 193, 0 , 8318 , 330, 131), // #1297
+ INST(Vpmovm2q , VexRm_Lx , E(F30F38,38,_,x,_,1,_,_ ), 0 , 192, 0 , 8327 , 330, 131), // #1298
+ INST(Vpmovm2w , VexRm_Lx , E(F30F38,28,_,x,_,1,_,_ ), 0 , 192, 0 , 8336 , 330, 137), // #1299
+ INST(Vpmovmskb , VexRm_Lx , V(660F00,D7,_,x,I,_,_,_ ), 0 , 70 , 0 , 8345 , 310, 146), // #1300
+ INST(Vpmovq2m , VexRm_Lx , E(F30F38,39,_,x,_,1,_,_ ), 0 , 192, 0 , 8355 , 361, 131), // #1301
+ INST(Vpmovqb , VexMr_Lx , E(F30F38,32,_,x,_,0,1,OVM), 0 , 208, 0 , 8364 , 364, 129), // #1302
+ INST(Vpmovqd , VexMr_Lx , E(F30F38,35,_,x,_,0,3,HVM), 0 , 207, 0 , 8372 , 363, 129), // #1303
+ INST(Vpmovqw , VexMr_Lx , E(F30F38,34,_,x,_,0,2,QVM), 0 , 206, 0 , 8380 , 362, 129), // #1304
+ INST(Vpmovsdb , VexMr_Lx , E(F30F38,21,_,x,_,0,2,QVM), 0 , 206, 0 , 8388 , 362, 129), // #1305
+ INST(Vpmovsdw , VexMr_Lx , E(F30F38,23,_,x,_,0,3,HVM), 0 , 207, 0 , 8397 , 363, 129), // #1306
+ INST(Vpmovsqb , VexMr_Lx , E(F30F38,22,_,x,_,0,1,OVM), 0 , 208, 0 , 8406 , 364, 129), // #1307
+ INST(Vpmovsqd , VexMr_Lx , E(F30F38,25,_,x,_,0,3,HVM), 0 , 207, 0 , 8415 , 363, 129), // #1308
+ INST(Vpmovsqw , VexMr_Lx , E(F30F38,24,_,x,_,0,2,QVM), 0 , 206, 0 , 8424 , 362, 129), // #1309
+ INST(Vpmovswb , VexMr_Lx , E(F30F38,20,_,x,_,0,3,HVM), 0 , 207, 0 , 8433 , 363, 137), // #1310
+ INST(Vpmovsxbd , VexRm_Lx , V(660F38,21,_,x,I,I,2,QVM), 0 , 209, 0 , 8442 , 365, 133), // #1311
+ INST(Vpmovsxbq , VexRm_Lx , V(660F38,22,_,x,I,I,1,OVM), 0 , 210, 0 , 8452 , 366, 133), // #1312
+ INST(Vpmovsxbw , VexRm_Lx , V(660F38,20,_,x,I,I,3,HVM), 0 , 132, 0 , 8462 , 367, 149), // #1313
+ INST(Vpmovsxdq , VexRm_Lx , V(660F38,25,_,x,I,0,3,HVM), 0 , 132, 0 , 8472 , 367, 133), // #1314
+ INST(Vpmovsxwd , VexRm_Lx , V(660F38,23,_,x,I,I,3,HVM), 0 , 132, 0 , 8482 , 367, 133), // #1315
+ INST(Vpmovsxwq , VexRm_Lx , V(660F38,24,_,x,I,I,2,QVM), 0 , 209, 0 , 8492 , 365, 133), // #1316
+ INST(Vpmovusdb , VexMr_Lx , E(F30F38,11,_,x,_,0,2,QVM), 0 , 206, 0 , 8502 , 362, 129), // #1317
+ INST(Vpmovusdw , VexMr_Lx , E(F30F38,13,_,x,_,0,3,HVM), 0 , 207, 0 , 8512 , 363, 129), // #1318
+ INST(Vpmovusqb , VexMr_Lx , E(F30F38,12,_,x,_,0,1,OVM), 0 , 208, 0 , 8522 , 364, 129), // #1319
+ INST(Vpmovusqd , VexMr_Lx , E(F30F38,15,_,x,_,0,3,HVM), 0 , 207, 0 , 8532 , 363, 129), // #1320
+ INST(Vpmovusqw , VexMr_Lx , E(F30F38,14,_,x,_,0,2,QVM), 0 , 206, 0 , 8542 , 362, 129), // #1321
+ INST(Vpmovuswb , VexMr_Lx , E(F30F38,10,_,x,_,0,3,HVM), 0 , 207, 0 , 8552 , 363, 137), // #1322
+ INST(Vpmovw2m , VexRm_Lx , E(F30F38,29,_,x,_,1,_,_ ), 0 , 192, 0 , 8562 , 361, 137), // #1323
+ INST(Vpmovwb , VexMr_Lx , E(F30F38,30,_,x,_,0,3,HVM), 0 , 207, 0 , 8571 , 363, 137), // #1324
+ INST(Vpmovzxbd , VexRm_Lx , V(660F38,31,_,x,I,I,2,QVM), 0 , 209, 0 , 8579 , 365, 133), // #1325
+ INST(Vpmovzxbq , VexRm_Lx , V(660F38,32,_,x,I,I,1,OVM), 0 , 210, 0 , 8589 , 366, 133), // #1326
+ INST(Vpmovzxbw , VexRm_Lx , V(660F38,30,_,x,I,I,3,HVM), 0 , 132, 0 , 8599 , 367, 149), // #1327
+ INST(Vpmovzxdq , VexRm_Lx , V(660F38,35,_,x,I,0,3,HVM), 0 , 132, 0 , 8609 , 367, 133), // #1328
+ INST(Vpmovzxwd , VexRm_Lx , V(660F38,33,_,x,I,I,3,HVM), 0 , 132, 0 , 8619 , 367, 133), // #1329
+ INST(Vpmovzxwq , VexRm_Lx , V(660F38,34,_,x,I,I,2,QVM), 0 , 209, 0 , 8629 , 365, 133), // #1330
+ INST(Vpmuldq , VexRvm_Lx , V(660F38,28,_,x,I,1,4,FV ), 0 , 200, 0 , 8639 , 204, 133), // #1331
+ INST(Vpmulhrsw , VexRvm_Lx , V(660F38,0B,_,x,I,I,4,FVM), 0 , 109, 0 , 8647 , 290, 149), // #1332
+ INST(Vpmulhuw , VexRvm_Lx , V(660F00,E4,_,x,I,I,4,FVM), 0 , 184, 0 , 8657 , 290, 149), // #1333
+ INST(Vpmulhw , VexRvm_Lx , V(660F00,E5,_,x,I,I,4,FVM), 0 , 184, 0 , 8666 , 290, 149), // #1334
+ INST(Vpmulld , VexRvm_Lx , V(660F38,40,_,x,I,0,4,FV ), 0 , 163, 0 , 8674 , 205, 133), // #1335
+ INST(Vpmullq , VexRvm_Lx , E(660F38,40,_,x,_,1,4,FV ), 0 , 112, 0 , 8682 , 208, 131), // #1336
+ INST(Vpmullw , VexRvm_Lx , V(660F00,D5,_,x,I,I,4,FVM), 0 , 184, 0 , 8690 , 290, 149), // #1337
+ INST(Vpmultishiftqb , VexRvm_Lx , E(660F38,83,_,x,_,1,4,FV ), 0 , 112, 0 , 8698 , 208, 156), // #1338
+ INST(Vpmuludq , VexRvm_Lx , V(660F00,F4,_,x,I,1,4,FV ), 0 , 104, 0 , 8713 , 204, 133), // #1339
+ INST(Vpopcntb , VexRm_Lx , E(660F38,54,_,x,_,0,4,FV ), 0 , 113, 0 , 8722 , 259, 160), // #1340
+ INST(Vpopcntd , VexRm_Lx , E(660F38,55,_,x,_,0,4,FVM), 0 , 189, 0 , 8731 , 344, 161), // #1341
+ INST(Vpopcntq , VexRm_Lx , E(660F38,55,_,x,_,1,4,FVM), 0 , 190, 0 , 8740 , 358, 161), // #1342
+ INST(Vpopcntw , VexRm_Lx , E(660F38,54,_,x,_,1,4,FV ), 0 , 112, 0 , 8749 , 259, 160), // #1343
+ INST(Vpor , VexRvm_Lx , V(660F00,EB,_,x,I,_,_,_ ), 0 , 70 , 0 , 8758 , 321, 146), // #1344
+ INST(Vpord , VexRvm_Lx , E(660F00,EB,_,x,_,0,4,FV ), 0 , 188, 0 , 8763 , 322, 129), // #1345
+ INST(Vporq , VexRvm_Lx , E(660F00,EB,_,x,_,1,4,FV ), 0 , 130, 0 , 8769 , 326, 129), // #1346
+ INST(Vpperm , VexRvrmRvmr , V(XOP_M8,A3,_,0,x,_,_,_ ), 0 , 195, 0 , 8775 , 368, 142), // #1347
+ INST(Vprold , VexVmi_Lx , E(660F00,72,1,x,_,0,4,FV ), 0 , 211, 0 , 8782 , 369, 129), // #1348
+ INST(Vprolq , VexVmi_Lx , E(660F00,72,1,x,_,1,4,FV ), 0 , 212, 0 , 8789 , 370, 129), // #1349
+ INST(Vprolvd , VexRvm_Lx , E(660F38,15,_,x,_,0,4,FV ), 0 , 113, 0 , 8796 , 209, 129), // #1350
+ INST(Vprolvq , VexRvm_Lx , E(660F38,15,_,x,_,1,4,FV ), 0 , 112, 0 , 8804 , 208, 129), // #1351
+ INST(Vprord , VexVmi_Lx , E(660F00,72,0,x,_,0,4,FV ), 0 , 188, 0 , 8812 , 369, 129), // #1352
+ INST(Vprorq , VexVmi_Lx , E(660F00,72,0,x,_,1,4,FV ), 0 , 130, 0 , 8819 , 370, 129), // #1353
+ INST(Vprorvd , VexRvm_Lx , E(660F38,14,_,x,_,0,4,FV ), 0 , 113, 0 , 8826 , 209, 129), // #1354
+ INST(Vprorvq , VexRvm_Lx , E(660F38,14,_,x,_,1,4,FV ), 0 , 112, 0 , 8834 , 208, 129), // #1355
+ INST(Vprotb , VexRvmRmvRmi , V(XOP_M9,90,_,0,x,_,_,_ ), V(XOP_M8,C0,_,0,x,_,_,_ ), 80 , 121, 8842 , 371, 142), // #1356
+ INST(Vprotd , VexRvmRmvRmi , V(XOP_M9,92,_,0,x,_,_,_ ), V(XOP_M8,C2,_,0,x,_,_,_ ), 80 , 122, 8849 , 371, 142), // #1357
+ INST(Vprotq , VexRvmRmvRmi , V(XOP_M9,93,_,0,x,_,_,_ ), V(XOP_M8,C3,_,0,x,_,_,_ ), 80 , 123, 8856 , 371, 142), // #1358
+ INST(Vprotw , VexRvmRmvRmi , V(XOP_M9,91,_,0,x,_,_,_ ), V(XOP_M8,C1,_,0,x,_,_,_ ), 80 , 124, 8863 , 371, 142), // #1359
+ INST(Vpsadbw , VexRvm_Lx , V(660F00,F6,_,x,I,I,4,FVM), 0 , 184, 0 , 8870 , 199, 149), // #1360
+ INST(Vpscatterdd , VexMr_VM , E(660F38,A0,_,x,_,0,2,T1S), 0 , 125, 0 , 8878 , 372, 129), // #1361
+ INST(Vpscatterdq , VexMr_VM , E(660F38,A0,_,x,_,1,3,T1S), 0 , 124, 0 , 8890 , 373, 129), // #1362
+ INST(Vpscatterqd , VexMr_VM , E(660F38,A1,_,x,_,0,2,T1S), 0 , 125, 0 , 8902 , 374, 129), // #1363
+ INST(Vpscatterqq , VexMr_VM , E(660F38,A1,_,x,_,1,3,T1S), 0 , 124, 0 , 8914 , 375, 129), // #1364
+ INST(Vpshab , VexRvmRmv , V(XOP_M9,98,_,0,x,_,_,_ ), 0 , 80 , 0 , 8926 , 376, 142), // #1365
+ INST(Vpshad , VexRvmRmv , V(XOP_M9,9A,_,0,x,_,_,_ ), 0 , 80 , 0 , 8933 , 376, 142), // #1366
+ INST(Vpshaq , VexRvmRmv , V(XOP_M9,9B,_,0,x,_,_,_ ), 0 , 80 , 0 , 8940 , 376, 142), // #1367
+ INST(Vpshaw , VexRvmRmv , V(XOP_M9,99,_,0,x,_,_,_ ), 0 , 80 , 0 , 8947 , 376, 142), // #1368
+ INST(Vpshlb , VexRvmRmv , V(XOP_M9,94,_,0,x,_,_,_ ), 0 , 80 , 0 , 8954 , 376, 142), // #1369
+ INST(Vpshld , VexRvmRmv , V(XOP_M9,96,_,0,x,_,_,_ ), 0 , 80 , 0 , 8961 , 376, 142), // #1370
+ INST(Vpshldd , VexRvmi_Lx , E(660F3A,71,_,x,_,0,4,FV ), 0 , 110, 0 , 8968 , 202, 154), // #1371
+ INST(Vpshldq , VexRvmi_Lx , E(660F3A,71,_,x,_,1,4,FV ), 0 , 111, 0 , 8976 , 203, 154), // #1372
+ INST(Vpshldvd , VexRvm_Lx , E(660F38,71,_,x,_,0,4,FV ), 0 , 113, 0 , 8984 , 209, 154), // #1373
+ INST(Vpshldvq , VexRvm_Lx , E(660F38,71,_,x,_,1,4,FV ), 0 , 112, 0 , 8993 , 208, 154), // #1374
+ INST(Vpshldvw , VexRvm_Lx , E(660F38,70,_,x,_,1,4,FVM), 0 , 190, 0 , 9002 , 327, 154), // #1375
+ INST(Vpshldw , VexRvmi_Lx , E(660F3A,70,_,x,_,1,4,FVM), 0 , 197, 0 , 9011 , 255, 154), // #1376
+ INST(Vpshlq , VexRvmRmv , V(XOP_M9,97,_,0,x,_,_,_ ), 0 , 80 , 0 , 9019 , 376, 142), // #1377
+ INST(Vpshlw , VexRvmRmv , V(XOP_M9,95,_,0,x,_,_,_ ), 0 , 80 , 0 , 9026 , 376, 142), // #1378
+ INST(Vpshrdd , VexRvmi_Lx , E(660F3A,73,_,x,_,0,4,FV ), 0 , 110, 0 , 9033 , 202, 154), // #1379
+ INST(Vpshrdq , VexRvmi_Lx , E(660F3A,73,_,x,_,1,4,FV ), 0 , 111, 0 , 9041 , 203, 154), // #1380
+ INST(Vpshrdvd , VexRvm_Lx , E(660F38,73,_,x,_,0,4,FV ), 0 , 113, 0 , 9049 , 209, 154), // #1381
+ INST(Vpshrdvq , VexRvm_Lx , E(660F38,73,_,x,_,1,4,FV ), 0 , 112, 0 , 9058 , 208, 154), // #1382
+ INST(Vpshrdvw , VexRvm_Lx , E(660F38,72,_,x,_,1,4,FVM), 0 , 190, 0 , 9067 , 327, 154), // #1383
+ INST(Vpshrdw , VexRvmi_Lx , E(660F3A,72,_,x,_,1,4,FVM), 0 , 197, 0 , 9076 , 255, 154), // #1384
+ INST(Vpshufb , VexRvm_Lx , V(660F38,00,_,x,I,I,4,FVM), 0 , 109, 0 , 9084 , 290, 149), // #1385
+ INST(Vpshufbitqmb , VexRvm_Lx , E(660F38,8F,_,x,0,0,4,FVM), 0 , 189, 0 , 9092 , 377, 160), // #1386
+ INST(Vpshufd , VexRmi_Lx , V(660F00,70,_,x,I,0,4,FV ), 0 , 133, 0 , 9105 , 378, 133), // #1387
+ INST(Vpshufhw , VexRmi_Lx , V(F30F00,70,_,x,I,I,4,FVM), 0 , 185, 0 , 9113 , 379, 149), // #1388
+ INST(Vpshuflw , VexRmi_Lx , V(F20F00,70,_,x,I,I,4,FVM), 0 , 213, 0 , 9122 , 379, 149), // #1389
+ INST(Vpsignb , VexRvm_Lx , V(660F38,08,_,x,I,_,_,_ ), 0 , 97 , 0 , 9131 , 198, 146), // #1390
+ INST(Vpsignd , VexRvm_Lx , V(660F38,0A,_,x,I,_,_,_ ), 0 , 97 , 0 , 9139 , 198, 146), // #1391
+ INST(Vpsignw , VexRvm_Lx , V(660F38,09,_,x,I,_,_,_ ), 0 , 97 , 0 , 9147 , 198, 146), // #1392
+ INST(Vpslld , VexRvmVmi_Lx_MEvex , V(660F00,F2,_,x,I,0,4,128), V(660F00,72,6,x,I,0,4,FV ), 214, 125, 9155 , 380, 133), // #1393
+ INST(Vpslldq , VexVmi_Lx_MEvex , V(660F00,73,7,x,I,I,4,FVM), 0 , 215, 0 , 9162 , 381, 149), // #1394
+ INST(Vpsllq , VexRvmVmi_Lx_MEvex , V(660F00,F3,_,x,I,1,4,128), V(660F00,73,6,x,I,1,4,FV ), 216, 126, 9170 , 382, 133), // #1395
+ INST(Vpsllvd , VexRvm_Lx , V(660F38,47,_,x,0,0,4,FV ), 0 , 163, 0 , 9177 , 205, 143), // #1396
+ INST(Vpsllvq , VexRvm_Lx , V(660F38,47,_,x,1,1,4,FV ), 0 , 162, 0 , 9185 , 204, 143), // #1397
+ INST(Vpsllvw , VexRvm_Lx , E(660F38,12,_,x,_,1,4,FVM), 0 , 190, 0 , 9193 , 327, 137), // #1398
+ INST(Vpsllw , VexRvmVmi_Lx_MEvex , V(660F00,F1,_,x,I,I,4,128), V(660F00,71,6,x,I,I,4,FVM), 214, 127, 9201 , 383, 149), // #1399
+ INST(Vpsrad , VexRvmVmi_Lx_MEvex , V(660F00,E2,_,x,I,0,4,128), V(660F00,72,4,x,I,0,4,FV ), 214, 128, 9208 , 380, 133), // #1400
+ INST(Vpsraq , VexRvmVmi_Lx_MEvex , E(660F00,E2,_,x,_,1,4,128), E(660F00,72,4,x,_,1,4,FV ), 217, 129, 9215 , 384, 129), // #1401
+ INST(Vpsravd , VexRvm_Lx , V(660F38,46,_,x,0,0,4,FV ), 0 , 163, 0 , 9222 , 205, 143), // #1402
+ INST(Vpsravq , VexRvm_Lx , E(660F38,46,_,x,_,1,4,FV ), 0 , 112, 0 , 9230 , 208, 129), // #1403
+ INST(Vpsravw , VexRvm_Lx , E(660F38,11,_,x,_,1,4,FVM), 0 , 190, 0 , 9238 , 327, 137), // #1404
+ INST(Vpsraw , VexRvmVmi_Lx_MEvex , V(660F00,E1,_,x,I,I,4,128), V(660F00,71,4,x,I,I,4,FVM), 214, 130, 9246 , 383, 149), // #1405
+ INST(Vpsrld , VexRvmVmi_Lx_MEvex , V(660F00,D2,_,x,I,0,4,128), V(660F00,72,2,x,I,0,4,FV ), 214, 131, 9253 , 380, 133), // #1406
+ INST(Vpsrldq , VexVmi_Lx_MEvex , V(660F00,73,3,x,I,I,4,FVM), 0 , 218, 0 , 9260 , 381, 149), // #1407
+ INST(Vpsrlq , VexRvmVmi_Lx_MEvex , V(660F00,D3,_,x,I,1,4,128), V(660F00,73,2,x,I,1,4,FV ), 216, 132, 9268 , 382, 133), // #1408
+ INST(Vpsrlvd , VexRvm_Lx , V(660F38,45,_,x,0,0,4,FV ), 0 , 163, 0 , 9275 , 205, 143), // #1409
+ INST(Vpsrlvq , VexRvm_Lx , V(660F38,45,_,x,1,1,4,FV ), 0 , 162, 0 , 9283 , 204, 143), // #1410
+ INST(Vpsrlvw , VexRvm_Lx , E(660F38,10,_,x,_,1,4,FVM), 0 , 190, 0 , 9291 , 327, 137), // #1411
+ INST(Vpsrlw , VexRvmVmi_Lx_MEvex , V(660F00,D1,_,x,I,I,4,128), V(660F00,71,2,x,I,I,4,FVM), 214, 133, 9299 , 383, 149), // #1412
+ INST(Vpsubb , VexRvm_Lx , V(660F00,F8,_,x,I,I,4,FVM), 0 , 184, 0 , 9306 , 385, 149), // #1413
+ INST(Vpsubd , VexRvm_Lx , V(660F00,FA,_,x,I,0,4,FV ), 0 , 133, 0 , 9313 , 386, 133), // #1414
+ INST(Vpsubq , VexRvm_Lx , V(660F00,FB,_,x,I,1,4,FV ), 0 , 104, 0 , 9320 , 387, 133), // #1415
+ INST(Vpsubsb , VexRvm_Lx , V(660F00,E8,_,x,I,I,4,FVM), 0 , 184, 0 , 9327 , 385, 149), // #1416
+ INST(Vpsubsw , VexRvm_Lx , V(660F00,E9,_,x,I,I,4,FVM), 0 , 184, 0 , 9335 , 385, 149), // #1417
+ INST(Vpsubusb , VexRvm_Lx , V(660F00,D8,_,x,I,I,4,FVM), 0 , 184, 0 , 9343 , 385, 149), // #1418
+ INST(Vpsubusw , VexRvm_Lx , V(660F00,D9,_,x,I,I,4,FVM), 0 , 184, 0 , 9352 , 385, 149), // #1419
+ INST(Vpsubw , VexRvm_Lx , V(660F00,F9,_,x,I,I,4,FVM), 0 , 184, 0 , 9361 , 385, 149), // #1420
+ INST(Vpternlogd , VexRvmi_Lx , E(660F3A,25,_,x,_,0,4,FV ), 0 , 110, 0 , 9368 , 202, 129), // #1421
+ INST(Vpternlogq , VexRvmi_Lx , E(660F3A,25,_,x,_,1,4,FV ), 0 , 111, 0 , 9379 , 203, 129), // #1422
+ INST(Vptest , VexRm_Lx , V(660F38,17,_,x,I,_,_,_ ), 0 , 97 , 0 , 9390 , 275, 153), // #1423
+ INST(Vptestmb , VexRvm_Lx , E(660F38,26,_,x,_,0,4,FVM), 0 , 189, 0 , 9397 , 377, 137), // #1424
+ INST(Vptestmd , VexRvm_Lx , E(660F38,27,_,x,_,0,4,FV ), 0 , 113, 0 , 9406 , 388, 129), // #1425
+ INST(Vptestmq , VexRvm_Lx , E(660F38,27,_,x,_,1,4,FV ), 0 , 112, 0 , 9415 , 389, 129), // #1426
+ INST(Vptestmw , VexRvm_Lx , E(660F38,26,_,x,_,1,4,FVM), 0 , 190, 0 , 9424 , 377, 137), // #1427
+ INST(Vptestnmb , VexRvm_Lx , E(F30F38,26,_,x,_,0,4,FVM), 0 , 219, 0 , 9433 , 377, 137), // #1428
+ INST(Vptestnmd , VexRvm_Lx , E(F30F38,27,_,x,_,0,4,FV ), 0 , 128, 0 , 9443 , 388, 129), // #1429
+ INST(Vptestnmq , VexRvm_Lx , E(F30F38,27,_,x,_,1,4,FV ), 0 , 220, 0 , 9453 , 389, 129), // #1430
+ INST(Vptestnmw , VexRvm_Lx , E(F30F38,26,_,x,_,1,4,FVM), 0 , 221, 0 , 9463 , 377, 137), // #1431
+ INST(Vpunpckhbw , VexRvm_Lx , V(660F00,68,_,x,I,I,4,FVM), 0 , 184, 0 , 9473 , 290, 149), // #1432
+ INST(Vpunpckhdq , VexRvm_Lx , V(660F00,6A,_,x,I,0,4,FV ), 0 , 133, 0 , 9484 , 205, 133), // #1433
+ INST(Vpunpckhqdq , VexRvm_Lx , V(660F00,6D,_,x,I,1,4,FV ), 0 , 104, 0 , 9495 , 204, 133), // #1434
+ INST(Vpunpckhwd , VexRvm_Lx , V(660F00,69,_,x,I,I,4,FVM), 0 , 184, 0 , 9507 , 290, 149), // #1435
+ INST(Vpunpcklbw , VexRvm_Lx , V(660F00,60,_,x,I,I,4,FVM), 0 , 184, 0 , 9518 , 290, 149), // #1436
+ INST(Vpunpckldq , VexRvm_Lx , V(660F00,62,_,x,I,0,4,FV ), 0 , 133, 0 , 9529 , 205, 133), // #1437
+ INST(Vpunpcklqdq , VexRvm_Lx , V(660F00,6C,_,x,I,1,4,FV ), 0 , 104, 0 , 9540 , 204, 133), // #1438
+ INST(Vpunpcklwd , VexRvm_Lx , V(660F00,61,_,x,I,I,4,FVM), 0 , 184, 0 , 9552 , 290, 149), // #1439
+ INST(Vpxor , VexRvm_Lx , V(660F00,EF,_,x,I,_,_,_ ), 0 , 70 , 0 , 9563 , 323, 146), // #1440
+ INST(Vpxord , VexRvm_Lx , E(660F00,EF,_,x,_,0,4,FV ), 0 , 188, 0 , 9569 , 324, 129), // #1441
+ INST(Vpxorq , VexRvm_Lx , E(660F00,EF,_,x,_,1,4,FV ), 0 , 130, 0 , 9576 , 325, 129), // #1442
+ INST(Vrangepd , VexRvmi_Lx , E(660F3A,50,_,x,_,1,4,FV ), 0 , 111, 0 , 9583 , 264, 131), // #1443
+ INST(Vrangeps , VexRvmi_Lx , E(660F3A,50,_,x,_,0,4,FV ), 0 , 110, 0 , 9592 , 265, 131), // #1444
+ INST(Vrangesd , VexRvmi , E(660F3A,51,_,I,_,1,3,T1S), 0 , 160, 0 , 9601 , 266, 66 ), // #1445
+ INST(Vrangess , VexRvmi , E(660F3A,51,_,I,_,0,2,T1S), 0 , 161, 0 , 9610 , 267, 66 ), // #1446
+ INST(Vrcp14pd , VexRm_Lx , E(660F38,4C,_,x,_,1,4,FV ), 0 , 112, 0 , 9619 , 358, 129), // #1447
+ INST(Vrcp14ps , VexRm_Lx , E(660F38,4C,_,x,_,0,4,FV ), 0 , 113, 0 , 9628 , 344, 129), // #1448
+ INST(Vrcp14sd , VexRvm , E(660F38,4D,_,I,_,1,3,T1S), 0 , 124, 0 , 9637 , 390, 68 ), // #1449
+ INST(Vrcp14ss , VexRvm , E(660F38,4D,_,I,_,0,2,T1S), 0 , 125, 0 , 9646 , 391, 68 ), // #1450
+ INST(Vrcp28pd , VexRm , E(660F38,CA,_,2,_,1,4,FV ), 0 , 152, 0 , 9655 , 257, 138), // #1451
+ INST(Vrcp28ps , VexRm , E(660F38,CA,_,2,_,0,4,FV ), 0 , 153, 0 , 9664 , 258, 138), // #1452
+ INST(Vrcp28sd , VexRvm , E(660F38,CB,_,I,_,1,3,T1S), 0 , 124, 0 , 9673 , 285, 138), // #1453
+ INST(Vrcp28ss , VexRvm , E(660F38,CB,_,I,_,0,2,T1S), 0 , 125, 0 , 9682 , 286, 138), // #1454
+ INST(Vrcpps , VexRm_Lx , V(000F00,53,_,x,I,_,_,_ ), 0 , 73 , 0 , 9691 , 275, 126), // #1455
+ INST(Vrcpss , VexRvm , V(F30F00,53,_,I,I,_,_,_ ), 0 , 178, 0 , 9698 , 392, 126), // #1456
+ INST(Vreducepd , VexRmi_Lx , E(660F3A,56,_,x,_,1,4,FV ), 0 , 111, 0 , 9705 , 370, 131), // #1457
+ INST(Vreduceps , VexRmi_Lx , E(660F3A,56,_,x,_,0,4,FV ), 0 , 110, 0 , 9715 , 369, 131), // #1458
+ INST(Vreducesd , VexRvmi , E(660F3A,57,_,I,_,1,3,T1S), 0 , 160, 0 , 9725 , 393, 66 ), // #1459
+ INST(Vreducess , VexRvmi , E(660F3A,57,_,I,_,0,2,T1S), 0 , 161, 0 , 9735 , 394, 66 ), // #1460
+ INST(Vrndscalepd , VexRmi_Lx , E(660F3A,09,_,x,_,1,4,FV ), 0 , 111, 0 , 9745 , 287, 129), // #1461
+ INST(Vrndscaleps , VexRmi_Lx , E(660F3A,08,_,x,_,0,4,FV ), 0 , 110, 0 , 9757 , 288, 129), // #1462
+ INST(Vrndscalesd , VexRvmi , E(660F3A,0B,_,I,_,1,3,T1S), 0 , 160, 0 , 9769 , 266, 68 ), // #1463
+ INST(Vrndscaless , VexRvmi , E(660F3A,0A,_,I,_,0,2,T1S), 0 , 161, 0 , 9781 , 267, 68 ), // #1464
+ INST(Vroundpd , VexRmi_Lx , V(660F3A,09,_,x,I,_,_,_ ), 0 , 74 , 0 , 9793 , 395, 126), // #1465
+ INST(Vroundps , VexRmi_Lx , V(660F3A,08,_,x,I,_,_,_ ), 0 , 74 , 0 , 9802 , 395, 126), // #1466
+ INST(Vroundsd , VexRvmi , V(660F3A,0B,_,I,I,_,_,_ ), 0 , 74 , 0 , 9811 , 396, 126), // #1467
+ INST(Vroundss , VexRvmi , V(660F3A,0A,_,I,I,_,_,_ ), 0 , 74 , 0 , 9820 , 397, 126), // #1468
+ INST(Vrsqrt14pd , VexRm_Lx , E(660F38,4E,_,x,_,1,4,FV ), 0 , 112, 0 , 9829 , 358, 129), // #1469
+ INST(Vrsqrt14ps , VexRm_Lx , E(660F38,4E,_,x,_,0,4,FV ), 0 , 113, 0 , 9840 , 344, 129), // #1470
+ INST(Vrsqrt14sd , VexRvm , E(660F38,4F,_,I,_,1,3,T1S), 0 , 124, 0 , 9851 , 390, 68 ), // #1471
+ INST(Vrsqrt14ss , VexRvm , E(660F38,4F,_,I,_,0,2,T1S), 0 , 125, 0 , 9862 , 391, 68 ), // #1472
+ INST(Vrsqrt28pd , VexRm , E(660F38,CC,_,2,_,1,4,FV ), 0 , 152, 0 , 9873 , 257, 138), // #1473
+ INST(Vrsqrt28ps , VexRm , E(660F38,CC,_,2,_,0,4,FV ), 0 , 153, 0 , 9884 , 258, 138), // #1474
+ INST(Vrsqrt28sd , VexRvm , E(660F38,CD,_,I,_,1,3,T1S), 0 , 124, 0 , 9895 , 285, 138), // #1475
+ INST(Vrsqrt28ss , VexRvm , E(660F38,CD,_,I,_,0,2,T1S), 0 , 125, 0 , 9906 , 286, 138), // #1476
+ INST(Vrsqrtps , VexRm_Lx , V(000F00,52,_,x,I,_,_,_ ), 0 , 73 , 0 , 9917 , 275, 126), // #1477
+ INST(Vrsqrtss , VexRvm , V(F30F00,52,_,I,I,_,_,_ ), 0 , 178, 0 , 9926 , 392, 126), // #1478
+ INST(Vscalefpd , VexRvm_Lx , E(660F38,2C,_,x,_,1,4,FV ), 0 , 112, 0 , 9935 , 398, 129), // #1479
+ INST(Vscalefps , VexRvm_Lx , E(660F38,2C,_,x,_,0,4,FV ), 0 , 113, 0 , 9945 , 399, 129), // #1480
+ INST(Vscalefsd , VexRvm , E(660F38,2D,_,I,_,1,3,T1S), 0 , 124, 0 , 9955 , 400, 68 ), // #1481
+ INST(Vscalefss , VexRvm , E(660F38,2D,_,I,_,0,2,T1S), 0 , 125, 0 , 9965 , 401, 68 ), // #1482
+ INST(Vscatterdpd , VexMr_VM , E(660F38,A2,_,x,_,1,3,T1S), 0 , 124, 0 , 9975 , 373, 129), // #1483
+ INST(Vscatterdps , VexMr_VM , E(660F38,A2,_,x,_,0,2,T1S), 0 , 125, 0 , 9987 , 372, 129), // #1484
+ INST(Vscatterpf0dpd , VexM_VM , E(660F38,C6,5,2,_,1,3,T1S), 0 , 222, 0 , 9999 , 280, 144), // #1485
+ INST(Vscatterpf0dps , VexM_VM , E(660F38,C6,5,2,_,0,2,T1S), 0 , 223, 0 , 10014, 281, 144), // #1486
+ INST(Vscatterpf0qpd , VexM_VM , E(660F38,C7,5,2,_,1,3,T1S), 0 , 222, 0 , 10029, 282, 144), // #1487
+ INST(Vscatterpf0qps , VexM_VM , E(660F38,C7,5,2,_,0,2,T1S), 0 , 223, 0 , 10044, 282, 144), // #1488
+ INST(Vscatterpf1dpd , VexM_VM , E(660F38,C6,6,2,_,1,3,T1S), 0 , 224, 0 , 10059, 280, 144), // #1489
+ INST(Vscatterpf1dps , VexM_VM , E(660F38,C6,6,2,_,0,2,T1S), 0 , 225, 0 , 10074, 281, 144), // #1490
+ INST(Vscatterpf1qpd , VexM_VM , E(660F38,C7,6,2,_,1,3,T1S), 0 , 224, 0 , 10089, 282, 144), // #1491
+ INST(Vscatterpf1qps , VexM_VM , E(660F38,C7,6,2,_,0,2,T1S), 0 , 225, 0 , 10104, 282, 144), // #1492
+ INST(Vscatterqpd , VexMr_VM , E(660F38,A3,_,x,_,1,3,T1S), 0 , 124, 0 , 10119, 375, 129), // #1493
+ INST(Vscatterqps , VexMr_VM , E(660F38,A3,_,x,_,0,2,T1S), 0 , 125, 0 , 10131, 374, 129), // #1494
+ INST(Vshuff32x4 , VexRvmi_Lx , E(660F3A,23,_,x,_,0,4,FV ), 0 , 110, 0 , 10143, 402, 129), // #1495
+ INST(Vshuff64x2 , VexRvmi_Lx , E(660F3A,23,_,x,_,1,4,FV ), 0 , 111, 0 , 10154, 403, 129), // #1496
+ INST(Vshufi32x4 , VexRvmi_Lx , E(660F3A,43,_,x,_,0,4,FV ), 0 , 110, 0 , 10165, 402, 129), // #1497
+ INST(Vshufi64x2 , VexRvmi_Lx , E(660F3A,43,_,x,_,1,4,FV ), 0 , 111, 0 , 10176, 403, 129), // #1498
+ INST(Vshufpd , VexRvmi_Lx , V(660F00,C6,_,x,I,1,4,FV ), 0 , 104, 0 , 10187, 404, 124), // #1499
+ INST(Vshufps , VexRvmi_Lx , V(000F00,C6,_,x,I,0,4,FV ), 0 , 105, 0 , 10195, 405, 124), // #1500
+ INST(Vsqrtpd , VexRm_Lx , V(660F00,51,_,x,I,1,4,FV ), 0 , 104, 0 , 10203, 406, 124), // #1501
+ INST(Vsqrtps , VexRm_Lx , V(000F00,51,_,x,I,0,4,FV ), 0 , 105, 0 , 10211, 227, 124), // #1502
+ INST(Vsqrtsd , VexRvm , V(F20F00,51,_,I,I,1,3,T1S), 0 , 106, 0 , 10219, 196, 125), // #1503
+ INST(Vsqrtss , VexRvm , V(F30F00,51,_,I,I,0,2,T1S), 0 , 107, 0 , 10227, 197, 125), // #1504
+ INST(Vstmxcsr , VexM , V(000F00,AE,3,0,I,_,_,_ ), 0 , 226, 0 , 10235, 296, 126), // #1505
+ INST(Vsubpd , VexRvm_Lx , V(660F00,5C,_,x,I,1,4,FV ), 0 , 104, 0 , 10244, 194, 124), // #1506
+ INST(Vsubps , VexRvm_Lx , V(000F00,5C,_,x,I,0,4,FV ), 0 , 105, 0 , 10251, 195, 124), // #1507
+ INST(Vsubsd , VexRvm , V(F20F00,5C,_,I,I,1,3,T1S), 0 , 106, 0 , 10258, 196, 125), // #1508
+ INST(Vsubss , VexRvm , V(F30F00,5C,_,I,I,0,2,T1S), 0 , 107, 0 , 10265, 197, 125), // #1509
+ INST(Vtestpd , VexRm_Lx , V(660F38,0F,_,x,0,_,_,_ ), 0 , 97 , 0 , 10272, 275, 153), // #1510
+ INST(Vtestps , VexRm_Lx , V(660F38,0E,_,x,0,_,_,_ ), 0 , 97 , 0 , 10280, 275, 153), // #1511
+ INST(Vucomisd , VexRm , V(660F00,2E,_,I,I,1,3,T1S), 0 , 122, 0 , 10288, 223, 134), // #1512
+ INST(Vucomiss , VexRm , V(000F00,2E,_,I,I,0,2,T1S), 0 , 123, 0 , 10297, 224, 134), // #1513
+ INST(Vunpckhpd , VexRvm_Lx , V(660F00,15,_,x,I,1,4,FV ), 0 , 104, 0 , 10306, 204, 124), // #1514
+ INST(Vunpckhps , VexRvm_Lx , V(000F00,15,_,x,I,0,4,FV ), 0 , 105, 0 , 10316, 205, 124), // #1515
+ INST(Vunpcklpd , VexRvm_Lx , V(660F00,14,_,x,I,1,4,FV ), 0 , 104, 0 , 10326, 204, 124), // #1516
+ INST(Vunpcklps , VexRvm_Lx , V(000F00,14,_,x,I,0,4,FV ), 0 , 105, 0 , 10336, 205, 124), // #1517
+ INST(Vxorpd , VexRvm_Lx , V(660F00,57,_,x,I,1,4,FV ), 0 , 104, 0 , 10346, 387, 130), // #1518
+ INST(Vxorps , VexRvm_Lx , V(000F00,57,_,x,I,0,4,FV ), 0 , 105, 0 , 10353, 386, 130), // #1519
+ INST(Vzeroall , VexOp , V(000F00,77,_,1,I,_,_,_ ), 0 , 69 , 0 , 10360, 407, 126), // #1520
+ INST(Vzeroupper , VexOp , V(000F00,77,_,0,I,_,_,_ ), 0 , 73 , 0 , 10369, 407, 126), // #1521
+ INST(Wbinvd , X86Op , O(000F00,09,_,_,_,_,_,_ ), 0 , 4 , 0 , 10380, 30 , 0 ), // #1522
+ INST(Wbnoinvd , X86Op , O(F30F00,09,_,_,_,_,_,_ ), 0 , 6 , 0 , 10387, 30 , 162), // #1523
+ INST(Wrfsbase , X86M , O(F30F00,AE,2,_,x,_,_,_ ), 0 , 227, 0 , 10396, 171, 104), // #1524
+ INST(Wrgsbase , X86M , O(F30F00,AE,3,_,x,_,_,_ ), 0 , 228, 0 , 10405, 171, 104), // #1525
+ INST(Wrmsr , X86Op , O(000F00,30,_,_,_,_,_,_ ), 0 , 4 , 0 , 10414, 172, 105), // #1526
+ INST(Wrssd , X86Mr , O(000F38,F6,_,_,_,_,_,_ ), 0 , 84 , 0 , 10420, 408, 56 ), // #1527
+ INST(Wrssq , X86Mr , O(000F38,F6,_,_,1,_,_,_ ), 0 , 229, 0 , 10426, 409, 56 ), // #1528
+ INST(Wrussd , X86Mr , O(660F38,F5,_,_,_,_,_,_ ), 0 , 2 , 0 , 10432, 408, 56 ), // #1529
+ INST(Wrussq , X86Mr , O(660F38,F5,_,_,1,_,_,_ ), 0 , 230, 0 , 10439, 409, 56 ), // #1530
+ INST(Xabort , X86Op_Mod11RM_I8 , O(000000,C6,7,_,_,_,_,_ ), 0 , 27 , 0 , 10446, 79 , 163), // #1531
+ INST(Xadd , X86Xadd , O(000F00,C0,_,_,x,_,_,_ ), 0 , 4 , 0 , 10453, 410, 38 ), // #1532
+ INST(Xbegin , X86JmpRel , O(000000,C7,7,_,_,_,_,_ ), 0 , 27 , 0 , 10458, 411, 163), // #1533
+ INST(Xchg , X86Xchg , O(000000,86,_,_,x,_,_,_ ), 0 , 0 , 0 , 462 , 412, 0 ), // #1534
+ INST(Xend , X86Op , O(000F01,D5,_,_,_,_,_,_ ), 0 , 21 , 0 , 10465, 30 , 163), // #1535
+ INST(Xgetbv , X86Op , O(000F01,D0,_,_,_,_,_,_ ), 0 , 21 , 0 , 10470, 172, 164), // #1536
+ INST(Xlatb , X86Op , O(000000,D7,_,_,_,_,_,_ ), 0 , 0 , 0 , 10477, 30 , 0 ), // #1537
+ INST(Xor , X86Arith , O(000000,30,6,_,x,_,_,_ ), 0 , 32 , 0 , 9565 , 177, 1 ), // #1538
+ INST(Xorpd , ExtRm , O(660F00,57,_,_,_,_,_,_ ), 0 , 3 , 0 , 10347, 149, 4 ), // #1539
+ INST(Xorps , ExtRm , O(000F00,57,_,_,_,_,_,_ ), 0 , 4 , 0 , 10354, 149, 5 ), // #1540
+ INST(Xresldtrk , X86Op , O(F20F01,E9,_,_,_,_,_,_ ), 0 , 93 , 0 , 10483, 30 , 165), // #1541
+ INST(Xrstor , X86M_Only_EDX_EAX , O(000F00,AE,5,_,_,_,_,_ ), 0 , 78 , 0 , 1164 , 413, 164), // #1542
+ INST(Xrstor64 , X86M_Only_EDX_EAX , O(000F00,AE,5,_,1,_,_,_ ), 0 , 231, 0 , 1172 , 414, 164), // #1543
+ INST(Xrstors , X86M_Only_EDX_EAX , O(000F00,C7,3,_,_,_,_,_ ), 0 , 79 , 0 , 10493, 413, 166), // #1544
+ INST(Xrstors64 , X86M_Only_EDX_EAX , O(000F00,C7,3,_,1,_,_,_ ), 0 , 232, 0 , 10501, 414, 166), // #1545
+ INST(Xsave , X86M_Only_EDX_EAX , O(000F00,AE,4,_,_,_,_,_ ), 0 , 98 , 0 , 1182 , 413, 164), // #1546
+ INST(Xsave64 , X86M_Only_EDX_EAX , O(000F00,AE,4,_,1,_,_,_ ), 0 , 233, 0 , 1189 , 414, 164), // #1547
+ INST(Xsavec , X86M_Only_EDX_EAX , O(000F00,C7,4,_,_,_,_,_ ), 0 , 98 , 0 , 10511, 413, 167), // #1548
+ INST(Xsavec64 , X86M_Only_EDX_EAX , O(000F00,C7,4,_,1,_,_,_ ), 0 , 233, 0 , 10518, 414, 167), // #1549
+ INST(Xsaveopt , X86M_Only_EDX_EAX , O(000F00,AE,6,_,_,_,_,_ ), 0 , 81 , 0 , 10527, 413, 168), // #1550
+ INST(Xsaveopt64 , X86M_Only_EDX_EAX , O(000F00,AE,6,_,1,_,_,_ ), 0 , 234, 0 , 10536, 414, 168), // #1551
+ INST(Xsaves , X86M_Only_EDX_EAX , O(000F00,C7,5,_,_,_,_,_ ), 0 , 78 , 0 , 10547, 413, 166), // #1552
+ INST(Xsaves64 , X86M_Only_EDX_EAX , O(000F00,C7,5,_,1,_,_,_ ), 0 , 231, 0 , 10554, 414, 166), // #1553
+ INST(Xsetbv , X86Op , O(000F01,D1,_,_,_,_,_,_ ), 0 , 21 , 0 , 10563, 172, 164), // #1554
+ INST(Xsusldtrk , X86Op , O(F20F01,E8,_,_,_,_,_,_ ), 0 , 93 , 0 , 10570, 30 , 165), // #1555
+ INST(Xtest , X86Op , O(000F01,D6,_,_,_,_,_,_ ), 0 , 21 , 0 , 10580, 30 , 169) // #1556
// ${InstInfo:End}
};
#undef NAME_DATA_INDEX
@@ -1658,11 +1663,11 @@ const InstDB::InstInfo InstDB::_instInfoTable[] = {
// ${MainOpcodeTable:Begin}
// ------------------- Automatically generated, do not edit -------------------
const uint32_t InstDB::_mainOpcodeTable[] = {
- O(000000,00,0,0,0,0,0,_ ), // #0 [ref=57x]
+ O(000000,00,0,0,0,0,0,_ ), // #0 [ref=56x]
O(000000,00,2,0,0,0,0,_ ), // #1 [ref=4x]
O(660F38,00,0,0,0,0,0,_ ), // #2 [ref=43x]
O(660F00,00,0,0,0,0,0,_ ), // #3 [ref=38x]
- O(000F00,00,0,0,0,0,0,_ ), // #4 [ref=233x]
+ O(000F00,00,0,0,0,0,0,_ ), // #4 [ref=231x]
O(F20F00,00,0,0,0,0,0,_ ), // #5 [ref=24x]
O(F30F00,00,0,0,0,0,0,_ ), // #6 [ref=29x]
O(F30F38,00,0,0,0,0,0,_ ), // #7 [ref=2x]
@@ -1682,96 +1687,96 @@ const uint32_t InstDB::_mainOpcodeTable[] = {
O(000F01,00,0,0,0,0,0,_ ), // #21 [ref=29x]
O(000F00,00,7,0,0,0,0,_ ), // #22 [ref=5x]
O(660F00,00,7,0,0,0,0,_ ), // #23 [ref=1x]
- O(F30F00,00,6,0,0,0,0,_ ), // #24 [ref=3x]
- O(660F00,00,6,0,0,0,0,_ ), // #25 [ref=3x]
- O(000000,00,7,0,0,0,0,_ ), // #26 [ref=5x]
- O(000F00,00,1,0,1,0,0,_ ), // #27 [ref=2x]
- O(000F00,00,1,0,0,0,0,_ ), // #28 [ref=6x]
- O(F20F38,00,0,0,0,0,0,_ ), // #29 [ref=2x]
- O(000000,00,1,0,0,0,0,_ ), // #30 [ref=3x]
- O(000000,00,6,0,0,0,0,_ ), // #31 [ref=3x]
- O(F30F00,00,7,0,0,0,0,3 ), // #32 [ref=1x]
- O(F30F00,00,7,0,0,0,0,2 ), // #33 [ref=1x]
- O_FPU(00,D900,_) , // #34 [ref=29x]
- O_FPU(00,C000,0) , // #35 [ref=1x]
- O_FPU(00,DE00,_) , // #36 [ref=7x]
- O_FPU(00,0000,4) , // #37 [ref=4x]
- O_FPU(00,0000,6) , // #38 [ref=4x]
- O_FPU(9B,DB00,_) , // #39 [ref=2x]
- O_FPU(00,DA00,_) , // #40 [ref=5x]
- O_FPU(00,DB00,_) , // #41 [ref=8x]
- O_FPU(00,D000,2) , // #42 [ref=1x]
- O_FPU(00,DF00,_) , // #43 [ref=2x]
- O_FPU(00,D800,3) , // #44 [ref=1x]
- O_FPU(00,F000,6) , // #45 [ref=1x]
- O_FPU(00,F800,7) , // #46 [ref=1x]
- O_FPU(00,DD00,_) , // #47 [ref=3x]
- O_FPU(00,0000,0) , // #48 [ref=3x]
- O_FPU(00,0000,2) , // #49 [ref=3x]
- O_FPU(00,0000,3) , // #50 [ref=3x]
- O_FPU(00,0000,7) , // #51 [ref=3x]
- O_FPU(00,0000,1) , // #52 [ref=2x]
- O_FPU(00,0000,5) , // #53 [ref=2x]
- O_FPU(00,C800,1) , // #54 [ref=1x]
- O_FPU(9B,0000,6) , // #55 [ref=2x]
- O_FPU(9B,0000,7) , // #56 [ref=2x]
- O_FPU(00,E000,4) , // #57 [ref=1x]
- O_FPU(00,E800,5) , // #58 [ref=1x]
- O_FPU(00,0000,_) , // #59 [ref=1x]
- O(000F00,00,0,0,1,0,0,_ ), // #60 [ref=1x]
- O(000000,00,5,0,0,0,0,_ ), // #61 [ref=4x]
- O(F30F00,00,5,0,0,0,0,_ ), // #62 [ref=2x]
- O(F30F00,00,5,0,1,0,0,_ ), // #63 [ref=1x]
- V(660F00,00,0,1,0,0,0,_ ), // #64 [ref=7x]
- V(660F00,00,0,1,1,0,0,_ ), // #65 [ref=6x]
- V(000F00,00,0,1,1,0,0,_ ), // #66 [ref=7x]
- V(000F00,00,0,1,0,0,0,_ ), // #67 [ref=8x]
- V(660F00,00,0,0,0,0,0,_ ), // #68 [ref=15x]
- V(660F00,00,0,0,1,0,0,_ ), // #69 [ref=4x]
- V(000F00,00,0,0,1,0,0,_ ), // #70 [ref=4x]
- V(000F00,00,0,0,0,0,0,_ ), // #71 [ref=10x]
- V(660F3A,00,0,0,0,0,0,_ ), // #72 [ref=45x]
- V(660F3A,00,0,0,1,0,0,_ ), // #73 [ref=4x]
- O(000000,00,3,0,0,0,0,_ ), // #74 [ref=4x]
- O(000F00,00,2,0,0,0,0,_ ), // #75 [ref=5x]
- O(000F00,00,5,0,0,0,0,_ ), // #76 [ref=4x]
- O(000F00,00,3,0,0,0,0,_ ), // #77 [ref=5x]
- V(XOP_M9,00,0,0,0,0,0,_ ), // #78 [ref=32x]
- O(000F00,00,6,0,0,0,0,_ ), // #79 [ref=5x]
- V(XOP_MA,00,0,0,0,0,0,_ ), // #80 [ref=1x]
- V(XOP_MA,00,1,0,0,0,0,_ ), // #81 [ref=1x]
- O(F30F01,00,0,0,0,0,0,_ ), // #82 [ref=5x]
- O(000F38,00,0,0,0,0,0,_ ), // #83 [ref=24x]
- V(F20F38,00,0,0,0,0,0,_ ), // #84 [ref=6x]
- O(000F3A,00,0,0,0,0,0,_ ), // #85 [ref=4x]
- O(F30000,00,0,0,0,0,0,_ ), // #86 [ref=1x]
- O(000F0F,00,0,0,0,0,0,_ ), // #87 [ref=26x]
- V(F30F38,00,0,0,0,0,0,_ ), // #88 [ref=5x]
- O(000F3A,00,0,0,1,0,0,_ ), // #89 [ref=1x]
- O(660F3A,00,0,0,1,0,0,_ ), // #90 [ref=1x]
- O(F30F00,00,4,0,0,0,0,_ ), // #91 [ref=1x]
- O(F20F01,00,0,0,0,0,0,_ ), // #92 [ref=4x]
- O(F30F00,00,1,0,0,0,0,_ ), // #93 [ref=3x]
- O(F30F00,00,7,0,0,0,0,_ ), // #94 [ref=1x]
- V(F20F3A,00,0,0,0,0,0,_ ), // #95 [ref=1x]
- V(660F38,00,0,0,0,0,0,_ ), // #96 [ref=25x]
- O(000F00,00,4,0,0,0,0,_ ), // #97 [ref=4x]
- V(XOP_M9,00,7,0,0,0,0,_ ), // #98 [ref=1x]
- V(XOP_M9,00,4,0,0,0,0,_ ), // #99 [ref=1x]
- O(F20F00,00,6,0,0,0,0,_ ), // #100 [ref=1x]
- E(F20F38,00,0,2,0,0,2,T4X), // #101 [ref=6x]
- V(660F00,00,0,0,0,1,4,FV ), // #102 [ref=22x]
- V(000F00,00,0,0,0,0,4,FV ), // #103 [ref=16x]
- V(F20F00,00,0,0,0,1,3,T1S), // #104 [ref=10x]
- V(F30F00,00,0,0,0,0,2,T1S), // #105 [ref=10x]
- V(F20F00,00,0,0,0,0,0,_ ), // #106 [ref=4x]
- V(660F38,00,0,0,0,0,4,FVM), // #107 [ref=14x]
- E(660F3A,00,0,0,0,0,4,FV ), // #108 [ref=14x]
- E(660F3A,00,0,0,0,1,4,FV ), // #109 [ref=14x]
- E(660F38,00,0,0,0,0,4,FVM), // #110 [ref=9x]
- E(660F38,00,0,0,0,0,4,FV ), // #111 [ref=18x]
- E(660F38,00,0,0,0,1,4,FV ), // #112 [ref=28x]
- E(660F38,00,0,0,0,1,4,FVM), // #113 [ref=9x]
+ O(F30F00,00,6,0,0,0,0,_ ), // #24 [ref=4x]
+ O(F30F01,00,0,0,0,0,0,_ ), // #25 [ref=9x]
+ O(660F00,00,6,0,0,0,0,_ ), // #26 [ref=3x]
+ O(000000,00,7,0,0,0,0,_ ), // #27 [ref=5x]
+ O(000F00,00,1,0,1,0,0,_ ), // #28 [ref=2x]
+ O(000F00,00,1,0,0,0,0,_ ), // #29 [ref=6x]
+ O(F20F38,00,0,0,0,0,0,_ ), // #30 [ref=2x]
+ O(000000,00,1,0,0,0,0,_ ), // #31 [ref=3x]
+ O(000000,00,6,0,0,0,0,_ ), // #32 [ref=3x]
+ O(F30F00,00,7,0,0,0,0,3 ), // #33 [ref=1x]
+ O(F30F00,00,7,0,0,0,0,2 ), // #34 [ref=1x]
+ O_FPU(00,D900,_) , // #35 [ref=29x]
+ O_FPU(00,C000,0) , // #36 [ref=1x]
+ O_FPU(00,DE00,_) , // #37 [ref=7x]
+ O_FPU(00,0000,4) , // #38 [ref=4x]
+ O_FPU(00,0000,6) , // #39 [ref=4x]
+ O_FPU(9B,DB00,_) , // #40 [ref=2x]
+ O_FPU(00,DA00,_) , // #41 [ref=5x]
+ O_FPU(00,DB00,_) , // #42 [ref=8x]
+ O_FPU(00,D000,2) , // #43 [ref=1x]
+ O_FPU(00,DF00,_) , // #44 [ref=2x]
+ O_FPU(00,D800,3) , // #45 [ref=1x]
+ O_FPU(00,F000,6) , // #46 [ref=1x]
+ O_FPU(00,F800,7) , // #47 [ref=1x]
+ O_FPU(00,DD00,_) , // #48 [ref=3x]
+ O_FPU(00,0000,0) , // #49 [ref=3x]
+ O_FPU(00,0000,2) , // #50 [ref=3x]
+ O_FPU(00,0000,3) , // #51 [ref=3x]
+ O_FPU(00,0000,7) , // #52 [ref=3x]
+ O_FPU(00,0000,1) , // #53 [ref=2x]
+ O_FPU(00,0000,5) , // #54 [ref=2x]
+ O_FPU(00,C800,1) , // #55 [ref=1x]
+ O_FPU(9B,0000,6) , // #56 [ref=2x]
+ O_FPU(9B,0000,7) , // #57 [ref=2x]
+ O_FPU(00,E000,4) , // #58 [ref=1x]
+ O_FPU(00,E800,5) , // #59 [ref=1x]
+ O_FPU(00,0000,_) , // #60 [ref=1x]
+ O(000F00,00,0,0,1,0,0,_ ), // #61 [ref=3x]
+ O(F30F3A,00,0,0,0,0,0,_ ), // #62 [ref=1x]
+ O(000000,00,5,0,0,0,0,_ ), // #63 [ref=4x]
+ O(F30F00,00,5,0,0,0,0,_ ), // #64 [ref=2x]
+ O(F30F00,00,5,0,1,0,0,_ ), // #65 [ref=1x]
+ V(660F00,00,0,1,0,0,0,_ ), // #66 [ref=7x]
+ V(660F00,00,0,1,1,0,0,_ ), // #67 [ref=6x]
+ V(000F00,00,0,1,1,0,0,_ ), // #68 [ref=7x]
+ V(000F00,00,0,1,0,0,0,_ ), // #69 [ref=8x]
+ V(660F00,00,0,0,0,0,0,_ ), // #70 [ref=15x]
+ V(660F00,00,0,0,1,0,0,_ ), // #71 [ref=4x]
+ V(000F00,00,0,0,1,0,0,_ ), // #72 [ref=4x]
+ V(000F00,00,0,0,0,0,0,_ ), // #73 [ref=10x]
+ V(660F3A,00,0,0,0,0,0,_ ), // #74 [ref=45x]
+ V(660F3A,00,0,0,1,0,0,_ ), // #75 [ref=4x]
+ O(000000,00,3,0,0,0,0,_ ), // #76 [ref=4x]
+ O(000F00,00,2,0,0,0,0,_ ), // #77 [ref=5x]
+ O(000F00,00,5,0,0,0,0,_ ), // #78 [ref=4x]
+ O(000F00,00,3,0,0,0,0,_ ), // #79 [ref=5x]
+ V(XOP_M9,00,0,0,0,0,0,_ ), // #80 [ref=32x]
+ O(000F00,00,6,0,0,0,0,_ ), // #81 [ref=5x]
+ V(XOP_MA,00,0,0,0,0,0,_ ), // #82 [ref=1x]
+ V(XOP_MA,00,1,0,0,0,0,_ ), // #83 [ref=1x]
+ O(000F38,00,0,0,0,0,0,_ ), // #84 [ref=24x]
+ V(F20F38,00,0,0,0,0,0,_ ), // #85 [ref=6x]
+ O(000F3A,00,0,0,0,0,0,_ ), // #86 [ref=4x]
+ O(F30000,00,0,0,0,0,0,_ ), // #87 [ref=1x]
+ O(000F0F,00,0,0,0,0,0,_ ), // #88 [ref=26x]
+ V(F30F38,00,0,0,0,0,0,_ ), // #89 [ref=5x]
+ O(000F3A,00,0,0,1,0,0,_ ), // #90 [ref=1x]
+ O(660F3A,00,0,0,1,0,0,_ ), // #91 [ref=1x]
+ O(F30F00,00,4,0,0,0,0,_ ), // #92 [ref=1x]
+ O(F20F01,00,0,0,0,0,0,_ ), // #93 [ref=4x]
+ O(F30F00,00,1,0,0,0,0,_ ), // #94 [ref=3x]
+ O(F30F00,00,7,0,0,0,0,_ ), // #95 [ref=1x]
+ V(F20F3A,00,0,0,0,0,0,_ ), // #96 [ref=1x]
+ V(660F38,00,0,0,0,0,0,_ ), // #97 [ref=25x]
+ O(000F00,00,4,0,0,0,0,_ ), // #98 [ref=4x]
+ V(XOP_M9,00,7,0,0,0,0,_ ), // #99 [ref=1x]
+ V(XOP_M9,00,4,0,0,0,0,_ ), // #100 [ref=1x]
+ O(F20F00,00,6,0,0,0,0,_ ), // #101 [ref=1x]
+ E(F20F38,00,0,2,0,0,4,T4X), // #102 [ref=4x]
+ E(F20F38,00,0,0,0,0,4,T4X), // #103 [ref=2x]
+ V(660F00,00,0,0,0,1,4,FV ), // #104 [ref=22x]
+ V(000F00,00,0,0,0,0,4,FV ), // #105 [ref=16x]
+ V(F20F00,00,0,0,0,1,3,T1S), // #106 [ref=10x]
+ V(F30F00,00,0,0,0,0,2,T1S), // #107 [ref=10x]
+ V(F20F00,00,0,0,0,0,0,_ ), // #108 [ref=4x]
+ V(660F38,00,0,0,0,0,4,FVM), // #109 [ref=14x]
+ E(660F3A,00,0,0,0,0,4,FV ), // #110 [ref=14x]
+ E(660F3A,00,0,0,0,1,4,FV ), // #111 [ref=14x]
+ E(660F38,00,0,0,0,1,4,FV ), // #112 [ref=29x]
+ E(660F38,00,0,0,0,0,4,FV ), // #113 [ref=18x]
V(660F38,00,0,1,0,0,0,_ ), // #114 [ref=2x]
E(660F38,00,0,0,0,0,3,T2 ), // #115 [ref=2x]
E(660F38,00,0,0,0,0,4,T4 ), // #116 [ref=2x]
@@ -1785,14 +1790,14 @@ const uint32_t InstDB::_mainOpcodeTable[] = {
E(660F38,00,0,0,0,1,3,T1S), // #124 [ref=14x]
E(660F38,00,0,0,0,0,2,T1S), // #125 [ref=14x]
V(F30F00,00,0,0,0,0,3,HV ), // #126 [ref=1x]
- E(F20F38,00,0,0,0,0,0,_ ), // #127 [ref=1x]
- E(F30F38,00,0,0,0,0,0,_ ), // #128 [ref=7x]
+ E(F20F38,00,0,0,0,0,4,FV ), // #127 [ref=2x]
+ E(F30F38,00,0,0,0,0,4,FV ), // #128 [ref=3x]
V(F20F00,00,0,0,0,1,4,FV ), // #129 [ref=1x]
E(660F00,00,0,0,0,1,4,FV ), // #130 [ref=9x]
E(000F00,00,0,0,0,1,4,FV ), // #131 [ref=3x]
V(660F38,00,0,0,0,0,3,HVM), // #132 [ref=7x]
V(660F00,00,0,0,0,0,4,FV ), // #133 [ref=11x]
- V(000F00,00,0,0,0,0,4,HV ), // #134 [ref=1x]
+ V(000F00,00,0,0,0,0,3,HV ), // #134 [ref=1x]
V(660F3A,00,0,0,0,0,3,HVM), // #135 [ref=1x]
E(660F00,00,0,0,0,0,3,HV ), // #136 [ref=4x]
E(000F00,00,0,0,0,0,4,FV ), // #137 [ref=2x]
@@ -1809,7 +1814,7 @@ const uint32_t InstDB::_mainOpcodeTable[] = {
E(F20F00,00,0,0,0,1,4,FV ), // #148 [ref=1x]
E(F20F00,00,0,0,0,0,2,T1W), // #149 [ref=1x]
E(F30F00,00,0,0,0,0,2,T1W), // #150 [ref=1x]
- E(660F3A,00,0,0,0,0,4,FVM), // #151 [ref=5x]
+ E(660F3A,00,0,0,0,0,4,FVM), // #151 [ref=3x]
E(660F38,00,0,2,0,1,4,FV ), // #152 [ref=3x]
E(660F38,00,0,2,0,0,4,FV ), // #153 [ref=3x]
V(660F3A,00,0,1,0,0,0,_ ), // #154 [ref=6x]
@@ -1842,56 +1847,57 @@ const uint32_t InstDB::_mainOpcodeTable[] = {
E(F30F00,00,0,0,0,1,4,FVM), // #181 [ref=1x]
E(F20F00,00,0,0,0,0,4,FVM), // #182 [ref=1x]
V(000F00,00,0,0,0,0,3,T2 ), // #183 [ref=2x]
- V(660F00,00,0,0,0,0,4,FVM), // #184 [ref=33x]
+ V(660F00,00,0,0,0,0,4,FVM), // #184 [ref=32x]
V(F30F00,00,0,0,0,0,4,FVM), // #185 [ref=3x]
- E(F20F38,00,0,0,0,0,4,FV ), // #186 [ref=1x]
- E(F20F38,00,0,0,0,1,4,FV ), // #187 [ref=1x]
- V(660F3A,00,0,0,0,0,4,FVM), // #188 [ref=2x]
- E(660F00,00,0,0,0,0,4,FV ), // #189 [ref=5x]
- V(660F38,00,0,0,0,0,0,T1S), // #190 [ref=1x]
- E(F30F38,00,0,0,0,1,0,_ ), // #191 [ref=5x]
- V(660F38,00,0,0,0,0,1,T1S), // #192 [ref=1x]
- V(XOP_M8,00,0,0,0,0,0,_ ), // #193 [ref=22x]
- V(660F38,00,0,0,0,1,4,FVM), // #194 [ref=2x]
- E(660F3A,00,0,0,0,1,4,FVM), // #195 [ref=2x]
- E(660F38,00,0,0,0,0,0,T1S), // #196 [ref=2x]
- E(660F38,00,0,0,0,1,1,T1S), // #197 [ref=2x]
- V(660F38,00,0,0,0,1,4,FV ), // #198 [ref=3x]
- E(660F38,00,0,0,1,1,4,FV ), // #199 [ref=1x]
- V(660F3A,00,0,0,0,0,0,T1S), // #200 [ref=2x]
- V(660F3A,00,0,0,1,1,3,T1S), // #201 [ref=2x]
- V(660F3A,00,0,0,0,0,1,T1S), // #202 [ref=1x]
- V(660F00,00,0,0,0,0,1,T1S), // #203 [ref=1x]
- E(F30F38,00,0,0,0,0,2,QVM), // #204 [ref=6x]
- E(F30F38,00,0,0,0,0,3,HVM), // #205 [ref=9x]
- E(F30F38,00,0,0,0,0,1,OVM), // #206 [ref=3x]
- V(660F38,00,0,0,0,0,2,QVM), // #207 [ref=4x]
- V(660F38,00,0,0,0,0,1,OVM), // #208 [ref=2x]
- E(660F00,00,1,0,0,0,4,FV ), // #209 [ref=1x]
- E(660F00,00,1,0,0,1,4,FV ), // #210 [ref=1x]
- V(F20F00,00,0,0,0,0,4,FVM), // #211 [ref=1x]
- V(660F00,00,0,0,0,0,4,128), // #212 [ref=5x]
- V(660F00,00,7,0,0,0,4,FVM), // #213 [ref=1x]
- V(660F00,00,0,0,0,1,4,128), // #214 [ref=2x]
- E(660F00,00,0,0,0,1,4,128), // #215 [ref=1x]
- V(660F00,00,3,0,0,0,4,FVM), // #216 [ref=1x]
- E(F30F38,00,0,0,0,0,4,FVM), // #217 [ref=1x]
- E(F30F38,00,0,0,0,0,4,FV ), // #218 [ref=1x]
- E(F30F38,00,0,0,0,1,4,FV ), // #219 [ref=1x]
- E(F30F38,00,0,0,0,1,4,FVM), // #220 [ref=1x]
- E(660F38,00,5,2,0,1,3,T1S), // #221 [ref=2x]
- E(660F38,00,5,2,0,0,2,T1S), // #222 [ref=2x]
- E(660F38,00,6,2,0,1,3,T1S), // #223 [ref=2x]
- E(660F38,00,6,2,0,0,2,T1S), // #224 [ref=2x]
- V(000F00,00,3,0,0,0,0,_ ), // #225 [ref=1x]
- O(F30F00,00,2,0,0,0,0,_ ), // #226 [ref=1x]
- O(F30F00,00,3,0,0,0,0,_ ), // #227 [ref=1x]
- O(000F38,00,0,0,1,0,0,_ ), // #228 [ref=1x]
- O(660F38,00,0,0,1,0,0,_ ), // #229 [ref=1x]
- O(000F00,00,5,0,1,0,0,_ ), // #230 [ref=2x]
- O(000F00,00,3,0,1,0,0,_ ), // #231 [ref=1x]
- O(000F00,00,4,0,1,0,0,_ ), // #232 [ref=2x]
- O(000F00,00,6,0,1,0,0,_ ) // #233 [ref=1x]
+ E(F20F38,00,0,0,0,1,4,FV ), // #186 [ref=1x]
+ V(660F3A,00,0,0,0,0,4,FVM), // #187 [ref=2x]
+ E(660F00,00,0,0,0,0,4,FV ), // #188 [ref=5x]
+ E(660F38,00,0,0,0,0,4,FVM), // #189 [ref=7x]
+ E(660F38,00,0,0,0,1,4,FVM), // #190 [ref=11x]
+ V(660F38,00,0,0,0,0,0,T1S), // #191 [ref=1x]
+ E(F30F38,00,0,0,0,1,0,_ ), // #192 [ref=5x]
+ E(F30F38,00,0,0,0,0,0,_ ), // #193 [ref=5x]
+ V(660F38,00,0,0,0,0,1,T1S), // #194 [ref=1x]
+ V(XOP_M8,00,0,0,0,0,0,_ ), // #195 [ref=22x]
+ V(660F38,00,0,0,0,1,4,FVM), // #196 [ref=2x]
+ E(660F3A,00,0,0,0,1,4,FVM), // #197 [ref=4x]
+ E(660F38,00,0,0,0,0,0,T1S), // #198 [ref=2x]
+ E(660F38,00,0,0,0,1,1,T1S), // #199 [ref=2x]
+ V(660F38,00,0,0,0,1,4,FV ), // #200 [ref=2x]
+ E(660F38,00,0,0,1,1,4,FV ), // #201 [ref=1x]
+ V(660F3A,00,0,0,0,0,0,T1S), // #202 [ref=2x]
+ V(660F3A,00,0,0,1,1,3,T1S), // #203 [ref=2x]
+ V(660F3A,00,0,0,0,0,1,T1S), // #204 [ref=1x]
+ V(660F00,00,0,0,0,0,1,T1S), // #205 [ref=1x]
+ E(F30F38,00,0,0,0,0,2,QVM), // #206 [ref=6x]
+ E(F30F38,00,0,0,0,0,3,HVM), // #207 [ref=9x]
+ E(F30F38,00,0,0,0,0,1,OVM), // #208 [ref=3x]
+ V(660F38,00,0,0,0,0,2,QVM), // #209 [ref=4x]
+ V(660F38,00,0,0,0,0,1,OVM), // #210 [ref=2x]
+ E(660F00,00,1,0,0,0,4,FV ), // #211 [ref=1x]
+ E(660F00,00,1,0,0,1,4,FV ), // #212 [ref=1x]
+ V(F20F00,00,0,0,0,0,4,FVM), // #213 [ref=1x]
+ V(660F00,00,0,0,0,0,4,128), // #214 [ref=6x]
+ V(660F00,00,7,0,0,0,4,FVM), // #215 [ref=1x]
+ V(660F00,00,0,0,0,1,4,128), // #216 [ref=2x]
+ E(660F00,00,0,0,0,1,4,128), // #217 [ref=1x]
+ V(660F00,00,3,0,0,0,4,FVM), // #218 [ref=1x]
+ E(F30F38,00,0,0,0,0,4,FVM), // #219 [ref=1x]
+ E(F30F38,00,0,0,0,1,4,FV ), // #220 [ref=1x]
+ E(F30F38,00,0,0,0,1,4,FVM), // #221 [ref=1x]
+ E(660F38,00,5,2,0,1,3,T1S), // #222 [ref=2x]
+ E(660F38,00,5,2,0,0,2,T1S), // #223 [ref=2x]
+ E(660F38,00,6,2,0,1,3,T1S), // #224 [ref=2x]
+ E(660F38,00,6,2,0,0,2,T1S), // #225 [ref=2x]
+ V(000F00,00,3,0,0,0,0,_ ), // #226 [ref=1x]
+ O(F30F00,00,2,0,0,0,0,_ ), // #227 [ref=1x]
+ O(F30F00,00,3,0,0,0,0,_ ), // #228 [ref=1x]
+ O(000F38,00,0,0,1,0,0,_ ), // #229 [ref=1x]
+ O(660F38,00,0,0,1,0,0,_ ), // #230 [ref=1x]
+ O(000F00,00,5,0,1,0,0,_ ), // #231 [ref=2x]
+ O(000F00,00,3,0,1,0,0,_ ), // #232 [ref=1x]
+ O(000F00,00,4,0,1,0,0,_ ), // #233 [ref=2x]
+ O(000F00,00,6,0,1,0,0,_ ) // #234 [ref=1x]
};
// ----------------------------------------------------------------------------
// ${MainOpcodeTable:End}
@@ -1899,7 +1905,7 @@ const uint32_t InstDB::_mainOpcodeTable[] = {
// ${AltOpcodeTable:Begin}
// ------------------- Automatically generated, do not edit -------------------
const uint32_t InstDB::_altOpcodeTable[] = {
- 0 , // #0 [ref=1405x]
+ 0 , // #0 [ref=1410x]
O(660F00,1B,_,_,_,_,_,_ ), // #1 [ref=1x]
O(000F00,BA,4,_,x,_,_,_ ), // #2 [ref=1x]
O(000F00,BA,7,_,x,_,_,_ ), // #3 [ref=1x]
@@ -1980,10 +1986,10 @@ const uint32_t InstDB::_altOpcodeTable[] = {
O(000F00,71,2,_,_,_,_,_ ), // #78 [ref=1x]
O(000000,50,_,_,_,_,_,_ ), // #79 [ref=1x]
O(000000,F6,_,_,x,_,_,_ ), // #80 [ref=1x]
- V(660F38,92,_,x,_,1,3,T1S), // #81 [ref=1x]
- V(660F38,92,_,x,_,0,2,T1S), // #82 [ref=1x]
- V(660F38,93,_,x,_,1,3,T1S), // #83 [ref=1x]
- V(660F38,93,_,x,_,0,2,T1S), // #84 [ref=1x]
+ E(660F38,92,_,x,_,1,3,T1S), // #81 [ref=1x]
+ E(660F38,92,_,x,_,0,2,T1S), // #82 [ref=1x]
+ E(660F38,93,_,x,_,1,3,T1S), // #83 [ref=1x]
+ E(660F38,93,_,x,_,0,2,T1S), // #84 [ref=1x]
V(660F38,2F,_,x,0,_,_,_ ), // #85 [ref=1x]
V(660F38,2E,_,x,0,_,_,_ ), // #86 [ref=1x]
V(660F00,29,_,x,I,1,4,FVM), // #87 [ref=1x]
@@ -2014,10 +2020,10 @@ const uint32_t InstDB::_altOpcodeTable[] = {
V(660F3A,04,_,x,0,0,4,FV ), // #112 [ref=1x]
V(660F3A,01,_,x,1,1,4,FV ), // #113 [ref=1x]
V(660F3A,00,_,x,1,1,4,FV ), // #114 [ref=1x]
- V(660F38,90,_,x,_,0,2,T1S), // #115 [ref=1x]
- V(660F38,90,_,x,_,1,3,T1S), // #116 [ref=1x]
- V(660F38,91,_,x,_,0,2,T1S), // #117 [ref=1x]
- V(660F38,91,_,x,_,1,3,T1S), // #118 [ref=1x]
+ E(660F38,90,_,x,_,0,2,T1S), // #115 [ref=1x]
+ E(660F38,90,_,x,_,1,3,T1S), // #116 [ref=1x]
+ E(660F38,91,_,x,_,0,2,T1S), // #117 [ref=1x]
+ E(660F38,91,_,x,_,1,3,T1S), // #118 [ref=1x]
V(660F38,8E,_,x,0,_,_,_ ), // #119 [ref=1x]
V(660F38,8E,_,x,1,_,_,_ ), // #120 [ref=1x]
V(XOP_M8,C0,_,0,x,_,_,_ ), // #121 [ref=1x]
@@ -2053,418 +2059,420 @@ const uint32_t InstDB::_altOpcodeTable[] = {
#define SINGLE_REG(VAL) InstDB::kSingleReg##VAL
const InstDB::CommonInfo InstDB::_commonInfoTable[] = {
{ 0 , 0 , 0 , CONTROL(None) , SINGLE_REG(None), 0 }, // #0 [ref=1x]
- { 0 , 358, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #1 [ref=4x]
- { 0 , 359, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #2 [ref=2x]
+ { 0 , 376, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #1 [ref=4x]
+ { 0 , 377, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #2 [ref=2x]
{ F(Lock)|F(XAcquire)|F(XRelease) , 16 , 12, CONTROL(None) , SINGLE_REG(None), 0 }, // #3 [ref=2x]
- { 0 , 165, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #4 [ref=2x]
+ { 0 , 180, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #4 [ref=2x]
{ F(Vec) , 79 , 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #5 [ref=54x]
{ F(Vec) , 106, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #6 [ref=19x]
- { F(Vec) , 239, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #7 [ref=16x]
- { F(Vec) , 197, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #8 [ref=20x]
+ { F(Vec) , 257, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #7 [ref=16x]
+ { F(Vec) , 215, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #8 [ref=20x]
{ F(Lock)|F(XAcquire)|F(XRelease) , 28 , 11, CONTROL(None) , SINGLE_REG(RO) , 0 }, // #9 [ref=1x]
- { F(Vex) , 254, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #10 [ref=3x]
+ { F(Vex) , 272, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #10 [ref=3x]
{ F(Vec) , 79 , 1 , CONTROL(None) , SINGLE_REG(RO) , 0 }, // #11 [ref=12x]
- { 0 , 360, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #12 [ref=1x]
- { F(Vex) , 256, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #13 [ref=5x]
- { F(Vex) , 165, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #14 [ref=12x]
- { F(Vec) , 361, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #15 [ref=4x]
- { 0 , 258, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #16 [ref=3x]
- { F(Mib) , 362, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #17 [ref=1x]
- { 0 , 363, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #18 [ref=1x]
- { 0 , 260, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #19 [ref=1x]
- { F(Mib) , 364, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #20 [ref=1x]
- { 0 , 262, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #21 [ref=1x]
- { 0 , 164, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #22 [ref=35x]
- { 0 , 365, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #23 [ref=3x]
- { 0 , 128, 4 , CONTROL(None) , SINGLE_REG(None), 0 }, // #24 [ref=1x]
- { F(Lock)|F(XAcquire)|F(XRelease) , 128, 4 , CONTROL(None) , SINGLE_REG(None), 0 }, // #25 [ref=3x]
- { F(Rep)|F(RepIgnored) , 264, 2 , CONTROL(Call) , SINGLE_REG(None), 0 }, // #26 [ref=1x]
- { 0 , 366, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #27 [ref=1x]
- { 0 , 367, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #28 [ref=2x]
- { 0 , 341, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #29 [ref=1x]
+ { 0 , 378, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #12 [ref=1x]
+ { F(Vex) , 274, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #13 [ref=5x]
+ { F(Vex) , 180, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #14 [ref=12x]
+ { F(Vec) , 379, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #15 [ref=4x]
+ { 0 , 276, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #16 [ref=3x]
+ { F(Mib) , 380, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #17 [ref=1x]
+ { 0 , 381, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #18 [ref=1x]
+ { 0 , 278, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #19 [ref=1x]
+ { F(Mib) , 382, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #20 [ref=1x]
+ { 0 , 280, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #21 [ref=1x]
+ { 0 , 179, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #22 [ref=35x]
+ { 0 , 383, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #23 [ref=3x]
+ { 0 , 123, 4 , CONTROL(None) , SINGLE_REG(None), 0 }, // #24 [ref=1x]
+ { F(Lock)|F(XAcquire)|F(XRelease) , 123, 4 , CONTROL(None) , SINGLE_REG(None), 0 }, // #25 [ref=3x]
+ { F(Rep)|F(RepIgnored) , 282, 2 , CONTROL(Call) , SINGLE_REG(None), 0 }, // #26 [ref=1x]
+ { 0 , 384, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #27 [ref=1x]
+ { 0 , 385, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #28 [ref=2x]
+ { 0 , 359, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #29 [ref=1x]
{ 0 , 108, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #30 [ref=83x]
- { 0 , 368, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #31 [ref=24x]
- { 0 , 369, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #32 [ref=6x]
- { 0 , 370, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #33 [ref=1x]
- { 0 , 16 , 12, CONTROL(None) , SINGLE_REG(None), 0 }, // #34 [ref=1x]
- { F(Rep) , 371, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #35 [ref=1x]
- { F(Vec) , 372, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #36 [ref=2x]
- { F(Vec) , 373, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #37 [ref=3x]
- { F(Lock)|F(XAcquire)|F(XRelease) , 132, 4 , CONTROL(None) , SINGLE_REG(None), 0 }, // #38 [ref=1x]
- { F(Lock)|F(XAcquire)|F(XRelease) , 374, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #39 [ref=1x]
- { F(Lock)|F(XAcquire)|F(XRelease) , 375, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #40 [ref=1x]
- { 0 , 376, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #41 [ref=1x]
- { 0 , 377, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #42 [ref=1x]
- { 0 , 266, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #43 [ref=1x]
- { F(Mmx)|F(Vec) , 378, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #44 [ref=2x]
- { F(Mmx)|F(Vec) , 379, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #45 [ref=2x]
- { F(Mmx)|F(Vec) , 380, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #46 [ref=2x]
- { F(Vec) , 381, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #47 [ref=2x]
- { F(Vec) , 382, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #48 [ref=2x]
- { F(Vec) , 383, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #49 [ref=2x]
- { 0 , 384, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #50 [ref=1x]
- { 0 , 385, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #51 [ref=2x]
- { F(Lock)|F(XAcquire)|F(XRelease) , 268, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #52 [ref=2x]
- { 0 , 39 , 4 , CONTROL(None) , SINGLE_REG(None), 0 }, // #53 [ref=3x]
- { F(Mmx) , 108, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #54 [ref=1x]
- { 0 , 270, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #55 [ref=2x]
- { 0 , 386, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #56 [ref=1x]
- { F(Vec) , 387, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #57 [ref=2x]
- { F(Vec) , 272, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #58 [ref=1x]
- { F(FpuM32)|F(FpuM64) , 167, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #59 [ref=6x]
- { 0 , 274, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #60 [ref=9x]
- { F(FpuM80) , 388, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #61 [ref=2x]
- { 0 , 275, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #62 [ref=13x]
- { F(FpuM32)|F(FpuM64) , 276, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #63 [ref=2x]
- { F(FpuM16)|F(FpuM32) , 389, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #64 [ref=9x]
- { F(FpuM16)|F(FpuM32)|F(FpuM64) , 390, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #65 [ref=3x]
- { F(FpuM32)|F(FpuM64)|F(FpuM80) , 391, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #66 [ref=2x]
- { F(FpuM16) , 392, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #67 [ref=3x]
- { F(FpuM16) , 393, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #68 [ref=2x]
- { F(FpuM32)|F(FpuM64) , 277, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #69 [ref=1x]
- { 0 , 394, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #70 [ref=2x]
- { 0 , 39 , 10, CONTROL(None) , SINGLE_REG(None), 0 }, // #71 [ref=1x]
- { 0 , 395, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #72 [ref=1x]
- { 0 , 396, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #73 [ref=2x]
- { 0 , 327, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #74 [ref=2x]
- { F(Rep) , 397, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #75 [ref=1x]
- { F(Vec) , 278, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #76 [ref=1x]
- { 0 , 398, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #77 [ref=2x]
- { 0 , 399, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #78 [ref=8x]
- { 0 , 280, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #79 [ref=3x]
- { 0 , 282, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #80 [ref=1x]
- { 0 , 108, 1 , CONTROL(Return) , SINGLE_REG(None), 0 }, // #81 [ref=3x]
- { 0 , 400, 1 , CONTROL(Return) , SINGLE_REG(None), 0 }, // #82 [ref=1x]
- { F(Rep)|F(RepIgnored) , 284, 2 , CONTROL(Branch) , SINGLE_REG(None), 0 }, // #83 [ref=30x]
- { F(Rep)|F(RepIgnored) , 286, 2 , CONTROL(Branch) , SINGLE_REG(None), 0 }, // #84 [ref=1x]
- { F(Rep)|F(RepIgnored) , 288, 2 , CONTROL(Jump) , SINGLE_REG(None), 0 }, // #85 [ref=1x]
- { F(Vec)|F(Vex) , 401, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #86 [ref=27x]
- { F(Vec)|F(Vex) , 290, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #87 [ref=1x]
- { F(Vec)|F(Vex) , 292, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #88 [ref=1x]
- { F(Vec)|F(Vex) , 294, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #89 [ref=1x]
- { F(Vec)|F(Vex) , 296, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #90 [ref=1x]
- { F(Vec)|F(Vex) , 402, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #91 [ref=12x]
- { F(Vec)|F(Vex) , 403, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #92 [ref=8x]
- { 0 , 404, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #93 [ref=2x]
- { 0 , 298, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #94 [ref=1x]
- { 0 , 300, 2 , CONTROL(Call) , SINGLE_REG(None), 0 }, // #95 [ref=1x]
- { F(Vec) , 206, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #96 [ref=2x]
- { 0 , 405, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #97 [ref=2x]
- { 0 , 302, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #98 [ref=2x]
- { F(Vex) , 406, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #99 [ref=2x]
- { 0 , 407, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #100 [ref=1x]
- { 0 , 170, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #101 [ref=3x]
- { 0 , 300, 2 , CONTROL(Jump) , SINGLE_REG(None), 0 }, // #102 [ref=1x]
- { 0 , 408, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #103 [ref=5x]
- { F(Vex) , 409, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #104 [ref=2x]
- { F(Rep) , 410, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #105 [ref=1x]
- { 0 , 286, 2 , CONTROL(Branch) , SINGLE_REG(None), 0 }, // #106 [ref=3x]
- { 0 , 304, 2 , CONTROL(Return) , SINGLE_REG(None), 0 }, // #107 [ref=1x]
- { 0 , 306, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #108 [ref=1x]
- { F(Vex) , 411, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #109 [ref=2x]
- { F(Vec) , 412, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #110 [ref=1x]
- { F(Mmx) , 413, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #111 [ref=1x]
- { 0 , 414, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #112 [ref=2x]
- { F(XRelease) , 0 , 16, CONTROL(None) , SINGLE_REG(None), 0 }, // #113 [ref=1x]
- { 0 , 49 , 9 , CONTROL(None) , SINGLE_REG(None), 0 }, // #114 [ref=1x]
- { F(Vec) , 79 , 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #115 [ref=6x]
- { 0 , 73 , 6 , CONTROL(None) , SINGLE_REG(None), 0 }, // #116 [ref=1x]
- { F(Mmx)|F(Vec) , 308, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #117 [ref=1x]
- { 0 , 415, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #118 [ref=1x]
- { 0 , 77 , 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #119 [ref=2x]
- { F(Mmx)|F(Vec) , 416, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #120 [ref=1x]
- { F(Vec) , 273, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #121 [ref=2x]
- { F(Vec) , 212, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #122 [ref=4x]
- { F(Vec) , 417, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #123 [ref=2x]
- { F(Vec) , 80 , 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #124 [ref=3x]
- { F(Mmx) , 418, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #125 [ref=1x]
- { F(Vec) , 107, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #126 [ref=1x]
- { F(Vec) , 215, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #127 [ref=1x]
- { F(Mmx)|F(Vec) , 103, 5 , CONTROL(None) , SINGLE_REG(None), 0 }, // #128 [ref=1x]
- { F(Mmx)|F(Vec) , 419, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #129 [ref=1x]
- { F(Rep) , 420, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #130 [ref=1x]
- { F(Vec) , 106, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #131 [ref=1x]
- { F(Vec) , 310, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #132 [ref=1x]
- { 0 , 312, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #133 [ref=2x]
- { 0 , 314, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #134 [ref=1x]
- { F(Vex) , 316, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #135 [ref=1x]
- { 0 , 421, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #136 [ref=1x]
- { 0 , 422, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #137 [ref=1x]
- { F(Lock)|F(XAcquire)|F(XRelease) , 269, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #138 [ref=2x]
- { 0 , 108, 5 , CONTROL(None) , SINGLE_REG(None), 0 }, // #139 [ref=1x]
- { F(Lock)|F(XAcquire)|F(XRelease) , 16 , 12, CONTROL(None) , SINGLE_REG(RO) , 0 }, // #140 [ref=1x]
- { 0 , 423, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #141 [ref=1x]
- { F(Rep) , 424, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #142 [ref=1x]
- { F(Mmx)|F(Vec) , 318, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #143 [ref=40x]
- { F(Mmx)|F(Vec) , 320, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #144 [ref=1x]
- { F(Mmx)|F(Vec) , 318, 2 , CONTROL(None) , SINGLE_REG(RO) , 0 }, // #145 [ref=6x]
- { F(Mmx)|F(Vec) , 318, 2 , CONTROL(None) , SINGLE_REG(WO) , 0 }, // #146 [ref=16x]
- { F(Mmx) , 318, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #147 [ref=26x]
- { F(Vec) , 79 , 1 , CONTROL(None) , SINGLE_REG(WO) , 0 }, // #148 [ref=4x]
- { F(Vec) , 425, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #149 [ref=1x]
- { F(Vec) , 426, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #150 [ref=1x]
- { F(Vec) , 427, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #151 [ref=1x]
- { F(Vec) , 428, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #152 [ref=1x]
- { F(Vec) , 429, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #153 [ref=1x]
- { F(Vec) , 430, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #154 [ref=1x]
- { F(Mmx)|F(Vec) , 322, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #155 [ref=1x]
- { F(Vec) , 431, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #156 [ref=1x]
- { F(Vec) , 432, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #157 [ref=1x]
- { F(Vec) , 433, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #158 [ref=1x]
- { F(Mmx)|F(Vec) , 434, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #159 [ref=1x]
- { F(Mmx)|F(Vec) , 435, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #160 [ref=1x]
- { F(Vec) , 242, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #161 [ref=2x]
- { 0 , 136, 4 , CONTROL(None) , SINGLE_REG(None), 0 }, // #162 [ref=1x]
- { 0 , 400, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #163 [ref=9x]
- { F(Mmx) , 320, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #164 [ref=1x]
- { F(Mmx)|F(Vec) , 324, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #165 [ref=8x]
- { F(Vec) , 436, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #166 [ref=2x]
- { 0 , 437, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #167 [ref=1x]
- { 0 , 140, 4 , CONTROL(None) , SINGLE_REG(None), 0 }, // #168 [ref=1x]
- { 0 , 438, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #169 [ref=8x]
- { 0 , 439, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #170 [ref=4x]
- { 0 , 440, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #171 [ref=8x]
- { 0 , 326, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #172 [ref=1x]
- { F(Rep)|F(RepIgnored) , 304, 2 , CONTROL(Return) , SINGLE_REG(None), 0 }, // #173 [ref=1x]
- { F(Vex) , 328, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #174 [ref=1x]
- { F(Lock)|F(XAcquire)|F(XRelease) , 16 , 12, CONTROL(None) , SINGLE_REG(WO) , 0 }, // #175 [ref=3x]
- { F(Rep) , 441, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #176 [ref=1x]
- { 0 , 442, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #177 [ref=30x]
- { 0 , 173, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #178 [ref=2x]
- { 0 , 443, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #179 [ref=3x]
- { F(Rep) , 444, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #180 [ref=1x]
- { F(Vex) , 445, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #181 [ref=5x]
- { 0 , 66 , 7 , CONTROL(None) , SINGLE_REG(None), 0 }, // #182 [ref=1x]
- { F(Tsib)|F(Vex) , 446, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #183 [ref=2x]
- { F(Vex) , 400, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #184 [ref=1x]
- { F(Tsib)|F(Vex) , 447, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #185 [ref=1x]
- { F(Vex) , 448, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #186 [ref=1x]
- { 0 , 449, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #187 [ref=2x]
- { 0 , 450, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #188 [ref=2x]
- { 0 , 451, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #189 [ref=1x]
- { F(Vec)|F(Evex)|F(Avx512T4X)|F(Avx512KZ) , 452, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #190 [ref=4x]
- { F(Vec)|F(Evex)|F(Avx512T4X)|F(Avx512KZ) , 453, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #191 [ref=2x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_ER_SAE_B64) , 176, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #192 [ref=22x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_ER_SAE_B32) , 176, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #193 [ref=22x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_ER_SAE) , 454, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #194 [ref=18x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_ER_SAE) , 455, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #195 [ref=17x]
- { F(Vec)|F(Vex) , 176, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #196 [ref=15x]
- { F(Vec)|F(Vex)|F(Evex) , 176, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #197 [ref=5x]
- { F(Vec)|F(Vex) , 79 , 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #198 [ref=17x]
- { F(Vec)|F(Vex) , 197, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #199 [ref=1x]
- { F(Vec)|F(Evex)|F(Avx512KZ_B32) , 179, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #200 [ref=4x]
- { F(Vec)|F(Evex)|F(Avx512KZ_B64) , 179, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #201 [ref=4x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_B64) , 176, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #202 [ref=10x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_B32) , 176, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #203 [ref=12x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_B64) , 176, 3 , CONTROL(None) , SINGLE_REG(RO) , 0 }, // #204 [ref=2x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_B32) , 176, 3 , CONTROL(None) , SINGLE_REG(RO) , 0 }, // #205 [ref=6x]
- { F(Vec)|F(Evex)|F(Avx512KZ) , 176, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #206 [ref=13x]
- { F(Vec)|F(Evex)|F(Avx512KZ_B32) , 176, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #207 [ref=12x]
- { F(Vec)|F(Evex)|F(Avx512KZ_B64) , 176, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #208 [ref=19x]
- { F(Vec)|F(Vex) , 179, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #209 [ref=6x]
- { F(Vec)|F(Vex) , 330, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #210 [ref=3x]
- { F(Vec)|F(Vex) , 456, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #211 [ref=2x]
- { F(Vec)|F(Evex)|F(Avx512KZ) , 457, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #212 [ref=1x]
- { F(Vec)|F(Evex)|F(Avx512KZ) , 458, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #213 [ref=4x]
- { F(Vec)|F(Evex)|F(Avx512KZ) , 459, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #214 [ref=4x]
- { F(Vec)|F(Evex)|F(Avx512KZ) , 460, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #215 [ref=1x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 457, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #216 [ref=1x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 461, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #217 [ref=1x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_SAE_B64) , 182, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #218 [ref=1x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_SAE_B32) , 182, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #219 [ref=1x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_SAE) , 462, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #220 [ref=1x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_SAE) , 463, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #221 [ref=1x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512SAE) , 106, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #222 [ref=2x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512SAE) , 239, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #223 [ref=2x]
- { F(Vec)|F(Evex)|F(Avx512KZ) , 185, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #224 [ref=6x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_B32) , 188, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #225 [ref=1x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_ER_SAE_B32) , 191, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #226 [ref=3x]
- { F(Vec)|F(Evex)|F(Avx512KZ_B32) , 332, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #227 [ref=1x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_ER_SAE_B64) , 332, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #228 [ref=2x]
- { F(Vec)|F(Evex)|F(Avx512KZ_ER_SAE_B64) , 191, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #229 [ref=4x]
- { F(Vec)|F(Evex)|F(Avx512KZ_ER_SAE_B64) , 332, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #230 [ref=3x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_SAE) , 188, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #231 [ref=1x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_ER_SAE_B32) , 188, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #232 [ref=1x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_SAE) , 194, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #233 [ref=1x]
- { F(Vec)|F(Evex)|F(Avx512KZ_ER_SAE_B32) , 188, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #234 [ref=2x]
- { F(Vec)|F(Evex)|F(Avx512KZ_ER_SAE_B32) , 191, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #235 [ref=2x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512ER_SAE) , 381, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #236 [ref=1x]
- { F(Vec)|F(Evex)|F(Avx512ER_SAE) , 381, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #237 [ref=1x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512ER_SAE) , 464, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #238 [ref=2x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_SAE) , 455, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #239 [ref=3x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512ER_SAE) , 383, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #240 [ref=1x]
- { F(Vec)|F(Evex)|F(Avx512ER_SAE) , 383, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #241 [ref=1x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_SAE_B64) , 332, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #242 [ref=1x]
- { F(Vec)|F(Evex)|F(Avx512KZ_SAE_B64) , 191, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #243 [ref=3x]
- { F(Vec)|F(Evex)|F(Avx512KZ_SAE_B64) , 332, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #244 [ref=1x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_SAE_B32) , 191, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #245 [ref=1x]
- { F(Vec)|F(Evex)|F(Avx512KZ_SAE_B32) , 188, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #246 [ref=2x]
- { F(Vec)|F(Evex)|F(Avx512KZ_SAE_B32) , 191, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #247 [ref=2x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512SAE) , 381, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #248 [ref=1x]
- { F(Vec)|F(Evex)|F(Avx512SAE) , 381, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #249 [ref=1x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512SAE) , 383, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #250 [ref=1x]
- { F(Vec)|F(Evex)|F(Avx512SAE) , 383, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #251 [ref=1x]
- { F(Vec)|F(Evex)|F(Avx512KZ_B32) , 188, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #252 [ref=1x]
- { F(Vec)|F(Evex)|F(Avx512ER_SAE) , 464, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #253 [ref=2x]
- { F(Vec)|F(Evex)|F(Avx512KZ) , 179, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #254 [ref=3x]
- { F(Vec)|F(Vex) , 179, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #255 [ref=9x]
- { F(Vec)|F(Evex)|F(Avx512KZ_SAE_B64) , 83 , 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #256 [ref=3x]
- { F(Vec)|F(Evex)|F(Avx512KZ_SAE_B32) , 83 , 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #257 [ref=3x]
- { F(Vec)|F(Evex)|F(Avx512KZ) , 191, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #258 [ref=9x]
- { F(Vec)|F(Vex) , 195, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #259 [ref=2x]
- { F(Vec)|F(Evex)|F(Avx512KZ) , 465, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #260 [ref=4x]
- { F(Vec)|F(Evex)|F(Avx512KZ) , 196, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #261 [ref=4x]
- { F(Vec)|F(Vex)|F(Evex) , 387, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #262 [ref=2x]
- { F(Vec)|F(Evex)|F(Avx512KZ_SAE_B64) , 179, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #263 [ref=2x]
- { F(Vec)|F(Evex)|F(Avx512KZ_SAE_B32) , 179, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #264 [ref=2x]
- { F(Vec)|F(Evex)|F(Avx512KZ_SAE) , 466, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #265 [ref=4x]
- { F(Vec)|F(Evex)|F(Avx512KZ_SAE) , 467, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #266 [ref=4x]
- { F(Vec)|F(Vex) , 144, 4 , CONTROL(None) , SINGLE_REG(None), 0 }, // #267 [ref=13x]
- { F(Vec)|F(Vex) , 334, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #268 [ref=4x]
- { F(Vec)|F(Vex) , 336, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #269 [ref=4x]
- { F(Vec)|F(Evex)|F(Avx512K_B64) , 468, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #270 [ref=1x]
- { F(Vec)|F(Evex)|F(Avx512K_B32) , 468, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #271 [ref=1x]
- { F(Vec)|F(Evex)|F(Avx512K) , 469, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #272 [ref=1x]
- { F(Vec)|F(Evex)|F(Avx512K) , 470, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #273 [ref=1x]
- { F(Vec)|F(Vex) , 191, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #274 [ref=7x]
- { F(Vec)|F(Vex) , 106, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #275 [ref=1x]
- { F(Vec)|F(Vex) , 239, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #276 [ref=1x]
- { F(Vec)|F(Vsib)|F(Vex)|F(Evex)|F(Avx512K) , 113, 5 , CONTROL(None) , SINGLE_REG(None), 0 }, // #277 [ref=2x]
- { F(Vec)|F(Vsib)|F(Vex)|F(Evex)|F(Avx512K) , 118, 5 , CONTROL(None) , SINGLE_REG(None), 0 }, // #278 [ref=2x]
- { F(Vsib)|F(Evex)|F(Avx512K) , 471, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #279 [ref=4x]
- { F(Vsib)|F(Evex)|F(Avx512K) , 472, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #280 [ref=4x]
- { F(Vsib)|F(Evex)|F(Avx512K) , 473, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #281 [ref=8x]
- { F(Vec)|F(Vsib)|F(Vex)|F(Evex)|F(Avx512K) , 123, 5 , CONTROL(None) , SINGLE_REG(None), 0 }, // #282 [ref=2x]
- { F(Vec)|F(Vsib)|F(Vex)|F(Evex)|F(Avx512K) , 148, 4 , CONTROL(None) , SINGLE_REG(None), 0 }, // #283 [ref=2x]
- { F(Vec)|F(Evex)|F(Avx512KZ_SAE) , 454, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #284 [ref=3x]
- { F(Vec)|F(Evex)|F(Avx512KZ_SAE) , 455, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #285 [ref=3x]
- { F(Vec)|F(Evex)|F(Avx512KZ_SAE_B64) , 197, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #286 [ref=2x]
- { F(Vec)|F(Evex)|F(Avx512KZ_SAE_B32) , 197, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #287 [ref=2x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 179, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #288 [ref=3x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 176, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #289 [ref=22x]
- { F(Vec)|F(Vex) , 338, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #290 [ref=2x]
- { F(Vec)|F(Evex)|F(Avx512KZ) , 338, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #291 [ref=4x]
- { F(Vec)|F(Evex)|F(Avx512KZ) , 474, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #292 [ref=4x]
- { F(Vec)|F(Vex)|F(Evex) , 467, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #293 [ref=1x]
- { F(Vec)|F(Vex) , 206, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #294 [ref=1x]
- { F(Vex) , 405, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #295 [ref=2x]
- { F(Vec)|F(Vex) , 412, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #296 [ref=1x]
- { F(Vec)|F(Vex) , 152, 4 , CONTROL(None) , SINGLE_REG(None), 0 }, // #297 [ref=4x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_SAE_B64) , 176, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #298 [ref=2x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_SAE_B32) , 176, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #299 [ref=2x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_SAE) , 454, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #300 [ref=2x]
- { 0 , 340, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #301 [ref=3x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 79 , 6 , CONTROL(None) , SINGLE_REG(None), 0 }, // #302 [ref=4x]
- { F(Vec)|F(Vex)|F(Evex) , 342, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #303 [ref=1x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 200, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #304 [ref=1x]
- { F(Vec)|F(Vex) , 79 , 4 , CONTROL(None) , SINGLE_REG(None), 0 }, // #305 [ref=2x]
- { F(Vec)|F(Evex)|F(Avx512KZ) , 79 , 6 , CONTROL(None) , SINGLE_REG(None), 0 }, // #306 [ref=6x]
- { F(Vec)|F(Vex)|F(Evex) , 214, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #307 [ref=2x]
- { F(Vec)|F(Vex)|F(Evex) , 344, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #308 [ref=4x]
- { F(Vec)|F(Vex) , 475, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #309 [ref=3x]
- { F(Vec)|F(Vex)|F(Evex) , 203, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #310 [ref=3x]
- { F(Vec)|F(Vex)|F(Evex) , 206, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #311 [ref=1x]
- { F(Vec)|F(Vex)|F(Evex) , 209, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #312 [ref=1x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 212, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #313 [ref=1x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 191, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #314 [ref=5x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 215, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #315 [ref=1x]
- { 0 , 346, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #316 [ref=1x]
- { 0 , 348, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #317 [ref=1x]
- { F(Vec)|F(Evex)|F(Avx512B32) , 218, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #318 [ref=1x]
- { F(Vec)|F(Evex)|F(Avx512B64) , 218, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #319 [ref=1x]
- { F(Vec)|F(Vex) , 176, 2 , CONTROL(None) , SINGLE_REG(RO) , 0 }, // #320 [ref=2x]
- { F(Vec)|F(Evex)|F(Avx512KZ_B32) , 176, 3 , CONTROL(None) , SINGLE_REG(RO) , 0 }, // #321 [ref=2x]
- { F(Vec)|F(Vex) , 176, 2 , CONTROL(None) , SINGLE_REG(WO) , 0 }, // #322 [ref=2x]
- { F(Vec)|F(Evex)|F(Avx512KZ_B32) , 176, 3 , CONTROL(None) , SINGLE_REG(WO) , 0 }, // #323 [ref=2x]
- { F(Vec)|F(Evex)|F(Avx512KZ_B64) , 176, 3 , CONTROL(None) , SINGLE_REG(WO) , 0 }, // #324 [ref=2x]
- { F(Vec)|F(Evex)|F(Avx512KZ_B64) , 176, 3 , CONTROL(None) , SINGLE_REG(RO) , 0 }, // #325 [ref=2x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 476, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #326 [ref=1x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 477, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #327 [ref=1x]
- { F(Vec)|F(Evex) , 478, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #328 [ref=6x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 221, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #329 [ref=1x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 479, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #330 [ref=1x]
- { F(Vec)|F(Vex)|F(Evex) , 179, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #331 [ref=1x]
- { F(Vec)|F(Evex)|F(Avx512K) , 224, 3 , CONTROL(None) , SINGLE_REG(WO) , 0 }, // #332 [ref=2x]
- { F(Vec)|F(Evex)|F(Avx512K_B32) , 224, 3 , CONTROL(None) , SINGLE_REG(WO) , 0 }, // #333 [ref=2x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512K) , 227, 3 , CONTROL(None) , SINGLE_REG(WO) , 0 }, // #334 [ref=4x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512K_B32) , 227, 3 , CONTROL(None) , SINGLE_REG(WO) , 0 }, // #335 [ref=2x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512K_B64) , 227, 3 , CONTROL(None) , SINGLE_REG(WO) , 0 }, // #336 [ref=2x]
- { F(Vec)|F(Vex) , 425, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #337 [ref=1x]
- { F(Vec)|F(Vex) , 426, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #338 [ref=1x]
- { F(Vec)|F(Vex) , 427, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #339 [ref=1x]
- { F(Vec)|F(Vex) , 428, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #340 [ref=1x]
- { F(Vec)|F(Evex)|F(Avx512K_B64) , 224, 3 , CONTROL(None) , SINGLE_REG(WO) , 0 }, // #341 [ref=4x]
- { F(Vec)|F(Evex)|F(Avx512KZ_B32) , 191, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #342 [ref=6x]
- { F(Vec)|F(Vex)|F(Evex)|F(PreferEvex)|F(Avx512KZ_B32) , 176, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #343 [ref=4x]
- { F(Vec)|F(Vex) , 180, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #344 [ref=2x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_B32) , 177, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #345 [ref=2x]
- { F(Vec)|F(Vex) , 156, 4 , CONTROL(None) , SINGLE_REG(None), 0 }, // #346 [ref=2x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_B64) , 85 , 6 , CONTROL(None) , SINGLE_REG(None), 0 }, // #347 [ref=2x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_B64) , 160, 4 , CONTROL(None) , SINGLE_REG(None), 0 }, // #348 [ref=2x]
- { F(Vec)|F(Vex)|F(Evex) , 429, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #349 [ref=1x]
- { F(Vec)|F(Vex)|F(Evex) , 430, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #350 [ref=1x]
- { F(Vec)|F(Vex)|F(Evex) , 480, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #351 [ref=1x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 481, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #352 [ref=1x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 482, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #353 [ref=1x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 483, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #354 [ref=1x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 484, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #355 [ref=1x]
- { F(Vec)|F(Evex)|F(Avx512KZ_B64) , 191, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #356 [ref=4x]
- { F(Vec)|F(Vex) , 330, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #357 [ref=12x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 176, 3 , CONTROL(None) , SINGLE_REG(RO) , 0 }, // #358 [ref=8x]
- { F(Vec)|F(Evex) , 485, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #359 [ref=4x]
- { F(Vec)|F(Evex)|F(Avx512KZ) , 230, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #360 [ref=6x]
- { F(Vec)|F(Evex)|F(Avx512KZ) , 233, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #361 [ref=9x]
- { F(Vec)|F(Evex)|F(Avx512KZ) , 236, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #362 [ref=3x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 239, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #363 [ref=4x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 242, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #364 [ref=2x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 188, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #365 [ref=6x]
- { F(Vec)|F(Vex) , 144, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #366 [ref=1x]
- { F(Vec)|F(Evex)|F(Avx512KZ_B32) , 197, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #367 [ref=3x]
- { F(Vec)|F(Evex)|F(Avx512KZ_B64) , 197, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #368 [ref=3x]
- { F(Vec)|F(Vex) , 350, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #369 [ref=4x]
- { F(Vec)|F(Vsib)|F(Evex)|F(Avx512K) , 245, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #370 [ref=3x]
- { F(Vec)|F(Vsib)|F(Evex)|F(Avx512K) , 352, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #371 [ref=2x]
- { F(Vec)|F(Vsib)|F(Evex)|F(Avx512K) , 248, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #372 [ref=2x]
- { F(Vec)|F(Vex) , 354, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #373 [ref=8x]
- { F(Vec)|F(Evex)|F(Avx512K) , 251, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #374 [ref=5x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_B32) , 197, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #375 [ref=1x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 197, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #376 [ref=2x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_B32) , 91 , 6 , CONTROL(None) , SINGLE_REG(None), 0 }, // #377 [ref=3x]
- { F(Vec)|F(Vex)|F(Evex) , 197, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #378 [ref=2x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_B64) , 91 , 6 , CONTROL(None) , SINGLE_REG(None), 0 }, // #379 [ref=2x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 91 , 6 , CONTROL(None) , SINGLE_REG(None), 0 }, // #380 [ref=3x]
- { F(Vec)|F(Evex)|F(Avx512KZ_B64) , 97 , 6 , CONTROL(None) , SINGLE_REG(None), 0 }, // #381 [ref=1x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 176, 3 , CONTROL(None) , SINGLE_REG(WO) , 0 }, // #382 [ref=6x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_B32) , 176, 3 , CONTROL(None) , SINGLE_REG(WO) , 0 }, // #383 [ref=2x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_B64) , 176, 3 , CONTROL(None) , SINGLE_REG(WO) , 0 }, // #384 [ref=2x]
- { F(Vec)|F(Evex)|F(Avx512K_B32) , 251, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #385 [ref=2x]
- { F(Vec)|F(Evex)|F(Avx512K_B64) , 251, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #386 [ref=2x]
- { F(Vec)|F(Evex)|F(Avx512KZ) , 454, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #387 [ref=2x]
- { F(Vec)|F(Evex)|F(Avx512KZ) , 455, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #388 [ref=2x]
- { F(Vec)|F(Vex) , 455, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #389 [ref=2x]
- { F(Vec)|F(Evex)|F(Avx512KZ) , 466, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #390 [ref=1x]
- { F(Vec)|F(Evex)|F(Avx512KZ) , 467, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #391 [ref=1x]
- { F(Vec)|F(Vex) , 197, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #392 [ref=2x]
- { F(Vec)|F(Vex) , 466, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #393 [ref=1x]
- { F(Vec)|F(Vex) , 467, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #394 [ref=1x]
- { F(Vec)|F(Evex)|F(Avx512KZ_ER_SAE_B64) , 176, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #395 [ref=1x]
- { F(Vec)|F(Evex)|F(Avx512KZ_ER_SAE_B32) , 176, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #396 [ref=1x]
- { F(Vec)|F(Evex)|F(Avx512KZ_ER_SAE) , 454, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #397 [ref=1x]
- { F(Vec)|F(Evex)|F(Avx512KZ_ER_SAE) , 455, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #398 [ref=1x]
- { F(Vec)|F(Vsib)|F(Evex)|F(Avx512K) , 356, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #399 [ref=1x]
- { F(Vec)|F(Evex)|F(Avx512KZ_B32) , 180, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #400 [ref=2x]
- { F(Vec)|F(Evex)|F(Avx512KZ_B64) , 180, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #401 [ref=2x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_B32) , 179, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #402 [ref=1x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_B64) , 179, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #403 [ref=1x]
- { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_ER_SAE_B64) , 191, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #404 [ref=1x]
- { F(Vec)|F(Vex) , 108, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #405 [ref=2x]
- { 0 , 23 , 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #406 [ref=2x]
- { 0 , 61 , 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #407 [ref=2x]
- { F(Lock)|F(XAcquire)|F(XRelease) , 58 , 4 , CONTROL(None) , SINGLE_REG(None), 0 }, // #408 [ref=1x]
- { 0 , 486, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #409 [ref=1x]
- { F(Lock)|F(XAcquire) , 58 , 8 , CONTROL(None) , SINGLE_REG(RO) , 0 }, // #410 [ref=1x]
- { 0 , 487, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #411 [ref=6x]
- { 0 , 488, 1 , CONTROL(None) , SINGLE_REG(None), 0 } // #412 [ref=6x]
+ { 0 , 386, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #31 [ref=24x]
+ { 0 , 387, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #32 [ref=6x]
+ { 0 , 388, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #33 [ref=13x]
+ { 0 , 389, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #34 [ref=1x]
+ { 0 , 16 , 12, CONTROL(None) , SINGLE_REG(None), 0 }, // #35 [ref=1x]
+ { F(Rep) , 127, 4 , CONTROL(None) , SINGLE_REG(None), 0 }, // #36 [ref=1x]
+ { F(Vec) , 390, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #37 [ref=2x]
+ { F(Vec) , 391, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #38 [ref=3x]
+ { F(Lock)|F(XAcquire)|F(XRelease) , 131, 4 , CONTROL(None) , SINGLE_REG(None), 0 }, // #39 [ref=1x]
+ { F(Lock)|F(XAcquire)|F(XRelease) , 392, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #40 [ref=1x]
+ { F(Lock)|F(XAcquire)|F(XRelease) , 393, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #41 [ref=1x]
+ { 0 , 394, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #42 [ref=1x]
+ { 0 , 395, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #43 [ref=1x]
+ { 0 , 284, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #44 [ref=1x]
+ { F(Mmx)|F(Vec) , 396, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #45 [ref=2x]
+ { F(Mmx)|F(Vec) , 397, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #46 [ref=2x]
+ { F(Mmx)|F(Vec) , 398, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #47 [ref=2x]
+ { F(Vec) , 399, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #48 [ref=2x]
+ { F(Vec) , 400, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #49 [ref=2x]
+ { F(Vec) , 401, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #50 [ref=2x]
+ { 0 , 402, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #51 [ref=1x]
+ { 0 , 403, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #52 [ref=2x]
+ { F(Lock)|F(XAcquire)|F(XRelease) , 286, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #53 [ref=2x]
+ { 0 , 39 , 4 , CONTROL(None) , SINGLE_REG(None), 0 }, // #54 [ref=3x]
+ { F(Mmx) , 108, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #55 [ref=1x]
+ { 0 , 288, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #56 [ref=2x]
+ { 0 , 404, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #57 [ref=1x]
+ { F(Vec) , 405, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #58 [ref=2x]
+ { F(Vec) , 290, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #59 [ref=1x]
+ { F(FpuM32)|F(FpuM64) , 182, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #60 [ref=6x]
+ { 0 , 292, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #61 [ref=9x]
+ { F(FpuM80) , 406, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #62 [ref=2x]
+ { 0 , 293, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #63 [ref=13x]
+ { F(FpuM32)|F(FpuM64) , 294, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #64 [ref=2x]
+ { F(FpuM16)|F(FpuM32) , 407, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #65 [ref=9x]
+ { F(FpuM16)|F(FpuM32)|F(FpuM64) , 408, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #66 [ref=3x]
+ { F(FpuM32)|F(FpuM64)|F(FpuM80) , 409, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #67 [ref=2x]
+ { F(FpuM16) , 410, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #68 [ref=3x]
+ { F(FpuM16) , 411, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #69 [ref=2x]
+ { F(FpuM32)|F(FpuM64) , 295, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #70 [ref=1x]
+ { 0 , 412, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #71 [ref=2x]
+ { 0 , 413, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #72 [ref=1x]
+ { 0 , 39 , 10, CONTROL(None) , SINGLE_REG(None), 0 }, // #73 [ref=1x]
+ { 0 , 414, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #74 [ref=1x]
+ { 0 , 415, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #75 [ref=2x]
+ { 0 , 343, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #76 [ref=3x]
+ { F(Rep) , 416, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #77 [ref=1x]
+ { F(Vec) , 296, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #78 [ref=1x]
+ { 0 , 417, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #79 [ref=2x]
+ { 0 , 418, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #80 [ref=8x]
+ { 0 , 298, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #81 [ref=3x]
+ { 0 , 300, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #82 [ref=1x]
+ { 0 , 108, 1 , CONTROL(Return) , SINGLE_REG(None), 0 }, // #83 [ref=2x]
+ { 0 , 388, 1 , CONTROL(Return) , SINGLE_REG(None), 0 }, // #84 [ref=1x]
+ { F(Rep)|F(RepIgnored) , 302, 2 , CONTROL(Branch) , SINGLE_REG(None), 0 }, // #85 [ref=30x]
+ { F(Rep)|F(RepIgnored) , 304, 2 , CONTROL(Branch) , SINGLE_REG(None), 0 }, // #86 [ref=1x]
+ { F(Rep)|F(RepIgnored) , 306, 2 , CONTROL(Jump) , SINGLE_REG(None), 0 }, // #87 [ref=1x]
+ { F(Vec)|F(Vex) , 419, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #88 [ref=27x]
+ { F(Vec)|F(Vex) , 308, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #89 [ref=1x]
+ { F(Vec)|F(Vex) , 310, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #90 [ref=1x]
+ { F(Vec)|F(Vex) , 312, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #91 [ref=1x]
+ { F(Vec)|F(Vex) , 314, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #92 [ref=1x]
+ { F(Vec)|F(Vex) , 420, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #93 [ref=12x]
+ { F(Vec)|F(Vex) , 421, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #94 [ref=8x]
+ { 0 , 422, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #95 [ref=2x]
+ { 0 , 316, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #96 [ref=1x]
+ { 0 , 318, 2 , CONTROL(Call) , SINGLE_REG(None), 0 }, // #97 [ref=1x]
+ { F(Vec) , 224, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #98 [ref=2x]
+ { 0 , 423, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #99 [ref=2x]
+ { 0 , 320, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #100 [ref=2x]
+ { F(Vex) , 424, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #101 [ref=2x]
+ { 0 , 425, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #102 [ref=1x]
+ { 0 , 185, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #103 [ref=3x]
+ { 0 , 318, 2 , CONTROL(Jump) , SINGLE_REG(None), 0 }, // #104 [ref=1x]
+ { 0 , 426, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #105 [ref=5x]
+ { F(Vex) , 427, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #106 [ref=2x]
+ { F(Rep) , 135, 4 , CONTROL(None) , SINGLE_REG(None), 0 }, // #107 [ref=1x]
+ { 0 , 304, 2 , CONTROL(Branch) , SINGLE_REG(None), 0 }, // #108 [ref=3x]
+ { 0 , 322, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #109 [ref=1x]
+ { F(Vex) , 428, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #110 [ref=2x]
+ { F(Vec) , 429, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #111 [ref=1x]
+ { F(Mmx) , 430, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #112 [ref=1x]
+ { 0 , 431, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #113 [ref=2x]
+ { F(XRelease) , 0 , 16, CONTROL(None) , SINGLE_REG(None), 0 }, // #114 [ref=1x]
+ { 0 , 49 , 9 , CONTROL(None) , SINGLE_REG(None), 0 }, // #115 [ref=1x]
+ { F(Vec) , 79 , 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #116 [ref=6x]
+ { 0 , 73 , 6 , CONTROL(None) , SINGLE_REG(None), 0 }, // #117 [ref=1x]
+ { F(Mmx)|F(Vec) , 324, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #118 [ref=1x]
+ { 0 , 432, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #119 [ref=1x]
+ { 0 , 77 , 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #120 [ref=2x]
+ { F(Mmx)|F(Vec) , 433, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #121 [ref=1x]
+ { F(Vec) , 291, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #122 [ref=2x]
+ { F(Vec) , 230, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #123 [ref=4x]
+ { F(Vec) , 434, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #124 [ref=2x]
+ { F(Vec) , 80 , 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #125 [ref=3x]
+ { F(Mmx) , 435, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #126 [ref=1x]
+ { F(Vec) , 107, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #127 [ref=1x]
+ { F(Vec) , 233, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #128 [ref=1x]
+ { F(Mmx)|F(Vec) , 103, 5 , CONTROL(None) , SINGLE_REG(None), 0 }, // #129 [ref=1x]
+ { F(Mmx)|F(Vec) , 436, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #130 [ref=1x]
+ { F(Rep) , 139, 4 , CONTROL(None) , SINGLE_REG(None), 0 }, // #131 [ref=1x]
+ { F(Vec) , 106, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #132 [ref=1x]
+ { F(Vec) , 326, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #133 [ref=1x]
+ { 0 , 328, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #134 [ref=2x]
+ { 0 , 437, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #135 [ref=1x]
+ { F(Vex) , 330, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #136 [ref=1x]
+ { 0 , 438, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #137 [ref=1x]
+ { 0 , 439, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #138 [ref=1x]
+ { F(Lock)|F(XAcquire)|F(XRelease) , 287, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #139 [ref=2x]
+ { 0 , 108, 5 , CONTROL(None) , SINGLE_REG(None), 0 }, // #140 [ref=1x]
+ { F(Lock)|F(XAcquire)|F(XRelease) , 16 , 12, CONTROL(None) , SINGLE_REG(RO) , 0 }, // #141 [ref=1x]
+ { 0 , 440, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #142 [ref=1x]
+ { F(Rep) , 441, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #143 [ref=1x]
+ { F(Mmx)|F(Vec) , 332, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #144 [ref=37x]
+ { F(Mmx)|F(Vec) , 334, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #145 [ref=1x]
+ { F(Mmx)|F(Vec) , 332, 2 , CONTROL(None) , SINGLE_REG(RO) , 0 }, // #146 [ref=6x]
+ { F(Mmx)|F(Vec) , 332, 2 , CONTROL(None) , SINGLE_REG(WO) , 0 }, // #147 [ref=16x]
+ { F(Mmx) , 332, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #148 [ref=26x]
+ { F(Vec) , 79 , 1 , CONTROL(None) , SINGLE_REG(WO) , 0 }, // #149 [ref=4x]
+ { F(Vec) , 442, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #150 [ref=1x]
+ { F(Vec) , 443, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #151 [ref=1x]
+ { F(Vec) , 444, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #152 [ref=1x]
+ { F(Vec) , 445, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #153 [ref=1x]
+ { F(Vec) , 446, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #154 [ref=1x]
+ { F(Vec) , 447, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #155 [ref=1x]
+ { F(Mmx)|F(Vec) , 336, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #156 [ref=1x]
+ { F(Vec) , 448, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #157 [ref=1x]
+ { F(Vec) , 449, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #158 [ref=1x]
+ { F(Vec) , 450, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #159 [ref=1x]
+ { F(Mmx)|F(Vec) , 451, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #160 [ref=1x]
+ { F(Mmx)|F(Vec) , 452, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #161 [ref=1x]
+ { F(Vec) , 260, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #162 [ref=2x]
+ { 0 , 143, 4 , CONTROL(None) , SINGLE_REG(None), 0 }, // #163 [ref=1x]
+ { F(Mmx) , 334, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #164 [ref=1x]
+ { F(Mmx)|F(Vec) , 338, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #165 [ref=8x]
+ { F(Vec) , 453, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #166 [ref=2x]
+ { 0 , 454, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #167 [ref=1x]
+ { F(Mmx)|F(Vec) , 340, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #168 [ref=3x]
+ { 0 , 147, 4 , CONTROL(None) , SINGLE_REG(None), 0 }, // #169 [ref=1x]
+ { 0 , 455, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #170 [ref=8x]
+ { 0 , 456, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #171 [ref=4x]
+ { 0 , 457, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #172 [ref=8x]
+ { 0 , 342, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #173 [ref=1x]
+ { F(Rep)|F(RepIgnored) , 344, 2 , CONTROL(Return) , SINGLE_REG(None), 0 }, // #174 [ref=1x]
+ { 0 , 344, 2 , CONTROL(Return) , SINGLE_REG(None), 0 }, // #175 [ref=1x]
+ { F(Vex) , 346, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #176 [ref=1x]
+ { F(Lock)|F(XAcquire)|F(XRelease) , 16 , 12, CONTROL(None) , SINGLE_REG(WO) , 0 }, // #177 [ref=3x]
+ { F(Rep) , 151, 4 , CONTROL(None) , SINGLE_REG(None), 0 }, // #178 [ref=1x]
+ { 0 , 458, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #179 [ref=30x]
+ { 0 , 188, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #180 [ref=2x]
+ { 0 , 459, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #181 [ref=3x]
+ { F(Rep) , 155, 4 , CONTROL(None) , SINGLE_REG(None), 0 }, // #182 [ref=1x]
+ { F(Vex) , 460, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #183 [ref=5x]
+ { 0 , 66 , 7 , CONTROL(None) , SINGLE_REG(None), 0 }, // #184 [ref=1x]
+ { F(Tsib)|F(Vex) , 461, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #185 [ref=2x]
+ { F(Vex) , 388, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #186 [ref=1x]
+ { F(Tsib)|F(Vex) , 462, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #187 [ref=1x]
+ { F(Vex) , 463, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #188 [ref=1x]
+ { 0 , 464, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #189 [ref=2x]
+ { 0 , 180, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #190 [ref=2x]
+ { 0 , 465, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #191 [ref=1x]
+ { F(Vec)|F(Evex)|F(Avx512T4X)|F(Avx512KZ) , 466, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #192 [ref=4x]
+ { F(Vec)|F(Evex)|F(Avx512T4X)|F(Avx512KZ) , 467, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #193 [ref=2x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_ER_SAE_B64) , 191, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #194 [ref=22x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_ER_SAE_B32) , 191, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #195 [ref=22x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_ER_SAE) , 468, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #196 [ref=18x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_ER_SAE) , 469, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #197 [ref=17x]
+ { F(Vec)|F(Vex) , 191, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #198 [ref=15x]
+ { F(Vec)|F(Vex)|F(Evex) , 191, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #199 [ref=5x]
+ { F(Vec)|F(Vex) , 79 , 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #200 [ref=17x]
+ { F(Vec)|F(Vex) , 215, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #201 [ref=1x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_B32) , 194, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #202 [ref=4x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_B64) , 194, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #203 [ref=4x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_B64) , 191, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #204 [ref=10x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_B32) , 191, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #205 [ref=12x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_B64) , 191, 3 , CONTROL(None) , SINGLE_REG(RO) , 0 }, // #206 [ref=2x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_B32) , 191, 3 , CONTROL(None) , SINGLE_REG(RO) , 0 }, // #207 [ref=6x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_B64) , 191, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #208 [ref=19x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_B32) , 191, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #209 [ref=12x]
+ { F(Vec)|F(Vex) , 194, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #210 [ref=6x]
+ { F(Vec)|F(Vex) , 348, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #211 [ref=3x]
+ { F(Vec)|F(Vex) , 470, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #212 [ref=2x]
+ { F(Vec)|F(Evex)|F(Avx512KZ) , 471, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #213 [ref=1x]
+ { F(Vec)|F(Evex)|F(Avx512KZ) , 472, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #214 [ref=4x]
+ { F(Vec)|F(Evex)|F(Avx512KZ) , 473, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #215 [ref=4x]
+ { F(Vec)|F(Evex)|F(Avx512KZ) , 474, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #216 [ref=1x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 471, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #217 [ref=1x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 475, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #218 [ref=1x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_SAE_B64) , 197, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #219 [ref=1x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_SAE_B32) , 197, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #220 [ref=1x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_SAE) , 476, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #221 [ref=1x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_SAE) , 477, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #222 [ref=1x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512SAE) , 106, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #223 [ref=2x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512SAE) , 257, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #224 [ref=2x]
+ { F(Vec)|F(Evex)|F(Avx512KZ) , 200, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #225 [ref=6x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_B32) , 203, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #226 [ref=1x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_ER_SAE_B32) , 206, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #227 [ref=3x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_B32) , 350, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #228 [ref=1x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_ER_SAE_B64) , 350, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #229 [ref=2x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_ER_SAE_B64) , 206, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #230 [ref=4x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_ER_SAE_B64) , 350, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #231 [ref=3x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_SAE) , 203, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #232 [ref=1x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_ER_SAE_B32) , 203, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #233 [ref=1x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_SAE) , 209, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #234 [ref=1x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_ER_SAE_B32) , 203, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #235 [ref=2x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_ER_SAE_B32) , 206, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #236 [ref=2x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512ER_SAE) , 399, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #237 [ref=1x]
+ { F(Vec)|F(Evex)|F(Avx512ER_SAE) , 399, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #238 [ref=1x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512ER_SAE) , 478, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #239 [ref=2x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_SAE) , 469, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #240 [ref=3x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512ER_SAE) , 401, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #241 [ref=1x]
+ { F(Vec)|F(Evex)|F(Avx512ER_SAE) , 401, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #242 [ref=1x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_SAE_B64) , 350, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #243 [ref=1x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_SAE_B64) , 206, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #244 [ref=3x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_SAE_B64) , 350, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #245 [ref=1x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_SAE_B32) , 206, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #246 [ref=1x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_SAE_B32) , 203, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #247 [ref=2x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_SAE_B32) , 206, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #248 [ref=2x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512SAE) , 399, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #249 [ref=1x]
+ { F(Vec)|F(Evex)|F(Avx512SAE) , 399, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #250 [ref=1x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512SAE) , 401, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #251 [ref=1x]
+ { F(Vec)|F(Evex)|F(Avx512SAE) , 401, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #252 [ref=1x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_B32) , 203, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #253 [ref=1x]
+ { F(Vec)|F(Evex)|F(Avx512ER_SAE) , 478, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #254 [ref=2x]
+ { F(Vec)|F(Evex)|F(Avx512KZ) , 194, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #255 [ref=3x]
+ { F(Vec)|F(Vex) , 194, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #256 [ref=9x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_SAE_B64) , 83 , 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #257 [ref=3x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_SAE_B32) , 83 , 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #258 [ref=3x]
+ { F(Vec)|F(Evex)|F(Avx512KZ) , 206, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #259 [ref=9x]
+ { F(Vec)|F(Vex) , 210, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #260 [ref=2x]
+ { F(Vec)|F(Evex)|F(Avx512KZ) , 479, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #261 [ref=4x]
+ { F(Vec)|F(Evex)|F(Avx512KZ) , 211, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #262 [ref=4x]
+ { F(Vec)|F(Vex)|F(Evex) , 405, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #263 [ref=2x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_SAE_B64) , 194, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #264 [ref=2x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_SAE_B32) , 194, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #265 [ref=2x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_SAE) , 480, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #266 [ref=4x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_SAE) , 481, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #267 [ref=4x]
+ { F(Vec)|F(Vex) , 159, 4 , CONTROL(None) , SINGLE_REG(None), 0 }, // #268 [ref=13x]
+ { F(Vec)|F(Vex) , 352, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #269 [ref=4x]
+ { F(Vec)|F(Vex) , 354, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #270 [ref=4x]
+ { F(Vec)|F(Evex)|F(Avx512K_B64) , 482, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #271 [ref=1x]
+ { F(Vec)|F(Evex)|F(Avx512K_B32) , 482, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #272 [ref=1x]
+ { F(Vec)|F(Evex)|F(Avx512K) , 483, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #273 [ref=1x]
+ { F(Vec)|F(Evex)|F(Avx512K) , 484, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #274 [ref=1x]
+ { F(Vec)|F(Vex) , 206, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #275 [ref=7x]
+ { F(Vec)|F(Vex) , 106, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #276 [ref=1x]
+ { F(Vec)|F(Vex) , 257, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #277 [ref=1x]
+ { F(Vec)|F(Vsib)|F(Vex)|F(Evex)|F(Avx512K) , 163, 4 , CONTROL(None) , SINGLE_REG(None), 0 }, // #278 [ref=2x]
+ { F(Vec)|F(Vsib)|F(Vex)|F(Evex)|F(Avx512K) , 113, 5 , CONTROL(None) , SINGLE_REG(None), 0 }, // #279 [ref=2x]
+ { F(Vsib)|F(Evex)|F(Avx512K) , 485, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #280 [ref=4x]
+ { F(Vsib)|F(Evex)|F(Avx512K) , 486, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #281 [ref=4x]
+ { F(Vsib)|F(Evex)|F(Avx512K) , 487, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #282 [ref=8x]
+ { F(Vec)|F(Vsib)|F(Vex)|F(Evex)|F(Avx512K) , 118, 5 , CONTROL(None) , SINGLE_REG(None), 0 }, // #283 [ref=2x]
+ { F(Vec)|F(Vsib)|F(Vex)|F(Evex)|F(Avx512K) , 212, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #284 [ref=2x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_SAE) , 468, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #285 [ref=3x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_SAE) , 469, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #286 [ref=3x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_SAE_B64) , 215, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #287 [ref=2x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_SAE_B32) , 215, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #288 [ref=2x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 194, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #289 [ref=3x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 191, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #290 [ref=22x]
+ { F(Vec)|F(Vex) , 356, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #291 [ref=2x]
+ { F(Vec)|F(Evex)|F(Avx512KZ) , 356, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #292 [ref=4x]
+ { F(Vec)|F(Evex)|F(Avx512KZ) , 488, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #293 [ref=4x]
+ { F(Vec)|F(Vex)|F(Evex) , 481, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #294 [ref=1x]
+ { F(Vec)|F(Vex) , 224, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #295 [ref=1x]
+ { F(Vex) , 423, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #296 [ref=2x]
+ { F(Vec)|F(Vex) , 429, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #297 [ref=1x]
+ { F(Vec)|F(Vex) , 167, 4 , CONTROL(None) , SINGLE_REG(None), 0 }, // #298 [ref=4x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_SAE_B64) , 191, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #299 [ref=2x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_SAE_B32) , 191, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #300 [ref=2x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_SAE) , 468, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #301 [ref=2x]
+ { 0 , 358, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #302 [ref=3x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 79 , 6 , CONTROL(None) , SINGLE_REG(None), 0 }, // #303 [ref=4x]
+ { F(Vec)|F(Vex)|F(Evex) , 360, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #304 [ref=1x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 218, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #305 [ref=1x]
+ { F(Vec)|F(Vex) , 79 , 4 , CONTROL(None) , SINGLE_REG(None), 0 }, // #306 [ref=2x]
+ { F(Vec)|F(Evex)|F(Avx512KZ) , 79 , 6 , CONTROL(None) , SINGLE_REG(None), 0 }, // #307 [ref=6x]
+ { F(Vec)|F(Vex)|F(Evex) , 232, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #308 [ref=2x]
+ { F(Vec)|F(Vex)|F(Evex) , 362, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #309 [ref=4x]
+ { F(Vec)|F(Vex) , 489, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #310 [ref=3x]
+ { F(Vec)|F(Vex)|F(Evex) , 221, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #311 [ref=3x]
+ { F(Vec)|F(Vex)|F(Evex) , 224, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #312 [ref=1x]
+ { F(Vec)|F(Vex)|F(Evex) , 227, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #313 [ref=1x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 230, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #314 [ref=1x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 206, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #315 [ref=5x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 233, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #316 [ref=1x]
+ { 0 , 364, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #317 [ref=1x]
+ { 0 , 366, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #318 [ref=1x]
+ { F(Vec)|F(Evex)|F(Avx512B32) , 236, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #319 [ref=1x]
+ { F(Vec)|F(Evex)|F(Avx512B64) , 236, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #320 [ref=1x]
+ { F(Vec)|F(Vex) , 191, 2 , CONTROL(None) , SINGLE_REG(RO) , 0 }, // #321 [ref=2x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_B32) , 191, 3 , CONTROL(None) , SINGLE_REG(RO) , 0 }, // #322 [ref=2x]
+ { F(Vec)|F(Vex) , 191, 2 , CONTROL(None) , SINGLE_REG(WO) , 0 }, // #323 [ref=2x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_B32) , 191, 3 , CONTROL(None) , SINGLE_REG(WO) , 0 }, // #324 [ref=2x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_B64) , 191, 3 , CONTROL(None) , SINGLE_REG(WO) , 0 }, // #325 [ref=2x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_B64) , 191, 3 , CONTROL(None) , SINGLE_REG(RO) , 0 }, // #326 [ref=2x]
+ { F(Vec)|F(Evex)|F(Avx512KZ) , 191, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #327 [ref=13x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 490, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #328 [ref=1x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 491, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #329 [ref=1x]
+ { F(Vec)|F(Evex) , 492, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #330 [ref=6x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 239, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #331 [ref=1x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 493, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #332 [ref=1x]
+ { F(Vec)|F(Vex)|F(Evex) , 194, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #333 [ref=1x]
+ { F(Vec)|F(Evex)|F(Avx512K) , 242, 3 , CONTROL(None) , SINGLE_REG(WO) , 0 }, // #334 [ref=2x]
+ { F(Vec)|F(Evex)|F(Avx512K_B32) , 242, 3 , CONTROL(None) , SINGLE_REG(WO) , 0 }, // #335 [ref=2x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512K) , 245, 3 , CONTROL(None) , SINGLE_REG(WO) , 0 }, // #336 [ref=4x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512K_B32) , 245, 3 , CONTROL(None) , SINGLE_REG(WO) , 0 }, // #337 [ref=2x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512K_B64) , 245, 3 , CONTROL(None) , SINGLE_REG(WO) , 0 }, // #338 [ref=2x]
+ { F(Vec)|F(Vex) , 442, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #339 [ref=1x]
+ { F(Vec)|F(Vex) , 443, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #340 [ref=1x]
+ { F(Vec)|F(Vex) , 444, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #341 [ref=1x]
+ { F(Vec)|F(Vex) , 445, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #342 [ref=1x]
+ { F(Vec)|F(Evex)|F(Avx512K_B64) , 242, 3 , CONTROL(None) , SINGLE_REG(WO) , 0 }, // #343 [ref=4x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_B32) , 206, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #344 [ref=6x]
+ { F(Vec)|F(Vex)|F(Evex)|F(PreferEvex)|F(Avx512KZ_B32) , 191, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #345 [ref=4x]
+ { F(Vec)|F(Vex) , 195, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #346 [ref=2x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_B32) , 192, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #347 [ref=2x]
+ { F(Vec)|F(Vex) , 171, 4 , CONTROL(None) , SINGLE_REG(None), 0 }, // #348 [ref=2x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_B64) , 85 , 6 , CONTROL(None) , SINGLE_REG(None), 0 }, // #349 [ref=2x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_B64) , 175, 4 , CONTROL(None) , SINGLE_REG(None), 0 }, // #350 [ref=2x]
+ { F(Vec)|F(Vex)|F(Evex) , 446, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #351 [ref=1x]
+ { F(Vec)|F(Vex)|F(Evex) , 447, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #352 [ref=1x]
+ { F(Vec)|F(Vex)|F(Evex) , 494, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #353 [ref=1x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 495, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #354 [ref=1x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 496, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #355 [ref=1x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 497, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #356 [ref=1x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 498, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #357 [ref=1x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_B64) , 206, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #358 [ref=4x]
+ { F(Vec)|F(Vex) , 348, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #359 [ref=12x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 191, 3 , CONTROL(None) , SINGLE_REG(RO) , 0 }, // #360 [ref=8x]
+ { F(Vec)|F(Evex) , 499, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #361 [ref=4x]
+ { F(Vec)|F(Evex)|F(Avx512KZ) , 248, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #362 [ref=6x]
+ { F(Vec)|F(Evex)|F(Avx512KZ) , 251, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #363 [ref=9x]
+ { F(Vec)|F(Evex)|F(Avx512KZ) , 254, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #364 [ref=3x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 257, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #365 [ref=4x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 260, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #366 [ref=2x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 203, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #367 [ref=6x]
+ { F(Vec)|F(Vex) , 159, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #368 [ref=1x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_B32) , 215, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #369 [ref=3x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_B64) , 215, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #370 [ref=3x]
+ { F(Vec)|F(Vex) , 368, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #371 [ref=4x]
+ { F(Vec)|F(Vsib)|F(Evex)|F(Avx512K) , 263, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #372 [ref=2x]
+ { F(Vec)|F(Vsib)|F(Evex)|F(Avx512K) , 370, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #373 [ref=2x]
+ { F(Vec)|F(Vsib)|F(Evex)|F(Avx512K) , 372, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #374 [ref=2x]
+ { F(Vec)|F(Vsib)|F(Evex)|F(Avx512K) , 266, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #375 [ref=2x]
+ { F(Vec)|F(Vex) , 374, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #376 [ref=8x]
+ { F(Vec)|F(Evex)|F(Avx512K) , 269, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #377 [ref=5x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_B32) , 215, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #378 [ref=1x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 215, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #379 [ref=2x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_B32) , 91 , 6 , CONTROL(None) , SINGLE_REG(None), 0 }, // #380 [ref=3x]
+ { F(Vec)|F(Vex)|F(Evex) , 215, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #381 [ref=2x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_B64) , 91 , 6 , CONTROL(None) , SINGLE_REG(None), 0 }, // #382 [ref=2x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 91 , 6 , CONTROL(None) , SINGLE_REG(None), 0 }, // #383 [ref=3x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_B64) , 97 , 6 , CONTROL(None) , SINGLE_REG(None), 0 }, // #384 [ref=1x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ) , 191, 3 , CONTROL(None) , SINGLE_REG(WO) , 0 }, // #385 [ref=6x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_B32) , 191, 3 , CONTROL(None) , SINGLE_REG(WO) , 0 }, // #386 [ref=2x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_B64) , 191, 3 , CONTROL(None) , SINGLE_REG(WO) , 0 }, // #387 [ref=2x]
+ { F(Vec)|F(Evex)|F(Avx512K_B32) , 269, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #388 [ref=2x]
+ { F(Vec)|F(Evex)|F(Avx512K_B64) , 269, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #389 [ref=2x]
+ { F(Vec)|F(Evex)|F(Avx512KZ) , 468, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #390 [ref=2x]
+ { F(Vec)|F(Evex)|F(Avx512KZ) , 469, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #391 [ref=2x]
+ { F(Vec)|F(Vex) , 469, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #392 [ref=2x]
+ { F(Vec)|F(Evex)|F(Avx512KZ) , 480, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #393 [ref=1x]
+ { F(Vec)|F(Evex)|F(Avx512KZ) , 481, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #394 [ref=1x]
+ { F(Vec)|F(Vex) , 215, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #395 [ref=2x]
+ { F(Vec)|F(Vex) , 480, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #396 [ref=1x]
+ { F(Vec)|F(Vex) , 481, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #397 [ref=1x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_ER_SAE_B64) , 191, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #398 [ref=1x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_ER_SAE_B32) , 191, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #399 [ref=1x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_ER_SAE) , 468, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #400 [ref=1x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_ER_SAE) , 469, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #401 [ref=1x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_B32) , 195, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #402 [ref=2x]
+ { F(Vec)|F(Evex)|F(Avx512KZ_B64) , 195, 2 , CONTROL(None) , SINGLE_REG(None), 0 }, // #403 [ref=2x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_B32) , 194, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #404 [ref=1x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_B64) , 194, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #405 [ref=1x]
+ { F(Vec)|F(Vex)|F(Evex)|F(Avx512KZ_ER_SAE_B64) , 206, 3 , CONTROL(None) , SINGLE_REG(None), 0 }, // #406 [ref=1x]
+ { F(Vec)|F(Vex) , 108, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #407 [ref=2x]
+ { 0 , 23 , 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #408 [ref=2x]
+ { 0 , 61 , 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #409 [ref=2x]
+ { F(Lock)|F(XAcquire)|F(XRelease) , 58 , 4 , CONTROL(None) , SINGLE_REG(None), 0 }, // #410 [ref=1x]
+ { 0 , 500, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #411 [ref=1x]
+ { F(Lock)|F(XAcquire) , 58 , 8 , CONTROL(None) , SINGLE_REG(RO) , 0 }, // #412 [ref=1x]
+ { 0 , 501, 1 , CONTROL(None) , SINGLE_REG(None), 0 }, // #413 [ref=6x]
+ { 0 , 502, 1 , CONTROL(None) , SINGLE_REG(None), 0 } // #414 [ref=6x]
};
#undef SINGLE_REG
#undef CONTROL
@@ -2481,7 +2489,7 @@ const InstDB::CommonInfo InstDB::_commonInfoTable[] = {
#define EXT(VAL) uint32_t(Features::k##VAL)
const InstDB::CommonInfoTableB InstDB::_commonInfoTableB[] = {
{ { 0 }, 0, 0 }, // #0 [ref=149x]
- { { 0 }, 1, 0 }, // #1 [ref=33x]
+ { { 0 }, 1, 0 }, // #1 [ref=32x]
{ { 0 }, 2, 0 }, // #2 [ref=2x]
{ { EXT(ADX) }, 3, 0 }, // #3 [ref=1x]
{ { EXT(SSE2) }, 0, 0 }, // #4 [ref=65x]
@@ -2505,154 +2513,157 @@ const InstDB::CommonInfoTableB InstDB::_commonInfoTableB[] = {
{ { EXT(SVM) }, 0, 0 }, // #22 [ref=6x]
{ { 0 }, 10, 0 }, // #23 [ref=2x]
{ { EXT(CET_SS) }, 1, 0 }, // #24 [ref=3x]
- { { EXT(CLWB) }, 0, 0 }, // #25 [ref=1x]
- { { EXT(CLZERO) }, 0, 0 }, // #26 [ref=1x]
- { { 0 }, 3, 0 }, // #27 [ref=1x]
- { { EXT(CMOV) }, 11, 0 }, // #28 [ref=6x]
- { { EXT(CMOV) }, 12, 0 }, // #29 [ref=8x]
- { { EXT(CMOV) }, 13, 0 }, // #30 [ref=6x]
- { { EXT(CMOV) }, 14, 0 }, // #31 [ref=4x]
- { { EXT(CMOV) }, 15, 0 }, // #32 [ref=4x]
- { { EXT(CMOV) }, 16, 0 }, // #33 [ref=2x]
- { { EXT(CMOV) }, 17, 0 }, // #34 [ref=6x]
- { { EXT(CMOV) }, 18, 0 }, // #35 [ref=2x]
- { { 0 }, 19, 0 }, // #36 [ref=2x]
- { { EXT(I486) }, 1, 0 }, // #37 [ref=2x]
- { { EXT(CMPXCHG16B) }, 5, 0 }, // #38 [ref=1x]
- { { EXT(CMPXCHG8B) }, 5, 0 }, // #39 [ref=1x]
- { { EXT(SSE2) }, 1, 0 }, // #40 [ref=2x]
- { { EXT(SSE) }, 1, 0 }, // #41 [ref=2x]
- { { EXT(I486) }, 0, 0 }, // #42 [ref=4x]
- { { EXT(SSE4_2) }, 0, 0 }, // #43 [ref=2x]
- { { 0 }, 20, 0 }, // #44 [ref=2x]
- { { EXT(MMX) }, 0, 0 }, // #45 [ref=1x]
- { { EXT(CET_IBT) }, 0, 0 }, // #46 [ref=2x]
- { { EXT(ENQCMD) }, 0, 0 }, // #47 [ref=2x]
- { { EXT(SSE4A) }, 0, 0 }, // #48 [ref=4x]
- { { 0 }, 21, 0 }, // #49 [ref=4x]
- { { EXT(3DNOW) }, 0, 0 }, // #50 [ref=21x]
- { { EXT(FXSR) }, 0, 0 }, // #51 [ref=4x]
- { { EXT(SMX) }, 0, 0 }, // #52 [ref=1x]
- { { EXT(GFNI) }, 0, 0 }, // #53 [ref=3x]
- { { EXT(CET_SS) }, 0, 0 }, // #54 [ref=9x]
- { { 0 }, 16, 0 }, // #55 [ref=5x]
- { { EXT(VMX) }, 0, 0 }, // #56 [ref=12x]
- { { 0 }, 11, 0 }, // #57 [ref=8x]
- { { 0 }, 12, 0 }, // #58 [ref=12x]
- { { 0 }, 13, 0 }, // #59 [ref=10x]
- { { 0 }, 14, 0 }, // #60 [ref=8x]
- { { 0 }, 15, 0 }, // #61 [ref=8x]
- { { 0 }, 17, 0 }, // #62 [ref=8x]
- { { 0 }, 18, 0 }, // #63 [ref=4x]
- { { EXT(AVX512_DQ) }, 0, 0 }, // #64 [ref=23x]
- { { EXT(AVX512_BW) }, 0, 0 }, // #65 [ref=22x]
- { { EXT(AVX512_F) }, 0, 0 }, // #66 [ref=37x]
- { { EXT(AVX512_DQ) }, 1, 0 }, // #67 [ref=3x]
- { { EXT(AVX512_BW) }, 1, 0 }, // #68 [ref=4x]
- { { EXT(AVX512_F) }, 1, 0 }, // #69 [ref=1x]
- { { EXT(LAHFSAHF) }, 22, 0 }, // #70 [ref=1x]
- { { EXT(AMX_TILE) }, 0, 0 }, // #71 [ref=7x]
- { { EXT(LWP) }, 0, 0 }, // #72 [ref=4x]
- { { 0 }, 23, 0 }, // #73 [ref=3x]
- { { EXT(LZCNT) }, 1, 0 }, // #74 [ref=1x]
- { { EXT(MMX2) }, 0, 0 }, // #75 [ref=8x]
- { { EXT(MCOMMIT) }, 1, 0 }, // #76 [ref=1x]
- { { EXT(MONITOR) }, 0, 0 }, // #77 [ref=2x]
- { { EXT(MONITORX) }, 0, 0 }, // #78 [ref=2x]
- { { EXT(MOVBE) }, 0, 0 }, // #79 [ref=1x]
- { { EXT(MMX), EXT(SSE2) }, 0, 0 }, // #80 [ref=46x]
- { { EXT(MOVDIR64B) }, 0, 0 }, // #81 [ref=1x]
- { { EXT(MOVDIRI) }, 0, 0 }, // #82 [ref=1x]
- { { EXT(BMI2) }, 0, 0 }, // #83 [ref=7x]
- { { EXT(SSSE3) }, 0, 0 }, // #84 [ref=15x]
- { { EXT(MMX2), EXT(SSE2) }, 0, 0 }, // #85 [ref=10x]
- { { EXT(PCLMULQDQ) }, 0, 0 }, // #86 [ref=1x]
- { { EXT(SSE4_2) }, 1, 0 }, // #87 [ref=4x]
- { { EXT(PCONFIG) }, 0, 0 }, // #88 [ref=1x]
- { { EXT(MMX2), EXT(SSE2), EXT(SSE4_1) }, 0, 0 }, // #89 [ref=1x]
- { { EXT(3DNOW2) }, 0, 0 }, // #90 [ref=5x]
- { { EXT(GEODE) }, 0, 0 }, // #91 [ref=2x]
- { { EXT(POPCNT) }, 1, 0 }, // #92 [ref=1x]
- { { 0 }, 24, 0 }, // #93 [ref=3x]
- { { EXT(PREFETCHW) }, 1, 0 }, // #94 [ref=1x]
- { { EXT(PREFETCHWT1) }, 1, 0 }, // #95 [ref=1x]
- { { EXT(SNP) }, 20, 0 }, // #96 [ref=3x]
- { { EXT(SSE4_1) }, 1, 0 }, // #97 [ref=1x]
- { { EXT(PTWRITE) }, 0, 0 }, // #98 [ref=1x]
- { { 0 }, 25, 0 }, // #99 [ref=3x]
- { { EXT(SNP) }, 1, 0 }, // #100 [ref=1x]
- { { 0 }, 26, 0 }, // #101 [ref=2x]
- { { EXT(FSGSBASE) }, 0, 0 }, // #102 [ref=4x]
- { { EXT(MSR) }, 0, 0 }, // #103 [ref=2x]
- { { EXT(RDPID) }, 0, 0 }, // #104 [ref=1x]
- { { EXT(OSPKE) }, 0, 0 }, // #105 [ref=1x]
- { { EXT(RDPRU) }, 0, 0 }, // #106 [ref=1x]
- { { EXT(RDRAND) }, 1, 0 }, // #107 [ref=1x]
- { { EXT(RDSEED) }, 1, 0 }, // #108 [ref=1x]
- { { EXT(RDTSC) }, 0, 0 }, // #109 [ref=1x]
- { { EXT(RDTSCP) }, 0, 0 }, // #110 [ref=1x]
- { { 0 }, 27, 0 }, // #111 [ref=2x]
- { { EXT(LAHFSAHF) }, 28, 0 }, // #112 [ref=1x]
- { { EXT(SERIALIZE) }, 0, 0 }, // #113 [ref=1x]
- { { EXT(SHA) }, 0, 0 }, // #114 [ref=7x]
- { { EXT(SKINIT) }, 0, 0 }, // #115 [ref=2x]
- { { EXT(AMX_BF16) }, 0, 0 }, // #116 [ref=1x]
- { { EXT(AMX_INT8) }, 0, 0 }, // #117 [ref=4x]
- { { EXT(WAITPKG) }, 1, 0 }, // #118 [ref=2x]
- { { EXT(WAITPKG) }, 0, 0 }, // #119 [ref=1x]
- { { EXT(AVX512_4FMAPS) }, 0, 0 }, // #120 [ref=4x]
- { { EXT(AVX), EXT(AVX512_F), EXT(AVX512_VL) }, 0, 0 }, // #121 [ref=46x]
- { { EXT(AVX), EXT(AVX512_F) }, 0, 0 }, // #122 [ref=32x]
- { { EXT(AVX) }, 0, 0 }, // #123 [ref=37x]
- { { EXT(AESNI), EXT(AVX), EXT(AVX512_F), EXT(AVX512_VL), EXT(VAES) }, 0, 0 }, // #124 [ref=4x]
- { { EXT(AESNI), EXT(AVX) }, 0, 0 }, // #125 [ref=2x]
- { { EXT(AVX512_F), EXT(AVX512_VL) }, 0, 0 }, // #126 [ref=112x]
- { { EXT(AVX), EXT(AVX512_DQ), EXT(AVX512_VL) }, 0, 0 }, // #127 [ref=8x]
- { { EXT(AVX512_BW), EXT(AVX512_VL) }, 0, 0 }, // #128 [ref=26x]
- { { EXT(AVX512_DQ), EXT(AVX512_VL) }, 0, 0 }, // #129 [ref=30x]
- { { EXT(AVX2) }, 0, 0 }, // #130 [ref=7x]
- { { EXT(AVX), EXT(AVX2), EXT(AVX512_F), EXT(AVX512_VL) }, 0, 0 }, // #131 [ref=39x]
- { { EXT(AVX), EXT(AVX512_F) }, 1, 0 }, // #132 [ref=4x]
- { { EXT(AVX512_BF16), EXT(AVX512_VL) }, 0, 0 }, // #133 [ref=3x]
- { { EXT(AVX512_F), EXT(AVX512_VL), EXT(F16C) }, 0, 0 }, // #134 [ref=2x]
- { { EXT(AVX512_ERI) }, 0, 0 }, // #135 [ref=10x]
- { { EXT(AVX512_F), EXT(AVX512_VL), EXT(FMA) }, 0, 0 }, // #136 [ref=36x]
- { { EXT(AVX512_F), EXT(FMA) }, 0, 0 }, // #137 [ref=24x]
- { { EXT(FMA4) }, 0, 0 }, // #138 [ref=20x]
- { { EXT(XOP) }, 0, 0 }, // #139 [ref=55x]
- { { EXT(AVX2), EXT(AVX512_F), EXT(AVX512_VL) }, 0, 0 }, // #140 [ref=19x]
- { { EXT(AVX512_PFI) }, 0, 0 }, // #141 [ref=16x]
- { { EXT(AVX), EXT(AVX512_F), EXT(AVX512_VL), EXT(GFNI) }, 0, 0 }, // #142 [ref=3x]
- { { EXT(AVX), EXT(AVX2) }, 0, 0 }, // #143 [ref=17x]
- { { EXT(AVX512_VP2INTERSECT) }, 0, 0 }, // #144 [ref=2x]
- { { EXT(AVX512_4VNNIW) }, 0, 0 }, // #145 [ref=2x]
- { { EXT(AVX), EXT(AVX2), EXT(AVX512_BW), EXT(AVX512_VL) }, 0, 0 }, // #146 [ref=54x]
- { { EXT(AVX2), EXT(AVX512_BW), EXT(AVX512_VL) }, 0, 0 }, // #147 [ref=2x]
- { { EXT(AVX512_CDI), EXT(AVX512_VL) }, 0, 0 }, // #148 [ref=6x]
- { { EXT(AVX), EXT(AVX512_F), EXT(AVX512_VL), EXT(PCLMULQDQ), EXT(VPCLMULQDQ) }, 0, 0 }, // #149 [ref=1x]
- { { EXT(AVX) }, 1, 0 }, // #150 [ref=7x]
- { { EXT(AVX512_VBMI2), EXT(AVX512_VL) }, 0, 0 }, // #151 [ref=16x]
- { { EXT(AVX512_VL), EXT(AVX512_VNNI), EXT(AVX_VNNI) }, 0, 0 }, // #152 [ref=4x]
- { { EXT(AVX512_VBMI), EXT(AVX512_VL) }, 0, 0 }, // #153 [ref=4x]
- { { EXT(AVX), EXT(AVX512_BW) }, 0, 0 }, // #154 [ref=4x]
- { { EXT(AVX), EXT(AVX512_DQ) }, 0, 0 }, // #155 [ref=4x]
- { { EXT(AVX512_IFMA), EXT(AVX512_VL) }, 0, 0 }, // #156 [ref=2x]
- { { EXT(AVX512_BITALG), EXT(AVX512_VL) }, 0, 0 }, // #157 [ref=3x]
- { { EXT(AVX512_VL), EXT(AVX512_VPOPCNTDQ) }, 0, 0 }, // #158 [ref=2x]
- { { EXT(WBNOINVD) }, 0, 0 }, // #159 [ref=1x]
- { { EXT(RTM) }, 0, 0 }, // #160 [ref=3x]
- { { EXT(XSAVE) }, 0, 0 }, // #161 [ref=6x]
- { { EXT(TSXLDTRK) }, 0, 0 }, // #162 [ref=2x]
- { { EXT(XSAVES) }, 0, 0 }, // #163 [ref=4x]
- { { EXT(XSAVEC) }, 0, 0 }, // #164 [ref=2x]
- { { EXT(XSAVEOPT) }, 0, 0 }, // #165 [ref=2x]
- { { EXT(TSX) }, 1, 0 } // #166 [ref=1x]
+ { { EXT(UINTR) }, 0, 0 }, // #25 [ref=4x]
+ { { EXT(CLWB) }, 0, 0 }, // #26 [ref=1x]
+ { { EXT(CLZERO) }, 0, 0 }, // #27 [ref=1x]
+ { { 0 }, 3, 0 }, // #28 [ref=1x]
+ { { EXT(CMOV) }, 11, 0 }, // #29 [ref=6x]
+ { { EXT(CMOV) }, 12, 0 }, // #30 [ref=8x]
+ { { EXT(CMOV) }, 13, 0 }, // #31 [ref=6x]
+ { { EXT(CMOV) }, 14, 0 }, // #32 [ref=4x]
+ { { EXT(CMOV) }, 15, 0 }, // #33 [ref=4x]
+ { { EXT(CMOV) }, 16, 0 }, // #34 [ref=2x]
+ { { EXT(CMOV) }, 17, 0 }, // #35 [ref=6x]
+ { { EXT(CMOV) }, 18, 0 }, // #36 [ref=2x]
+ { { 0 }, 19, 0 }, // #37 [ref=2x]
+ { { EXT(I486) }, 1, 0 }, // #38 [ref=2x]
+ { { EXT(CMPXCHG16B) }, 5, 0 }, // #39 [ref=1x]
+ { { EXT(CMPXCHG8B) }, 5, 0 }, // #40 [ref=1x]
+ { { EXT(SSE2) }, 1, 0 }, // #41 [ref=2x]
+ { { EXT(SSE) }, 1, 0 }, // #42 [ref=2x]
+ { { EXT(I486) }, 0, 0 }, // #43 [ref=4x]
+ { { EXT(SSE4_2) }, 0, 0 }, // #44 [ref=2x]
+ { { 0 }, 20, 0 }, // #45 [ref=2x]
+ { { EXT(MMX) }, 0, 0 }, // #46 [ref=1x]
+ { { EXT(CET_IBT) }, 0, 0 }, // #47 [ref=2x]
+ { { EXT(ENQCMD) }, 0, 0 }, // #48 [ref=2x]
+ { { EXT(SSE4A) }, 0, 0 }, // #49 [ref=4x]
+ { { 0 }, 21, 0 }, // #50 [ref=4x]
+ { { EXT(3DNOW) }, 0, 0 }, // #51 [ref=21x]
+ { { EXT(FXSR) }, 0, 0 }, // #52 [ref=4x]
+ { { EXT(SMX) }, 0, 0 }, // #53 [ref=1x]
+ { { EXT(GFNI) }, 0, 0 }, // #54 [ref=3x]
+ { { EXT(HRESET) }, 0, 0 }, // #55 [ref=1x]
+ { { EXT(CET_SS) }, 0, 0 }, // #56 [ref=9x]
+ { { 0 }, 16, 0 }, // #57 [ref=5x]
+ { { EXT(VMX) }, 0, 0 }, // #58 [ref=12x]
+ { { 0 }, 11, 0 }, // #59 [ref=8x]
+ { { 0 }, 12, 0 }, // #60 [ref=12x]
+ { { 0 }, 13, 0 }, // #61 [ref=10x]
+ { { 0 }, 14, 0 }, // #62 [ref=8x]
+ { { 0 }, 15, 0 }, // #63 [ref=8x]
+ { { 0 }, 17, 0 }, // #64 [ref=8x]
+ { { 0 }, 18, 0 }, // #65 [ref=4x]
+ { { EXT(AVX512_DQ) }, 0, 0 }, // #66 [ref=23x]
+ { { EXT(AVX512_BW) }, 0, 0 }, // #67 [ref=22x]
+ { { EXT(AVX512_F) }, 0, 0 }, // #68 [ref=37x]
+ { { EXT(AVX512_DQ) }, 1, 0 }, // #69 [ref=3x]
+ { { EXT(AVX512_BW) }, 1, 0 }, // #70 [ref=4x]
+ { { EXT(AVX512_F) }, 1, 0 }, // #71 [ref=1x]
+ { { EXT(LAHFSAHF) }, 22, 0 }, // #72 [ref=1x]
+ { { EXT(AMX_TILE) }, 0, 0 }, // #73 [ref=7x]
+ { { EXT(LWP) }, 0, 0 }, // #74 [ref=4x]
+ { { 0 }, 23, 0 }, // #75 [ref=3x]
+ { { EXT(LZCNT) }, 1, 0 }, // #76 [ref=1x]
+ { { EXT(MMX2) }, 0, 0 }, // #77 [ref=8x]
+ { { EXT(MCOMMIT) }, 1, 0 }, // #78 [ref=1x]
+ { { EXT(MONITOR) }, 0, 0 }, // #79 [ref=2x]
+ { { EXT(MONITORX) }, 0, 0 }, // #80 [ref=2x]
+ { { EXT(MOVBE) }, 0, 0 }, // #81 [ref=1x]
+ { { EXT(MMX), EXT(SSE2) }, 0, 0 }, // #82 [ref=46x]
+ { { EXT(MOVDIR64B) }, 0, 0 }, // #83 [ref=1x]
+ { { EXT(MOVDIRI) }, 0, 0 }, // #84 [ref=1x]
+ { { EXT(BMI2) }, 0, 0 }, // #85 [ref=7x]
+ { { EXT(SSSE3) }, 0, 0 }, // #86 [ref=15x]
+ { { EXT(MMX2), EXT(SSE2) }, 0, 0 }, // #87 [ref=10x]
+ { { EXT(PCLMULQDQ) }, 0, 0 }, // #88 [ref=1x]
+ { { EXT(SSE4_2) }, 1, 0 }, // #89 [ref=4x]
+ { { EXT(PCONFIG) }, 0, 0 }, // #90 [ref=1x]
+ { { EXT(MMX2), EXT(SSE2), EXT(SSE4_1) }, 0, 0 }, // #91 [ref=1x]
+ { { EXT(3DNOW2) }, 0, 0 }, // #92 [ref=5x]
+ { { EXT(GEODE) }, 0, 0 }, // #93 [ref=2x]
+ { { EXT(POPCNT) }, 1, 0 }, // #94 [ref=1x]
+ { { 0 }, 24, 0 }, // #95 [ref=3x]
+ { { EXT(PREFETCHW) }, 1, 0 }, // #96 [ref=1x]
+ { { EXT(PREFETCHWT1) }, 1, 0 }, // #97 [ref=1x]
+ { { EXT(SNP) }, 20, 0 }, // #98 [ref=3x]
+ { { EXT(SSE4_1) }, 1, 0 }, // #99 [ref=1x]
+ { { EXT(PTWRITE) }, 0, 0 }, // #100 [ref=1x]
+ { { 0 }, 25, 0 }, // #101 [ref=3x]
+ { { EXT(SNP) }, 1, 0 }, // #102 [ref=1x]
+ { { 0 }, 26, 0 }, // #103 [ref=2x]
+ { { EXT(FSGSBASE) }, 0, 0 }, // #104 [ref=4x]
+ { { EXT(MSR) }, 0, 0 }, // #105 [ref=2x]
+ { { EXT(RDPID) }, 0, 0 }, // #106 [ref=1x]
+ { { EXT(OSPKE) }, 0, 0 }, // #107 [ref=1x]
+ { { EXT(RDPRU) }, 0, 0 }, // #108 [ref=1x]
+ { { EXT(RDRAND) }, 1, 0 }, // #109 [ref=1x]
+ { { EXT(RDSEED) }, 1, 0 }, // #110 [ref=1x]
+ { { EXT(RDTSC) }, 0, 0 }, // #111 [ref=1x]
+ { { EXT(RDTSCP) }, 0, 0 }, // #112 [ref=1x]
+ { { 0 }, 27, 0 }, // #113 [ref=2x]
+ { { EXT(LAHFSAHF) }, 28, 0 }, // #114 [ref=1x]
+ { { EXT(SERIALIZE) }, 0, 0 }, // #115 [ref=1x]
+ { { EXT(SHA) }, 0, 0 }, // #116 [ref=7x]
+ { { EXT(SKINIT) }, 0, 0 }, // #117 [ref=2x]
+ { { EXT(AMX_BF16) }, 0, 0 }, // #118 [ref=1x]
+ { { EXT(AMX_INT8) }, 0, 0 }, // #119 [ref=4x]
+ { { EXT(UINTR) }, 1, 0 }, // #120 [ref=1x]
+ { { EXT(WAITPKG) }, 1, 0 }, // #121 [ref=2x]
+ { { EXT(WAITPKG) }, 0, 0 }, // #122 [ref=1x]
+ { { EXT(AVX512_4FMAPS) }, 0, 0 }, // #123 [ref=4x]
+ { { EXT(AVX), EXT(AVX512_F), EXT(AVX512_VL) }, 0, 0 }, // #124 [ref=46x]
+ { { EXT(AVX), EXT(AVX512_F) }, 0, 0 }, // #125 [ref=32x]
+ { { EXT(AVX) }, 0, 0 }, // #126 [ref=37x]
+ { { EXT(AESNI), EXT(AVX), EXT(AVX512_F), EXT(AVX512_VL), EXT(VAES) }, 0, 0 }, // #127 [ref=4x]
+ { { EXT(AESNI), EXT(AVX) }, 0, 0 }, // #128 [ref=2x]
+ { { EXT(AVX512_F), EXT(AVX512_VL) }, 0, 0 }, // #129 [ref=112x]
+ { { EXT(AVX), EXT(AVX512_DQ), EXT(AVX512_VL) }, 0, 0 }, // #130 [ref=8x]
+ { { EXT(AVX512_DQ), EXT(AVX512_VL) }, 0, 0 }, // #131 [ref=30x]
+ { { EXT(AVX2) }, 0, 0 }, // #132 [ref=7x]
+ { { EXT(AVX), EXT(AVX2), EXT(AVX512_F), EXT(AVX512_VL) }, 0, 0 }, // #133 [ref=39x]
+ { { EXT(AVX), EXT(AVX512_F) }, 1, 0 }, // #134 [ref=4x]
+ { { EXT(AVX512_BF16), EXT(AVX512_VL) }, 0, 0 }, // #135 [ref=3x]
+ { { EXT(AVX512_F), EXT(AVX512_VL), EXT(F16C) }, 0, 0 }, // #136 [ref=2x]
+ { { EXT(AVX512_BW), EXT(AVX512_VL) }, 0, 0 }, // #137 [ref=26x]
+ { { EXT(AVX512_ERI) }, 0, 0 }, // #138 [ref=10x]
+ { { EXT(AVX512_F), EXT(AVX512_VL), EXT(FMA) }, 0, 0 }, // #139 [ref=36x]
+ { { EXT(AVX512_F), EXT(FMA) }, 0, 0 }, // #140 [ref=24x]
+ { { EXT(FMA4) }, 0, 0 }, // #141 [ref=20x]
+ { { EXT(XOP) }, 0, 0 }, // #142 [ref=55x]
+ { { EXT(AVX2), EXT(AVX512_F), EXT(AVX512_VL) }, 0, 0 }, // #143 [ref=19x]
+ { { EXT(AVX512_PFI) }, 0, 0 }, // #144 [ref=16x]
+ { { EXT(AVX), EXT(AVX512_F), EXT(AVX512_VL), EXT(GFNI) }, 0, 0 }, // #145 [ref=3x]
+ { { EXT(AVX), EXT(AVX2) }, 0, 0 }, // #146 [ref=17x]
+ { { EXT(AVX512_VP2INTERSECT) }, 0, 0 }, // #147 [ref=2x]
+ { { EXT(AVX512_4VNNIW) }, 0, 0 }, // #148 [ref=2x]
+ { { EXT(AVX), EXT(AVX2), EXT(AVX512_BW), EXT(AVX512_VL) }, 0, 0 }, // #149 [ref=54x]
+ { { EXT(AVX2), EXT(AVX512_BW), EXT(AVX512_VL) }, 0, 0 }, // #150 [ref=2x]
+ { { EXT(AVX512_CDI), EXT(AVX512_VL) }, 0, 0 }, // #151 [ref=6x]
+ { { EXT(AVX), EXT(AVX512_F), EXT(AVX512_VL), EXT(PCLMULQDQ), EXT(VPCLMULQDQ) }, 0, 0 }, // #152 [ref=1x]
+ { { EXT(AVX) }, 1, 0 }, // #153 [ref=7x]
+ { { EXT(AVX512_VBMI2), EXT(AVX512_VL) }, 0, 0 }, // #154 [ref=16x]
+ { { EXT(AVX512_VL), EXT(AVX512_VNNI), EXT(AVX_VNNI) }, 0, 0 }, // #155 [ref=4x]
+ { { EXT(AVX512_VBMI), EXT(AVX512_VL) }, 0, 0 }, // #156 [ref=4x]
+ { { EXT(AVX), EXT(AVX512_BW) }, 0, 0 }, // #157 [ref=4x]
+ { { EXT(AVX), EXT(AVX512_DQ) }, 0, 0 }, // #158 [ref=4x]
+ { { EXT(AVX512_IFMA), EXT(AVX512_VL) }, 0, 0 }, // #159 [ref=2x]
+ { { EXT(AVX512_BITALG), EXT(AVX512_VL) }, 0, 0 }, // #160 [ref=3x]
+ { { EXT(AVX512_VL), EXT(AVX512_VPOPCNTDQ) }, 0, 0 }, // #161 [ref=2x]
+ { { EXT(WBNOINVD) }, 0, 0 }, // #162 [ref=1x]
+ { { EXT(RTM) }, 0, 0 }, // #163 [ref=3x]
+ { { EXT(XSAVE) }, 0, 0 }, // #164 [ref=6x]
+ { { EXT(TSXLDTRK) }, 0, 0 }, // #165 [ref=2x]
+ { { EXT(XSAVES) }, 0, 0 }, // #166 [ref=4x]
+ { { EXT(XSAVEC) }, 0, 0 }, // #167 [ref=2x]
+ { { EXT(XSAVEOPT) }, 0, 0 }, // #168 [ref=2x]
+ { { EXT(TSX) }, 1, 0 } // #169 [ref=1x]
};
#undef EXT
#define FLAG(VAL) uint32_t(Status::k##VAL)
const InstDB::RWFlagsInfoTable InstDB::_rwFlagsInfoTable[] = {
- { 0, 0 }, // #0 [ref=1318x]
+ { 0, 0 }, // #0 [ref=1323x]
{ 0, FLAG(AF) | FLAG(CF) | FLAG(OF) | FLAG(PF) | FLAG(SF) | FLAG(ZF) }, // #1 [ref=84x]
{ FLAG(CF), FLAG(AF) | FLAG(CF) | FLAG(OF) | FLAG(PF) | FLAG(SF) | FLAG(ZF) }, // #2 [ref=2x]
{ FLAG(CF), FLAG(CF) }, // #3 [ref=2x]
@@ -2698,12 +2709,12 @@ const char InstDB::_nameData[] =
"blcmsk\0" "blcs\0" "blsfill\0" "blsi\0" "blsic\0" "blsmsk\0" "blsr\0" "bndcl\0" "bndcn\0" "bndcu\0" "bndldx\0"
"bndmk\0" "bndmov\0" "bndstx\0" "bound\0" "bsf\0" "bsr\0" "bswap\0" "bt\0" "btc\0" "btr\0" "bts\0" "bzhi\0" "cbw\0"
"cdq\0" "cdqe\0" "clac\0" "clc\0" "cld\0" "cldemote\0" "clflush\0" "clflushopt\0" "clgi\0" "cli\0" "clrssbsy\0"
- "clts\0" "clwb\0" "clzero\0" "cmc\0" "cmova\0" "cmovae\0" "cmovc\0" "cmovg\0" "cmovge\0" "cmovl\0" "cmovle\0"
- "cmovna\0" "cmovnae\0" "cmovnc\0" "cmovng\0" "cmovnge\0" "cmovnl\0" "cmovnle\0" "cmovno\0" "cmovnp\0" "cmovns\0"
- "cmovnz\0" "cmovo\0" "cmovp\0" "cmovpe\0" "cmovpo\0" "cmovs\0" "cmovz\0" "cmp\0" "cmps\0" "cmpxchg\0" "cmpxchg16b\0"
- "cmpxchg8b\0" "cpuid\0" "cqo\0" "crc32\0" "cvtpd2pi\0" "cvtpi2pd\0" "cvtpi2ps\0" "cvtps2pi\0" "cvttpd2pi\0"
- "cvttps2pi\0" "cwd\0" "cwde\0" "daa\0" "das\0" "endbr32\0" "endbr64\0" "enqcmd\0" "enqcmds\0" "f2xm1\0" "fabs\0"
- "faddp\0" "fbld\0" "fbstp\0" "fchs\0" "fclex\0" "fcmovb\0" "fcmovbe\0" "fcmove\0" "fcmovnb\0" "fcmovnbe\0"
+ "clts\0" "clui\0" "clwb\0" "clzero\0" "cmc\0" "cmova\0" "cmovae\0" "cmovc\0" "cmovg\0" "cmovge\0" "cmovl\0"
+ "cmovle\0" "cmovna\0" "cmovnae\0" "cmovnc\0" "cmovng\0" "cmovnge\0" "cmovnl\0" "cmovnle\0" "cmovno\0" "cmovnp\0"
+ "cmovns\0" "cmovnz\0" "cmovo\0" "cmovp\0" "cmovpe\0" "cmovpo\0" "cmovs\0" "cmovz\0" "cmp\0" "cmps\0" "cmpxchg\0"
+ "cmpxchg16b\0" "cmpxchg8b\0" "cpuid\0" "cqo\0" "crc32\0" "cvtpd2pi\0" "cvtpi2pd\0" "cvtpi2ps\0" "cvtps2pi\0"
+ "cvttpd2pi\0" "cvttps2pi\0" "cwd\0" "cwde\0" "daa\0" "das\0" "endbr32\0" "endbr64\0" "enqcmd\0" "enqcmds\0" "f2xm1\0"
+ "fabs\0" "faddp\0" "fbld\0" "fbstp\0" "fchs\0" "fclex\0" "fcmovb\0" "fcmovbe\0" "fcmove\0" "fcmovnb\0" "fcmovnbe\0"
"fcmovne\0" "fcmovnu\0" "fcmovu\0" "fcom\0" "fcomi\0" "fcomip\0" "fcomp\0" "fcompp\0" "fcos\0" "fdecstp\0" "fdiv\0"
"fdivp\0" "fdivr\0" "fdivrp\0" "femms\0" "ffree\0" "fiadd\0" "ficom\0" "ficomp\0" "fidiv\0" "fidivr\0" "fild\0"
"fimul\0" "fincstp\0" "finit\0" "fist\0" "fistp\0" "fisttp\0" "fisub\0" "fisubr\0" "fld\0" "fld1\0" "fldcw\0"
@@ -2711,129 +2722,129 @@ const char InstDB::_nameData[] =
"fnsave\0" "fnstcw\0" "fnstenv\0" "fnstsw\0" "fpatan\0" "fprem\0" "fprem1\0" "fptan\0" "frndint\0" "frstor\0"
"fsave\0" "fscale\0" "fsin\0" "fsincos\0" "fsqrt\0" "fst\0" "fstcw\0" "fstenv\0" "fstp\0" "fstsw\0" "fsubp\0"
"fsubrp\0" "ftst\0" "fucom\0" "fucomi\0" "fucomip\0" "fucomp\0" "fucompp\0" "fwait\0" "fxam\0" "fxch\0" "fxrstor\0"
- "fxrstor64\0" "fxsave\0" "fxsave64\0" "fxtract\0" "fyl2x\0" "fyl2xp1\0" "getsec\0" "hlt\0" "inc\0" "incsspd\0"
- "incsspq\0" "insertq\0" "int3\0" "into\0" "invept\0" "invlpg\0" "invlpga\0" "invpcid\0" "invvpid\0" "iret\0"
- "iretd\0" "iretq\0" "iretw\0" "ja\0" "jae\0" "jb\0" "jbe\0" "jc\0" "je\0" "jecxz\0" "jg\0" "jge\0" "jl\0" "jle\0"
- "jna\0" "jnae\0" "jnb\0" "jnbe\0" "jnc\0" "jne\0" "jng\0" "jnge\0" "jnl\0" "jnle\0" "jno\0" "jnp\0" "jns\0" "jnz\0"
- "jo\0" "jp\0" "jpe\0" "jpo\0" "js\0" "jz\0" "kaddb\0" "kaddd\0" "kaddq\0" "kaddw\0" "kandb\0" "kandd\0" "kandnb\0"
+ "fxrstor64\0" "fxsave\0" "fxsave64\0" "fxtract\0" "fyl2x\0" "fyl2xp1\0" "getsec\0" "hlt\0" "hreset\0" "inc\0"
+ "incsspd\0" "incsspq\0" "insertq\0" "int3\0" "into\0" "invept\0" "invlpg\0" "invlpga\0" "invpcid\0" "invvpid\0"
+ "iretd\0" "iretq\0" "ja\0" "jae\0" "jb\0" "jbe\0" "jc\0" "je\0" "jecxz\0" "jg\0" "jge\0" "jl\0" "jle\0" "jna\0"
+ "jnae\0" "jnb\0" "jnbe\0" "jnc\0" "jne\0" "jng\0" "jnge\0" "jnl\0" "jnle\0" "jno\0" "jnp\0" "jns\0" "jnz\0" "jo\0"
+ "jp\0" "jpe\0" "jpo\0" "js\0" "jz\0" "kaddb\0" "kaddd\0" "kaddq\0" "kaddw\0" "kandb\0" "kandd\0" "kandnb\0"
"kandnd\0" "kandnq\0" "kandnw\0" "kandq\0" "kandw\0" "kmovb\0" "kmovw\0" "knotb\0" "knotd\0" "knotq\0" "knotw\0"
"korb\0" "kord\0" "korq\0" "kortestb\0" "kortestd\0" "kortestq\0" "kortestw\0" "korw\0" "kshiftlb\0" "kshiftld\0"
"kshiftlq\0" "kshiftlw\0" "kshiftrb\0" "kshiftrd\0" "kshiftrq\0" "kshiftrw\0" "ktestb\0" "ktestd\0" "ktestq\0"
"ktestw\0" "kunpckbw\0" "kunpckdq\0" "kunpckwd\0" "kxnorb\0" "kxnord\0" "kxnorq\0" "kxnorw\0" "kxorb\0" "kxord\0"
"kxorq\0" "kxorw\0" "lahf\0" "lar\0" "lcall\0" "lds\0" "ldtilecfg\0" "lea\0" "leave\0" "les\0" "lfence\0" "lfs\0"
- "lgdt\0" "lgs\0" "lidt\0" "ljmp\0" "lldt\0" "llwpcb\0" "lmsw\0" "lods\0" "loop\0" "loope\0" "loopne\0" "lret\0"
- "lsl\0" "ltr\0" "lwpins\0" "lwpval\0" "lzcnt\0" "mcommit\0" "mfence\0" "monitorx\0" "movabs\0" "movdir64b\0"
- "movdiri\0" "movdq2q\0" "movnti\0" "movntq\0" "movntsd\0" "movntss\0" "movq2dq\0" "movsx\0" "movsxd\0" "movzx\0"
- "mulx\0" "mwaitx\0" "neg\0" "not\0" "out\0" "outs\0" "pavgusb\0" "pconfig\0" "pdep\0" "pext\0" "pf2id\0" "pf2iw\0"
- "pfacc\0" "pfadd\0" "pfcmpeq\0" "pfcmpge\0" "pfcmpgt\0" "pfmax\0" "pfmin\0" "pfmul\0" "pfnacc\0" "pfpnacc\0"
- "pfrcp\0" "pfrcpit1\0" "pfrcpit2\0" "pfrcpv\0" "pfrsqit1\0" "pfrsqrt\0" "pfrsqrtv\0" "pfsub\0" "pfsubr\0" "pi2fd\0"
- "pi2fw\0" "pmulhrw\0" "pop\0" "popa\0" "popad\0" "popcnt\0" "popf\0" "popfd\0" "popfq\0" "prefetch\0" "prefetchnta\0"
+ "lgdt\0" "lgs\0" "lidt\0" "ljmp\0" "lldt\0" "llwpcb\0" "lmsw\0" "lods\0" "loop\0" "loope\0" "loopne\0" "lsl\0"
+ "ltr\0" "lwpins\0" "lwpval\0" "lzcnt\0" "mcommit\0" "mfence\0" "monitorx\0" "movabs\0" "movdir64b\0" "movdiri\0"
+ "movdq2q\0" "movnti\0" "movntq\0" "movntsd\0" "movntss\0" "movq2dq\0" "movsx\0" "movsxd\0" "movzx\0" "mulx\0"
+ "mwaitx\0" "neg\0" "not\0" "out\0" "outs\0" "pavgusb\0" "pconfig\0" "pdep\0" "pext\0" "pf2id\0" "pf2iw\0" "pfacc\0"
+ "pfadd\0" "pfcmpeq\0" "pfcmpge\0" "pfcmpgt\0" "pfmax\0" "pfmin\0" "pfmul\0" "pfnacc\0" "pfpnacc\0" "pfrcp\0"
+ "pfrcpit1\0" "pfrcpit2\0" "pfrcpv\0" "pfrsqit1\0" "pfrsqrt\0" "pfrsqrtv\0" "pfsub\0" "pfsubr\0" "pi2fd\0" "pi2fw\0"
+ "pmulhrw\0" "pop\0" "popa\0" "popad\0" "popcnt\0" "popf\0" "popfd\0" "popfq\0" "prefetch\0" "prefetchnta\0"
"prefetcht0\0" "prefetcht1\0" "prefetcht2\0" "prefetchw\0" "prefetchwt1\0" "pshufw\0" "psmash\0" "pswapd\0"
"ptwrite\0" "push\0" "pusha\0" "pushad\0" "pushf\0" "pushfd\0" "pushfq\0" "pvalidate\0" "rcl\0" "rcr\0" "rdfsbase\0"
"rdgsbase\0" "rdmsr\0" "rdpid\0" "rdpkru\0" "rdpmc\0" "rdpru\0" "rdrand\0" "rdseed\0" "rdsspd\0" "rdsspq\0" "rdtsc\0"
- "rdtscp\0" "rmpadjust\0" "rmpupdate\0" "rol\0" "ror\0" "rorx\0" "rsm\0" "rstorssp\0" "sahf\0" "sal\0" "sar\0"
- "sarx\0" "saveprevssp\0" "sbb\0" "scas\0" "serialize\0" "seta\0" "setae\0" "setb\0" "setbe\0" "setc\0" "sete\0"
- "setg\0" "setge\0" "setl\0" "setle\0" "setna\0" "setnae\0" "setnb\0" "setnbe\0" "setnc\0" "setne\0" "setng\0"
- "setnge\0" "setnl\0" "setnle\0" "setno\0" "setnp\0" "setns\0" "setnz\0" "seto\0" "setp\0" "setpe\0" "setpo\0"
- "sets\0" "setssbsy\0" "setz\0" "sfence\0" "sgdt\0" "sha1msg1\0" "sha1msg2\0" "sha1nexte\0" "sha1rnds4\0"
+ "rdtscp\0" "retf\0" "rmpadjust\0" "rmpupdate\0" "rol\0" "ror\0" "rorx\0" "rsm\0" "rstorssp\0" "sahf\0" "sal\0"
+ "sar\0" "sarx\0" "saveprevssp\0" "sbb\0" "scas\0" "senduipi\0" "serialize\0" "seta\0" "setae\0" "setb\0" "setbe\0"
+ "setc\0" "sete\0" "setg\0" "setge\0" "setl\0" "setle\0" "setna\0" "setnae\0" "setnb\0" "setnbe\0" "setnc\0" "setne\0"
+ "setng\0" "setnge\0" "setnl\0" "setnle\0" "setno\0" "setnp\0" "setns\0" "setnz\0" "seto\0" "setp\0" "setpe\0"
+ "setpo\0" "sets\0" "setssbsy\0" "setz\0" "sfence\0" "sgdt\0" "sha1msg1\0" "sha1msg2\0" "sha1nexte\0" "sha1rnds4\0"
"sha256msg1\0" "sha256msg2\0" "sha256rnds2\0" "shl\0" "shlx\0" "shr\0" "shrd\0" "shrx\0" "sidt\0" "skinit\0" "sldt\0"
"slwpcb\0" "smsw\0" "stac\0" "stc\0" "stgi\0" "sti\0" "stos\0" "str\0" "sttilecfg\0" "swapgs\0" "syscall\0"
- "sysenter\0" "sysexit\0" "sysexit64\0" "sysret\0" "sysret64\0" "t1mskc\0" "tdpbf16ps\0" "tdpbssd\0" "tdpbsud\0"
- "tdpbusd\0" "tdpbuud\0" "tileloadd\0" "tileloaddt1\0" "tilerelease\0" "tilestored\0" "tilezero\0" "tpause\0"
- "tzcnt\0" "tzmsk\0" "ud0\0" "ud1\0" "ud2\0" "umonitor\0" "umwait\0" "v4fmaddps\0" "v4fmaddss\0" "v4fnmaddps\0"
- "v4fnmaddss\0" "vaddpd\0" "vaddps\0" "vaddsd\0" "vaddss\0" "vaddsubpd\0" "vaddsubps\0" "vaesdec\0" "vaesdeclast\0"
- "vaesenc\0" "vaesenclast\0" "vaesimc\0" "vaeskeygenassist\0" "valignd\0" "valignq\0" "vandnpd\0" "vandnps\0"
- "vandpd\0" "vandps\0" "vblendmb\0" "vblendmd\0" "vblendmpd\0" "vblendmps\0" "vblendmq\0" "vblendmw\0" "vblendpd\0"
- "vblendps\0" "vblendvpd\0" "vblendvps\0" "vbroadcastf128\0" "vbroadcastf32x2\0" "vbroadcastf32x4\0"
- "vbroadcastf32x8\0" "vbroadcastf64x2\0" "vbroadcastf64x4\0" "vbroadcasti128\0" "vbroadcasti32x2\0"
- "vbroadcasti32x4\0" "vbroadcasti32x8\0" "vbroadcasti64x2\0" "vbroadcasti64x4\0" "vbroadcastsd\0" "vbroadcastss\0"
- "vcmppd\0" "vcmpps\0" "vcmpsd\0" "vcmpss\0" "vcomisd\0" "vcomiss\0" "vcompresspd\0" "vcompressps\0" "vcvtdq2pd\0"
- "vcvtdq2ps\0" "vcvtne2ps2bf16\0" "vcvtneps2bf16\0" "vcvtpd2dq\0" "vcvtpd2ps\0" "vcvtpd2qq\0" "vcvtpd2udq\0"
- "vcvtpd2uqq\0" "vcvtph2ps\0" "vcvtps2dq\0" "vcvtps2pd\0" "vcvtps2ph\0" "vcvtps2qq\0" "vcvtps2udq\0" "vcvtps2uqq\0"
- "vcvtqq2pd\0" "vcvtqq2ps\0" "vcvtsd2si\0" "vcvtsd2ss\0" "vcvtsd2usi\0" "vcvtsi2sd\0" "vcvtsi2ss\0" "vcvtss2sd\0"
- "vcvtss2si\0" "vcvtss2usi\0" "vcvttpd2dq\0" "vcvttpd2qq\0" "vcvttpd2udq\0" "vcvttpd2uqq\0" "vcvttps2dq\0"
- "vcvttps2qq\0" "vcvttps2udq\0" "vcvttps2uqq\0" "vcvttsd2si\0" "vcvttsd2usi\0" "vcvttss2si\0" "vcvttss2usi\0"
- "vcvtudq2pd\0" "vcvtudq2ps\0" "vcvtuqq2pd\0" "vcvtuqq2ps\0" "vcvtusi2sd\0" "vcvtusi2ss\0" "vdbpsadbw\0" "vdivpd\0"
- "vdivps\0" "vdivsd\0" "vdivss\0" "vdpbf16ps\0" "vdppd\0" "vdpps\0" "verr\0" "verw\0" "vexp2pd\0" "vexp2ps\0"
- "vexpandpd\0" "vexpandps\0" "vextractf128\0" "vextractf32x4\0" "vextractf32x8\0" "vextractf64x2\0" "vextractf64x4\0"
- "vextracti128\0" "vextracti32x4\0" "vextracti32x8\0" "vextracti64x2\0" "vextracti64x4\0" "vextractps\0"
- "vfixupimmpd\0" "vfixupimmps\0" "vfixupimmsd\0" "vfixupimmss\0" "vfmadd132pd\0" "vfmadd132ps\0" "vfmadd132sd\0"
- "vfmadd132ss\0" "vfmadd213pd\0" "vfmadd213ps\0" "vfmadd213sd\0" "vfmadd213ss\0" "vfmadd231pd\0" "vfmadd231ps\0"
- "vfmadd231sd\0" "vfmadd231ss\0" "vfmaddpd\0" "vfmaddps\0" "vfmaddsd\0" "vfmaddss\0" "vfmaddsub132pd\0"
- "vfmaddsub132ps\0" "vfmaddsub213pd\0" "vfmaddsub213ps\0" "vfmaddsub231pd\0" "vfmaddsub231ps\0" "vfmaddsubpd\0"
- "vfmaddsubps\0" "vfmsub132pd\0" "vfmsub132ps\0" "vfmsub132sd\0" "vfmsub132ss\0" "vfmsub213pd\0" "vfmsub213ps\0"
- "vfmsub213sd\0" "vfmsub213ss\0" "vfmsub231pd\0" "vfmsub231ps\0" "vfmsub231sd\0" "vfmsub231ss\0" "vfmsubadd132pd\0"
- "vfmsubadd132ps\0" "vfmsubadd213pd\0" "vfmsubadd213ps\0" "vfmsubadd231pd\0" "vfmsubadd231ps\0" "vfmsubaddpd\0"
- "vfmsubaddps\0" "vfmsubpd\0" "vfmsubps\0" "vfmsubsd\0" "vfmsubss\0" "vfnmadd132pd\0" "vfnmadd132ps\0"
- "vfnmadd132sd\0" "vfnmadd132ss\0" "vfnmadd213pd\0" "vfnmadd213ps\0" "vfnmadd213sd\0" "vfnmadd213ss\0"
- "vfnmadd231pd\0" "vfnmadd231ps\0" "vfnmadd231sd\0" "vfnmadd231ss\0" "vfnmaddpd\0" "vfnmaddps\0" "vfnmaddsd\0"
- "vfnmaddss\0" "vfnmsub132pd\0" "vfnmsub132ps\0" "vfnmsub132sd\0" "vfnmsub132ss\0" "vfnmsub213pd\0" "vfnmsub213ps\0"
- "vfnmsub213sd\0" "vfnmsub213ss\0" "vfnmsub231pd\0" "vfnmsub231ps\0" "vfnmsub231sd\0" "vfnmsub231ss\0" "vfnmsubpd\0"
- "vfnmsubps\0" "vfnmsubsd\0" "vfnmsubss\0" "vfpclasspd\0" "vfpclassps\0" "vfpclasssd\0" "vfpclassss\0" "vfrczpd\0"
- "vfrczps\0" "vfrczsd\0" "vfrczss\0" "vgatherdpd\0" "vgatherdps\0" "vgatherpf0dpd\0" "vgatherpf0dps\0"
- "vgatherpf0qpd\0" "vgatherpf0qps\0" "vgatherpf1dpd\0" "vgatherpf1dps\0" "vgatherpf1qpd\0" "vgatherpf1qps\0"
- "vgatherqpd\0" "vgatherqps\0" "vgetexppd\0" "vgetexpps\0" "vgetexpsd\0" "vgetexpss\0" "vgetmantpd\0" "vgetmantps\0"
- "vgetmantsd\0" "vgetmantss\0" "vgf2p8affineinvqb\0" "vgf2p8affineqb\0" "vgf2p8mulb\0" "vhaddpd\0" "vhaddps\0"
- "vhsubpd\0" "vhsubps\0" "vinsertf128\0" "vinsertf32x4\0" "vinsertf32x8\0" "vinsertf64x2\0" "vinsertf64x4\0"
- "vinserti128\0" "vinserti32x4\0" "vinserti32x8\0" "vinserti64x2\0" "vinserti64x4\0" "vinsertps\0" "vlddqu\0"
- "vldmxcsr\0" "vmaskmovdqu\0" "vmaskmovpd\0" "vmaskmovps\0" "vmaxpd\0" "vmaxps\0" "vmaxsd\0" "vmaxss\0" "vmcall\0"
- "vmclear\0" "vmfunc\0" "vminpd\0" "vminps\0" "vminsd\0" "vminss\0" "vmlaunch\0" "vmload\0" "vmmcall\0" "vmovapd\0"
- "vmovaps\0" "vmovd\0" "vmovddup\0" "vmovdqa\0" "vmovdqa32\0" "vmovdqa64\0" "vmovdqu\0" "vmovdqu16\0" "vmovdqu32\0"
- "vmovdqu64\0" "vmovdqu8\0" "vmovhlps\0" "vmovhpd\0" "vmovhps\0" "vmovlhps\0" "vmovlpd\0" "vmovlps\0" "vmovmskpd\0"
- "vmovmskps\0" "vmovntdq\0" "vmovntdqa\0" "vmovntpd\0" "vmovntps\0" "vmovq\0" "vmovsd\0" "vmovshdup\0" "vmovsldup\0"
- "vmovss\0" "vmovupd\0" "vmovups\0" "vmpsadbw\0" "vmptrld\0" "vmptrst\0" "vmread\0" "vmresume\0" "vmrun\0" "vmsave\0"
- "vmulpd\0" "vmulps\0" "vmulsd\0" "vmulss\0" "vmwrite\0" "vmxon\0" "vorpd\0" "vorps\0" "vp2intersectd\0"
- "vp2intersectq\0" "vp4dpwssd\0" "vp4dpwssds\0" "vpabsb\0" "vpabsd\0" "vpabsq\0" "vpabsw\0" "vpackssdw\0"
- "vpacksswb\0" "vpackusdw\0" "vpackuswb\0" "vpaddb\0" "vpaddd\0" "vpaddq\0" "vpaddsb\0" "vpaddsw\0" "vpaddusb\0"
- "vpaddusw\0" "vpaddw\0" "vpalignr\0" "vpand\0" "vpandd\0" "vpandn\0" "vpandnd\0" "vpandnq\0" "vpandq\0" "vpavgb\0"
- "vpavgw\0" "vpblendd\0" "vpblendvb\0" "vpblendw\0" "vpbroadcastb\0" "vpbroadcastd\0" "vpbroadcastmb2d\0"
- "vpbroadcastmb2q\0" "vpbroadcastq\0" "vpbroadcastw\0" "vpclmulqdq\0" "vpcmov\0" "vpcmpb\0" "vpcmpd\0" "vpcmpeqb\0"
- "vpcmpeqd\0" "vpcmpeqq\0" "vpcmpeqw\0" "vpcmpestri\0" "vpcmpestrm\0" "vpcmpgtb\0" "vpcmpgtd\0" "vpcmpgtq\0"
- "vpcmpgtw\0" "vpcmpistri\0" "vpcmpistrm\0" "vpcmpq\0" "vpcmpub\0" "vpcmpud\0" "vpcmpuq\0" "vpcmpuw\0" "vpcmpw\0"
- "vpcomb\0" "vpcomd\0" "vpcompressb\0" "vpcompressd\0" "vpcompressq\0" "vpcompressw\0" "vpcomq\0" "vpcomub\0"
- "vpcomud\0" "vpcomuq\0" "vpcomuw\0" "vpcomw\0" "vpconflictd\0" "vpconflictq\0" "vpdpbusd\0" "vpdpbusds\0"
- "vpdpwssd\0" "vpdpwssds\0" "vperm2f128\0" "vperm2i128\0" "vpermb\0" "vpermd\0" "vpermi2b\0" "vpermi2d\0"
- "vpermi2pd\0" "vpermi2ps\0" "vpermi2q\0" "vpermi2w\0" "vpermil2pd\0" "vpermil2ps\0" "vpermilpd\0" "vpermilps\0"
- "vpermpd\0" "vpermps\0" "vpermq\0" "vpermt2b\0" "vpermt2d\0" "vpermt2pd\0" "vpermt2ps\0" "vpermt2q\0" "vpermt2w\0"
- "vpermw\0" "vpexpandb\0" "vpexpandd\0" "vpexpandq\0" "vpexpandw\0" "vpextrb\0" "vpextrd\0" "vpextrq\0" "vpextrw\0"
- "vpgatherdd\0" "vpgatherdq\0" "vpgatherqd\0" "vpgatherqq\0" "vphaddbd\0" "vphaddbq\0" "vphaddbw\0" "vphaddd\0"
- "vphadddq\0" "vphaddsw\0" "vphaddubd\0" "vphaddubq\0" "vphaddubw\0" "vphaddudq\0" "vphadduwd\0" "vphadduwq\0"
- "vphaddw\0" "vphaddwd\0" "vphaddwq\0" "vphminposuw\0" "vphsubbw\0" "vphsubd\0" "vphsubdq\0" "vphsubsw\0" "vphsubw\0"
- "vphsubwd\0" "vpinsrb\0" "vpinsrd\0" "vpinsrq\0" "vpinsrw\0" "vplzcntd\0" "vplzcntq\0" "vpmacsdd\0" "vpmacsdqh\0"
- "vpmacsdql\0" "vpmacssdd\0" "vpmacssdqh\0" "vpmacssdql\0" "vpmacsswd\0" "vpmacssww\0" "vpmacswd\0" "vpmacsww\0"
- "vpmadcsswd\0" "vpmadcswd\0" "vpmadd52huq\0" "vpmadd52luq\0" "vpmaddubsw\0" "vpmaddwd\0" "vpmaskmovd\0"
- "vpmaskmovq\0" "vpmaxsb\0" "vpmaxsd\0" "vpmaxsq\0" "vpmaxsw\0" "vpmaxub\0" "vpmaxud\0" "vpmaxuq\0" "vpmaxuw\0"
- "vpminsb\0" "vpminsd\0" "vpminsq\0" "vpminsw\0" "vpminub\0" "vpminud\0" "vpminuq\0" "vpminuw\0" "vpmovb2m\0"
- "vpmovd2m\0" "vpmovdb\0" "vpmovdw\0" "vpmovm2b\0" "vpmovm2d\0" "vpmovm2q\0" "vpmovm2w\0" "vpmovmskb\0" "vpmovq2m\0"
- "vpmovqb\0" "vpmovqd\0" "vpmovqw\0" "vpmovsdb\0" "vpmovsdw\0" "vpmovsqb\0" "vpmovsqd\0" "vpmovsqw\0" "vpmovswb\0"
- "vpmovsxbd\0" "vpmovsxbq\0" "vpmovsxbw\0" "vpmovsxdq\0" "vpmovsxwd\0" "vpmovsxwq\0" "vpmovusdb\0" "vpmovusdw\0"
- "vpmovusqb\0" "vpmovusqd\0" "vpmovusqw\0" "vpmovuswb\0" "vpmovw2m\0" "vpmovwb\0" "vpmovzxbd\0" "vpmovzxbq\0"
- "vpmovzxbw\0" "vpmovzxdq\0" "vpmovzxwd\0" "vpmovzxwq\0" "vpmuldq\0" "vpmulhrsw\0" "vpmulhuw\0" "vpmulhw\0"
- "vpmulld\0" "vpmullq\0" "vpmullw\0" "vpmultishiftqb\0" "vpmuludq\0" "vpopcntb\0" "vpopcntd\0" "vpopcntq\0"
- "vpopcntw\0" "vpor\0" "vpord\0" "vporq\0" "vpperm\0" "vprold\0" "vprolq\0" "vprolvd\0" "vprolvq\0" "vprord\0"
- "vprorq\0" "vprorvd\0" "vprorvq\0" "vprotb\0" "vprotd\0" "vprotq\0" "vprotw\0" "vpsadbw\0" "vpscatterdd\0"
- "vpscatterdq\0" "vpscatterqd\0" "vpscatterqq\0" "vpshab\0" "vpshad\0" "vpshaq\0" "vpshaw\0" "vpshlb\0" "vpshld\0"
- "vpshldd\0" "vpshldq\0" "vpshldvd\0" "vpshldvq\0" "vpshldvw\0" "vpshldw\0" "vpshlq\0" "vpshlw\0" "vpshrdd\0"
- "vpshrdq\0" "vpshrdvd\0" "vpshrdvq\0" "vpshrdvw\0" "vpshrdw\0" "vpshufb\0" "vpshufbitqmb\0" "vpshufd\0" "vpshufhw\0"
- "vpshuflw\0" "vpsignb\0" "vpsignd\0" "vpsignw\0" "vpslld\0" "vpslldq\0" "vpsllq\0" "vpsllvd\0" "vpsllvq\0"
- "vpsllvw\0" "vpsllw\0" "vpsrad\0" "vpsraq\0" "vpsravd\0" "vpsravq\0" "vpsravw\0" "vpsraw\0" "vpsrld\0" "vpsrldq\0"
- "vpsrlq\0" "vpsrlvd\0" "vpsrlvq\0" "vpsrlvw\0" "vpsrlw\0" "vpsubb\0" "vpsubd\0" "vpsubq\0" "vpsubsb\0" "vpsubsw\0"
- "vpsubusb\0" "vpsubusw\0" "vpsubw\0" "vpternlogd\0" "vpternlogq\0" "vptest\0" "vptestmb\0" "vptestmd\0" "vptestmq\0"
- "vptestmw\0" "vptestnmb\0" "vptestnmd\0" "vptestnmq\0" "vptestnmw\0" "vpunpckhbw\0" "vpunpckhdq\0" "vpunpckhqdq\0"
- "vpunpckhwd\0" "vpunpcklbw\0" "vpunpckldq\0" "vpunpcklqdq\0" "vpunpcklwd\0" "vpxor\0" "vpxord\0" "vpxorq\0"
- "vrangepd\0" "vrangeps\0" "vrangesd\0" "vrangess\0" "vrcp14pd\0" "vrcp14ps\0" "vrcp14sd\0" "vrcp14ss\0" "vrcp28pd\0"
- "vrcp28ps\0" "vrcp28sd\0" "vrcp28ss\0" "vrcpps\0" "vrcpss\0" "vreducepd\0" "vreduceps\0" "vreducesd\0" "vreducess\0"
- "vrndscalepd\0" "vrndscaleps\0" "vrndscalesd\0" "vrndscaless\0" "vroundpd\0" "vroundps\0" "vroundsd\0" "vroundss\0"
- "vrsqrt14pd\0" "vrsqrt14ps\0" "vrsqrt14sd\0" "vrsqrt14ss\0" "vrsqrt28pd\0" "vrsqrt28ps\0" "vrsqrt28sd\0"
- "vrsqrt28ss\0" "vrsqrtps\0" "vrsqrtss\0" "vscalefpd\0" "vscalefps\0" "vscalefsd\0" "vscalefss\0" "vscatterdpd\0"
- "vscatterdps\0" "vscatterpf0dpd\0" "vscatterpf0dps\0" "vscatterpf0qpd\0" "vscatterpf0qps\0" "vscatterpf1dpd\0"
- "vscatterpf1dps\0" "vscatterpf1qpd\0" "vscatterpf1qps\0" "vscatterqpd\0" "vscatterqps\0" "vshuff32x4\0"
- "vshuff64x2\0" "vshufi32x4\0" "vshufi64x2\0" "vshufpd\0" "vshufps\0" "vsqrtpd\0" "vsqrtps\0" "vsqrtsd\0" "vsqrtss\0"
- "vstmxcsr\0" "vsubpd\0" "vsubps\0" "vsubsd\0" "vsubss\0" "vtestpd\0" "vtestps\0" "vucomisd\0" "vucomiss\0"
- "vunpckhpd\0" "vunpckhps\0" "vunpcklpd\0" "vunpcklps\0" "vxorpd\0" "vxorps\0" "vzeroall\0" "vzeroupper\0" "wbinvd\0"
- "wbnoinvd\0" "wrfsbase\0" "wrgsbase\0" "wrmsr\0" "wrssd\0" "wrssq\0" "wrussd\0" "wrussq\0" "xabort\0" "xadd\0"
- "xbegin\0" "xend\0" "xgetbv\0" "xlatb\0" "xresldtrk\0" "xrstors\0" "xrstors64\0" "xsavec\0" "xsavec64\0" "xsaveopt\0"
- "xsaveopt64\0" "xsaves\0" "xsaves64\0" "xsetbv\0" "xsusldtrk\0" "xtest";
+ "sysenter\0" "sysexit\0" "sysexitq\0" "sysret\0" "sysretq\0" "t1mskc\0" "tdpbf16ps\0" "tdpbssd\0" "tdpbsud\0"
+ "tdpbusd\0" "tdpbuud\0" "testui\0" "tileloadd\0" "tileloaddt1\0" "tilerelease\0" "tilestored\0" "tilezero\0"
+ "tpause\0" "tzcnt\0" "tzmsk\0" "ud0\0" "ud1\0" "ud2\0" "uiret\0" "umonitor\0" "umwait\0" "v4fmaddps\0" "v4fmaddss\0"
+ "v4fnmaddps\0" "v4fnmaddss\0" "vaddpd\0" "vaddps\0" "vaddsd\0" "vaddss\0" "vaddsubpd\0" "vaddsubps\0" "vaesdec\0"
+ "vaesdeclast\0" "vaesenc\0" "vaesenclast\0" "vaesimc\0" "vaeskeygenassist\0" "valignd\0" "valignq\0" "vandnpd\0"
+ "vandnps\0" "vandpd\0" "vandps\0" "vblendmpd\0" "vblendmps\0" "vblendpd\0" "vblendps\0" "vblendvpd\0" "vblendvps\0"
+ "vbroadcastf128\0" "vbroadcastf32x2\0" "vbroadcastf32x4\0" "vbroadcastf32x8\0" "vbroadcastf64x2\0"
+ "vbroadcastf64x4\0" "vbroadcasti128\0" "vbroadcasti32x2\0" "vbroadcasti32x4\0" "vbroadcasti32x8\0"
+ "vbroadcasti64x2\0" "vbroadcasti64x4\0" "vbroadcastsd\0" "vbroadcastss\0" "vcmppd\0" "vcmpps\0" "vcmpsd\0" "vcmpss\0"
+ "vcomisd\0" "vcomiss\0" "vcompresspd\0" "vcompressps\0" "vcvtdq2pd\0" "vcvtdq2ps\0" "vcvtne2ps2bf16\0"
+ "vcvtneps2bf16\0" "vcvtpd2dq\0" "vcvtpd2ps\0" "vcvtpd2qq\0" "vcvtpd2udq\0" "vcvtpd2uqq\0" "vcvtph2ps\0" "vcvtps2dq\0"
+ "vcvtps2pd\0" "vcvtps2ph\0" "vcvtps2qq\0" "vcvtps2udq\0" "vcvtps2uqq\0" "vcvtqq2pd\0" "vcvtqq2ps\0" "vcvtsd2si\0"
+ "vcvtsd2ss\0" "vcvtsd2usi\0" "vcvtsi2sd\0" "vcvtsi2ss\0" "vcvtss2sd\0" "vcvtss2si\0" "vcvtss2usi\0" "vcvttpd2dq\0"
+ "vcvttpd2qq\0" "vcvttpd2udq\0" "vcvttpd2uqq\0" "vcvttps2dq\0" "vcvttps2qq\0" "vcvttps2udq\0" "vcvttps2uqq\0"
+ "vcvttsd2si\0" "vcvttsd2usi\0" "vcvttss2si\0" "vcvttss2usi\0" "vcvtudq2pd\0" "vcvtudq2ps\0" "vcvtuqq2pd\0"
+ "vcvtuqq2ps\0" "vcvtusi2sd\0" "vcvtusi2ss\0" "vdbpsadbw\0" "vdivpd\0" "vdivps\0" "vdivsd\0" "vdivss\0" "vdpbf16ps\0"
+ "vdppd\0" "vdpps\0" "verr\0" "verw\0" "vexp2pd\0" "vexp2ps\0" "vexpandpd\0" "vexpandps\0" "vextractf128\0"
+ "vextractf32x4\0" "vextractf32x8\0" "vextractf64x2\0" "vextractf64x4\0" "vextracti128\0" "vextracti32x4\0"
+ "vextracti32x8\0" "vextracti64x2\0" "vextracti64x4\0" "vextractps\0" "vfixupimmpd\0" "vfixupimmps\0" "vfixupimmsd\0"
+ "vfixupimmss\0" "vfmadd132pd\0" "vfmadd132ps\0" "vfmadd132sd\0" "vfmadd132ss\0" "vfmadd213pd\0" "vfmadd213ps\0"
+ "vfmadd213sd\0" "vfmadd213ss\0" "vfmadd231pd\0" "vfmadd231ps\0" "vfmadd231sd\0" "vfmadd231ss\0" "vfmaddpd\0"
+ "vfmaddps\0" "vfmaddsd\0" "vfmaddss\0" "vfmaddsub132pd\0" "vfmaddsub132ps\0" "vfmaddsub213pd\0" "vfmaddsub213ps\0"
+ "vfmaddsub231pd\0" "vfmaddsub231ps\0" "vfmaddsubpd\0" "vfmaddsubps\0" "vfmsub132pd\0" "vfmsub132ps\0" "vfmsub132sd\0"
+ "vfmsub132ss\0" "vfmsub213pd\0" "vfmsub213ps\0" "vfmsub213sd\0" "vfmsub213ss\0" "vfmsub231pd\0" "vfmsub231ps\0"
+ "vfmsub231sd\0" "vfmsub231ss\0" "vfmsubadd132pd\0" "vfmsubadd132ps\0" "vfmsubadd213pd\0" "vfmsubadd213ps\0"
+ "vfmsubadd231pd\0" "vfmsubadd231ps\0" "vfmsubaddpd\0" "vfmsubaddps\0" "vfmsubpd\0" "vfmsubps\0" "vfmsubsd\0"
+ "vfmsubss\0" "vfnmadd132pd\0" "vfnmadd132ps\0" "vfnmadd132sd\0" "vfnmadd132ss\0" "vfnmadd213pd\0" "vfnmadd213ps\0"
+ "vfnmadd213sd\0" "vfnmadd213ss\0" "vfnmadd231pd\0" "vfnmadd231ps\0" "vfnmadd231sd\0" "vfnmadd231ss\0" "vfnmaddpd\0"
+ "vfnmaddps\0" "vfnmaddsd\0" "vfnmaddss\0" "vfnmsub132pd\0" "vfnmsub132ps\0" "vfnmsub132sd\0" "vfnmsub132ss\0"
+ "vfnmsub213pd\0" "vfnmsub213ps\0" "vfnmsub213sd\0" "vfnmsub213ss\0" "vfnmsub231pd\0" "vfnmsub231ps\0"
+ "vfnmsub231sd\0" "vfnmsub231ss\0" "vfnmsubpd\0" "vfnmsubps\0" "vfnmsubsd\0" "vfnmsubss\0" "vfpclasspd\0"
+ "vfpclassps\0" "vfpclasssd\0" "vfpclassss\0" "vfrczpd\0" "vfrczps\0" "vfrczsd\0" "vfrczss\0" "vgatherdpd\0"
+ "vgatherdps\0" "vgatherpf0dpd\0" "vgatherpf0dps\0" "vgatherpf0qpd\0" "vgatherpf0qps\0" "vgatherpf1dpd\0"
+ "vgatherpf1dps\0" "vgatherpf1qpd\0" "vgatherpf1qps\0" "vgatherqpd\0" "vgatherqps\0" "vgetexppd\0" "vgetexpps\0"
+ "vgetexpsd\0" "vgetexpss\0" "vgetmantpd\0" "vgetmantps\0" "vgetmantsd\0" "vgetmantss\0" "vgf2p8affineinvqb\0"
+ "vgf2p8affineqb\0" "vgf2p8mulb\0" "vhaddpd\0" "vhaddps\0" "vhsubpd\0" "vhsubps\0" "vinsertf128\0" "vinsertf32x4\0"
+ "vinsertf32x8\0" "vinsertf64x2\0" "vinsertf64x4\0" "vinserti128\0" "vinserti32x4\0" "vinserti32x8\0" "vinserti64x2\0"
+ "vinserti64x4\0" "vinsertps\0" "vlddqu\0" "vldmxcsr\0" "vmaskmovdqu\0" "vmaskmovpd\0" "vmaskmovps\0" "vmaxpd\0"
+ "vmaxps\0" "vmaxsd\0" "vmaxss\0" "vmcall\0" "vmclear\0" "vmfunc\0" "vminpd\0" "vminps\0" "vminsd\0" "vminss\0"
+ "vmlaunch\0" "vmload\0" "vmmcall\0" "vmovapd\0" "vmovaps\0" "vmovd\0" "vmovddup\0" "vmovdqa\0" "vmovdqa32\0"
+ "vmovdqa64\0" "vmovdqu\0" "vmovdqu16\0" "vmovdqu32\0" "vmovdqu64\0" "vmovdqu8\0" "vmovhlps\0" "vmovhpd\0" "vmovhps\0"
+ "vmovlhps\0" "vmovlpd\0" "vmovlps\0" "vmovmskpd\0" "vmovmskps\0" "vmovntdq\0" "vmovntdqa\0" "vmovntpd\0" "vmovntps\0"
+ "vmovq\0" "vmovsd\0" "vmovshdup\0" "vmovsldup\0" "vmovss\0" "vmovupd\0" "vmovups\0" "vmpsadbw\0" "vmptrld\0"
+ "vmptrst\0" "vmread\0" "vmresume\0" "vmrun\0" "vmsave\0" "vmulpd\0" "vmulps\0" "vmulsd\0" "vmulss\0" "vmwrite\0"
+ "vmxon\0" "vorpd\0" "vorps\0" "vp2intersectd\0" "vp2intersectq\0" "vp4dpwssd\0" "vp4dpwssds\0" "vpabsb\0" "vpabsd\0"
+ "vpabsq\0" "vpabsw\0" "vpackssdw\0" "vpacksswb\0" "vpackusdw\0" "vpackuswb\0" "vpaddb\0" "vpaddd\0" "vpaddq\0"
+ "vpaddsb\0" "vpaddsw\0" "vpaddusb\0" "vpaddusw\0" "vpaddw\0" "vpalignr\0" "vpand\0" "vpandd\0" "vpandn\0" "vpandnd\0"
+ "vpandnq\0" "vpandq\0" "vpavgb\0" "vpavgw\0" "vpblendd\0" "vpblendmb\0" "vpblendmd\0" "vpblendmq\0" "vpblendmw\0"
+ "vpblendvb\0" "vpblendw\0" "vpbroadcastb\0" "vpbroadcastd\0" "vpbroadcastmb2q\0" "vpbroadcastmw2d\0" "vpbroadcastq\0"
+ "vpbroadcastw\0" "vpclmulqdq\0" "vpcmov\0" "vpcmpb\0" "vpcmpd\0" "vpcmpeqb\0" "vpcmpeqd\0" "vpcmpeqq\0" "vpcmpeqw\0"
+ "vpcmpestri\0" "vpcmpestrm\0" "vpcmpgtb\0" "vpcmpgtd\0" "vpcmpgtq\0" "vpcmpgtw\0" "vpcmpistri\0" "vpcmpistrm\0"
+ "vpcmpq\0" "vpcmpub\0" "vpcmpud\0" "vpcmpuq\0" "vpcmpuw\0" "vpcmpw\0" "vpcomb\0" "vpcomd\0" "vpcompressb\0"
+ "vpcompressd\0" "vpcompressq\0" "vpcompressw\0" "vpcomq\0" "vpcomub\0" "vpcomud\0" "vpcomuq\0" "vpcomuw\0" "vpcomw\0"
+ "vpconflictd\0" "vpconflictq\0" "vpdpbusd\0" "vpdpbusds\0" "vpdpwssd\0" "vpdpwssds\0" "vperm2f128\0" "vperm2i128\0"
+ "vpermb\0" "vpermd\0" "vpermi2b\0" "vpermi2d\0" "vpermi2pd\0" "vpermi2ps\0" "vpermi2q\0" "vpermi2w\0" "vpermil2pd\0"
+ "vpermil2ps\0" "vpermilpd\0" "vpermilps\0" "vpermpd\0" "vpermps\0" "vpermq\0" "vpermt2b\0" "vpermt2d\0" "vpermt2pd\0"
+ "vpermt2ps\0" "vpermt2q\0" "vpermt2w\0" "vpermw\0" "vpexpandb\0" "vpexpandd\0" "vpexpandq\0" "vpexpandw\0"
+ "vpextrb\0" "vpextrd\0" "vpextrq\0" "vpextrw\0" "vpgatherdd\0" "vpgatherdq\0" "vpgatherqd\0" "vpgatherqq\0"
+ "vphaddbd\0" "vphaddbq\0" "vphaddbw\0" "vphaddd\0" "vphadddq\0" "vphaddsw\0" "vphaddubd\0" "vphaddubq\0"
+ "vphaddubw\0" "vphaddudq\0" "vphadduwd\0" "vphadduwq\0" "vphaddw\0" "vphaddwd\0" "vphaddwq\0" "vphminposuw\0"
+ "vphsubbw\0" "vphsubd\0" "vphsubdq\0" "vphsubsw\0" "vphsubw\0" "vphsubwd\0" "vpinsrb\0" "vpinsrd\0" "vpinsrq\0"
+ "vpinsrw\0" "vplzcntd\0" "vplzcntq\0" "vpmacsdd\0" "vpmacsdqh\0" "vpmacsdql\0" "vpmacssdd\0" "vpmacssdqh\0"
+ "vpmacssdql\0" "vpmacsswd\0" "vpmacssww\0" "vpmacswd\0" "vpmacsww\0" "vpmadcsswd\0" "vpmadcswd\0" "vpmadd52huq\0"
+ "vpmadd52luq\0" "vpmaddubsw\0" "vpmaddwd\0" "vpmaskmovd\0" "vpmaskmovq\0" "vpmaxsb\0" "vpmaxsd\0" "vpmaxsq\0"
+ "vpmaxsw\0" "vpmaxub\0" "vpmaxud\0" "vpmaxuq\0" "vpmaxuw\0" "vpminsb\0" "vpminsd\0" "vpminsq\0" "vpminsw\0"
+ "vpminub\0" "vpminud\0" "vpminuq\0" "vpminuw\0" "vpmovb2m\0" "vpmovd2m\0" "vpmovdb\0" "vpmovdw\0" "vpmovm2b\0"
+ "vpmovm2d\0" "vpmovm2q\0" "vpmovm2w\0" "vpmovmskb\0" "vpmovq2m\0" "vpmovqb\0" "vpmovqd\0" "vpmovqw\0" "vpmovsdb\0"
+ "vpmovsdw\0" "vpmovsqb\0" "vpmovsqd\0" "vpmovsqw\0" "vpmovswb\0" "vpmovsxbd\0" "vpmovsxbq\0" "vpmovsxbw\0"
+ "vpmovsxdq\0" "vpmovsxwd\0" "vpmovsxwq\0" "vpmovusdb\0" "vpmovusdw\0" "vpmovusqb\0" "vpmovusqd\0" "vpmovusqw\0"
+ "vpmovuswb\0" "vpmovw2m\0" "vpmovwb\0" "vpmovzxbd\0" "vpmovzxbq\0" "vpmovzxbw\0" "vpmovzxdq\0" "vpmovzxwd\0"
+ "vpmovzxwq\0" "vpmuldq\0" "vpmulhrsw\0" "vpmulhuw\0" "vpmulhw\0" "vpmulld\0" "vpmullq\0" "vpmullw\0"
+ "vpmultishiftqb\0" "vpmuludq\0" "vpopcntb\0" "vpopcntd\0" "vpopcntq\0" "vpopcntw\0" "vpor\0" "vpord\0" "vporq\0"
+ "vpperm\0" "vprold\0" "vprolq\0" "vprolvd\0" "vprolvq\0" "vprord\0" "vprorq\0" "vprorvd\0" "vprorvq\0" "vprotb\0"
+ "vprotd\0" "vprotq\0" "vprotw\0" "vpsadbw\0" "vpscatterdd\0" "vpscatterdq\0" "vpscatterqd\0" "vpscatterqq\0"
+ "vpshab\0" "vpshad\0" "vpshaq\0" "vpshaw\0" "vpshlb\0" "vpshld\0" "vpshldd\0" "vpshldq\0" "vpshldvd\0" "vpshldvq\0"
+ "vpshldvw\0" "vpshldw\0" "vpshlq\0" "vpshlw\0" "vpshrdd\0" "vpshrdq\0" "vpshrdvd\0" "vpshrdvq\0" "vpshrdvw\0"
+ "vpshrdw\0" "vpshufb\0" "vpshufbitqmb\0" "vpshufd\0" "vpshufhw\0" "vpshuflw\0" "vpsignb\0" "vpsignd\0" "vpsignw\0"
+ "vpslld\0" "vpslldq\0" "vpsllq\0" "vpsllvd\0" "vpsllvq\0" "vpsllvw\0" "vpsllw\0" "vpsrad\0" "vpsraq\0" "vpsravd\0"
+ "vpsravq\0" "vpsravw\0" "vpsraw\0" "vpsrld\0" "vpsrldq\0" "vpsrlq\0" "vpsrlvd\0" "vpsrlvq\0" "vpsrlvw\0" "vpsrlw\0"
+ "vpsubb\0" "vpsubd\0" "vpsubq\0" "vpsubsb\0" "vpsubsw\0" "vpsubusb\0" "vpsubusw\0" "vpsubw\0" "vpternlogd\0"
+ "vpternlogq\0" "vptest\0" "vptestmb\0" "vptestmd\0" "vptestmq\0" "vptestmw\0" "vptestnmb\0" "vptestnmd\0"
+ "vptestnmq\0" "vptestnmw\0" "vpunpckhbw\0" "vpunpckhdq\0" "vpunpckhqdq\0" "vpunpckhwd\0" "vpunpcklbw\0"
+ "vpunpckldq\0" "vpunpcklqdq\0" "vpunpcklwd\0" "vpxor\0" "vpxord\0" "vpxorq\0" "vrangepd\0" "vrangeps\0" "vrangesd\0"
+ "vrangess\0" "vrcp14pd\0" "vrcp14ps\0" "vrcp14sd\0" "vrcp14ss\0" "vrcp28pd\0" "vrcp28ps\0" "vrcp28sd\0" "vrcp28ss\0"
+ "vrcpps\0" "vrcpss\0" "vreducepd\0" "vreduceps\0" "vreducesd\0" "vreducess\0" "vrndscalepd\0" "vrndscaleps\0"
+ "vrndscalesd\0" "vrndscaless\0" "vroundpd\0" "vroundps\0" "vroundsd\0" "vroundss\0" "vrsqrt14pd\0" "vrsqrt14ps\0"
+ "vrsqrt14sd\0" "vrsqrt14ss\0" "vrsqrt28pd\0" "vrsqrt28ps\0" "vrsqrt28sd\0" "vrsqrt28ss\0" "vrsqrtps\0" "vrsqrtss\0"
+ "vscalefpd\0" "vscalefps\0" "vscalefsd\0" "vscalefss\0" "vscatterdpd\0" "vscatterdps\0" "vscatterpf0dpd\0"
+ "vscatterpf0dps\0" "vscatterpf0qpd\0" "vscatterpf0qps\0" "vscatterpf1dpd\0" "vscatterpf1dps\0" "vscatterpf1qpd\0"
+ "vscatterpf1qps\0" "vscatterqpd\0" "vscatterqps\0" "vshuff32x4\0" "vshuff64x2\0" "vshufi32x4\0" "vshufi64x2\0"
+ "vshufpd\0" "vshufps\0" "vsqrtpd\0" "vsqrtps\0" "vsqrtsd\0" "vsqrtss\0" "vstmxcsr\0" "vsubpd\0" "vsubps\0" "vsubsd\0"
+ "vsubss\0" "vtestpd\0" "vtestps\0" "vucomisd\0" "vucomiss\0" "vunpckhpd\0" "vunpckhps\0" "vunpcklpd\0" "vunpcklps\0"
+ "vxorpd\0" "vxorps\0" "vzeroall\0" "vzeroupper\0" "wbinvd\0" "wbnoinvd\0" "wrfsbase\0" "wrgsbase\0" "wrmsr\0"
+ "wrssd\0" "wrssq\0" "wrussd\0" "wrussq\0" "xabort\0" "xadd\0" "xbegin\0" "xend\0" "xgetbv\0" "xlatb\0" "xresldtrk\0"
+ "xrstors\0" "xrstors64\0" "xsavec\0" "xsavec64\0" "xsaveopt\0" "xsaveopt64\0" "xsaves\0" "xsaves64\0" "xsetbv\0"
+ "xsusldtrk\0" "xtest";
const InstDB::InstNameIndex InstDB::instNameIndex[26] = {
{ Inst::kIdAaa , Inst::kIdArpl + 1 },
@@ -2844,7 +2855,7 @@ const InstDB::InstNameIndex InstDB::instNameIndex[26] = {
{ Inst::kIdF2xm1 , Inst::kIdFyl2xp1 + 1 },
{ Inst::kIdGetsec , Inst::kIdGf2p8mulb + 1 },
{ Inst::kIdHaddpd , Inst::kIdHsubps + 1 },
- { Inst::kIdIdiv , Inst::kIdIretw + 1 },
+ { Inst::kIdIdiv , Inst::kIdIretq + 1 },
{ Inst::kIdJa , Inst::kIdJz + 1 },
{ Inst::kIdKaddb , Inst::kIdKxorw + 1 },
{ Inst::kIdLahf , Inst::kIdLzcnt + 1 },
@@ -2854,7 +2865,7 @@ const InstDB::InstNameIndex InstDB::instNameIndex[26] = {
{ Inst::kIdPabsb , Inst::kIdPxor + 1 },
{ Inst::kIdNone , Inst::kIdNone + 1 },
{ Inst::kIdRcl , Inst::kIdRstorssp + 1 },
- { Inst::kIdSahf , Inst::kIdSysret64 + 1 },
+ { Inst::kIdSahf , Inst::kIdSysretq + 1 },
{ Inst::kIdT1mskc , Inst::kIdTzmsk + 1 },
{ Inst::kIdUcomisd , Inst::kIdUnpcklps + 1 },
{ Inst::kIdV4fmaddps , Inst::kIdVzeroupper + 1 },
@@ -2996,381 +3007,395 @@ const InstDB::InstSignature InstDB::_instSignatureTable[] = {
ROW(2, 1, 1, 0, 28 , 6 , 0 , 0 , 0 , 0 ), // {r32|m32|mem, r32}
ROW(2, 1, 1, 0, 15 , 8 , 0 , 0 , 0 , 0 ), // {r64|m64|mem, r64}
ROW(3, 1, 1, 0, 50 , 67 , 50 , 0 , 0 , 0 ), // #113 {xmm, vm32x, xmm}
- ROW(3, 1, 1, 0, 53 , 67 , 53 , 0 , 0 , 0 ), // {ymm, vm32x, ymm}
- ROW(2, 1, 1, 0, 50 , 67 , 0 , 0 , 0 , 0 ), // {xmm, vm32x}
- ROW(2, 1, 1, 0, 53 , 68 , 0 , 0 , 0 , 0 ), // {ymm, vm32y}
- ROW(2, 1, 1, 0, 56 , 69 , 0 , 0 , 0 , 0 ), // {zmm, vm32z}
- ROW(3, 1, 1, 0, 50 , 67 , 50 , 0 , 0 , 0 ), // #118 {xmm, vm32x, xmm}
ROW(3, 1, 1, 0, 53 , 68 , 53 , 0 , 0 , 0 ), // {ymm, vm32y, ymm}
ROW(2, 1, 1, 0, 50 , 67 , 0 , 0 , 0 , 0 ), // {xmm, vm32x}
ROW(2, 1, 1, 0, 53 , 68 , 0 , 0 , 0 , 0 ), // {ymm, vm32y}
ROW(2, 1, 1, 0, 56 , 69 , 0 , 0 , 0 , 0 ), // {zmm, vm32z}
- ROW(3, 1, 1, 0, 50 , 70 , 50 , 0 , 0 , 0 ), // #123 {xmm, vm64x, xmm}
+ ROW(3, 1, 1, 0, 50 , 70 , 50 , 0 , 0 , 0 ), // #118 {xmm, vm64x, xmm}
ROW(3, 1, 1, 0, 53 , 71 , 53 , 0 , 0 , 0 ), // {ymm, vm64y, ymm}
ROW(2, 1, 1, 0, 50 , 70 , 0 , 0 , 0 , 0 ), // {xmm, vm64x}
ROW(2, 1, 1, 0, 53 , 71 , 0 , 0 , 0 , 0 ), // {ymm, vm64y}
ROW(2, 1, 1, 0, 56 , 72 , 0 , 0 , 0 , 0 ), // {zmm, vm64z}
- ROW(2, 1, 1, 0, 25 , 10 , 0 , 0 , 0 , 0 ), // #128 {r16|m16|r32|m32|r64|m64|mem, i8|u8}
+ ROW(2, 1, 1, 0, 25 , 10 , 0 , 0 , 0 , 0 ), // #123 {r16|m16|r32|m32|r64|m64|mem, i8|u8}
ROW(2, 1, 1, 0, 27 , 4 , 0 , 0 , 0 , 0 ), // {r16|m16|mem, r16}
ROW(2, 1, 1, 0, 28 , 6 , 0 , 0 , 0 , 0 ), // {r32|m32|mem, r32}
ROW(2, 0, 1, 0, 15 , 8 , 0 , 0 , 0 , 0 ), // {r64|m64|mem, r64}
- ROW(3, 1, 1, 1, 1 , 2 , 73 , 0 , 0 , 0 ), // #132 {r8lo|r8hi|m8|mem, r8lo|r8hi, <al>}
+ ROW(2, 1, 1, 2, 73 , 74 , 0 , 0 , 0 , 0 ), // #127 {<ds:[m8|memBase|zsi]>, <es:[m8|memBase|zdi]>}
+ ROW(2, 1, 1, 2, 75 , 76 , 0 , 0 , 0 , 0 ), // {<ds:[m16|memBase|zsi]>, <es:[m16|memBase|zdi]>}
+ ROW(2, 1, 1, 2, 77 , 78 , 0 , 0 , 0 , 0 ), // {<ds:[m32|memBase|zsi]>, <es:[m32|memBase|zdi]>}
+ ROW(2, 0, 1, 2, 79 , 80 , 0 , 0 , 0 , 0 ), // {<ds:[m64|memBase|zsi]>, <es:[m64|memBase|zdi]>}
+ ROW(3, 1, 1, 1, 1 , 2 , 81 , 0 , 0 , 0 ), // #131 {r8lo|r8hi|m8|mem, r8lo|r8hi, <al>}
ROW(3, 1, 1, 1, 27 , 4 , 33 , 0 , 0 , 0 ), // {r16|m16|mem, r16, <ax>}
ROW(3, 1, 1, 1, 28 , 6 , 36 , 0 , 0 , 0 ), // {r32|m32|mem, r32, <eax>}
ROW(3, 0, 1, 1, 15 , 8 , 38 , 0 , 0 , 0 ), // {r64|m64|mem, r64, <rax>}
- ROW(1, 1, 1, 0, 74 , 0 , 0 , 0 , 0 , 0 ), // #136 {r16|m16|r64|m64}
+ ROW(2, 1, 1, 2, 81 , 82 , 0 , 0 , 0 , 0 ), // #135 {<al>, <ds:[m8|memBase|zsi|mem]>}
+ ROW(2, 1, 1, 2, 33 , 83 , 0 , 0 , 0 , 0 ), // {<ax>, <ds:[m16|memBase|zsi|mem]>}
+ ROW(2, 1, 1, 2, 36 , 84 , 0 , 0 , 0 , 0 ), // {<eax>, <ds:[m32|memBase|zsi|mem]>}
+ ROW(2, 0, 1, 2, 38 , 85 , 0 , 0 , 0 , 0 ), // {<rax>, <ds:[m64|memBase|zsi|mem]>}
+ ROW(2, 1, 1, 2, 74 , 73 , 0 , 0 , 0 , 0 ), // #139 {<es:[m8|memBase|zdi]>, <ds:[m8|memBase|zsi]>}
+ ROW(2, 1, 1, 2, 76 , 75 , 0 , 0 , 0 , 0 ), // {<es:[m16|memBase|zdi]>, <ds:[m16|memBase|zsi]>}
+ ROW(2, 1, 1, 2, 78 , 77 , 0 , 0 , 0 , 0 ), // {<es:[m32|memBase|zdi]>, <ds:[m32|memBase|zsi]>}
+ ROW(2, 0, 1, 2, 80 , 79 , 0 , 0 , 0 , 0 ), // {<es:[m64|memBase|zdi]>, <ds:[m64|memBase|zsi]>}
+ ROW(1, 1, 1, 0, 86 , 0 , 0 , 0 , 0 , 0 ), // #143 {r16|m16|r64|m64}
ROW(1, 1, 0, 0, 13 , 0 , 0 , 0 , 0 , 0 ), // {r32|m32}
- ROW(1, 1, 0, 0, 75 , 0 , 0 , 0 , 0 , 0 ), // {ds|es|ss}
- ROW(1, 1, 1, 0, 76 , 0 , 0 , 0 , 0 , 0 ), // {fs|gs}
- ROW(1, 1, 1, 0, 77 , 0 , 0 , 0 , 0 , 0 ), // #140 {r16|m16|r64|m64|i8|i16|i32}
- ROW(1, 1, 0, 0, 78 , 0 , 0 , 0 , 0 , 0 ), // {r32|m32|i32|u32}
- ROW(1, 1, 0, 0, 79 , 0 , 0 , 0 , 0 , 0 ), // {cs|ss|ds|es}
- ROW(1, 1, 1, 0, 76 , 0 , 0 , 0 , 0 , 0 ), // {fs|gs}
- ROW(4, 1, 1, 0, 50 , 50 , 50 , 51 , 0 , 0 ), // #144 {xmm, xmm, xmm, xmm|m128|mem}
+ ROW(1, 1, 0, 0, 87 , 0 , 0 , 0 , 0 , 0 ), // {ds|es|ss}
+ ROW(1, 1, 1, 0, 88 , 0 , 0 , 0 , 0 , 0 ), // {fs|gs}
+ ROW(1, 1, 1, 0, 89 , 0 , 0 , 0 , 0 , 0 ), // #147 {r16|m16|r64|m64|i8|i16|i32}
+ ROW(1, 1, 0, 0, 90 , 0 , 0 , 0 , 0 , 0 ), // {r32|m32|i32|u32}
+ ROW(1, 1, 0, 0, 91 , 0 , 0 , 0 , 0 , 0 ), // {cs|ss|ds|es}
+ ROW(1, 1, 1, 0, 88 , 0 , 0 , 0 , 0 , 0 ), // {fs|gs}
+ ROW(2, 1, 1, 2, 81 , 92 , 0 , 0 , 0 , 0 ), // #151 {<al>, <es:[m8|memBase|zdi|mem]>}
+ ROW(2, 1, 1, 2, 33 , 93 , 0 , 0 , 0 , 0 ), // {<ax>, <es:[m16|memBase|zdi|mem]>}
+ ROW(2, 1, 1, 2, 36 , 94 , 0 , 0 , 0 , 0 ), // {<eax>, <es:[m32|memBase|zdi|mem]>}
+ ROW(2, 0, 1, 2, 38 , 95 , 0 , 0 , 0 , 0 ), // {<rax>, <es:[m64|memBase|zdi|mem]>}
+ ROW(2, 1, 1, 2, 92 , 81 , 0 , 0 , 0 , 0 ), // #155 {<es:[m8|memBase|zdi|mem]>, <al>}
+ ROW(2, 1, 1, 2, 93 , 33 , 0 , 0 , 0 , 0 ), // {<es:[m16|memBase|zdi|mem]>, <ax>}
+ ROW(2, 1, 1, 2, 94 , 36 , 0 , 0 , 0 , 0 ), // {<es:[m32|memBase|zdi|mem]>, <eax>}
+ ROW(2, 0, 1, 2, 95 , 38 , 0 , 0 , 0 , 0 ), // {<es:[m64|memBase|zdi|mem]>, <rax>}
+ ROW(4, 1, 1, 0, 50 , 50 , 50 , 51 , 0 , 0 ), // #159 {xmm, xmm, xmm, xmm|m128|mem}
ROW(4, 1, 1, 0, 50 , 50 , 52 , 50 , 0 , 0 ), // {xmm, xmm, m128|mem, xmm}
ROW(4, 1, 1, 0, 53 , 53 , 53 , 54 , 0 , 0 ), // {ymm, ymm, ymm, ymm|m256|mem}
ROW(4, 1, 1, 0, 53 , 53 , 55 , 53 , 0 , 0 ), // {ymm, ymm, m256|mem, ymm}
- ROW(3, 1, 1, 0, 50 , 80 , 50 , 0 , 0 , 0 ), // #148 {xmm, vm64x|vm64y, xmm}
- ROW(2, 1, 1, 0, 50 , 70 , 0 , 0 , 0 , 0 ), // {xmm, vm64x}
- ROW(2, 1, 1, 0, 53 , 71 , 0 , 0 , 0 , 0 ), // {ymm, vm64y}
- ROW(2, 1, 1, 0, 56 , 72 , 0 , 0 , 0 , 0 ), // {zmm, vm64z}
- ROW(3, 1, 1, 0, 52 , 50 , 50 , 0 , 0 , 0 ), // #152 {m128|mem, xmm, xmm}
+ ROW(3, 1, 1, 0, 50 , 67 , 50 , 0 , 0 , 0 ), // #163 {xmm, vm32x, xmm}
+ ROW(3, 1, 1, 0, 53 , 67 , 53 , 0 , 0 , 0 ), // {ymm, vm32x, ymm}
+ ROW(2, 1, 1, 0, 96 , 67 , 0 , 0 , 0 , 0 ), // {xmm|ymm, vm32x}
+ ROW(2, 1, 1, 0, 56 , 68 , 0 , 0 , 0 , 0 ), // {zmm, vm32y}
+ ROW(3, 1, 1, 0, 52 , 50 , 50 , 0 , 0 , 0 ), // #167 {m128|mem, xmm, xmm}
ROW(3, 1, 1, 0, 55 , 53 , 53 , 0 , 0 , 0 ), // {m256|mem, ymm, ymm}
ROW(3, 1, 1, 0, 50 , 50 , 52 , 0 , 0 , 0 ), // {xmm, xmm, m128|mem}
ROW(3, 1, 1, 0, 53 , 53 , 55 , 0 , 0 , 0 ), // {ymm, ymm, m256|mem}
- ROW(5, 1, 1, 0, 50 , 50 , 51 , 50 , 81 , 0 ), // #156 {xmm, xmm, xmm|m128|mem, xmm, i4|u4}
- ROW(5, 1, 1, 0, 50 , 50 , 50 , 52 , 81 , 0 ), // {xmm, xmm, xmm, m128|mem, i4|u4}
- ROW(5, 1, 1, 0, 53 , 53 , 54 , 53 , 81 , 0 ), // {ymm, ymm, ymm|m256|mem, ymm, i4|u4}
- ROW(5, 1, 1, 0, 53 , 53 , 53 , 55 , 81 , 0 ), // {ymm, ymm, ymm, m256|mem, i4|u4}
- ROW(3, 1, 1, 0, 53 , 54 , 10 , 0 , 0 , 0 ), // #160 {ymm, ymm|m256|mem, i8|u8}
+ ROW(5, 1, 1, 0, 50 , 50 , 51 , 50 , 97 , 0 ), // #171 {xmm, xmm, xmm|m128|mem, xmm, i4|u4}
+ ROW(5, 1, 1, 0, 50 , 50 , 50 , 52 , 97 , 0 ), // {xmm, xmm, xmm, m128|mem, i4|u4}
+ ROW(5, 1, 1, 0, 53 , 53 , 54 , 53 , 97 , 0 ), // {ymm, ymm, ymm|m256|mem, ymm, i4|u4}
+ ROW(5, 1, 1, 0, 53 , 53 , 53 , 55 , 97 , 0 ), // {ymm, ymm, ymm, m256|mem, i4|u4}
+ ROW(3, 1, 1, 0, 53 , 54 , 10 , 0 , 0 , 0 ), // #175 {ymm, ymm|m256|mem, i8|u8}
ROW(3, 1, 1, 0, 53 , 53 , 54 , 0 , 0 , 0 ), // {ymm, ymm, ymm|m256|mem}
ROW(3, 1, 1, 0, 56 , 56 , 61 , 0 , 0 , 0 ), // {zmm, zmm, zmm|m512|mem|i8|u8}
ROW(3, 1, 1, 0, 56 , 58 , 10 , 0 , 0 , 0 ), // {zmm, m512|mem, i8|u8}
- ROW(2, 1, 1, 0, 4 , 27 , 0 , 0 , 0 , 0 ), // #164 {r16, r16|m16|mem}
- ROW(2, 1, 1, 0, 6 , 28 , 0 , 0 , 0 , 0 ), // #165 {r32, r32|m32|mem}
+ ROW(2, 1, 1, 0, 4 , 27 , 0 , 0 , 0 , 0 ), // #179 {r16, r16|m16|mem}
+ ROW(2, 1, 1, 0, 6 , 28 , 0 , 0 , 0 , 0 ), // #180 {r32, r32|m32|mem}
ROW(2, 0, 1, 0, 8 , 15 , 0 , 0 , 0 , 0 ), // {r64, r64|m64|mem}
- ROW(1, 1, 1, 0, 82 , 0 , 0 , 0 , 0 , 0 ), // #167 {m32|m64}
- ROW(2, 1, 1, 0, 83 , 84 , 0 , 0 , 0 , 0 ), // {st0, st}
- ROW(2, 1, 1, 0, 84 , 83 , 0 , 0 , 0 , 0 ), // {st, st0}
- ROW(2, 1, 1, 0, 4 , 29 , 0 , 0 , 0 , 0 ), // #170 {r16, m32|mem}
- ROW(2, 1, 1, 0, 6 , 85 , 0 , 0 , 0 , 0 ), // {r32, m48|mem}
- ROW(2, 0, 1, 0, 8 , 86 , 0 , 0 , 0 , 0 ), // {r64, m80|mem}
- ROW(3, 1, 1, 0, 27 , 4 , 87 , 0 , 0 , 0 ), // #173 {r16|m16|mem, r16, cl|i8|u8}
- ROW(3, 1, 1, 0, 28 , 6 , 87 , 0 , 0 , 0 ), // {r32|m32|mem, r32, cl|i8|u8}
- ROW(3, 0, 1, 0, 15 , 8 , 87 , 0 , 0 , 0 ), // {r64|m64|mem, r64, cl|i8|u8}
- ROW(3, 1, 1, 0, 50 , 50 , 51 , 0 , 0 , 0 ), // #176 {xmm, xmm, xmm|m128|mem}
- ROW(3, 1, 1, 0, 53 , 53 , 54 , 0 , 0 , 0 ), // #177 {ymm, ymm, ymm|m256|mem}
+ ROW(1, 1, 1, 0, 98 , 0 , 0 , 0 , 0 , 0 ), // #182 {m32|m64}
+ ROW(2, 1, 1, 0, 99 , 100, 0 , 0 , 0 , 0 ), // {st0, st}
+ ROW(2, 1, 1, 0, 100, 99 , 0 , 0 , 0 , 0 ), // {st, st0}
+ ROW(2, 1, 1, 0, 4 , 29 , 0 , 0 , 0 , 0 ), // #185 {r16, m32|mem}
+ ROW(2, 1, 1, 0, 6 , 101, 0 , 0 , 0 , 0 ), // {r32, m48|mem}
+ ROW(2, 0, 1, 0, 8 , 102, 0 , 0 , 0 , 0 ), // {r64, m80|mem}
+ ROW(3, 1, 1, 0, 27 , 4 , 103, 0 , 0 , 0 ), // #188 {r16|m16|mem, r16, cl|i8|u8}
+ ROW(3, 1, 1, 0, 28 , 6 , 103, 0 , 0 , 0 ), // {r32|m32|mem, r32, cl|i8|u8}
+ ROW(3, 0, 1, 0, 15 , 8 , 103, 0 , 0 , 0 ), // {r64|m64|mem, r64, cl|i8|u8}
+ ROW(3, 1, 1, 0, 50 , 50 , 51 , 0 , 0 , 0 ), // #191 {xmm, xmm, xmm|m128|mem}
+ ROW(3, 1, 1, 0, 53 , 53 , 54 , 0 , 0 , 0 ), // #192 {ymm, ymm, ymm|m256|mem}
ROW(3, 1, 1, 0, 56 , 56 , 57 , 0 , 0 , 0 ), // {zmm, zmm, zmm|m512|mem}
- ROW(4, 1, 1, 0, 50 , 50 , 51 , 10 , 0 , 0 ), // #179 {xmm, xmm, xmm|m128|mem, i8|u8}
- ROW(4, 1, 1, 0, 53 , 53 , 54 , 10 , 0 , 0 ), // #180 {ymm, ymm, ymm|m256|mem, i8|u8}
+ ROW(4, 1, 1, 0, 50 , 50 , 51 , 10 , 0 , 0 ), // #194 {xmm, xmm, xmm|m128|mem, i8|u8}
+ ROW(4, 1, 1, 0, 53 , 53 , 54 , 10 , 0 , 0 ), // #195 {ymm, ymm, ymm|m256|mem, i8|u8}
ROW(4, 1, 1, 0, 56 , 56 , 57 , 10 , 0 , 0 ), // {zmm, zmm, zmm|m512|mem, i8|u8}
- ROW(4, 1, 1, 0, 88 , 50 , 51 , 10 , 0 , 0 ), // #182 {xmm|k, xmm, xmm|m128|mem, i8|u8}
- ROW(4, 1, 1, 0, 89 , 53 , 54 , 10 , 0 , 0 ), // {ymm|k, ymm, ymm|m256|mem, i8|u8}
- ROW(4, 1, 1, 0, 90 , 56 , 57 , 10 , 0 , 0 ), // {k, zmm, zmm|m512|mem, i8|u8}
- ROW(2, 1, 1, 0, 51 , 50 , 0 , 0 , 0 , 0 ), // #185 {xmm|m128|mem, xmm}
+ ROW(4, 1, 1, 0, 104, 50 , 51 , 10 , 0 , 0 ), // #197 {xmm|k, xmm, xmm|m128|mem, i8|u8}
+ ROW(4, 1, 1, 0, 105, 53 , 54 , 10 , 0 , 0 ), // {ymm|k, ymm, ymm|m256|mem, i8|u8}
+ ROW(4, 1, 1, 0, 106, 56 , 57 , 10 , 0 , 0 ), // {k, zmm, zmm|m512|mem, i8|u8}
+ ROW(2, 1, 1, 0, 51 , 50 , 0 , 0 , 0 , 0 ), // #200 {xmm|m128|mem, xmm}
ROW(2, 1, 1, 0, 54 , 53 , 0 , 0 , 0 , 0 ), // {ymm|m256|mem, ymm}
ROW(2, 1, 1, 0, 57 , 56 , 0 , 0 , 0 , 0 ), // {zmm|m512|mem, zmm}
- ROW(2, 1, 1, 0, 50 , 65 , 0 , 0 , 0 , 0 ), // #188 {xmm, xmm|m64|mem}
+ ROW(2, 1, 1, 0, 50 , 65 , 0 , 0 , 0 , 0 ), // #203 {xmm, xmm|m64|mem}
ROW(2, 1, 1, 0, 53 , 51 , 0 , 0 , 0 , 0 ), // {ymm, xmm|m128|mem}
ROW(2, 1, 1, 0, 56 , 54 , 0 , 0 , 0 , 0 ), // {zmm, ymm|m256|mem}
- ROW(2, 1, 1, 0, 50 , 51 , 0 , 0 , 0 , 0 ), // #191 {xmm, xmm|m128|mem}
+ ROW(2, 1, 1, 0, 50 , 51 , 0 , 0 , 0 , 0 ), // #206 {xmm, xmm|m128|mem}
ROW(2, 1, 1, 0, 53 , 54 , 0 , 0 , 0 , 0 ), // {ymm, ymm|m256|mem}
ROW(2, 1, 1, 0, 56 , 57 , 0 , 0 , 0 , 0 ), // {zmm, zmm|m512|mem}
- ROW(3, 1, 1, 0, 65 , 50 , 10 , 0 , 0 , 0 ), // #194 {xmm|m64|mem, xmm, i8|u8}
- ROW(3, 1, 1, 0, 51 , 53 , 10 , 0 , 0 , 0 ), // #195 {xmm|m128|mem, ymm, i8|u8}
- ROW(3, 1, 1, 0, 54 , 56 , 10 , 0 , 0 , 0 ), // #196 {ymm|m256|mem, zmm, i8|u8}
- ROW(3, 1, 1, 0, 50 , 51 , 10 , 0 , 0 , 0 ), // #197 {xmm, xmm|m128|mem, i8|u8}
+ ROW(3, 1, 1, 0, 65 , 50 , 10 , 0 , 0 , 0 ), // #209 {xmm|m64|mem, xmm, i8|u8}
+ ROW(3, 1, 1, 0, 51 , 53 , 10 , 0 , 0 , 0 ), // #210 {xmm|m128|mem, ymm, i8|u8}
+ ROW(3, 1, 1, 0, 54 , 56 , 10 , 0 , 0 , 0 ), // #211 {ymm|m256|mem, zmm, i8|u8}
+ ROW(3, 1, 1, 0, 50 , 107, 50 , 0 , 0 , 0 ), // #212 {xmm, vm64x|vm64y, xmm}
+ ROW(2, 1, 1, 0, 50 , 107, 0 , 0 , 0 , 0 ), // {xmm, vm64x|vm64y}
+ ROW(2, 1, 1, 0, 53 , 72 , 0 , 0 , 0 , 0 ), // {ymm, vm64z}
+ ROW(3, 1, 1, 0, 50 , 51 , 10 , 0 , 0 , 0 ), // #215 {xmm, xmm|m128|mem, i8|u8}
ROW(3, 1, 1, 0, 53 , 54 , 10 , 0 , 0 , 0 ), // {ymm, ymm|m256|mem, i8|u8}
ROW(3, 1, 1, 0, 56 , 57 , 10 , 0 , 0 , 0 ), // {zmm, zmm|m512|mem, i8|u8}
- ROW(2, 1, 1, 0, 50 , 65 , 0 , 0 , 0 , 0 ), // #200 {xmm, xmm|m64|mem}
+ ROW(2, 1, 1, 0, 50 , 65 , 0 , 0 , 0 , 0 ), // #218 {xmm, xmm|m64|mem}
ROW(2, 1, 1, 0, 53 , 54 , 0 , 0 , 0 , 0 ), // {ymm, ymm|m256|mem}
ROW(2, 1, 1, 0, 56 , 57 , 0 , 0 , 0 , 0 ), // {zmm, zmm|m512|mem}
- ROW(2, 1, 1, 0, 52 , 50 , 0 , 0 , 0 , 0 ), // #203 {m128|mem, xmm}
+ ROW(2, 1, 1, 0, 52 , 50 , 0 , 0 , 0 , 0 ), // #221 {m128|mem, xmm}
ROW(2, 1, 1, 0, 55 , 53 , 0 , 0 , 0 , 0 ), // {m256|mem, ymm}
ROW(2, 1, 1, 0, 58 , 56 , 0 , 0 , 0 , 0 ), // {m512|mem, zmm}
- ROW(2, 1, 1, 0, 50 , 52 , 0 , 0 , 0 , 0 ), // #206 {xmm, m128|mem}
+ ROW(2, 1, 1, 0, 50 , 52 , 0 , 0 , 0 , 0 ), // #224 {xmm, m128|mem}
ROW(2, 1, 1, 0, 53 , 55 , 0 , 0 , 0 , 0 ), // {ymm, m256|mem}
ROW(2, 1, 1, 0, 56 , 58 , 0 , 0 , 0 , 0 ), // {zmm, m512|mem}
- ROW(2, 0, 1, 0, 15 , 50 , 0 , 0 , 0 , 0 ), // #209 {r64|m64|mem, xmm}
- ROW(2, 1, 1, 0, 50 , 91 , 0 , 0 , 0 , 0 ), // {xmm, xmm|m64|mem|r64}
+ ROW(2, 0, 1, 0, 15 , 50 , 0 , 0 , 0 , 0 ), // #227 {r64|m64|mem, xmm}
+ ROW(2, 1, 1, 0, 50 , 108, 0 , 0 , 0 , 0 ), // {xmm, xmm|m64|mem|r64}
ROW(2, 1, 1, 0, 30 , 50 , 0 , 0 , 0 , 0 ), // {m64|mem, xmm}
- ROW(2, 1, 1, 0, 30 , 50 , 0 , 0 , 0 , 0 ), // #212 {m64|mem, xmm}
+ ROW(2, 1, 1, 0, 30 , 50 , 0 , 0 , 0 , 0 ), // #230 {m64|mem, xmm}
ROW(2, 1, 1, 0, 50 , 30 , 0 , 0 , 0 , 0 ), // {xmm, m64|mem}
- ROW(3, 1, 1, 0, 50 , 50 , 50 , 0 , 0 , 0 ), // #214 {xmm, xmm, xmm}
- ROW(2, 1, 1, 0, 29 , 50 , 0 , 0 , 0 , 0 ), // #215 {m32|mem, xmm}
+ ROW(3, 1, 1, 0, 50 , 50 , 50 , 0 , 0 , 0 ), // #232 {xmm, xmm, xmm}
+ ROW(2, 1, 1, 0, 29 , 50 , 0 , 0 , 0 , 0 ), // #233 {m32|mem, xmm}
ROW(2, 1, 1, 0, 50 , 29 , 0 , 0 , 0 , 0 ), // {xmm, m32|mem}
ROW(3, 1, 1, 0, 50 , 50 , 50 , 0 , 0 , 0 ), // {xmm, xmm, xmm}
- ROW(4, 1, 1, 0, 90 , 90 , 50 , 51 , 0 , 0 ), // #218 {k, k, xmm, xmm|m128|mem}
- ROW(4, 1, 1, 0, 90 , 90 , 53 , 54 , 0 , 0 ), // {k, k, ymm, ymm|m256|mem}
- ROW(4, 1, 1, 0, 90 , 90 , 56 , 57 , 0 , 0 ), // {k, k, zmm, zmm|m512|mem}
- ROW(2, 1, 1, 0, 92 , 91 , 0 , 0 , 0 , 0 ), // #221 {xmm|ymm, xmm|m64|mem|r64}
+ ROW(4, 1, 1, 0, 106, 106, 50 , 51 , 0 , 0 ), // #236 {k, k, xmm, xmm|m128|mem}
+ ROW(4, 1, 1, 0, 106, 106, 53 , 54 , 0 , 0 ), // {k, k, ymm, ymm|m256|mem}
+ ROW(4, 1, 1, 0, 106, 106, 56 , 57 , 0 , 0 ), // {k, k, zmm, zmm|m512|mem}
+ ROW(2, 1, 1, 0, 96 , 108, 0 , 0 , 0 , 0 ), // #239 {xmm|ymm, xmm|m64|mem|r64}
ROW(2, 0, 1, 0, 56 , 8 , 0 , 0 , 0 , 0 ), // {zmm, r64}
ROW(2, 1, 1, 0, 56 , 65 , 0 , 0 , 0 , 0 ), // {zmm, xmm|m64|mem}
- ROW(4, 1, 1, 0, 90 , 50 , 51 , 10 , 0 , 0 ), // #224 {k, xmm, xmm|m128|mem, i8|u8}
- ROW(4, 1, 1, 0, 90 , 53 , 54 , 10 , 0 , 0 ), // {k, ymm, ymm|m256|mem, i8|u8}
- ROW(4, 1, 1, 0, 90 , 56 , 57 , 10 , 0 , 0 ), // {k, zmm, zmm|m512|mem, i8|u8}
- ROW(3, 1, 1, 0, 88 , 50 , 51 , 0 , 0 , 0 ), // #227 {xmm|k, xmm, xmm|m128|mem}
- ROW(3, 1, 1, 0, 89 , 53 , 54 , 0 , 0 , 0 ), // {ymm|k, ymm, ymm|m256|mem}
- ROW(3, 1, 1, 0, 90 , 56 , 57 , 0 , 0 , 0 ), // {k, zmm, zmm|m512|mem}
- ROW(2, 1, 1, 0, 93 , 50 , 0 , 0 , 0 , 0 ), // #230 {xmm|m32|mem, xmm}
+ ROW(4, 1, 1, 0, 106, 50 , 51 , 10 , 0 , 0 ), // #242 {k, xmm, xmm|m128|mem, i8|u8}
+ ROW(4, 1, 1, 0, 106, 53 , 54 , 10 , 0 , 0 ), // {k, ymm, ymm|m256|mem, i8|u8}
+ ROW(4, 1, 1, 0, 106, 56 , 57 , 10 , 0 , 0 ), // {k, zmm, zmm|m512|mem, i8|u8}
+ ROW(3, 1, 1, 0, 104, 50 , 51 , 0 , 0 , 0 ), // #245 {xmm|k, xmm, xmm|m128|mem}
+ ROW(3, 1, 1, 0, 105, 53 , 54 , 0 , 0 , 0 ), // {ymm|k, ymm, ymm|m256|mem}
+ ROW(3, 1, 1, 0, 106, 56 , 57 , 0 , 0 , 0 ), // {k, zmm, zmm|m512|mem}
+ ROW(2, 1, 1, 0, 109, 50 , 0 , 0 , 0 , 0 ), // #248 {xmm|m32|mem, xmm}
ROW(2, 1, 1, 0, 65 , 53 , 0 , 0 , 0 , 0 ), // {xmm|m64|mem, ymm}
ROW(2, 1, 1, 0, 51 , 56 , 0 , 0 , 0 , 0 ), // {xmm|m128|mem, zmm}
- ROW(2, 1, 1, 0, 65 , 50 , 0 , 0 , 0 , 0 ), // #233 {xmm|m64|mem, xmm}
+ ROW(2, 1, 1, 0, 65 , 50 , 0 , 0 , 0 , 0 ), // #251 {xmm|m64|mem, xmm}
ROW(2, 1, 1, 0, 51 , 53 , 0 , 0 , 0 , 0 ), // {xmm|m128|mem, ymm}
ROW(2, 1, 1, 0, 54 , 56 , 0 , 0 , 0 , 0 ), // {ymm|m256|mem, zmm}
- ROW(2, 1, 1, 0, 94 , 50 , 0 , 0 , 0 , 0 ), // #236 {xmm|m16|mem, xmm}
- ROW(2, 1, 1, 0, 93 , 53 , 0 , 0 , 0 , 0 ), // {xmm|m32|mem, ymm}
+ ROW(2, 1, 1, 0, 110, 50 , 0 , 0 , 0 , 0 ), // #254 {xmm|m16|mem, xmm}
+ ROW(2, 1, 1, 0, 109, 53 , 0 , 0 , 0 , 0 ), // {xmm|m32|mem, ymm}
ROW(2, 1, 1, 0, 65 , 56 , 0 , 0 , 0 , 0 ), // {xmm|m64|mem, zmm}
- ROW(2, 1, 1, 0, 50 , 93 , 0 , 0 , 0 , 0 ), // #239 {xmm, xmm|m32|mem}
+ ROW(2, 1, 1, 0, 50 , 109, 0 , 0 , 0 , 0 ), // #257 {xmm, xmm|m32|mem}
ROW(2, 1, 1, 0, 53 , 65 , 0 , 0 , 0 , 0 ), // {ymm, xmm|m64|mem}
ROW(2, 1, 1, 0, 56 , 51 , 0 , 0 , 0 , 0 ), // {zmm, xmm|m128|mem}
- ROW(2, 1, 1, 0, 50 , 94 , 0 , 0 , 0 , 0 ), // #242 {xmm, xmm|m16|mem}
- ROW(2, 1, 1, 0, 53 , 93 , 0 , 0 , 0 , 0 ), // {ymm, xmm|m32|mem}
+ ROW(2, 1, 1, 0, 50 , 110, 0 , 0 , 0 , 0 ), // #260 {xmm, xmm|m16|mem}
+ ROW(2, 1, 1, 0, 53 , 109, 0 , 0 , 0 , 0 ), // {ymm, xmm|m32|mem}
ROW(2, 1, 1, 0, 56 , 65 , 0 , 0 , 0 , 0 ), // {zmm, xmm|m64|mem}
- ROW(2, 1, 1, 0, 67 , 50 , 0 , 0 , 0 , 0 ), // #245 {vm32x, xmm}
+ ROW(2, 1, 1, 0, 67 , 50 , 0 , 0 , 0 , 0 ), // #263 {vm32x, xmm}
ROW(2, 1, 1, 0, 68 , 53 , 0 , 0 , 0 , 0 ), // {vm32y, ymm}
ROW(2, 1, 1, 0, 69 , 56 , 0 , 0 , 0 , 0 ), // {vm32z, zmm}
- ROW(2, 1, 1, 0, 70 , 50 , 0 , 0 , 0 , 0 ), // #248 {vm64x, xmm}
+ ROW(2, 1, 1, 0, 70 , 50 , 0 , 0 , 0 , 0 ), // #266 {vm64x, xmm}
ROW(2, 1, 1, 0, 71 , 53 , 0 , 0 , 0 , 0 ), // {vm64y, ymm}
ROW(2, 1, 1, 0, 72 , 56 , 0 , 0 , 0 , 0 ), // {vm64z, zmm}
- ROW(3, 1, 1, 0, 90 , 50 , 51 , 0 , 0 , 0 ), // #251 {k, xmm, xmm|m128|mem}
- ROW(3, 1, 1, 0, 90 , 53 , 54 , 0 , 0 , 0 ), // {k, ymm, ymm|m256|mem}
- ROW(3, 1, 1, 0, 90 , 56 , 57 , 0 , 0 , 0 ), // {k, zmm, zmm|m512|mem}
- ROW(3, 1, 1, 0, 6 , 6 , 28 , 0 , 0 , 0 ), // #254 {r32, r32, r32|m32|mem}
+ ROW(3, 1, 1, 0, 106, 50 , 51 , 0 , 0 , 0 ), // #269 {k, xmm, xmm|m128|mem}
+ ROW(3, 1, 1, 0, 106, 53 , 54 , 0 , 0 , 0 ), // {k, ymm, ymm|m256|mem}
+ ROW(3, 1, 1, 0, 106, 56 , 57 , 0 , 0 , 0 ), // {k, zmm, zmm|m512|mem}
+ ROW(3, 1, 1, 0, 6 , 6 , 28 , 0 , 0 , 0 ), // #272 {r32, r32, r32|m32|mem}
ROW(3, 0, 1, 0, 8 , 8 , 15 , 0 , 0 , 0 ), // {r64, r64, r64|m64|mem}
- ROW(3, 1, 1, 0, 6 , 28 , 6 , 0 , 0 , 0 ), // #256 {r32, r32|m32|mem, r32}
+ ROW(3, 1, 1, 0, 6 , 28 , 6 , 0 , 0 , 0 ), // #274 {r32, r32|m32|mem, r32}
ROW(3, 0, 1, 0, 8 , 15 , 8 , 0 , 0 , 0 ), // {r64, r64|m64|mem, r64}
- ROW(2, 1, 0, 0, 95 , 28 , 0 , 0 , 0 , 0 ), // #258 {bnd, r32|m32|mem}
- ROW(2, 0, 1, 0, 95 , 15 , 0 , 0 , 0 , 0 ), // {bnd, r64|m64|mem}
- ROW(2, 1, 1, 0, 95 , 96 , 0 , 0 , 0 , 0 ), // #260 {bnd, bnd|mem}
- ROW(2, 1, 1, 0, 97 , 95 , 0 , 0 , 0 , 0 ), // {mem, bnd}
- ROW(2, 1, 0, 0, 4 , 29 , 0 , 0 , 0 , 0 ), // #262 {r16, m32|mem}
+ ROW(2, 1, 0, 0, 111, 28 , 0 , 0 , 0 , 0 ), // #276 {bnd, r32|m32|mem}
+ ROW(2, 0, 1, 0, 111, 15 , 0 , 0 , 0 , 0 ), // {bnd, r64|m64|mem}
+ ROW(2, 1, 1, 0, 111, 112, 0 , 0 , 0 , 0 ), // #278 {bnd, bnd|mem}
+ ROW(2, 1, 1, 0, 113, 111, 0 , 0 , 0 , 0 ), // {mem, bnd}
+ ROW(2, 1, 0, 0, 4 , 29 , 0 , 0 , 0 , 0 ), // #280 {r16, m32|mem}
ROW(2, 1, 0, 0, 6 , 30 , 0 , 0 , 0 , 0 ), // {r32, m64|mem}
- ROW(1, 1, 0, 0, 98 , 0 , 0 , 0 , 0 , 0 ), // #264 {rel16|r16|m16|r32|m32}
- ROW(1, 1, 1, 0, 99 , 0 , 0 , 0 , 0 , 0 ), // {rel32|r64|m64|mem}
- ROW(2, 1, 1, 0, 6 , 100, 0 , 0 , 0 , 0 ), // #266 {r32, r8lo|r8hi|m8|r16|m16|r32|m32}
- ROW(2, 0, 1, 0, 8 , 101, 0 , 0 , 0 , 0 ), // {r64, r8lo|r8hi|m8|r64|m64}
- ROW(1, 1, 0, 0, 102, 0 , 0 , 0 , 0 , 0 ), // #268 {r16|r32}
- ROW(1, 1, 1, 0, 31 , 0 , 0 , 0 , 0 , 0 ), // #269 {r8lo|r8hi|m8|r16|m16|r32|m32|r64|m64|mem}
- ROW(2, 1, 0, 0, 103, 58 , 0 , 0 , 0 , 0 ), // #270 {es:[memBase], m512|mem}
- ROW(2, 0, 1, 0, 103, 58 , 0 , 0 , 0 , 0 ), // {es:[memBase], m512|mem}
- ROW(3, 1, 1, 0, 50 , 10 , 10 , 0 , 0 , 0 ), // #272 {xmm, i8|u8, i8|u8}
- ROW(2, 1, 1, 0, 50 , 50 , 0 , 0 , 0 , 0 ), // #273 {xmm, xmm}
- ROW(0, 1, 1, 0, 0 , 0 , 0 , 0 , 0 , 0 ), // #274 {}
- ROW(1, 1, 1, 0, 84 , 0 , 0 , 0 , 0 , 0 ), // #275 {st}
- ROW(0, 1, 1, 0, 0 , 0 , 0 , 0 , 0 , 0 ), // #276 {}
- ROW(1, 1, 1, 0, 104, 0 , 0 , 0 , 0 , 0 ), // #277 {m32|m64|st}
- ROW(2, 1, 1, 0, 50 , 50 , 0 , 0 , 0 , 0 ), // #278 {xmm, xmm}
+ ROW(1, 1, 0, 0, 114, 0 , 0 , 0 , 0 , 0 ), // #282 {rel16|r16|m16|r32|m32}
+ ROW(1, 1, 1, 0, 115, 0 , 0 , 0 , 0 , 0 ), // {rel32|r64|m64|mem}
+ ROW(2, 1, 1, 0, 6 , 116, 0 , 0 , 0 , 0 ), // #284 {r32, r8lo|r8hi|m8|r16|m16|r32|m32}
+ ROW(2, 0, 1, 0, 8 , 117, 0 , 0 , 0 , 0 ), // {r64, r8lo|r8hi|m8|r64|m64}
+ ROW(1, 1, 0, 0, 118, 0 , 0 , 0 , 0 , 0 ), // #286 {r16|r32}
+ ROW(1, 1, 1, 0, 31 , 0 , 0 , 0 , 0 , 0 ), // #287 {r8lo|r8hi|m8|r16|m16|r32|m32|r64|m64|mem}
+ ROW(2, 1, 0, 0, 119, 58 , 0 , 0 , 0 , 0 ), // #288 {es:[mem|m512|memBase], m512|mem}
+ ROW(2, 0, 1, 0, 119, 58 , 0 , 0 , 0 , 0 ), // {es:[mem|m512|memBase], m512|mem}
+ ROW(3, 1, 1, 0, 50 , 10 , 10 , 0 , 0 , 0 ), // #290 {xmm, i8|u8, i8|u8}
+ ROW(2, 1, 1, 0, 50 , 50 , 0 , 0 , 0 , 0 ), // #291 {xmm, xmm}
+ ROW(0, 1, 1, 0, 0 , 0 , 0 , 0 , 0 , 0 ), // #292 {}
+ ROW(1, 1, 1, 0, 100, 0 , 0 , 0 , 0 , 0 ), // #293 {st}
+ ROW(0, 1, 1, 0, 0 , 0 , 0 , 0 , 0 , 0 ), // #294 {}
+ ROW(1, 1, 1, 0, 120, 0 , 0 , 0 , 0 , 0 ), // #295 {m32|m64|st}
+ ROW(2, 1, 1, 0, 50 , 50 , 0 , 0 , 0 , 0 ), // #296 {xmm, xmm}
ROW(4, 1, 1, 0, 50 , 50 , 10 , 10 , 0 , 0 ), // {xmm, xmm, i8|u8, i8|u8}
- ROW(2, 1, 0, 0, 6 , 52 , 0 , 0 , 0 , 0 ), // #280 {r32, m128|mem}
+ ROW(2, 1, 0, 0, 6 , 52 , 0 , 0 , 0 , 0 ), // #298 {r32, m128|mem}
ROW(2, 0, 1, 0, 8 , 52 , 0 , 0 , 0 , 0 ), // {r64, m128|mem}
- ROW(2, 1, 0, 2, 36 , 105, 0 , 0 , 0 , 0 ), // #282 {<eax>, <ecx>}
- ROW(2, 0, 1, 2, 106, 105, 0 , 0 , 0 , 0 ), // {<eax|rax>, <ecx>}
- ROW(1, 1, 1, 0, 107, 0 , 0 , 0 , 0 , 0 ), // #284 {rel8|rel32}
- ROW(1, 1, 0, 0, 108, 0 , 0 , 0 , 0 , 0 ), // {rel16}
- ROW(2, 1, 0, 1, 109, 110, 0 , 0 , 0 , 0 ), // #286 {<cx|ecx>, rel8}
- ROW(2, 0, 1, 1, 111, 110, 0 , 0 , 0 , 0 ), // {<ecx|rcx>, rel8}
- ROW(1, 1, 1, 0, 112, 0 , 0 , 0 , 0 , 0 ), // #288 {rel8|rel32|r64|m64|mem}
- ROW(1, 1, 0, 0, 113, 0 , 0 , 0 , 0 , 0 ), // {rel16|r32|m32|mem}
- ROW(2, 1, 1, 0, 90 , 114, 0 , 0 , 0 , 0 ), // #290 {k, k|m8|mem|r32|r8lo|r8hi|r16}
- ROW(2, 1, 1, 0, 115, 90 , 0 , 0 , 0 , 0 ), // {m8|mem|r32|r8lo|r8hi|r16, k}
- ROW(2, 1, 1, 0, 90 , 116, 0 , 0 , 0 , 0 ), // #292 {k, k|m32|mem|r32}
- ROW(2, 1, 1, 0, 28 , 90 , 0 , 0 , 0 , 0 ), // {m32|mem|r32, k}
- ROW(2, 1, 1, 0, 90 , 117, 0 , 0 , 0 , 0 ), // #294 {k, k|m64|mem|r64}
- ROW(2, 1, 1, 0, 15 , 90 , 0 , 0 , 0 , 0 ), // {m64|mem|r64, k}
- ROW(2, 1, 1, 0, 90 , 118, 0 , 0 , 0 , 0 ), // #296 {k, k|m16|mem|r32|r16}
- ROW(2, 1, 1, 0, 119, 90 , 0 , 0 , 0 , 0 ), // {m16|mem|r32|r16, k}
- ROW(2, 1, 1, 0, 4 , 27 , 0 , 0 , 0 , 0 ), // #298 {r16, r16|m16|mem}
- ROW(2, 1, 1, 0, 6 , 119, 0 , 0 , 0 , 0 ), // {r32, r32|m16|mem|r16}
- ROW(2, 1, 0, 0, 120, 121, 0 , 0 , 0 , 0 ), // #300 {i16, i16|i32}
- ROW(1, 1, 1, 0, 122, 0 , 0 , 0 , 0 , 0 ), // {m32|m48|m80|mem}
- ROW(2, 1, 0, 0, 4 , 29 , 0 , 0 , 0 , 0 ), // #302 {r16, m32|mem}
- ROW(2, 1, 0, 0, 6 , 85 , 0 , 0 , 0 , 0 ), // {r32, m48|mem}
- ROW(0, 1, 1, 0, 0 , 0 , 0 , 0 , 0 , 0 ), // #304 {}
- ROW(1, 1, 1, 0, 123, 0 , 0 , 0 , 0 , 0 ), // {u16}
- ROW(2, 1, 1, 0, 4 , 27 , 0 , 0 , 0 , 0 ), // #306 {r16, r16|m16|mem}
- ROW(2, 1, 1, 0, 124, 119, 0 , 0 , 0 , 0 ), // {r32|r64, r32|m16|mem|r16}
- ROW(2, 1, 1, 0, 64 , 28 , 0 , 0 , 0 , 0 ), // #308 {mm|xmm, r32|m32|mem}
+ ROW(2, 1, 0, 2, 36 , 121, 0 , 0 , 0 , 0 ), // #300 {<eax>, <ecx>}
+ ROW(2, 0, 1, 2, 122, 121, 0 , 0 , 0 , 0 ), // {<eax|rax>, <ecx>}
+ ROW(1, 1, 1, 0, 123, 0 , 0 , 0 , 0 , 0 ), // #302 {rel8|rel32}
+ ROW(1, 1, 0, 0, 124, 0 , 0 , 0 , 0 , 0 ), // {rel16}
+ ROW(2, 1, 0, 1, 125, 126, 0 , 0 , 0 , 0 ), // #304 {<cx|ecx>, rel8}
+ ROW(2, 0, 1, 1, 127, 126, 0 , 0 , 0 , 0 ), // {<ecx|rcx>, rel8}
+ ROW(1, 1, 1, 0, 128, 0 , 0 , 0 , 0 , 0 ), // #306 {rel8|rel32|r64|m64|mem}
+ ROW(1, 1, 0, 0, 129, 0 , 0 , 0 , 0 , 0 ), // {rel16|r32|m32|mem}
+ ROW(2, 1, 1, 0, 106, 130, 0 , 0 , 0 , 0 ), // #308 {k, k|m8|mem|r32}
+ ROW(2, 1, 1, 0, 131, 106, 0 , 0 , 0 , 0 ), // {m8|mem|r32, k}
+ ROW(2, 1, 1, 0, 106, 132, 0 , 0 , 0 , 0 ), // #310 {k, k|m32|mem|r32}
+ ROW(2, 1, 1, 0, 28 , 106, 0 , 0 , 0 , 0 ), // {m32|mem|r32, k}
+ ROW(2, 1, 1, 0, 106, 133, 0 , 0 , 0 , 0 ), // #312 {k, k|m64|mem|r64}
+ ROW(2, 1, 1, 0, 15 , 106, 0 , 0 , 0 , 0 ), // {m64|mem|r64, k}
+ ROW(2, 1, 1, 0, 106, 134, 0 , 0 , 0 , 0 ), // #314 {k, k|m16|mem|r32}
+ ROW(2, 1, 1, 0, 135, 106, 0 , 0 , 0 , 0 ), // {m16|mem|r32, k}
+ ROW(2, 1, 1, 0, 4 , 27 , 0 , 0 , 0 , 0 ), // #316 {r16, r16|m16|mem}
+ ROW(2, 1, 1, 0, 6 , 135, 0 , 0 , 0 , 0 ), // {r32, r32|m16|mem}
+ ROW(2, 1, 0, 0, 136, 137, 0 , 0 , 0 , 0 ), // #318 {i16, i16|i32}
+ ROW(1, 1, 1, 0, 138, 0 , 0 , 0 , 0 , 0 ), // {m32|m48|m80|mem}
+ ROW(2, 1, 0, 0, 4 , 29 , 0 , 0 , 0 , 0 ), // #320 {r16, m32|mem}
+ ROW(2, 1, 0, 0, 6 , 101, 0 , 0 , 0 , 0 ), // {r32, m48|mem}
+ ROW(2, 1, 1, 0, 4 , 27 , 0 , 0 , 0 , 0 ), // #322 {r16, r16|m16|mem}
+ ROW(2, 1, 1, 0, 139, 135, 0 , 0 , 0 , 0 ), // {r32|r64, r32|m16|mem}
+ ROW(2, 1, 1, 0, 64 , 28 , 0 , 0 , 0 , 0 ), // #324 {mm|xmm, r32|m32|mem}
ROW(2, 1, 1, 0, 28 , 64 , 0 , 0 , 0 , 0 ), // {r32|m32|mem, mm|xmm}
- ROW(2, 1, 1, 0, 50 , 93 , 0 , 0 , 0 , 0 ), // #310 {xmm, xmm|m32|mem}
+ ROW(2, 1, 1, 0, 50 , 109, 0 , 0 , 0 , 0 ), // #326 {xmm, xmm|m32|mem}
ROW(2, 1, 1, 0, 29 , 50 , 0 , 0 , 0 , 0 ), // {m32|mem, xmm}
- ROW(2, 1, 1, 0, 4 , 9 , 0 , 0 , 0 , 0 ), // #312 {r16, r8lo|r8hi|m8}
- ROW(2, 1, 1, 0, 124, 125, 0 , 0 , 0 , 0 ), // {r32|r64, r8lo|r8hi|m8|r16|m16}
- ROW(2, 0, 1, 0, 4 , 27 , 0 , 0 , 0 , 0 ), // #314 {r16, r16|m16|mem}
- ROW(2, 0, 1, 0, 124, 28 , 0 , 0 , 0 , 0 ), // {r32|r64, r32|m32|mem}
- ROW(4, 1, 1, 1, 6 , 6 , 28 , 35 , 0 , 0 ), // #316 {r32, r32, r32|m32|mem, <edx>}
+ ROW(2, 1, 1, 0, 4 , 9 , 0 , 0 , 0 , 0 ), // #328 {r16, r8lo|r8hi|m8}
+ ROW(2, 1, 1, 0, 139, 140, 0 , 0 , 0 , 0 ), // {r32|r64, r8lo|r8hi|m8|r16|m16}
+ ROW(4, 1, 1, 1, 6 , 6 , 28 , 35 , 0 , 0 ), // #330 {r32, r32, r32|m32|mem, <edx>}
ROW(4, 0, 1, 1, 8 , 8 , 15 , 37 , 0 , 0 ), // {r64, r64, r64|m64|mem, <rdx>}
- ROW(2, 1, 1, 0, 62 , 126, 0 , 0 , 0 , 0 ), // #318 {mm, mm|m64|mem}
+ ROW(2, 1, 1, 0, 62 , 141, 0 , 0 , 0 , 0 ), // #332 {mm, mm|m64|mem}
ROW(2, 1, 1, 0, 50 , 51 , 0 , 0 , 0 , 0 ), // {xmm, xmm|m128|mem}
- ROW(3, 1, 1, 0, 62 , 126, 10 , 0 , 0 , 0 ), // #320 {mm, mm|m64|mem, i8|u8}
+ ROW(3, 1, 1, 0, 62 , 141, 10 , 0 , 0 , 0 ), // #334 {mm, mm|m64|mem, i8|u8}
ROW(3, 1, 1, 0, 50 , 51 , 10 , 0 , 0 , 0 ), // {xmm, xmm|m128|mem, i8|u8}
- ROW(3, 1, 1, 0, 6 , 64 , 10 , 0 , 0 , 0 ), // #322 {r32, mm|xmm, i8|u8}
+ ROW(3, 1, 1, 0, 6 , 64 , 10 , 0 , 0 , 0 ), // #336 {r32, mm|xmm, i8|u8}
ROW(3, 1, 1, 0, 21 , 50 , 10 , 0 , 0 , 0 ), // {m16|mem, xmm, i8|u8}
- ROW(2, 1, 1, 0, 62 , 127, 0 , 0 , 0 , 0 ), // #324 {mm, i8|u8|mm|m64|mem}
+ ROW(2, 1, 1, 0, 62 , 142, 0 , 0 , 0 , 0 ), // #338 {mm, i8|u8|mm|m64|mem}
ROW(2, 1, 1, 0, 50 , 59 , 0 , 0 , 0 , 0 ), // {xmm, i8|u8|xmm|m128|mem}
- ROW(1, 1, 0, 0, 6 , 0 , 0 , 0 , 0 , 0 ), // #326 {r32}
- ROW(1, 0, 1, 0, 8 , 0 , 0 , 0 , 0 , 0 ), // #327 {r64}
- ROW(3, 1, 1, 0, 6 , 28 , 10 , 0 , 0 , 0 ), // #328 {r32, r32|m32|mem, i8|u8}
+ ROW(2, 1, 1, 0, 62 , 143, 0 , 0 , 0 , 0 ), // #340 {mm, mm|m32|mem}
+ ROW(2, 1, 1, 0, 50 , 51 , 0 , 0 , 0 , 0 ), // {xmm, xmm|m128|mem}
+ ROW(1, 1, 0, 0, 6 , 0 , 0 , 0 , 0 , 0 ), // #342 {r32}
+ ROW(1, 0, 1, 0, 8 , 0 , 0 , 0 , 0 , 0 ), // #343 {r64}
+ ROW(0, 1, 1, 0, 0 , 0 , 0 , 0 , 0 , 0 ), // #344 {}
+ ROW(1, 1, 1, 0, 144, 0 , 0 , 0 , 0 , 0 ), // {u16}
+ ROW(3, 1, 1, 0, 6 , 28 , 10 , 0 , 0 , 0 ), // #346 {r32, r32|m32|mem, i8|u8}
ROW(3, 0, 1, 0, 8 , 15 , 10 , 0 , 0 , 0 ), // {r64, r64|m64|mem, i8|u8}
- ROW(4, 1, 1, 0, 50 , 50 , 51 , 50 , 0 , 0 ), // #330 {xmm, xmm, xmm|m128|mem, xmm}
+ ROW(4, 1, 1, 0, 50 , 50 , 51 , 50 , 0 , 0 ), // #348 {xmm, xmm, xmm|m128|mem, xmm}
ROW(4, 1, 1, 0, 53 , 53 , 54 , 53 , 0 , 0 ), // {ymm, ymm, ymm|m256|mem, ymm}
- ROW(2, 1, 1, 0, 50 , 128, 0 , 0 , 0 , 0 ), // #332 {xmm, xmm|m128|ymm|m256}
+ ROW(2, 1, 1, 0, 50 , 145, 0 , 0 , 0 , 0 ), // #350 {xmm, xmm|m128|ymm|m256}
ROW(2, 1, 1, 0, 53 , 57 , 0 , 0 , 0 , 0 ), // {ymm, zmm|m512|mem}
- ROW(4, 1, 1, 0, 50 , 50 , 50 , 65 , 0 , 0 ), // #334 {xmm, xmm, xmm, xmm|m64|mem}
+ ROW(4, 1, 1, 0, 50 , 50 , 50 , 65 , 0 , 0 ), // #352 {xmm, xmm, xmm, xmm|m64|mem}
ROW(4, 1, 1, 0, 50 , 50 , 30 , 50 , 0 , 0 ), // {xmm, xmm, m64|mem, xmm}
- ROW(4, 1, 1, 0, 50 , 50 , 50 , 93 , 0 , 0 ), // #336 {xmm, xmm, xmm, xmm|m32|mem}
+ ROW(4, 1, 1, 0, 50 , 50 , 50 , 109, 0 , 0 ), // #354 {xmm, xmm, xmm, xmm|m32|mem}
ROW(4, 1, 1, 0, 50 , 50 , 29 , 50 , 0 , 0 ), // {xmm, xmm, m32|mem, xmm}
- ROW(4, 1, 1, 0, 53 , 53 , 51 , 10 , 0 , 0 ), // #338 {ymm, ymm, xmm|m128|mem, i8|u8}
+ ROW(4, 1, 1, 0, 53 , 53 , 51 , 10 , 0 , 0 ), // #356 {ymm, ymm, xmm|m128|mem, i8|u8}
ROW(4, 1, 1, 0, 56 , 56 , 51 , 10 , 0 , 0 ), // {zmm, zmm, xmm|m128|mem, i8|u8}
- ROW(1, 1, 0, 1, 36 , 0 , 0 , 0 , 0 , 0 ), // #340 {<eax>}
- ROW(1, 0, 1, 1, 38 , 0 , 0 , 0 , 0 , 0 ), // #341 {<rax>}
- ROW(2, 1, 1, 0, 28 , 50 , 0 , 0 , 0 , 0 ), // #342 {r32|m32|mem, xmm}
+ ROW(1, 1, 0, 1, 36 , 0 , 0 , 0 , 0 , 0 ), // #358 {<eax>}
+ ROW(1, 0, 1, 1, 38 , 0 , 0 , 0 , 0 , 0 ), // #359 {<rax>}
+ ROW(2, 1, 1, 0, 28 , 50 , 0 , 0 , 0 , 0 ), // #360 {r32|m32|mem, xmm}
ROW(2, 1, 1, 0, 50 , 28 , 0 , 0 , 0 , 0 ), // {xmm, r32|m32|mem}
- ROW(2, 1, 1, 0, 30 , 50 , 0 , 0 , 0 , 0 ), // #344 {m64|mem, xmm}
+ ROW(2, 1, 1, 0, 30 , 50 , 0 , 0 , 0 , 0 ), // #362 {m64|mem, xmm}
ROW(3, 1, 1, 0, 50 , 50 , 30 , 0 , 0 , 0 ), // {xmm, xmm, m64|mem}
- ROW(2, 1, 0, 0, 28 , 6 , 0 , 0 , 0 , 0 ), // #346 {r32|m32|mem, r32}
+ ROW(2, 1, 0, 0, 28 , 6 , 0 , 0 , 0 , 0 ), // #364 {r32|m32|mem, r32}
ROW(2, 0, 1, 0, 15 , 8 , 0 , 0 , 0 , 0 ), // {r64|m64|mem, r64}
- ROW(2, 1, 0, 0, 6 , 28 , 0 , 0 , 0 , 0 ), // #348 {r32, r32|m32|mem}
+ ROW(2, 1, 0, 0, 6 , 28 , 0 , 0 , 0 , 0 ), // #366 {r32, r32|m32|mem}
ROW(2, 0, 1, 0, 8 , 15 , 0 , 0 , 0 , 0 ), // {r64, r64|m64|mem}
- ROW(3, 1, 1, 0, 50 , 50 , 59 , 0 , 0 , 0 ), // #350 {xmm, xmm, xmm|m128|mem|i8|u8}
- ROW(3, 1, 1, 0, 50 , 52 , 129, 0 , 0 , 0 ), // {xmm, m128|mem, i8|u8|xmm}
- ROW(2, 1, 1, 0, 80 , 50 , 0 , 0 , 0 , 0 ), // #352 {vm64x|vm64y, xmm}
+ ROW(3, 1, 1, 0, 50 , 50 , 59 , 0 , 0 , 0 ), // #368 {xmm, xmm, xmm|m128|mem|i8|u8}
+ ROW(3, 1, 1, 0, 50 , 52 , 146, 0 , 0 , 0 ), // {xmm, m128|mem, i8|u8|xmm}
+ ROW(2, 1, 1, 0, 67 , 96 , 0 , 0 , 0 , 0 ), // #370 {vm32x, xmm|ymm}
+ ROW(2, 1, 1, 0, 68 , 56 , 0 , 0 , 0 , 0 ), // {vm32y, zmm}
+ ROW(2, 1, 1, 0, 107, 50 , 0 , 0 , 0 , 0 ), // #372 {vm64x|vm64y, xmm}
ROW(2, 1, 1, 0, 72 , 53 , 0 , 0 , 0 , 0 ), // {vm64z, ymm}
- ROW(3, 1, 1, 0, 50 , 50 , 51 , 0 , 0 , 0 ), // #354 {xmm, xmm, xmm|m128|mem}
+ ROW(3, 1, 1, 0, 50 , 50 , 51 , 0 , 0 , 0 ), // #374 {xmm, xmm, xmm|m128|mem}
ROW(3, 1, 1, 0, 50 , 52 , 50 , 0 , 0 , 0 ), // {xmm, m128|mem, xmm}
- ROW(2, 1, 1, 0, 67 , 92 , 0 , 0 , 0 , 0 ), // #356 {vm32x, xmm|ymm}
- ROW(2, 1, 1, 0, 68 , 56 , 0 , 0 , 0 , 0 ), // {vm32y, zmm}
- ROW(1, 1, 0, 1, 33 , 0 , 0 , 0 , 0 , 0 ), // #358 {<ax>}
- ROW(2, 1, 0, 1, 33 , 10 , 0 , 0 , 0 , 0 ), // #359 {<ax>, i8|u8}
- ROW(2, 1, 0, 0, 27 , 4 , 0 , 0 , 0 , 0 ), // #360 {r16|m16|mem, r16}
- ROW(3, 1, 1, 1, 50 , 51 , 130, 0 , 0 , 0 ), // #361 {xmm, xmm|m128|mem, <xmm0>}
- ROW(2, 1, 1, 0, 95 , 131, 0 , 0 , 0 , 0 ), // #362 {bnd, mib}
- ROW(2, 1, 1, 0, 95 , 97 , 0 , 0 , 0 , 0 ), // #363 {bnd, mem}
- ROW(2, 1, 1, 0, 131, 95 , 0 , 0 , 0 , 0 ), // #364 {mib, bnd}
- ROW(1, 1, 1, 0, 132, 0 , 0 , 0 , 0 , 0 ), // #365 {r16|r32|r64}
- ROW(1, 1, 1, 1, 33 , 0 , 0 , 0 , 0 , 0 ), // #366 {<ax>}
- ROW(2, 1, 1, 2, 35 , 36 , 0 , 0 , 0 , 0 ), // #367 {<edx>, <eax>}
- ROW(1, 1, 1, 0, 97 , 0 , 0 , 0 , 0 , 0 ), // #368 {mem}
- ROW(1, 1, 1, 0, 30 , 0 , 0 , 0 , 0 , 0 ), // #369 {m64|mem}
- ROW(1, 1, 1, 1, 133, 0 , 0 , 0 , 0 , 0 ), // #370 {<ds:[memBase|zax]>}
- ROW(2, 1, 1, 2, 134, 135, 0 , 0 , 0 , 0 ), // #371 {<ds:[memBase|zsi]>, <es:[memBase|zdi]>}
- ROW(3, 1, 1, 0, 50 , 65 , 10 , 0 , 0 , 0 ), // #372 {xmm, xmm|m64|mem, i8|u8}
- ROW(3, 1, 1, 0, 50 , 93 , 10 , 0 , 0 , 0 ), // #373 {xmm, xmm|m32|mem, i8|u8}
- ROW(5, 0, 1, 4, 52 , 37 , 38 , 136, 137, 0 ), // #374 {m128|mem, <rdx>, <rax>, <rcx>, <rbx>}
- ROW(5, 1, 1, 4, 30 , 35 , 36 , 105, 138, 0 ), // #375 {m64|mem, <edx>, <eax>, <ecx>, <ebx>}
- ROW(4, 1, 1, 4, 36 , 138, 105, 35 , 0 , 0 ), // #376 {<eax>, <ebx>, <ecx>, <edx>}
- ROW(2, 0, 1, 2, 37 , 38 , 0 , 0 , 0 , 0 ), // #377 {<rdx>, <rax>}
- ROW(2, 1, 1, 0, 62 , 51 , 0 , 0 , 0 , 0 ), // #378 {mm, xmm|m128|mem}
- ROW(2, 1, 1, 0, 50 , 126, 0 , 0 , 0 , 0 ), // #379 {xmm, mm|m64|mem}
- ROW(2, 1, 1, 0, 62 , 65 , 0 , 0 , 0 , 0 ), // #380 {mm, xmm|m64|mem}
- ROW(2, 1, 1, 0, 124, 65 , 0 , 0 , 0 , 0 ), // #381 {r32|r64, xmm|m64|mem}
- ROW(2, 1, 1, 0, 50 , 139, 0 , 0 , 0 , 0 ), // #382 {xmm, r32|m32|mem|r64|m64}
- ROW(2, 1, 1, 0, 124, 93 , 0 , 0 , 0 , 0 ), // #383 {r32|r64, xmm|m32|mem}
- ROW(2, 1, 1, 2, 34 , 33 , 0 , 0 , 0 , 0 ), // #384 {<dx>, <ax>}
- ROW(1, 1, 1, 1, 36 , 0 , 0 , 0 , 0 , 0 ), // #385 {<eax>}
- ROW(2, 1, 1, 0, 12 , 10 , 0 , 0 , 0 , 0 ), // #386 {i16|u16, i8|u8}
- ROW(3, 1, 1, 0, 28 , 50 , 10 , 0 , 0 , 0 ), // #387 {r32|m32|mem, xmm, i8|u8}
- ROW(1, 1, 1, 0, 86 , 0 , 0 , 0 , 0 , 0 ), // #388 {m80|mem}
- ROW(1, 1, 1, 0, 140, 0 , 0 , 0 , 0 , 0 ), // #389 {m16|m32}
- ROW(1, 1, 1, 0, 141, 0 , 0 , 0 , 0 , 0 ), // #390 {m16|m32|m64}
- ROW(1, 1, 1, 0, 142, 0 , 0 , 0 , 0 , 0 ), // #391 {m32|m64|m80|st}
- ROW(1, 1, 1, 0, 21 , 0 , 0 , 0 , 0 , 0 ), // #392 {m16|mem}
- ROW(1, 1, 1, 0, 143, 0 , 0 , 0 , 0 , 0 ), // #393 {ax|m16|mem}
- ROW(1, 0, 1, 0, 97 , 0 , 0 , 0 , 0 , 0 ), // #394 {mem}
- ROW(2, 1, 1, 0, 144, 145, 0 , 0 , 0 , 0 ), // #395 {al|ax|eax, i8|u8|dx}
- ROW(1, 1, 1, 0, 6 , 0 , 0 , 0 , 0 , 0 ), // #396 {r32}
- ROW(2, 1, 1, 0, 146, 147, 0 , 0 , 0 , 0 ), // #397 {es:[memBase|zdi], dx}
- ROW(1, 1, 1, 0, 10 , 0 , 0 , 0 , 0 , 0 ), // #398 {i8|u8}
- ROW(0, 1, 0, 0, 0 , 0 , 0 , 0 , 0 , 0 ), // #399 {}
- ROW(0, 0, 1, 0, 0 , 0 , 0 , 0 , 0 , 0 ), // #400 {}
- ROW(3, 1, 1, 0, 90 , 90 , 90 , 0 , 0 , 0 ), // #401 {k, k, k}
- ROW(2, 1, 1, 0, 90 , 90 , 0 , 0 , 0 , 0 ), // #402 {k, k}
- ROW(3, 1, 1, 0, 90 , 90 , 10 , 0 , 0 , 0 ), // #403 {k, k, i8|u8}
- ROW(1, 1, 1, 1, 148, 0 , 0 , 0 , 0 , 0 ), // #404 {<ah>}
- ROW(1, 1, 1, 0, 29 , 0 , 0 , 0 , 0 , 0 ), // #405 {m32|mem}
- ROW(1, 0, 1, 0, 58 , 0 , 0 , 0 , 0 , 0 ), // #406 {m512|mem}
- ROW(2, 1, 1, 0, 132, 149, 0 , 0 , 0 , 0 ), // #407 {r16|r32|r64, mem|m8|m16|m32|m48|m64|m80|m128|m256|m512|m1024}
- ROW(1, 1, 1, 0, 27 , 0 , 0 , 0 , 0 , 0 ), // #408 {r16|m16|mem}
- ROW(1, 1, 1, 0, 124, 0 , 0 , 0 , 0 , 0 ), // #409 {r32|r64}
- ROW(2, 1, 1, 2, 150, 134, 0 , 0 , 0 , 0 ), // #410 {<al|ax|eax|rax>, <ds:[memBase|zsi]>}
- ROW(3, 1, 1, 0, 124, 28 , 14 , 0 , 0 , 0 ), // #411 {r32|r64, r32|m32|mem, i32|u32}
- ROW(3, 1, 1, 1, 50 , 50 , 151, 0 , 0 , 0 ), // #412 {xmm, xmm, <ds:[memBase|zdi]>}
- ROW(3, 1, 1, 1, 62 , 62 , 151, 0 , 0 , 0 ), // #413 {mm, mm, <ds:[memBase|zdi]>}
- ROW(3, 1, 1, 3, 133, 105, 35 , 0 , 0 , 0 ), // #414 {<ds:[memBase|zax]>, <ecx>, <edx>}
- ROW(2, 1, 1, 0, 103, 58 , 0 , 0 , 0 , 0 ), // #415 {es:[memBase], m512|mem}
- ROW(2, 1, 1, 0, 62 , 50 , 0 , 0 , 0 , 0 ), // #416 {mm, xmm}
- ROW(2, 1, 1, 0, 6 , 50 , 0 , 0 , 0 , 0 ), // #417 {r32, xmm}
- ROW(2, 1, 1, 0, 30 , 62 , 0 , 0 , 0 , 0 ), // #418 {m64|mem, mm}
- ROW(2, 1, 1, 0, 50 , 62 , 0 , 0 , 0 , 0 ), // #419 {xmm, mm}
- ROW(2, 1, 1, 2, 135, 134, 0 , 0 , 0 , 0 ), // #420 {<es:[memBase|zdi]>, <ds:[memBase|zsi]>}
- ROW(2, 1, 1, 2, 36 , 105, 0 , 0 , 0 , 0 ), // #421 {<eax>, <ecx>}
- ROW(3, 1, 1, 3, 36 , 105, 138, 0 , 0 , 0 ), // #422 {<eax>, <ecx>, <ebx>}
- ROW(2, 1, 1, 0, 152, 144, 0 , 0 , 0 , 0 ), // #423 {u8|dx, al|ax|eax}
- ROW(2, 1, 1, 0, 147, 153, 0 , 0 , 0 , 0 ), // #424 {dx, ds:[memBase|zsi]}
- ROW(6, 1, 1, 3, 50 , 51 , 10 , 105, 36 , 35 ), // #425 {xmm, xmm|m128|mem, i8|u8, <ecx>, <eax>, <edx>}
- ROW(6, 1, 1, 3, 50 , 51 , 10 , 130, 36 , 35 ), // #426 {xmm, xmm|m128|mem, i8|u8, <xmm0>, <eax>, <edx>}
- ROW(4, 1, 1, 1, 50 , 51 , 10 , 105, 0 , 0 ), // #427 {xmm, xmm|m128|mem, i8|u8, <ecx>}
- ROW(4, 1, 1, 1, 50 , 51 , 10 , 130, 0 , 0 ), // #428 {xmm, xmm|m128|mem, i8|u8, <xmm0>}
- ROW(3, 1, 1, 0, 115, 50 , 10 , 0 , 0 , 0 ), // #429 {r32|m8|mem|r8lo|r8hi|r16, xmm, i8|u8}
- ROW(3, 0, 1, 0, 15 , 50 , 10 , 0 , 0 , 0 ), // #430 {r64|m64|mem, xmm, i8|u8}
- ROW(3, 1, 1, 0, 50 , 115, 10 , 0 , 0 , 0 ), // #431 {xmm, r32|m8|mem|r8lo|r8hi|r16, i8|u8}
- ROW(3, 1, 1, 0, 50 , 28 , 10 , 0 , 0 , 0 ), // #432 {xmm, r32|m32|mem, i8|u8}
- ROW(3, 0, 1, 0, 50 , 15 , 10 , 0 , 0 , 0 ), // #433 {xmm, r64|m64|mem, i8|u8}
- ROW(3, 1, 1, 0, 64 , 119, 10 , 0 , 0 , 0 ), // #434 {mm|xmm, r32|m16|mem|r16, i8|u8}
- ROW(2, 1, 1, 0, 6 , 64 , 0 , 0 , 0 , 0 ), // #435 {r32, mm|xmm}
- ROW(2, 1, 1, 0, 50 , 10 , 0 , 0 , 0 , 0 ), // #436 {xmm, i8|u8}
- ROW(1, 1, 1, 0, 139, 0 , 0 , 0 , 0 , 0 ), // #437 {r32|m32|mem|r64|m64}
- ROW(2, 1, 1, 0, 31 , 87 , 0 , 0 , 0 , 0 ), // #438 {r8lo|r8hi|m8|r16|m16|r32|m32|r64|m64|mem, cl|i8|u8}
- ROW(1, 0, 1, 0, 124, 0 , 0 , 0 , 0 , 0 ), // #439 {r32|r64}
- ROW(3, 1, 1, 3, 35 , 36 , 105, 0 , 0 , 0 ), // #440 {<edx>, <eax>, <ecx>}
- ROW(2, 1, 1, 2, 150, 135, 0 , 0 , 0 , 0 ), // #441 {<al|ax|eax|rax>, <es:[memBase|zdi]>}
- ROW(1, 1, 1, 0, 1 , 0 , 0 , 0 , 0 , 0 ), // #442 {r8lo|r8hi|m8|mem}
- ROW(1, 1, 1, 0, 154, 0 , 0 , 0 , 0 , 0 ), // #443 {r16|m16|mem|r32|r64}
- ROW(2, 1, 1, 2, 135, 150, 0 , 0 , 0 , 0 ), // #444 {<es:[memBase|zdi]>, <al|ax|eax|rax>}
- ROW(3, 0, 1, 0, 155, 155, 155, 0 , 0 , 0 ), // #445 {tmm, tmm, tmm}
- ROW(2, 0, 1, 0, 155, 97 , 0 , 0 , 0 , 0 ), // #446 {tmm, tmem}
- ROW(2, 0, 1, 0, 97 , 155, 0 , 0 , 0 , 0 ), // #447 {tmem, tmm}
- ROW(1, 0, 1, 0, 155, 0 , 0 , 0 , 0 , 0 ), // #448 {tmm}
- ROW(3, 1, 1, 2, 6 , 35 , 36 , 0 , 0 , 0 ), // #449 {r32, <edx>, <eax>}
- ROW(1, 1, 1, 0, 28 , 0 , 0 , 0 , 0 , 0 ), // #450 {r32|m32|mem}
- ROW(1, 1, 1, 0, 156, 0 , 0 , 0 , 0 , 0 ), // #451 {ds:[memBase]}
- ROW(6, 1, 1, 0, 56 , 56 , 56 , 56 , 56 , 52 ), // #452 {zmm, zmm, zmm, zmm, zmm, m128|mem}
- ROW(6, 1, 1, 0, 50 , 50 , 50 , 50 , 50 , 52 ), // #453 {xmm, xmm, xmm, xmm, xmm, m128|mem}
- ROW(3, 1, 1, 0, 50 , 50 , 65 , 0 , 0 , 0 ), // #454 {xmm, xmm, xmm|m64|mem}
- ROW(3, 1, 1, 0, 50 , 50 , 93 , 0 , 0 , 0 ), // #455 {xmm, xmm, xmm|m32|mem}
- ROW(2, 1, 1, 0, 53 , 52 , 0 , 0 , 0 , 0 ), // #456 {ymm, m128|mem}
- ROW(2, 1, 1, 0, 157, 65 , 0 , 0 , 0 , 0 ), // #457 {ymm|zmm, xmm|m64|mem}
- ROW(2, 1, 1, 0, 157, 52 , 0 , 0 , 0 , 0 ), // #458 {ymm|zmm, m128|mem}
- ROW(2, 1, 1, 0, 56 , 55 , 0 , 0 , 0 , 0 ), // #459 {zmm, m256|mem}
- ROW(2, 1, 1, 0, 158, 65 , 0 , 0 , 0 , 0 ), // #460 {xmm|ymm|zmm, xmm|m64|mem}
- ROW(2, 1, 1, 0, 158, 93 , 0 , 0 , 0 , 0 ), // #461 {xmm|ymm|zmm, m32|mem|xmm}
- ROW(4, 1, 1, 0, 88 , 50 , 65 , 10 , 0 , 0 ), // #462 {xmm|k, xmm, xmm|m64|mem, i8|u8}
- ROW(4, 1, 1, 0, 88 , 50 , 93 , 10 , 0 , 0 ), // #463 {xmm|k, xmm, xmm|m32|mem, i8|u8}
- ROW(3, 1, 1, 0, 50 , 50 , 139, 0 , 0 , 0 ), // #464 {xmm, xmm, r32|m32|mem|r64|m64}
- ROW(3, 1, 1, 0, 51 , 157, 10 , 0 , 0 , 0 ), // #465 {xmm|m128|mem, ymm|zmm, i8|u8}
- ROW(4, 1, 1, 0, 50 , 50 , 65 , 10 , 0 , 0 ), // #466 {xmm, xmm, xmm|m64|mem, i8|u8}
- ROW(4, 1, 1, 0, 50 , 50 , 93 , 10 , 0 , 0 ), // #467 {xmm, xmm, xmm|m32|mem, i8|u8}
- ROW(3, 1, 1, 0, 90 , 159, 10 , 0 , 0 , 0 ), // #468 {k, xmm|m128|ymm|m256|zmm|m512, i8|u8}
- ROW(3, 1, 1, 0, 90 , 65 , 10 , 0 , 0 , 0 ), // #469 {k, xmm|m64|mem, i8|u8}
- ROW(3, 1, 1, 0, 90 , 93 , 10 , 0 , 0 , 0 ), // #470 {k, xmm|m32|mem, i8|u8}
- ROW(1, 1, 1, 0, 68 , 0 , 0 , 0 , 0 , 0 ), // #471 {vm32y}
- ROW(1, 1, 1, 0, 69 , 0 , 0 , 0 , 0 , 0 ), // #472 {vm32z}
- ROW(1, 1, 1, 0, 72 , 0 , 0 , 0 , 0 , 0 ), // #473 {vm64z}
- ROW(4, 1, 1, 0, 56 , 56 , 54 , 10 , 0 , 0 ), // #474 {zmm, zmm, ymm|m256|mem, i8|u8}
- ROW(2, 1, 1, 0, 6 , 92 , 0 , 0 , 0 , 0 ), // #475 {r32, xmm|ymm}
- ROW(2, 1, 1, 0, 158, 160, 0 , 0 , 0 , 0 ), // #476 {xmm|ymm|zmm, xmm|m8|mem|r32|r8lo|r8hi|r16}
- ROW(2, 1, 1, 0, 158, 161, 0 , 0 , 0 , 0 ), // #477 {xmm|ymm|zmm, xmm|m32|mem|r32}
- ROW(2, 1, 1, 0, 158, 90 , 0 , 0 , 0 , 0 ), // #478 {xmm|ymm|zmm, k}
- ROW(2, 1, 1, 0, 158, 162, 0 , 0 , 0 , 0 ), // #479 {xmm|ymm|zmm, xmm|m16|mem|r32|r16}
- ROW(3, 1, 1, 0, 119, 50 , 10 , 0 , 0 , 0 ), // #480 {r32|m16|mem|r16, xmm, i8|u8}
- ROW(4, 1, 1, 0, 50 , 50 , 115, 10 , 0 , 0 ), // #481 {xmm, xmm, r32|m8|mem|r8lo|r8hi|r16, i8|u8}
- ROW(4, 1, 1, 0, 50 , 50 , 28 , 10 , 0 , 0 ), // #482 {xmm, xmm, r32|m32|mem, i8|u8}
- ROW(4, 0, 1, 0, 50 , 50 , 15 , 10 , 0 , 0 ), // #483 {xmm, xmm, r64|m64|mem, i8|u8}
- ROW(4, 1, 1, 0, 50 , 50 , 119, 10 , 0 , 0 ), // #484 {xmm, xmm, r32|m16|mem|r16, i8|u8}
- ROW(2, 1, 1, 0, 90 , 158, 0 , 0 , 0 , 0 ), // #485 {k, xmm|ymm|zmm}
- ROW(1, 1, 1, 0, 108, 0 , 0 , 0 , 0 , 0 ), // #486 {rel16|rel32}
- ROW(3, 1, 1, 2, 97 , 35 , 36 , 0 , 0 , 0 ), // #487 {mem, <edx>, <eax>}
- ROW(3, 0, 1, 2, 97 , 35 , 36 , 0 , 0 , 0 ) // #488 {mem, <edx>, <eax>}
+ ROW(1, 1, 0, 1, 33 , 0 , 0 , 0 , 0 , 0 ), // #376 {<ax>}
+ ROW(2, 1, 0, 1, 33 , 10 , 0 , 0 , 0 , 0 ), // #377 {<ax>, i8|u8}
+ ROW(2, 1, 0, 0, 27 , 4 , 0 , 0 , 0 , 0 ), // #378 {r16|m16|mem, r16}
+ ROW(3, 1, 1, 1, 50 , 51 , 147, 0 , 0 , 0 ), // #379 {xmm, xmm|m128|mem, <xmm0>}
+ ROW(2, 1, 1, 0, 111, 148, 0 , 0 , 0 , 0 ), // #380 {bnd, mib}
+ ROW(2, 1, 1, 0, 111, 113, 0 , 0 , 0 , 0 ), // #381 {bnd, mem}
+ ROW(2, 1, 1, 0, 148, 111, 0 , 0 , 0 , 0 ), // #382 {mib, bnd}
+ ROW(1, 1, 1, 0, 149, 0 , 0 , 0 , 0 , 0 ), // #383 {r16|r32|r64}
+ ROW(1, 1, 1, 1, 33 , 0 , 0 , 0 , 0 , 0 ), // #384 {<ax>}
+ ROW(2, 1, 1, 2, 35 , 36 , 0 , 0 , 0 , 0 ), // #385 {<edx>, <eax>}
+ ROW(1, 1, 1, 0, 113, 0 , 0 , 0 , 0 , 0 ), // #386 {mem}
+ ROW(1, 1, 1, 0, 30 , 0 , 0 , 0 , 0 , 0 ), // #387 {m64|mem}
+ ROW(0, 0, 1, 0, 0 , 0 , 0 , 0 , 0 , 0 ), // #388 {}
+ ROW(1, 1, 1, 1, 150, 0 , 0 , 0 , 0 , 0 ), // #389 {<ds:[mem|m512|memBase|zax]>}
+ ROW(3, 1, 1, 0, 50 , 65 , 10 , 0 , 0 , 0 ), // #390 {xmm, xmm|m64|mem, i8|u8}
+ ROW(3, 1, 1, 0, 50 , 109, 10 , 0 , 0 , 0 ), // #391 {xmm, xmm|m32|mem, i8|u8}
+ ROW(5, 0, 1, 4, 52 , 37 , 38 , 151, 152, 0 ), // #392 {m128|mem, <rdx>, <rax>, <rcx>, <rbx>}
+ ROW(5, 1, 1, 4, 30 , 35 , 36 , 121, 153, 0 ), // #393 {m64|mem, <edx>, <eax>, <ecx>, <ebx>}
+ ROW(4, 1, 1, 4, 36 , 153, 121, 35 , 0 , 0 ), // #394 {<eax>, <ebx>, <ecx>, <edx>}
+ ROW(2, 0, 1, 2, 37 , 38 , 0 , 0 , 0 , 0 ), // #395 {<rdx>, <rax>}
+ ROW(2, 1, 1, 0, 62 , 51 , 0 , 0 , 0 , 0 ), // #396 {mm, xmm|m128|mem}
+ ROW(2, 1, 1, 0, 50 , 141, 0 , 0 , 0 , 0 ), // #397 {xmm, mm|m64|mem}
+ ROW(2, 1, 1, 0, 62 , 65 , 0 , 0 , 0 , 0 ), // #398 {mm, xmm|m64|mem}
+ ROW(2, 1, 1, 0, 139, 65 , 0 , 0 , 0 , 0 ), // #399 {r32|r64, xmm|m64|mem}
+ ROW(2, 1, 1, 0, 50 , 154, 0 , 0 , 0 , 0 ), // #400 {xmm, r32|m32|mem|r64|m64}
+ ROW(2, 1, 1, 0, 139, 109, 0 , 0 , 0 , 0 ), // #401 {r32|r64, xmm|m32|mem}
+ ROW(2, 1, 1, 2, 34 , 33 , 0 , 0 , 0 , 0 ), // #402 {<dx>, <ax>}
+ ROW(1, 1, 1, 1, 36 , 0 , 0 , 0 , 0 , 0 ), // #403 {<eax>}
+ ROW(2, 1, 1, 0, 12 , 10 , 0 , 0 , 0 , 0 ), // #404 {i16|u16, i8|u8}
+ ROW(3, 1, 1, 0, 28 , 50 , 10 , 0 , 0 , 0 ), // #405 {r32|m32|mem, xmm, i8|u8}
+ ROW(1, 1, 1, 0, 102, 0 , 0 , 0 , 0 , 0 ), // #406 {m80|mem}
+ ROW(1, 1, 1, 0, 155, 0 , 0 , 0 , 0 , 0 ), // #407 {m16|m32}
+ ROW(1, 1, 1, 0, 156, 0 , 0 , 0 , 0 , 0 ), // #408 {m16|m32|m64}
+ ROW(1, 1, 1, 0, 157, 0 , 0 , 0 , 0 , 0 ), // #409 {m32|m64|m80|st}
+ ROW(1, 1, 1, 0, 21 , 0 , 0 , 0 , 0 , 0 ), // #410 {m16|mem}
+ ROW(1, 1, 1, 0, 158, 0 , 0 , 0 , 0 , 0 ), // #411 {ax|m16|mem}
+ ROW(1, 0, 1, 0, 113, 0 , 0 , 0 , 0 , 0 ), // #412 {mem}
+ ROW(2, 1, 1, 1, 10 , 36 , 0 , 0 , 0 , 0 ), // #413 {i8|u8, <eax>}
+ ROW(2, 1, 1, 0, 159, 160, 0 , 0 , 0 , 0 ), // #414 {al|ax|eax, i8|u8|dx}
+ ROW(1, 1, 1, 0, 6 , 0 , 0 , 0 , 0 , 0 ), // #415 {r32}
+ ROW(2, 1, 1, 0, 161, 162, 0 , 0 , 0 , 0 ), // #416 {es:[m8|memBase|zdi|m16|m32], dx}
+ ROW(1, 1, 1, 0, 10 , 0 , 0 , 0 , 0 , 0 ), // #417 {i8|u8}
+ ROW(0, 1, 0, 0, 0 , 0 , 0 , 0 , 0 , 0 ), // #418 {}
+ ROW(3, 1, 1, 0, 106, 106, 106, 0 , 0 , 0 ), // #419 {k, k, k}
+ ROW(2, 1, 1, 0, 106, 106, 0 , 0 , 0 , 0 ), // #420 {k, k}
+ ROW(3, 1, 1, 0, 106, 106, 10 , 0 , 0 , 0 ), // #421 {k, k, i8|u8}
+ ROW(1, 1, 1, 1, 163, 0 , 0 , 0 , 0 , 0 ), // #422 {<ah>}
+ ROW(1, 1, 1, 0, 29 , 0 , 0 , 0 , 0 , 0 ), // #423 {m32|mem}
+ ROW(1, 0, 1, 0, 58 , 0 , 0 , 0 , 0 , 0 ), // #424 {m512|mem}
+ ROW(2, 1, 1, 0, 149, 164, 0 , 0 , 0 , 0 ), // #425 {r16|r32|r64, mem|m8|m16|m32|m48|m64|m80|m128|m256|m512|m1024}
+ ROW(1, 1, 1, 0, 27 , 0 , 0 , 0 , 0 , 0 ), // #426 {r16|m16|mem}
+ ROW(1, 1, 1, 0, 139, 0 , 0 , 0 , 0 , 0 ), // #427 {r32|r64}
+ ROW(3, 1, 1, 0, 139, 28 , 14 , 0 , 0 , 0 ), // #428 {r32|r64, r32|m32|mem, i32|u32}
+ ROW(3, 1, 1, 1, 50 , 50 , 165, 0 , 0 , 0 ), // #429 {xmm, xmm, <ds:[mem|m128|memBase|zdi]>}
+ ROW(3, 1, 1, 1, 62 , 62 , 166, 0 , 0 , 0 ), // #430 {mm, mm, <ds:[mem|m64|memBase|zdi]>}
+ ROW(3, 1, 1, 3, 167, 121, 35 , 0 , 0 , 0 ), // #431 {<ds:[mem|memBase|zax]>, <ecx>, <edx>}
+ ROW(2, 1, 1, 0, 119, 58 , 0 , 0 , 0 , 0 ), // #432 {es:[mem|m512|memBase], m512|mem}
+ ROW(2, 1, 1, 0, 62 , 50 , 0 , 0 , 0 , 0 ), // #433 {mm, xmm}
+ ROW(2, 1, 1, 0, 6 , 50 , 0 , 0 , 0 , 0 ), // #434 {r32, xmm}
+ ROW(2, 1, 1, 0, 30 , 62 , 0 , 0 , 0 , 0 ), // #435 {m64|mem, mm}
+ ROW(2, 1, 1, 0, 50 , 62 , 0 , 0 , 0 , 0 ), // #436 {xmm, mm}
+ ROW(2, 0, 1, 0, 149, 28 , 0 , 0 , 0 , 0 ), // #437 {r16|r32|r64, r32|m32|mem}
+ ROW(2, 1, 1, 2, 36 , 121, 0 , 0 , 0 , 0 ), // #438 {<eax>, <ecx>}
+ ROW(3, 1, 1, 3, 36 , 121, 153, 0 , 0 , 0 ), // #439 {<eax>, <ecx>, <ebx>}
+ ROW(2, 1, 1, 0, 168, 159, 0 , 0 , 0 , 0 ), // #440 {u8|dx, al|ax|eax}
+ ROW(2, 1, 1, 0, 162, 169, 0 , 0 , 0 , 0 ), // #441 {dx, ds:[m8|memBase|zsi|m16|m32]}
+ ROW(6, 1, 1, 3, 50 , 51 , 10 , 121, 36 , 35 ), // #442 {xmm, xmm|m128|mem, i8|u8, <ecx>, <eax>, <edx>}
+ ROW(6, 1, 1, 3, 50 , 51 , 10 , 147, 36 , 35 ), // #443 {xmm, xmm|m128|mem, i8|u8, <xmm0>, <eax>, <edx>}
+ ROW(4, 1, 1, 1, 50 , 51 , 10 , 121, 0 , 0 ), // #444 {xmm, xmm|m128|mem, i8|u8, <ecx>}
+ ROW(4, 1, 1, 1, 50 , 51 , 10 , 147, 0 , 0 ), // #445 {xmm, xmm|m128|mem, i8|u8, <xmm0>}
+ ROW(3, 1, 1, 0, 131, 50 , 10 , 0 , 0 , 0 ), // #446 {r32|m8|mem, xmm, i8|u8}
+ ROW(3, 0, 1, 0, 15 , 50 , 10 , 0 , 0 , 0 ), // #447 {r64|m64|mem, xmm, i8|u8}
+ ROW(3, 1, 1, 0, 50 , 131, 10 , 0 , 0 , 0 ), // #448 {xmm, r32|m8|mem, i8|u8}
+ ROW(3, 1, 1, 0, 50 , 28 , 10 , 0 , 0 , 0 ), // #449 {xmm, r32|m32|mem, i8|u8}
+ ROW(3, 0, 1, 0, 50 , 15 , 10 , 0 , 0 , 0 ), // #450 {xmm, r64|m64|mem, i8|u8}
+ ROW(3, 1, 1, 0, 64 , 135, 10 , 0 , 0 , 0 ), // #451 {mm|xmm, r32|m16|mem, i8|u8}
+ ROW(2, 1, 1, 0, 6 , 64 , 0 , 0 , 0 , 0 ), // #452 {r32, mm|xmm}
+ ROW(2, 1, 1, 0, 50 , 10 , 0 , 0 , 0 , 0 ), // #453 {xmm, i8|u8}
+ ROW(1, 1, 1, 0, 154, 0 , 0 , 0 , 0 , 0 ), // #454 {r32|m32|mem|r64|m64}
+ ROW(2, 1, 1, 0, 31 , 103, 0 , 0 , 0 , 0 ), // #455 {r8lo|r8hi|m8|r16|m16|r32|m32|r64|m64|mem, cl|i8|u8}
+ ROW(1, 0, 1, 0, 139, 0 , 0 , 0 , 0 , 0 ), // #456 {r32|r64}
+ ROW(3, 1, 1, 3, 35 , 36 , 121, 0 , 0 , 0 ), // #457 {<edx>, <eax>, <ecx>}
+ ROW(1, 1, 1, 0, 1 , 0 , 0 , 0 , 0 , 0 ), // #458 {r8lo|r8hi|m8|mem}
+ ROW(1, 1, 1, 0, 170, 0 , 0 , 0 , 0 , 0 ), // #459 {r16|m16|mem|r32|r64}
+ ROW(3, 0, 1, 0, 171, 171, 171, 0 , 0 , 0 ), // #460 {tmm, tmm, tmm}
+ ROW(2, 0, 1, 0, 171, 113, 0 , 0 , 0 , 0 ), // #461 {tmm, tmem}
+ ROW(2, 0, 1, 0, 113, 171, 0 , 0 , 0 , 0 ), // #462 {tmem, tmm}
+ ROW(1, 0, 1, 0, 171, 0 , 0 , 0 , 0 , 0 ), // #463 {tmm}
+ ROW(3, 1, 1, 2, 6 , 35 , 36 , 0 , 0 , 0 ), // #464 {r32, <edx>, <eax>}
+ ROW(1, 1, 1, 0, 172, 0 , 0 , 0 , 0 , 0 ), // #465 {ds:[mem|memBase]}
+ ROW(6, 1, 1, 0, 56 , 56 , 56 , 56 , 56 , 52 ), // #466 {zmm, zmm, zmm, zmm, zmm, m128|mem}
+ ROW(6, 1, 1, 0, 50 , 50 , 50 , 50 , 50 , 52 ), // #467 {xmm, xmm, xmm, xmm, xmm, m128|mem}
+ ROW(3, 1, 1, 0, 50 , 50 , 65 , 0 , 0 , 0 ), // #468 {xmm, xmm, xmm|m64|mem}
+ ROW(3, 1, 1, 0, 50 , 50 , 109, 0 , 0 , 0 ), // #469 {xmm, xmm, xmm|m32|mem}
+ ROW(2, 1, 1, 0, 53 , 52 , 0 , 0 , 0 , 0 ), // #470 {ymm, m128|mem}
+ ROW(2, 1, 1, 0, 173, 65 , 0 , 0 , 0 , 0 ), // #471 {ymm|zmm, xmm|m64|mem}
+ ROW(2, 1, 1, 0, 173, 52 , 0 , 0 , 0 , 0 ), // #472 {ymm|zmm, m128|mem}
+ ROW(2, 1, 1, 0, 56 , 55 , 0 , 0 , 0 , 0 ), // #473 {zmm, m256|mem}
+ ROW(2, 1, 1, 0, 174, 65 , 0 , 0 , 0 , 0 ), // #474 {xmm|ymm|zmm, xmm|m64|mem}
+ ROW(2, 1, 1, 0, 174, 109, 0 , 0 , 0 , 0 ), // #475 {xmm|ymm|zmm, m32|mem|xmm}
+ ROW(4, 1, 1, 0, 104, 50 , 65 , 10 , 0 , 0 ), // #476 {xmm|k, xmm, xmm|m64|mem, i8|u8}
+ ROW(4, 1, 1, 0, 104, 50 , 109, 10 , 0 , 0 ), // #477 {xmm|k, xmm, xmm|m32|mem, i8|u8}
+ ROW(3, 1, 1, 0, 50 , 50 , 154, 0 , 0 , 0 ), // #478 {xmm, xmm, r32|m32|mem|r64|m64}
+ ROW(3, 1, 1, 0, 51 , 173, 10 , 0 , 0 , 0 ), // #479 {xmm|m128|mem, ymm|zmm, i8|u8}
+ ROW(4, 1, 1, 0, 50 , 50 , 65 , 10 , 0 , 0 ), // #480 {xmm, xmm, xmm|m64|mem, i8|u8}
+ ROW(4, 1, 1, 0, 50 , 50 , 109, 10 , 0 , 0 ), // #481 {xmm, xmm, xmm|m32|mem, i8|u8}
+ ROW(3, 1, 1, 0, 106, 175, 10 , 0 , 0 , 0 ), // #482 {k, xmm|m128|ymm|m256|zmm|m512, i8|u8}
+ ROW(3, 1, 1, 0, 106, 65 , 10 , 0 , 0 , 0 ), // #483 {k, xmm|m64|mem, i8|u8}
+ ROW(3, 1, 1, 0, 106, 109, 10 , 0 , 0 , 0 ), // #484 {k, xmm|m32|mem, i8|u8}
+ ROW(1, 1, 1, 0, 68 , 0 , 0 , 0 , 0 , 0 ), // #485 {vm32y}
+ ROW(1, 1, 1, 0, 69 , 0 , 0 , 0 , 0 , 0 ), // #486 {vm32z}
+ ROW(1, 1, 1, 0, 72 , 0 , 0 , 0 , 0 , 0 ), // #487 {vm64z}
+ ROW(4, 1, 1, 0, 56 , 56 , 54 , 10 , 0 , 0 ), // #488 {zmm, zmm, ymm|m256|mem, i8|u8}
+ ROW(2, 1, 1, 0, 6 , 96 , 0 , 0 , 0 , 0 ), // #489 {r32, xmm|ymm}
+ ROW(2, 1, 1, 0, 174, 176, 0 , 0 , 0 , 0 ), // #490 {xmm|ymm|zmm, xmm|m8|mem|r32}
+ ROW(2, 1, 1, 0, 174, 177, 0 , 0 , 0 , 0 ), // #491 {xmm|ymm|zmm, xmm|m32|mem|r32}
+ ROW(2, 1, 1, 0, 174, 106, 0 , 0 , 0 , 0 ), // #492 {xmm|ymm|zmm, k}
+ ROW(2, 1, 1, 0, 174, 178, 0 , 0 , 0 , 0 ), // #493 {xmm|ymm|zmm, xmm|m16|mem|r32}
+ ROW(3, 1, 1, 0, 135, 50 , 10 , 0 , 0 , 0 ), // #494 {r32|m16|mem, xmm, i8|u8}
+ ROW(4, 1, 1, 0, 50 , 50 , 131, 10 , 0 , 0 ), // #495 {xmm, xmm, r32|m8|mem, i8|u8}
+ ROW(4, 1, 1, 0, 50 , 50 , 28 , 10 , 0 , 0 ), // #496 {xmm, xmm, r32|m32|mem, i8|u8}
+ ROW(4, 0, 1, 0, 50 , 50 , 15 , 10 , 0 , 0 ), // #497 {xmm, xmm, r64|m64|mem, i8|u8}
+ ROW(4, 1, 1, 0, 50 , 50 , 135, 10 , 0 , 0 ), // #498 {xmm, xmm, r32|m16|mem, i8|u8}
+ ROW(2, 1, 1, 0, 106, 174, 0 , 0 , 0 , 0 ), // #499 {k, xmm|ymm|zmm}
+ ROW(1, 1, 1, 0, 124, 0 , 0 , 0 , 0 , 0 ), // #500 {rel16|rel32}
+ ROW(3, 1, 1, 2, 113, 35 , 36 , 0 , 0 , 0 ), // #501 {mem, <edx>, <eax>}
+ ROW(3, 0, 1, 2, 113, 35 , 36 , 0 , 0 , 0 ) // #502 {mem, <edx>, <eax>}
};
#undef ROW
@@ -3451,14 +3476,30 @@ const InstDB::OpSignature InstDB::_opSignatureTable[] = {
ROW(F(Vm), M(Vm64x), 0, 0x00),
ROW(F(Vm), M(Vm64y), 0, 0x00),
ROW(F(Vm), M(Vm64z), 0, 0x00),
+ ROW(F(Mem) | F(Implicit), M(M8) | M(BaseOnly) | M(Ds), 0, 0x40),
+ ROW(F(Mem) | F(Implicit), M(M8) | M(BaseOnly) | M(Es), 0, 0x80),
+ ROW(F(Mem) | F(Implicit), M(M16) | M(BaseOnly) | M(Ds), 0, 0x40),
+ ROW(F(Mem) | F(Implicit), M(M16) | M(BaseOnly) | M(Es), 0, 0x80),
+ ROW(F(Mem) | F(Implicit), M(M32) | M(BaseOnly) | M(Ds), 0, 0x40),
+ ROW(F(Mem) | F(Implicit), M(M32) | M(BaseOnly) | M(Es), 0, 0x80),
+ ROW(F(Mem) | F(Implicit), M(M64) | M(BaseOnly) | M(Ds), 0, 0x40),
+ ROW(F(Mem) | F(Implicit), M(M64) | M(BaseOnly) | M(Es), 0, 0x80),
ROW(F(GpbLo) | F(Implicit), 0, 0, 0x01),
+ ROW(F(Mem) | F(Implicit), M(M8) | M(BaseOnly) | M(Ds) | M(Any), 0, 0x40),
+ ROW(F(Mem) | F(Implicit), M(M16) | M(BaseOnly) | M(Ds) | M(Any), 0, 0x40),
+ ROW(F(Mem) | F(Implicit), M(M32) | M(BaseOnly) | M(Ds) | M(Any), 0, 0x40),
+ ROW(F(Mem) | F(Implicit), M(M64) | M(BaseOnly) | M(Ds) | M(Any), 0, 0x40),
ROW(F(Gpw) | F(Gpq) | F(Mem), M(M16) | M(M64), 0, 0x00),
ROW(F(SReg), 0, 0, 0x1A),
ROW(F(SReg), 0, 0, 0x60),
ROW(F(Gpw) | F(Gpq) | F(Mem) | F(I8) | F(I16) | F(I32), M(M16) | M(M64), 0, 0x00),
ROW(F(Gpd) | F(Mem) | F(I32) | F(U32), M(M32), 0, 0x00),
ROW(F(SReg), 0, 0, 0x1E),
- ROW(F(Vm), M(Vm64x) | M(Vm64y), 0, 0x00),
+ ROW(F(Mem) | F(Implicit), M(M8) | M(BaseOnly) | M(Es) | M(Any), 0, 0x80),
+ ROW(F(Mem) | F(Implicit), M(M16) | M(BaseOnly) | M(Es) | M(Any), 0, 0x80),
+ ROW(F(Mem) | F(Implicit), M(M32) | M(BaseOnly) | M(Es) | M(Any), 0, 0x80),
+ ROW(F(Mem) | F(Implicit), M(M64) | M(BaseOnly) | M(Es) | M(Any), 0, 0x80),
+ ROW(F(Xmm) | F(Ymm), 0, 0, 0x00),
ROW(F(I4) | F(U4), 0, 0, 0x00),
ROW(F(Mem), M(M32) | M(M64), 0, 0x00),
ROW(F(St), 0, 0, 0x01),
@@ -3469,8 +3510,8 @@ const InstDB::OpSignature InstDB::_opSignatureTable[] = {
ROW(F(Xmm) | F(KReg), 0, 0, 0x00),
ROW(F(Ymm) | F(KReg), 0, 0, 0x00),
ROW(F(KReg), 0, 0, 0x00),
+ ROW(F(Vm), M(Vm64x) | M(Vm64y), 0, 0x00),
ROW(F(Gpq) | F(Xmm) | F(Mem), M(M64) | M(Any), 0, 0x00),
- ROW(F(Xmm) | F(Ymm), 0, 0, 0x00),
ROW(F(Xmm) | F(Mem), M(M32) | M(Any), 0, 0x00),
ROW(F(Xmm) | F(Mem), M(M16) | M(Any), 0, 0x00),
ROW(F(Bnd), 0, 0, 0x00),
@@ -3481,7 +3522,7 @@ const InstDB::OpSignature InstDB::_opSignatureTable[] = {
ROW(F(GpbLo) | F(GpbHi) | F(Gpw) | F(Gpd) | F(Mem), M(M8) | M(M16) | M(M32), 0, 0x00),
ROW(F(GpbLo) | F(GpbHi) | F(Gpq) | F(Mem), M(M8) | M(M64), 0, 0x00),
ROW(F(Gpw) | F(Gpd), 0, 0, 0x00),
- ROW(F(Mem), M(BaseOnly) | M(Es), 0, 0x00),
+ ROW(F(Mem), M(M512) | M(BaseOnly) | M(Es) | M(Any), 0, 0x00),
ROW(F(St) | F(Mem), M(M32) | M(M64), 0, 0x00),
ROW(F(Gpd) | F(Implicit), 0, 0, 0x02),
ROW(F(Gpd) | F(Gpq) | F(Implicit), 0, 0, 0x01),
@@ -3492,28 +3533,27 @@ const InstDB::OpSignature InstDB::_opSignatureTable[] = {
ROW(F(Gpd) | F(Gpq) | F(Implicit), 0, 0, 0x02),
ROW(F(Gpq) | F(Mem) | F(I32) | F(I64) | F(Rel8) | F(Rel32), M(M64) | M(Any), 0, 0x00),
ROW(F(Gpd) | F(Mem) | F(I32) | F(I64) | F(Rel32), M(M32) | M(Any), 0, 0x00),
- ROW(F(GpbLo) | F(GpbHi) | F(Gpw) | F(Gpd) | F(KReg) | F(Mem), M(M8) | M(Any), 0, 0x00),
- ROW(F(GpbLo) | F(GpbHi) | F(Gpw) | F(Gpd) | F(Mem), M(M8) | M(Any), 0, 0x00),
+ ROW(F(Gpd) | F(KReg) | F(Mem), M(M8) | M(Any), 0, 0x00),
+ ROW(F(Gpd) | F(Mem), M(M8) | M(Any), 0, 0x00),
ROW(F(Gpd) | F(KReg) | F(Mem), M(M32) | M(Any), 0, 0x00),
ROW(F(Gpq) | F(KReg) | F(Mem), M(M64) | M(Any), 0, 0x00),
- ROW(F(Gpw) | F(Gpd) | F(KReg) | F(Mem), M(M16) | M(Any), 0, 0x00),
- ROW(F(Gpw) | F(Gpd) | F(Mem), M(M16) | M(Any), 0, 0x00),
+ ROW(F(Gpd) | F(KReg) | F(Mem), M(M16) | M(Any), 0, 0x00),
+ ROW(F(Gpd) | F(Mem), M(M16) | M(Any), 0, 0x00),
ROW(F(I16), 0, 0, 0x00),
ROW(F(I16) | F(I32), 0, 0, 0x00),
ROW(F(Mem), M(M32) | M(M48) | M(M80) | M(Any), 0, 0x00),
- ROW(F(U16), 0, 0, 0x00),
ROW(F(Gpd) | F(Gpq), 0, 0, 0x00),
ROW(F(GpbLo) | F(GpbHi) | F(Gpw) | F(Mem), M(M8) | M(M16), 0, 0x00),
ROW(F(Mm) | F(Mem), M(M64) | M(Any), 0, 0x00),
ROW(F(Mm) | F(Mem) | F(I8) | F(U8), M(M64) | M(Any), 0, 0x00),
+ ROW(F(Mm) | F(Mem), M(M32) | M(Any), 0, 0x00),
+ ROW(F(U16), 0, 0, 0x00),
ROW(F(Xmm) | F(Ymm) | F(Mem), M(M128) | M(M256), 0, 0x00),
ROW(F(Xmm) | F(I8) | F(U8), 0, 0, 0x00),
ROW(F(Xmm) | F(Implicit), 0, 0, 0x01),
ROW(F(Mem), M(Mib), 0, 0x00),
ROW(F(Gpw) | F(Gpd) | F(Gpq), 0, 0, 0x00),
- ROW(F(Mem) | F(Implicit), M(BaseOnly) | M(Ds), 0, 0x01),
- ROW(F(Mem) | F(Implicit), M(BaseOnly) | M(Ds), 0, 0x40),
- ROW(F(Mem) | F(Implicit), M(BaseOnly) | M(Es), 0, 0x80),
+ ROW(F(Mem) | F(Implicit), M(M512) | M(BaseOnly) | M(Ds) | M(Any), 0, 0x01),
ROW(F(Gpq) | F(Implicit), 0, 0, 0x02),
ROW(F(Gpq) | F(Implicit), 0, 0, 0x08),
ROW(F(Gpd) | F(Implicit), 0, 0, 0x08),
@@ -3524,23 +3564,24 @@ const InstDB::OpSignature InstDB::_opSignatureTable[] = {
ROW(F(Gpw) | F(Mem), M(M16) | M(Any), 0, 0x01),
ROW(F(GpbLo) | F(Gpw) | F(Gpd), 0, 0, 0x01),
ROW(F(Gpw) | F(I8) | F(U8), 0, 0, 0x04),
- ROW(F(Mem), M(BaseOnly) | M(Es), 0, 0x80),
+ ROW(F(Mem), M(M8) | M(M16) | M(M32) | M(BaseOnly) | M(Es), 0, 0x80),
ROW(F(Gpw), 0, 0, 0x04),
ROW(F(GpbHi) | F(Implicit), 0, 0, 0x01),
ROW(F(Mem), M(M8) | M(M16) | M(M32) | M(M48) | M(M64) | M(M80) | M(M128) | M(M256) | M(M512) | M(M1024) | M(Any), 0, 0x00),
- ROW(F(GpbLo) | F(Gpw) | F(Gpd) | F(Gpq) | F(Implicit), 0, 0, 0x01),
- ROW(F(Mem) | F(Implicit), M(BaseOnly) | M(Ds), 0, 0x80),
+ ROW(F(Mem) | F(Implicit), M(M128) | M(BaseOnly) | M(Ds) | M(Any), 0, 0x80),
+ ROW(F(Mem) | F(Implicit), M(M64) | M(BaseOnly) | M(Ds) | M(Any), 0, 0x80),
+ ROW(F(Mem) | F(Implicit), M(BaseOnly) | M(Ds) | M(Any), 0, 0x01),
ROW(F(Gpw) | F(U8), 0, 0, 0x04),
- ROW(F(Mem), M(BaseOnly) | M(Ds), 0, 0x40),
+ ROW(F(Mem), M(M8) | M(M16) | M(M32) | M(BaseOnly) | M(Ds), 0, 0x40),
ROW(F(Gpw) | F(Gpd) | F(Gpq) | F(Mem), M(M16) | M(Any), 0, 0x00),
ROW(F(Tmm), 0, 0, 0x00),
- ROW(F(Mem), M(BaseOnly) | M(Ds), 0, 0x00),
+ ROW(F(Mem), M(BaseOnly) | M(Ds) | M(Any), 0, 0x00),
ROW(F(Ymm) | F(Zmm), 0, 0, 0x00),
ROW(F(Xmm) | F(Ymm) | F(Zmm), 0, 0, 0x00),
ROW(F(Xmm) | F(Ymm) | F(Zmm) | F(Mem), M(M128) | M(M256) | M(M512), 0, 0x00),
- ROW(F(GpbLo) | F(GpbHi) | F(Gpw) | F(Gpd) | F(Xmm) | F(Mem), M(M8) | M(Any), 0, 0x00),
+ ROW(F(Gpd) | F(Xmm) | F(Mem), M(M8) | M(Any), 0, 0x00),
ROW(F(Gpd) | F(Xmm) | F(Mem), M(M32) | M(Any), 0, 0x00),
- ROW(F(Gpw) | F(Gpd) | F(Xmm) | F(Mem), M(M16) | M(Any), 0, 0x00)
+ ROW(F(Gpd) | F(Xmm) | F(Mem), M(M16) | M(Any), 0, 0x00)
};
#undef M
#undef F
@@ -3559,89 +3600,89 @@ const uint8_t InstDB::rwInfoIndexA[Inst::_kIdCount] = {
0, 0, 1, 1, 0, 2, 3, 2, 4, 4, 5, 6, 4, 4, 3, 4, 4, 4, 4, 7, 0, 2, 0, 4, 4, 4,
4, 8, 0, 9, 9, 9, 9, 9, 0, 0, 0, 0, 9, 9, 9, 9, 9, 10, 10, 10, 11, 11, 12, 13,
14, 9, 9, 0, 15, 16, 16, 16, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 18, 0, 0, 19, 0, 0, 0, 0, 0, 20, 21, 0, 22, 23, 24, 7, 25,
+ 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 18, 0, 0, 19, 0, 0, 0, 0, 0, 20, 21, 0, 22, 23, 24, 7, 25,
25, 25, 24, 26, 7, 24, 27, 28, 29, 30, 31, 32, 33, 25, 25, 7, 27, 28, 33, 34,
- 0, 0, 0, 0, 35, 4, 4, 5, 6, 0, 0, 0, 0, 0, 36, 36, 0, 0, 37, 0, 0, 38, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 38, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 38, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 0, 4, 4, 35,
- 39, 40, 0, 0, 0, 41, 0, 37, 0, 0, 0, 0, 42, 0, 43, 42, 42, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 46, 47, 48, 49, 50, 51,
- 52, 0, 0, 0, 53, 54, 55, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 54, 55, 56, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 0, 58, 0, 59, 0, 60, 0, 59, 0, 59, 0, 59, 0,
- 0, 0, 0, 0, 61, 62, 62, 62, 0, 57, 59, 0, 0, 0, 9, 0, 0, 4, 4, 5, 6, 0, 0, 4,
- 4, 5, 6, 0, 0, 63, 64, 65, 65, 66, 46, 24, 36, 66, 51, 65, 65, 67, 68, 68, 69,
- 70, 70, 71, 71, 58, 58, 66, 58, 58, 70, 70, 72, 47, 51, 73, 47, 7, 7, 46, 74,
- 9, 65, 65, 74, 0, 35, 4, 4, 5, 6, 0, 75, 0, 0, 76, 0, 2, 4, 4, 77, 78, 9, 9,
- 9, 3, 3, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 0, 3, 79, 3, 0, 0, 0, 3, 3, 4,
- 3, 0, 0, 3, 3, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 27, 79, 79, 79, 79, 79,
- 79, 79, 79, 79, 79, 27, 79, 79, 79, 27, 27, 79, 79, 79, 3, 3, 3, 80, 3, 3, 3,
- 27, 27, 0, 0, 0, 0, 3, 3, 4, 4, 3, 3, 4, 4, 4, 4, 3, 3, 4, 4, 81, 82, 83, 24,
- 24, 24, 82, 82, 83, 24, 24, 24, 82, 4, 3, 79, 3, 3, 4, 3, 3, 0, 0, 0, 9, 0, 0,
- 0, 3, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 3, 3, 3, 3, 84, 3, 3, 0, 3, 3, 3,
- 84, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 27, 85, 0, 3, 3, 4, 3, 3, 3, 4, 3, 0, 0, 0,
- 0, 0, 0, 0, 3, 86, 7, 87, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 0,
- 0, 86, 86, 0, 0, 0, 0, 0, 0, 7, 87, 0, 0, 86, 86, 0, 0, 2, 89, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 35, 4, 4, 5, 6, 0, 0, 0, 0, 0, 36, 36, 0, 0, 37, 0, 0, 38, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 38, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 38,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 0, 39, 4,
+ 4, 35, 40, 41, 0, 0, 0, 42, 0, 37, 0, 0, 0, 0, 43, 0, 44, 43, 43, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 47, 48, 49, 50, 51,
+ 52, 53, 0, 0, 0, 54, 55, 56, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 55, 56, 57, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 0, 59, 0, 60, 0, 61, 0, 60, 0, 60, 0, 60,
+ 0, 0, 0, 0, 0, 62, 63, 63, 63, 58, 60, 0, 0, 0, 9, 0, 0, 4, 4, 5, 6, 0, 0, 4,
+ 4, 5, 6, 0, 0, 64, 65, 66, 66, 67, 47, 24, 36, 67, 52, 66, 66, 68, 69, 69, 70,
+ 71, 71, 72, 72, 59, 59, 67, 59, 59, 71, 71, 73, 48, 52, 74, 48, 7, 7, 47, 75,
+ 33, 66, 66, 75, 0, 35, 4, 4, 5, 6, 0, 76, 0, 0, 77, 0, 2, 4, 4, 78, 79, 9,
+ 9, 9, 3, 3, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 0, 3, 80, 3, 0, 0, 0, 3, 3,
+ 4, 3, 0, 0, 3, 3, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 27, 80, 80, 80, 80, 80,
+ 80, 80, 80, 80, 80, 27, 80, 80, 80, 27, 27, 80, 80, 80, 3, 3, 3, 81, 3, 3, 3,
+ 27, 27, 0, 0, 0, 0, 3, 3, 4, 4, 3, 3, 4, 4, 4, 4, 3, 3, 4, 4, 82, 83, 84, 24,
+ 24, 24, 83, 83, 84, 24, 24, 24, 83, 4, 3, 80, 3, 3, 4, 3, 3, 0, 0, 0, 9, 0,
+ 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 3, 3, 3, 3, 85, 3, 3, 0, 3, 3,
+ 3, 85, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 27, 86, 0, 3, 3, 4, 3, 87, 87, 4, 87, 0,
+ 0, 0, 0, 0, 0, 0, 3, 88, 7, 89, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0,
+ 0, 0, 0, 88, 88, 0, 0, 0, 0, 0, 0, 7, 89, 0, 0, 88, 88, 0, 0, 2, 91, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 4, 4, 4, 0, 4, 4, 0, 88, 0, 0, 88, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 7, 7, 26, 89, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 2, 4, 4, 5, 6, 0, 0, 0, 0, 0,
+ 0, 0, 9, 0, 0, 0, 0, 0, 15, 0, 93, 93, 0, 94, 0, 0, 9, 9, 20, 21, 95, 95, 0,
+ 0, 0, 0, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 28, 97, 98, 97, 98, 96, 28, 97, 98, 97, 98, 99,
+ 100, 0, 0, 0, 0, 20, 21, 101, 101, 102, 9, 0, 75, 103, 103, 9, 103, 9, 102, 9,
+ 102, 0, 102, 9, 102, 9, 103, 28, 0, 28, 0, 0, 0, 33, 33, 103, 9, 103, 9, 9,
+ 102, 9, 102, 28, 28, 33, 33, 102, 9, 9, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 104, 104, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 4, 4, 4, 0, 4, 4, 0, 86, 0, 0, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 26,
- 87, 0, 0, 0, 0, 0, 0, 90, 0, 0, 2, 4, 4, 5, 6, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0,
- 0, 0, 0, 15, 91, 91, 0, 92, 0, 0, 9, 9, 20, 21, 0, 0, 0, 0, 0, 4, 4, 4, 4, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 93, 28, 94, 95, 94, 95, 93, 28, 94, 95, 94, 95, 96, 97, 0, 0,
- 0, 0, 20, 21, 98, 98, 99, 9, 0, 74, 100, 100, 9, 100, 9, 99, 9, 99, 0, 99, 9,
- 99, 9, 100, 28, 0, 28, 0, 0, 0, 33, 33, 100, 9, 100, 9, 9, 99, 9, 99, 28, 28,
- 33, 33, 99, 9, 9, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 101, 9, 9, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 9, 9, 27, 105, 60, 60, 0, 0, 0, 0, 0, 0, 0, 0, 60, 106, 9, 9, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 107, 47, 108, 107, 107, 107, 107,
+ 107, 107, 107, 107, 0, 109, 109, 0, 71, 71, 110, 111, 67, 67, 67, 67, 112, 71,
+ 9, 9, 73, 107, 107, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, 113, 0, 0, 0, 0, 0, 0,
+ 0, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 114, 33, 115, 115, 28, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 101, 101, 101, 0, 0, 0, 0, 0,
+ 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 9, 9, 9, 9, 0, 0, 0, 0, 60, 60, 106, 60, 7, 7, 7, 0, 7, 0, 7,
+ 7, 7, 7, 7, 7, 0, 7, 7, 81, 7, 0, 7, 0, 0, 7, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 27, 102, 59,
- 59, 0, 0, 0, 0, 0, 0, 0, 0, 59, 59, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 103, 103, 46, 104, 103, 103, 103, 103, 103, 103, 103, 103, 0,
- 105, 105, 0, 70, 70, 106, 107, 66, 66, 66, 66, 108, 70, 9, 9, 72, 103, 103,
- 0, 0, 0, 98, 0, 0, 0, 0, 0, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 33, 111,
- 111, 28, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 98, 98, 98, 98, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 0, 0, 0, 0,
- 59, 59, 59, 59, 7, 7, 7, 0, 7, 0, 7, 7, 7, 7, 7, 7, 0, 7, 7, 80, 7, 0, 7, 0,
- 0, 7, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, 113, 114, 115, 111, 111,
- 111, 111, 81, 113, 116, 115, 114, 114, 115, 116, 115, 114, 115, 117, 118, 99,
- 99, 99, 117, 114, 115, 116, 115, 114, 115, 113, 115, 117, 118, 99, 99, 99, 117,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 66, 66, 119, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 117, 117, 118, 119, 115, 115, 115, 115, 82, 117, 120, 119, 118, 118,
+ 119, 120, 119, 118, 119, 121, 122, 102, 102, 102, 121, 118, 119, 120, 119, 118,
+ 119, 117, 119, 121, 122, 102, 102, 102, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,
+ 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 67, 123, 67,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 101, 101, 0, 0, 9, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 101, 101, 0, 0, 9, 0, 0, 0,
- 0, 0, 66, 66, 0, 0, 0, 0, 0, 0, 0, 0, 66, 119, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0,
- 0, 0, 0, 0, 109, 109, 20, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120, 121,
- 120, 121, 0, 122, 0, 123, 0, 0, 0, 2, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 9, 9, 0, 0, 104, 104, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 9, 9, 0, 0, 104, 104, 0, 0, 9, 0, 0, 0, 0, 0, 67, 67, 0, 0, 0, 0, 0, 0,
+ 0, 0, 67, 123, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 113, 113, 20, 21,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 125, 124, 125, 0, 126, 0, 127, 0,
+ 0, 0, 2, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
const uint8_t InstDB::rwInfoIndexB[Inst::_kIdCount] = {
0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 3, 0, 0, 0,
0, 0, 4, 0, 0, 0, 0, 0, 5, 5, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 7, 0, 0, 0, 0, 4, 8, 1, 0, 9, 0, 0, 0, 10, 10, 10, 0, 0, 11, 0, 10, 12, 0,
+ 0, 7, 0, 0, 0, 0, 4, 8, 1, 0, 9, 0, 0, 0, 10, 10, 10, 0, 0, 11, 0, 0, 10, 12,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 5, 5, 0, 13, 14, 15, 16, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 20, 21, 0, 0, 0,
- 0, 5, 5, 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 24, 25, 26, 27, 0, 0, 25, 25, 25, 25,
- 25, 25, 25, 25, 28, 29, 29, 28, 0, 0, 0, 24, 25, 24, 25, 0, 25, 24, 24, 24, 24,
- 24, 24, 24, 0, 0, 30, 30, 30, 24, 24, 28, 0, 31, 10, 0, 0, 0, 0, 0, 0, 24,
- 25, 0, 0, 0, 32, 33, 32, 34, 0, 0, 0, 0, 0, 10, 32, 0, 0, 0, 0, 35, 33, 32, 35,
- 34, 24, 25, 24, 25, 0, 29, 29, 29, 29, 0, 0, 0, 25, 10, 10, 32, 32, 0, 0, 0,
- 0, 5, 5, 0, 0, 0, 0, 0, 0, 21, 36, 0, 20, 37, 38, 0, 39, 40, 0, 0, 0, 0, 0, 10,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 42, 43, 44, 41, 42, 41, 42, 43,
- 44, 43, 44, 0, 0, 0, 0, 0, 0, 0, 0, 41, 42, 43, 0, 0, 0, 0, 44, 45, 46, 47, 48,
- 45, 46, 47, 48, 0, 0, 0, 0, 49, 50, 51, 41, 42, 43, 44, 41, 42, 43, 44, 52,
- 0, 24, 0, 53, 0, 54, 0, 0, 0, 0, 0, 10, 0, 10, 24, 55, 56, 55, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 5, 5, 0, 13, 14, 15, 16, 17, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 20, 21, 0, 0,
+ 0, 0, 5, 5, 0, 0, 0, 0, 0, 0, 22, 23, 0, 0, 24, 25, 26, 27, 0, 0, 25, 25, 25,
+ 25, 25, 25, 25, 25, 28, 29, 29, 28, 0, 0, 0, 24, 25, 24, 25, 0, 25, 24, 24, 24,
+ 24, 24, 24, 24, 0, 0, 30, 30, 30, 24, 24, 28, 0, 31, 10, 0, 0, 0, 0, 0, 0, 24,
+ 25, 0, 0, 0, 32, 33, 32, 34, 0, 0, 0, 0, 0, 10, 32, 0, 0, 0, 0, 35, 33, 32,
+ 35, 34, 24, 25, 24, 25, 0, 29, 29, 29, 29, 0, 0, 0, 25, 10, 10, 32, 32, 0, 0,
+ 0, 0, 5, 5, 0, 0, 0, 0, 0, 0, 0, 21, 36, 0, 20, 37, 38, 0, 39, 40, 0, 0, 0, 0,
+ 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 42, 43, 44, 41, 42, 41, 42, 43,
+ 44, 43, 44, 0, 0, 0, 0, 0, 0, 0, 0, 41, 42, 43, 0, 0, 0, 0, 44, 45, 46, 47,
+ 48, 45, 46, 47, 48, 0, 0, 0, 0, 49, 50, 51, 41, 42, 43, 44, 41, 42, 43, 44, 52,
+ 0, 24, 0, 53, 0, 54, 0, 0, 0, 0, 0, 10, 0, 10, 24, 55, 56, 55, 0, 0, 0, 0,
0, 0, 55, 57, 57, 0, 58, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 60, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 61, 0, 0, 0, 0, 62, 0, 63, 20, 64, 20, 0, 0,
@@ -3653,62 +3694,63 @@ const uint8_t InstDB::rwInfoIndexB[Inst::_kIdCount] = {
10, 10, 10, 10, 10, 10, 0, 0, 2, 2, 2, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 78, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 79, 79, 80, 79, 80, 80, 80, 79, 79, 81, 82, 0, 83, 0,
- 0, 0, 0, 0, 84, 2, 2, 85, 86, 0, 0, 0, 11, 87, 0, 0, 4, 0, 0, 0, 0, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 0, 88, 0, 32, 0, 0, 0, 5, 0, 0, 6, 0, 89, 4, 0, 89,
- 4, 5, 5, 32, 19, 90, 79, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 0, 90, 92, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 93, 93, 93, 93, 0, 0, 0, 0, 0, 94, 95,
- 0, 0, 0, 0, 96, 96, 0, 56, 95, 0, 0, 0, 0, 97, 98, 97, 98, 3, 3, 99, 100, 3, 3,
- 3, 3, 3, 3, 0, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 101, 101, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 102, 103, 0, 0, 0, 0, 0, 0, 3, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 105, 0, 106, 107, 108, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 107, 3, 3, 3, 99, 100, 3, 109,
+ 0, 0, 0, 0, 0, 84, 2, 2, 85, 86, 0, 0, 0, 11, 87, 0, 0, 4, 0, 0, 0, 88, 0, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
+ 89, 89, 89, 89, 89, 89, 89, 89, 89, 0, 89, 0, 32, 0, 0, 0, 5, 0, 0, 6, 0, 90,
+ 4, 0, 90, 4, 5, 5, 32, 19, 91, 79, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, 91, 93,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 94, 94, 94, 94, 0, 0, 0, 0, 0,
+ 0, 95, 96, 0, 0, 0, 0, 0, 0, 0, 0, 56, 96, 0, 0, 0, 0, 97, 98, 97, 98, 3, 3,
+ 99, 100, 3, 3, 3, 3, 3, 3, 0, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 101, 101, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 102, 103, 0, 0, 0, 0, 0, 0, 3, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 105, 0, 106, 107, 108, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 107, 3, 3, 3, 99, 100, 3, 109,
3, 55, 55, 0, 0, 0, 0, 110, 111, 112, 111, 112, 110, 111, 112, 111, 112, 22,
- 113, 113, 114, 115, 113, 113, 116, 117, 113, 113, 116, 117, 113, 113, 116, 117,
- 118, 118, 119, 120, 113, 113, 113, 113, 113, 113, 118, 118, 113, 113, 116,
+ 113, 113, 114, 115, 113, 113, 116, 117, 113, 113, 116, 117, 113, 113, 116,
+ 117, 118, 118, 119, 120, 113, 113, 113, 113, 113, 113, 118, 118, 113, 113, 116,
117, 113, 113, 116, 117, 113, 113, 116, 117, 113, 113, 113, 113, 113, 113, 118,
- 118, 118, 118, 119, 120, 113, 113, 116, 117, 113, 113, 116, 117, 113, 113, 116,
- 117, 118, 118, 119, 120, 113, 113, 116, 117, 113, 113, 116, 117, 113, 113,
- 121, 122, 118, 118, 119, 120, 123, 123, 77, 124, 0, 0, 0, 0, 125, 126, 10, 10,
- 10, 10, 10, 10, 10, 10, 126, 127, 0, 0, 128, 129, 84, 84, 128, 129, 3, 3, 3,
- 3, 3, 3, 3, 130, 131, 132, 131, 132, 130, 131, 132, 131, 132, 100, 0, 53, 58,
+ 118, 118, 118, 119, 120, 113, 113, 116, 117, 113, 113, 116, 117, 113, 113,
+ 116, 117, 118, 118, 119, 120, 113, 113, 116, 117, 113, 113, 116, 117, 113, 113,
+ 121, 122, 118, 118, 119, 120, 123, 123, 77, 124, 0, 0, 0, 0, 125, 126, 10,
+ 10, 10, 10, 10, 10, 10, 10, 126, 127, 0, 0, 128, 129, 84, 84, 128, 129, 3, 3,
+ 3, 3, 3, 3, 3, 130, 131, 132, 131, 132, 130, 131, 132, 131, 132, 100, 0, 53, 58,
133, 133, 3, 3, 99, 100, 0, 134, 0, 3, 3, 99, 100, 0, 135, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 136, 137, 137, 138, 139, 139, 0, 0, 0, 0, 0, 0, 0, 140, 0,
- 0, 141, 0, 0, 3, 11, 134, 0, 0, 142, 135, 3, 3, 99, 100, 0, 11, 3, 3, 143, 143,
- 144, 144, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 101, 3, 0, 0, 0, 0, 0, 0, 3, 118, 145, 145, 3, 3, 3, 3, 66, 67,
- 3, 3, 3, 3, 68, 69, 145, 145, 145, 145, 145, 145, 109, 109, 0, 0, 0, 0, 109, 109,
- 109, 109, 109, 109, 0, 0, 113, 113, 113, 113, 146, 146, 3, 3, 3, 113, 3, 3,
- 113, 113, 118, 118, 147, 147, 147, 3, 147, 3, 113, 113, 113, 113, 113, 3, 0,
- 0, 0, 0, 70, 22, 71, 148, 126, 125, 127, 126, 0, 0, 0, 3, 0, 3, 0, 0, 0, 0, 0,
- 0, 3, 0, 0, 0, 0, 3, 0, 3, 3, 0, 149, 100, 99, 150, 0, 0, 151, 151, 151, 151,
- 151, 151, 151, 151, 151, 151, 151, 151, 113, 113, 3, 3, 133, 133, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 3, 3, 3, 152, 84, 84, 3, 3, 84, 84, 3, 3,
- 153, 153, 153, 153, 3, 0, 0, 0, 0, 153, 153, 153, 153, 153, 153, 3, 3, 113,
- 113, 113, 3, 153, 153, 3, 3, 113, 113, 113, 3, 3, 145, 84, 84, 84, 3, 3, 3, 154,
- 155, 154, 3, 3, 3, 154, 154, 154, 3, 3, 3, 154, 154, 155, 154, 3, 3, 3, 154,
- 3, 3, 3, 3, 3, 3, 3, 3, 113, 113, 0, 145, 145, 145, 145, 145, 145, 145, 145,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 128, 129, 0, 0, 128, 129, 0, 0, 128, 129,
- 0, 129, 84, 84, 128, 129, 84, 84, 128, 129, 84, 84, 128, 129, 0, 0, 128, 129,
- 0, 0, 128, 129, 0, 129, 3, 3, 99, 100, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10,
- 0, 0, 3, 3, 3, 3, 3, 3, 0, 0, 128, 129, 91, 3, 3, 99, 100, 0, 0, 0, 0, 3, 3,
- 3, 3, 3, 3, 0, 0, 0, 0, 56, 56, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 0,
- 0, 0, 157, 157, 157, 157, 158, 158, 158, 158, 158, 158, 158, 158, 156, 0, 0
+ 0, 0, 0, 0, 0, 0, 0, 136, 137, 137, 138, 139, 139, 0, 0, 0, 0, 0, 0, 0, 140,
+ 0, 0, 141, 0, 0, 3, 11, 134, 0, 0, 142, 135, 3, 3, 99, 100, 0, 11, 3, 3, 143,
+ 143, 144, 144, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 101, 3, 0, 0, 0, 0, 0, 0, 3, 118, 145, 145, 3, 3,
+ 3, 3, 66, 67, 3, 3, 3, 3, 68, 69, 145, 145, 145, 145, 145, 145, 109, 109, 0, 0,
+ 0, 0, 109, 109, 109, 109, 109, 109, 0, 0, 113, 113, 113, 113, 146, 146, 3, 3,
+ 3, 113, 3, 3, 113, 113, 118, 118, 147, 147, 147, 3, 147, 3, 113, 113, 113, 113,
+ 113, 3, 0, 0, 0, 0, 70, 22, 71, 148, 126, 125, 127, 126, 0, 0, 0, 3, 0, 3,
+ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 3, 0, 3, 3, 0, 149, 100, 99, 150, 0, 0, 151,
+ 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 113, 113, 3, 3, 133, 133,
+ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 3, 3, 3, 152, 84, 84, 3, 3,
+ 84, 84, 3, 3, 153, 153, 153, 153, 3, 0, 0, 0, 0, 153, 153, 153, 153, 153, 153,
+ 3, 3, 113, 113, 113, 3, 153, 153, 3, 3, 113, 113, 113, 3, 3, 145, 84, 84, 84,
+ 3, 3, 3, 154, 155, 154, 3, 3, 3, 154, 154, 154, 3, 3, 3, 154, 154, 155, 154,
+ 3, 3, 3, 154, 3, 3, 3, 3, 3, 3, 3, 3, 113, 113, 0, 145, 145, 145, 145, 145,
+ 145, 145, 145, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 128, 129, 0, 0, 128, 129,
+ 0, 0, 128, 129, 0, 129, 84, 84, 128, 129, 84, 84, 128, 129, 84, 84, 128, 129,
+ 0, 0, 128, 129, 0, 0, 128, 129, 0, 129, 3, 3, 99, 100, 0, 0, 10, 10, 10, 10,
+ 10, 10, 10, 10, 0, 0, 3, 3, 3, 3, 3, 3, 0, 0, 128, 129, 92, 3, 3, 99, 100, 0,
+ 0, 0, 0, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 56, 56, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 80, 0, 0, 0, 0, 0, 157, 157, 157, 157, 158, 158, 158, 158, 158, 158, 158, 158,
+ 156, 0, 0
};
const InstDB::RWInfo InstDB::rwInfoA[] = {
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 0 , 0 , 0 , 0 , 0 , 0 } }, // #0 [ref=934x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 0 , 0 , 0 , 0 , 0 , 0 } }, // #0 [ref=936x]
{ InstDB::RWInfo::kCategoryGeneric , 0 , { 1 , 0 , 0 , 0 , 0 , 0 } }, // #1 [ref=2x]
{ InstDB::RWInfo::kCategoryGeneric , 1 , { 2 , 3 , 0 , 0 , 0 , 0 } }, // #2 [ref=7x]
- { InstDB::RWInfo::kCategoryGeneric , 2 , { 2 , 3 , 0 , 0 , 0 , 0 } }, // #3 [ref=99x]
+ { InstDB::RWInfo::kCategoryGeneric , 2 , { 2 , 3 , 0 , 0 , 0 , 0 } }, // #3 [ref=96x]
{ InstDB::RWInfo::kCategoryGeneric , 3 , { 4 , 5 , 0 , 0 , 0 , 0 } }, // #4 [ref=55x]
{ InstDB::RWInfo::kCategoryGeneric , 4 , { 6 , 7 , 0 , 0 , 0 , 0 } }, // #5 [ref=6x]
{ InstDB::RWInfo::kCategoryGeneric , 5 , { 8 , 9 , 0 , 0 , 0 , 0 } }, // #6 [ref=6x]
{ InstDB::RWInfo::kCategoryGeneric , 3 , { 10, 5 , 0 , 0 , 0 , 0 } }, // #7 [ref=26x]
{ InstDB::RWInfo::kCategoryGeneric , 7 , { 12, 13, 0 , 0 , 0 , 0 } }, // #8 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 2 , { 11, 3 , 0 , 0 , 0 , 0 } }, // #9 [ref=65x]
+ { InstDB::RWInfo::kCategoryGeneric , 2 , { 11, 3 , 0 , 0 , 0 , 0 } }, // #9 [ref=64x]
{ InstDB::RWInfo::kCategoryGeneric , 2 , { 5 , 3 , 0 , 0 , 0 , 0 } }, // #10 [ref=3x]
{ InstDB::RWInfo::kCategoryGeneric , 8 , { 10, 3 , 0 , 0 , 0 , 0 } }, // #11 [ref=2x]
{ InstDB::RWInfo::kCategoryGeneric , 9 , { 10, 5 , 0 , 0 , 0 , 0 } }, // #12 [ref=1x]
@@ -3732,101 +3774,105 @@ const InstDB::RWInfo InstDB::rwInfoA[] = {
{ InstDB::RWInfo::kCategoryGeneric , 14, { 36, 3 , 0 , 0 , 0 , 0 } }, // #30 [ref=1x]
{ InstDB::RWInfo::kCategoryGeneric , 14, { 37, 3 , 0 , 0 , 0 , 0 } }, // #31 [ref=1x]
{ InstDB::RWInfo::kCategoryGeneric , 5 , { 36, 9 , 0 , 0 , 0 , 0 } }, // #32 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 5 , { 11, 9 , 0 , 0 , 0 , 0 } }, // #33 [ref=7x]
+ { InstDB::RWInfo::kCategoryGeneric , 5 , { 11, 9 , 0 , 0 , 0 , 0 } }, // #33 [ref=8x]
{ InstDB::RWInfo::kCategoryGeneric , 0 , { 38, 39, 0 , 0 , 0 , 0 } }, // #34 [ref=1x]
{ InstDB::RWInfo::kCategoryGeneric , 15, { 1 , 40, 0 , 0 , 0 , 0 } }, // #35 [ref=3x]
{ InstDB::RWInfo::kCategoryGeneric , 16, { 11, 43, 0 , 0 , 0 , 0 } }, // #36 [ref=3x]
{ InstDB::RWInfo::kCategoryGeneric , 0 , { 4 , 5 , 0 , 0 , 0 , 0 } }, // #37 [ref=2x]
{ InstDB::RWInfo::kCategoryGeneric , 0 , { 45, 46, 0 , 0 , 0 , 0 } }, // #38 [ref=6x]
- { InstDB::RWInfo::kCategoryImul , 2 , { 0 , 0 , 0 , 0 , 0 , 0 } }, // #39 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 50, 51, 0 , 0 , 0 , 0 } }, // #40 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 53, 51, 0 , 0 , 0 , 0 } }, // #41 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 13, { 3 , 5 , 0 , 0 , 0 , 0 } }, // #42 [ref=3x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 22, 29, 0 , 0 , 0 , 0 } }, // #43 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 54, 0 , 0 , 0 , 0 , 0 } }, // #44 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 23, { 55, 40, 0 , 0 , 0 , 0 } }, // #45 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 24, { 44, 9 , 0 , 0 , 0 , 0 } }, // #46 [ref=4x]
- { InstDB::RWInfo::kCategoryGeneric , 25, { 35, 7 , 0 , 0 , 0 , 0 } }, // #47 [ref=3x]
- { InstDB::RWInfo::kCategoryGeneric , 26, { 48, 13, 0 , 0 , 0 , 0 } }, // #48 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 55, 40, 0 , 0 , 0 , 0 } }, // #49 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 44, 9 , 0 , 0 , 0 , 0 } }, // #50 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 35, 7 , 0 , 0 , 0 , 0 } }, // #51 [ref=3x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 48, 13, 0 , 0 , 0 , 0 } }, // #52 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 40, 40, 0 , 0 , 0 , 0 } }, // #53 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 9 , 9 , 0 , 0 , 0 , 0 } }, // #54 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 7 , 7 , 0 , 0 , 0 , 0 } }, // #55 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 13, 13, 0 , 0 , 0 , 0 } }, // #56 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 27, { 11, 3 , 0 , 0 , 0 , 0 } }, // #57 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 13, { 10, 5 , 0 , 0 , 0 , 0 } }, // #58 [ref=5x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 2 , 3 , 0 , 0 , 0 , 0 } }, // #59 [ref=13x]
- { InstDB::RWInfo::kCategoryGeneric , 8 , { 11, 3 , 0 , 0 , 0 , 0 } }, // #60 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 50, 20, 0 , 0 , 0 , 0 } }, // #61 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 57, 0 , 0 , 0 , 0 , 0 } }, // #62 [ref=3x]
- { InstDB::RWInfo::kCategoryMov , 29, { 0 , 0 , 0 , 0 , 0 , 0 } }, // #63 [ref=1x]
- { InstDB::RWInfo::kCategoryMovabs , 0 , { 0 , 0 , 0 , 0 , 0 , 0 } }, // #64 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 30, { 10, 5 , 0 , 0 , 0 , 0 } }, // #65 [ref=6x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 11, 3 , 0 , 0 , 0 , 0 } }, // #66 [ref=14x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 36, 60, 0 , 0 , 0 , 0 } }, // #67 [ref=1x]
- { InstDB::RWInfo::kCategoryMovh64 , 12, { 0 , 0 , 0 , 0 , 0 , 0 } }, // #68 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 61, 7 , 0 , 0 , 0 , 0 } }, // #69 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 12, { 35, 7 , 0 , 0 , 0 , 0 } }, // #70 [ref=7x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 55, 5 , 0 , 0 , 0 , 0 } }, // #71 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 28, { 44, 9 , 0 , 0 , 0 , 0 } }, // #72 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 62, 20, 0 , 0 , 0 , 0 } }, // #73 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 14, { 11, 3 , 0 , 0 , 0 , 0 } }, // #74 [ref=3x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 17, 29, 0 , 0 , 0 , 0 } }, // #75 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 11, { 3 , 3 , 0 , 0 , 0 , 0 } }, // #76 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 51, 22, 0 , 0 , 0 , 0 } }, // #77 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 51, 65, 0 , 0 , 0 , 0 } }, // #78 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 4 , { 26, 7 , 0 , 0 , 0 , 0 } }, // #79 [ref=18x]
- { InstDB::RWInfo::kCategoryGeneric , 3 , { 68, 5 , 0 , 0 , 0 , 0 } }, // #80 [ref=2x]
- { InstDB::RWInfo::kCategoryVmov1_8 , 0 , { 0 , 0 , 0 , 0 , 0 , 0 } }, // #81 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 5 , { 10, 9 , 0 , 0 , 0 , 0 } }, // #82 [ref=4x]
- { InstDB::RWInfo::kCategoryGeneric , 27, { 10, 13, 0 , 0 , 0 , 0 } }, // #83 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 4 , 0 , 0 , 0 , 0 , 0 } }, // #84 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 3 , { 5 , 5 , 0 , 0 , 0 , 0 } }, // #85 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 10, { 2 , 70, 0 , 0 , 0 , 0 } }, // #86 [ref=8x]
- { InstDB::RWInfo::kCategoryGeneric , 5 , { 37, 9 , 0 , 0 , 0 , 0 } }, // #87 [ref=3x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 16, 71, 0 , 0 , 0 , 0 } }, // #88 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 22, 21, 0 , 0 , 0 , 0 } }, // #89 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 62, 22, 0 , 0 , 0 , 0 } }, // #90 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 8 , { 74, 3 , 0 , 0 , 0 , 0 } }, // #91 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 8 , { 11, 43, 0 , 0 , 0 , 0 } }, // #92 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 13, { 76, 5 , 0 , 0 , 0 , 0 } }, // #93 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 13, { 11, 5 , 0 , 0 , 0 , 0 } }, // #94 [ref=4x]
- { InstDB::RWInfo::kCategoryGeneric , 37, { 74, 77, 0 , 0 , 0 , 0 } }, // #95 [ref=4x]
- { InstDB::RWInfo::kCategoryGeneric , 38, { 11, 7 , 0 , 0 , 0 , 0 } }, // #96 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 39, { 11, 9 , 0 , 0 , 0 , 0 } }, // #97 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 11, { 11, 3 , 0 , 0 , 0 , 0 } }, // #98 [ref=7x]
- { InstDB::RWInfo::kCategoryVmov2_1 , 40, { 0 , 0 , 0 , 0 , 0 , 0 } }, // #99 [ref=14x]
- { InstDB::RWInfo::kCategoryVmov1_2 , 14, { 0 , 0 , 0 , 0 , 0 , 0 } }, // #100 [ref=7x]
- { InstDB::RWInfo::kCategoryGeneric , 44, { 74, 43, 0 , 0 , 0 , 0 } }, // #101 [ref=6x]
- { InstDB::RWInfo::kCategoryGeneric , 5 , { 44, 9 , 0 , 0 , 0 , 0 } }, // #102 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 51, { 11, 3 , 0 , 0 , 0 , 0 } }, // #103 [ref=12x]
- { InstDB::RWInfo::kCategoryVmovddup , 52, { 0 , 0 , 0 , 0 , 0 , 0 } }, // #104 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 12, { 35, 60, 0 , 0 , 0 , 0 } }, // #105 [ref=2x]
- { InstDB::RWInfo::kCategoryVmovmskpd , 0 , { 0 , 0 , 0 , 0 , 0 , 0 } }, // #106 [ref=1x]
- { InstDB::RWInfo::kCategoryVmovmskps , 0 , { 0 , 0 , 0 , 0 , 0 , 0 } }, // #107 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 53, { 35, 7 , 0 , 0 , 0 , 0 } }, // #108 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 2 , { 3 , 3 , 0 , 0 , 0 , 0 } }, // #109 [ref=4x]
- { InstDB::RWInfo::kCategoryGeneric , 15, { 11, 40, 0 , 0 , 0 , 0 } }, // #110 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 11, 7 , 0 , 0 , 0 , 0 } }, // #111 [ref=6x]
- { InstDB::RWInfo::kCategoryGeneric , 27, { 11, 13, 0 , 0 , 0 , 0 } }, // #112 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 35, 3 , 0 , 0 , 0 , 0 } }, // #113 [ref=4x]
- { InstDB::RWInfo::kCategoryVmov1_4 , 57, { 0 , 0 , 0 , 0 , 0 , 0 } }, // #114 [ref=6x]
- { InstDB::RWInfo::kCategoryVmov1_2 , 41, { 0 , 0 , 0 , 0 , 0 , 0 } }, // #115 [ref=9x]
- { InstDB::RWInfo::kCategoryVmov1_8 , 58, { 0 , 0 , 0 , 0 , 0 , 0 } }, // #116 [ref=3x]
- { InstDB::RWInfo::kCategoryVmov4_1 , 59, { 0 , 0 , 0 , 0 , 0 , 0 } }, // #117 [ref=4x]
- { InstDB::RWInfo::kCategoryVmov8_1 , 60, { 0 , 0 , 0 , 0 , 0 , 0 } }, // #118 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 18, { 11, 3 , 0 , 0 , 0 , 0 } }, // #119 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 17, { 44, 9 , 0 , 0 , 0 , 0 } }, // #120 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 32, { 35, 7 , 0 , 0 , 0 , 0 } }, // #121 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 11, { 2 , 2 , 0 , 0 , 0 , 0 } }, // #122 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 51, { 2 , 2 , 0 , 0 , 0 , 0 } } // #123 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 0 , 50, 0 , 0 , 0 , 0 } }, // #39 [ref=1x]
+ { InstDB::RWInfo::kCategoryImul , 2 , { 0 , 0 , 0 , 0 , 0 , 0 } }, // #40 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 51, 52, 0 , 0 , 0 , 0 } }, // #41 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 54, 52, 0 , 0 , 0 , 0 } }, // #42 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 13, { 3 , 5 , 0 , 0 , 0 , 0 } }, // #43 [ref=3x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 22, 29, 0 , 0 , 0 , 0 } }, // #44 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 55, 0 , 0 , 0 , 0 , 0 } }, // #45 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 23, { 56, 40, 0 , 0 , 0 , 0 } }, // #46 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 24, { 44, 9 , 0 , 0 , 0 , 0 } }, // #47 [ref=4x]
+ { InstDB::RWInfo::kCategoryGeneric , 25, { 35, 7 , 0 , 0 , 0 , 0 } }, // #48 [ref=3x]
+ { InstDB::RWInfo::kCategoryGeneric , 26, { 48, 13, 0 , 0 , 0 , 0 } }, // #49 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 56, 40, 0 , 0 , 0 , 0 } }, // #50 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 44, 9 , 0 , 0 , 0 , 0 } }, // #51 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 35, 7 , 0 , 0 , 0 , 0 } }, // #52 [ref=3x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 48, 13, 0 , 0 , 0 , 0 } }, // #53 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 40, 40, 0 , 0 , 0 , 0 } }, // #54 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 9 , 9 , 0 , 0 , 0 , 0 } }, // #55 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 7 , 7 , 0 , 0 , 0 , 0 } }, // #56 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 13, 13, 0 , 0 , 0 , 0 } }, // #57 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 27, { 11, 3 , 0 , 0 , 0 , 0 } }, // #58 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 13, { 10, 5 , 0 , 0 , 0 , 0 } }, // #59 [ref=5x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 2 , 3 , 0 , 0 , 0 , 0 } }, // #60 [ref=11x]
+ { InstDB::RWInfo::kCategoryGeneric , 8 , { 11, 3 , 0 , 0 , 0 , 0 } }, // #61 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 51, 20, 0 , 0 , 0 , 0 } }, // #62 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 58, 0 , 0 , 0 , 0 , 0 } }, // #63 [ref=3x]
+ { InstDB::RWInfo::kCategoryMov , 29, { 0 , 0 , 0 , 0 , 0 , 0 } }, // #64 [ref=1x]
+ { InstDB::RWInfo::kCategoryMovabs , 0 , { 0 , 0 , 0 , 0 , 0 , 0 } }, // #65 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 30, { 10, 5 , 0 , 0 , 0 , 0 } }, // #66 [ref=6x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 11, 3 , 0 , 0 , 0 , 0 } }, // #67 [ref=14x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 36, 61, 0 , 0 , 0 , 0 } }, // #68 [ref=1x]
+ { InstDB::RWInfo::kCategoryMovh64 , 12, { 0 , 0 , 0 , 0 , 0 , 0 } }, // #69 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 62, 7 , 0 , 0 , 0 , 0 } }, // #70 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 12, { 35, 7 , 0 , 0 , 0 , 0 } }, // #71 [ref=7x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 56, 5 , 0 , 0 , 0 , 0 } }, // #72 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 28, { 44, 9 , 0 , 0 , 0 , 0 } }, // #73 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 63, 20, 0 , 0 , 0 , 0 } }, // #74 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 14, { 11, 3 , 0 , 0 , 0 , 0 } }, // #75 [ref=3x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 17, 29, 0 , 0 , 0 , 0 } }, // #76 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 11, { 3 , 3 , 0 , 0 , 0 , 0 } }, // #77 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 52, 22, 0 , 0 , 0 , 0 } }, // #78 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 52, 66, 0 , 0 , 0 , 0 } }, // #79 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 4 , { 26, 7 , 0 , 0 , 0 , 0 } }, // #80 [ref=18x]
+ { InstDB::RWInfo::kCategoryGeneric , 3 , { 69, 5 , 0 , 0 , 0 , 0 } }, // #81 [ref=2x]
+ { InstDB::RWInfo::kCategoryVmov1_8 , 0 , { 0 , 0 , 0 , 0 , 0 , 0 } }, // #82 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 5 , { 10, 9 , 0 , 0 , 0 , 0 } }, // #83 [ref=4x]
+ { InstDB::RWInfo::kCategoryGeneric , 27, { 10, 13, 0 , 0 , 0 , 0 } }, // #84 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 4 , 0 , 0 , 0 , 0 , 0 } }, // #85 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 3 , { 5 , 5 , 0 , 0 , 0 , 0 } }, // #86 [ref=1x]
+ { InstDB::RWInfo::kCategoryPunpcklxx , 34, { 0 , 0 , 0 , 0 , 0 , 0 } }, // #87 [ref=3x]
+ { InstDB::RWInfo::kCategoryGeneric , 10, { 2 , 71, 0 , 0 , 0 , 0 } }, // #88 [ref=8x]
+ { InstDB::RWInfo::kCategoryGeneric , 5 , { 37, 9 , 0 , 0 , 0 , 0 } }, // #89 [ref=3x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 16, 50, 0 , 0 , 0 , 0 } }, // #90 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 22, 21, 0 , 0 , 0 , 0 } }, // #91 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 63, 22, 0 , 0 , 0 , 0 } }, // #92 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 8 , { 74, 3 , 0 , 0 , 0 , 0 } }, // #93 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 8 , { 11, 43, 0 , 0 , 0 , 0 } }, // #94 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 5 , { 53, 9 , 0 , 0 , 0 , 0 } }, // #95 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 13, { 76, 5 , 0 , 0 , 0 , 0 } }, // #96 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 13, { 11, 5 , 0 , 0 , 0 , 0 } }, // #97 [ref=4x]
+ { InstDB::RWInfo::kCategoryGeneric , 38, { 74, 77, 0 , 0 , 0 , 0 } }, // #98 [ref=4x]
+ { InstDB::RWInfo::kCategoryGeneric , 39, { 11, 7 , 0 , 0 , 0 , 0 } }, // #99 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 40, { 11, 9 , 0 , 0 , 0 , 0 } }, // #100 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 11, { 11, 3 , 0 , 0 , 0 , 0 } }, // #101 [ref=7x]
+ { InstDB::RWInfo::kCategoryVmov2_1 , 41, { 0 , 0 , 0 , 0 , 0 , 0 } }, // #102 [ref=14x]
+ { InstDB::RWInfo::kCategoryVmov1_2 , 14, { 0 , 0 , 0 , 0 , 0 , 0 } }, // #103 [ref=7x]
+ { InstDB::RWInfo::kCategoryGeneric , 45, { 74, 43, 0 , 0 , 0 , 0 } }, // #104 [ref=6x]
+ { InstDB::RWInfo::kCategoryGeneric , 5 , { 44, 9 , 0 , 0 , 0 , 0 } }, // #105 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 18, { 2 , 3 , 0 , 0 , 0 , 0 } }, // #106 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 52, { 11, 3 , 0 , 0 , 0 , 0 } }, // #107 [ref=12x]
+ { InstDB::RWInfo::kCategoryVmovddup , 34, { 0 , 0 , 0 , 0 , 0 , 0 } }, // #108 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 12, { 35, 61, 0 , 0 , 0 , 0 } }, // #109 [ref=2x]
+ { InstDB::RWInfo::kCategoryVmovmskpd , 0 , { 0 , 0 , 0 , 0 , 0 , 0 } }, // #110 [ref=1x]
+ { InstDB::RWInfo::kCategoryVmovmskps , 0 , { 0 , 0 , 0 , 0 , 0 , 0 } }, // #111 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 53, { 35, 7 , 0 , 0 , 0 , 0 } }, // #112 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 2 , { 3 , 3 , 0 , 0 , 0 , 0 } }, // #113 [ref=4x]
+ { InstDB::RWInfo::kCategoryGeneric , 15, { 11, 40, 0 , 0 , 0 , 0 } }, // #114 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 11, 7 , 0 , 0 , 0 , 0 } }, // #115 [ref=6x]
+ { InstDB::RWInfo::kCategoryGeneric , 27, { 11, 13, 0 , 0 , 0 , 0 } }, // #116 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 35, 3 , 0 , 0 , 0 , 0 } }, // #117 [ref=4x]
+ { InstDB::RWInfo::kCategoryVmov1_4 , 57, { 0 , 0 , 0 , 0 , 0 , 0 } }, // #118 [ref=6x]
+ { InstDB::RWInfo::kCategoryVmov1_2 , 42, { 0 , 0 , 0 , 0 , 0 , 0 } }, // #119 [ref=9x]
+ { InstDB::RWInfo::kCategoryVmov1_8 , 58, { 0 , 0 , 0 , 0 , 0 , 0 } }, // #120 [ref=3x]
+ { InstDB::RWInfo::kCategoryVmov4_1 , 59, { 0 , 0 , 0 , 0 , 0 , 0 } }, // #121 [ref=4x]
+ { InstDB::RWInfo::kCategoryVmov8_1 , 60, { 0 , 0 , 0 , 0 , 0 , 0 } }, // #122 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 18, { 11, 3 , 0 , 0 , 0 , 0 } }, // #123 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 17, { 44, 9 , 0 , 0 , 0 , 0 } }, // #124 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 32, { 35, 7 , 0 , 0 , 0 , 0 } }, // #125 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 11, { 2 , 2 , 0 , 0 , 0 , 0 } }, // #126 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 52, { 2 , 2 , 0 , 0 , 0 , 0 } } // #127 [ref=1x]
};
const InstDB::RWInfo InstDB::rwInfoB[] = {
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 0 , 0 , 0 , 0 , 0 , 0 } }, // #0 [ref=736x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 0 , 0 , 0 , 0 , 0 , 0 } }, // #0 [ref=742x]
{ InstDB::RWInfo::kCategoryGeneric , 0 , { 1 , 0 , 0 , 0 , 0 , 0 } }, // #1 [ref=5x]
{ InstDB::RWInfo::kCategoryGeneric , 3 , { 10, 5 , 0 , 0 , 0 , 0 } }, // #2 [ref=7x]
{ InstDB::RWInfo::kCategoryGeneric , 6 , { 11, 3 , 3 , 0 , 0 , 0 } }, // #3 [ref=186x]
@@ -3863,141 +3909,141 @@ const InstDB::RWInfo InstDB::rwInfoB[] = {
{ InstDB::RWInfo::kCategoryGeneric , 7 , { 49, 0 , 0 , 0 , 0 , 0 } }, // #34 [ref=2x]
{ InstDB::RWInfo::kCategoryGeneric , 20, { 11, 0 , 0 , 0 , 0 , 0 } }, // #35 [ref=2x]
{ InstDB::RWInfo::kCategoryImul , 22, { 0 , 0 , 0 , 0 , 0 , 0 } }, // #36 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 52, 0 , 0 , 0 , 0 , 0 } }, // #37 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 53, 0 , 0 , 0 , 0 , 0 } }, // #37 [ref=1x]
{ InstDB::RWInfo::kCategoryGeneric , 0 , { 26, 0 , 0 , 0 , 0 , 0 } }, // #38 [ref=1x]
{ InstDB::RWInfo::kCategoryGeneric , 5 , { 4 , 9 , 0 , 0 , 0 , 0 } }, // #39 [ref=2x]
{ InstDB::RWInfo::kCategoryGeneric , 0 , { 4 , 5 , 0 , 0 , 0 , 0 } }, // #40 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 55, 40, 40, 0 , 0 , 0 } }, // #41 [ref=6x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 56, 40, 40, 0 , 0 , 0 } }, // #41 [ref=6x]
{ InstDB::RWInfo::kCategoryGeneric , 0 , { 44, 9 , 9 , 0 , 0 , 0 } }, // #42 [ref=6x]
{ InstDB::RWInfo::kCategoryGeneric , 0 , { 35, 7 , 7 , 0 , 0 , 0 } }, // #43 [ref=6x]
{ InstDB::RWInfo::kCategoryGeneric , 0 , { 48, 13, 13, 0 , 0 , 0 } }, // #44 [ref=6x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 55, 40, 0 , 0 , 0 , 0 } }, // #45 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 56, 40, 0 , 0 , 0 , 0 } }, // #45 [ref=2x]
{ InstDB::RWInfo::kCategoryGeneric , 0 , { 44, 9 , 0 , 0 , 0 , 0 } }, // #46 [ref=2x]
{ InstDB::RWInfo::kCategoryGeneric , 0 , { 35, 7 , 0 , 0 , 0 , 0 } }, // #47 [ref=2x]
{ InstDB::RWInfo::kCategoryGeneric , 0 , { 48, 13, 0 , 0 , 0 , 0 } }, // #48 [ref=2x]
{ InstDB::RWInfo::kCategoryGeneric , 0 , { 48, 40, 40, 0 , 0 , 0 } }, // #49 [ref=1x]
{ InstDB::RWInfo::kCategoryGeneric , 0 , { 35, 9 , 9 , 0 , 0 , 0 } }, // #50 [ref=1x]
{ InstDB::RWInfo::kCategoryGeneric , 0 , { 44, 13, 13, 0 , 0 , 0 } }, // #51 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 56, 0 , 0 , 0 , 0 , 0 } }, // #52 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 57, 0 , 0 , 0 , 0 , 0 } }, // #52 [ref=1x]
{ InstDB::RWInfo::kCategoryGeneric , 28, { 9 , 0 , 0 , 0 , 0 , 0 } }, // #53 [ref=2x]
{ InstDB::RWInfo::kCategoryGeneric , 16, { 43, 0 , 0 , 0 , 0 , 0 } }, // #54 [ref=1x]
{ InstDB::RWInfo::kCategoryGeneric , 7 , { 13, 0 , 0 , 0 , 0 , 0 } }, // #55 [ref=5x]
{ InstDB::RWInfo::kCategoryGeneric , 0 , { 3 , 0 , 0 , 0 , 0 , 0 } }, // #56 [ref=4x]
{ InstDB::RWInfo::kCategoryGeneric , 5 , { 3 , 9 , 0 , 0 , 0 , 0 } }, // #57 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 5 , 5 , 58, 0 , 0 , 0 } }, // #58 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 7 , 7 , 58, 0 , 0 , 0 } }, // #59 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 19, 29, 59, 0 , 0 , 0 } }, // #60 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 6 , { 63, 42, 3 , 0 , 0 , 0 } }, // #61 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 6 , { 11, 11, 3 , 64, 0 , 0 } }, // #62 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 5 , 5 , 59, 0 , 0 , 0 } }, // #58 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 7 , 7 , 59, 0 , 0 , 0 } }, // #59 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 19, 29, 60, 0 , 0 , 0 } }, // #60 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 6 , { 64, 42, 3 , 0 , 0 , 0 } }, // #61 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 6 , { 11, 11, 3 , 65, 0 , 0 } }, // #62 [ref=1x]
{ InstDB::RWInfo::kCategoryGeneric , 0 , { 17, 29, 30, 0 , 0 , 0 } }, // #63 [ref=1x]
{ InstDB::RWInfo::kCategoryGeneric , 10, { 3 , 0 , 0 , 0 , 0 , 0 } }, // #64 [ref=2x]
{ InstDB::RWInfo::kCategoryGeneric , 2 , { 2 , 3 , 0 , 0 , 0 , 0 } }, // #65 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 3 , { 5 , 5 , 0 , 66, 17, 59 } }, // #66 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 3 , { 5 , 5 , 0 , 67, 17, 59 } }, // #67 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 3 , { 5 , 5 , 0 , 66, 0 , 0 } }, // #68 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 3 , { 5 , 5 , 0 , 67, 0 , 0 } }, // #69 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 31, { 55, 5 , 0 , 0 , 0 , 0 } }, // #70 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 3 , { 5 , 5 , 0 , 67, 17, 60 } }, // #66 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 3 , { 5 , 5 , 0 , 68, 17, 60 } }, // #67 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 3 , { 5 , 5 , 0 , 67, 0 , 0 } }, // #68 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 3 , { 5 , 5 , 0 , 68, 0 , 0 } }, // #69 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 31, { 56, 5 , 0 , 0 , 0 , 0 } }, // #70 [ref=2x]
{ InstDB::RWInfo::kCategoryGeneric , 32, { 35, 5 , 0 , 0 , 0 , 0 } }, // #71 [ref=2x]
{ InstDB::RWInfo::kCategoryGeneric , 33, { 48, 3 , 0 , 0 , 0 , 0 } }, // #72 [ref=1x]
{ InstDB::RWInfo::kCategoryGeneric , 15, { 4 , 40, 0 , 0 , 0 , 0 } }, // #73 [ref=1x]
{ InstDB::RWInfo::kCategoryGeneric , 4 , { 4 , 7 , 0 , 0 , 0 , 0 } }, // #74 [ref=1x]
{ InstDB::RWInfo::kCategoryGeneric , 27, { 2 , 13, 0 , 0 , 0 , 0 } }, // #75 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 10, { 69, 0 , 0 , 0 , 0 , 0 } }, // #76 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 10, { 70, 0 , 0 , 0 , 0 , 0 } }, // #76 [ref=1x]
{ InstDB::RWInfo::kCategoryGeneric , 4 , { 35, 7 , 0 , 0 , 0 , 0 } }, // #77 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 10, { 64, 0 , 0 , 0 , 0 , 0 } }, // #78 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 10, { 65, 0 , 0 , 0 , 0 , 0 } }, // #78 [ref=1x]
{ InstDB::RWInfo::kCategoryGeneric , 0 , { 11, 0 , 0 , 0 , 0 , 0 } }, // #79 [ref=6x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 16, 71, 29, 0 , 0 , 0 } }, // #80 [ref=5x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 16, 50, 29, 0 , 0 , 0 } }, // #80 [ref=5x]
{ InstDB::RWInfo::kCategoryGeneric , 0 , { 44, 0 , 0 , 0 , 0 , 0 } }, // #81 [ref=1x]
{ InstDB::RWInfo::kCategoryGeneric , 0 , { 35, 0 , 0 , 0 , 0 , 0 } }, // #82 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 16, 71, 66, 0 , 0 , 0 } }, // #83 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 16, 50, 67, 0 , 0 , 0 } }, // #83 [ref=1x]
{ InstDB::RWInfo::kCategoryGeneric , 2 , { 11, 3 , 0 , 0 , 0 , 0 } }, // #84 [ref=16x]
{ InstDB::RWInfo::kCategoryGeneric , 4 , { 36, 7 , 0 , 0 , 0 , 0 } }, // #85 [ref=1x]
{ InstDB::RWInfo::kCategoryGeneric , 5 , { 37, 9 , 0 , 0 , 0 , 0 } }, // #86 [ref=1x]
{ InstDB::RWInfo::kCategoryGeneric , 0 , { 72, 0 , 0 , 0 , 0 , 0 } }, // #87 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 31, { 73, 0 , 0 , 0 , 0 , 0 } }, // #88 [ref=30x]
- { InstDB::RWInfo::kCategoryGeneric , 11, { 2 , 3 , 70, 0 , 0 , 0 } }, // #89 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 34, { 11, 0 , 0 , 0 , 0 , 0 } }, // #90 [ref=3x]
- { InstDB::RWInfo::kCategoryGeneric , 28, { 44, 0 , 0 , 0 , 0 , 0 } }, // #91 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 16, { 74, 0 , 0 , 0 , 0 , 0 } }, // #92 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 75, 43, 43, 0 , 0 , 0 } }, // #93 [ref=5x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 74, 0 , 0 , 0 , 0 , 0 } }, // #94 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 9 , 59, 17, 0 , 0 , 0 } }, // #95 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 17, { 52, 0 , 0 , 0 , 0 , 0 } }, // #96 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 7 , 0 , 0 , 0 , 0 , 0 } }, // #88 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 31, { 73, 0 , 0 , 0 , 0 , 0 } }, // #89 [ref=30x]
+ { InstDB::RWInfo::kCategoryGeneric , 11, { 2 , 3 , 71, 0 , 0 , 0 } }, // #90 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 35, { 11, 0 , 0 , 0 , 0 , 0 } }, // #91 [ref=3x]
+ { InstDB::RWInfo::kCategoryGeneric , 28, { 44, 0 , 0 , 0 , 0 , 0 } }, // #92 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 16, { 74, 0 , 0 , 0 , 0 , 0 } }, // #93 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 75, 43, 43, 0 , 0 , 0 } }, // #94 [ref=5x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 74, 0 , 0 , 0 , 0 , 0 } }, // #95 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 9 , 60, 17, 0 , 0 , 0 } }, // #96 [ref=2x]
{ InstDB::RWInfo::kCategoryGeneric , 13, { 75, 43, 43, 43, 43, 5 } }, // #97 [ref=2x]
{ InstDB::RWInfo::kCategoryGeneric , 13, { 4 , 5 , 5 , 5 , 5 , 5 } }, // #98 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 35, { 10, 5 , 7 , 0 , 0 , 0 } }, // #99 [ref=8x]
- { InstDB::RWInfo::kCategoryGeneric , 36, { 10, 5 , 9 , 0 , 0 , 0 } }, // #100 [ref=9x]
+ { InstDB::RWInfo::kCategoryGeneric , 36, { 10, 5 , 7 , 0 , 0 , 0 } }, // #99 [ref=8x]
+ { InstDB::RWInfo::kCategoryGeneric , 37, { 10, 5 , 9 , 0 , 0 , 0 } }, // #100 [ref=9x]
{ InstDB::RWInfo::kCategoryGeneric , 6 , { 11, 3 , 3 , 3 , 0 , 0 } }, // #101 [ref=3x]
- { InstDB::RWInfo::kCategoryGeneric , 35, { 11, 5 , 7 , 0 , 0 , 0 } }, // #102 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 36, { 11, 5 , 9 , 0 , 0 , 0 } }, // #103 [ref=1x]
- { InstDB::RWInfo::kCategoryVmov1_2 , 41, { 0 , 0 , 0 , 0 , 0 , 0 } }, // #104 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 35, { 10, 78, 7 , 0 , 0 , 0 } }, // #105 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 42, { 10, 60, 3 , 0 , 0 , 0 } }, // #106 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 42, { 10, 78, 3 , 0 , 0 , 0 } }, // #107 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 36, { 10, 60, 9 , 0 , 0 , 0 } }, // #108 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 43, { 10, 5 , 5 , 0 , 0 , 0 } }, // #109 [ref=9x]
- { InstDB::RWInfo::kCategoryGeneric , 45, { 10, 77, 0 , 0 , 0 , 0 } }, // #110 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 45, { 10, 3 , 0 , 0 , 0 , 0 } }, // #111 [ref=4x]
- { InstDB::RWInfo::kCategoryGeneric , 46, { 76, 43, 0 , 0 , 0 , 0 } }, // #112 [ref=4x]
+ { InstDB::RWInfo::kCategoryGeneric , 36, { 11, 5 , 7 , 0 , 0 , 0 } }, // #102 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 37, { 11, 5 , 9 , 0 , 0 , 0 } }, // #103 [ref=1x]
+ { InstDB::RWInfo::kCategoryVmov1_2 , 42, { 0 , 0 , 0 , 0 , 0 , 0 } }, // #104 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 36, { 10, 78, 7 , 0 , 0 , 0 } }, // #105 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 43, { 10, 61, 3 , 0 , 0 , 0 } }, // #106 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 43, { 10, 78, 3 , 0 , 0 , 0 } }, // #107 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 37, { 10, 61, 9 , 0 , 0 , 0 } }, // #108 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 44, { 10, 5 , 5 , 0 , 0 , 0 } }, // #109 [ref=9x]
+ { InstDB::RWInfo::kCategoryGeneric , 46, { 10, 77, 0 , 0 , 0 , 0 } }, // #110 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 46, { 10, 3 , 0 , 0 , 0 , 0 } }, // #111 [ref=4x]
+ { InstDB::RWInfo::kCategoryGeneric , 47, { 76, 43, 0 , 0 , 0 , 0 } }, // #112 [ref=4x]
{ InstDB::RWInfo::kCategoryGeneric , 6 , { 2 , 3 , 3 , 0 , 0 , 0 } }, // #113 [ref=60x]
- { InstDB::RWInfo::kCategoryGeneric , 35, { 4 , 60, 7 , 0 , 0 , 0 } }, // #114 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 36, { 4 , 78, 9 , 0 , 0 , 0 } }, // #115 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 35, { 6 , 7 , 7 , 0 , 0 , 0 } }, // #116 [ref=11x]
- { InstDB::RWInfo::kCategoryGeneric , 36, { 8 , 9 , 9 , 0 , 0 , 0 } }, // #117 [ref=11x]
- { InstDB::RWInfo::kCategoryGeneric , 47, { 11, 3 , 3 , 3 , 0 , 0 } }, // #118 [ref=15x]
- { InstDB::RWInfo::kCategoryGeneric , 48, { 35, 7 , 7 , 7 , 0 , 0 } }, // #119 [ref=4x]
- { InstDB::RWInfo::kCategoryGeneric , 49, { 44, 9 , 9 , 9 , 0 , 0 } }, // #120 [ref=4x]
- { InstDB::RWInfo::kCategoryGeneric , 35, { 26, 7 , 7 , 0 , 0 , 0 } }, // #121 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 36, { 52, 9 , 9 , 0 , 0 , 0 } }, // #122 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 36, { 4 , 61, 7 , 0 , 0 , 0 } }, // #114 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 37, { 4 , 78, 9 , 0 , 0 , 0 } }, // #115 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 36, { 6 , 7 , 7 , 0 , 0 , 0 } }, // #116 [ref=11x]
+ { InstDB::RWInfo::kCategoryGeneric , 37, { 8 , 9 , 9 , 0 , 0 , 0 } }, // #117 [ref=11x]
+ { InstDB::RWInfo::kCategoryGeneric , 48, { 11, 3 , 3 , 3 , 0 , 0 } }, // #118 [ref=15x]
+ { InstDB::RWInfo::kCategoryGeneric , 49, { 35, 7 , 7 , 7 , 0 , 0 } }, // #119 [ref=4x]
+ { InstDB::RWInfo::kCategoryGeneric , 50, { 44, 9 , 9 , 9 , 0 , 0 } }, // #120 [ref=4x]
+ { InstDB::RWInfo::kCategoryGeneric , 36, { 26, 7 , 7 , 0 , 0 , 0 } }, // #121 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 37, { 53, 9 , 9 , 0 , 0 , 0 } }, // #122 [ref=1x]
{ InstDB::RWInfo::kCategoryGeneric , 14, { 35, 3 , 0 , 0 , 0 , 0 } }, // #123 [ref=2x]
{ InstDB::RWInfo::kCategoryGeneric , 5 , { 35, 9 , 0 , 0 , 0 , 0 } }, // #124 [ref=1x]
{ InstDB::RWInfo::kCategoryGeneric , 8 , { 2 , 3 , 2 , 0 , 0 , 0 } }, // #125 [ref=2x]
{ InstDB::RWInfo::kCategoryGeneric , 0 , { 2 , 3 , 2 , 0 , 0 , 0 } }, // #126 [ref=4x]
{ InstDB::RWInfo::kCategoryGeneric , 18, { 4 , 3 , 4 , 0 , 0 , 0 } }, // #127 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 35, { 10, 60, 7 , 0 , 0 , 0 } }, // #128 [ref=11x]
- { InstDB::RWInfo::kCategoryGeneric , 36, { 10, 78, 9 , 0 , 0 , 0 } }, // #129 [ref=13x]
- { InstDB::RWInfo::kCategoryGeneric , 43, { 76, 77, 5 , 0 , 0 , 0 } }, // #130 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 43, { 11, 3 , 5 , 0 , 0 , 0 } }, // #131 [ref=4x]
- { InstDB::RWInfo::kCategoryGeneric , 50, { 74, 43, 77, 0 , 0 , 0 } }, // #132 [ref=4x]
+ { InstDB::RWInfo::kCategoryGeneric , 36, { 10, 61, 7 , 0 , 0 , 0 } }, // #128 [ref=11x]
+ { InstDB::RWInfo::kCategoryGeneric , 37, { 10, 78, 9 , 0 , 0 , 0 } }, // #129 [ref=13x]
+ { InstDB::RWInfo::kCategoryGeneric , 44, { 76, 77, 5 , 0 , 0 , 0 } }, // #130 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 44, { 11, 3 , 5 , 0 , 0 , 0 } }, // #131 [ref=4x]
+ { InstDB::RWInfo::kCategoryGeneric , 51, { 74, 43, 77, 0 , 0 , 0 } }, // #132 [ref=4x]
{ InstDB::RWInfo::kCategoryVmaskmov , 0 , { 0 , 0 , 0 , 0 , 0 , 0 } }, // #133 [ref=4x]
{ InstDB::RWInfo::kCategoryGeneric , 12, { 35, 0 , 0 , 0 , 0 , 0 } }, // #134 [ref=2x]
{ InstDB::RWInfo::kCategoryGeneric , 0 , { 22, 0 , 0 , 0 , 0 , 0 } }, // #135 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 10, 60, 60, 0 , 0 , 0 } }, // #136 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 10, 61, 61, 0 , 0 , 0 } }, // #136 [ref=1x]
{ InstDB::RWInfo::kCategoryGeneric , 12, { 10, 7 , 7 , 0 , 0 , 0 } }, // #137 [ref=2x]
{ InstDB::RWInfo::kCategoryGeneric , 0 , { 10, 7 , 7 , 0 , 0 , 0 } }, // #138 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 12, { 10, 60, 7 , 0 , 0 , 0 } }, // #139 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 10, 60, 7 , 0 , 0 , 0 } }, // #140 [ref=1x]
+ { InstDB::RWInfo::kCategoryGeneric , 12, { 10, 61, 7 , 0 , 0 , 0 } }, // #139 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 10, 61, 7 , 0 , 0 , 0 } }, // #140 [ref=1x]
{ InstDB::RWInfo::kCategoryGeneric , 0 , { 10, 78, 9 , 0 , 0 , 0 } }, // #141 [ref=1x]
{ InstDB::RWInfo::kCategoryGeneric , 0 , { 79, 0 , 0 , 0 , 0 , 0 } }, // #142 [ref=1x]
{ InstDB::RWInfo::kCategoryGeneric , 54, { 35, 11, 3 , 3 , 0 , 0 } }, // #143 [ref=2x]
{ InstDB::RWInfo::kCategoryGeneric , 13, { 74, 43, 43, 43, 43, 5 } }, // #144 [ref=2x]
{ InstDB::RWInfo::kCategoryGeneric , 6 , { 35, 3 , 3 , 0 , 0 , 0 } }, // #145 [ref=17x]
- { InstDB::RWInfo::kCategoryGeneric , 50, { 76, 77, 77, 0 , 0 , 0 } }, // #146 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 51, { 76, 77, 77, 0 , 0 , 0 } }, // #146 [ref=2x]
{ InstDB::RWInfo::kCategoryGeneric , 22, { 11, 3 , 3 , 0 , 0 , 0 } }, // #147 [ref=4x]
{ InstDB::RWInfo::kCategoryGeneric , 7 , { 48, 5 , 0 , 0 , 0 , 0 } }, // #148 [ref=1x]
{ InstDB::RWInfo::kCategoryGeneric , 55, { 10, 5 , 40, 0 , 0 , 0 } }, // #149 [ref=1x]
{ InstDB::RWInfo::kCategoryGeneric , 56, { 10, 5 , 13, 0 , 0 , 0 } }, // #150 [ref=1x]
- { InstDB::RWInfo::kCategoryGeneric , 43, { 10, 5 , 5 , 5 , 0 , 0 } }, // #151 [ref=12x]
+ { InstDB::RWInfo::kCategoryGeneric , 44, { 10, 5 , 5 , 5 , 0 , 0 } }, // #151 [ref=12x]
{ InstDB::RWInfo::kCategoryGeneric , 61, { 10, 5 , 5 , 5 , 0 , 0 } }, // #152 [ref=1x]
{ InstDB::RWInfo::kCategoryGeneric , 62, { 10, 5 , 5 , 0 , 0 , 0 } }, // #153 [ref=12x]
{ InstDB::RWInfo::kCategoryGeneric , 22, { 11, 3 , 5 , 0 , 0 , 0 } }, // #154 [ref=9x]
{ InstDB::RWInfo::kCategoryGeneric , 63, { 11, 3 , 0 , 0 , 0 , 0 } }, // #155 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 0 , { 59, 17, 29, 0 , 0 , 0 } }, // #156 [ref=2x]
- { InstDB::RWInfo::kCategoryGeneric , 8 , { 3 , 59, 17, 0 , 0 , 0 } }, // #157 [ref=4x]
- { InstDB::RWInfo::kCategoryGeneric , 8 , { 11, 59, 17, 0 , 0 , 0 } } // #158 [ref=8x]
+ { InstDB::RWInfo::kCategoryGeneric , 0 , { 60, 17, 29, 0 , 0 , 0 } }, // #156 [ref=2x]
+ { InstDB::RWInfo::kCategoryGeneric , 8 , { 3 , 60, 17, 0 , 0 , 0 } }, // #157 [ref=4x]
+ { InstDB::RWInfo::kCategoryGeneric , 8 , { 11, 60, 17, 0 , 0 , 0 } } // #158 [ref=8x]
};
const InstDB::RWInfoOp InstDB::rwInfoOp[] = {
- { 0x0000000000000000u, 0x0000000000000000u, 0xFF, { 0 }, 0 }, // #0 [ref=15467x]
+ { 0x0000000000000000u, 0x0000000000000000u, 0xFF, { 0 }, 0 }, // #0 [ref=15529x]
{ 0x0000000000000003u, 0x0000000000000003u, 0x00, { 0 }, OpRWInfo::kRW | OpRWInfo::kRegPhysId }, // #1 [ref=10x]
- { 0x0000000000000000u, 0x0000000000000000u, 0xFF, { 0 }, OpRWInfo::kRW | OpRWInfo::kZExt }, // #2 [ref=217x]
- { 0x0000000000000000u, 0x0000000000000000u, 0xFF, { 0 }, OpRWInfo::kRead }, // #3 [ref=991x]
+ { 0x0000000000000000u, 0x0000000000000000u, 0xFF, { 0 }, OpRWInfo::kRW | OpRWInfo::kZExt }, // #2 [ref=214x]
+ { 0x0000000000000000u, 0x0000000000000000u, 0xFF, { 0 }, OpRWInfo::kRead }, // #3 [ref=987x]
{ 0x000000000000FFFFu, 0x000000000000FFFFu, 0xFF, { 0 }, OpRWInfo::kRW | OpRWInfo::kZExt }, // #4 [ref=92x]
{ 0x000000000000FFFFu, 0x0000000000000000u, 0xFF, { 0 }, OpRWInfo::kRead }, // #5 [ref=305x]
{ 0x00000000000000FFu, 0x00000000000000FFu, 0xFF, { 0 }, OpRWInfo::kRW }, // #6 [ref=18x]
- { 0x00000000000000FFu, 0x0000000000000000u, 0xFF, { 0 }, OpRWInfo::kRead }, // #7 [ref=185x]
+ { 0x00000000000000FFu, 0x0000000000000000u, 0xFF, { 0 }, OpRWInfo::kRead }, // #7 [ref=186x]
{ 0x000000000000000Fu, 0x000000000000000Fu, 0xFF, { 0 }, OpRWInfo::kRW }, // #8 [ref=18x]
- { 0x000000000000000Fu, 0x0000000000000000u, 0xFF, { 0 }, OpRWInfo::kRead }, // #9 [ref=133x]
+ { 0x000000000000000Fu, 0x0000000000000000u, 0xFF, { 0 }, OpRWInfo::kRead }, // #9 [ref=136x]
{ 0x0000000000000000u, 0x000000000000FFFFu, 0xFF, { 0 }, OpRWInfo::kWrite | OpRWInfo::kZExt }, // #10 [ref=160x]
{ 0x0000000000000000u, 0x0000000000000000u, 0xFF, { 0 }, OpRWInfo::kWrite | OpRWInfo::kZExt }, // #11 [ref=420x]
{ 0x0000000000000003u, 0x0000000000000003u, 0xFF, { 0 }, OpRWInfo::kRW }, // #12 [ref=1x]
@@ -4038,28 +4084,28 @@ const InstDB::RWInfoOp InstDB::rwInfoOp[] = {
{ 0x0000000000000000u, 0x00000000000003FFu, 0xFF, { 0 }, OpRWInfo::kWrite | OpRWInfo::kZExt }, // #47 [ref=1x]
{ 0x0000000000000000u, 0x0000000000000003u, 0xFF, { 0 }, OpRWInfo::kWrite | OpRWInfo::kZExt }, // #48 [ref=15x]
{ 0x0000000000000000u, 0x0000000000000003u, 0x00, { 0 }, OpRWInfo::kWrite | OpRWInfo::kRegPhysId | OpRWInfo::kZExt }, // #49 [ref=2x]
- { 0x0000000000000000u, 0x0000000000000000u, 0x00, { 0 }, OpRWInfo::kWrite | OpRWInfo::kRegPhysId | OpRWInfo::kZExt }, // #50 [ref=2x]
- { 0x0000000000000003u, 0x0000000000000000u, 0x02, { 0 }, OpRWInfo::kRead | OpRWInfo::kRegPhysId }, // #51 [ref=4x]
- { 0x000000000000000Fu, 0x000000000000000Fu, 0xFF, { 0 }, OpRWInfo::kRW | OpRWInfo::kZExt }, // #52 [ref=4x]
- { 0x0000000000000000u, 0x0000000000000000u, 0x07, { 0 }, OpRWInfo::kWrite | OpRWInfo::kZExt | OpRWInfo::kMemPhysId }, // #53 [ref=1x]
- { 0x0000000000000000u, 0x0000000000000000u, 0x01, { 0 }, OpRWInfo::kRead | OpRWInfo::kRegPhysId }, // #54 [ref=1x]
- { 0x0000000000000000u, 0x0000000000000001u, 0xFF, { 0 }, OpRWInfo::kWrite | OpRWInfo::kZExt }, // #55 [ref=14x]
- { 0x0000000000000000u, 0x0000000000000001u, 0x00, { 0 }, OpRWInfo::kWrite | OpRWInfo::kRegPhysId }, // #56 [ref=1x]
- { 0x0000000000000000u, 0x0000000000000000u, 0x01, { 0 }, OpRWInfo::kRW | OpRWInfo::kRegPhysId | OpRWInfo::kZExt }, // #57 [ref=3x]
- { 0x0000000000000000u, 0x0000000000000000u, 0x07, { 0 }, OpRWInfo::kRW | OpRWInfo::kZExt | OpRWInfo::kMemPhysId }, // #58 [ref=3x]
- { 0x000000000000000Fu, 0x0000000000000000u, 0x02, { 0 }, OpRWInfo::kRead | OpRWInfo::kRegPhysId }, // #59 [ref=22x]
- { 0x000000000000FF00u, 0x0000000000000000u, 0xFF, { 0 }, OpRWInfo::kRead }, // #60 [ref=23x]
- { 0x0000000000000000u, 0x000000000000FF00u, 0xFF, { 0 }, OpRWInfo::kWrite }, // #61 [ref=1x]
- { 0x0000000000000000u, 0x0000000000000000u, 0x07, { 0 }, OpRWInfo::kWrite | OpRWInfo::kZExt | OpRWInfo::kMemBaseRW | OpRWInfo::kMemBasePostModify | OpRWInfo::kMemPhysId }, // #62 [ref=2x]
- { 0x0000000000000000u, 0x0000000000000000u, 0x02, { 0 }, OpRWInfo::kWrite | OpRWInfo::kRegPhysId | OpRWInfo::kZExt }, // #63 [ref=1x]
- { 0x0000000000000000u, 0x0000000000000000u, 0x02, { 0 }, OpRWInfo::kRead | OpRWInfo::kRegPhysId }, // #64 [ref=2x]
- { 0x0000000000000000u, 0x0000000000000000u, 0x06, { 0 }, OpRWInfo::kRead | OpRWInfo::kMemPhysId }, // #65 [ref=1x]
- { 0x0000000000000000u, 0x000000000000000Fu, 0x01, { 0 }, OpRWInfo::kWrite | OpRWInfo::kZExt | OpRWInfo::kRegPhysId }, // #66 [ref=5x]
- { 0x0000000000000000u, 0x000000000000FFFFu, 0x00, { 0 }, OpRWInfo::kWrite | OpRWInfo::kZExt | OpRWInfo::kRegPhysId }, // #67 [ref=4x]
- { 0x0000000000000000u, 0x0000000000000007u, 0xFF, { 0 }, OpRWInfo::kWrite | OpRWInfo::kZExt }, // #68 [ref=2x]
- { 0x0000000000000000u, 0x0000000000000000u, 0x04, { 0 }, OpRWInfo::kWrite | OpRWInfo::kZExt | OpRWInfo::kRegPhysId }, // #69 [ref=1x]
- { 0x0000000000000001u, 0x0000000000000000u, 0x01, { 0 }, OpRWInfo::kRead | OpRWInfo::kRegPhysId }, // #70 [ref=10x]
- { 0x0000000000000000u, 0x000000000000000Fu, 0x00, { 0 }, OpRWInfo::kWrite | OpRWInfo::kZExt | OpRWInfo::kRegPhysId }, // #71 [ref=7x]
+ { 0x0000000000000000u, 0x000000000000000Fu, 0x00, { 0 }, OpRWInfo::kWrite | OpRWInfo::kZExt | OpRWInfo::kRegPhysId }, // #50 [ref=8x]
+ { 0x0000000000000000u, 0x0000000000000000u, 0x00, { 0 }, OpRWInfo::kWrite | OpRWInfo::kRegPhysId | OpRWInfo::kZExt }, // #51 [ref=2x]
+ { 0x0000000000000003u, 0x0000000000000000u, 0x02, { 0 }, OpRWInfo::kRead | OpRWInfo::kRegPhysId }, // #52 [ref=4x]
+ { 0x000000000000000Fu, 0x000000000000000Fu, 0xFF, { 0 }, OpRWInfo::kRW | OpRWInfo::kZExt }, // #53 [ref=4x]
+ { 0x0000000000000000u, 0x0000000000000000u, 0x07, { 0 }, OpRWInfo::kWrite | OpRWInfo::kZExt | OpRWInfo::kMemPhysId }, // #54 [ref=1x]
+ { 0x0000000000000000u, 0x0000000000000000u, 0x01, { 0 }, OpRWInfo::kRead | OpRWInfo::kRegPhysId }, // #55 [ref=1x]
+ { 0x0000000000000000u, 0x0000000000000001u, 0xFF, { 0 }, OpRWInfo::kWrite | OpRWInfo::kZExt }, // #56 [ref=14x]
+ { 0x0000000000000000u, 0x0000000000000001u, 0x00, { 0 }, OpRWInfo::kWrite | OpRWInfo::kRegPhysId }, // #57 [ref=1x]
+ { 0x0000000000000000u, 0x0000000000000000u, 0x01, { 0 }, OpRWInfo::kRW | OpRWInfo::kRegPhysId | OpRWInfo::kZExt }, // #58 [ref=3x]
+ { 0x0000000000000000u, 0x0000000000000000u, 0x07, { 0 }, OpRWInfo::kRW | OpRWInfo::kZExt | OpRWInfo::kMemPhysId }, // #59 [ref=3x]
+ { 0x000000000000000Fu, 0x0000000000000000u, 0x02, { 0 }, OpRWInfo::kRead | OpRWInfo::kRegPhysId }, // #60 [ref=22x]
+ { 0x000000000000FF00u, 0x0000000000000000u, 0xFF, { 0 }, OpRWInfo::kRead }, // #61 [ref=23x]
+ { 0x0000000000000000u, 0x000000000000FF00u, 0xFF, { 0 }, OpRWInfo::kWrite }, // #62 [ref=1x]
+ { 0x0000000000000000u, 0x0000000000000000u, 0x07, { 0 }, OpRWInfo::kWrite | OpRWInfo::kZExt | OpRWInfo::kMemBaseRW | OpRWInfo::kMemBasePostModify | OpRWInfo::kMemPhysId }, // #63 [ref=2x]
+ { 0x0000000000000000u, 0x0000000000000000u, 0x02, { 0 }, OpRWInfo::kWrite | OpRWInfo::kRegPhysId | OpRWInfo::kZExt }, // #64 [ref=1x]
+ { 0x0000000000000000u, 0x0000000000000000u, 0x02, { 0 }, OpRWInfo::kRead | OpRWInfo::kRegPhysId }, // #65 [ref=2x]
+ { 0x0000000000000000u, 0x0000000000000000u, 0x06, { 0 }, OpRWInfo::kRead | OpRWInfo::kMemPhysId }, // #66 [ref=1x]
+ { 0x0000000000000000u, 0x000000000000000Fu, 0x01, { 0 }, OpRWInfo::kWrite | OpRWInfo::kZExt | OpRWInfo::kRegPhysId }, // #67 [ref=5x]
+ { 0x0000000000000000u, 0x000000000000FFFFu, 0x00, { 0 }, OpRWInfo::kWrite | OpRWInfo::kZExt | OpRWInfo::kRegPhysId }, // #68 [ref=4x]
+ { 0x0000000000000000u, 0x0000000000000007u, 0xFF, { 0 }, OpRWInfo::kWrite | OpRWInfo::kZExt }, // #69 [ref=2x]
+ { 0x0000000000000000u, 0x0000000000000000u, 0x04, { 0 }, OpRWInfo::kWrite | OpRWInfo::kZExt | OpRWInfo::kRegPhysId }, // #70 [ref=1x]
+ { 0x0000000000000001u, 0x0000000000000000u, 0x01, { 0 }, OpRWInfo::kRead | OpRWInfo::kRegPhysId }, // #71 [ref=10x]
{ 0x0000000000000001u, 0x0000000000000000u, 0x00, { 0 }, OpRWInfo::kRead | OpRWInfo::kRegPhysId }, // #72 [ref=1x]
{ 0x0000000000000000u, 0x0000000000000001u, 0xFF, { 0 }, OpRWInfo::kWrite }, // #73 [ref=30x]
{ 0x0000000000000000u, 0xFFFFFFFFFFFFFFFFu, 0xFF, { 0 }, OpRWInfo::kWrite | OpRWInfo::kZExt }, // #74 [ref=20x]
@@ -4071,12 +4117,12 @@ const InstDB::RWInfoOp InstDB::rwInfoOp[] = {
};
const InstDB::RWInfoRm InstDB::rwInfoRm[] = {
- { InstDB::RWInfoRm::kCategoryNone , 0x00, 0 , 0, 0 }, // #0 [ref=1886x]
+ { InstDB::RWInfoRm::kCategoryNone , 0x00, 0 , 0, 0 }, // #0 [ref=1894x]
{ InstDB::RWInfoRm::kCategoryConsistent, 0x03, 0 , InstDB::RWInfoRm::kFlagAmbiguous, 0 }, // #1 [ref=8x]
- { InstDB::RWInfoRm::kCategoryConsistent, 0x02, 0 , 0, 0 }, // #2 [ref=194x]
+ { InstDB::RWInfoRm::kCategoryConsistent, 0x02, 0 , 0, 0 }, // #2 [ref=190x]
{ InstDB::RWInfoRm::kCategoryFixed , 0x02, 16, 0, 0 }, // #3 [ref=122x]
{ InstDB::RWInfoRm::kCategoryFixed , 0x02, 8 , 0, 0 }, // #4 [ref=66x]
- { InstDB::RWInfoRm::kCategoryFixed , 0x02, 4 , 0, 0 }, // #5 [ref=33x]
+ { InstDB::RWInfoRm::kCategoryFixed , 0x02, 4 , 0, 0 }, // #5 [ref=36x]
{ InstDB::RWInfoRm::kCategoryConsistent, 0x04, 0 , 0, 0 }, // #6 [ref=270x]
{ InstDB::RWInfoRm::kCategoryFixed , 0x01, 2 , 0, 0 }, // #7 [ref=9x]
{ InstDB::RWInfoRm::kCategoryFixed , 0x00, 0 , 0, 0 }, // #8 [ref=63x]
@@ -4088,8 +4134,8 @@ const InstDB::RWInfoRm InstDB::rwInfoRm[] = {
{ InstDB::RWInfoRm::kCategoryConsistent, 0x02, 0 , InstDB::RWInfoRm::kFlagAmbiguous, 0 }, // #14 [ref=15x]
{ InstDB::RWInfoRm::kCategoryFixed , 0x02, 1 , 0, 0 }, // #15 [ref=5x]
{ InstDB::RWInfoRm::kCategoryFixed , 0x00, 64, 0, 0 }, // #16 [ref=5x]
- { InstDB::RWInfoRm::kCategoryFixed , 0x01, 4 , 0, 0 }, // #17 [ref=8x]
- { InstDB::RWInfoRm::kCategoryNone , 0x00, 0 , InstDB::RWInfoRm::kFlagAmbiguous, 0 }, // #18 [ref=24x]
+ { InstDB::RWInfoRm::kCategoryFixed , 0x01, 4 , 0, 0 }, // #17 [ref=6x]
+ { InstDB::RWInfoRm::kCategoryNone , 0x00, 0 , InstDB::RWInfoRm::kFlagAmbiguous, 0 }, // #18 [ref=26x]
{ InstDB::RWInfoRm::kCategoryFixed , 0x00, 10, 0, 0 }, // #19 [ref=2x]
{ InstDB::RWInfoRm::kCategoryNone , 0x01, 0 , InstDB::RWInfoRm::kFlagAmbiguous, 0 }, // #20 [ref=5x]
{ InstDB::RWInfoRm::kCategoryFixed , 0x00, 2 , 0, 0 }, // #21 [ref=3x]
@@ -4105,25 +4151,25 @@ const InstDB::RWInfoRm InstDB::rwInfoRm[] = {
{ InstDB::RWInfoRm::kCategoryFixed , 0x01, 1 , 0, 0 }, // #31 [ref=32x]
{ InstDB::RWInfoRm::kCategoryFixed , 0x01, 8 , 0, 0 }, // #32 [ref=4x]
{ InstDB::RWInfoRm::kCategoryFixed , 0x01, 2 , 0, Features::kSSE4_1 }, // #33 [ref=1x]
- { InstDB::RWInfoRm::kCategoryFixed , 0x01, 2 , InstDB::RWInfoRm::kFlagAmbiguous, 0 }, // #34 [ref=3x]
- { InstDB::RWInfoRm::kCategoryFixed , 0x04, 8 , 0, 0 }, // #35 [ref=34x]
- { InstDB::RWInfoRm::kCategoryFixed , 0x04, 4 , 0, 0 }, // #36 [ref=37x]
- { InstDB::RWInfoRm::kCategoryFixed , 0x00, 32, 0, 0 }, // #37 [ref=4x]
- { InstDB::RWInfoRm::kCategoryFixed , 0x02, 8 , InstDB::RWInfoRm::kFlagAmbiguous, 0 }, // #38 [ref=1x]
- { InstDB::RWInfoRm::kCategoryFixed , 0x02, 4 , InstDB::RWInfoRm::kFlagAmbiguous, 0 }, // #39 [ref=1x]
- { InstDB::RWInfoRm::kCategoryHalf , 0x02, 0 , 0, 0 }, // #40 [ref=14x]
- { InstDB::RWInfoRm::kCategoryHalf , 0x01, 0 , 0, 0 }, // #41 [ref=10x]
- { InstDB::RWInfoRm::kCategoryConsistent, 0x04, 0 , InstDB::RWInfoRm::kFlagAmbiguous, 0 }, // #42 [ref=4x]
- { InstDB::RWInfoRm::kCategoryFixed , 0x04, 16, 0, 0 }, // #43 [ref=27x]
- { InstDB::RWInfoRm::kCategoryFixed , 0x02, 64, 0, 0 }, // #44 [ref=6x]
- { InstDB::RWInfoRm::kCategoryFixed , 0x01, 16, 0, 0 }, // #45 [ref=6x]
- { InstDB::RWInfoRm::kCategoryFixed , 0x01, 32, 0, 0 }, // #46 [ref=4x]
- { InstDB::RWInfoRm::kCategoryConsistent, 0x0C, 0 , 0, 0 }, // #47 [ref=15x]
- { InstDB::RWInfoRm::kCategoryFixed , 0x0C, 8 , 0, 0 }, // #48 [ref=4x]
- { InstDB::RWInfoRm::kCategoryFixed , 0x0C, 4 , 0, 0 }, // #49 [ref=4x]
- { InstDB::RWInfoRm::kCategoryFixed , 0x04, 32, 0, 0 }, // #50 [ref=6x]
- { InstDB::RWInfoRm::kCategoryConsistent, 0x03, 0 , 0, 0 }, // #51 [ref=13x]
- { InstDB::RWInfoRm::kCategoryNone , 0x02, 0 , 0, 0 }, // #52 [ref=1x]
+ { InstDB::RWInfoRm::kCategoryNone , 0x02, 0 , 0, 0 }, // #34 [ref=4x]
+ { InstDB::RWInfoRm::kCategoryFixed , 0x01, 2 , InstDB::RWInfoRm::kFlagAmbiguous, 0 }, // #35 [ref=3x]
+ { InstDB::RWInfoRm::kCategoryFixed , 0x04, 8 , 0, 0 }, // #36 [ref=34x]
+ { InstDB::RWInfoRm::kCategoryFixed , 0x04, 4 , 0, 0 }, // #37 [ref=37x]
+ { InstDB::RWInfoRm::kCategoryFixed , 0x00, 32, 0, 0 }, // #38 [ref=4x]
+ { InstDB::RWInfoRm::kCategoryFixed , 0x02, 8 , InstDB::RWInfoRm::kFlagAmbiguous, 0 }, // #39 [ref=1x]
+ { InstDB::RWInfoRm::kCategoryFixed , 0x02, 4 , InstDB::RWInfoRm::kFlagAmbiguous, 0 }, // #40 [ref=1x]
+ { InstDB::RWInfoRm::kCategoryHalf , 0x02, 0 , 0, 0 }, // #41 [ref=14x]
+ { InstDB::RWInfoRm::kCategoryHalf , 0x01, 0 , 0, 0 }, // #42 [ref=10x]
+ { InstDB::RWInfoRm::kCategoryConsistent, 0x04, 0 , InstDB::RWInfoRm::kFlagAmbiguous, 0 }, // #43 [ref=4x]
+ { InstDB::RWInfoRm::kCategoryFixed , 0x04, 16, 0, 0 }, // #44 [ref=27x]
+ { InstDB::RWInfoRm::kCategoryFixed , 0x02, 64, 0, 0 }, // #45 [ref=6x]
+ { InstDB::RWInfoRm::kCategoryFixed , 0x01, 16, 0, 0 }, // #46 [ref=6x]
+ { InstDB::RWInfoRm::kCategoryFixed , 0x01, 32, 0, 0 }, // #47 [ref=4x]
+ { InstDB::RWInfoRm::kCategoryConsistent, 0x0C, 0 , 0, 0 }, // #48 [ref=15x]
+ { InstDB::RWInfoRm::kCategoryFixed , 0x0C, 8 , 0, 0 }, // #49 [ref=4x]
+ { InstDB::RWInfoRm::kCategoryFixed , 0x0C, 4 , 0, 0 }, // #50 [ref=4x]
+ { InstDB::RWInfoRm::kCategoryFixed , 0x04, 32, 0, 0 }, // #51 [ref=6x]
+ { InstDB::RWInfoRm::kCategoryConsistent, 0x03, 0 , 0, 0 }, // #52 [ref=13x]
{ InstDB::RWInfoRm::kCategoryFixed , 0x03, 8 , InstDB::RWInfoRm::kFlagAmbiguous, 0 }, // #53 [ref=1x]
{ InstDB::RWInfoRm::kCategoryConsistent, 0x08, 0 , 0, 0 }, // #54 [ref=2x]
{ InstDB::RWInfoRm::kCategoryFixed , 0x04, 1 , 0, 0 }, // #55 [ref=1x]
diff --git a/src/asmjit/x86/x86instdb_p.h b/src/asmjit/x86/x86instdb_p.h
index 18e4010..4573794 100644
--- a/src/asmjit/x86/x86instdb_p.h
+++ b/src/asmjit/x86/x86instdb_p.h
@@ -56,10 +56,12 @@ enum EncodingId : uint32_t {
kEncodingX86Op_MemZAX, //!< X86 [OP] (implicit or explicit '[EAX|RAX]' form).
kEncodingX86I_xAX, //!< X86 [I] (implicit or explicit '?AX' form).
kEncodingX86M, //!< X86 [M] (handles 2|4|8-bytes size).
+ kEncodingX86M_NoMemSize, //!< X86 [M] (handles 2|4|8-bytes size, but doesn't consider memory size).
kEncodingX86M_NoSize, //!< X86 [M] (doesn't handle any size).
kEncodingX86M_GPB, //!< X86 [M] (handles single-byte size).
kEncodingX86M_GPB_MulDiv, //!< X86 [M] (like GPB, handles implicit|explicit MUL|DIV|IDIV).
kEncodingX86M_Only, //!< X86 [M] (restricted to memory operand of any size).
+ kEncodingX86M_Only_EDX_EAX, //!< X86 [M] (memory operand only, followed by implicit <edx> and <eax>).
kEncodingX86M_Nop, //!< X86 [M] (special case of NOP instruction).
kEncodingX86R_Native, //!< X86 [R] (register must be either 32-bit or 64-bit depending on arch).
kEncodingX86R_FromM, //!< X86 [R] - which specifies memory address.
@@ -121,7 +123,8 @@ enum EncodingId : uint32_t {
kEncodingExtRm_XMM0, //!< EXT [RM<XMM0>].
kEncodingExtRm_ZDI, //!< EXT [RM<ZDI>].
kEncodingExtRm_P, //!< EXT [RM] (propagates 66H if the instruction uses XMM register).
- kEncodingExtRm_Wx, //!< EXT [RM] (propagates REX.W if GPQ is used).
+ kEncodingExtRm_Wx, //!< EXT [RM] (propagates REX.W if GPQ is used or the second operand is GPQ/QWORD_PTR).
+ kEncodingExtRm_Wx_GpqOnly, //!< EXT [RM] (propagates REX.W if the first operand is GPQ register).
kEncodingExtRmRi, //!< EXT [RM|RI].
kEncodingExtRmRi_P, //!< EXT [RM|RI] (propagates 66H if the instruction uses XMM register).
kEncodingExtRmi, //!< EXT [RMI].
@@ -142,13 +145,15 @@ enum EncodingId : uint32_t {
kEncodingVexM, //!< VEX|EVEX [M].
kEncodingVexM_VM, //!< VEX|EVEX [M] (propagates VEX|EVEX.L, VSIB support).
kEncodingVexMr_Lx, //!< VEX|EVEX [MR] (propagates VEX|EVEX.L if YMM used).
- kEncodingVexMr_VM, //!< VEX|EVEX [MR] (propagates VEX|EVEX.L, VSIB support).
+ kEncodingVexMr_VM, //!< VEX|EVEX [MR] (VSIB support).
kEncodingVexMri, //!< VEX|EVEX [MRI].
kEncodingVexMri_Lx, //!< VEX|EVEX [MRI] (propagates VEX|EVEX.L if YMM used).
+ kEncodingVexMri_Vpextrw, //!< VEX|EVEX [MRI] (special case required by VPEXTRW instruction).
kEncodingVexRm, //!< VEX|EVEX [RM].
kEncodingVexRm_ZDI, //!< VEX|EVEX [RM<ZDI>].
kEncodingVexRm_Wx, //!< VEX|EVEX [RM] (propagates VEX|EVEX.W if GPQ used).
kEncodingVexRm_Lx, //!< VEX|EVEX [RM] (propagates VEX|EVEX.L if YMM used).
+ kEncodingVexRm_Lx_Narrow, //!< VEX|EVEX [RM] (the destination vector size is narrowed).
kEncodingVexRm_Lx_Bcst, //!< VEX|EVEX [RM] (can handle broadcast r32/r64).
kEncodingVexRm_VM, //!< VEX|EVEX [RM] (propagates VEX|EVEX.L, VSIB support).
kEncodingVexRm_T1_4X, //!< EVEX [RM] (used by NN instructions that use RM-T1_4X encoding).
@@ -159,11 +164,14 @@ enum EncodingId : uint32_t {
kEncodingVexRvm_Wx, //!< VEX|EVEX [RVM] (propagates VEX|EVEX.W if GPQ used).
kEncodingVexRvm_ZDX_Wx, //!< VEX|EVEX [RVM<ZDX>] (propagates VEX|EVEX.W if GPQ used).
kEncodingVexRvm_Lx, //!< VEX|EVEX [RVM] (propagates VEX|EVEX.L if YMM used).
+ kEncodingVexRvm_Lx_KEvex, //!< VEX|EVEX [RVM] (forces EVEX prefix if K register is used on destination).
kEncodingVexRvm_Lx_2xK, //!< VEX|EVEX [RVM] (vp2intersectd/vp2intersectq).
kEncodingVexRvmr, //!< VEX|EVEX [RVMR].
kEncodingVexRvmr_Lx, //!< VEX|EVEX [RVMR] (propagates VEX|EVEX.L if YMM used).
kEncodingVexRvmi, //!< VEX|EVEX [RVMI].
+ kEncodingVexRvmi_KEvex, //!< VEX|EVEX [RVMI] (forces EVEX prefix if K register is used on destination).
kEncodingVexRvmi_Lx, //!< VEX|EVEX [RVMI] (propagates VEX|EVEX.L if YMM used).
+ kEncodingVexRvmi_Lx_KEvex, //!< VEX|EVEX [RVMI] (forces EVEX prefix if K register is used on destination).
kEncodingVexRmv, //!< VEX|EVEX [RMV].
kEncodingVexRmv_Wx, //!< VEX|EVEX [RMV] (propagates VEX|EVEX.W if GPQ used).
kEncodingVexRmv_VM, //!< VEX|EVEX [RMV] (propagates VEX|EVEX.L, VSIB support).
@@ -180,12 +188,13 @@ enum EncodingId : uint32_t {
kEncodingVexRvmMvr_Lx, //!< VEX|EVEX [RVM|MVR] (propagates VEX|EVEX.L if YMM used).
kEncodingVexRvmVmi, //!< VEX|EVEX [RVM|VMI].
kEncodingVexRvmVmi_Lx, //!< VEX|EVEX [RVM|VMI] (propagates VEX|EVEX.L if YMM used).
+ kEncodingVexRvmVmi_Lx_MEvex, //!< VEX|EVEX [RVM|VMI] (propagates EVEX if the second operand is memory).
kEncodingVexVm, //!< VEX|EVEX [VM].
kEncodingVexVm_Wx, //!< VEX|EVEX [VM] (propagates VEX|EVEX.W if GPQ used).
kEncodingVexVmi, //!< VEX|EVEX [VMI].
kEncodingVexVmi_Lx, //!< VEX|EVEX [VMI] (propagates VEX|EVEX.L if YMM used).
kEncodingVexVmi4_Wx, //!< VEX|EVEX [VMI] (propagates VEX|EVEX.W if GPQ used, DWORD Immediate).
- kEncodingVexEvexVmi_Lx, //!< VEX|EVEX [VMI] (special, used by vpsrldq and vpslldq)
+ kEncodingVexVmi_Lx_MEvex, //!< VEX|EVEX [VMI] (force EVEX prefix when the second operand is memory)
kEncodingVexRvrmRvmr, //!< VEX|EVEX [RVRM|RVMR].
kEncodingVexRvrmRvmr_Lx, //!< VEX|EVEX [RVRM|RVMR] (propagates VEX|EVEX.L if YMM used).
kEncodingVexRvrmiRvmri_Lx, //!< VEX|EVEX [RVRMI|RVMRI] (propagates VEX|EVEX.L if YMM used).
@@ -244,6 +253,7 @@ struct RWInfo {
kCategoryMovabs,
kCategoryImul,
kCategoryMovh64,
+ kCategoryPunpcklxx,
kCategoryVmaskmov,
kCategoryVmovddup,
kCategoryVmovmskpd,
diff --git a/src/asmjit/x86/x86opcode_p.h b/src/asmjit/x86/x86opcode_p.h
index 5f936bf..80c38fb 100644
--- a/src/asmjit/x86/x86opcode_p.h
+++ b/src/asmjit/x86/x86opcode_p.h
@@ -253,7 +253,7 @@ struct Opcode {
// instructions that use OPCODE+MOD/RM where both values in Mod/RM
// are part of the opcode.
- kModRM_Shift = 10,
+ kModRM_Shift = 13,
kModRM_Mask = 0x7u << kModRM_Shift,
kModRM__ = 0x0u,
@@ -432,6 +432,10 @@ struct Opcode {
return operator|=(mask[size & 0xF]);
}
+ ASMJIT_INLINE Opcode& forceEvex() noexcept { return operator|=(kMM_ForceEvex); }
+ template<typename T>
+ ASMJIT_INLINE Opcode& forceEvexIf(T exp) noexcept { return operator|=(uint32_t(exp) << Support::constCtz(uint32_t(kMM_ForceEvex))); }
+
//! Extract `O` field (R) from the opcode (specified as /0..7 in instruction manuals).
ASMJIT_INLINE uint32_t extractModO() const noexcept {
return (v >> kModO_Shift) & 0x07;
diff --git a/test/asmjit_test_assembler_x86.cpp b/test/asmjit_test_assembler_x86.cpp
index ac25a70..d391dee 100644
--- a/test/asmjit_test_assembler_x86.cpp
+++ b/test/asmjit_test_assembler_x86.cpp
@@ -47,16 +47,7514 @@ bool testX86Assembler(const TestSettings& settings) noexcept {
AssemblerTester<Assembler> tester(Environment::kArchX86, settings);
tester.printHeader("X86");
- // Base Instructions.
- TEST_INSTRUCTION("8AE0" , mov(ah, al));
- TEST_INSTRUCTION("8AF0" , mov(dh, al));
- TEST_INSTRUCTION("8BC3" , mov(eax, ebx));
- TEST_INSTRUCTION("89D8" , mod_mr().mov(eax, ebx));
- TEST_INSTRUCTION("B800000000" , mov(eax, 0));
- TEST_INSTRUCTION("BB00000000" , mov(ebx, 0));
+ // Baseline X86 tests.
+ TEST_INSTRUCTION("37" , aaa(ax));
+ TEST_INSTRUCTION("D501" , aad(ax, 1));
+ TEST_INSTRUCTION("D401" , aam(ax, 1));
+ TEST_INSTRUCTION("3F" , aas(ax));
+ TEST_INSTRUCTION("80D101" , adc(cl, 1));
+ TEST_INSTRUCTION("80D501" , adc(ch, 1));
+ TEST_INSTRUCTION("8094118000000001" , adc(byte_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("6683D101" , adc(cx, 1));
+ TEST_INSTRUCTION("668394118000000001" , adc(word_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("83D101" , adc(ecx, 1));
+ TEST_INSTRUCTION("8394118000000001" , adc(dword_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("10D1" , adc(cl, dl));
+ TEST_INSTRUCTION("10F1" , adc(cl, dh));
+ TEST_INSTRUCTION("10D5" , adc(ch, dl));
+ TEST_INSTRUCTION("10F5" , adc(ch, dh));
+ TEST_INSTRUCTION("109C1180000000" , adc(ptr(ecx, edx, 0, 128), bl));
+ TEST_INSTRUCTION("10BC1180000000" , adc(ptr(ecx, edx, 0, 128), bh));
+ TEST_INSTRUCTION("109C1180000000" , adc(byte_ptr(ecx, edx, 0, 128), bl));
+ TEST_INSTRUCTION("10BC1180000000" , adc(byte_ptr(ecx, edx, 0, 128), bh));
+ TEST_INSTRUCTION("6611D1" , adc(cx, dx));
+ TEST_INSTRUCTION("66119C1180000000" , adc(ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("66119C1180000000" , adc(word_ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("11D1" , adc(ecx, edx));
+ TEST_INSTRUCTION("119C1180000000" , adc(ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("119C1180000000" , adc(dword_ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("128C1A80000000" , adc(cl, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("128C1A80000000" , adc(cl, byte_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("12AC1A80000000" , adc(ch, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("12AC1A80000000" , adc(ch, byte_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("66138C1A80000000" , adc(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("66138C1A80000000" , adc(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("138C1A80000000" , adc(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("138C1A80000000" , adc(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38F6CA" , adcx(ecx, edx));
+ TEST_INSTRUCTION("660F38F68C1A80000000" , adcx(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38F68C1A80000000" , adcx(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("80C101" , add(cl, 1));
+ TEST_INSTRUCTION("80C501" , add(ch, 1));
+ TEST_INSTRUCTION("8084118000000001" , add(byte_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("6683C101" , add(cx, 1));
+ TEST_INSTRUCTION("668384118000000001" , add(word_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("83C101" , add(ecx, 1));
+ TEST_INSTRUCTION("8384118000000001" , add(dword_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("00D1" , add(cl, dl));
+ TEST_INSTRUCTION("00F1" , add(cl, dh));
+ TEST_INSTRUCTION("00D5" , add(ch, dl));
+ TEST_INSTRUCTION("00F5" , add(ch, dh));
+ TEST_INSTRUCTION("009C1180000000" , add(ptr(ecx, edx, 0, 128), bl));
+ TEST_INSTRUCTION("00BC1180000000" , add(ptr(ecx, edx, 0, 128), bh));
+ TEST_INSTRUCTION("009C1180000000" , add(byte_ptr(ecx, edx, 0, 128), bl));
+ TEST_INSTRUCTION("00BC1180000000" , add(byte_ptr(ecx, edx, 0, 128), bh));
+ TEST_INSTRUCTION("6601D1" , add(cx, dx));
+ TEST_INSTRUCTION("66019C1180000000" , add(ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("66019C1180000000" , add(word_ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("01D1" , add(ecx, edx));
+ TEST_INSTRUCTION("019C1180000000" , add(ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("019C1180000000" , add(dword_ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("028C1A80000000" , add(cl, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("028C1A80000000" , add(cl, byte_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("02AC1A80000000" , add(ch, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("02AC1A80000000" , add(ch, byte_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("66038C1A80000000" , add(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("66038C1A80000000" , add(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("038C1A80000000" , add(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("038C1A80000000" , add(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F58CA" , addpd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F588C1A80000000" , addpd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F588C1A80000000" , addpd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F58CA" , addps(xmm1, xmm2));
+ TEST_INSTRUCTION("0F588C1A80000000" , addps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F588C1A80000000" , addps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F58CA" , addsd(xmm1, xmm2));
+ TEST_INSTRUCTION("F20F588C1A80000000" , addsd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F588C1A80000000" , addsd(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F58CA" , addss(xmm1, xmm2));
+ TEST_INSTRUCTION("F30F588C1A80000000" , addss(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F588C1A80000000" , addss(xmm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FD0CA" , addsubpd(xmm1, xmm2));
+ TEST_INSTRUCTION("660FD08C1A80000000" , addsubpd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FD08C1A80000000" , addsubpd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20FD0CA" , addsubps(xmm1, xmm2));
+ TEST_INSTRUCTION("F20FD08C1A80000000" , addsubps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20FD08C1A80000000" , addsubps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F38F6CA" , adox(ecx, edx));
+ TEST_INSTRUCTION("F30F38F68C1A80000000" , adox(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F38F68C1A80000000" , adox(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38DECA" , aesdec(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38DE8C1A80000000" , aesdec(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38DE8C1A80000000" , aesdec(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38DFCA" , aesdeclast(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38DF8C1A80000000" , aesdeclast(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38DF8C1A80000000" , aesdeclast(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38DCCA" , aesenc(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38DC8C1A80000000" , aesenc(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38DC8C1A80000000" , aesenc(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38DDCA" , aesenclast(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38DD8C1A80000000" , aesenclast(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38DD8C1A80000000" , aesenclast(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38DBCA" , aesimc(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38DB8C1A80000000" , aesimc(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38DB8C1A80000000" , aesimc(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3ADFCA01" , aeskeygenassist(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660F3ADF8C1A8000000001" , aeskeygenassist(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3ADF8C1A8000000001" , aeskeygenassist(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("80E101" , and_(cl, 1));
+ TEST_INSTRUCTION("80E501" , and_(ch, 1));
+ TEST_INSTRUCTION("6683E101" , and_(cx, 1));
+ TEST_INSTRUCTION("83E101" , and_(ecx, 1));
+ TEST_INSTRUCTION("80A4118000000001" , and_(byte_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("6683A4118000000001" , and_(word_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("83A4118000000001" , and_(dword_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("20D1" , and_(cl, dl));
+ TEST_INSTRUCTION("20F1" , and_(cl, dh));
+ TEST_INSTRUCTION("20D5" , and_(ch, dl));
+ TEST_INSTRUCTION("20F5" , and_(ch, dh));
+ TEST_INSTRUCTION("209C1180000000" , and_(ptr(ecx, edx, 0, 128), bl));
+ TEST_INSTRUCTION("20BC1180000000" , and_(ptr(ecx, edx, 0, 128), bh));
+ TEST_INSTRUCTION("209C1180000000" , and_(byte_ptr(ecx, edx, 0, 128), bl));
+ TEST_INSTRUCTION("20BC1180000000" , and_(byte_ptr(ecx, edx, 0, 128), bh));
+ TEST_INSTRUCTION("6621D1" , and_(cx, dx));
+ TEST_INSTRUCTION("66219C1180000000" , and_(ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("66219C1180000000" , and_(word_ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("21D1" , and_(ecx, edx));
+ TEST_INSTRUCTION("219C1180000000" , and_(ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("219C1180000000" , and_(dword_ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("228C1A80000000" , and_(cl, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("228C1A80000000" , and_(cl, byte_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("22AC1A80000000" , and_(ch, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("22AC1A80000000" , and_(ch, byte_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("66238C1A80000000" , and_(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("66238C1A80000000" , and_(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("238C1A80000000" , and_(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("238C1A80000000" , and_(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E268F2CB" , andn(ecx, edx, ebx));
+ TEST_INSTRUCTION("C4E268F28C2B80000000" , andn(ecx, edx, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E268F28C2B80000000" , andn(ecx, edx, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("660F55CA" , andnpd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F558C1A80000000" , andnpd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F558C1A80000000" , andnpd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F55CA" , andnps(xmm1, xmm2));
+ TEST_INSTRUCTION("0F558C1A80000000" , andnps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F558C1A80000000" , andnps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F54CA" , andpd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F548C1A80000000" , andpd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F548C1A80000000" , andpd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F54CA" , andps(xmm1, xmm2));
+ TEST_INSTRUCTION("0F548C1A80000000" , andps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F548C1A80000000" , andps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("63D1" , arpl(cx, dx));
+ TEST_INSTRUCTION("639C1180000000" , arpl(ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("639C1180000000" , arpl(word_ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("C4E260F7CA" , bextr(ecx, edx, ebx));
+ TEST_INSTRUCTION("C4E258F78C1A80000000" , bextr(ecx, ptr(edx, ebx, 0, 128), esp));
+ TEST_INSTRUCTION("C4E258F78C1A80000000" , bextr(ecx, dword_ptr(edx, ebx, 0, 128), esp));
+ TEST_INSTRUCTION("8FE97001CA" , blcfill(ecx, edx));
+ TEST_INSTRUCTION("8FE970018C1A80000000" , blcfill(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE970018C1A80000000" , blcfill(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE97002F2" , blci(ecx, edx));
+ TEST_INSTRUCTION("8FE97002B41A80000000" , blci(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE97002B41A80000000" , blci(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE97001EA" , blcic(ecx, edx));
+ TEST_INSTRUCTION("8FE97001AC1A80000000" , blcic(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE97001AC1A80000000" , blcic(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE97002CA" , blcmsk(ecx, edx));
+ TEST_INSTRUCTION("8FE970028C1A80000000" , blcmsk(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE970028C1A80000000" , blcmsk(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE97001DA" , blcs(ecx, edx));
+ TEST_INSTRUCTION("8FE970019C1A80000000" , blcs(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE970019C1A80000000" , blcs(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3A0DCA01" , blendpd(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660F3A0D8C1A8000000001" , blendpd(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A0D8C1A8000000001" , blendpd(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A0CCA01" , blendps(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660F3A0C8C1A8000000001" , blendps(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A0C8C1A8000000001" , blendps(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3815CA" , blendvpd(xmm1, xmm2, xmm0));
+ TEST_INSTRUCTION("660F38158C1A80000000" , blendvpd(xmm1, ptr(edx, ebx, 0, 128), xmm0));
+ TEST_INSTRUCTION("660F38158C1A80000000" , blendvpd(xmm1, xmmword_ptr(edx, ebx, 0, 128), xmm0));
+ TEST_INSTRUCTION("660F3814CA" , blendvps(xmm1, xmm2, xmm0));
+ TEST_INSTRUCTION("660F38148C1A80000000" , blendvps(xmm1, ptr(edx, ebx, 0, 128), xmm0));
+ TEST_INSTRUCTION("660F38148C1A80000000" , blendvps(xmm1, xmmword_ptr(edx, ebx, 0, 128), xmm0));
+ TEST_INSTRUCTION("8FE97001D2" , blsfill(ecx, edx));
+ TEST_INSTRUCTION("8FE97001941A80000000" , blsfill(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE97001941A80000000" , blsfill(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E270F3DA" , blsi(ecx, edx));
+ TEST_INSTRUCTION("C4E270F39C1A80000000" , blsi(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E270F39C1A80000000" , blsi(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE97001F2" , blsic(ecx, edx));
+ TEST_INSTRUCTION("8FE97001B41A80000000" , blsic(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE97001B41A80000000" , blsic(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E270F3D2" , blsmsk(ecx, edx));
+ TEST_INSTRUCTION("C4E270F3941A80000000" , blsmsk(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E270F3941A80000000" , blsmsk(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E270F3CA" , blsr(ecx, edx));
+ TEST_INSTRUCTION("C4E270F38C1A80000000" , blsr(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E270F38C1A80000000" , blsr(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F1ACA" , bndcl(bnd1, edx));
+ TEST_INSTRUCTION("F30F1A8C1A80000000" , bndcl(bnd1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F1A8C1A80000000" , bndcl(bnd1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F1BCA" , bndcn(bnd1, edx));
+ TEST_INSTRUCTION("F20F1B8C1A80000000" , bndcn(bnd1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F1B8C1A80000000" , bndcn(bnd1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F1ACA" , bndcu(bnd1, edx));
+ TEST_INSTRUCTION("F20F1A8C1A80000000" , bndcu(bnd1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F1A8C1A80000000" , bndcu(bnd1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F1A8C1A80000000" , bndldx(bnd1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F1B8C1A80000000" , bndmk(bnd1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F1ACA" , bndmov(bnd1, bnd2));
+ TEST_INSTRUCTION("660F1A8C1A80000000" , bndmov(bnd1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F1B9C1180000000" , bndmov(ptr(ecx, edx, 0, 128), bnd3));
+ TEST_INSTRUCTION("0F1B9C1180000000" , bndstx(ptr(ecx, edx, 0, 128), bnd3));
+ TEST_INSTRUCTION("66628C1A80000000" , bound(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("66628C1A80000000" , bound(cx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("628C1A80000000" , bound(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("628C1A80000000" , bound(ecx, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FBCCA" , bsf(cx, dx));
+ TEST_INSTRUCTION("660FBC8C1A80000000" , bsf(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FBC8C1A80000000" , bsf(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FBCCA" , bsf(ecx, edx));
+ TEST_INSTRUCTION("0FBC8C1A80000000" , bsf(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FBC8C1A80000000" , bsf(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FBDCA" , bsr(cx, dx));
+ TEST_INSTRUCTION("660FBD8C1A80000000" , bsr(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FBD8C1A80000000" , bsr(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FBDCA" , bsr(ecx, edx));
+ TEST_INSTRUCTION("0FBD8C1A80000000" , bsr(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FBD8C1A80000000" , bsr(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FC9" , bswap(cx));
+ TEST_INSTRUCTION("0FC9" , bswap(ecx));
+ TEST_INSTRUCTION("660FBAE101" , bt(cx, 1));
+ TEST_INSTRUCTION("0FBAE101" , bt(ecx, 1));
+ TEST_INSTRUCTION("660FBAA4118000000001" , bt(word_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("0FBAA4118000000001" , bt(dword_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("660FA3D1" , bt(cx, dx));
+ TEST_INSTRUCTION("660FA39C1180000000" , bt(ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("660FA39C1180000000" , bt(word_ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("0FA3D1" , bt(ecx, edx));
+ TEST_INSTRUCTION("0FA39C1180000000" , bt(ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("0FA39C1180000000" , bt(dword_ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("660FBAF901" , btc(cx, 1));
+ TEST_INSTRUCTION("0FBAF901" , btc(ecx, 1));
+ TEST_INSTRUCTION("660FBABC118000000001" , btc(word_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("0FBABC118000000001" , btc(dword_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("660FBBD1" , btc(cx, dx));
+ TEST_INSTRUCTION("660FBB9C1180000000" , btc(ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("660FBB9C1180000000" , btc(word_ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("0FBBD1" , btc(ecx, edx));
+ TEST_INSTRUCTION("0FBB9C1180000000" , btc(ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("0FBB9C1180000000" , btc(dword_ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("660FBAF101" , btr(cx, 1));
+ TEST_INSTRUCTION("0FBAF101" , btr(ecx, 1));
+ TEST_INSTRUCTION("660FBAB4118000000001" , btr(word_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("0FBAB4118000000001" , btr(dword_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("660FB3D1" , btr(cx, dx));
+ TEST_INSTRUCTION("660FB39C1180000000" , btr(ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("660FB39C1180000000" , btr(word_ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("0FB3D1" , btr(ecx, edx));
+ TEST_INSTRUCTION("0FB39C1180000000" , btr(ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("0FB39C1180000000" , btr(dword_ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("660FBAE901" , bts(cx, 1));
+ TEST_INSTRUCTION("0FBAE901" , bts(ecx, 1));
+ TEST_INSTRUCTION("660FBAAC118000000001" , bts(word_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("0FBAAC118000000001" , bts(dword_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("660FABD1" , bts(cx, dx));
+ TEST_INSTRUCTION("660FAB9C1180000000" , bts(ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("660FAB9C1180000000" , bts(word_ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("0FABD1" , bts(ecx, edx));
+ TEST_INSTRUCTION("0FAB9C1180000000" , bts(ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("0FAB9C1180000000" , bts(dword_ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("C4E260F5CA" , bzhi(ecx, edx, ebx));
+ TEST_INSTRUCTION("C4E258F58C1A80000000" , bzhi(ecx, ptr(edx, ebx, 0, 128), esp));
+ TEST_INSTRUCTION("C4E258F58C1A80000000" , bzhi(ecx, dword_ptr(edx, ebx, 0, 128), esp));
+ TEST_INSTRUCTION("6698" , cbw(ax));
+ TEST_INSTRUCTION("99" , cdq(edx, eax));
+ TEST_INSTRUCTION("0F01CA" , clac());
+ TEST_INSTRUCTION("F8" , clc());
+ TEST_INSTRUCTION("FC" , cld());
+ TEST_INSTRUCTION("0F1C841180000000" , cldemote(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0FAEBC1180000000" , clflush(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("660FAEBC1180000000" , clflushopt(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F01DD" , clgi());
+ TEST_INSTRUCTION("FA" , cli());
+ TEST_INSTRUCTION("F30FAEB41180000000" , clrssbsy(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("F30FAEB41180000000" , clrssbsy(qword_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F06" , clts());
+ TEST_INSTRUCTION("660FAEB41180000000" , clwb(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F01FC" , clzero(ptr(eax)));
+ TEST_INSTRUCTION("0F01FC" , clzero(zmmword_ptr(eax)));
+ TEST_INSTRUCTION("F5" , cmc());
+ TEST_INSTRUCTION("660F47CA" , cmova(cx, dx));
+ TEST_INSTRUCTION("660F478C1A80000000" , cmova(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F478C1A80000000" , cmova(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F47CA" , cmova(ecx, edx));
+ TEST_INSTRUCTION("0F478C1A80000000" , cmova(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F478C1A80000000" , cmova(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F43CA" , cmovae(cx, dx));
+ TEST_INSTRUCTION("660F438C1A80000000" , cmovae(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F438C1A80000000" , cmovae(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F43CA" , cmovae(ecx, edx));
+ TEST_INSTRUCTION("0F438C1A80000000" , cmovae(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F438C1A80000000" , cmovae(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F42CA" , cmovb(cx, dx));
+ TEST_INSTRUCTION("660F428C1A80000000" , cmovb(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F428C1A80000000" , cmovb(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F42CA" , cmovb(ecx, edx));
+ TEST_INSTRUCTION("0F428C1A80000000" , cmovb(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F428C1A80000000" , cmovb(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F46CA" , cmovbe(cx, dx));
+ TEST_INSTRUCTION("660F468C1A80000000" , cmovbe(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F468C1A80000000" , cmovbe(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F46CA" , cmovbe(ecx, edx));
+ TEST_INSTRUCTION("0F468C1A80000000" , cmovbe(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F468C1A80000000" , cmovbe(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F42CA" , cmovc(cx, dx));
+ TEST_INSTRUCTION("660F428C1A80000000" , cmovc(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F428C1A80000000" , cmovc(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F42CA" , cmovc(ecx, edx));
+ TEST_INSTRUCTION("0F428C1A80000000" , cmovc(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F428C1A80000000" , cmovc(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F44CA" , cmove(cx, dx));
+ TEST_INSTRUCTION("660F448C1A80000000" , cmove(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F448C1A80000000" , cmove(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F44CA" , cmove(ecx, edx));
+ TEST_INSTRUCTION("0F448C1A80000000" , cmove(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F448C1A80000000" , cmove(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F4FCA" , cmovg(cx, dx));
+ TEST_INSTRUCTION("660F4F8C1A80000000" , cmovg(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F4F8C1A80000000" , cmovg(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F4FCA" , cmovg(ecx, edx));
+ TEST_INSTRUCTION("0F4F8C1A80000000" , cmovg(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F4F8C1A80000000" , cmovg(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F4DCA" , cmovge(cx, dx));
+ TEST_INSTRUCTION("660F4D8C1A80000000" , cmovge(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F4D8C1A80000000" , cmovge(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F4DCA" , cmovge(ecx, edx));
+ TEST_INSTRUCTION("0F4D8C1A80000000" , cmovge(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F4D8C1A80000000" , cmovge(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F4CCA" , cmovl(cx, dx));
+ TEST_INSTRUCTION("660F4C8C1A80000000" , cmovl(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F4C8C1A80000000" , cmovl(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F4CCA" , cmovl(ecx, edx));
+ TEST_INSTRUCTION("0F4C8C1A80000000" , cmovl(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F4C8C1A80000000" , cmovl(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F4ECA" , cmovle(cx, dx));
+ TEST_INSTRUCTION("660F4E8C1A80000000" , cmovle(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F4E8C1A80000000" , cmovle(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F4ECA" , cmovle(ecx, edx));
+ TEST_INSTRUCTION("0F4E8C1A80000000" , cmovle(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F4E8C1A80000000" , cmovle(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F46CA" , cmovna(cx, dx));
+ TEST_INSTRUCTION("660F468C1A80000000" , cmovna(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F468C1A80000000" , cmovna(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F46CA" , cmovna(ecx, edx));
+ TEST_INSTRUCTION("0F468C1A80000000" , cmovna(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F468C1A80000000" , cmovna(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F42CA" , cmovnae(cx, dx));
+ TEST_INSTRUCTION("660F428C1A80000000" , cmovnae(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F428C1A80000000" , cmovnae(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F42CA" , cmovnae(ecx, edx));
+ TEST_INSTRUCTION("0F428C1A80000000" , cmovnae(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F428C1A80000000" , cmovnae(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F43CA" , cmovnb(cx, dx));
+ TEST_INSTRUCTION("660F438C1A80000000" , cmovnb(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F438C1A80000000" , cmovnb(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F43CA" , cmovnb(ecx, edx));
+ TEST_INSTRUCTION("0F438C1A80000000" , cmovnb(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F438C1A80000000" , cmovnb(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F47CA" , cmovnbe(cx, dx));
+ TEST_INSTRUCTION("660F478C1A80000000" , cmovnbe(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F478C1A80000000" , cmovnbe(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F47CA" , cmovnbe(ecx, edx));
+ TEST_INSTRUCTION("0F478C1A80000000" , cmovnbe(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F478C1A80000000" , cmovnbe(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F43CA" , cmovnc(cx, dx));
+ TEST_INSTRUCTION("660F438C1A80000000" , cmovnc(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F438C1A80000000" , cmovnc(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F43CA" , cmovnc(ecx, edx));
+ TEST_INSTRUCTION("0F438C1A80000000" , cmovnc(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F438C1A80000000" , cmovnc(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F45CA" , cmovne(cx, dx));
+ TEST_INSTRUCTION("660F458C1A80000000" , cmovne(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F458C1A80000000" , cmovne(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F45CA" , cmovne(ecx, edx));
+ TEST_INSTRUCTION("0F458C1A80000000" , cmovne(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F458C1A80000000" , cmovne(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F4ECA" , cmovng(cx, dx));
+ TEST_INSTRUCTION("660F4E8C1A80000000" , cmovng(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F4E8C1A80000000" , cmovng(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F4ECA" , cmovng(ecx, edx));
+ TEST_INSTRUCTION("0F4E8C1A80000000" , cmovng(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F4E8C1A80000000" , cmovng(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F4CCA" , cmovnge(cx, dx));
+ TEST_INSTRUCTION("660F4C8C1A80000000" , cmovnge(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F4C8C1A80000000" , cmovnge(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F4CCA" , cmovnge(ecx, edx));
+ TEST_INSTRUCTION("0F4C8C1A80000000" , cmovnge(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F4C8C1A80000000" , cmovnge(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F4DCA" , cmovnl(cx, dx));
+ TEST_INSTRUCTION("660F4D8C1A80000000" , cmovnl(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F4D8C1A80000000" , cmovnl(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F4DCA" , cmovnl(ecx, edx));
+ TEST_INSTRUCTION("0F4D8C1A80000000" , cmovnl(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F4D8C1A80000000" , cmovnl(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F4FCA" , cmovnle(cx, dx));
+ TEST_INSTRUCTION("660F4F8C1A80000000" , cmovnle(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F4F8C1A80000000" , cmovnle(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F4FCA" , cmovnle(ecx, edx));
+ TEST_INSTRUCTION("0F4F8C1A80000000" , cmovnle(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F4F8C1A80000000" , cmovnle(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F41CA" , cmovno(cx, dx));
+ TEST_INSTRUCTION("660F418C1A80000000" , cmovno(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F418C1A80000000" , cmovno(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F41CA" , cmovno(ecx, edx));
+ TEST_INSTRUCTION("0F418C1A80000000" , cmovno(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F418C1A80000000" , cmovno(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F4BCA" , cmovnp(cx, dx));
+ TEST_INSTRUCTION("660F4B8C1A80000000" , cmovnp(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F4B8C1A80000000" , cmovnp(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F4BCA" , cmovnp(ecx, edx));
+ TEST_INSTRUCTION("0F4B8C1A80000000" , cmovnp(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F4B8C1A80000000" , cmovnp(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F49CA" , cmovns(cx, dx));
+ TEST_INSTRUCTION("660F498C1A80000000" , cmovns(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F498C1A80000000" , cmovns(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F49CA" , cmovns(ecx, edx));
+ TEST_INSTRUCTION("0F498C1A80000000" , cmovns(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F498C1A80000000" , cmovns(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F45CA" , cmovnz(cx, dx));
+ TEST_INSTRUCTION("660F458C1A80000000" , cmovnz(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F458C1A80000000" , cmovnz(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F45CA" , cmovnz(ecx, edx));
+ TEST_INSTRUCTION("0F458C1A80000000" , cmovnz(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F458C1A80000000" , cmovnz(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F40CA" , cmovo(cx, dx));
+ TEST_INSTRUCTION("660F408C1A80000000" , cmovo(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F408C1A80000000" , cmovo(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F40CA" , cmovo(ecx, edx));
+ TEST_INSTRUCTION("0F408C1A80000000" , cmovo(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F408C1A80000000" , cmovo(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F4ACA" , cmovp(cx, dx));
+ TEST_INSTRUCTION("660F4A8C1A80000000" , cmovp(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F4A8C1A80000000" , cmovp(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F4ACA" , cmovp(ecx, edx));
+ TEST_INSTRUCTION("0F4A8C1A80000000" , cmovp(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F4A8C1A80000000" , cmovp(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F4ACA" , cmovpe(cx, dx));
+ TEST_INSTRUCTION("660F4A8C1A80000000" , cmovpe(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F4A8C1A80000000" , cmovpe(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F4ACA" , cmovpe(ecx, edx));
+ TEST_INSTRUCTION("0F4A8C1A80000000" , cmovpe(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F4A8C1A80000000" , cmovpe(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F4BCA" , cmovpo(cx, dx));
+ TEST_INSTRUCTION("660F4B8C1A80000000" , cmovpo(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F4B8C1A80000000" , cmovpo(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F4BCA" , cmovpo(ecx, edx));
+ TEST_INSTRUCTION("0F4B8C1A80000000" , cmovpo(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F4B8C1A80000000" , cmovpo(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F48CA" , cmovs(cx, dx));
+ TEST_INSTRUCTION("660F488C1A80000000" , cmovs(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F488C1A80000000" , cmovs(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F48CA" , cmovs(ecx, edx));
+ TEST_INSTRUCTION("0F488C1A80000000" , cmovs(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F488C1A80000000" , cmovs(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F44CA" , cmovz(cx, dx));
+ TEST_INSTRUCTION("660F448C1A80000000" , cmovz(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F448C1A80000000" , cmovz(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F44CA" , cmovz(ecx, edx));
+ TEST_INSTRUCTION("0F448C1A80000000" , cmovz(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F448C1A80000000" , cmovz(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("80F901" , cmp(cl, 1));
+ TEST_INSTRUCTION("80FD01" , cmp(ch, 1));
+ TEST_INSTRUCTION("80BC118000000001" , cmp(byte_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("6683F901" , cmp(cx, 1));
+ TEST_INSTRUCTION("6683BC118000000001" , cmp(word_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("83F901" , cmp(ecx, 1));
+ TEST_INSTRUCTION("83BC118000000001" , cmp(dword_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("38D1" , cmp(cl, dl));
+ TEST_INSTRUCTION("38F1" , cmp(cl, dh));
+ TEST_INSTRUCTION("38D5" , cmp(ch, dl));
+ TEST_INSTRUCTION("38F5" , cmp(ch, dh));
+ TEST_INSTRUCTION("389C1180000000" , cmp(ptr(ecx, edx, 0, 128), bl));
+ TEST_INSTRUCTION("38BC1180000000" , cmp(ptr(ecx, edx, 0, 128), bh));
+ TEST_INSTRUCTION("389C1180000000" , cmp(byte_ptr(ecx, edx, 0, 128), bl));
+ TEST_INSTRUCTION("38BC1180000000" , cmp(byte_ptr(ecx, edx, 0, 128), bh));
+ TEST_INSTRUCTION("6639D1" , cmp(cx, dx));
+ TEST_INSTRUCTION("66399C1180000000" , cmp(ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("66399C1180000000" , cmp(word_ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("39D1" , cmp(ecx, edx));
+ TEST_INSTRUCTION("399C1180000000" , cmp(ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("399C1180000000" , cmp(dword_ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("3A8C1A80000000" , cmp(cl, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("3A8C1A80000000" , cmp(cl, byte_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("3AAC1A80000000" , cmp(ch, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("3AAC1A80000000" , cmp(ch, byte_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("663B8C1A80000000" , cmp(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("663B8C1A80000000" , cmp(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("3B8C1A80000000" , cmp(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("3B8C1A80000000" , cmp(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FC2CA01" , cmppd(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660FC28C1A8000000001" , cmppd(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660FC28C1A8000000001" , cmppd(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("0FC2CA01" , cmpps(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("0FC28C1A8000000001" , cmpps(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("0FC28C1A8000000001" , cmpps(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("A6" , cmps(byte_ptr(esi), byte_ptr(edi)));
+ TEST_INSTRUCTION("66A7" , cmps(word_ptr(esi), word_ptr(edi)));
+ TEST_INSTRUCTION("A7" , cmps(dword_ptr(esi), dword_ptr(edi)));
+ TEST_INSTRUCTION("F20FC2CA01" , cmpsd(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("F20FC28C1A8000000001" , cmpsd(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("F20FC28C1A8000000001" , cmpsd(xmm1, qword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("F30FC2CA01" , cmpss(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("F30FC28C1A8000000001" , cmpss(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("F30FC28C1A8000000001" , cmpss(xmm1, dword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("0FB0D1" , cmpxchg(cl, dl, al));
+ TEST_INSTRUCTION("0FB0F1" , cmpxchg(cl, dh, al));
+ TEST_INSTRUCTION("0FB0D5" , cmpxchg(ch, dl, al));
+ TEST_INSTRUCTION("0FB0F5" , cmpxchg(ch, dh, al));
+ TEST_INSTRUCTION("0FB09C1180000000" , cmpxchg(ptr(ecx, edx, 0, 128), bl, al));
+ TEST_INSTRUCTION("0FB0BC1180000000" , cmpxchg(ptr(ecx, edx, 0, 128), bh, al));
+ TEST_INSTRUCTION("0FB09C1180000000" , cmpxchg(byte_ptr(ecx, edx, 0, 128), bl, al));
+ TEST_INSTRUCTION("0FB0BC1180000000" , cmpxchg(byte_ptr(ecx, edx, 0, 128), bh, al));
+ TEST_INSTRUCTION("660FB1D1" , cmpxchg(cx, dx, ax));
+ TEST_INSTRUCTION("660FB19C1180000000" , cmpxchg(ptr(ecx, edx, 0, 128), bx, ax));
+ TEST_INSTRUCTION("660FB19C1180000000" , cmpxchg(word_ptr(ecx, edx, 0, 128), bx, ax));
+ TEST_INSTRUCTION("0FB1D1" , cmpxchg(ecx, edx, eax));
+ TEST_INSTRUCTION("0FB19C1180000000" , cmpxchg(ptr(ecx, edx, 0, 128), ebx, eax));
+ TEST_INSTRUCTION("0FB19C1180000000" , cmpxchg(dword_ptr(ecx, edx, 0, 128), ebx, eax));
+ TEST_INSTRUCTION("0FC78C1180000000" , cmpxchg8b(ptr(ecx, edx, 0, 128), edx, eax, ecx, ebx));
+ TEST_INSTRUCTION("0FC78C1180000000" , cmpxchg8b(qword_ptr(ecx, edx, 0, 128), edx, eax, ecx, ebx));
+ TEST_INSTRUCTION("660F2FCA" , comisd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F2F8C1A80000000" , comisd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F2F8C1A80000000" , comisd(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F2FCA" , comiss(xmm1, xmm2));
+ TEST_INSTRUCTION("0F2F8C1A80000000" , comiss(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F2F8C1A80000000" , comiss(xmm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FA2" , cpuid(eax, ebx, ecx, edx));
+ TEST_INSTRUCTION("F20F38F0CA" , crc32(ecx, dl));
+ TEST_INSTRUCTION("F20F38F0CE" , crc32(ecx, dh));
+ TEST_INSTRUCTION("66F20F38F1CA" , crc32(ecx, dx));
+ TEST_INSTRUCTION("F20F38F1CA" , crc32(ecx, edx));
+ TEST_INSTRUCTION("F20F38F08C1A80000000" , crc32(ecx, byte_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("66F20F38F18C1A80000000" , crc32(ecx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F38F18C1A80000000" , crc32(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30FE6CA" , cvtdq2pd(xmm1, xmm2));
+ TEST_INSTRUCTION("F30FE68C1A80000000" , cvtdq2pd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30FE68C1A80000000" , cvtdq2pd(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F5BCA" , cvtdq2ps(xmm1, xmm2));
+ TEST_INSTRUCTION("0F5B8C1A80000000" , cvtdq2ps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F5B8C1A80000000" , cvtdq2ps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20FE6CA" , cvtpd2dq(xmm1, xmm2));
+ TEST_INSTRUCTION("F20FE68C1A80000000" , cvtpd2dq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20FE68C1A80000000" , cvtpd2dq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F2DCA" , cvtpd2pi(mm1, xmm2));
+ TEST_INSTRUCTION("660F2D8C1A80000000" , cvtpd2pi(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F2D8C1A80000000" , cvtpd2pi(mm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F5ACA" , cvtpd2ps(xmm1, xmm2));
+ TEST_INSTRUCTION("660F5A8C1A80000000" , cvtpd2ps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F5A8C1A80000000" , cvtpd2ps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F2ACA" , cvtpi2pd(xmm1, mm2));
+ TEST_INSTRUCTION("660F2A8C1A80000000" , cvtpi2pd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F2A8C1A80000000" , cvtpi2pd(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F2ACA" , cvtpi2ps(xmm1, mm2));
+ TEST_INSTRUCTION("0F2A8C1A80000000" , cvtpi2ps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F2A8C1A80000000" , cvtpi2ps(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F5BCA" , cvtps2dq(xmm1, xmm2));
+ TEST_INSTRUCTION("660F5B8C1A80000000" , cvtps2dq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F5B8C1A80000000" , cvtps2dq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F5ACA" , cvtps2pd(xmm1, xmm2));
+ TEST_INSTRUCTION("0F5A8C1A80000000" , cvtps2pd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F5A8C1A80000000" , cvtps2pd(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F2DCA" , cvtps2pi(mm1, xmm2));
+ TEST_INSTRUCTION("0F2D8C1A80000000" , cvtps2pi(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F2D8C1A80000000" , cvtps2pi(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F2DCA" , cvtsd2si(ecx, xmm2));
+ TEST_INSTRUCTION("F20F2D8C1A80000000" , cvtsd2si(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F2D8C1A80000000" , cvtsd2si(ecx, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F5ACA" , cvtsd2ss(xmm1, xmm2));
+ TEST_INSTRUCTION("F20F5A8C1A80000000" , cvtsd2ss(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F5A8C1A80000000" , cvtsd2ss(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F2ACA" , cvtsi2sd(xmm1, edx));
+ TEST_INSTRUCTION("F20F2A8C1A80000000" , cvtsi2sd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F2A8C1A80000000" , cvtsi2sd(xmm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F2ACA" , cvtsi2ss(xmm1, edx));
+ TEST_INSTRUCTION("F30F2A8C1A80000000" , cvtsi2ss(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F2A8C1A80000000" , cvtsi2ss(xmm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F5ACA" , cvtss2sd(xmm1, xmm2));
+ TEST_INSTRUCTION("F30F5A8C1A80000000" , cvtss2sd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F5A8C1A80000000" , cvtss2sd(xmm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F2DCA" , cvtss2si(ecx, xmm2));
+ TEST_INSTRUCTION("F30F2D8C1A80000000" , cvtss2si(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F2D8C1A80000000" , cvtss2si(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FE6CA" , cvttpd2dq(xmm1, xmm2));
+ TEST_INSTRUCTION("660FE68C1A80000000" , cvttpd2dq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FE68C1A80000000" , cvttpd2dq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F2CCA" , cvttpd2pi(mm1, xmm2));
+ TEST_INSTRUCTION("660F2C8C1A80000000" , cvttpd2pi(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F2C8C1A80000000" , cvttpd2pi(mm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F5BCA" , cvttps2dq(xmm1, xmm2));
+ TEST_INSTRUCTION("F30F5B8C1A80000000" , cvttps2dq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F5B8C1A80000000" , cvttps2dq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F2CCA" , cvttps2pi(mm1, xmm2));
+ TEST_INSTRUCTION("0F2C8C1A80000000" , cvttps2pi(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F2C8C1A80000000" , cvttps2pi(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F2CCA" , cvttsd2si(ecx, xmm2));
+ TEST_INSTRUCTION("F20F2C8C1A80000000" , cvttsd2si(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F2C8C1A80000000" , cvttsd2si(ecx, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F2CCA" , cvttss2si(ecx, xmm2));
+ TEST_INSTRUCTION("F30F2C8C1A80000000" , cvttss2si(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F2C8C1A80000000" , cvttss2si(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("6699" , cwd(dx, ax));
+ TEST_INSTRUCTION("98" , cwde(eax));
+ TEST_INSTRUCTION("27" , daa(ax));
+ TEST_INSTRUCTION("2F" , das(ax));
+ TEST_INSTRUCTION("6649" , dec(cx));
+ TEST_INSTRUCTION("49" , dec(ecx));
+ TEST_INSTRUCTION("FEC9" , dec(cl));
+ TEST_INSTRUCTION("FECD" , dec(ch));
+ TEST_INSTRUCTION("FE8C1180000000" , dec(byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("66FF8C1180000000" , dec(word_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("FF8C1180000000" , dec(dword_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("F6F1" , div(ax, cl));
+ TEST_INSTRUCTION("F6F5" , div(ax, ch));
+ TEST_INSTRUCTION("F6B41180000000" , div(ax, ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("F6B41180000000" , div(ax, byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("66F7F1" , div(dx, ax, cx));
+ TEST_INSTRUCTION("66F7B41180000000" , div(dx, ax, ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("66F7B41180000000" , div(dx, ax, word_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("F7F1" , div(edx, eax, ecx));
+ TEST_INSTRUCTION("F7B41180000000" , div(edx, eax, ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("F7B41180000000" , div(edx, eax, dword_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("660F5ECA" , divpd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F5E8C1A80000000" , divpd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F5E8C1A80000000" , divpd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F5ECA" , divps(xmm1, xmm2));
+ TEST_INSTRUCTION("0F5E8C1A80000000" , divps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F5E8C1A80000000" , divps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F5ECA" , divsd(xmm1, xmm2));
+ TEST_INSTRUCTION("F20F5E8C1A80000000" , divsd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F5E8C1A80000000" , divsd(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F5ECA" , divss(xmm1, xmm2));
+ TEST_INSTRUCTION("F30F5E8C1A80000000" , divss(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F5E8C1A80000000" , divss(xmm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3A41CA01" , dppd(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660F3A418C1A8000000001" , dppd(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A418C1A8000000001" , dppd(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A40CA01" , dpps(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660F3A408C1A8000000001" , dpps(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A408C1A8000000001" , dpps(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("0F77" , emms());
+ TEST_INSTRUCTION("F30F1EFB" , endbr32());
+ TEST_INSTRUCTION("F30F1EFA" , endbr64());
+ TEST_INSTRUCTION("F20F38F88C1A80000000" , enqcmd(zmmword_ptr(ecx), zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F38F88C1A80000000" , enqcmds(zmmword_ptr(ecx), zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C8010002" , enter(1, 2));
+ TEST_INSTRUCTION("660F3A17D101" , extractps(ecx, xmm2, 1));
+ TEST_INSTRUCTION("660F3A179C118000000001" , extractps(ptr(ecx, edx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("660F3A179C118000000001" , extractps(dword_ptr(ecx, edx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("660F78C10102" , extrq(xmm1, 1, 2));
+ TEST_INSTRUCTION("660F79CA" , extrq(xmm1, xmm2));
+ TEST_INSTRUCTION("0FAE8C1180000000" , fxrstor(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0FAE841180000000" , fxsave(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("D9F4" , fxtract());
+ TEST_INSTRUCTION("0F37" , getsec());
+ TEST_INSTRUCTION("660F3ACFCA01" , gf2p8affineinvqb(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660F3ACF8C1A8000000001" , gf2p8affineinvqb(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3ACF8C1A8000000001" , gf2p8affineinvqb(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3ACECA01" , gf2p8affineqb(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660F3ACE8C1A8000000001" , gf2p8affineqb(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3ACE8C1A8000000001" , gf2p8affineqb(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660F38CFCA" , gf2p8mulb(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38CF8C1A80000000" , gf2p8mulb(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38CF8C1A80000000" , gf2p8mulb(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F7CCA" , haddpd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F7C8C1A80000000" , haddpd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F7C8C1A80000000" , haddpd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F7CCA" , haddps(xmm1, xmm2));
+ TEST_INSTRUCTION("F20F7C8C1A80000000" , haddps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F7C8C1A80000000" , haddps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F4" , hlt());
+ TEST_INSTRUCTION("F30F3AF0C001" , hreset(1, eax));
+ TEST_INSTRUCTION("660F7DCA" , hsubpd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F7D8C1A80000000" , hsubpd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F7D8C1A80000000" , hsubpd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F7DCA" , hsubps(xmm1, xmm2));
+ TEST_INSTRUCTION("F20F7D8C1A80000000" , hsubps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F7D8C1A80000000" , hsubps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F6F9" , idiv(ax, cl));
+ TEST_INSTRUCTION("F6FD" , idiv(ax, ch));
+ TEST_INSTRUCTION("F6BC1180000000" , idiv(ax, ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("F6BC1180000000" , idiv(ax, byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("66F7F9" , idiv(dx, ax, cx));
+ TEST_INSTRUCTION("66F7BC1180000000" , idiv(dx, ax, ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("66F7BC1180000000" , idiv(dx, ax, word_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("F7F9" , idiv(edx, eax, ecx));
+ TEST_INSTRUCTION("F7BC1180000000" , idiv(edx, eax, ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("F7BC1180000000" , idiv(edx, eax, dword_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("F6E9" , imul(ax, cl));
+ TEST_INSTRUCTION("F6ED" , imul(ax, ch));
+ TEST_INSTRUCTION("660FAF841180000000" , imul(ax, ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("F6AC1180000000" , imul(ax, byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("66F7E9" , imul(dx, ax, cx));
+ TEST_INSTRUCTION("66F7AC1180000000" , imul(dx, ax, ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("66F7AC1180000000" , imul(dx, ax, word_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("F7E9" , imul(edx, eax, ecx));
+ TEST_INSTRUCTION("F7AC1180000000" , imul(edx, eax, ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("F7AC1180000000" , imul(edx, eax, dword_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("660FAFCA" , imul(cx, dx));
+ TEST_INSTRUCTION("666BC901" , imul(cx, 1));
+ TEST_INSTRUCTION("660FAF8C1A80000000" , imul(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FAF8C1A80000000" , imul(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FAFCA" , imul(ecx, edx));
+ TEST_INSTRUCTION("6BC901" , imul(ecx, 1));
+ TEST_INSTRUCTION("0FAF8C1A80000000" , imul(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FAF8C1A80000000" , imul(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("666BCA01" , imul(cx, dx, 1));
+ TEST_INSTRUCTION("666B8C1A8000000001" , imul(cx, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("666B8C1A8000000001" , imul(cx, word_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("6BCA01" , imul(ecx, edx, 1));
+ TEST_INSTRUCTION("6B8C1A8000000001" , imul(ecx, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("6B8C1A8000000001" , imul(ecx, dword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("EC" , in(al, dx));
+ TEST_INSTRUCTION("E401" , in(al, 1));
+ TEST_INSTRUCTION("66ED" , in(ax, dx));
+ TEST_INSTRUCTION("66E501" , in(ax, 1));
+ TEST_INSTRUCTION("ED" , in(eax, dx));
+ TEST_INSTRUCTION("E501" , in(eax, 1));
+ TEST_INSTRUCTION("6641" , inc(cx));
+ TEST_INSTRUCTION("41" , inc(ecx));
+ TEST_INSTRUCTION("FEC1" , inc(cl));
+ TEST_INSTRUCTION("FEC5" , inc(ch));
+ TEST_INSTRUCTION("FE841180000000" , inc(byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("66FF841180000000" , inc(word_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("FF841180000000" , inc(dword_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("F30FAEE9" , incsspd(ecx));
+ TEST_INSTRUCTION("6C" , ins(byte_ptr(edi), dx));
+ TEST_INSTRUCTION("666D" , ins(word_ptr(edi), dx));
+ TEST_INSTRUCTION("6D" , ins(dword_ptr(edi), dx));
+ TEST_INSTRUCTION("660F3A21CA01" , insertps(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660F3A218C1A8000000001" , insertps(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A218C1A8000000001" , insertps(xmm1, dword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("F20F79CA" , insertq(xmm1, xmm2));
+ TEST_INSTRUCTION("F20F78CA0102" , insertq(xmm1, xmm2, 1, 2));
+ TEST_INSTRUCTION("CD01" , int_(1));
+ TEST_INSTRUCTION("CC" , int3());
+ TEST_INSTRUCTION("CE" , into());
+ TEST_INSTRUCTION("0F08" , invd());
+ TEST_INSTRUCTION("660F38808C1A80000000" , invept(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38808C1A80000000" , invept(ecx, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F01BC1180000000" , invlpg(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F01DF" , invlpga(eax, ecx));
+ TEST_INSTRUCTION("660F38828C1A80000000" , invpcid(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38828C1A80000000" , invpcid(ecx, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38818C1A80000000" , invvpid(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38818C1A80000000" , invvpid(ecx, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("66CF" , iret());
+ TEST_INSTRUCTION("CF" , iretd());
+ TEST_INSTRUCTION("C5ED4ACB" , kaddb(k1, k2, k3));
+ TEST_INSTRUCTION("C4E1ED4ACB" , kaddd(k1, k2, k3));
+ TEST_INSTRUCTION("C4E1EC4ACB" , kaddq(k1, k2, k3));
+ TEST_INSTRUCTION("C5EC4ACB" , kaddw(k1, k2, k3));
+ TEST_INSTRUCTION("C5ED41CB" , kandb(k1, k2, k3));
+ TEST_INSTRUCTION("C4E1ED41CB" , kandd(k1, k2, k3));
+ TEST_INSTRUCTION("C5ED42CB" , kandnb(k1, k2, k3));
+ TEST_INSTRUCTION("C4E1ED42CB" , kandnd(k1, k2, k3));
+ TEST_INSTRUCTION("C4E1EC42CB" , kandnq(k1, k2, k3));
+ TEST_INSTRUCTION("C5EC42CB" , kandnw(k1, k2, k3));
+ TEST_INSTRUCTION("C4E1EC41CB" , kandq(k1, k2, k3));
+ TEST_INSTRUCTION("C5EC41CB" , kandw(k1, k2, k3));
+ TEST_INSTRUCTION("C5F992CA" , kmovb(k1, edx));
+ TEST_INSTRUCTION("C5F990CA" , kmovb(k1, k2));
+ TEST_INSTRUCTION("C5F9908C1A80000000" , kmovb(k1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F9908C1A80000000" , kmovb(k1, byte_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F993CA" , kmovb(ecx, k2));
+ TEST_INSTRUCTION("C5F9919C1180000000" , kmovb(ptr(ecx, edx, 0, 128), k3));
+ TEST_INSTRUCTION("C5F9919C1180000000" , kmovb(byte_ptr(ecx, edx, 0, 128), k3));
+ TEST_INSTRUCTION("C5FB92CA" , kmovd(k1, edx));
+ TEST_INSTRUCTION("C4E1F990CA" , kmovd(k1, k2));
+ TEST_INSTRUCTION("C4E1F9908C1A80000000" , kmovd(k1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E1F9908C1A80000000" , kmovd(k1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FB93CA" , kmovd(ecx, k2));
+ TEST_INSTRUCTION("C4E1F9919C1180000000" , kmovd(ptr(ecx, edx, 0, 128), k3));
+ TEST_INSTRUCTION("C4E1F9919C1180000000" , kmovd(dword_ptr(ecx, edx, 0, 128), k3));
+ TEST_INSTRUCTION("C4E1F890CA" , kmovq(k1, k2));
+ TEST_INSTRUCTION("C4E1F8908C1A80000000" , kmovq(k1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E1F8908C1A80000000" , kmovq(k1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E1F8919C1180000000" , kmovq(ptr(ecx, edx, 0, 128), k3));
+ TEST_INSTRUCTION("C4E1F8919C1180000000" , kmovq(qword_ptr(ecx, edx, 0, 128), k3));
+ TEST_INSTRUCTION("C5F892CA" , kmovw(k1, edx));
+ TEST_INSTRUCTION("C5F890CA" , kmovw(k1, k2));
+ TEST_INSTRUCTION("C5F8908C1A80000000" , kmovw(k1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F8908C1A80000000" , kmovw(k1, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F893CA" , kmovw(ecx, k2));
+ TEST_INSTRUCTION("C5F8919C1180000000" , kmovw(ptr(ecx, edx, 0, 128), k3));
+ TEST_INSTRUCTION("C5F8919C1180000000" , kmovw(word_ptr(ecx, edx, 0, 128), k3));
+ TEST_INSTRUCTION("C5F944CA" , knotb(k1, k2));
+ TEST_INSTRUCTION("C4E1F944CA" , knotd(k1, k2));
+ TEST_INSTRUCTION("C4E1F844CA" , knotq(k1, k2));
+ TEST_INSTRUCTION("C5F844CA" , knotw(k1, k2));
+ TEST_INSTRUCTION("C5ED45CB" , korb(k1, k2, k3));
+ TEST_INSTRUCTION("C4E1ED45CB" , kord(k1, k2, k3));
+ TEST_INSTRUCTION("C4E1EC45CB" , korq(k1, k2, k3));
+ TEST_INSTRUCTION("C5F998CA" , kortestb(k1, k2));
+ TEST_INSTRUCTION("C4E1F998CA" , kortestd(k1, k2));
+ TEST_INSTRUCTION("C4E1F898CA" , kortestq(k1, k2));
+ TEST_INSTRUCTION("C5F898CA" , kortestw(k1, k2));
+ TEST_INSTRUCTION("C5EC45CB" , korw(k1, k2, k3));
+ TEST_INSTRUCTION("C4E37932CA01" , kshiftlb(k1, k2, 1));
+ TEST_INSTRUCTION("C4E37933CA01" , kshiftld(k1, k2, 1));
+ TEST_INSTRUCTION("C4E3F933CA01" , kshiftlq(k1, k2, 1));
+ TEST_INSTRUCTION("C4E3F932CA01" , kshiftlw(k1, k2, 1));
+ TEST_INSTRUCTION("C4E37930CA01" , kshiftrb(k1, k2, 1));
+ TEST_INSTRUCTION("C4E37931CA01" , kshiftrd(k1, k2, 1));
+ TEST_INSTRUCTION("C4E3F931CA01" , kshiftrq(k1, k2, 1));
+ TEST_INSTRUCTION("C4E3F930CA01" , kshiftrw(k1, k2, 1));
+ TEST_INSTRUCTION("C5F999CA" , ktestb(k1, k2));
+ TEST_INSTRUCTION("C4E1F999CA" , ktestd(k1, k2));
+ TEST_INSTRUCTION("C4E1F899CA" , ktestq(k1, k2));
+ TEST_INSTRUCTION("C5F899CA" , ktestw(k1, k2));
+ TEST_INSTRUCTION("C5ED4BCB" , kunpckbw(k1, k2, k3));
+ TEST_INSTRUCTION("C4E1EC4BCB" , kunpckdq(k1, k2, k3));
+ TEST_INSTRUCTION("C5EC4BCB" , kunpckwd(k1, k2, k3));
+ TEST_INSTRUCTION("C5ED46CB" , kxnorb(k1, k2, k3));
+ TEST_INSTRUCTION("C4E1ED46CB" , kxnord(k1, k2, k3));
+ TEST_INSTRUCTION("C4E1EC46CB" , kxnorq(k1, k2, k3));
+ TEST_INSTRUCTION("C5EC46CB" , kxnorw(k1, k2, k3));
+ TEST_INSTRUCTION("C5ED47CB" , kxorb(k1, k2, k3));
+ TEST_INSTRUCTION("C4E1ED47CB" , kxord(k1, k2, k3));
+ TEST_INSTRUCTION("C4E1EC47CB" , kxorq(k1, k2, k3));
+ TEST_INSTRUCTION("C5EC47CB" , kxorw(k1, k2, k3));
+ TEST_INSTRUCTION("9F" , lahf(ah));
+ TEST_INSTRUCTION("660F02CA" , lar(cx, dx));
+ TEST_INSTRUCTION("660F028C1A80000000" , lar(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F028C1A80000000" , lar(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F02CA" , lar(ecx, edx));
+ TEST_INSTRUCTION("0F028C1A80000000" , lar(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F028C1A80000000" , lar(ecx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("9A020000000100" , lcall(1, 2));
+ TEST_INSTRUCTION("FF9C1180000000" , lcall(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("66FF9C1180000000" , lcall(dword_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("FF9C1180000000" , lcall(fword_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("F20FF08C1A80000000" , lddqu(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20FF08C1A80000000" , lddqu(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FAE941180000000" , ldmxcsr(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0FAE941180000000" , ldmxcsr(dword_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("66C58C1A80000000" , lds(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("66C58C1A80000000" , lds(cx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C58C1A80000000" , lds(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C58C1A80000000" , lds(ecx, fword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("668D8C1A80000000" , lea(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8D8C1A80000000" , lea(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C9" , leave());
+ TEST_INSTRUCTION("66C48C1A80000000" , les(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("66C48C1A80000000" , les(cx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C48C1A80000000" , les(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C48C1A80000000" , les(ecx, fword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FAEE8" , lfence());
+ TEST_INSTRUCTION("660FB48C1A80000000" , lfs(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FB48C1A80000000" , lfs(cx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FB48C1A80000000" , lfs(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FB48C1A80000000" , lfs(ecx, fword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F01941180000000" , lgdt(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("660FB58C1A80000000" , lgs(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FB58C1A80000000" , lgs(cx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FB58C1A80000000" , lgs(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FB58C1A80000000" , lgs(ecx, fword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F019C1180000000" , lidt(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("EA020000000100" , ljmp(1, 2));
+ TEST_INSTRUCTION("FFAC1180000000" , ljmp(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("66FFAC1180000000" , ljmp(dword_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("FFAC1180000000" , ljmp(fword_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F00D1" , lldt(cx));
+ TEST_INSTRUCTION("0F00941180000000" , lldt(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F00941180000000" , lldt(word_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("8FE97812C1" , llwpcb(ecx));
+ TEST_INSTRUCTION("0F01F1" , lmsw(cx));
+ TEST_INSTRUCTION("0F01B41180000000" , lmsw(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F01B41180000000" , lmsw(word_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("AC" , lods(al, ptr(esi)));
+ TEST_INSTRUCTION("AC" , lods(al, byte_ptr(esi)));
+ TEST_INSTRUCTION("66AD" , lods(ax, ptr(esi)));
+ TEST_INSTRUCTION("66AD" , lods(ax, word_ptr(esi)));
+ TEST_INSTRUCTION("AD" , lods(eax, ptr(esi)));
+ TEST_INSTRUCTION("AD" , lods(eax, dword_ptr(esi)));
+ TEST_INSTRUCTION("660F03CA" , lsl(cx, dx));
+ TEST_INSTRUCTION("660F038C1A80000000" , lsl(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F038C1A80000000" , lsl(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F03CA" , lsl(ecx, edx));
+ TEST_INSTRUCTION("0F038C1A80000000" , lsl(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F038C1A80000000" , lsl(ecx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FB28C1A80000000" , lss(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FB28C1A80000000" , lss(cx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FB28C1A80000000" , lss(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FB28C1A80000000" , lss(ecx, fword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F00D9" , ltr(cx));
+ TEST_INSTRUCTION("0F009C1180000000" , ltr(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F009C1180000000" , ltr(word_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("8FEA7012C201000000" , lwpins(ecx, edx, 1));
+ TEST_INSTRUCTION("8FEA7012841A8000000001000000" , lwpins(ecx, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("8FEA7012841A8000000001000000" , lwpins(ecx, dword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("8FEA7012CA01000000" , lwpval(ecx, edx, 1));
+ TEST_INSTRUCTION("8FEA70128C1A8000000001000000" , lwpval(ecx, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("8FEA70128C1A8000000001000000" , lwpval(ecx, dword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("66F30FBDCA" , lzcnt(cx, dx));
+ TEST_INSTRUCTION("66F30FBD8C1A80000000" , lzcnt(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("66F30FBD8C1A80000000" , lzcnt(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30FBDCA" , lzcnt(ecx, edx));
+ TEST_INSTRUCTION("F30FBD8C1A80000000" , lzcnt(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30FBD8C1A80000000" , lzcnt(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FF7CA" , maskmovdqu(xmm1, xmm2, ptr(edi)));
+ TEST_INSTRUCTION("660FF7CA" , maskmovdqu(xmm1, xmm2, xmmword_ptr(edi)));
+ TEST_INSTRUCTION("0FF7CA" , maskmovq(mm1, mm2, ptr(edi)));
+ TEST_INSTRUCTION("0FF7CA" , maskmovq(mm1, mm2, qword_ptr(edi)));
+ TEST_INSTRUCTION("660F5FCA" , maxpd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F5F8C1A80000000" , maxpd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F5F8C1A80000000" , maxpd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F5FCA" , maxps(xmm1, xmm2));
+ TEST_INSTRUCTION("0F5F8C1A80000000" , maxps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F5F8C1A80000000" , maxps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F5FCA" , maxsd(xmm1, xmm2));
+ TEST_INSTRUCTION("F20F5F8C1A80000000" , maxsd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F5F8C1A80000000" , maxsd(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F5FCA" , maxss(xmm1, xmm2));
+ TEST_INSTRUCTION("F30F5F8C1A80000000" , maxss(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F5F8C1A80000000" , maxss(xmm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F01FA" , mcommit());
+ TEST_INSTRUCTION("0FAEF0" , mfence());
+ TEST_INSTRUCTION("660F5DCA" , minpd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F5D8C1A80000000" , minpd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F5D8C1A80000000" , minpd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F5DCA" , minps(xmm1, xmm2));
+ TEST_INSTRUCTION("0F5D8C1A80000000" , minps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F5D8C1A80000000" , minps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F5DCA" , minsd(xmm1, xmm2));
+ TEST_INSTRUCTION("F20F5D8C1A80000000" , minsd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F5D8C1A80000000" , minsd(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F5DCA" , minss(xmm1, xmm2));
+ TEST_INSTRUCTION("F30F5D8C1A80000000" , minss(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F5D8C1A80000000" , minss(xmm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F01C8" , monitor(ptr(eax), ecx, edx));
+ TEST_INSTRUCTION("0F01FA" , monitorx(ptr(eax), ecx, edx));
+ TEST_INSTRUCTION("88D1" , mov(cl, dl));
+ TEST_INSTRUCTION("88F1" , mov(cl, dh));
+ TEST_INSTRUCTION("88D5" , mov(ch, dl));
+ TEST_INSTRUCTION("88F5" , mov(ch, dh));
+ TEST_INSTRUCTION("889C1180000000" , mov(ptr(ecx, edx, 0, 128), bl));
+ TEST_INSTRUCTION("88BC1180000000" , mov(ptr(ecx, edx, 0, 128), bh));
+ TEST_INSTRUCTION("889C1180000000" , mov(byte_ptr(ecx, edx, 0, 128), bl));
+ TEST_INSTRUCTION("88BC1180000000" , mov(byte_ptr(ecx, edx, 0, 128), bh));
+ TEST_INSTRUCTION("6689D1" , mov(cx, dx));
+ TEST_INSTRUCTION("668EE2" , mov(fs, dx));
+ TEST_INSTRUCTION("66899C1180000000" , mov(ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("66899C1180000000" , mov(word_ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("89D1" , mov(ecx, edx));
+ TEST_INSTRUCTION("8EE2" , mov(fs, edx));
+ TEST_INSTRUCTION("899C1180000000" , mov(ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("899C1180000000" , mov(dword_ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("B101" , mov(cl, 1));
+ TEST_INSTRUCTION("B501" , mov(ch, 1));
+ TEST_INSTRUCTION("C684118000000001" , mov(byte_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("66B90100" , mov(cx, 1));
+ TEST_INSTRUCTION("66C78411800000000100" , mov(word_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("B901000000" , mov(ecx, 1));
+ TEST_INSTRUCTION("C784118000000001000000" , mov(dword_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("8A8C1A80000000" , mov(cl, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8A8C1A80000000" , mov(cl, byte_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8AAC1A80000000" , mov(ch, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8AAC1A80000000" , mov(ch, byte_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("668CE1" , mov(cx, fs));
+ TEST_INSTRUCTION("668B8C1A80000000" , mov(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("668B8C1A80000000" , mov(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8CE1" , mov(ecx, fs));
+ TEST_INSTRUCTION("8B8C1A80000000" , mov(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8B8C1A80000000" , mov(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8CA41180000000" , mov(ptr(ecx, edx, 0, 128), fs));
+ TEST_INSTRUCTION("668CA41180000000" , mov(word_ptr(ecx, edx, 0, 128), fs));
+ TEST_INSTRUCTION("8EA41A80000000" , mov(fs, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("668EA41A80000000" , mov(fs, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F20D1" , mov(ecx, cr2));
+ TEST_INSTRUCTION("0F21D1" , mov(ecx, dr2));
+ TEST_INSTRUCTION("0F22CA" , mov(cr1, edx));
+ TEST_INSTRUCTION("0F23CA" , mov(dr1, edx));
+ TEST_INSTRUCTION("660F28CA" , movapd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F288C1A80000000" , movapd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F288C1A80000000" , movapd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F299C1180000000" , movapd(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("660F299C1180000000" , movapd(xmmword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("0F28CA" , movaps(xmm1, xmm2));
+ TEST_INSTRUCTION("0F288C1A80000000" , movaps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F288C1A80000000" , movaps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F299C1180000000" , movaps(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("0F299C1180000000" , movaps(xmmword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("660F38F08C1A80000000" , movbe(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38F08C1A80000000" , movbe(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F38F08C1A80000000" , movbe(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F38F08C1A80000000" , movbe(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38F19C1180000000" , movbe(ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("660F38F19C1180000000" , movbe(word_ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("0F38F19C1180000000" , movbe(ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("0F38F19C1180000000" , movbe(dword_ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("660F6ECA" , movd(xmm1, edx));
+ TEST_INSTRUCTION("660F6E8C1A80000000" , movd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F6E8C1A80000000" , movd(xmm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F6ECA" , movd(mm1, edx));
+ TEST_INSTRUCTION("0F6E8C1A80000000" , movd(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F6E8C1A80000000" , movd(mm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F7ED1" , movd(ecx, xmm2));
+ TEST_INSTRUCTION("0F7ED1" , movd(ecx, mm2));
+ TEST_INSTRUCTION("660F7E9C1180000000" , movd(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("0F7E9C1180000000" , movd(ptr(ecx, edx, 0, 128), mm3));
+ TEST_INSTRUCTION("660F7E9C1180000000" , movd(dword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("0F7E9C1180000000" , movd(dword_ptr(ecx, edx, 0, 128), mm3));
+ TEST_INSTRUCTION("F20F12CA" , movddup(xmm1, xmm2));
+ TEST_INSTRUCTION("F20F128C1A80000000" , movddup(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F128C1A80000000" , movddup(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38F88C1A80000000" , movdir64b(zmmword_ptr(ecx), zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F38F99C1180000000" , movdiri(ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("0F38F99C1180000000" , movdiri(dword_ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("F20FD6CA" , movdq2q(mm1, xmm2));
+ TEST_INSTRUCTION("660F6FCA" , movdqa(xmm1, xmm2));
+ TEST_INSTRUCTION("660F6F8C1A80000000" , movdqa(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F6F8C1A80000000" , movdqa(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F7F9C1180000000" , movdqa(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("660F7F9C1180000000" , movdqa(xmmword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("F30F6FCA" , movdqu(xmm1, xmm2));
+ TEST_INSTRUCTION("F30F6F8C1A80000000" , movdqu(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F6F8C1A80000000" , movdqu(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F7F9C1180000000" , movdqu(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("F30F7F9C1180000000" , movdqu(xmmword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("0F12CA" , movhlps(xmm1, xmm2));
+ TEST_INSTRUCTION("660F179C1180000000" , movhpd(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("660F179C1180000000" , movhpd(qword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("660F168C1A80000000" , movhpd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F168C1A80000000" , movhpd(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F179C1180000000" , movhps(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("0F179C1180000000" , movhps(qword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("0F168C1A80000000" , movhps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F168C1A80000000" , movhps(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F16CA" , movlhps(xmm1, xmm2));
+ TEST_INSTRUCTION("660F139C1180000000" , movlpd(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("660F139C1180000000" , movlpd(qword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("660F128C1A80000000" , movlpd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F128C1A80000000" , movlpd(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F139C1180000000" , movlps(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("0F139C1180000000" , movlps(qword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("0F128C1A80000000" , movlps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F128C1A80000000" , movlps(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F50CA" , movmskpd(ecx, xmm2));
+ TEST_INSTRUCTION("0F50CA" , movmskps(ecx, xmm2));
+ TEST_INSTRUCTION("660FE79C1180000000" , movntdq(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("660FE79C1180000000" , movntdq(xmmword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("660F382A8C1A80000000" , movntdqa(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F382A8C1A80000000" , movntdqa(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FC39C1180000000" , movnti(ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("0FC39C1180000000" , movnti(dword_ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("660F2B9C1180000000" , movntpd(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("660F2B9C1180000000" , movntpd(xmmword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("0F2B9C1180000000" , movntps(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("0F2B9C1180000000" , movntps(xmmword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("0FE79C1180000000" , movntq(ptr(ecx, edx, 0, 128), mm3));
+ TEST_INSTRUCTION("0FE79C1180000000" , movntq(qword_ptr(ecx, edx, 0, 128), mm3));
+ TEST_INSTRUCTION("F20F2B9C1180000000" , movntsd(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("F20F2B9C1180000000" , movntsd(qword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("F30F2B9C1180000000" , movntss(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("F30F2B9C1180000000" , movntss(dword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("0F6FCA" , movq(mm1, mm2));
+ TEST_INSTRUCTION("0F6F8C1A80000000" , movq(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F6F8C1A80000000" , movq(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FD69C1180000000" , movq(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("0F7F9C1180000000" , movq(ptr(ecx, edx, 0, 128), mm3));
+ TEST_INSTRUCTION("660FD69C1180000000" , movq(qword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("0F7F9C1180000000" , movq(qword_ptr(ecx, edx, 0, 128), mm3));
+ TEST_INSTRUCTION("F30F7ECA" , movq(xmm1, xmm2));
+ TEST_INSTRUCTION("F30F7E8C1A80000000" , movq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F7E8C1A80000000" , movq(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30FD6CA" , movq2dq(xmm1, mm2));
+ TEST_INSTRUCTION("A4" , movs(byte_ptr(edi), byte_ptr(esi)));
+ TEST_INSTRUCTION("66A5" , movs(word_ptr(edi), word_ptr(esi)));
+ TEST_INSTRUCTION("A5" , movs(dword_ptr(edi), dword_ptr(esi)));
+ TEST_INSTRUCTION("F20F10CA" , movsd(xmm1, xmm2));
+ TEST_INSTRUCTION("F20F108C1A80000000" , movsd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F108C1A80000000" , movsd(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F119C1180000000" , movsd(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("F20F119C1180000000" , movsd(qword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("F30F16CA" , movshdup(xmm1, xmm2));
+ TEST_INSTRUCTION("F30F168C1A80000000" , movshdup(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F168C1A80000000" , movshdup(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F12CA" , movsldup(xmm1, xmm2));
+ TEST_INSTRUCTION("F30F128C1A80000000" , movsldup(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F128C1A80000000" , movsldup(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F10CA" , movss(xmm1, xmm2));
+ TEST_INSTRUCTION("F30F108C1A80000000" , movss(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F108C1A80000000" , movss(xmm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F119C1180000000" , movss(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("F30F119C1180000000" , movss(dword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("660FBECA" , movsx(cx, dl));
+ TEST_INSTRUCTION("660FBECE" , movsx(cx, dh));
+ TEST_INSTRUCTION("660FBE8C1A80000000" , movsx(cx, byte_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FBECA" , movsx(ecx, dl));
+ TEST_INSTRUCTION("0FBECE" , movsx(ecx, dh));
+ TEST_INSTRUCTION("0FBFCA" , movsx(ecx, dx));
+ TEST_INSTRUCTION("0FBE8C1A80000000" , movsx(ecx, byte_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FBF8C1A80000000" , movsx(ecx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F10CA" , movupd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F108C1A80000000" , movupd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F108C1A80000000" , movupd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F119C1180000000" , movupd(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("660F119C1180000000" , movupd(xmmword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("0F10CA" , movups(xmm1, xmm2));
+ TEST_INSTRUCTION("0F108C1A80000000" , movups(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F108C1A80000000" , movups(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F119C1180000000" , movups(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("0F119C1180000000" , movups(xmmword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("660FB6CA" , movzx(cx, dl));
+ TEST_INSTRUCTION("660FB6CE" , movzx(cx, dh));
+ TEST_INSTRUCTION("660FB68C1A80000000" , movzx(cx, byte_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FB6CA" , movzx(ecx, dl));
+ TEST_INSTRUCTION("0FB6CE" , movzx(ecx, dh));
+ TEST_INSTRUCTION("0FB7CA" , movzx(ecx, dx));
+ TEST_INSTRUCTION("0FB68C1A80000000" , movzx(ecx, byte_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FB78C1A80000000" , movzx(ecx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3A42CA01" , mpsadbw(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660F3A428C1A8000000001" , mpsadbw(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A428C1A8000000001" , mpsadbw(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("F6E1" , mul(ax, cl));
+ TEST_INSTRUCTION("F6E5" , mul(ax, ch));
+ TEST_INSTRUCTION("F6A41180000000" , mul(ax, ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("F6A41180000000" , mul(ax, byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("66F7E1" , mul(dx, ax, cx));
+ TEST_INSTRUCTION("66F7A41180000000" , mul(dx, ax, ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("66F7A41180000000" , mul(dx, ax, word_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("F7E1" , mul(edx, eax, ecx));
+ TEST_INSTRUCTION("F7A41180000000" , mul(edx, eax, ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("F7A41180000000" , mul(edx, eax, dword_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("660F59CA" , mulpd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F598C1A80000000" , mulpd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F598C1A80000000" , mulpd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F59CA" , mulps(xmm1, xmm2));
+ TEST_INSTRUCTION("0F598C1A80000000" , mulps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F598C1A80000000" , mulps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F59CA" , mulsd(xmm1, xmm2));
+ TEST_INSTRUCTION("F20F598C1A80000000" , mulsd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F598C1A80000000" , mulsd(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F59CA" , mulss(xmm1, xmm2));
+ TEST_INSTRUCTION("F30F598C1A80000000" , mulss(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F598C1A80000000" , mulss(xmm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E26BF6CB" , mulx(ecx, edx, ebx, edx));
+ TEST_INSTRUCTION("C4E26BF68C2B80000000" , mulx(ecx, edx, ptr(ebx, ebp, 0, 128), edx));
+ TEST_INSTRUCTION("C4E26BF68C2B80000000" , mulx(ecx, edx, dword_ptr(ebx, ebp, 0, 128), edx));
+ TEST_INSTRUCTION("0F01C9" , mwait(eax, ecx));
+ TEST_INSTRUCTION("0F01FB" , mwaitx(eax, ecx, ebx));
+ TEST_INSTRUCTION("F6D9" , neg(cl));
+ TEST_INSTRUCTION("F6DD" , neg(ch));
+ TEST_INSTRUCTION("66F7D9" , neg(cx));
+ TEST_INSTRUCTION("F7D9" , neg(ecx));
+ TEST_INSTRUCTION("F69C1180000000" , neg(byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("66F79C1180000000" , neg(word_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("F79C1180000000" , neg(dword_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("90" , nop());
+ TEST_INSTRUCTION("660F1FC1" , nop(cx));
+ TEST_INSTRUCTION("0F1FC1" , nop(ecx));
+ TEST_INSTRUCTION("660F1F841180000000" , nop(word_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F1F841180000000" , nop(dword_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("660F1FD1" , nop(cx, dx));
+ TEST_INSTRUCTION("660F1F9C1180000000" , nop(ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("660F1F9C1180000000" , nop(word_ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("0F1FD1" , nop(ecx, edx));
+ TEST_INSTRUCTION("0F1F9C1180000000" , nop(ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("0F1F9C1180000000" , nop(dword_ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("F6D1" , not_(cl));
+ TEST_INSTRUCTION("F6D5" , not_(ch));
+ TEST_INSTRUCTION("66F7D1" , not_(cx));
+ TEST_INSTRUCTION("F7D1" , not_(ecx));
+ TEST_INSTRUCTION("F6941180000000" , not_(byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("66F7941180000000" , not_(word_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("F7941180000000" , not_(dword_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("80C901" , or_(cl, 1));
+ TEST_INSTRUCTION("80CD01" , or_(ch, 1));
+ TEST_INSTRUCTION("808C118000000001" , or_(byte_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("6683C901" , or_(cx, 1));
+ TEST_INSTRUCTION("66838C118000000001" , or_(word_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("83C901" , or_(ecx, 1));
+ TEST_INSTRUCTION("838C118000000001" , or_(dword_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("08D1" , or_(cl, dl));
+ TEST_INSTRUCTION("08F1" , or_(cl, dh));
+ TEST_INSTRUCTION("08D5" , or_(ch, dl));
+ TEST_INSTRUCTION("08F5" , or_(ch, dh));
+ TEST_INSTRUCTION("089C1180000000" , or_(ptr(ecx, edx, 0, 128), bl));
+ TEST_INSTRUCTION("08BC1180000000" , or_(ptr(ecx, edx, 0, 128), bh));
+ TEST_INSTRUCTION("089C1180000000" , or_(byte_ptr(ecx, edx, 0, 128), bl));
+ TEST_INSTRUCTION("08BC1180000000" , or_(byte_ptr(ecx, edx, 0, 128), bh));
+ TEST_INSTRUCTION("6609D1" , or_(cx, dx));
+ TEST_INSTRUCTION("66099C1180000000" , or_(ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("66099C1180000000" , or_(word_ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("09D1" , or_(ecx, edx));
+ TEST_INSTRUCTION("099C1180000000" , or_(ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("099C1180000000" , or_(dword_ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("0A8C1A80000000" , or_(cl, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0A8C1A80000000" , or_(cl, byte_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0AAC1A80000000" , or_(ch, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0AAC1A80000000" , or_(ch, byte_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660B8C1A80000000" , or_(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660B8C1A80000000" , or_(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0B8C1A80000000" , or_(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0B8C1A80000000" , or_(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F56CA" , orpd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F568C1A80000000" , orpd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F568C1A80000000" , orpd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F56CA" , orps(xmm1, xmm2));
+ TEST_INSTRUCTION("0F568C1A80000000" , orps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F568C1A80000000" , orps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("EE" , out(dx, al));
+ TEST_INSTRUCTION("66EF" , out(dx, ax));
+ TEST_INSTRUCTION("EF" , out(dx, eax));
+ TEST_INSTRUCTION("E601" , out(1, al));
+ TEST_INSTRUCTION("66E701" , out(1, ax));
+ TEST_INSTRUCTION("E701" , out(1, eax));
+ TEST_INSTRUCTION("6E" , outs(dx, byte_ptr(esi)));
+ TEST_INSTRUCTION("666F" , outs(dx, word_ptr(esi)));
+ TEST_INSTRUCTION("6F" , outs(dx, dword_ptr(esi)));
+ TEST_INSTRUCTION("0F381CCA" , pabsb(mm1, mm2));
+ TEST_INSTRUCTION("0F381C8C1A80000000" , pabsb(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F381C8C1A80000000" , pabsb(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F381CCA" , pabsb(xmm1, xmm2));
+ TEST_INSTRUCTION("660F381C8C1A80000000" , pabsb(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F381C8C1A80000000" , pabsb(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F381ECA" , pabsd(mm1, mm2));
+ TEST_INSTRUCTION("0F381E8C1A80000000" , pabsd(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F381E8C1A80000000" , pabsd(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F381ECA" , pabsd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F381E8C1A80000000" , pabsd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F381E8C1A80000000" , pabsd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F381DCA" , pabsw(mm1, mm2));
+ TEST_INSTRUCTION("0F381D8C1A80000000" , pabsw(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F381D8C1A80000000" , pabsw(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F381DCA" , pabsw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F381D8C1A80000000" , pabsw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F381D8C1A80000000" , pabsw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F6BCA" , packssdw(mm1, mm2));
+ TEST_INSTRUCTION("0F6B8C1A80000000" , packssdw(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F6B8C1A80000000" , packssdw(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F6BCA" , packssdw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F6B8C1A80000000" , packssdw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F6B8C1A80000000" , packssdw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F63CA" , packsswb(mm1, mm2));
+ TEST_INSTRUCTION("0F638C1A80000000" , packsswb(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F638C1A80000000" , packsswb(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F63CA" , packsswb(xmm1, xmm2));
+ TEST_INSTRUCTION("660F638C1A80000000" , packsswb(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F638C1A80000000" , packsswb(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F382BCA" , packusdw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F382B8C1A80000000" , packusdw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F382B8C1A80000000" , packusdw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F67CA" , packuswb(mm1, mm2));
+ TEST_INSTRUCTION("0F678C1A80000000" , packuswb(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F678C1A80000000" , packuswb(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F67CA" , packuswb(xmm1, xmm2));
+ TEST_INSTRUCTION("660F678C1A80000000" , packuswb(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F678C1A80000000" , packuswb(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FFCCA" , paddb(mm1, mm2));
+ TEST_INSTRUCTION("0FFC8C1A80000000" , paddb(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FFC8C1A80000000" , paddb(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FFCCA" , paddb(xmm1, xmm2));
+ TEST_INSTRUCTION("660FFC8C1A80000000" , paddb(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FFC8C1A80000000" , paddb(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FFECA" , paddd(mm1, mm2));
+ TEST_INSTRUCTION("0FFE8C1A80000000" , paddd(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FFE8C1A80000000" , paddd(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FFECA" , paddd(xmm1, xmm2));
+ TEST_INSTRUCTION("660FFE8C1A80000000" , paddd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FFE8C1A80000000" , paddd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FD4CA" , paddq(mm1, mm2));
+ TEST_INSTRUCTION("0FD48C1A80000000" , paddq(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FD48C1A80000000" , paddq(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FD4CA" , paddq(xmm1, xmm2));
+ TEST_INSTRUCTION("660FD48C1A80000000" , paddq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FD48C1A80000000" , paddq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FECCA" , paddsb(mm1, mm2));
+ TEST_INSTRUCTION("0FEC8C1A80000000" , paddsb(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FEC8C1A80000000" , paddsb(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FECCA" , paddsb(xmm1, xmm2));
+ TEST_INSTRUCTION("660FEC8C1A80000000" , paddsb(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FEC8C1A80000000" , paddsb(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FEDCA" , paddsw(mm1, mm2));
+ TEST_INSTRUCTION("0FED8C1A80000000" , paddsw(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FED8C1A80000000" , paddsw(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FEDCA" , paddsw(xmm1, xmm2));
+ TEST_INSTRUCTION("660FED8C1A80000000" , paddsw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FED8C1A80000000" , paddsw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FDCCA" , paddusb(mm1, mm2));
+ TEST_INSTRUCTION("0FDC8C1A80000000" , paddusb(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FDC8C1A80000000" , paddusb(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FDCCA" , paddusb(xmm1, xmm2));
+ TEST_INSTRUCTION("660FDC8C1A80000000" , paddusb(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FDC8C1A80000000" , paddusb(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FDDCA" , paddusw(mm1, mm2));
+ TEST_INSTRUCTION("0FDD8C1A80000000" , paddusw(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FDD8C1A80000000" , paddusw(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FDDCA" , paddusw(xmm1, xmm2));
+ TEST_INSTRUCTION("660FDD8C1A80000000" , paddusw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FDD8C1A80000000" , paddusw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FFDCA" , paddw(mm1, mm2));
+ TEST_INSTRUCTION("0FFD8C1A80000000" , paddw(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FFD8C1A80000000" , paddw(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FFDCA" , paddw(xmm1, xmm2));
+ TEST_INSTRUCTION("660FFD8C1A80000000" , paddw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FFD8C1A80000000" , paddw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F3A0FCA01" , palignr(mm1, mm2, 1));
+ TEST_INSTRUCTION("0F3A0F8C1A8000000001" , palignr(mm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("0F3A0F8C1A8000000001" , palignr(mm1, qword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A0FCA01" , palignr(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660F3A0F8C1A8000000001" , palignr(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A0F8C1A8000000001" , palignr(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("0FDBCA" , pand(mm1, mm2));
+ TEST_INSTRUCTION("0FDB8C1A80000000" , pand(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FDB8C1A80000000" , pand(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FDBCA" , pand(xmm1, xmm2));
+ TEST_INSTRUCTION("660FDB8C1A80000000" , pand(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FDB8C1A80000000" , pand(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FDFCA" , pandn(mm1, mm2));
+ TEST_INSTRUCTION("0FDF8C1A80000000" , pandn(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FDF8C1A80000000" , pandn(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FDFCA" , pandn(xmm1, xmm2));
+ TEST_INSTRUCTION("660FDF8C1A80000000" , pandn(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FDF8C1A80000000" , pandn(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F390" , pause());
+ TEST_INSTRUCTION("0FE0CA" , pavgb(mm1, mm2));
+ TEST_INSTRUCTION("0FE08C1A80000000" , pavgb(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FE08C1A80000000" , pavgb(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FE0CA" , pavgb(xmm1, xmm2));
+ TEST_INSTRUCTION("660FE08C1A80000000" , pavgb(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FE08C1A80000000" , pavgb(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCABF" , pavgusb(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A80000000BF" , pavgusb(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A80000000BF" , pavgusb(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FE3CA" , pavgw(mm1, mm2));
+ TEST_INSTRUCTION("0FE38C1A80000000" , pavgw(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FE38C1A80000000" , pavgw(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FE3CA" , pavgw(xmm1, xmm2));
+ TEST_INSTRUCTION("660FE38C1A80000000" , pavgw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FE38C1A80000000" , pavgw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3810CA" , pblendvb(xmm1, xmm2, xmm0));
+ TEST_INSTRUCTION("660F38108C1A80000000" , pblendvb(xmm1, ptr(edx, ebx, 0, 128), xmm0));
+ TEST_INSTRUCTION("660F38108C1A80000000" , pblendvb(xmm1, xmmword_ptr(edx, ebx, 0, 128), xmm0));
+ TEST_INSTRUCTION("660F3A0ECA01" , pblendw(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660F3A0E8C1A8000000001" , pblendw(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A0E8C1A8000000001" , pblendw(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A44CA01" , pclmulqdq(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660F3A448C1A8000000001" , pclmulqdq(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A448C1A8000000001" , pclmulqdq(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("0F74CA" , pcmpeqb(mm1, mm2));
+ TEST_INSTRUCTION("0F748C1A80000000" , pcmpeqb(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F748C1A80000000" , pcmpeqb(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F74CA" , pcmpeqb(xmm1, xmm2));
+ TEST_INSTRUCTION("660F748C1A80000000" , pcmpeqb(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F748C1A80000000" , pcmpeqb(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F76CA" , pcmpeqd(mm1, mm2));
+ TEST_INSTRUCTION("0F768C1A80000000" , pcmpeqd(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F768C1A80000000" , pcmpeqd(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F76CA" , pcmpeqd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F768C1A80000000" , pcmpeqd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F768C1A80000000" , pcmpeqd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3829CA" , pcmpeqq(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38298C1A80000000" , pcmpeqq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38298C1A80000000" , pcmpeqq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F75CA" , pcmpeqw(mm1, mm2));
+ TEST_INSTRUCTION("0F758C1A80000000" , pcmpeqw(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F758C1A80000000" , pcmpeqw(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F75CA" , pcmpeqw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F758C1A80000000" , pcmpeqw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F758C1A80000000" , pcmpeqw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3A61CA01" , pcmpestri(xmm1, xmm2, 1, ecx, eax, edx));
+ TEST_INSTRUCTION("660F3A618C1A8000000001" , pcmpestri(xmm1, ptr(edx, ebx, 0, 128), 1, ecx, eax, edx));
+ TEST_INSTRUCTION("660F3A618C1A8000000001" , pcmpestri(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1, ecx, eax, edx));
+ TEST_INSTRUCTION("660F3A60CA01" , pcmpestrm(xmm1, xmm2, 1, xmm0, eax, edx));
+ TEST_INSTRUCTION("660F3A608C1A8000000001" , pcmpestrm(xmm1, ptr(edx, ebx, 0, 128), 1, xmm0, eax, edx));
+ TEST_INSTRUCTION("660F3A608C1A8000000001" , pcmpestrm(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1, xmm0, eax, edx));
+ TEST_INSTRUCTION("0F64CA" , pcmpgtb(mm1, mm2));
+ TEST_INSTRUCTION("0F648C1A80000000" , pcmpgtb(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F648C1A80000000" , pcmpgtb(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F64CA" , pcmpgtb(xmm1, xmm2));
+ TEST_INSTRUCTION("660F648C1A80000000" , pcmpgtb(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F648C1A80000000" , pcmpgtb(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F66CA" , pcmpgtd(mm1, mm2));
+ TEST_INSTRUCTION("0F668C1A80000000" , pcmpgtd(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F668C1A80000000" , pcmpgtd(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F66CA" , pcmpgtd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F668C1A80000000" , pcmpgtd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F668C1A80000000" , pcmpgtd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3837CA" , pcmpgtq(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38378C1A80000000" , pcmpgtq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38378C1A80000000" , pcmpgtq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F65CA" , pcmpgtw(mm1, mm2));
+ TEST_INSTRUCTION("0F658C1A80000000" , pcmpgtw(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F658C1A80000000" , pcmpgtw(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F65CA" , pcmpgtw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F658C1A80000000" , pcmpgtw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F658C1A80000000" , pcmpgtw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3A63CA01" , pcmpistri(xmm1, xmm2, 1, ecx));
+ TEST_INSTRUCTION("660F3A638C1A8000000001" , pcmpistri(xmm1, ptr(edx, ebx, 0, 128), 1, ecx));
+ TEST_INSTRUCTION("660F3A638C1A8000000001" , pcmpistri(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1, ecx));
+ TEST_INSTRUCTION("660F3A62CA01" , pcmpistrm(xmm1, xmm2, 1, xmm0));
+ TEST_INSTRUCTION("660F3A628C1A8000000001" , pcmpistrm(xmm1, ptr(edx, ebx, 0, 128), 1, xmm0));
+ TEST_INSTRUCTION("660F3A628C1A8000000001" , pcmpistrm(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1, xmm0));
+ TEST_INSTRUCTION("0F01C5" , pconfig());
+ TEST_INSTRUCTION("C4E26BF5CB" , pdep(ecx, edx, ebx));
+ TEST_INSTRUCTION("C4E26BF58C2B80000000" , pdep(ecx, edx, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26BF58C2B80000000" , pdep(ecx, edx, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26AF5CB" , pext(ecx, edx, ebx));
+ TEST_INSTRUCTION("C4E26AF58C2B80000000" , pext(ecx, edx, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26AF58C2B80000000" , pext(ecx, edx, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("660F3A14D101" , pextrb(ecx, xmm2, 1));
+ TEST_INSTRUCTION("660F3A149C118000000001" , pextrb(ptr(ecx, edx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("660F3A149C118000000001" , pextrb(byte_ptr(ecx, edx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("660F3A16D101" , pextrd(ecx, xmm2, 1));
+ TEST_INSTRUCTION("660F3A169C118000000001" , pextrd(ptr(ecx, edx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("660F3A169C118000000001" , pextrd(dword_ptr(ecx, edx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("660FC5CA01" , pextrw(ecx, xmm2, 1));
+ TEST_INSTRUCTION("0FC5CA01" , pextrw(ecx, mm2, 1));
+ TEST_INSTRUCTION("660F3A159C118000000001" , pextrw(ptr(ecx, edx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("660F3A159C118000000001" , pextrw(word_ptr(ecx, edx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("0F0FCA1D" , pf2id(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A800000001D" , pf2id(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A800000001D" , pf2id(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCA1C" , pf2iw(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A800000001C" , pf2iw(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A800000001C" , pf2iw(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCAAE" , pfacc(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A80000000AE" , pfacc(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A80000000AE" , pfacc(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCA9E" , pfadd(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A800000009E" , pfadd(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A800000009E" , pfadd(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCAB0" , pfcmpeq(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A80000000B0" , pfcmpeq(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A80000000B0" , pfcmpeq(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCA90" , pfcmpge(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A8000000090" , pfcmpge(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A8000000090" , pfcmpge(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCAA0" , pfcmpgt(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A80000000A0" , pfcmpgt(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A80000000A0" , pfcmpgt(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCAA4" , pfmax(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A80000000A4" , pfmax(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A80000000A4" , pfmax(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCA94" , pfmin(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A8000000094" , pfmin(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A8000000094" , pfmin(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCAB4" , pfmul(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A80000000B4" , pfmul(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A80000000B4" , pfmul(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCA8A" , pfnacc(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A800000008A" , pfnacc(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A800000008A" , pfnacc(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCA8E" , pfpnacc(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A800000008E" , pfpnacc(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A800000008E" , pfpnacc(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCA96" , pfrcp(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A8000000096" , pfrcp(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A8000000096" , pfrcp(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCAA6" , pfrcpit1(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A80000000A6" , pfrcpit1(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A80000000A6" , pfrcpit1(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCAB6" , pfrcpit2(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A80000000B6" , pfrcpit2(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A80000000B6" , pfrcpit2(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCA86" , pfrcpv(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A8000000086" , pfrcpv(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A8000000086" , pfrcpv(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCAA7" , pfrsqit1(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A80000000A7" , pfrsqit1(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A80000000A7" , pfrsqit1(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCA97" , pfrsqrt(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A8000000097" , pfrsqrt(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A8000000097" , pfrsqrt(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCA87" , pfrsqrtv(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A8000000087" , pfrsqrtv(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A8000000087" , pfrsqrtv(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCA9A" , pfsub(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A800000009A" , pfsub(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A800000009A" , pfsub(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCAAA" , pfsubr(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A80000000AA" , pfsubr(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A80000000AA" , pfsubr(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F3802CA" , phaddd(mm1, mm2));
+ TEST_INSTRUCTION("0F38028C1A80000000" , phaddd(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F38028C1A80000000" , phaddd(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3802CA" , phaddd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38028C1A80000000" , phaddd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38028C1A80000000" , phaddd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F3803CA" , phaddsw(mm1, mm2));
+ TEST_INSTRUCTION("0F38038C1A80000000" , phaddsw(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F38038C1A80000000" , phaddsw(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3803CA" , phaddsw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38038C1A80000000" , phaddsw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38038C1A80000000" , phaddsw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F3801CA" , phaddw(mm1, mm2));
+ TEST_INSTRUCTION("0F38018C1A80000000" , phaddw(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F38018C1A80000000" , phaddw(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3801CA" , phaddw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38018C1A80000000" , phaddw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38018C1A80000000" , phaddw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3841CA" , phminposuw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38418C1A80000000" , phminposuw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38418C1A80000000" , phminposuw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F3806CA" , phsubd(mm1, mm2));
+ TEST_INSTRUCTION("0F38068C1A80000000" , phsubd(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F38068C1A80000000" , phsubd(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3806CA" , phsubd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38068C1A80000000" , phsubd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38068C1A80000000" , phsubd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F3807CA" , phsubsw(mm1, mm2));
+ TEST_INSTRUCTION("0F38078C1A80000000" , phsubsw(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F38078C1A80000000" , phsubsw(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3807CA" , phsubsw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38078C1A80000000" , phsubsw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38078C1A80000000" , phsubsw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F3805CA" , phsubw(mm1, mm2));
+ TEST_INSTRUCTION("0F38058C1A80000000" , phsubw(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F38058C1A80000000" , phsubw(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3805CA" , phsubw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38058C1A80000000" , phsubw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38058C1A80000000" , phsubw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCA0D" , pi2fd(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A800000000D" , pi2fd(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A800000000D" , pi2fd(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCA0C" , pi2fw(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A800000000C" , pi2fw(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A800000000C" , pi2fw(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3A20CA01" , pinsrb(xmm1, edx, 1));
+ TEST_INSTRUCTION("660F3A208C1A8000000001" , pinsrb(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A208C1A8000000001" , pinsrb(xmm1, byte_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A22CA01" , pinsrd(xmm1, edx, 1));
+ TEST_INSTRUCTION("660F3A228C1A8000000001" , pinsrd(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A228C1A8000000001" , pinsrd(xmm1, dword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660FC4CA01" , pinsrw(xmm1, edx, 1));
+ TEST_INSTRUCTION("660FC48C1A8000000001" , pinsrw(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660FC48C1A8000000001" , pinsrw(xmm1, word_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("0FC4CA01" , pinsrw(mm1, edx, 1));
+ TEST_INSTRUCTION("0FC48C1A8000000001" , pinsrw(mm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("0FC48C1A8000000001" , pinsrw(mm1, word_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("0F3804CA" , pmaddubsw(mm1, mm2));
+ TEST_INSTRUCTION("0F38048C1A80000000" , pmaddubsw(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F38048C1A80000000" , pmaddubsw(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3804CA" , pmaddubsw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38048C1A80000000" , pmaddubsw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38048C1A80000000" , pmaddubsw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FF5CA" , pmaddwd(mm1, mm2));
+ TEST_INSTRUCTION("0FF58C1A80000000" , pmaddwd(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FF58C1A80000000" , pmaddwd(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FF5CA" , pmaddwd(xmm1, xmm2));
+ TEST_INSTRUCTION("660FF58C1A80000000" , pmaddwd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FF58C1A80000000" , pmaddwd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F383CCA" , pmaxsb(xmm1, xmm2));
+ TEST_INSTRUCTION("660F383C8C1A80000000" , pmaxsb(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F383C8C1A80000000" , pmaxsb(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F383DCA" , pmaxsd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F383D8C1A80000000" , pmaxsd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F383D8C1A80000000" , pmaxsd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FEECA" , pmaxsw(mm1, mm2));
+ TEST_INSTRUCTION("0FEE8C1A80000000" , pmaxsw(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FEE8C1A80000000" , pmaxsw(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FEECA" , pmaxsw(xmm1, xmm2));
+ TEST_INSTRUCTION("660FEE8C1A80000000" , pmaxsw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FEE8C1A80000000" , pmaxsw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FDECA" , pmaxub(mm1, mm2));
+ TEST_INSTRUCTION("0FDE8C1A80000000" , pmaxub(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FDE8C1A80000000" , pmaxub(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FDECA" , pmaxub(xmm1, xmm2));
+ TEST_INSTRUCTION("660FDE8C1A80000000" , pmaxub(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FDE8C1A80000000" , pmaxub(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F383FCA" , pmaxud(xmm1, xmm2));
+ TEST_INSTRUCTION("660F383F8C1A80000000" , pmaxud(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F383F8C1A80000000" , pmaxud(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F383ECA" , pmaxuw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F383E8C1A80000000" , pmaxuw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F383E8C1A80000000" , pmaxuw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3838CA" , pminsb(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38388C1A80000000" , pminsb(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38388C1A80000000" , pminsb(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3839CA" , pminsd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38398C1A80000000" , pminsd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38398C1A80000000" , pminsd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FEACA" , pminsw(mm1, mm2));
+ TEST_INSTRUCTION("0FEA8C1A80000000" , pminsw(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FEA8C1A80000000" , pminsw(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FEACA" , pminsw(xmm1, xmm2));
+ TEST_INSTRUCTION("660FEA8C1A80000000" , pminsw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FEA8C1A80000000" , pminsw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FDACA" , pminub(mm1, mm2));
+ TEST_INSTRUCTION("0FDA8C1A80000000" , pminub(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FDA8C1A80000000" , pminub(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FDACA" , pminub(xmm1, xmm2));
+ TEST_INSTRUCTION("660FDA8C1A80000000" , pminub(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FDA8C1A80000000" , pminub(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F383BCA" , pminud(xmm1, xmm2));
+ TEST_INSTRUCTION("660F383B8C1A80000000" , pminud(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F383B8C1A80000000" , pminud(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F383ACA" , pminuw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F383A8C1A80000000" , pminuw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F383A8C1A80000000" , pminuw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FD7CA" , pmovmskb(ecx, xmm2));
+ TEST_INSTRUCTION("0FD7CA" , pmovmskb(ecx, mm2));
+ TEST_INSTRUCTION("660F3821CA" , pmovsxbd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38218C1A80000000" , pmovsxbd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38218C1A80000000" , pmovsxbd(xmm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3822CA" , pmovsxbq(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38228C1A80000000" , pmovsxbq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38228C1A80000000" , pmovsxbq(xmm1, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3820CA" , pmovsxbw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38208C1A80000000" , pmovsxbw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38208C1A80000000" , pmovsxbw(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3825CA" , pmovsxdq(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38258C1A80000000" , pmovsxdq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38258C1A80000000" , pmovsxdq(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3823CA" , pmovsxwd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38238C1A80000000" , pmovsxwd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38238C1A80000000" , pmovsxwd(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3824CA" , pmovsxwq(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38248C1A80000000" , pmovsxwq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38248C1A80000000" , pmovsxwq(xmm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3831CA" , pmovzxbd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38318C1A80000000" , pmovzxbd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38318C1A80000000" , pmovzxbd(xmm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3832CA" , pmovzxbq(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38328C1A80000000" , pmovzxbq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38328C1A80000000" , pmovzxbq(xmm1, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3830CA" , pmovzxbw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38308C1A80000000" , pmovzxbw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38308C1A80000000" , pmovzxbw(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3835CA" , pmovzxdq(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38358C1A80000000" , pmovzxdq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38358C1A80000000" , pmovzxdq(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3833CA" , pmovzxwd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38338C1A80000000" , pmovzxwd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38338C1A80000000" , pmovzxwd(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3834CA" , pmovzxwq(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38348C1A80000000" , pmovzxwq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38348C1A80000000" , pmovzxwq(xmm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3828CA" , pmuldq(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38288C1A80000000" , pmuldq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38288C1A80000000" , pmuldq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F380BCA" , pmulhrsw(mm1, mm2));
+ TEST_INSTRUCTION("0F380B8C1A80000000" , pmulhrsw(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F380B8C1A80000000" , pmulhrsw(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F380BCA" , pmulhrsw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F380B8C1A80000000" , pmulhrsw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F380B8C1A80000000" , pmulhrsw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCAB7" , pmulhrw(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A80000000B7" , pmulhrw(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A80000000B7" , pmulhrw(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FE4CA" , pmulhuw(mm1, mm2));
+ TEST_INSTRUCTION("0FE48C1A80000000" , pmulhuw(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FE48C1A80000000" , pmulhuw(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FE4CA" , pmulhuw(xmm1, xmm2));
+ TEST_INSTRUCTION("660FE48C1A80000000" , pmulhuw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FE48C1A80000000" , pmulhuw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FE5CA" , pmulhw(mm1, mm2));
+ TEST_INSTRUCTION("0FE58C1A80000000" , pmulhw(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FE58C1A80000000" , pmulhw(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FE5CA" , pmulhw(xmm1, xmm2));
+ TEST_INSTRUCTION("660FE58C1A80000000" , pmulhw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FE58C1A80000000" , pmulhw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3840CA" , pmulld(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38408C1A80000000" , pmulld(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38408C1A80000000" , pmulld(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FD5CA" , pmullw(mm1, mm2));
+ TEST_INSTRUCTION("0FD58C1A80000000" , pmullw(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FD58C1A80000000" , pmullw(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FD5CA" , pmullw(xmm1, xmm2));
+ TEST_INSTRUCTION("660FD58C1A80000000" , pmullw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FD58C1A80000000" , pmullw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FF4CA" , pmuludq(mm1, mm2));
+ TEST_INSTRUCTION("0FF48C1A80000000" , pmuludq(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FF48C1A80000000" , pmuludq(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FF4CA" , pmuludq(xmm1, xmm2));
+ TEST_INSTRUCTION("660FF48C1A80000000" , pmuludq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FF48C1A80000000" , pmuludq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("6659" , pop(cx));
+ TEST_INSTRUCTION("668F841180000000" , pop(word_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("59" , pop(ecx));
+ TEST_INSTRUCTION("8F841180000000" , pop(dword_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0FA1" , pop(fs));
+ TEST_INSTRUCTION("6661" , popa());
+ TEST_INSTRUCTION("61" , popad());
+ TEST_INSTRUCTION("66F30FB8CA" , popcnt(cx, dx));
+ TEST_INSTRUCTION("66F30FB88C1A80000000" , popcnt(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("66F30FB88C1A80000000" , popcnt(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30FB8CA" , popcnt(ecx, edx));
+ TEST_INSTRUCTION("F30FB88C1A80000000" , popcnt(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30FB88C1A80000000" , popcnt(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("669D" , popf());
+ TEST_INSTRUCTION("9D" , popfd());
+ TEST_INSTRUCTION("0FEBCA" , por(mm1, mm2));
+ TEST_INSTRUCTION("0FEB8C1A80000000" , por(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FEB8C1A80000000" , por(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FEBCA" , por(xmm1, xmm2));
+ TEST_INSTRUCTION("660FEB8C1A80000000" , por(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FEB8C1A80000000" , por(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0D841180000000" , prefetch(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F18841180000000" , prefetchnta(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F188C1180000000" , prefetcht0(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F18941180000000" , prefetcht1(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F189C1180000000" , prefetcht2(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F0D8C1180000000" , prefetchw(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F0D941180000000" , prefetchwt1(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0FF6CA" , psadbw(mm1, mm2));
+ TEST_INSTRUCTION("0FF68C1A80000000" , psadbw(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FF68C1A80000000" , psadbw(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FF6CA" , psadbw(xmm1, xmm2));
+ TEST_INSTRUCTION("660FF68C1A80000000" , psadbw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FF68C1A80000000" , psadbw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F3800CA" , pshufb(mm1, mm2));
+ TEST_INSTRUCTION("0F38008C1A80000000" , pshufb(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F38008C1A80000000" , pshufb(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3800CA" , pshufb(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38008C1A80000000" , pshufb(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38008C1A80000000" , pshufb(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F70CA01" , pshufd(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660F708C1A8000000001" , pshufd(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660F708C1A8000000001" , pshufd(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("F30F70CA01" , pshufhw(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("F30F708C1A8000000001" , pshufhw(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("F30F708C1A8000000001" , pshufhw(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("F20F70CA01" , pshuflw(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("F20F708C1A8000000001" , pshuflw(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("F20F708C1A8000000001" , pshuflw(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("0F70CA01" , pshufw(mm1, mm2, 1));
+ TEST_INSTRUCTION("0F708C1A8000000001" , pshufw(mm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("0F708C1A8000000001" , pshufw(mm1, qword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("0F3808CA" , psignb(mm1, mm2));
+ TEST_INSTRUCTION("0F38088C1A80000000" , psignb(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F38088C1A80000000" , psignb(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3808CA" , psignb(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38088C1A80000000" , psignb(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38088C1A80000000" , psignb(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F380ACA" , psignd(mm1, mm2));
+ TEST_INSTRUCTION("0F380A8C1A80000000" , psignd(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F380A8C1A80000000" , psignd(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F380ACA" , psignd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F380A8C1A80000000" , psignd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F380A8C1A80000000" , psignd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F3809CA" , psignw(mm1, mm2));
+ TEST_INSTRUCTION("0F38098C1A80000000" , psignw(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F38098C1A80000000" , psignw(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3809CA" , psignw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38098C1A80000000" , psignw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38098C1A80000000" , psignw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FF2CA" , pslld(mm1, mm2));
+ TEST_INSTRUCTION("0F72F101" , pslld(mm1, 1));
+ TEST_INSTRUCTION("0FF28C1A80000000" , pslld(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FF28C1A80000000" , pslld(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FF2CA" , pslld(xmm1, xmm2));
+ TEST_INSTRUCTION("660F72F101" , pslld(xmm1, 1));
+ TEST_INSTRUCTION("660FF28C1A80000000" , pslld(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FF28C1A80000000" , pslld(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F73F901" , pslldq(xmm1, 1));
+ TEST_INSTRUCTION("0FF3CA" , psllq(mm1, mm2));
+ TEST_INSTRUCTION("0F73F101" , psllq(mm1, 1));
+ TEST_INSTRUCTION("0FF38C1A80000000" , psllq(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FF38C1A80000000" , psllq(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FF3CA" , psllq(xmm1, xmm2));
+ TEST_INSTRUCTION("660F73F101" , psllq(xmm1, 1));
+ TEST_INSTRUCTION("660FF38C1A80000000" , psllq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FF38C1A80000000" , psllq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FF1CA" , psllw(mm1, mm2));
+ TEST_INSTRUCTION("0F71F101" , psllw(mm1, 1));
+ TEST_INSTRUCTION("0FF18C1A80000000" , psllw(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FF18C1A80000000" , psllw(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FF1CA" , psllw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F71F101" , psllw(xmm1, 1));
+ TEST_INSTRUCTION("660FF18C1A80000000" , psllw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FF18C1A80000000" , psllw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FE2CA" , psrad(mm1, mm2));
+ TEST_INSTRUCTION("0F72E101" , psrad(mm1, 1));
+ TEST_INSTRUCTION("0FE28C1A80000000" , psrad(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FE28C1A80000000" , psrad(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FE2CA" , psrad(xmm1, xmm2));
+ TEST_INSTRUCTION("660F72E101" , psrad(xmm1, 1));
+ TEST_INSTRUCTION("660FE28C1A80000000" , psrad(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FE28C1A80000000" , psrad(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FE1CA" , psraw(mm1, mm2));
+ TEST_INSTRUCTION("0F71E101" , psraw(mm1, 1));
+ TEST_INSTRUCTION("0FE18C1A80000000" , psraw(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FE18C1A80000000" , psraw(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FE1CA" , psraw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F71E101" , psraw(xmm1, 1));
+ TEST_INSTRUCTION("660FE18C1A80000000" , psraw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FE18C1A80000000" , psraw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FD2CA" , psrld(mm1, mm2));
+ TEST_INSTRUCTION("0F72D101" , psrld(mm1, 1));
+ TEST_INSTRUCTION("0FD28C1A80000000" , psrld(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FD28C1A80000000" , psrld(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FD2CA" , psrld(xmm1, xmm2));
+ TEST_INSTRUCTION("660F72D101" , psrld(xmm1, 1));
+ TEST_INSTRUCTION("660FD28C1A80000000" , psrld(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FD28C1A80000000" , psrld(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F73D901" , psrldq(xmm1, 1));
+ TEST_INSTRUCTION("0FD3CA" , psrlq(mm1, mm2));
+ TEST_INSTRUCTION("0F73D101" , psrlq(mm1, 1));
+ TEST_INSTRUCTION("0FD38C1A80000000" , psrlq(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FD38C1A80000000" , psrlq(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FD3CA" , psrlq(xmm1, xmm2));
+ TEST_INSTRUCTION("660F73D101" , psrlq(xmm1, 1));
+ TEST_INSTRUCTION("660FD38C1A80000000" , psrlq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FD38C1A80000000" , psrlq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FD1CA" , psrlw(mm1, mm2));
+ TEST_INSTRUCTION("0F71D101" , psrlw(mm1, 1));
+ TEST_INSTRUCTION("0FD18C1A80000000" , psrlw(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FD18C1A80000000" , psrlw(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FD1CA" , psrlw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F71D101" , psrlw(xmm1, 1));
+ TEST_INSTRUCTION("660FD18C1A80000000" , psrlw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FD18C1A80000000" , psrlw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FF8CA" , psubb(mm1, mm2));
+ TEST_INSTRUCTION("0FF88C1A80000000" , psubb(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FF88C1A80000000" , psubb(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FF8CA" , psubb(xmm1, xmm2));
+ TEST_INSTRUCTION("660FF88C1A80000000" , psubb(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FF88C1A80000000" , psubb(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FFACA" , psubd(mm1, mm2));
+ TEST_INSTRUCTION("0FFA8C1A80000000" , psubd(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FFA8C1A80000000" , psubd(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FFACA" , psubd(xmm1, xmm2));
+ TEST_INSTRUCTION("660FFA8C1A80000000" , psubd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FFA8C1A80000000" , psubd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FFBCA" , psubq(mm1, mm2));
+ TEST_INSTRUCTION("0FFB8C1A80000000" , psubq(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FFB8C1A80000000" , psubq(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FFBCA" , psubq(xmm1, xmm2));
+ TEST_INSTRUCTION("660FFB8C1A80000000" , psubq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FFB8C1A80000000" , psubq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FE8CA" , psubsb(mm1, mm2));
+ TEST_INSTRUCTION("0FE88C1A80000000" , psubsb(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FE88C1A80000000" , psubsb(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FE8CA" , psubsb(xmm1, xmm2));
+ TEST_INSTRUCTION("660FE88C1A80000000" , psubsb(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FE88C1A80000000" , psubsb(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FE9CA" , psubsw(mm1, mm2));
+ TEST_INSTRUCTION("0FE98C1A80000000" , psubsw(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FE98C1A80000000" , psubsw(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FE9CA" , psubsw(xmm1, xmm2));
+ TEST_INSTRUCTION("660FE98C1A80000000" , psubsw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FE98C1A80000000" , psubsw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FD8CA" , psubusb(mm1, mm2));
+ TEST_INSTRUCTION("0FD88C1A80000000" , psubusb(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FD88C1A80000000" , psubusb(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FD8CA" , psubusb(xmm1, xmm2));
+ TEST_INSTRUCTION("660FD88C1A80000000" , psubusb(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FD88C1A80000000" , psubusb(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FD9CA" , psubusw(mm1, mm2));
+ TEST_INSTRUCTION("0FD98C1A80000000" , psubusw(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FD98C1A80000000" , psubusw(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FD9CA" , psubusw(xmm1, xmm2));
+ TEST_INSTRUCTION("660FD98C1A80000000" , psubusw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FD98C1A80000000" , psubusw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FF9CA" , psubw(mm1, mm2));
+ TEST_INSTRUCTION("0FF98C1A80000000" , psubw(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FF98C1A80000000" , psubw(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FF9CA" , psubw(xmm1, xmm2));
+ TEST_INSTRUCTION("660FF98C1A80000000" , psubw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FF98C1A80000000" , psubw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCABB" , pswapd(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A80000000BB" , pswapd(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A80000000BB" , pswapd(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F3817CA" , ptest(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38178C1A80000000" , ptest(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F38178C1A80000000" , ptest(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30FAEE1" , ptwrite(ecx));
+ TEST_INSTRUCTION("F30FAEA41180000000" , ptwrite(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("F30FAEA41180000000" , ptwrite(dword_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F68CA" , punpckhbw(mm1, mm2));
+ TEST_INSTRUCTION("0F688C1A80000000" , punpckhbw(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F688C1A80000000" , punpckhbw(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F68CA" , punpckhbw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F688C1A80000000" , punpckhbw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F688C1A80000000" , punpckhbw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F6ACA" , punpckhdq(mm1, mm2));
+ TEST_INSTRUCTION("0F6A8C1A80000000" , punpckhdq(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F6A8C1A80000000" , punpckhdq(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F6ACA" , punpckhdq(xmm1, xmm2));
+ TEST_INSTRUCTION("660F6A8C1A80000000" , punpckhdq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F6A8C1A80000000" , punpckhdq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F6DCA" , punpckhqdq(xmm1, xmm2));
+ TEST_INSTRUCTION("660F6D8C1A80000000" , punpckhqdq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F6D8C1A80000000" , punpckhqdq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F69CA" , punpckhwd(mm1, mm2));
+ TEST_INSTRUCTION("0F698C1A80000000" , punpckhwd(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F698C1A80000000" , punpckhwd(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F69CA" , punpckhwd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F698C1A80000000" , punpckhwd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F698C1A80000000" , punpckhwd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F60CA" , punpcklbw(mm1, mm2));
+ TEST_INSTRUCTION("0F608C1A80000000" , punpcklbw(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F608C1A80000000" , punpcklbw(mm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F60CA" , punpcklbw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F608C1A80000000" , punpcklbw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F608C1A80000000" , punpcklbw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F62CA" , punpckldq(mm1, mm2));
+ TEST_INSTRUCTION("0F628C1A80000000" , punpckldq(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F628C1A80000000" , punpckldq(mm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F62CA" , punpckldq(xmm1, xmm2));
+ TEST_INSTRUCTION("660F628C1A80000000" , punpckldq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F628C1A80000000" , punpckldq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F6CCA" , punpcklqdq(xmm1, xmm2));
+ TEST_INSTRUCTION("660F6C8C1A80000000" , punpcklqdq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F6C8C1A80000000" , punpcklqdq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F61CA" , punpcklwd(mm1, mm2));
+ TEST_INSTRUCTION("0F618C1A80000000" , punpcklwd(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F618C1A80000000" , punpcklwd(mm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F61CA" , punpcklwd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F618C1A80000000" , punpcklwd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F618C1A80000000" , punpcklwd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("6651" , push(cx));
+ TEST_INSTRUCTION("6A01" , push(1));
+ TEST_INSTRUCTION("66FFB41180000000" , push(word_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("51" , push(ecx));
+ TEST_INSTRUCTION("FFB41180000000" , push(dword_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0FA0" , push(fs));
+ TEST_INSTRUCTION("6660" , pusha());
+ TEST_INSTRUCTION("60" , pushad());
+ TEST_INSTRUCTION("669C" , pushf());
+ TEST_INSTRUCTION("9C" , pushfd());
+ TEST_INSTRUCTION("F20F01FF" , pvalidate());
+ TEST_INSTRUCTION("0FEFCA" , pxor(mm1, mm2));
+ TEST_INSTRUCTION("0FEF8C1A80000000" , pxor(mm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FEF8C1A80000000" , pxor(mm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FEFCA" , pxor(xmm1, xmm2));
+ TEST_INSTRUCTION("660FEF8C1A80000000" , pxor(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660FEF8C1A80000000" , pxor(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("D2D1" , rcl(cl, cl));
+ TEST_INSTRUCTION("D0D1" , rcl(cl, 1));
+ TEST_INSTRUCTION("D2D5" , rcl(ch, cl));
+ TEST_INSTRUCTION("D0D5" , rcl(ch, 1));
+ TEST_INSTRUCTION("66D3D1" , rcl(cx, cl));
+ TEST_INSTRUCTION("66D1D1" , rcl(cx, 1));
+ TEST_INSTRUCTION("D3D1" , rcl(ecx, cl));
+ TEST_INSTRUCTION("D1D1" , rcl(ecx, 1));
+ TEST_INSTRUCTION("D2941180000000" , rcl(byte_ptr(ecx, edx, 0, 128), cl));
+ TEST_INSTRUCTION("D0941180000000" , rcl(byte_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("66D3941180000000" , rcl(word_ptr(ecx, edx, 0, 128), cl));
+ TEST_INSTRUCTION("66D1941180000000" , rcl(word_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("D3941180000000" , rcl(dword_ptr(ecx, edx, 0, 128), cl));
+ TEST_INSTRUCTION("D1941180000000" , rcl(dword_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("0F53CA" , rcpps(xmm1, xmm2));
+ TEST_INSTRUCTION("0F538C1A80000000" , rcpps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F538C1A80000000" , rcpps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F53CA" , rcpss(xmm1, xmm2));
+ TEST_INSTRUCTION("F30F538C1A80000000" , rcpss(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F538C1A80000000" , rcpss(xmm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("D2D9" , rcr(cl, cl));
+ TEST_INSTRUCTION("D0D9" , rcr(cl, 1));
+ TEST_INSTRUCTION("D2DD" , rcr(ch, cl));
+ TEST_INSTRUCTION("D0DD" , rcr(ch, 1));
+ TEST_INSTRUCTION("66D3D9" , rcr(cx, cl));
+ TEST_INSTRUCTION("66D1D9" , rcr(cx, 1));
+ TEST_INSTRUCTION("D3D9" , rcr(ecx, cl));
+ TEST_INSTRUCTION("D1D9" , rcr(ecx, 1));
+ TEST_INSTRUCTION("D29C1180000000" , rcr(byte_ptr(ecx, edx, 0, 128), cl));
+ TEST_INSTRUCTION("D09C1180000000" , rcr(byte_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("66D39C1180000000" , rcr(word_ptr(ecx, edx, 0, 128), cl));
+ TEST_INSTRUCTION("66D19C1180000000" , rcr(word_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("D39C1180000000" , rcr(dword_ptr(ecx, edx, 0, 128), cl));
+ TEST_INSTRUCTION("D19C1180000000" , rcr(dword_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("0F32" , rdmsr(edx, eax, ecx));
+ TEST_INSTRUCTION("F30FC7F9" , rdpid(ecx));
+ TEST_INSTRUCTION("0F01EE" , rdpkru(edx, eax, ecx));
+ TEST_INSTRUCTION("0F33" , rdpmc(edx, eax, ecx));
+ TEST_INSTRUCTION("0F01FD" , rdpru(edx, eax, ecx));
+ TEST_INSTRUCTION("660FC7F1" , rdrand(cx));
+ TEST_INSTRUCTION("0FC7F1" , rdrand(ecx));
+ TEST_INSTRUCTION("660FC7F9" , rdseed(cx));
+ TEST_INSTRUCTION("0FC7F9" , rdseed(ecx));
+ TEST_INSTRUCTION("F30F1EC9" , rdsspd(ecx));
+ TEST_INSTRUCTION("0F31" , rdtsc(edx, eax));
+ TEST_INSTRUCTION("0F01F9" , rdtscp(edx, eax, ecx));
+ TEST_INSTRUCTION("C3" , ret());
+ TEST_INSTRUCTION("C20100" , ret(1));
+ TEST_INSTRUCTION("CB" , retf());
+ TEST_INSTRUCTION("CA0100" , retf(1));
+ TEST_INSTRUCTION("D2C1" , rol(cl, cl));
+ TEST_INSTRUCTION("D0C1" , rol(cl, 1));
+ TEST_INSTRUCTION("D2C5" , rol(ch, cl));
+ TEST_INSTRUCTION("D0C5" , rol(ch, 1));
+ TEST_INSTRUCTION("66D3C1" , rol(cx, cl));
+ TEST_INSTRUCTION("66D1C1" , rol(cx, 1));
+ TEST_INSTRUCTION("D3C1" , rol(ecx, cl));
+ TEST_INSTRUCTION("D1C1" , rol(ecx, 1));
+ TEST_INSTRUCTION("D2841180000000" , rol(byte_ptr(ecx, edx, 0, 128), cl));
+ TEST_INSTRUCTION("D0841180000000" , rol(byte_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("66D3841180000000" , rol(word_ptr(ecx, edx, 0, 128), cl));
+ TEST_INSTRUCTION("66D1841180000000" , rol(word_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("D3841180000000" , rol(dword_ptr(ecx, edx, 0, 128), cl));
+ TEST_INSTRUCTION("D1841180000000" , rol(dword_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("D2C9" , ror(cl, cl));
+ TEST_INSTRUCTION("D0C9" , ror(cl, 1));
+ TEST_INSTRUCTION("D2CD" , ror(ch, cl));
+ TEST_INSTRUCTION("D0CD" , ror(ch, 1));
+ TEST_INSTRUCTION("66D3C9" , ror(cx, cl));
+ TEST_INSTRUCTION("66D1C9" , ror(cx, 1));
+ TEST_INSTRUCTION("D3C9" , ror(ecx, cl));
+ TEST_INSTRUCTION("D1C9" , ror(ecx, 1));
+ TEST_INSTRUCTION("D28C1180000000" , ror(byte_ptr(ecx, edx, 0, 128), cl));
+ TEST_INSTRUCTION("D08C1180000000" , ror(byte_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("66D38C1180000000" , ror(word_ptr(ecx, edx, 0, 128), cl));
+ TEST_INSTRUCTION("66D18C1180000000" , ror(word_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("D38C1180000000" , ror(dword_ptr(ecx, edx, 0, 128), cl));
+ TEST_INSTRUCTION("D18C1180000000" , ror(dword_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E37BF0CA01" , rorx(ecx, edx, 1));
+ TEST_INSTRUCTION("C4E37BF08C1A8000000001" , rorx(ecx, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E37BF08C1A8000000001" , rorx(ecx, dword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A09CA01" , roundpd(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660F3A098C1A8000000001" , roundpd(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A098C1A8000000001" , roundpd(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A08CA01" , roundps(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660F3A088C1A8000000001" , roundps(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A088C1A8000000001" , roundps(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A0BCA01" , roundsd(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660F3A0B8C1A8000000001" , roundsd(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A0B8C1A8000000001" , roundsd(xmm1, qword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A0ACA01" , roundss(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660F3A0A8C1A8000000001" , roundss(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A0A8C1A8000000001" , roundss(xmm1, dword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("0FAA" , rsm());
+ TEST_INSTRUCTION("0F52CA" , rsqrtps(xmm1, xmm2));
+ TEST_INSTRUCTION("0F528C1A80000000" , rsqrtps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F528C1A80000000" , rsqrtps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F52CA" , rsqrtss(xmm1, xmm2));
+ TEST_INSTRUCTION("F30F528C1A80000000" , rsqrtss(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F528C1A80000000" , rsqrtss(xmm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F01AC1180000000" , rstorssp(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("F30F01AC1180000000" , rstorssp(qword_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("9E" , sahf(ah));
+ TEST_INSTRUCTION("D2E1" , sal(cl, cl));
+ TEST_INSTRUCTION("D0E1" , sal(cl, 1));
+ TEST_INSTRUCTION("D2E5" , sal(ch, cl));
+ TEST_INSTRUCTION("D0E5" , sal(ch, 1));
+ TEST_INSTRUCTION("66D3E1" , sal(cx, cl));
+ TEST_INSTRUCTION("66D1E1" , sal(cx, 1));
+ TEST_INSTRUCTION("D3E1" , sal(ecx, cl));
+ TEST_INSTRUCTION("D1E1" , sal(ecx, 1));
+ TEST_INSTRUCTION("D2A41180000000" , sal(byte_ptr(ecx, edx, 0, 128), cl));
+ TEST_INSTRUCTION("D0A41180000000" , sal(byte_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("66D3A41180000000" , sal(word_ptr(ecx, edx, 0, 128), cl));
+ TEST_INSTRUCTION("66D1A41180000000" , sal(word_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("D3A41180000000" , sal(dword_ptr(ecx, edx, 0, 128), cl));
+ TEST_INSTRUCTION("D1A41180000000" , sal(dword_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("D2F9" , sar(cl, cl));
+ TEST_INSTRUCTION("D0F9" , sar(cl, 1));
+ TEST_INSTRUCTION("D2FD" , sar(ch, cl));
+ TEST_INSTRUCTION("D0FD" , sar(ch, 1));
+ TEST_INSTRUCTION("66D3F9" , sar(cx, cl));
+ TEST_INSTRUCTION("66D1F9" , sar(cx, 1));
+ TEST_INSTRUCTION("D3F9" , sar(ecx, cl));
+ TEST_INSTRUCTION("D1F9" , sar(ecx, 1));
+ TEST_INSTRUCTION("D2BC1180000000" , sar(byte_ptr(ecx, edx, 0, 128), cl));
+ TEST_INSTRUCTION("D0BC1180000000" , sar(byte_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("66D3BC1180000000" , sar(word_ptr(ecx, edx, 0, 128), cl));
+ TEST_INSTRUCTION("66D1BC1180000000" , sar(word_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("D3BC1180000000" , sar(dword_ptr(ecx, edx, 0, 128), cl));
+ TEST_INSTRUCTION("D1BC1180000000" , sar(dword_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E262F7CA" , sarx(ecx, edx, ebx));
+ TEST_INSTRUCTION("C4E25AF78C1A80000000" , sarx(ecx, ptr(edx, ebx, 0, 128), esp));
+ TEST_INSTRUCTION("C4E25AF78C1A80000000" , sarx(ecx, dword_ptr(edx, ebx, 0, 128), esp));
+ TEST_INSTRUCTION("F30F01EA" , saveprevssp());
+ TEST_INSTRUCTION("80D901" , sbb(cl, 1));
+ TEST_INSTRUCTION("80DD01" , sbb(ch, 1));
+ TEST_INSTRUCTION("809C118000000001" , sbb(byte_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("6683D901" , sbb(cx, 1));
+ TEST_INSTRUCTION("66839C118000000001" , sbb(word_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("83D901" , sbb(ecx, 1));
+ TEST_INSTRUCTION("839C118000000001" , sbb(dword_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("18D1" , sbb(cl, dl));
+ TEST_INSTRUCTION("18F1" , sbb(cl, dh));
+ TEST_INSTRUCTION("18D5" , sbb(ch, dl));
+ TEST_INSTRUCTION("18F5" , sbb(ch, dh));
+ TEST_INSTRUCTION("189C1180000000" , sbb(ptr(ecx, edx, 0, 128), bl));
+ TEST_INSTRUCTION("18BC1180000000" , sbb(ptr(ecx, edx, 0, 128), bh));
+ TEST_INSTRUCTION("189C1180000000" , sbb(byte_ptr(ecx, edx, 0, 128), bl));
+ TEST_INSTRUCTION("18BC1180000000" , sbb(byte_ptr(ecx, edx, 0, 128), bh));
+ TEST_INSTRUCTION("6619D1" , sbb(cx, dx));
+ TEST_INSTRUCTION("66199C1180000000" , sbb(ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("66199C1180000000" , sbb(word_ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("19D1" , sbb(ecx, edx));
+ TEST_INSTRUCTION("199C1180000000" , sbb(ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("199C1180000000" , sbb(dword_ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("1A8C1A80000000" , sbb(cl, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("1A8C1A80000000" , sbb(cl, byte_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("1AAC1A80000000" , sbb(ch, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("1AAC1A80000000" , sbb(ch, byte_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("661B8C1A80000000" , sbb(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("661B8C1A80000000" , sbb(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("1B8C1A80000000" , sbb(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("1B8C1A80000000" , sbb(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("AE" , scas(al, ptr(edi)));
+ TEST_INSTRUCTION("AE" , scas(al, byte_ptr(edi)));
+ TEST_INSTRUCTION("66AF" , scas(ax, ptr(edi)));
+ TEST_INSTRUCTION("66AF" , scas(ax, word_ptr(edi)));
+ TEST_INSTRUCTION("AF" , scas(eax, ptr(edi)));
+ TEST_INSTRUCTION("AF" , scas(eax, dword_ptr(edi)));
+ TEST_INSTRUCTION("0F01E8" , serialize());
+ TEST_INSTRUCTION("0F97C1" , seta(cl));
+ TEST_INSTRUCTION("0F97C5" , seta(ch));
+ TEST_INSTRUCTION("0F97841180000000" , seta(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F97841180000000" , seta(byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F93C1" , setae(cl));
+ TEST_INSTRUCTION("0F93C5" , setae(ch));
+ TEST_INSTRUCTION("0F93841180000000" , setae(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F93841180000000" , setae(byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F92C1" , setb(cl));
+ TEST_INSTRUCTION("0F92C5" , setb(ch));
+ TEST_INSTRUCTION("0F92841180000000" , setb(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F92841180000000" , setb(byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F96C1" , setbe(cl));
+ TEST_INSTRUCTION("0F96C5" , setbe(ch));
+ TEST_INSTRUCTION("0F96841180000000" , setbe(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F96841180000000" , setbe(byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F92C1" , setc(cl));
+ TEST_INSTRUCTION("0F92C5" , setc(ch));
+ TEST_INSTRUCTION("0F92841180000000" , setc(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F92841180000000" , setc(byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F94C1" , sete(cl));
+ TEST_INSTRUCTION("0F94C5" , sete(ch));
+ TEST_INSTRUCTION("0F94841180000000" , sete(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F94841180000000" , sete(byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F9FC1" , setg(cl));
+ TEST_INSTRUCTION("0F9FC5" , setg(ch));
+ TEST_INSTRUCTION("0F9F841180000000" , setg(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F9F841180000000" , setg(byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F9DC1" , setge(cl));
+ TEST_INSTRUCTION("0F9DC5" , setge(ch));
+ TEST_INSTRUCTION("0F9D841180000000" , setge(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F9D841180000000" , setge(byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F9CC1" , setl(cl));
+ TEST_INSTRUCTION("0F9CC5" , setl(ch));
+ TEST_INSTRUCTION("0F9C841180000000" , setl(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F9C841180000000" , setl(byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F9EC1" , setle(cl));
+ TEST_INSTRUCTION("0F9EC5" , setle(ch));
+ TEST_INSTRUCTION("0F9E841180000000" , setle(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F9E841180000000" , setle(byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F96C1" , setna(cl));
+ TEST_INSTRUCTION("0F96C5" , setna(ch));
+ TEST_INSTRUCTION("0F96841180000000" , setna(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F96841180000000" , setna(byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F92C1" , setnae(cl));
+ TEST_INSTRUCTION("0F92C5" , setnae(ch));
+ TEST_INSTRUCTION("0F92841180000000" , setnae(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F92841180000000" , setnae(byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F93C1" , setnb(cl));
+ TEST_INSTRUCTION("0F93C5" , setnb(ch));
+ TEST_INSTRUCTION("0F93841180000000" , setnb(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F93841180000000" , setnb(byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F97C1" , setnbe(cl));
+ TEST_INSTRUCTION("0F97C5" , setnbe(ch));
+ TEST_INSTRUCTION("0F97841180000000" , setnbe(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F97841180000000" , setnbe(byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F93C1" , setnc(cl));
+ TEST_INSTRUCTION("0F93C5" , setnc(ch));
+ TEST_INSTRUCTION("0F93841180000000" , setnc(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F93841180000000" , setnc(byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F95C1" , setne(cl));
+ TEST_INSTRUCTION("0F95C5" , setne(ch));
+ TEST_INSTRUCTION("0F95841180000000" , setne(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F95841180000000" , setne(byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F9EC1" , setng(cl));
+ TEST_INSTRUCTION("0F9EC5" , setng(ch));
+ TEST_INSTRUCTION("0F9E841180000000" , setng(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F9E841180000000" , setng(byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F9CC1" , setnge(cl));
+ TEST_INSTRUCTION("0F9CC5" , setnge(ch));
+ TEST_INSTRUCTION("0F9C841180000000" , setnge(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F9C841180000000" , setnge(byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F9DC1" , setnl(cl));
+ TEST_INSTRUCTION("0F9DC5" , setnl(ch));
+ TEST_INSTRUCTION("0F9D841180000000" , setnl(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F9D841180000000" , setnl(byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F9FC1" , setnle(cl));
+ TEST_INSTRUCTION("0F9FC5" , setnle(ch));
+ TEST_INSTRUCTION("0F9F841180000000" , setnle(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F9F841180000000" , setnle(byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F91C1" , setno(cl));
+ TEST_INSTRUCTION("0F91C5" , setno(ch));
+ TEST_INSTRUCTION("0F91841180000000" , setno(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F91841180000000" , setno(byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F9BC1" , setnp(cl));
+ TEST_INSTRUCTION("0F9BC5" , setnp(ch));
+ TEST_INSTRUCTION("0F9B841180000000" , setnp(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F9B841180000000" , setnp(byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F99C1" , setns(cl));
+ TEST_INSTRUCTION("0F99C5" , setns(ch));
+ TEST_INSTRUCTION("0F99841180000000" , setns(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F99841180000000" , setns(byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F95C1" , setnz(cl));
+ TEST_INSTRUCTION("0F95C5" , setnz(ch));
+ TEST_INSTRUCTION("0F95841180000000" , setnz(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F95841180000000" , setnz(byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F90C1" , seto(cl));
+ TEST_INSTRUCTION("0F90C5" , seto(ch));
+ TEST_INSTRUCTION("0F90841180000000" , seto(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F90841180000000" , seto(byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F9AC1" , setp(cl));
+ TEST_INSTRUCTION("0F9AC5" , setp(ch));
+ TEST_INSTRUCTION("0F9A841180000000" , setp(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F9A841180000000" , setp(byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F9AC1" , setpe(cl));
+ TEST_INSTRUCTION("0F9AC5" , setpe(ch));
+ TEST_INSTRUCTION("0F9A841180000000" , setpe(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F9A841180000000" , setpe(byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F9BC1" , setpo(cl));
+ TEST_INSTRUCTION("0F9BC5" , setpo(ch));
+ TEST_INSTRUCTION("0F9B841180000000" , setpo(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F9B841180000000" , setpo(byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F98C1" , sets(cl));
+ TEST_INSTRUCTION("0F98C5" , sets(ch));
+ TEST_INSTRUCTION("0F98841180000000" , sets(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F98841180000000" , sets(byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("F30F01E8" , setssbsy());
+ TEST_INSTRUCTION("0F94C1" , setz(cl));
+ TEST_INSTRUCTION("0F94C5" , setz(ch));
+ TEST_INSTRUCTION("0F94841180000000" , setz(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F94841180000000" , setz(byte_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0FAEF8" , sfence());
+ TEST_INSTRUCTION("0F01841180000000" , sgdt(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F38C9CA" , sha1msg1(xmm1, xmm2));
+ TEST_INSTRUCTION("0F38C98C1A80000000" , sha1msg1(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F38C98C1A80000000" , sha1msg1(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F38CACA" , sha1msg2(xmm1, xmm2));
+ TEST_INSTRUCTION("0F38CA8C1A80000000" , sha1msg2(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F38CA8C1A80000000" , sha1msg2(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F38C8CA" , sha1nexte(xmm1, xmm2));
+ TEST_INSTRUCTION("0F38C88C1A80000000" , sha1nexte(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F38C88C1A80000000" , sha1nexte(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F3ACCCA01" , sha1rnds4(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("0F3ACC8C1A8000000001" , sha1rnds4(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("0F3ACC8C1A8000000001" , sha1rnds4(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("0F38CCCA" , sha256msg1(xmm1, xmm2));
+ TEST_INSTRUCTION("0F38CC8C1A80000000" , sha256msg1(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F38CC8C1A80000000" , sha256msg1(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F38CDCA" , sha256msg2(xmm1, xmm2));
+ TEST_INSTRUCTION("0F38CD8C1A80000000" , sha256msg2(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F38CD8C1A80000000" , sha256msg2(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F38CBCA" , sha256rnds2(xmm1, xmm2, xmm0));
+ TEST_INSTRUCTION("0F38CB8C1A80000000" , sha256rnds2(xmm1, ptr(edx, ebx, 0, 128), xmm0));
+ TEST_INSTRUCTION("0F38CB8C1A80000000" , sha256rnds2(xmm1, xmmword_ptr(edx, ebx, 0, 128), xmm0));
+ TEST_INSTRUCTION("D2E1" , shl(cl, cl));
+ TEST_INSTRUCTION("D0E1" , shl(cl, 1));
+ TEST_INSTRUCTION("D2E5" , shl(ch, cl));
+ TEST_INSTRUCTION("D0E5" , shl(ch, 1));
+ TEST_INSTRUCTION("66D3E1" , shl(cx, cl));
+ TEST_INSTRUCTION("66D1E1" , shl(cx, 1));
+ TEST_INSTRUCTION("D3E1" , shl(ecx, cl));
+ TEST_INSTRUCTION("D1E1" , shl(ecx, 1));
+ TEST_INSTRUCTION("D2A41180000000" , shl(byte_ptr(ecx, edx, 0, 128), cl));
+ TEST_INSTRUCTION("D0A41180000000" , shl(byte_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("66D3A41180000000" , shl(word_ptr(ecx, edx, 0, 128), cl));
+ TEST_INSTRUCTION("66D1A41180000000" , shl(word_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("D3A41180000000" , shl(dword_ptr(ecx, edx, 0, 128), cl));
+ TEST_INSTRUCTION("D1A41180000000" , shl(dword_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("660FA5D1" , shld(cx, dx, cl));
+ TEST_INSTRUCTION("660FA4D101" , shld(cx, dx, 1));
+ TEST_INSTRUCTION("660FA59C1180000000" , shld(ptr(ecx, edx, 0, 128), bx, cl));
+ TEST_INSTRUCTION("660FA49C118000000001" , shld(ptr(ecx, edx, 0, 128), bx, 1));
+ TEST_INSTRUCTION("660FA59C1180000000" , shld(word_ptr(ecx, edx, 0, 128), bx, cl));
+ TEST_INSTRUCTION("660FA49C118000000001" , shld(word_ptr(ecx, edx, 0, 128), bx, 1));
+ TEST_INSTRUCTION("0FA5D1" , shld(ecx, edx, cl));
+ TEST_INSTRUCTION("0FA4D101" , shld(ecx, edx, 1));
+ TEST_INSTRUCTION("0FA59C1180000000" , shld(ptr(ecx, edx, 0, 128), ebx, cl));
+ TEST_INSTRUCTION("0FA49C118000000001" , shld(ptr(ecx, edx, 0, 128), ebx, 1));
+ TEST_INSTRUCTION("0FA59C1180000000" , shld(dword_ptr(ecx, edx, 0, 128), ebx, cl));
+ TEST_INSTRUCTION("0FA49C118000000001" , shld(dword_ptr(ecx, edx, 0, 128), ebx, 1));
+ TEST_INSTRUCTION("C4E261F7CA" , shlx(ecx, edx, ebx));
+ TEST_INSTRUCTION("C4E259F78C1A80000000" , shlx(ecx, ptr(edx, ebx, 0, 128), esp));
+ TEST_INSTRUCTION("C4E259F78C1A80000000" , shlx(ecx, dword_ptr(edx, ebx, 0, 128), esp));
+ TEST_INSTRUCTION("D2E9" , shr(cl, cl));
+ TEST_INSTRUCTION("D0E9" , shr(cl, 1));
+ TEST_INSTRUCTION("D2ED" , shr(ch, cl));
+ TEST_INSTRUCTION("D0ED" , shr(ch, 1));
+ TEST_INSTRUCTION("66D3E9" , shr(cx, cl));
+ TEST_INSTRUCTION("66D1E9" , shr(cx, 1));
+ TEST_INSTRUCTION("D3E9" , shr(ecx, cl));
+ TEST_INSTRUCTION("D1E9" , shr(ecx, 1));
+ TEST_INSTRUCTION("D2AC1180000000" , shr(byte_ptr(ecx, edx, 0, 128), cl));
+ TEST_INSTRUCTION("D0AC1180000000" , shr(byte_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("66D3AC1180000000" , shr(word_ptr(ecx, edx, 0, 128), cl));
+ TEST_INSTRUCTION("66D1AC1180000000" , shr(word_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("D3AC1180000000" , shr(dword_ptr(ecx, edx, 0, 128), cl));
+ TEST_INSTRUCTION("D1AC1180000000" , shr(dword_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("660FADD1" , shrd(cx, dx, cl));
+ TEST_INSTRUCTION("660FACD101" , shrd(cx, dx, 1));
+ TEST_INSTRUCTION("660FAD9C1180000000" , shrd(ptr(ecx, edx, 0, 128), bx, cl));
+ TEST_INSTRUCTION("660FAC9C118000000001" , shrd(ptr(ecx, edx, 0, 128), bx, 1));
+ TEST_INSTRUCTION("660FAD9C1180000000" , shrd(word_ptr(ecx, edx, 0, 128), bx, cl));
+ TEST_INSTRUCTION("660FAC9C118000000001" , shrd(word_ptr(ecx, edx, 0, 128), bx, 1));
+ TEST_INSTRUCTION("0FADD1" , shrd(ecx, edx, cl));
+ TEST_INSTRUCTION("0FACD101" , shrd(ecx, edx, 1));
+ TEST_INSTRUCTION("0FAD9C1180000000" , shrd(ptr(ecx, edx, 0, 128), ebx, cl));
+ TEST_INSTRUCTION("0FAC9C118000000001" , shrd(ptr(ecx, edx, 0, 128), ebx, 1));
+ TEST_INSTRUCTION("0FAD9C1180000000" , shrd(dword_ptr(ecx, edx, 0, 128), ebx, cl));
+ TEST_INSTRUCTION("0FAC9C118000000001" , shrd(dword_ptr(ecx, edx, 0, 128), ebx, 1));
+ TEST_INSTRUCTION("C4E263F7CA" , shrx(ecx, edx, ebx));
+ TEST_INSTRUCTION("C4E25BF78C1A80000000" , shrx(ecx, ptr(edx, ebx, 0, 128), esp));
+ TEST_INSTRUCTION("C4E25BF78C1A80000000" , shrx(ecx, dword_ptr(edx, ebx, 0, 128), esp));
+ TEST_INSTRUCTION("660FC6CA01" , shufpd(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660FC68C1A8000000001" , shufpd(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("660FC68C1A8000000001" , shufpd(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("0FC6CA01" , shufps(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("0FC68C1A8000000001" , shufps(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("0FC68C1A8000000001" , shufps(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("0F018C1180000000" , sidt(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F01DE" , skinit(eax));
+ TEST_INSTRUCTION("660F00C1" , sldt(cx));
+ TEST_INSTRUCTION("0F00C1" , sldt(ecx));
+ TEST_INSTRUCTION("0F00841180000000" , sldt(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F00841180000000" , sldt(word_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("8FE97812C9" , slwpcb(ecx));
+ TEST_INSTRUCTION("660F01E1" , smsw(cx));
+ TEST_INSTRUCTION("0F01E1" , smsw(ecx));
+ TEST_INSTRUCTION("0F01A41180000000" , smsw(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F01A41180000000" , smsw(word_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("660F51CA" , sqrtpd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F518C1A80000000" , sqrtpd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F518C1A80000000" , sqrtpd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F51CA" , sqrtps(xmm1, xmm2));
+ TEST_INSTRUCTION("0F518C1A80000000" , sqrtps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F518C1A80000000" , sqrtps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F51CA" , sqrtsd(xmm1, xmm2));
+ TEST_INSTRUCTION("F20F518C1A80000000" , sqrtsd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F518C1A80000000" , sqrtsd(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F51CA" , sqrtss(xmm1, xmm2));
+ TEST_INSTRUCTION("F30F518C1A80000000" , sqrtss(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F518C1A80000000" , sqrtss(xmm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F01CB" , stac());
+ TEST_INSTRUCTION("F9" , stc());
+ TEST_INSTRUCTION("FD" , std());
+ TEST_INSTRUCTION("0F01DC" , stgi());
+ TEST_INSTRUCTION("FB" , sti());
+ TEST_INSTRUCTION("0FAE9C1180000000" , stmxcsr(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0FAE9C1180000000" , stmxcsr(dword_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("AA" , stos(ptr(edi), al));
+ TEST_INSTRUCTION("AA" , stos(byte_ptr(edi), al));
+ TEST_INSTRUCTION("66AB" , stos(ptr(edi), ax));
+ TEST_INSTRUCTION("66AB" , stos(word_ptr(edi), ax));
+ TEST_INSTRUCTION("AB" , stos(ptr(edi), eax));
+ TEST_INSTRUCTION("AB" , stos(dword_ptr(edi), eax));
+ TEST_INSTRUCTION("660F00C9" , str(cx));
+ TEST_INSTRUCTION("0F00C9" , str(ecx));
+ TEST_INSTRUCTION("0F008C1180000000" , str(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F008C1180000000" , str(word_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("80E901" , sub(cl, 1));
+ TEST_INSTRUCTION("80ED01" , sub(ch, 1));
+ TEST_INSTRUCTION("80AC118000000001" , sub(byte_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("6683E901" , sub(cx, 1));
+ TEST_INSTRUCTION("6683AC118000000001" , sub(word_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("83E901" , sub(ecx, 1));
+ TEST_INSTRUCTION("83AC118000000001" , sub(dword_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("28D1" , sub(cl, dl));
+ TEST_INSTRUCTION("28F1" , sub(cl, dh));
+ TEST_INSTRUCTION("28D5" , sub(ch, dl));
+ TEST_INSTRUCTION("28F5" , sub(ch, dh));
+ TEST_INSTRUCTION("289C1180000000" , sub(ptr(ecx, edx, 0, 128), bl));
+ TEST_INSTRUCTION("28BC1180000000" , sub(ptr(ecx, edx, 0, 128), bh));
+ TEST_INSTRUCTION("289C1180000000" , sub(byte_ptr(ecx, edx, 0, 128), bl));
+ TEST_INSTRUCTION("28BC1180000000" , sub(byte_ptr(ecx, edx, 0, 128), bh));
+ TEST_INSTRUCTION("6629D1" , sub(cx, dx));
+ TEST_INSTRUCTION("66299C1180000000" , sub(ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("66299C1180000000" , sub(word_ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("29D1" , sub(ecx, edx));
+ TEST_INSTRUCTION("299C1180000000" , sub(ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("299C1180000000" , sub(dword_ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("2A8C1A80000000" , sub(cl, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("2A8C1A80000000" , sub(cl, byte_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("2AAC1A80000000" , sub(ch, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("2AAC1A80000000" , sub(ch, byte_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("662B8C1A80000000" , sub(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("662B8C1A80000000" , sub(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("2B8C1A80000000" , sub(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("2B8C1A80000000" , sub(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F5CCA" , subpd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F5C8C1A80000000" , subpd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F5C8C1A80000000" , subpd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F5CCA" , subps(xmm1, xmm2));
+ TEST_INSTRUCTION("0F5C8C1A80000000" , subps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F5C8C1A80000000" , subps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F5CCA" , subsd(xmm1, xmm2));
+ TEST_INSTRUCTION("F20F5C8C1A80000000" , subsd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F5C8C1A80000000" , subsd(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F5CCA" , subss(xmm1, xmm2));
+ TEST_INSTRUCTION("F30F5C8C1A80000000" , subss(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30F5C8C1A80000000" , subss(xmm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F34" , sysenter());
+ TEST_INSTRUCTION("0F35" , sysexit());
+ TEST_INSTRUCTION("8FE97001FA" , t1mskc(ecx, edx));
+ TEST_INSTRUCTION("8FE97001BC1A80000000" , t1mskc(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE97001BC1A80000000" , t1mskc(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F6C101" , test(cl, 1));
+ TEST_INSTRUCTION("F6C501" , test(ch, 1));
+ TEST_INSTRUCTION("F684118000000001" , test(byte_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("66F7C10100" , test(cx, 1));
+ TEST_INSTRUCTION("66F78411800000000100" , test(word_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("F7C101000000" , test(ecx, 1));
+ TEST_INSTRUCTION("F784118000000001000000" , test(dword_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("84D1" , test(cl, dl));
+ TEST_INSTRUCTION("84F1" , test(cl, dh));
+ TEST_INSTRUCTION("84D5" , test(ch, dl));
+ TEST_INSTRUCTION("84F5" , test(ch, dh));
+ TEST_INSTRUCTION("849C1180000000" , test(ptr(ecx, edx, 0, 128), bl));
+ TEST_INSTRUCTION("84BC1180000000" , test(ptr(ecx, edx, 0, 128), bh));
+ TEST_INSTRUCTION("849C1180000000" , test(byte_ptr(ecx, edx, 0, 128), bl));
+ TEST_INSTRUCTION("84BC1180000000" , test(byte_ptr(ecx, edx, 0, 128), bh));
+ TEST_INSTRUCTION("6685D1" , test(cx, dx));
+ TEST_INSTRUCTION("66859C1180000000" , test(ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("66859C1180000000" , test(word_ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("85D1" , test(ecx, edx));
+ TEST_INSTRUCTION("859C1180000000" , test(ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("859C1180000000" , test(dword_ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("660FAEF1" , tpause(ecx, edx, eax));
+ TEST_INSTRUCTION("66F30FBCCA" , tzcnt(cx, dx));
+ TEST_INSTRUCTION("66F30FBC8C1A80000000" , tzcnt(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("66F30FBC8C1A80000000" , tzcnt(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30FBCCA" , tzcnt(ecx, edx));
+ TEST_INSTRUCTION("F30FBC8C1A80000000" , tzcnt(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30FBC8C1A80000000" , tzcnt(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE97001E2" , tzmsk(ecx, edx));
+ TEST_INSTRUCTION("8FE97001A41A80000000" , tzmsk(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE97001A41A80000000" , tzmsk(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F2ECA" , ucomisd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F2E8C1A80000000" , ucomisd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F2E8C1A80000000" , ucomisd(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F2ECA" , ucomiss(xmm1, xmm2));
+ TEST_INSTRUCTION("0F2E8C1A80000000" , ucomiss(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F2E8C1A80000000" , ucomiss(xmm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FFFCA" , ud0(ecx, edx));
+ TEST_INSTRUCTION("0FFF8C1A80000000" , ud0(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FFF8C1A80000000" , ud0(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FB9CA" , ud1(ecx, edx));
+ TEST_INSTRUCTION("0FB98C1A80000000" , ud1(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0FB98C1A80000000" , ud1(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F0B" , ud2());
+ TEST_INSTRUCTION("F30FAEF1" , umonitor(ptr(ecx)));
+ TEST_INSTRUCTION("F20FAEF1" , umwait(ecx, edx, eax));
+ TEST_INSTRUCTION("660F15CA" , unpckhpd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F158C1A80000000" , unpckhpd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F158C1A80000000" , unpckhpd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F15CA" , unpckhps(xmm1, xmm2));
+ TEST_INSTRUCTION("0F158C1A80000000" , unpckhps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F158C1A80000000" , unpckhps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F14CA" , unpcklpd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F148C1A80000000" , unpcklpd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F148C1A80000000" , unpcklpd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F14CA" , unpcklps(xmm1, xmm2));
+ TEST_INSTRUCTION("0F148C1A80000000" , unpcklps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F148C1A80000000" , unpcklps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F25F489A4C1A08" , v4fmaddps(zmm1, zmm4, zmm5, zmm6, zmm7, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F25F489A4C1A08" , v4fmaddps(zmm1, zmm4, zmm5, zmm6, zmm7, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F25F089B4C1A08" , v4fmaddss(xmm1, xmm4, xmm5, xmm6, xmm7, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F25F089B4C1A08" , v4fmaddss(xmm1, xmm4, xmm5, xmm6, xmm7, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F25F48AA4C1A08" , v4fnmaddps(zmm1, zmm4, zmm5, zmm6, zmm7, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F25F48AA4C1A08" , v4fnmaddps(zmm1, zmm4, zmm5, zmm6, zmm7, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F25F08AB4C1A08" , v4fnmaddss(xmm1, xmm4, xmm5, xmm6, xmm7, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F25F08AB4C1A08" , v4fnmaddss(xmm1, xmm4, xmm5, xmm6, xmm7, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5E958CB" , vaddpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9588C2B80000000" , vaddpd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9588C2B80000000" , vaddpd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED58CB" , vaddpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED588C2B80000000" , vaddpd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED588C2B80000000" , vaddpd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED4858CB" , vaddpd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED48584C2B02" , vaddpd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48584C2B02" , vaddpd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E858CB" , vaddps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E8588C2B80000000" , vaddps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E8588C2B80000000" , vaddps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EC58CB" , vaddps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EC588C2B80000000" , vaddps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EC588C2B80000000" , vaddps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16C4858CB" , vaddps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16C48584C2B02" , vaddps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16C48584C2B02" , vaddps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EB58CB" , vaddsd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EB588C2B80000000" , vaddsd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EB588C2B80000000" , vaddsd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EA58CB" , vaddss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EA588C2B80000000" , vaddss(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EA588C2B80000000" , vaddss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9D0CB" , vaddsubpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9D08C2B80000000" , vaddsubpd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9D08C2B80000000" , vaddsubpd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDD0CB" , vaddsubpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDD08C2B80000000" , vaddsubpd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDD08C2B80000000" , vaddsubpd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EBD0CB" , vaddsubps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EBD08C2B80000000" , vaddsubps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EBD08C2B80000000" , vaddsubps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EFD0CB" , vaddsubps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EFD08C2B80000000" , vaddsubps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EFD08C2B80000000" , vaddsubps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269DECB" , vaesdec(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269DE8C2B80000000" , vaesdec(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269DE8C2B80000000" , vaesdec(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DDECB" , vaesdec(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26DDE8C2B80000000" , vaesdec(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DDE8C2B80000000" , vaesdec(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48DECB" , vaesdec(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48DE4C2B02" , vaesdec(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48DE4C2B02" , vaesdec(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269DFCB" , vaesdeclast(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269DF8C2B80000000" , vaesdeclast(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269DF8C2B80000000" , vaesdeclast(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DDFCB" , vaesdeclast(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26DDF8C2B80000000" , vaesdeclast(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DDF8C2B80000000" , vaesdeclast(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48DFCB" , vaesdeclast(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48DF4C2B02" , vaesdeclast(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48DF4C2B02" , vaesdeclast(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269DCCB" , vaesenc(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269DC8C2B80000000" , vaesenc(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269DC8C2B80000000" , vaesenc(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DDCCB" , vaesenc(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26DDC8C2B80000000" , vaesenc(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DDC8C2B80000000" , vaesenc(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48DCCB" , vaesenc(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48DC4C2B02" , vaesenc(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48DC4C2B02" , vaesenc(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269DDCB" , vaesenclast(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269DD8C2B80000000" , vaesenclast(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269DD8C2B80000000" , vaesenclast(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DDDCB" , vaesenclast(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26DDD8C2B80000000" , vaesenclast(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DDD8C2B80000000" , vaesenclast(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48DDCB" , vaesenclast(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48DD4C2B02" , vaesenclast(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48DD4C2B02" , vaesenclast(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E279DBCA" , vaesimc(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279DB8C1A80000000" , vaesimc(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E279DB8C1A80000000" , vaesimc(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E379DFCA01" , vaeskeygenassist(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("C4E379DF8C1A8000000001" , vaeskeygenassist(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E379DF8C1A8000000001" , vaeskeygenassist(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D0803CB01" , valignd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D08034C2B0801" , valignd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D08034C2B0801" , valignd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D2803CB01" , valignd(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F36D28034C2B0401" , valignd(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D28034C2B0401" , valignd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D4803CB01" , valignd(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F36D48034C2B0201" , valignd(zmm1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D48034C2B0201" , valignd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED0803CB01" , valignq(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED08034C2B0801" , valignq(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED08034C2B0801" , valignq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED2803CB01" , valignq(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F3ED28034C2B0401" , valignq(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED28034C2B0401" , valignq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED4803CB01" , valignq(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F3ED48034C2B0201" , valignq(zmm1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED48034C2B0201" , valignq(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C5E955CB" , vandnpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9558C2B80000000" , vandnpd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9558C2B80000000" , vandnpd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED55CB" , vandnpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED558C2B80000000" , vandnpd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED558C2B80000000" , vandnpd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED4855CB" , vandnpd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED48554C2B02" , vandnpd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48554C2B02" , vandnpd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E855CB" , vandnps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E8558C2B80000000" , vandnps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E8558C2B80000000" , vandnps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EC55CB" , vandnps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EC558C2B80000000" , vandnps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EC558C2B80000000" , vandnps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16C4855CB" , vandnps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16C48554C2B02" , vandnps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16C48554C2B02" , vandnps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E954CB" , vandpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9548C2B80000000" , vandpd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9548C2B80000000" , vandpd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED54CB" , vandpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED548C2B80000000" , vandpd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED548C2B80000000" , vandpd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED4854CB" , vandpd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED48544C2B02" , vandpd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48544C2B02" , vandpd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E854CB" , vandps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E8548C2B80000000" , vandps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E8548C2B80000000" , vandps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EC54CB" , vandps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EC548C2B80000000" , vandps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EC548C2B80000000" , vandps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16C4854CB" , vandps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16C48544C2B02" , vandps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16C48544C2B02" , vandps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0865CB" , vblendmpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08654C2B08" , vblendmpd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08654C2B08" , vblendmpd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2865CB" , vblendmpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28654C2B04" , vblendmpd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28654C2B04" , vblendmpd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4865CB" , vblendmpd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48654C2B02" , vblendmpd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48654C2B02" , vblendmpd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D0865CB" , vblendmps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08654C2B08" , vblendmps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08654C2B08" , vblendmps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D2865CB" , vblendmps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D28654C2B04" , vblendmps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D28654C2B04" , vblendmps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4865CB" , vblendmps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48654C2B02" , vblendmps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48654C2B02" , vblendmps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E3690DCB01" , vblendpd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C4E3690D8C2B8000000001" , vblendpd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3690D8C2B8000000001" , vblendpd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D0DCB01" , vblendpd(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("C4E36D0D8C2B8000000001" , vblendpd(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D0D8C2B8000000001" , vblendpd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3690CCB01" , vblendps(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C4E3690C8C2B8000000001" , vblendps(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3690C8C2B8000000001" , vblendps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D0CCB01" , vblendps(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("C4E36D0C8C2B8000000001" , vblendps(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D0C8C2B8000000001" , vblendps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3694BCB40" , vblendvpd(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3694B8C2B8000000060" , vblendvpd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3694B8C2B8000000060" , vblendvpd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E36D4BCB40" , vblendvpd(ymm1, ymm2, ymm3, ymm4));
+ TEST_INSTRUCTION("C4E36D4B8C2B8000000060" , vblendvpd(ymm1, ymm2, ptr(ebx, ebp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E36D4B8C2B8000000060" , vblendvpd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E3694ACB40" , vblendvps(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3694A8C2B8000000060" , vblendvps(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3694A8C2B8000000060" , vblendvps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E36D4ACB40" , vblendvps(ymm1, ymm2, ymm3, ymm4));
+ TEST_INSTRUCTION("C4E36D4A8C2B8000000060" , vblendvps(ymm1, ymm2, ptr(ebx, ebp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E36D4A8C2B8000000060" , vblendvps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E27D1A8C1A80000000" , vbroadcastf128(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D1A8C1A80000000" , vbroadcastf128(ymm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D2819CA" , vbroadcastf32x2(ymm1, xmm2));
+ TEST_INSTRUCTION("62F27D28194C1A10" , vbroadcastf32x2(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D28194C1A10" , vbroadcastf32x2(ymm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4819CA" , vbroadcastf32x2(zmm1, xmm2));
+ TEST_INSTRUCTION("62F27D48194C1A10" , vbroadcastf32x2(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48194C1A10" , vbroadcastf32x2(zmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D281A4C1A08" , vbroadcastf32x4(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D281A4C1A08" , vbroadcastf32x4(ymm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D481A4C1A08" , vbroadcastf32x4(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D481A4C1A08" , vbroadcastf32x4(zmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D481B4C1A04" , vbroadcastf32x8(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D481B4C1A04" , vbroadcastf32x8(zmm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD281A4C1A08" , vbroadcastf64x2(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD281A4C1A08" , vbroadcastf64x2(ymm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD481A4C1A08" , vbroadcastf64x2(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD481A4C1A08" , vbroadcastf64x2(zmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD481B4C1A04" , vbroadcastf64x4(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD481B4C1A04" , vbroadcastf64x4(zmm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D5A8C1A80000000" , vbroadcasti128(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D5A8C1A80000000" , vbroadcasti128(ymm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D0859CA" , vbroadcasti32x2(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27D08594C1A10" , vbroadcasti32x2(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D08594C1A10" , vbroadcasti32x2(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D2859CA" , vbroadcasti32x2(ymm1, xmm2));
+ TEST_INSTRUCTION("62F27D28594C1A10" , vbroadcasti32x2(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D28594C1A10" , vbroadcasti32x2(ymm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4859CA" , vbroadcasti32x2(zmm1, xmm2));
+ TEST_INSTRUCTION("62F27D48594C1A10" , vbroadcasti32x2(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48594C1A10" , vbroadcasti32x2(zmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D285A4C1A08" , vbroadcasti32x4(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D285A4C1A08" , vbroadcasti32x4(ymm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D485A4C1A08" , vbroadcasti32x4(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D485A4C1A08" , vbroadcasti32x4(zmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D485B4C1A04" , vbroadcasti32x8(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D485B4C1A04" , vbroadcasti32x8(zmm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD285A4C1A08" , vbroadcasti64x2(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD285A4C1A08" , vbroadcasti64x2(ymm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD485A4C1A08" , vbroadcasti64x2(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD485A4C1A08" , vbroadcasti64x2(zmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD485B4C1A04" , vbroadcasti64x4(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD485B4C1A04" , vbroadcasti64x4(zmm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D19CA" , vbroadcastsd(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D198C1A80000000" , vbroadcastsd(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D198C1A80000000" , vbroadcastsd(ymm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD4819CA" , vbroadcastsd(zmm1, xmm2));
+ TEST_INSTRUCTION("62F2FD48194C1A10" , vbroadcastsd(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD48194C1A10" , vbroadcastsd(zmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27918CA" , vbroadcastss(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279188C1A80000000" , vbroadcastss(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E279188C1A80000000" , vbroadcastss(xmm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D18CA" , vbroadcastss(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D188C1A80000000" , vbroadcastss(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D188C1A80000000" , vbroadcastss(ymm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4818CA" , vbroadcastss(zmm1, xmm2));
+ TEST_INSTRUCTION("62F27D48184C1A20" , vbroadcastss(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48184C1A20" , vbroadcastss(zmm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5E9C2CB01" , vcmppd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C5E9C28C2B8000000001" , vcmppd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C5E9C28C2B8000000001" , vcmppd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F1ED08C2CB01" , vcmppd(k1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F1ED08C24C2B0801" , vcmppd(k1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F1ED08C24C2B0801" , vcmppd(k1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C5EDC2CB01" , vcmppd(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("C5EDC28C2B8000000001" , vcmppd(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C5EDC28C2B8000000001" , vcmppd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F1ED28C2CB01" , vcmppd(k1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F1ED28C24C2B0401" , vcmppd(k1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F1ED28C24C2B0401" , vcmppd(k1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F1ED48C2CB01" , vcmppd(k1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F1ED48C24C2B0201" , vcmppd(k1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F1ED48C24C2B0201" , vcmppd(k1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C5E8C2CB01" , vcmpps(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C5E8C28C2B8000000001" , vcmpps(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C5E8C28C2B8000000001" , vcmpps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F16C08C2CB01" , vcmpps(k1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F16C08C24C2B0801" , vcmpps(k1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F16C08C24C2B0801" , vcmpps(k1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C5ECC2CB01" , vcmpps(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("C5ECC28C2B8000000001" , vcmpps(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C5ECC28C2B8000000001" , vcmpps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F16C28C2CB01" , vcmpps(k1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F16C28C24C2B0401" , vcmpps(k1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F16C28C24C2B0401" , vcmpps(k1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F16C48C2CB01" , vcmpps(k1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F16C48C24C2B0201" , vcmpps(k1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F16C48C24C2B0201" , vcmpps(k1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C5EBC2CB01" , vcmpsd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C5EBC28C2B8000000001" , vcmpsd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C5EBC28C2B8000000001" , vcmpsd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F1EF08C2CB01" , vcmpsd(k1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F1EF08C24C2B1001" , vcmpsd(k1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F1EF08C24C2B1001" , vcmpsd(k1, xmm2, qword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C5EAC2CB01" , vcmpss(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C5EAC28C2B8000000001" , vcmpss(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C5EAC28C2B8000000001" , vcmpss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F16E08C2CB01" , vcmpss(k1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F16E08C24C2B2001" , vcmpss(k1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F16E08C24C2B2001" , vcmpss(k1, xmm2, dword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C5F92FCA" , vcomisd(xmm1, xmm2));
+ TEST_INSTRUCTION("C5F92F8C1A80000000" , vcomisd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F92F8C1A80000000" , vcomisd(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F82FCA" , vcomiss(xmm1, xmm2));
+ TEST_INSTRUCTION("C5F82F8C1A80000000" , vcomiss(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F82F8C1A80000000" , vcomiss(xmm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD088AD1" , vcompresspd(xmm1, xmm2));
+ TEST_INSTRUCTION("62F2FD088A5C1110" , vcompresspd(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F2FD088A5C1110" , vcompresspd(xmmword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F2FD288AD1" , vcompresspd(ymm1, ymm2));
+ TEST_INSTRUCTION("62F2FD288A5C1110" , vcompresspd(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F2FD288A5C1110" , vcompresspd(ymmword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F2FD488AD1" , vcompresspd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F2FD488A5C1110" , vcompresspd(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F2FD488A5C1110" , vcompresspd(zmmword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27D088AD1" , vcompressps(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27D088A5C1120" , vcompressps(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27D088A5C1120" , vcompressps(xmmword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27D288AD1" , vcompressps(ymm1, ymm2));
+ TEST_INSTRUCTION("62F27D288A5C1120" , vcompressps(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27D288A5C1120" , vcompressps(ymmword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27D488AD1" , vcompressps(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D488A5C1120" , vcompressps(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27D488A5C1120" , vcompressps(zmmword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("C5FAE6CA" , vcvtdq2pd(xmm1, xmm2));
+ TEST_INSTRUCTION("C5FAE68C1A80000000" , vcvtdq2pd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FAE68C1A80000000" , vcvtdq2pd(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FEE6CA" , vcvtdq2pd(ymm1, xmm2));
+ TEST_INSTRUCTION("C5FEE68C1A80000000" , vcvtdq2pd(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FEE68C1A80000000" , vcvtdq2pd(ymm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17E48E6CA" , vcvtdq2pd(zmm1, ymm2));
+ TEST_INSTRUCTION("62F17E48E64C1A04" , vcvtdq2pd(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17E48E64C1A04" , vcvtdq2pd(zmm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F85BCA" , vcvtdq2ps(xmm1, xmm2));
+ TEST_INSTRUCTION("C5F85B8C1A80000000" , vcvtdq2ps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F85B8C1A80000000" , vcvtdq2ps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FC5BCA" , vcvtdq2ps(ymm1, ymm2));
+ TEST_INSTRUCTION("C5FC5B8C1A80000000" , vcvtdq2ps(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FC5B8C1A80000000" , vcvtdq2ps(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17C485BCA" , vcvtdq2ps(zmm1, zmm2));
+ TEST_INSTRUCTION("62F17C485B4C1A02" , vcvtdq2ps(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17C485B4C1A02" , vcvtdq2ps(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F26F0872CB" , vcvtne2ps2bf16(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26F08724C2B08" , vcvtne2ps2bf16(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26F08724C2B08" , vcvtne2ps2bf16(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26F2872CB" , vcvtne2ps2bf16(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26F28724C2B04" , vcvtne2ps2bf16(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26F28724C2B04" , vcvtne2ps2bf16(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26F4872CB" , vcvtne2ps2bf16(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26F48724C2B02" , vcvtne2ps2bf16(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26F48724C2B02" , vcvtne2ps2bf16(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F27E0872CA" , vcvtneps2bf16(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E2872CA" , vcvtneps2bf16(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E08724C1A08" , vcvtneps2bf16(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27E28724C1A04" , vcvtneps2bf16(xmm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27E4872CA" , vcvtneps2bf16(ymm1, zmm2));
+ TEST_INSTRUCTION("62F27E48724C1A02" , vcvtneps2bf16(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27E48724C1A02" , vcvtneps2bf16(ymm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FBE6CA" , vcvtpd2dq(xmm1, xmm2));
+ TEST_INSTRUCTION("C5FFE6CA" , vcvtpd2dq(xmm1, ymm2));
+ TEST_INSTRUCTION("C5FBE68C1A80000000" , vcvtpd2dq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FFE68C1A80000000" , vcvtpd2dq(xmm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FF48E6CA" , vcvtpd2dq(ymm1, zmm2));
+ TEST_INSTRUCTION("62F1FF48E64C1A02" , vcvtpd2dq(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FF48E64C1A02" , vcvtpd2dq(ymm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F95ACA" , vcvtpd2ps(xmm1, xmm2));
+ TEST_INSTRUCTION("C5FD5ACA" , vcvtpd2ps(xmm1, ymm2));
+ TEST_INSTRUCTION("C5F95A8C1A80000000" , vcvtpd2ps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FD5A8C1A80000000" , vcvtpd2ps(xmm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD485ACA" , vcvtpd2ps(ymm1, zmm2));
+ TEST_INSTRUCTION("62F1FD485A4C1A02" , vcvtpd2ps(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD485A4C1A02" , vcvtpd2ps(ymm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD087BCA" , vcvtpd2qq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F1FD087B4C1A08" , vcvtpd2qq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD087B4C1A08" , vcvtpd2qq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD287BCA" , vcvtpd2qq(ymm1, ymm2));
+ TEST_INSTRUCTION("62F1FD287B4C1A04" , vcvtpd2qq(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD287B4C1A04" , vcvtpd2qq(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD487BCA" , vcvtpd2qq(zmm1, zmm2));
+ TEST_INSTRUCTION("62F1FD487B4C1A02" , vcvtpd2qq(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD487B4C1A02" , vcvtpd2qq(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FC0879CA" , vcvtpd2udq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F1FC2879CA" , vcvtpd2udq(xmm1, ymm2));
+ TEST_INSTRUCTION("62F1FC08794C1A08" , vcvtpd2udq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FC28794C1A04" , vcvtpd2udq(xmm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FC4879CA" , vcvtpd2udq(ymm1, zmm2));
+ TEST_INSTRUCTION("62F1FC48794C1A02" , vcvtpd2udq(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FC48794C1A02" , vcvtpd2udq(ymm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD0879CA" , vcvtpd2uqq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F1FD08794C1A08" , vcvtpd2uqq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD08794C1A08" , vcvtpd2uqq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD2879CA" , vcvtpd2uqq(ymm1, ymm2));
+ TEST_INSTRUCTION("62F1FD28794C1A04" , vcvtpd2uqq(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD28794C1A04" , vcvtpd2uqq(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD4879CA" , vcvtpd2uqq(zmm1, zmm2));
+ TEST_INSTRUCTION("62F1FD48794C1A02" , vcvtpd2uqq(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD48794C1A02" , vcvtpd2uqq(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27913CA" , vcvtph2ps(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279138C1A80000000" , vcvtph2ps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E279138C1A80000000" , vcvtph2ps(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D13CA" , vcvtph2ps(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D138C1A80000000" , vcvtph2ps(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D138C1A80000000" , vcvtph2ps(ymm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4813CA" , vcvtph2ps(zmm1, ymm2));
+ TEST_INSTRUCTION("62F27D48134C1A04" , vcvtph2ps(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48134C1A04" , vcvtph2ps(zmm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F95BCA" , vcvtps2dq(xmm1, xmm2));
+ TEST_INSTRUCTION("C5F95B8C1A80000000" , vcvtps2dq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F95B8C1A80000000" , vcvtps2dq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FD5BCA" , vcvtps2dq(ymm1, ymm2));
+ TEST_INSTRUCTION("C5FD5B8C1A80000000" , vcvtps2dq(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FD5B8C1A80000000" , vcvtps2dq(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17D485BCA" , vcvtps2dq(zmm1, zmm2));
+ TEST_INSTRUCTION("62F17D485B4C1A02" , vcvtps2dq(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17D485B4C1A02" , vcvtps2dq(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F85ACA" , vcvtps2pd(xmm1, xmm2));
+ TEST_INSTRUCTION("C5F85A8C1A80000000" , vcvtps2pd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F85A8C1A80000000" , vcvtps2pd(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FC5ACA" , vcvtps2pd(ymm1, xmm2));
+ TEST_INSTRUCTION("C5FC5A8C1A80000000" , vcvtps2pd(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FC5A8C1A80000000" , vcvtps2pd(ymm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17C485ACA" , vcvtps2pd(zmm1, ymm2));
+ TEST_INSTRUCTION("62F17C485A4C1A04" , vcvtps2pd(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17C485A4C1A04" , vcvtps2pd(zmm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E3791DD101" , vcvtps2ph(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("C4E3791D9C118000000001" , vcvtps2ph(ptr(ecx, edx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("C4E3791D9C118000000001" , vcvtps2ph(qword_ptr(ecx, edx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("C4E37D1DD101" , vcvtps2ph(xmm1, ymm2, 1));
+ TEST_INSTRUCTION("C4E37D1D9C118000000001" , vcvtps2ph(ptr(ecx, edx, 0, 128), ymm3, 1));
+ TEST_INSTRUCTION("C4E37D1D9C118000000001" , vcvtps2ph(xmmword_ptr(ecx, edx, 0, 128), ymm3, 1));
+ TEST_INSTRUCTION("62F37D481DD101" , vcvtps2ph(ymm1, zmm2, 1));
+ TEST_INSTRUCTION("62F37D481D5C110401" , vcvtps2ph(ptr(ecx, edx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("62F37D481D5C110401" , vcvtps2ph(ymmword_ptr(ecx, edx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("62F17D087BCA" , vcvtps2qq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F17D087B4C1A10" , vcvtps2qq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17D087B4C1A10" , vcvtps2qq(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17D287BCA" , vcvtps2qq(ymm1, xmm2));
+ TEST_INSTRUCTION("62F17D287B4C1A08" , vcvtps2qq(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17D287B4C1A08" , vcvtps2qq(ymm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17D487BCA" , vcvtps2qq(zmm1, ymm2));
+ TEST_INSTRUCTION("62F17D487B4C1A04" , vcvtps2qq(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17D487B4C1A04" , vcvtps2qq(zmm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17C0879CA" , vcvtps2udq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F17C08794C1A08" , vcvtps2udq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17C08794C1A08" , vcvtps2udq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17C2879CA" , vcvtps2udq(ymm1, ymm2));
+ TEST_INSTRUCTION("62F17C28794C1A04" , vcvtps2udq(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17C28794C1A04" , vcvtps2udq(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17C4879CA" , vcvtps2udq(zmm1, zmm2));
+ TEST_INSTRUCTION("62F17C48794C1A02" , vcvtps2udq(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17C48794C1A02" , vcvtps2udq(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17D0879CA" , vcvtps2uqq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F17D08794C1A10" , vcvtps2uqq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17D08794C1A10" , vcvtps2uqq(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17D2879CA" , vcvtps2uqq(ymm1, xmm2));
+ TEST_INSTRUCTION("62F17D28794C1A08" , vcvtps2uqq(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17D28794C1A08" , vcvtps2uqq(ymm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17D4879CA" , vcvtps2uqq(zmm1, ymm2));
+ TEST_INSTRUCTION("62F17D48794C1A04" , vcvtps2uqq(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17D48794C1A04" , vcvtps2uqq(zmm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE08E6CA" , vcvtqq2pd(xmm1, xmm2));
+ TEST_INSTRUCTION("62F1FE08E64C1A08" , vcvtqq2pd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE08E64C1A08" , vcvtqq2pd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE28E6CA" , vcvtqq2pd(ymm1, ymm2));
+ TEST_INSTRUCTION("62F1FE28E64C1A04" , vcvtqq2pd(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE28E64C1A04" , vcvtqq2pd(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE48E6CA" , vcvtqq2pd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F1FE48E64C1A02" , vcvtqq2pd(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE48E64C1A02" , vcvtqq2pd(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FC085BCA" , vcvtqq2ps(xmm1, xmm2));
+ TEST_INSTRUCTION("62F1FC285BCA" , vcvtqq2ps(xmm1, ymm2));
+ TEST_INSTRUCTION("62F1FC085B4C1A08" , vcvtqq2ps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FC285B4C1A04" , vcvtqq2ps(xmm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FC485BCA" , vcvtqq2ps(ymm1, zmm2));
+ TEST_INSTRUCTION("62F1FC485B4C1A02" , vcvtqq2ps(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FC485B4C1A02" , vcvtqq2ps(ymm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FB2DCA" , vcvtsd2si(ecx, xmm2));
+ TEST_INSTRUCTION("C5FB2D8C1A80000000" , vcvtsd2si(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FB2D8C1A80000000" , vcvtsd2si(ecx, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5EB5ACB" , vcvtsd2ss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EB5A8C2B80000000" , vcvtsd2ss(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EB5A8C2B80000000" , vcvtsd2ss(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F17F0879CA" , vcvtsd2usi(ecx, xmm2));
+ TEST_INSTRUCTION("62F17F08794C1A10" , vcvtsd2usi(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17F08794C1A10" , vcvtsd2usi(ecx, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5EB2ACB" , vcvtsi2sd(xmm1, xmm2, ebx));
+ TEST_INSTRUCTION("C5EB2A8C2B80000000" , vcvtsi2sd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EB2A8C2B80000000" , vcvtsi2sd(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E1EB2A8C2B80000000" , vcvtsi2sd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EA2ACB" , vcvtsi2ss(xmm1, xmm2, ebx));
+ TEST_INSTRUCTION("C5EA2A8C2B80000000" , vcvtsi2ss(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EA2A8C2B80000000" , vcvtsi2ss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E1EA2A8C2B80000000" , vcvtsi2ss(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EA5ACB" , vcvtss2sd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EA5A8C2B80000000" , vcvtss2sd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EA5A8C2B80000000" , vcvtss2sd(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5FA2DCA" , vcvtss2si(ecx, xmm2));
+ TEST_INSTRUCTION("C5FA2D8C1A80000000" , vcvtss2si(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FA2D8C1A80000000" , vcvtss2si(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17E0879CA" , vcvtss2usi(ecx, xmm2));
+ TEST_INSTRUCTION("62F17E08794C1A20" , vcvtss2usi(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17E08794C1A20" , vcvtss2usi(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F9E6CA" , vcvttpd2dq(xmm1, xmm2));
+ TEST_INSTRUCTION("C5FDE6CA" , vcvttpd2dq(xmm1, ymm2));
+ TEST_INSTRUCTION("C5F9E68C1A80000000" , vcvttpd2dq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FDE68C1A80000000" , vcvttpd2dq(xmm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD48E6CA" , vcvttpd2dq(ymm1, zmm2));
+ TEST_INSTRUCTION("62F1FD48E64C1A02" , vcvttpd2dq(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD48E64C1A02" , vcvttpd2dq(ymm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD087ACA" , vcvttpd2qq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F1FD087A4C1A08" , vcvttpd2qq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD087A4C1A08" , vcvttpd2qq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD287ACA" , vcvttpd2qq(ymm1, ymm2));
+ TEST_INSTRUCTION("62F1FD287A4C1A04" , vcvttpd2qq(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD287A4C1A04" , vcvttpd2qq(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD487ACA" , vcvttpd2qq(zmm1, zmm2));
+ TEST_INSTRUCTION("62F1FD487A4C1A02" , vcvttpd2qq(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD487A4C1A02" , vcvttpd2qq(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FC0878CA" , vcvttpd2udq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F1FC2878CA" , vcvttpd2udq(xmm1, ymm2));
+ TEST_INSTRUCTION("62F1FC08784C1A08" , vcvttpd2udq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FC28784C1A04" , vcvttpd2udq(xmm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FC4878CA" , vcvttpd2udq(ymm1, zmm2));
+ TEST_INSTRUCTION("62F1FC48784C1A02" , vcvttpd2udq(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FC48784C1A02" , vcvttpd2udq(ymm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD0878CA" , vcvttpd2uqq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F1FD08784C1A08" , vcvttpd2uqq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD08784C1A08" , vcvttpd2uqq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD2878CA" , vcvttpd2uqq(ymm1, ymm2));
+ TEST_INSTRUCTION("62F1FD28784C1A04" , vcvttpd2uqq(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD28784C1A04" , vcvttpd2uqq(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD4878CA" , vcvttpd2uqq(zmm1, zmm2));
+ TEST_INSTRUCTION("62F1FD48784C1A02" , vcvttpd2uqq(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD48784C1A02" , vcvttpd2uqq(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FA5BCA" , vcvttps2dq(xmm1, xmm2));
+ TEST_INSTRUCTION("C5FA5B8C1A80000000" , vcvttps2dq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FA5B8C1A80000000" , vcvttps2dq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FE5BCA" , vcvttps2dq(ymm1, ymm2));
+ TEST_INSTRUCTION("C5FE5B8C1A80000000" , vcvttps2dq(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FE5B8C1A80000000" , vcvttps2dq(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17E485BCA" , vcvttps2dq(zmm1, zmm2));
+ TEST_INSTRUCTION("62F17E485B4C1A02" , vcvttps2dq(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17E485B4C1A02" , vcvttps2dq(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17D087ACA" , vcvttps2qq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F17D087A4C1A10" , vcvttps2qq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17D087A4C1A10" , vcvttps2qq(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17D287ACA" , vcvttps2qq(ymm1, xmm2));
+ TEST_INSTRUCTION("62F17D287A4C1A08" , vcvttps2qq(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17D287A4C1A08" , vcvttps2qq(ymm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17D487ACA" , vcvttps2qq(zmm1, ymm2));
+ TEST_INSTRUCTION("62F17D487A4C1A04" , vcvttps2qq(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17D487A4C1A04" , vcvttps2qq(zmm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17C0878CA" , vcvttps2udq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F17C08784C1A08" , vcvttps2udq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17C08784C1A08" , vcvttps2udq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17C2878CA" , vcvttps2udq(ymm1, ymm2));
+ TEST_INSTRUCTION("62F17C28784C1A04" , vcvttps2udq(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17C28784C1A04" , vcvttps2udq(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17C4878CA" , vcvttps2udq(zmm1, zmm2));
+ TEST_INSTRUCTION("62F17C48784C1A02" , vcvttps2udq(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17C48784C1A02" , vcvttps2udq(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17D0878CA" , vcvttps2uqq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F17D08784C1A10" , vcvttps2uqq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17D08784C1A10" , vcvttps2uqq(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17D2878CA" , vcvttps2uqq(ymm1, xmm2));
+ TEST_INSTRUCTION("62F17D28784C1A08" , vcvttps2uqq(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17D28784C1A08" , vcvttps2uqq(ymm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17D4878CA" , vcvttps2uqq(zmm1, ymm2));
+ TEST_INSTRUCTION("62F17D48784C1A04" , vcvttps2uqq(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17D48784C1A04" , vcvttps2uqq(zmm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FB2CCA" , vcvttsd2si(ecx, xmm2));
+ TEST_INSTRUCTION("C5FB2C8C1A80000000" , vcvttsd2si(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FB2C8C1A80000000" , vcvttsd2si(ecx, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17F0878CA" , vcvttsd2usi(ecx, xmm2));
+ TEST_INSTRUCTION("62F17F08784C1A10" , vcvttsd2usi(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17F08784C1A10" , vcvttsd2usi(ecx, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FA2CCA" , vcvttss2si(ecx, xmm2));
+ TEST_INSTRUCTION("C5FA2C8C1A80000000" , vcvttss2si(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FA2C8C1A80000000" , vcvttss2si(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17E0878CA" , vcvttss2usi(ecx, xmm2));
+ TEST_INSTRUCTION("62F17E08784C1A20" , vcvttss2usi(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17E08784C1A20" , vcvttss2usi(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17E087ACA" , vcvtudq2pd(xmm1, xmm2));
+ TEST_INSTRUCTION("62F17E087A4C1A10" , vcvtudq2pd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17E087A4C1A10" , vcvtudq2pd(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17E287ACA" , vcvtudq2pd(ymm1, xmm2));
+ TEST_INSTRUCTION("62F17E287A4C1A08" , vcvtudq2pd(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17E287A4C1A08" , vcvtudq2pd(ymm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17E487ACA" , vcvtudq2pd(zmm1, ymm2));
+ TEST_INSTRUCTION("62F17E487A4C1A04" , vcvtudq2pd(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17E487A4C1A04" , vcvtudq2pd(zmm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17F087ACA" , vcvtudq2ps(xmm1, xmm2));
+ TEST_INSTRUCTION("62F17F087A4C1A08" , vcvtudq2ps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17F087A4C1A08" , vcvtudq2ps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17F287ACA" , vcvtudq2ps(ymm1, ymm2));
+ TEST_INSTRUCTION("62F17F287A4C1A04" , vcvtudq2ps(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17F287A4C1A04" , vcvtudq2ps(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17F487ACA" , vcvtudq2ps(zmm1, zmm2));
+ TEST_INSTRUCTION("62F17F487A4C1A02" , vcvtudq2ps(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17F487A4C1A02" , vcvtudq2ps(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE087ACA" , vcvtuqq2pd(xmm1, xmm2));
+ TEST_INSTRUCTION("62F1FE087A4C1A08" , vcvtuqq2pd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE087A4C1A08" , vcvtuqq2pd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE287ACA" , vcvtuqq2pd(ymm1, ymm2));
+ TEST_INSTRUCTION("62F1FE287A4C1A04" , vcvtuqq2pd(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE287A4C1A04" , vcvtuqq2pd(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE487ACA" , vcvtuqq2pd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F1FE487A4C1A02" , vcvtuqq2pd(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE487A4C1A02" , vcvtuqq2pd(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FF087ACA" , vcvtuqq2ps(xmm1, xmm2));
+ TEST_INSTRUCTION("62F1FF287ACA" , vcvtuqq2ps(xmm1, ymm2));
+ TEST_INSTRUCTION("62F1FF087A4C1A08" , vcvtuqq2ps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FF287A4C1A04" , vcvtuqq2ps(xmm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FF487ACA" , vcvtuqq2ps(ymm1, zmm2));
+ TEST_INSTRUCTION("62F1FF487A4C1A02" , vcvtuqq2ps(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FF487A4C1A02" , vcvtuqq2ps(ymm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F16F087BCB" , vcvtusi2sd(xmm1, xmm2, ebx));
+ TEST_INSTRUCTION("62F16F087B4C2B20" , vcvtusi2sd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16F087B4C2B20" , vcvtusi2sd(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1EF087B4C2B10" , vcvtusi2sd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16E087BCB" , vcvtusi2ss(xmm1, xmm2, ebx));
+ TEST_INSTRUCTION("62F16E087B4C2B20" , vcvtusi2ss(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16E087B4C2B20" , vcvtusi2ss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1EE087B4C2B10" , vcvtusi2ss(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F36D0842CB01" , vdbpsadbw(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D08424C2B0801" , vdbpsadbw(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D08424C2B0801" , vdbpsadbw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D2842CB01" , vdbpsadbw(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F36D28424C2B0401" , vdbpsadbw(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D28424C2B0401" , vdbpsadbw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D4842CB01" , vdbpsadbw(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F36D48424C2B0201" , vdbpsadbw(zmm1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D48424C2B0201" , vdbpsadbw(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C5E95ECB" , vdivpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E95E8C2B80000000" , vdivpd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E95E8C2B80000000" , vdivpd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED5ECB" , vdivpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED5E8C2B80000000" , vdivpd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED5E8C2B80000000" , vdivpd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED485ECB" , vdivpd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED485E4C2B02" , vdivpd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED485E4C2B02" , vdivpd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E85ECB" , vdivps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E85E8C2B80000000" , vdivps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E85E8C2B80000000" , vdivps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EC5ECB" , vdivps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EC5E8C2B80000000" , vdivps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EC5E8C2B80000000" , vdivps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16C485ECB" , vdivps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16C485E4C2B02" , vdivps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16C485E4C2B02" , vdivps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EB5ECB" , vdivsd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EB5E8C2B80000000" , vdivsd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EB5E8C2B80000000" , vdivsd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EA5ECB" , vdivss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EA5E8C2B80000000" , vdivss(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EA5E8C2B80000000" , vdivss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26E0852CB" , vdpbf16ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26E08524C2B08" , vdpbf16ps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26E08524C2B08" , vdpbf16ps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26E2852CB" , vdpbf16ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26E28524C2B04" , vdpbf16ps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26E28524C2B04" , vdpbf16ps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26E4852CB" , vdpbf16ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26E48524C2B02" , vdpbf16ps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26E48524C2B02" , vdpbf16ps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E36941CB01" , vdppd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C4E369418C2B8000000001" , vdppd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E369418C2B8000000001" , vdppd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36940CB01" , vdpps(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C4E369408C2B8000000001" , vdpps(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E369408C2B8000000001" , vdpps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D40CB01" , vdpps(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("C4E36D408C2B8000000001" , vdpps(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D408C2B8000000001" , vdpps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("0F00E1" , verr(cx));
+ TEST_INSTRUCTION("0F00A41180000000" , verr(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F00A41180000000" , verr(word_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F00E9" , verw(cx));
+ TEST_INSTRUCTION("0F00AC1180000000" , verw(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F00AC1180000000" , verw(word_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD48C8CA" , vexp2pd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F2FD48C84C1A02" , vexp2pd(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD48C84C1A02" , vexp2pd(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48C8CA" , vexp2ps(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D48C84C1A02" , vexp2ps(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48C84C1A02" , vexp2ps(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD0888CA" , vexpandpd(xmm1, xmm2));
+ TEST_INSTRUCTION("62F2FD08884C1A10" , vexpandpd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD08884C1A10" , vexpandpd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD2888CA" , vexpandpd(ymm1, ymm2));
+ TEST_INSTRUCTION("62F2FD28884C1A10" , vexpandpd(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD28884C1A10" , vexpandpd(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD4888CA" , vexpandpd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F2FD48884C1A10" , vexpandpd(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD48884C1A10" , vexpandpd(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D0888CA" , vexpandps(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27D08884C1A20" , vexpandps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D08884C1A20" , vexpandps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D2888CA" , vexpandps(ymm1, ymm2));
+ TEST_INSTRUCTION("62F27D28884C1A20" , vexpandps(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D28884C1A20" , vexpandps(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4888CA" , vexpandps(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D48884C1A20" , vexpandps(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48884C1A20" , vexpandps(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E37D19D101" , vextractf128(xmm1, ymm2, 1));
+ TEST_INSTRUCTION("C4E37D199C118000000001" , vextractf128(ptr(ecx, edx, 0, 128), ymm3, 1));
+ TEST_INSTRUCTION("C4E37D199C118000000001" , vextractf128(xmmword_ptr(ecx, edx, 0, 128), ymm3, 1));
+ TEST_INSTRUCTION("62F37D2819D101" , vextractf32x4(xmm1, ymm2, 1));
+ TEST_INSTRUCTION("62F37D4819D101" , vextractf32x4(xmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F37D28195C110801" , vextractf32x4(ptr(ecx, edx, 0, 128), ymm3, 1));
+ TEST_INSTRUCTION("62F37D48195C110801" , vextractf32x4(ptr(ecx, edx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("62F37D28195C110801" , vextractf32x4(xmmword_ptr(ecx, edx, 0, 128), ymm3, 1));
+ TEST_INSTRUCTION("62F37D48195C110801" , vextractf32x4(xmmword_ptr(ecx, edx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("62F37D481BD101" , vextractf32x8(ymm1, zmm2, 1));
+ TEST_INSTRUCTION("62F37D481B5C110401" , vextractf32x8(ptr(ecx, edx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("62F37D481B5C110401" , vextractf32x8(ymmword_ptr(ecx, edx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("62F3FD2819D101" , vextractf64x2(xmm1, ymm2, 1));
+ TEST_INSTRUCTION("62F3FD4819D101" , vextractf64x2(xmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F3FD28195C110801" , vextractf64x2(ptr(ecx, edx, 0, 128), ymm3, 1));
+ TEST_INSTRUCTION("62F3FD48195C110801" , vextractf64x2(ptr(ecx, edx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("62F3FD28195C110801" , vextractf64x2(xmmword_ptr(ecx, edx, 0, 128), ymm3, 1));
+ TEST_INSTRUCTION("62F3FD48195C110801" , vextractf64x2(xmmword_ptr(ecx, edx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("62F3FD481BD101" , vextractf64x4(ymm1, zmm2, 1));
+ TEST_INSTRUCTION("62F3FD481B5C110401" , vextractf64x4(ptr(ecx, edx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("62F3FD481B5C110401" , vextractf64x4(ymmword_ptr(ecx, edx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("C4E37D39D101" , vextracti128(xmm1, ymm2, 1));
+ TEST_INSTRUCTION("C4E37D399C118000000001" , vextracti128(ptr(ecx, edx, 0, 128), ymm3, 1));
+ TEST_INSTRUCTION("C4E37D399C118000000001" , vextracti128(xmmword_ptr(ecx, edx, 0, 128), ymm3, 1));
+ TEST_INSTRUCTION("62F37D2839D101" , vextracti32x4(xmm1, ymm2, 1));
+ TEST_INSTRUCTION("62F37D4839D101" , vextracti32x4(xmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F37D28395C110801" , vextracti32x4(ptr(ecx, edx, 0, 128), ymm3, 1));
+ TEST_INSTRUCTION("62F37D48395C110801" , vextracti32x4(ptr(ecx, edx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("62F37D28395C110801" , vextracti32x4(xmmword_ptr(ecx, edx, 0, 128), ymm3, 1));
+ TEST_INSTRUCTION("62F37D48395C110801" , vextracti32x4(xmmword_ptr(ecx, edx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("62F37D483BD101" , vextracti32x8(ymm1, zmm2, 1));
+ TEST_INSTRUCTION("62F37D483B5C110401" , vextracti32x8(ptr(ecx, edx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("62F37D483B5C110401" , vextracti32x8(ymmword_ptr(ecx, edx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("62F3FD2839D101" , vextracti64x2(xmm1, ymm2, 1));
+ TEST_INSTRUCTION("62F3FD4839D101" , vextracti64x2(xmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F3FD28395C110801" , vextracti64x2(ptr(ecx, edx, 0, 128), ymm3, 1));
+ TEST_INSTRUCTION("62F3FD48395C110801" , vextracti64x2(ptr(ecx, edx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("62F3FD28395C110801" , vextracti64x2(xmmword_ptr(ecx, edx, 0, 128), ymm3, 1));
+ TEST_INSTRUCTION("62F3FD48395C110801" , vextracti64x2(xmmword_ptr(ecx, edx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("62F3FD483BD101" , vextracti64x4(ymm1, zmm2, 1));
+ TEST_INSTRUCTION("62F3FD483B5C110401" , vextracti64x4(ptr(ecx, edx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("62F3FD483B5C110401" , vextracti64x4(ymmword_ptr(ecx, edx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("C4E37917D101" , vextractps(ecx, xmm2, 1));
+ TEST_INSTRUCTION("C4E379179C118000000001" , vextractps(ptr(ecx, edx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("C4E379179C118000000001" , vextractps(dword_ptr(ecx, edx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("62F3ED0854CB01" , vfixupimmpd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED08544C2B0801" , vfixupimmpd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED08544C2B0801" , vfixupimmpd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED2854CB01" , vfixupimmpd(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F3ED28544C2B0401" , vfixupimmpd(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED28544C2B0401" , vfixupimmpd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED4854CB01" , vfixupimmpd(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F3ED48544C2B0201" , vfixupimmpd(zmm1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED48544C2B0201" , vfixupimmpd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D0854CB01" , vfixupimmps(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D08544C2B0801" , vfixupimmps(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D08544C2B0801" , vfixupimmps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D2854CB01" , vfixupimmps(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F36D28544C2B0401" , vfixupimmps(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D28544C2B0401" , vfixupimmps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D4854CB01" , vfixupimmps(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F36D48544C2B0201" , vfixupimmps(zmm1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D48544C2B0201" , vfixupimmps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED0855CB01" , vfixupimmsd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED08554C2B1001" , vfixupimmsd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED08554C2B1001" , vfixupimmsd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D0855CB01" , vfixupimmss(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D08554C2B2001" , vfixupimmss(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D08554C2B2001" , vfixupimmss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E2E998CB" , vfmadd132pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9988C2B80000000" , vfmadd132pd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9988C2B80000000" , vfmadd132pd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED98CB" , vfmadd132pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2ED988C2B80000000" , vfmadd132pd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED988C2B80000000" , vfmadd132pd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4898CB" , vfmadd132pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48984C2B02" , vfmadd132pd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48984C2B02" , vfmadd132pd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26998CB" , vfmadd132ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269988C2B80000000" , vfmadd132ps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269988C2B80000000" , vfmadd132ps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D98CB" , vfmadd132ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D988C2B80000000" , vfmadd132ps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D988C2B80000000" , vfmadd132ps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4898CB" , vfmadd132ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48984C2B02" , vfmadd132ps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48984C2B02" , vfmadd132ps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E999CB" , vfmadd132sd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9998C2B80000000" , vfmadd132sd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9998C2B80000000" , vfmadd132sd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26999CB" , vfmadd132ss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269998C2B80000000" , vfmadd132ss(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269998C2B80000000" , vfmadd132ss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9A8CB" , vfmadd213pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9A88C2B80000000" , vfmadd213pd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9A88C2B80000000" , vfmadd213pd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDA8CB" , vfmadd213pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2EDA88C2B80000000" , vfmadd213pd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDA88C2B80000000" , vfmadd213pd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48A8CB" , vfmadd213pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48A84C2B02" , vfmadd213pd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48A84C2B02" , vfmadd213pd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269A8CB" , vfmadd213ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269A88C2B80000000" , vfmadd213ps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269A88C2B80000000" , vfmadd213ps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DA8CB" , vfmadd213ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26DA88C2B80000000" , vfmadd213ps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DA88C2B80000000" , vfmadd213ps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48A8CB" , vfmadd213ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48A84C2B02" , vfmadd213ps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48A84C2B02" , vfmadd213ps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9A9CB" , vfmadd213sd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9A98C2B80000000" , vfmadd213sd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9A98C2B80000000" , vfmadd213sd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269A9CB" , vfmadd213ss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269A98C2B80000000" , vfmadd213ss(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269A98C2B80000000" , vfmadd213ss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9B8CB" , vfmadd231pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9B88C2B80000000" , vfmadd231pd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9B88C2B80000000" , vfmadd231pd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDB8CB" , vfmadd231pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2EDB88C2B80000000" , vfmadd231pd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDB88C2B80000000" , vfmadd231pd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48B8CB" , vfmadd231pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48B84C2B02" , vfmadd231pd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48B84C2B02" , vfmadd231pd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269B8CB" , vfmadd231ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269B88C2B80000000" , vfmadd231ps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269B88C2B80000000" , vfmadd231ps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DB8CB" , vfmadd231ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26DB88C2B80000000" , vfmadd231ps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DB88C2B80000000" , vfmadd231ps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48B8CB" , vfmadd231ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48B84C2B02" , vfmadd231ps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48B84C2B02" , vfmadd231ps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9B9CB" , vfmadd231sd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9B98C2B80000000" , vfmadd231sd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9B98C2B80000000" , vfmadd231sd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269B9CB" , vfmadd231ss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269B98C2B80000000" , vfmadd231ss(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269B98C2B80000000" , vfmadd231ss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E3E969CC30" , vfmaddpd(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E9698C358000000030" , vfmaddpd(xmm1, xmm2, xmm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E9698C358000000030" , vfmaddpd(xmm1, xmm2, xmm3, xmmword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E369698C2B8000000060" , vfmaddpd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E369698C2B8000000060" , vfmaddpd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3ED69CC30" , vfmaddpd(ymm1, ymm2, ymm3, ymm4));
+ TEST_INSTRUCTION("C4E3ED698C358000000030" , vfmaddpd(ymm1, ymm2, ymm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3ED698C358000000030" , vfmaddpd(ymm1, ymm2, ymm3, ymmword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E36D698C2B8000000060" , vfmaddpd(ymm1, ymm2, ptr(ebx, ebp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E36D698C2B8000000060" , vfmaddpd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E3E968CC30" , vfmaddps(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E9688C358000000030" , vfmaddps(xmm1, xmm2, xmm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E9688C358000000030" , vfmaddps(xmm1, xmm2, xmm3, xmmword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E369688C2B8000000060" , vfmaddps(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E369688C2B8000000060" , vfmaddps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3ED68CC30" , vfmaddps(ymm1, ymm2, ymm3, ymm4));
+ TEST_INSTRUCTION("C4E3ED688C358000000030" , vfmaddps(ymm1, ymm2, ymm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3ED688C358000000030" , vfmaddps(ymm1, ymm2, ymm3, ymmword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E36D688C2B8000000060" , vfmaddps(ymm1, ymm2, ptr(ebx, ebp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E36D688C2B8000000060" , vfmaddps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E3E96BCC30" , vfmaddsd(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E96B8C358000000030" , vfmaddsd(xmm1, xmm2, xmm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E96B8C358000000030" , vfmaddsd(xmm1, xmm2, xmm3, qword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3696B8C2B8000000060" , vfmaddsd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3696B8C2B8000000060" , vfmaddsd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3E96ACC30" , vfmaddss(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E96A8C358000000030" , vfmaddss(xmm1, xmm2, xmm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E96A8C358000000030" , vfmaddss(xmm1, xmm2, xmm3, dword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3696A8C2B8000000060" , vfmaddss(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3696A8C2B8000000060" , vfmaddss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E2E996CB" , vfmaddsub132pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9968C2B80000000" , vfmaddsub132pd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9968C2B80000000" , vfmaddsub132pd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED96CB" , vfmaddsub132pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2ED968C2B80000000" , vfmaddsub132pd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED968C2B80000000" , vfmaddsub132pd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4896CB" , vfmaddsub132pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48964C2B02" , vfmaddsub132pd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48964C2B02" , vfmaddsub132pd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26996CB" , vfmaddsub132ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269968C2B80000000" , vfmaddsub132ps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269968C2B80000000" , vfmaddsub132ps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D96CB" , vfmaddsub132ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D968C2B80000000" , vfmaddsub132ps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D968C2B80000000" , vfmaddsub132ps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4896CB" , vfmaddsub132ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48964C2B02" , vfmaddsub132ps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48964C2B02" , vfmaddsub132ps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9A6CB" , vfmaddsub213pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9A68C2B80000000" , vfmaddsub213pd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9A68C2B80000000" , vfmaddsub213pd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDA6CB" , vfmaddsub213pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2EDA68C2B80000000" , vfmaddsub213pd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDA68C2B80000000" , vfmaddsub213pd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48A6CB" , vfmaddsub213pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48A64C2B02" , vfmaddsub213pd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48A64C2B02" , vfmaddsub213pd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269A6CB" , vfmaddsub213ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269A68C2B80000000" , vfmaddsub213ps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269A68C2B80000000" , vfmaddsub213ps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DA6CB" , vfmaddsub213ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26DA68C2B80000000" , vfmaddsub213ps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DA68C2B80000000" , vfmaddsub213ps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48A6CB" , vfmaddsub213ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48A64C2B02" , vfmaddsub213ps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48A64C2B02" , vfmaddsub213ps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9B6CB" , vfmaddsub231pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9B68C2B80000000" , vfmaddsub231pd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9B68C2B80000000" , vfmaddsub231pd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDB6CB" , vfmaddsub231pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2EDB68C2B80000000" , vfmaddsub231pd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDB68C2B80000000" , vfmaddsub231pd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48B6CB" , vfmaddsub231pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48B64C2B02" , vfmaddsub231pd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48B64C2B02" , vfmaddsub231pd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269B6CB" , vfmaddsub231ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269B68C2B80000000" , vfmaddsub231ps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269B68C2B80000000" , vfmaddsub231ps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DB6CB" , vfmaddsub231ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26DB68C2B80000000" , vfmaddsub231ps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DB68C2B80000000" , vfmaddsub231ps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48B6CB" , vfmaddsub231ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48B64C2B02" , vfmaddsub231ps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48B64C2B02" , vfmaddsub231ps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E3E95DCC30" , vfmaddsubpd(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E95D8C358000000030" , vfmaddsubpd(xmm1, xmm2, xmm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E95D8C358000000030" , vfmaddsubpd(xmm1, xmm2, xmm3, xmmword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3695D8C2B8000000060" , vfmaddsubpd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3695D8C2B8000000060" , vfmaddsubpd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3ED5DCC30" , vfmaddsubpd(ymm1, ymm2, ymm3, ymm4));
+ TEST_INSTRUCTION("C4E3ED5D8C358000000030" , vfmaddsubpd(ymm1, ymm2, ymm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3ED5D8C358000000030" , vfmaddsubpd(ymm1, ymm2, ymm3, ymmword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E36D5D8C2B8000000060" , vfmaddsubpd(ymm1, ymm2, ptr(ebx, ebp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E36D5D8C2B8000000060" , vfmaddsubpd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E3E95CCC30" , vfmaddsubps(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E95C8C358000000030" , vfmaddsubps(xmm1, xmm2, xmm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E95C8C358000000030" , vfmaddsubps(xmm1, xmm2, xmm3, xmmword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3695C8C2B8000000060" , vfmaddsubps(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3695C8C2B8000000060" , vfmaddsubps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3ED5CCC30" , vfmaddsubps(ymm1, ymm2, ymm3, ymm4));
+ TEST_INSTRUCTION("C4E3ED5C8C358000000030" , vfmaddsubps(ymm1, ymm2, ymm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3ED5C8C358000000030" , vfmaddsubps(ymm1, ymm2, ymm3, ymmword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E36D5C8C2B8000000060" , vfmaddsubps(ymm1, ymm2, ptr(ebx, ebp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E36D5C8C2B8000000060" , vfmaddsubps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E2E99ACB" , vfmsub132pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E99A8C2B80000000" , vfmsub132pd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E99A8C2B80000000" , vfmsub132pd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED9ACB" , vfmsub132pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2ED9A8C2B80000000" , vfmsub132pd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED9A8C2B80000000" , vfmsub132pd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED489ACB" , vfmsub132pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED489A4C2B02" , vfmsub132pd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED489A4C2B02" , vfmsub132pd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2699ACB" , vfmsub132ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2699A8C2B80000000" , vfmsub132ps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2699A8C2B80000000" , vfmsub132ps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D9ACB" , vfmsub132ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D9A8C2B80000000" , vfmsub132ps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D9A8C2B80000000" , vfmsub132ps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D489ACB" , vfmsub132ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D489A4C2B02" , vfmsub132ps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D489A4C2B02" , vfmsub132ps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E99BCB" , vfmsub132sd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E99B8C2B80000000" , vfmsub132sd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E99B8C2B80000000" , vfmsub132sd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2699BCB" , vfmsub132ss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2699B8C2B80000000" , vfmsub132ss(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2699B8C2B80000000" , vfmsub132ss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9AACB" , vfmsub213pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9AA8C2B80000000" , vfmsub213pd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9AA8C2B80000000" , vfmsub213pd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDAACB" , vfmsub213pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2EDAA8C2B80000000" , vfmsub213pd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDAA8C2B80000000" , vfmsub213pd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48AACB" , vfmsub213pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48AA4C2B02" , vfmsub213pd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48AA4C2B02" , vfmsub213pd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269AACB" , vfmsub213ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269AA8C2B80000000" , vfmsub213ps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269AA8C2B80000000" , vfmsub213ps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DAACB" , vfmsub213ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26DAA8C2B80000000" , vfmsub213ps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DAA8C2B80000000" , vfmsub213ps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48AACB" , vfmsub213ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48AA4C2B02" , vfmsub213ps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48AA4C2B02" , vfmsub213ps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9ABCB" , vfmsub213sd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9AB8C2B80000000" , vfmsub213sd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9AB8C2B80000000" , vfmsub213sd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269ABCB" , vfmsub213ss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269AB8C2B80000000" , vfmsub213ss(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269AB8C2B80000000" , vfmsub213ss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9BACB" , vfmsub231pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9BA8C2B80000000" , vfmsub231pd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9BA8C2B80000000" , vfmsub231pd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDBACB" , vfmsub231pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2EDBA8C2B80000000" , vfmsub231pd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDBA8C2B80000000" , vfmsub231pd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48BACB" , vfmsub231pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48BA4C2B02" , vfmsub231pd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48BA4C2B02" , vfmsub231pd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269BACB" , vfmsub231ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269BA8C2B80000000" , vfmsub231ps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269BA8C2B80000000" , vfmsub231ps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DBACB" , vfmsub231ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26DBA8C2B80000000" , vfmsub231ps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DBA8C2B80000000" , vfmsub231ps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48BACB" , vfmsub231ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48BA4C2B02" , vfmsub231ps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48BA4C2B02" , vfmsub231ps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9BBCB" , vfmsub231sd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9BB8C2B80000000" , vfmsub231sd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9BB8C2B80000000" , vfmsub231sd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269BBCB" , vfmsub231ss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269BB8C2B80000000" , vfmsub231ss(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269BB8C2B80000000" , vfmsub231ss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E997CB" , vfmsubadd132pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9978C2B80000000" , vfmsubadd132pd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9978C2B80000000" , vfmsubadd132pd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED97CB" , vfmsubadd132pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2ED978C2B80000000" , vfmsubadd132pd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED978C2B80000000" , vfmsubadd132pd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4897CB" , vfmsubadd132pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48974C2B02" , vfmsubadd132pd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48974C2B02" , vfmsubadd132pd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26997CB" , vfmsubadd132ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269978C2B80000000" , vfmsubadd132ps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269978C2B80000000" , vfmsubadd132ps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D97CB" , vfmsubadd132ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D978C2B80000000" , vfmsubadd132ps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D978C2B80000000" , vfmsubadd132ps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4897CB" , vfmsubadd132ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48974C2B02" , vfmsubadd132ps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48974C2B02" , vfmsubadd132ps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9A7CB" , vfmsubadd213pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9A78C2B80000000" , vfmsubadd213pd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9A78C2B80000000" , vfmsubadd213pd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDA7CB" , vfmsubadd213pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2EDA78C2B80000000" , vfmsubadd213pd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDA78C2B80000000" , vfmsubadd213pd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48A7CB" , vfmsubadd213pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48A74C2B02" , vfmsubadd213pd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48A74C2B02" , vfmsubadd213pd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269A7CB" , vfmsubadd213ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269A78C2B80000000" , vfmsubadd213ps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269A78C2B80000000" , vfmsubadd213ps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DA7CB" , vfmsubadd213ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26DA78C2B80000000" , vfmsubadd213ps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DA78C2B80000000" , vfmsubadd213ps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48A7CB" , vfmsubadd213ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48A74C2B02" , vfmsubadd213ps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48A74C2B02" , vfmsubadd213ps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9B7CB" , vfmsubadd231pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9B78C2B80000000" , vfmsubadd231pd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9B78C2B80000000" , vfmsubadd231pd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDB7CB" , vfmsubadd231pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2EDB78C2B80000000" , vfmsubadd231pd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDB78C2B80000000" , vfmsubadd231pd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48B7CB" , vfmsubadd231pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48B74C2B02" , vfmsubadd231pd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48B74C2B02" , vfmsubadd231pd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269B7CB" , vfmsubadd231ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269B78C2B80000000" , vfmsubadd231ps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269B78C2B80000000" , vfmsubadd231ps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DB7CB" , vfmsubadd231ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26DB78C2B80000000" , vfmsubadd231ps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DB78C2B80000000" , vfmsubadd231ps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48B7CB" , vfmsubadd231ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48B74C2B02" , vfmsubadd231ps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48B74C2B02" , vfmsubadd231ps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E3E95FCC30" , vfmsubaddpd(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E95F8C358000000030" , vfmsubaddpd(xmm1, xmm2, xmm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E95F8C358000000030" , vfmsubaddpd(xmm1, xmm2, xmm3, xmmword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3695F8C2B8000000060" , vfmsubaddpd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3695F8C2B8000000060" , vfmsubaddpd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3ED5FCC30" , vfmsubaddpd(ymm1, ymm2, ymm3, ymm4));
+ TEST_INSTRUCTION("C4E3ED5F8C358000000030" , vfmsubaddpd(ymm1, ymm2, ymm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3ED5F8C358000000030" , vfmsubaddpd(ymm1, ymm2, ymm3, ymmword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E36D5F8C2B8000000060" , vfmsubaddpd(ymm1, ymm2, ptr(ebx, ebp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E36D5F8C2B8000000060" , vfmsubaddpd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E3E95ECC30" , vfmsubaddps(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E95E8C358000000030" , vfmsubaddps(xmm1, xmm2, xmm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E95E8C358000000030" , vfmsubaddps(xmm1, xmm2, xmm3, xmmword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3695E8C2B8000000060" , vfmsubaddps(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3695E8C2B8000000060" , vfmsubaddps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3ED5ECC30" , vfmsubaddps(ymm1, ymm2, ymm3, ymm4));
+ TEST_INSTRUCTION("C4E3ED5E8C358000000030" , vfmsubaddps(ymm1, ymm2, ymm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3ED5E8C358000000030" , vfmsubaddps(ymm1, ymm2, ymm3, ymmword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E36D5E8C2B8000000060" , vfmsubaddps(ymm1, ymm2, ptr(ebx, ebp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E36D5E8C2B8000000060" , vfmsubaddps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E3E96DCC30" , vfmsubpd(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E96D8C358000000030" , vfmsubpd(xmm1, xmm2, xmm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E96D8C358000000030" , vfmsubpd(xmm1, xmm2, xmm3, xmmword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3696D8C2B8000000060" , vfmsubpd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3696D8C2B8000000060" , vfmsubpd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3ED6DCC30" , vfmsubpd(ymm1, ymm2, ymm3, ymm4));
+ TEST_INSTRUCTION("C4E3ED6D8C358000000030" , vfmsubpd(ymm1, ymm2, ymm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3ED6D8C358000000030" , vfmsubpd(ymm1, ymm2, ymm3, ymmword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E36D6D8C2B8000000060" , vfmsubpd(ymm1, ymm2, ptr(ebx, ebp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E36D6D8C2B8000000060" , vfmsubpd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E3E96CCC30" , vfmsubps(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E96C8C358000000030" , vfmsubps(xmm1, xmm2, xmm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E96C8C358000000030" , vfmsubps(xmm1, xmm2, xmm3, xmmword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3696C8C2B8000000060" , vfmsubps(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3696C8C2B8000000060" , vfmsubps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3ED6CCC30" , vfmsubps(ymm1, ymm2, ymm3, ymm4));
+ TEST_INSTRUCTION("C4E3ED6C8C358000000030" , vfmsubps(ymm1, ymm2, ymm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3ED6C8C358000000030" , vfmsubps(ymm1, ymm2, ymm3, ymmword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E36D6C8C2B8000000060" , vfmsubps(ymm1, ymm2, ptr(ebx, ebp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E36D6C8C2B8000000060" , vfmsubps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E3E96FCC30" , vfmsubsd(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E96F8C358000000030" , vfmsubsd(xmm1, xmm2, xmm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E96F8C358000000030" , vfmsubsd(xmm1, xmm2, xmm3, qword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3696F8C2B8000000060" , vfmsubsd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3696F8C2B8000000060" , vfmsubsd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3E96ECC30" , vfmsubss(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E96E8C358000000030" , vfmsubss(xmm1, xmm2, xmm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E96E8C358000000030" , vfmsubss(xmm1, xmm2, xmm3, dword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3696E8C2B8000000060" , vfmsubss(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3696E8C2B8000000060" , vfmsubss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E2E99CCB" , vfnmadd132pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E99C8C2B80000000" , vfnmadd132pd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E99C8C2B80000000" , vfnmadd132pd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED9CCB" , vfnmadd132pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2ED9C8C2B80000000" , vfnmadd132pd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED9C8C2B80000000" , vfnmadd132pd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED489CCB" , vfnmadd132pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED489C4C2B02" , vfnmadd132pd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED489C4C2B02" , vfnmadd132pd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2699CCB" , vfnmadd132ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2699C8C2B80000000" , vfnmadd132ps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2699C8C2B80000000" , vfnmadd132ps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D9CCB" , vfnmadd132ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D9C8C2B80000000" , vfnmadd132ps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D9C8C2B80000000" , vfnmadd132ps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D489CCB" , vfnmadd132ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D489C4C2B02" , vfnmadd132ps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D489C4C2B02" , vfnmadd132ps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E99DCB" , vfnmadd132sd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E99D8C2B80000000" , vfnmadd132sd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E99D8C2B80000000" , vfnmadd132sd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2699DCB" , vfnmadd132ss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2699D8C2B80000000" , vfnmadd132ss(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2699D8C2B80000000" , vfnmadd132ss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9ACCB" , vfnmadd213pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9AC8C2B80000000" , vfnmadd213pd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9AC8C2B80000000" , vfnmadd213pd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDACCB" , vfnmadd213pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2EDAC8C2B80000000" , vfnmadd213pd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDAC8C2B80000000" , vfnmadd213pd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48ACCB" , vfnmadd213pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48AC4C2B02" , vfnmadd213pd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48AC4C2B02" , vfnmadd213pd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269ACCB" , vfnmadd213ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269AC8C2B80000000" , vfnmadd213ps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269AC8C2B80000000" , vfnmadd213ps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DACCB" , vfnmadd213ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26DAC8C2B80000000" , vfnmadd213ps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DAC8C2B80000000" , vfnmadd213ps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48ACCB" , vfnmadd213ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48AC4C2B02" , vfnmadd213ps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48AC4C2B02" , vfnmadd213ps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9ADCB" , vfnmadd213sd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9AD8C2B80000000" , vfnmadd213sd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9AD8C2B80000000" , vfnmadd213sd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269ADCB" , vfnmadd213ss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269AD8C2B80000000" , vfnmadd213ss(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269AD8C2B80000000" , vfnmadd213ss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9BCCB" , vfnmadd231pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9BC8C2B80000000" , vfnmadd231pd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9BC8C2B80000000" , vfnmadd231pd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDBCCB" , vfnmadd231pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2EDBC8C2B80000000" , vfnmadd231pd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDBC8C2B80000000" , vfnmadd231pd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48BCCB" , vfnmadd231pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48BC4C2B02" , vfnmadd231pd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48BC4C2B02" , vfnmadd231pd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269BCCB" , vfnmadd231ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269BC8C2B80000000" , vfnmadd231ps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269BC8C2B80000000" , vfnmadd231ps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DBCCB" , vfnmadd231ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26DBC8C2B80000000" , vfnmadd231ps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DBC8C2B80000000" , vfnmadd231ps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48BCCB" , vfnmadd231ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48BC4C2B02" , vfnmadd231ps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48BC4C2B02" , vfnmadd231ps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9BDCB" , vfnmadd231sd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9BD8C2B80000000" , vfnmadd231sd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9BD8C2B80000000" , vfnmadd231sd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269BDCB" , vfnmadd231ss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269BD8C2B80000000" , vfnmadd231ss(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269BD8C2B80000000" , vfnmadd231ss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E3E979CC30" , vfnmaddpd(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E9798C358000000030" , vfnmaddpd(xmm1, xmm2, xmm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E9798C358000000030" , vfnmaddpd(xmm1, xmm2, xmm3, xmmword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E369798C2B8000000060" , vfnmaddpd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E369798C2B8000000060" , vfnmaddpd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3ED79CC30" , vfnmaddpd(ymm1, ymm2, ymm3, ymm4));
+ TEST_INSTRUCTION("C4E3ED798C358000000030" , vfnmaddpd(ymm1, ymm2, ymm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3ED798C358000000030" , vfnmaddpd(ymm1, ymm2, ymm3, ymmword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E36D798C2B8000000060" , vfnmaddpd(ymm1, ymm2, ptr(ebx, ebp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E36D798C2B8000000060" , vfnmaddpd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E3E978CC30" , vfnmaddps(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E9788C358000000030" , vfnmaddps(xmm1, xmm2, xmm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E9788C358000000030" , vfnmaddps(xmm1, xmm2, xmm3, xmmword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E369788C2B8000000060" , vfnmaddps(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E369788C2B8000000060" , vfnmaddps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3ED78CC30" , vfnmaddps(ymm1, ymm2, ymm3, ymm4));
+ TEST_INSTRUCTION("C4E3ED788C358000000030" , vfnmaddps(ymm1, ymm2, ymm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3ED788C358000000030" , vfnmaddps(ymm1, ymm2, ymm3, ymmword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E36D788C2B8000000060" , vfnmaddps(ymm1, ymm2, ptr(ebx, ebp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E36D788C2B8000000060" , vfnmaddps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E3E97BCC30" , vfnmaddsd(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E97B8C358000000030" , vfnmaddsd(xmm1, xmm2, xmm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E97B8C358000000030" , vfnmaddsd(xmm1, xmm2, xmm3, qword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3697B8C2B8000000060" , vfnmaddsd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3697B8C2B8000000060" , vfnmaddsd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3E97ACC30" , vfnmaddss(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E97A8C358000000030" , vfnmaddss(xmm1, xmm2, xmm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E97A8C358000000030" , vfnmaddss(xmm1, xmm2, xmm3, dword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3697A8C2B8000000060" , vfnmaddss(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3697A8C2B8000000060" , vfnmaddss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E2E99ECB" , vfnmsub132pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E99E8C2B80000000" , vfnmsub132pd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E99E8C2B80000000" , vfnmsub132pd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED9ECB" , vfnmsub132pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2ED9E8C2B80000000" , vfnmsub132pd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED9E8C2B80000000" , vfnmsub132pd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED489ECB" , vfnmsub132pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED489E4C2B02" , vfnmsub132pd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED489E4C2B02" , vfnmsub132pd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2699ECB" , vfnmsub132ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2699E8C2B80000000" , vfnmsub132ps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2699E8C2B80000000" , vfnmsub132ps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D9ECB" , vfnmsub132ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D9E8C2B80000000" , vfnmsub132ps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D9E8C2B80000000" , vfnmsub132ps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D489ECB" , vfnmsub132ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D489E4C2B02" , vfnmsub132ps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D489E4C2B02" , vfnmsub132ps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E99FCB" , vfnmsub132sd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E99F8C2B80000000" , vfnmsub132sd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E99F8C2B80000000" , vfnmsub132sd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2699FCB" , vfnmsub132ss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2699F8C2B80000000" , vfnmsub132ss(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2699F8C2B80000000" , vfnmsub132ss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9AECB" , vfnmsub213pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9AE8C2B80000000" , vfnmsub213pd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9AE8C2B80000000" , vfnmsub213pd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDAECB" , vfnmsub213pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2EDAE8C2B80000000" , vfnmsub213pd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDAE8C2B80000000" , vfnmsub213pd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48AECB" , vfnmsub213pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48AE4C2B02" , vfnmsub213pd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48AE4C2B02" , vfnmsub213pd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269AECB" , vfnmsub213ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269AE8C2B80000000" , vfnmsub213ps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269AE8C2B80000000" , vfnmsub213ps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DAECB" , vfnmsub213ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26DAE8C2B80000000" , vfnmsub213ps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DAE8C2B80000000" , vfnmsub213ps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48AECB" , vfnmsub213ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48AE4C2B02" , vfnmsub213ps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48AE4C2B02" , vfnmsub213ps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9AFCB" , vfnmsub213sd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9AF8C2B80000000" , vfnmsub213sd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9AF8C2B80000000" , vfnmsub213sd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269AFCB" , vfnmsub213ss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269AF8C2B80000000" , vfnmsub213ss(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269AF8C2B80000000" , vfnmsub213ss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9BECB" , vfnmsub231pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9BE8C2B80000000" , vfnmsub231pd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9BE8C2B80000000" , vfnmsub231pd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDBECB" , vfnmsub231pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2EDBE8C2B80000000" , vfnmsub231pd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDBE8C2B80000000" , vfnmsub231pd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48BECB" , vfnmsub231pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48BE4C2B02" , vfnmsub231pd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48BE4C2B02" , vfnmsub231pd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269BECB" , vfnmsub231ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269BE8C2B80000000" , vfnmsub231ps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269BE8C2B80000000" , vfnmsub231ps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DBECB" , vfnmsub231ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26DBE8C2B80000000" , vfnmsub231ps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DBE8C2B80000000" , vfnmsub231ps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48BECB" , vfnmsub231ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48BE4C2B02" , vfnmsub231ps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48BE4C2B02" , vfnmsub231ps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9BFCB" , vfnmsub231sd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9BF8C2B80000000" , vfnmsub231sd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9BF8C2B80000000" , vfnmsub231sd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269BFCB" , vfnmsub231ss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269BF8C2B80000000" , vfnmsub231ss(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269BF8C2B80000000" , vfnmsub231ss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E3E97DCC30" , vfnmsubpd(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E97D8C358000000030" , vfnmsubpd(xmm1, xmm2, xmm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E97D8C358000000030" , vfnmsubpd(xmm1, xmm2, xmm3, xmmword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3697D8C2B8000000060" , vfnmsubpd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3697D8C2B8000000060" , vfnmsubpd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3ED7DCC30" , vfnmsubpd(ymm1, ymm2, ymm3, ymm4));
+ TEST_INSTRUCTION("C4E3ED7D8C358000000030" , vfnmsubpd(ymm1, ymm2, ymm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3ED7D8C358000000030" , vfnmsubpd(ymm1, ymm2, ymm3, ymmword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E36D7D8C2B8000000060" , vfnmsubpd(ymm1, ymm2, ptr(ebx, ebp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E36D7D8C2B8000000060" , vfnmsubpd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E3E97CCC30" , vfnmsubps(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E97C8C358000000030" , vfnmsubps(xmm1, xmm2, xmm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E97C8C358000000030" , vfnmsubps(xmm1, xmm2, xmm3, xmmword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3697C8C2B8000000060" , vfnmsubps(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3697C8C2B8000000060" , vfnmsubps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3ED7CCC30" , vfnmsubps(ymm1, ymm2, ymm3, ymm4));
+ TEST_INSTRUCTION("C4E3ED7C8C358000000030" , vfnmsubps(ymm1, ymm2, ymm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3ED7C8C358000000030" , vfnmsubps(ymm1, ymm2, ymm3, ymmword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E36D7C8C2B8000000060" , vfnmsubps(ymm1, ymm2, ptr(ebx, ebp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E36D7C8C2B8000000060" , vfnmsubps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E3E97FCC30" , vfnmsubsd(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E97F8C358000000030" , vfnmsubsd(xmm1, xmm2, xmm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E97F8C358000000030" , vfnmsubsd(xmm1, xmm2, xmm3, qword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3697F8C2B8000000060" , vfnmsubsd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3697F8C2B8000000060" , vfnmsubsd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3E97ECC30" , vfnmsubss(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E97E8C358000000030" , vfnmsubss(xmm1, xmm2, xmm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E97E8C358000000030" , vfnmsubss(xmm1, xmm2, xmm3, dword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("C4E3697E8C2B8000000060" , vfnmsubss(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3697E8C2B8000000060" , vfnmsubss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("62F3FD0866CA01" , vfpclasspd(k1, xmm2, 1));
+ TEST_INSTRUCTION("62F3FD2866CA01" , vfpclasspd(k1, ymm2, 1));
+ TEST_INSTRUCTION("62F3FD4866CA01" , vfpclasspd(k1, zmm2, 1));
+ TEST_INSTRUCTION("62F3FD08664C1A0801" , vfpclasspd(k1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD28664C1A0401" , vfpclasspd(k1, ymmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD48664C1A0201" , vfpclasspd(k1, zmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D0866CA01" , vfpclassps(k1, xmm2, 1));
+ TEST_INSTRUCTION("62F37D2866CA01" , vfpclassps(k1, ymm2, 1));
+ TEST_INSTRUCTION("62F37D4866CA01" , vfpclassps(k1, zmm2, 1));
+ TEST_INSTRUCTION("62F37D08664C1A0801" , vfpclassps(k1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D28664C1A0401" , vfpclassps(k1, ymmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D48664C1A0201" , vfpclassps(k1, zmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD0867CA01" , vfpclasssd(k1, xmm2, 1));
+ TEST_INSTRUCTION("62F3FD08674C1A1001" , vfpclasssd(k1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD08674C1A1001" , vfpclasssd(k1, qword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D0867CA01" , vfpclassss(k1, xmm2, 1));
+ TEST_INSTRUCTION("62F37D08674C1A2001" , vfpclassss(k1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D08674C1A2001" , vfpclassss(k1, dword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("8FE97881CA" , vfrczpd(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978818C1A80000000" , vfrczpd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE978818C1A80000000" , vfrczpd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE97C81CA" , vfrczpd(ymm1, ymm2));
+ TEST_INSTRUCTION("8FE97C818C1A80000000" , vfrczpd(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE97C818C1A80000000" , vfrczpd(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE97880CA" , vfrczps(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978808C1A80000000" , vfrczps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE978808C1A80000000" , vfrczps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE97C80CA" , vfrczps(ymm1, ymm2));
+ TEST_INSTRUCTION("8FE97C808C1A80000000" , vfrczps(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE97C808C1A80000000" , vfrczps(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE97883CA" , vfrczsd(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978838C1A80000000" , vfrczsd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE978838C1A80000000" , vfrczsd(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE97882CA" , vfrczss(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978828C1A80000000" , vfrczss(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE978828C1A80000000" , vfrczss(xmm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E2D9928C1A80000000" , vgatherdpd(xmm1, ptr(edx, xmm3, 0, 128), xmm4));
+ TEST_INSTRUCTION("C4E2DD928C1A80000000" , vgatherdpd(ymm1, ptr(edx, xmm3, 0, 128), ymm4));
+ TEST_INSTRUCTION("62F2FD09924C1A10" , k(k1).vgatherdpd(xmm1, ptr(edx, xmm3, 0, 128)));
+ TEST_INSTRUCTION("62F2FD29924C1A10" , k(k1).vgatherdpd(ymm1, ptr(edx, xmm3, 0, 128)));
+ TEST_INSTRUCTION("62F2FD49924C1A10" , k(k1).vgatherdpd(zmm1, ptr(edx, ymm3, 0, 128)));
+ TEST_INSTRUCTION("C4E259928C1A80000000" , vgatherdps(xmm1, ptr(edx, xmm3, 0, 128), xmm4));
+ TEST_INSTRUCTION("C4E25D928C1A80000000" , vgatherdps(ymm1, ptr(edx, ymm3, 0, 128), ymm4));
+ TEST_INSTRUCTION("62F27D09924C1A20" , k(k1).vgatherdps(xmm1, ptr(edx, xmm3, 0, 128)));
+ TEST_INSTRUCTION("62F27D29924C1A20" , k(k1).vgatherdps(ymm1, ptr(edx, ymm3, 0, 128)));
+ TEST_INSTRUCTION("62F27D49924C1A20" , k(k1).vgatherdps(zmm1, ptr(edx, zmm3, 0, 128)));
+ TEST_INSTRUCTION("62F2FD49C64C1110" , k(k1).vgatherpf0dpd(ptr(ecx, ymm2, 0, 128)));
+ TEST_INSTRUCTION("62F27D49C64C1120" , k(k1).vgatherpf0dps(ptr(ecx, zmm2, 0, 128)));
+ TEST_INSTRUCTION("62F2FD49C74C1110" , k(k1).vgatherpf0qpd(ptr(ecx, zmm2, 0, 128)));
+ TEST_INSTRUCTION("62F27D49C74C1120" , k(k1).vgatherpf0qps(ptr(ecx, zmm2, 0, 128)));
+ TEST_INSTRUCTION("62F2FD49C6541110" , k(k1).vgatherpf1dpd(ptr(ecx, ymm2, 0, 128)));
+ TEST_INSTRUCTION("62F27D49C6541120" , k(k1).vgatherpf1dps(ptr(ecx, zmm2, 0, 128)));
+ TEST_INSTRUCTION("62F2FD49C7541110" , k(k1).vgatherpf1qpd(ptr(ecx, zmm2, 0, 128)));
+ TEST_INSTRUCTION("62F27D49C7541120" , k(k1).vgatherpf1qps(ptr(ecx, zmm2, 0, 128)));
+ TEST_INSTRUCTION("C4E2D9938C1A80000000" , vgatherqpd(xmm1, ptr(edx, xmm3, 0, 128), xmm4));
+ TEST_INSTRUCTION("C4E2DD938C1A80000000" , vgatherqpd(ymm1, ptr(edx, ymm3, 0, 128), ymm4));
+ TEST_INSTRUCTION("62F2FD09934C1A10" , k(k1).vgatherqpd(xmm1, ptr(edx, xmm3, 0, 128)));
+ TEST_INSTRUCTION("62F2FD29934C1A10" , k(k1).vgatherqpd(ymm1, ptr(edx, ymm3, 0, 128)));
+ TEST_INSTRUCTION("62F2FD49934C1A10" , k(k1).vgatherqpd(zmm1, ptr(edx, zmm3, 0, 128)));
+ TEST_INSTRUCTION("C4E259938C1A80000000" , vgatherqps(xmm1, ptr(edx, xmm3, 0, 128), xmm4));
+ TEST_INSTRUCTION("C4E25D938C1A80000000" , vgatherqps(xmm1, ptr(edx, ymm3, 0, 128), xmm4));
+ TEST_INSTRUCTION("62F27D09934C1A20" , k(k1).vgatherqps(xmm1, ptr(edx, xmm3, 0, 128)));
+ TEST_INSTRUCTION("62F27D29934C1A20" , k(k1).vgatherqps(xmm1, ptr(edx, ymm3, 0, 128)));
+ TEST_INSTRUCTION("62F27D49934C1A20" , k(k1).vgatherqps(ymm1, ptr(edx, zmm3, 0, 128)));
+ TEST_INSTRUCTION("62F2FD0842CA" , vgetexppd(xmm1, xmm2));
+ TEST_INSTRUCTION("62F2FD08424C1A08" , vgetexppd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD08424C1A08" , vgetexppd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD2842CA" , vgetexppd(ymm1, ymm2));
+ TEST_INSTRUCTION("62F2FD28424C1A04" , vgetexppd(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD28424C1A04" , vgetexppd(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD4842CA" , vgetexppd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F2FD48424C1A02" , vgetexppd(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD48424C1A02" , vgetexppd(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D0842CA" , vgetexpps(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27D08424C1A08" , vgetexpps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D08424C1A08" , vgetexpps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D2842CA" , vgetexpps(ymm1, ymm2));
+ TEST_INSTRUCTION("62F27D28424C1A04" , vgetexpps(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D28424C1A04" , vgetexpps(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4842CA" , vgetexpps(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D48424C1A02" , vgetexpps(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48424C1A02" , vgetexpps(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0843CB" , vgetexpsd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08434C2B10" , vgetexpsd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08434C2B10" , vgetexpsd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D0843CB" , vgetexpss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08434C2B20" , vgetexpss(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08434C2B20" , vgetexpss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F3FD0826CA01" , vgetmantpd(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("62F3FD08264C1A0801" , vgetmantpd(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD08264C1A0801" , vgetmantpd(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD2826CA01" , vgetmantpd(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("62F3FD28264C1A0401" , vgetmantpd(ymm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD28264C1A0401" , vgetmantpd(ymm1, ymmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD4826CA01" , vgetmantpd(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F3FD48264C1A0201" , vgetmantpd(zmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD48264C1A0201" , vgetmantpd(zmm1, zmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D0826CA01" , vgetmantps(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("62F37D08264C1A0801" , vgetmantps(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D08264C1A0801" , vgetmantps(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D2826CA01" , vgetmantps(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("62F37D28264C1A0401" , vgetmantps(ymm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D28264C1A0401" , vgetmantps(ymm1, ymmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D4826CA01" , vgetmantps(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F37D48264C1A0201" , vgetmantps(zmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D48264C1A0201" , vgetmantps(zmm1, zmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED0827CB01" , vgetmantsd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED08274C2B1001" , vgetmantsd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED08274C2B1001" , vgetmantsd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D0827CB01" , vgetmantss(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D08274C2B2001" , vgetmantss(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D08274C2B2001" , vgetmantss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3E9CFCB01" , vgf2p8affineinvqb(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C4E3E9CF8C2B8000000001" , vgf2p8affineinvqb(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3E9CF8C2B8000000001" , vgf2p8affineinvqb(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3EDCFCB01" , vgf2p8affineinvqb(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("C4E3EDCF8C2B8000000001" , vgf2p8affineinvqb(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3EDCF8C2B8000000001" , vgf2p8affineinvqb(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED48CFCB01" , vgf2p8affineinvqb(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F3ED48CF4C2B0201" , vgf2p8affineinvqb(zmm1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED48CF4C2B0201" , vgf2p8affineinvqb(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3E9CECB01" , vgf2p8affineqb(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C4E3E9CE8C2B8000000001" , vgf2p8affineqb(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3E9CE8C2B8000000001" , vgf2p8affineqb(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3EDCECB01" , vgf2p8affineqb(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("C4E3EDCE8C2B8000000001" , vgf2p8affineqb(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3EDCE8C2B8000000001" , vgf2p8affineqb(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED48CECB01" , vgf2p8affineqb(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F3ED48CE4C2B0201" , vgf2p8affineqb(zmm1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED48CE4C2B0201" , vgf2p8affineqb(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E269CFCB" , vgf2p8mulb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269CF8C2B80000000" , vgf2p8mulb(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269CF8C2B80000000" , vgf2p8mulb(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DCFCB" , vgf2p8mulb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26DCF8C2B80000000" , vgf2p8mulb(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DCF8C2B80000000" , vgf2p8mulb(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48CFCB" , vgf2p8mulb(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48CF4C2B02" , vgf2p8mulb(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48CF4C2B02" , vgf2p8mulb(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E97CCB" , vhaddpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E97C8C2B80000000" , vhaddpd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E97C8C2B80000000" , vhaddpd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED7CCB" , vhaddpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED7C8C2B80000000" , vhaddpd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED7C8C2B80000000" , vhaddpd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EB7CCB" , vhaddps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EB7C8C2B80000000" , vhaddps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EB7C8C2B80000000" , vhaddps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EF7CCB" , vhaddps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EF7C8C2B80000000" , vhaddps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EF7C8C2B80000000" , vhaddps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E97DCB" , vhsubpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E97D8C2B80000000" , vhsubpd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E97D8C2B80000000" , vhsubpd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED7DCB" , vhsubpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED7D8C2B80000000" , vhsubpd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED7D8C2B80000000" , vhsubpd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EB7DCB" , vhsubps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EB7D8C2B80000000" , vhsubps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EB7D8C2B80000000" , vhsubps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EF7DCB" , vhsubps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EF7D8C2B80000000" , vhsubps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EF7D8C2B80000000" , vhsubps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E36D18CB01" , vinsertf128(ymm1, ymm2, xmm3, 1));
+ TEST_INSTRUCTION("C4E36D188C2B8000000001" , vinsertf128(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D188C2B8000000001" , vinsertf128(ymm1, ymm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D2818CB01" , vinsertf32x4(ymm1, ymm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D28184C2B0801" , vinsertf32x4(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D28184C2B0801" , vinsertf32x4(ymm1, ymm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D4818CB01" , vinsertf32x4(zmm1, zmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D48184C2B0801" , vinsertf32x4(zmm1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D48184C2B0801" , vinsertf32x4(zmm1, zmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D481ACB01" , vinsertf32x8(zmm1, zmm2, ymm3, 1));
+ TEST_INSTRUCTION("62F36D481A4C2B0401" , vinsertf32x8(zmm1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D481A4C2B0401" , vinsertf32x8(zmm1, zmm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED2818CB01" , vinsertf64x2(ymm1, ymm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED28184C2B0801" , vinsertf64x2(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED28184C2B0801" , vinsertf64x2(ymm1, ymm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED4818CB01" , vinsertf64x2(zmm1, zmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED48184C2B0801" , vinsertf64x2(zmm1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED48184C2B0801" , vinsertf64x2(zmm1, zmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED481ACB01" , vinsertf64x4(zmm1, zmm2, ymm3, 1));
+ TEST_INSTRUCTION("62F3ED481A4C2B0401" , vinsertf64x4(zmm1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED481A4C2B0401" , vinsertf64x4(zmm1, zmm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D38CB01" , vinserti128(ymm1, ymm2, xmm3, 1));
+ TEST_INSTRUCTION("C4E36D388C2B8000000001" , vinserti128(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D388C2B8000000001" , vinserti128(ymm1, ymm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D2838CB01" , vinserti32x4(ymm1, ymm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D28384C2B0801" , vinserti32x4(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D28384C2B0801" , vinserti32x4(ymm1, ymm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D4838CB01" , vinserti32x4(zmm1, zmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D48384C2B0801" , vinserti32x4(zmm1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D48384C2B0801" , vinserti32x4(zmm1, zmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D483ACB01" , vinserti32x8(zmm1, zmm2, ymm3, 1));
+ TEST_INSTRUCTION("62F36D483A4C2B0401" , vinserti32x8(zmm1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D483A4C2B0401" , vinserti32x8(zmm1, zmm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED2838CB01" , vinserti64x2(ymm1, ymm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED28384C2B0801" , vinserti64x2(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED28384C2B0801" , vinserti64x2(ymm1, ymm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED4838CB01" , vinserti64x2(zmm1, zmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED48384C2B0801" , vinserti64x2(zmm1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED48384C2B0801" , vinserti64x2(zmm1, zmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED483ACB01" , vinserti64x4(zmm1, zmm2, ymm3, 1));
+ TEST_INSTRUCTION("62F3ED483A4C2B0401" , vinserti64x4(zmm1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED483A4C2B0401" , vinserti64x4(zmm1, zmm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36921CB01" , vinsertps(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C4E369218C2B8000000001" , vinsertps(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E369218C2B8000000001" , vinsertps(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C5FBF08C1A80000000" , vlddqu(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FBF08C1A80000000" , vlddqu(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FFF08C1A80000000" , vlddqu(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FFF08C1A80000000" , vlddqu(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F8AE941180000000" , vldmxcsr(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("C5F8AE941180000000" , vldmxcsr(dword_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("C5F9F7CA" , vmaskmovdqu(xmm1, xmm2, ptr(edi)));
+ TEST_INSTRUCTION("C5F9F7CA" , vmaskmovdqu(xmm1, xmm2, xmmword_ptr(edi)));
+ TEST_INSTRUCTION("C4E2612FA41180000000" , vmaskmovpd(ptr(ecx, edx, 0, 128), xmm3, xmm4));
+ TEST_INSTRUCTION("C4E2612FA41180000000" , vmaskmovpd(xmmword_ptr(ecx, edx, 0, 128), xmm3, xmm4));
+ TEST_INSTRUCTION("C4E2652FA41180000000" , vmaskmovpd(ptr(ecx, edx, 0, 128), ymm3, ymm4));
+ TEST_INSTRUCTION("C4E2652FA41180000000" , vmaskmovpd(ymmword_ptr(ecx, edx, 0, 128), ymm3, ymm4));
+ TEST_INSTRUCTION("C4E2692D8C2B80000000" , vmaskmovpd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2692D8C2B80000000" , vmaskmovpd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D2D8C2B80000000" , vmaskmovpd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D2D8C2B80000000" , vmaskmovpd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2612EA41180000000" , vmaskmovps(ptr(ecx, edx, 0, 128), xmm3, xmm4));
+ TEST_INSTRUCTION("C4E2612EA41180000000" , vmaskmovps(xmmword_ptr(ecx, edx, 0, 128), xmm3, xmm4));
+ TEST_INSTRUCTION("C4E2652EA41180000000" , vmaskmovps(ptr(ecx, edx, 0, 128), ymm3, ymm4));
+ TEST_INSTRUCTION("C4E2652EA41180000000" , vmaskmovps(ymmword_ptr(ecx, edx, 0, 128), ymm3, ymm4));
+ TEST_INSTRUCTION("C4E2692C8C2B80000000" , vmaskmovps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2692C8C2B80000000" , vmaskmovps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D2C8C2B80000000" , vmaskmovps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D2C8C2B80000000" , vmaskmovps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E95FCB" , vmaxpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E95F8C2B80000000" , vmaxpd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E95F8C2B80000000" , vmaxpd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED5FCB" , vmaxpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED5F8C2B80000000" , vmaxpd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED5F8C2B80000000" , vmaxpd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED485FCB" , vmaxpd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED485F4C2B02" , vmaxpd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED485F4C2B02" , vmaxpd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E85FCB" , vmaxps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E85F8C2B80000000" , vmaxps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E85F8C2B80000000" , vmaxps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EC5FCB" , vmaxps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EC5F8C2B80000000" , vmaxps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EC5F8C2B80000000" , vmaxps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16C485FCB" , vmaxps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16C485F4C2B02" , vmaxps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16C485F4C2B02" , vmaxps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EB5FCB" , vmaxsd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EB5F8C2B80000000" , vmaxsd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EB5F8C2B80000000" , vmaxsd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EA5FCB" , vmaxss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EA5F8C2B80000000" , vmaxss(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EA5F8C2B80000000" , vmaxss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("0F01C1" , vmcall());
+ TEST_INSTRUCTION("660FC7B41180000000" , vmclear(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("660FC7B41180000000" , vmclear(qword_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F01D4" , vmfunc());
+ TEST_INSTRUCTION("C5E95DCB" , vminpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E95D8C2B80000000" , vminpd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E95D8C2B80000000" , vminpd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED5DCB" , vminpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED5D8C2B80000000" , vminpd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED5D8C2B80000000" , vminpd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED485DCB" , vminpd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED485D4C2B02" , vminpd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED485D4C2B02" , vminpd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E85DCB" , vminps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E85D8C2B80000000" , vminps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E85D8C2B80000000" , vminps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EC5DCB" , vminps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EC5D8C2B80000000" , vminps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EC5D8C2B80000000" , vminps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16C485DCB" , vminps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16C485D4C2B02" , vminps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16C485D4C2B02" , vminps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EB5DCB" , vminsd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EB5D8C2B80000000" , vminsd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EB5D8C2B80000000" , vminsd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EA5DCB" , vminss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EA5D8C2B80000000" , vminss(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EA5D8C2B80000000" , vminss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("0F01C2" , vmlaunch());
+ TEST_INSTRUCTION("0F01DA" , vmload(eax));
+ TEST_INSTRUCTION("0F01D9" , vmmcall());
+ TEST_INSTRUCTION("C5F928CA" , vmovapd(xmm1, xmm2));
+ TEST_INSTRUCTION("C5F9288C1A80000000" , vmovapd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F9288C1A80000000" , vmovapd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F9299C1180000000" , vmovapd(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5F9299C1180000000" , vmovapd(xmmword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5FD28CA" , vmovapd(ymm1, ymm2));
+ TEST_INSTRUCTION("C5FD288C1A80000000" , vmovapd(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FD288C1A80000000" , vmovapd(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FD299C1180000000" , vmovapd(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("C5FD299C1180000000" , vmovapd(ymmword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F1FD4828CA" , vmovapd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F1FD48284C1A02" , vmovapd(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD48284C1A02" , vmovapd(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD48295C1102" , vmovapd(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F1FD48295C1102" , vmovapd(zmmword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("C5F828CA" , vmovaps(xmm1, xmm2));
+ TEST_INSTRUCTION("C5F8288C1A80000000" , vmovaps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F8288C1A80000000" , vmovaps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F8299C1180000000" , vmovaps(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5F8299C1180000000" , vmovaps(xmmword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5FC28CA" , vmovaps(ymm1, ymm2));
+ TEST_INSTRUCTION("C5FC288C1A80000000" , vmovaps(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FC288C1A80000000" , vmovaps(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FC299C1180000000" , vmovaps(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("C5FC299C1180000000" , vmovaps(ymmword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F17C4828CA" , vmovaps(zmm1, zmm2));
+ TEST_INSTRUCTION("62F17C48284C1A02" , vmovaps(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17C48284C1A02" , vmovaps(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17C48295C1102" , vmovaps(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F17C48295C1102" , vmovaps(zmmword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("C5F97ED1" , vmovd(ecx, xmm2));
+ TEST_INSTRUCTION("C5F97E9C1180000000" , vmovd(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5F97E9C1180000000" , vmovd(dword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5F96ECA" , vmovd(xmm1, edx));
+ TEST_INSTRUCTION("C5F96E8C1A80000000" , vmovd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F96E8C1A80000000" , vmovd(xmm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FB12CA" , vmovddup(xmm1, xmm2));
+ TEST_INSTRUCTION("C5FB128C1A80000000" , vmovddup(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FB128C1A80000000" , vmovddup(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FF12CA" , vmovddup(ymm1, ymm2));
+ TEST_INSTRUCTION("C5FF128C1A80000000" , vmovddup(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FF128C1A80000000" , vmovddup(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FF4812CA" , vmovddup(zmm1, zmm2));
+ TEST_INSTRUCTION("62F1FF48124C1A02" , vmovddup(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FF48124C1A02" , vmovddup(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F96FCA" , vmovdqa(xmm1, xmm2));
+ TEST_INSTRUCTION("C5F96F8C1A80000000" , vmovdqa(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F96F8C1A80000000" , vmovdqa(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F97F9C1180000000" , vmovdqa(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5F97F9C1180000000" , vmovdqa(xmmword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5FD6FCA" , vmovdqa(ymm1, ymm2));
+ TEST_INSTRUCTION("C5FD6F8C1A80000000" , vmovdqa(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FD6F8C1A80000000" , vmovdqa(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FD7F9C1180000000" , vmovdqa(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("C5FD7F9C1180000000" , vmovdqa(ymmword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F17D086FCA" , vmovdqa32(xmm1, xmm2));
+ TEST_INSTRUCTION("62F17D086F4C1A08" , vmovdqa32(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17D086F4C1A08" , vmovdqa32(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17D087F5C1108" , vmovdqa32(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F17D087F5C1108" , vmovdqa32(xmmword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F17D286FCA" , vmovdqa32(ymm1, ymm2));
+ TEST_INSTRUCTION("62F17D286F4C1A04" , vmovdqa32(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17D286F4C1A04" , vmovdqa32(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17D287F5C1104" , vmovdqa32(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F17D287F5C1104" , vmovdqa32(ymmword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F17D486FCA" , vmovdqa32(zmm1, zmm2));
+ TEST_INSTRUCTION("62F17D486F4C1A02" , vmovdqa32(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17D486F4C1A02" , vmovdqa32(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17D487F5C1102" , vmovdqa32(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F17D487F5C1102" , vmovdqa32(zmmword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F1FD086FCA" , vmovdqa64(xmm1, xmm2));
+ TEST_INSTRUCTION("62F1FD086F4C1A08" , vmovdqa64(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD086F4C1A08" , vmovdqa64(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD087F5C1108" , vmovdqa64(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F1FD087F5C1108" , vmovdqa64(xmmword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F1FD286FCA" , vmovdqa64(ymm1, ymm2));
+ TEST_INSTRUCTION("62F1FD286F4C1A04" , vmovdqa64(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD286F4C1A04" , vmovdqa64(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD287F5C1104" , vmovdqa64(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F1FD287F5C1104" , vmovdqa64(ymmword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F1FD486FCA" , vmovdqa64(zmm1, zmm2));
+ TEST_INSTRUCTION("62F1FD486F4C1A02" , vmovdqa64(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD486F4C1A02" , vmovdqa64(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD487F5C1102" , vmovdqa64(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F1FD487F5C1102" , vmovdqa64(zmmword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("C5FA6FCA" , vmovdqu(xmm1, xmm2));
+ TEST_INSTRUCTION("C5FA6F8C1A80000000" , vmovdqu(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FA6F8C1A80000000" , vmovdqu(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FA7F9C1180000000" , vmovdqu(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5FA7F9C1180000000" , vmovdqu(xmmword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5FE6FCA" , vmovdqu(ymm1, ymm2));
+ TEST_INSTRUCTION("C5FE6F8C1A80000000" , vmovdqu(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FE6F8C1A80000000" , vmovdqu(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FE7F9C1180000000" , vmovdqu(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("C5FE7F9C1180000000" , vmovdqu(ymmword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F1FF086FCA" , vmovdqu16(xmm1, xmm2));
+ TEST_INSTRUCTION("62F1FF086F4C1A08" , vmovdqu16(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FF086F4C1A08" , vmovdqu16(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FF087F5C1108" , vmovdqu16(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F1FF087F5C1108" , vmovdqu16(xmmword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F1FF286FCA" , vmovdqu16(ymm1, ymm2));
+ TEST_INSTRUCTION("62F1FF286F4C1A04" , vmovdqu16(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FF286F4C1A04" , vmovdqu16(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FF287F5C1104" , vmovdqu16(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F1FF287F5C1104" , vmovdqu16(ymmword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F1FF486FCA" , vmovdqu16(zmm1, zmm2));
+ TEST_INSTRUCTION("62F1FF486F4C1A02" , vmovdqu16(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FF486F4C1A02" , vmovdqu16(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FF487F5C1102" , vmovdqu16(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F1FF487F5C1102" , vmovdqu16(zmmword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F17E086FCA" , vmovdqu32(xmm1, xmm2));
+ TEST_INSTRUCTION("62F17E086F4C1A08" , vmovdqu32(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17E086F4C1A08" , vmovdqu32(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17E087F5C1108" , vmovdqu32(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F17E087F5C1108" , vmovdqu32(xmmword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F17E286FCA" , vmovdqu32(ymm1, ymm2));
+ TEST_INSTRUCTION("62F17E286F4C1A04" , vmovdqu32(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17E286F4C1A04" , vmovdqu32(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17E287F5C1104" , vmovdqu32(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F17E287F5C1104" , vmovdqu32(ymmword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F17E486FCA" , vmovdqu32(zmm1, zmm2));
+ TEST_INSTRUCTION("62F17E486F4C1A02" , vmovdqu32(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17E486F4C1A02" , vmovdqu32(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17E487F5C1102" , vmovdqu32(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F17E487F5C1102" , vmovdqu32(zmmword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F1FE086FCA" , vmovdqu64(xmm1, xmm2));
+ TEST_INSTRUCTION("62F1FE086F4C1A08" , vmovdqu64(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE086F4C1A08" , vmovdqu64(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE087F5C1108" , vmovdqu64(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F1FE087F5C1108" , vmovdqu64(xmmword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F1FE286FCA" , vmovdqu64(ymm1, ymm2));
+ TEST_INSTRUCTION("62F1FE286F4C1A04" , vmovdqu64(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE286F4C1A04" , vmovdqu64(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE287F5C1104" , vmovdqu64(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F1FE287F5C1104" , vmovdqu64(ymmword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F1FE486FCA" , vmovdqu64(zmm1, zmm2));
+ TEST_INSTRUCTION("62F1FE486F4C1A02" , vmovdqu64(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE486F4C1A02" , vmovdqu64(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE487F5C1102" , vmovdqu64(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F1FE487F5C1102" , vmovdqu64(zmmword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F17F086FCA" , vmovdqu8(xmm1, xmm2));
+ TEST_INSTRUCTION("62F17F086F4C1A08" , vmovdqu8(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17F086F4C1A08" , vmovdqu8(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17F087F5C1108" , vmovdqu8(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F17F087F5C1108" , vmovdqu8(xmmword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F17F286FCA" , vmovdqu8(ymm1, ymm2));
+ TEST_INSTRUCTION("62F17F286F4C1A04" , vmovdqu8(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17F286F4C1A04" , vmovdqu8(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17F287F5C1104" , vmovdqu8(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F17F287F5C1104" , vmovdqu8(ymmword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F17F486FCA" , vmovdqu8(zmm1, zmm2));
+ TEST_INSTRUCTION("62F17F486F4C1A02" , vmovdqu8(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17F486F4C1A02" , vmovdqu8(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17F487F5C1102" , vmovdqu8(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F17F487F5C1102" , vmovdqu8(zmmword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("C5E812CB" , vmovhlps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5F9179C1180000000" , vmovhpd(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5F9179C1180000000" , vmovhpd(qword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5E9168C2B80000000" , vmovhpd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9168C2B80000000" , vmovhpd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5F8179C1180000000" , vmovhps(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5F8179C1180000000" , vmovhps(qword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5E8168C2B80000000" , vmovhps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E8168C2B80000000" , vmovhps(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E816CB" , vmovlhps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5F9139C1180000000" , vmovlpd(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5F9139C1180000000" , vmovlpd(qword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5E9128C2B80000000" , vmovlpd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9128C2B80000000" , vmovlpd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5F8139C1180000000" , vmovlps(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5F8139C1180000000" , vmovlps(qword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5E8128C2B80000000" , vmovlps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E8128C2B80000000" , vmovlps(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5F950CA" , vmovmskpd(ecx, xmm2));
+ TEST_INSTRUCTION("C5FD50CA" , vmovmskpd(ecx, ymm2));
+ TEST_INSTRUCTION("C5F850CA" , vmovmskps(ecx, xmm2));
+ TEST_INSTRUCTION("C5FC50CA" , vmovmskps(ecx, ymm2));
+ TEST_INSTRUCTION("C5F9E79C1180000000" , vmovntdq(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5F9E79C1180000000" , vmovntdq(xmmword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5FDE79C1180000000" , vmovntdq(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("C5FDE79C1180000000" , vmovntdq(ymmword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F17D48E75C1102" , vmovntdq(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F17D48E75C1102" , vmovntdq(zmmword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("C4E2792A8C1A80000000" , vmovntdqa(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E2792A8C1A80000000" , vmovntdqa(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D2A8C1A80000000" , vmovntdqa(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D2A8C1A80000000" , vmovntdqa(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D482A4C1A02" , vmovntdqa(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D482A4C1A02" , vmovntdqa(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F92B9C1180000000" , vmovntpd(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5F92B9C1180000000" , vmovntpd(xmmword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5FD2B9C1180000000" , vmovntpd(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("C5FD2B9C1180000000" , vmovntpd(ymmword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F1FD482B5C1102" , vmovntpd(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F1FD482B5C1102" , vmovntpd(zmmword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("C5F82B9C1180000000" , vmovntps(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5F82B9C1180000000" , vmovntps(xmmword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5FC2B9C1180000000" , vmovntps(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("C5FC2B9C1180000000" , vmovntps(ymmword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F17C482B5C1102" , vmovntps(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F17C482B5C1102" , vmovntps(zmmword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("C5FA7ECA" , vmovq(xmm1, xmm2));
+ TEST_INSTRUCTION("C5FA7E8C1A80000000" , vmovq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FA7E8C1A80000000" , vmovq(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F9D69C1180000000" , vmovq(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5F9D69C1180000000" , vmovq(qword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5FB119C1180000000" , vmovsd(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5FB119C1180000000" , vmovsd(qword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5FB108C1A80000000" , vmovsd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FB108C1A80000000" , vmovsd(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5EB10CB" , vmovsd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5FA16CA" , vmovshdup(xmm1, xmm2));
+ TEST_INSTRUCTION("C5FA168C1A80000000" , vmovshdup(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FA168C1A80000000" , vmovshdup(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FE16CA" , vmovshdup(ymm1, ymm2));
+ TEST_INSTRUCTION("C5FE168C1A80000000" , vmovshdup(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FE168C1A80000000" , vmovshdup(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17E4816CA" , vmovshdup(zmm1, zmm2));
+ TEST_INSTRUCTION("62F17E48164C1A02" , vmovshdup(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17E48164C1A02" , vmovshdup(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FA12CA" , vmovsldup(xmm1, xmm2));
+ TEST_INSTRUCTION("C5FA128C1A80000000" , vmovsldup(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FA128C1A80000000" , vmovsldup(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FE12CA" , vmovsldup(ymm1, ymm2));
+ TEST_INSTRUCTION("C5FE128C1A80000000" , vmovsldup(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FE128C1A80000000" , vmovsldup(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17E4812CA" , vmovsldup(zmm1, zmm2));
+ TEST_INSTRUCTION("62F17E48124C1A02" , vmovsldup(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17E48124C1A02" , vmovsldup(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FA119C1180000000" , vmovss(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5FA119C1180000000" , vmovss(dword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5FA108C1A80000000" , vmovss(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FA108C1A80000000" , vmovss(xmm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5EA10CB" , vmovss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5F910CA" , vmovupd(xmm1, xmm2));
+ TEST_INSTRUCTION("C5F9108C1A80000000" , vmovupd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F9108C1A80000000" , vmovupd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F9119C1180000000" , vmovupd(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5F9119C1180000000" , vmovupd(xmmword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5FD10CA" , vmovupd(ymm1, ymm2));
+ TEST_INSTRUCTION("C5FD108C1A80000000" , vmovupd(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FD108C1A80000000" , vmovupd(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FD119C1180000000" , vmovupd(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("C5FD119C1180000000" , vmovupd(ymmword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F1FD4810CA" , vmovupd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F1FD48104C1A02" , vmovupd(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD48104C1A02" , vmovupd(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD48115C1102" , vmovupd(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F1FD48115C1102" , vmovupd(zmmword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("C5F810CA" , vmovups(xmm1, xmm2));
+ TEST_INSTRUCTION("C5F8108C1A80000000" , vmovups(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F8108C1A80000000" , vmovups(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F8119C1180000000" , vmovups(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5F8119C1180000000" , vmovups(xmmword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5FC10CA" , vmovups(ymm1, ymm2));
+ TEST_INSTRUCTION("C5FC108C1A80000000" , vmovups(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FC108C1A80000000" , vmovups(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FC119C1180000000" , vmovups(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("C5FC119C1180000000" , vmovups(ymmword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F17C4810CA" , vmovups(zmm1, zmm2));
+ TEST_INSTRUCTION("62F17C48104C1A02" , vmovups(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17C48104C1A02" , vmovups(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17C48115C1102" , vmovups(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F17C48115C1102" , vmovups(zmmword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("C4E36942CB01" , vmpsadbw(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C4E369428C2B8000000001" , vmpsadbw(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E369428C2B8000000001" , vmpsadbw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D42CB01" , vmpsadbw(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("C4E36D428C2B8000000001" , vmpsadbw(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D428C2B8000000001" , vmpsadbw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("0FC7B41180000000" , vmptrld(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0FC7B41180000000" , vmptrld(qword_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0FC7BC1180000000" , vmptrst(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0FC7BC1180000000" , vmptrst(qword_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("0F78D1" , vmread(ecx, edx));
+ TEST_INSTRUCTION("0F789C1180000000" , vmread(ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("0F789C1180000000" , vmread(dword_ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("0F01C3" , vmresume());
+ TEST_INSTRUCTION("0F01D8" , vmrun(eax));
+ TEST_INSTRUCTION("0F01DB" , vmsave(eax));
+ TEST_INSTRUCTION("C5E959CB" , vmulpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9598C2B80000000" , vmulpd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9598C2B80000000" , vmulpd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED59CB" , vmulpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED598C2B80000000" , vmulpd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED598C2B80000000" , vmulpd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED4859CB" , vmulpd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED48594C2B02" , vmulpd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48594C2B02" , vmulpd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E859CB" , vmulps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E8598C2B80000000" , vmulps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E8598C2B80000000" , vmulps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EC59CB" , vmulps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EC598C2B80000000" , vmulps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EC598C2B80000000" , vmulps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16C4859CB" , vmulps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16C48594C2B02" , vmulps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16C48594C2B02" , vmulps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EB59CB" , vmulsd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EB598C2B80000000" , vmulsd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EB598C2B80000000" , vmulsd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EA59CB" , vmulss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EA598C2B80000000" , vmulss(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EA598C2B80000000" , vmulss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("0F79CA" , vmwrite(ecx, edx));
+ TEST_INSTRUCTION("0F798C1A80000000" , vmwrite(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F798C1A80000000" , vmwrite(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F30FC7B41180000000" , vmxon(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("F30FC7B41180000000" , vmxon(qword_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("C5E956CB" , vorpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9568C2B80000000" , vorpd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9568C2B80000000" , vorpd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED56CB" , vorpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED568C2B80000000" , vorpd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED568C2B80000000" , vorpd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED4856CB" , vorpd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED48564C2B02" , vorpd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48564C2B02" , vorpd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E856CB" , vorps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E8568C2B80000000" , vorps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E8568C2B80000000" , vorps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EC56CB" , vorps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EC568C2B80000000" , vorps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EC568C2B80000000" , vorps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16C4856CB" , vorps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16C48564C2B02" , vorps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16C48564C2B02" , vorps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F25F0868D1" , vp2intersectd(k2, k3, xmm4, xmm1));
+ TEST_INSTRUCTION("62F25F0868541108" , vp2intersectd(k2, k3, xmm4, ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("62F25F0868541108" , vp2intersectd(k2, k3, xmm4, xmmword_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("62F25F2868D1" , vp2intersectd(k2, k3, ymm4, ymm1));
+ TEST_INSTRUCTION("62F25F2868541104" , vp2intersectd(k2, k3, ymm4, ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("62F25F2868541104" , vp2intersectd(k2, k3, ymm4, ymmword_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("62F25F4868D1" , vp2intersectd(k2, k3, zmm4, zmm1));
+ TEST_INSTRUCTION("62F25F4868541102" , vp2intersectd(k2, k3, zmm4, ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("62F25F4868541102" , vp2intersectd(k2, k3, zmm4, zmmword_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("62F2DF0868D1" , vp2intersectq(k2, k3, xmm4, xmm1));
+ TEST_INSTRUCTION("62F2DF0868541108" , vp2intersectq(k2, k3, xmm4, ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("62F2DF0868541108" , vp2intersectq(k2, k3, xmm4, xmmword_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("62F2DF2868D1" , vp2intersectq(k2, k3, ymm4, ymm1));
+ TEST_INSTRUCTION("62F2DF2868541104" , vp2intersectq(k2, k3, ymm4, ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("62F2DF2868541104" , vp2intersectq(k2, k3, ymm4, ymmword_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("62F2DF4868D1" , vp2intersectq(k2, k3, zmm4, zmm1));
+ TEST_INSTRUCTION("62F2DF4868541102" , vp2intersectq(k2, k3, zmm4, ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("62F2DF4868541102" , vp2intersectq(k2, k3, zmm4, zmmword_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("62F25F48524C1A08" , vp4dpwssd(zmm1, zmm4, zmm5, zmm6, zmm7, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F25F48524C1A08" , vp4dpwssd(zmm1, zmm4, zmm5, zmm6, zmm7, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F25F48534C1A08" , vp4dpwssds(zmm1, zmm4, zmm5, zmm6, zmm7, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F25F48534C1A08" , vp4dpwssds(zmm1, zmm4, zmm5, zmm6, zmm7, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E2791CCA" , vpabsb(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E2791C8C1A80000000" , vpabsb(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E2791C8C1A80000000" , vpabsb(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D1CCA" , vpabsb(ymm1, ymm2));
+ TEST_INSTRUCTION("C4E27D1C8C1A80000000" , vpabsb(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D1C8C1A80000000" , vpabsb(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D481CCA" , vpabsb(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D481C4C1A02" , vpabsb(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D481C4C1A02" , vpabsb(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E2791ECA" , vpabsd(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E2791E8C1A80000000" , vpabsd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E2791E8C1A80000000" , vpabsd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D1ECA" , vpabsd(ymm1, ymm2));
+ TEST_INSTRUCTION("C4E27D1E8C1A80000000" , vpabsd(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D1E8C1A80000000" , vpabsd(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D481ECA" , vpabsd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D481E4C1A02" , vpabsd(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D481E4C1A02" , vpabsd(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD081FCA" , vpabsq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F2FD081F4C1A08" , vpabsq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD081F4C1A08" , vpabsq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD281FCA" , vpabsq(ymm1, ymm2));
+ TEST_INSTRUCTION("62F2FD281F4C1A04" , vpabsq(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD281F4C1A04" , vpabsq(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD481FCA" , vpabsq(zmm1, zmm2));
+ TEST_INSTRUCTION("62F2FD481F4C1A02" , vpabsq(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD481F4C1A02" , vpabsq(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E2791DCA" , vpabsw(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E2791D8C1A80000000" , vpabsw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E2791D8C1A80000000" , vpabsw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D1DCA" , vpabsw(ymm1, ymm2));
+ TEST_INSTRUCTION("C4E27D1D8C1A80000000" , vpabsw(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D1D8C1A80000000" , vpabsw(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D481DCA" , vpabsw(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D481D4C1A02" , vpabsw(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D481D4C1A02" , vpabsw(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5E96BCB" , vpackssdw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E96B8C2B80000000" , vpackssdw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E96B8C2B80000000" , vpackssdw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED6BCB" , vpackssdw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED6B8C2B80000000" , vpackssdw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED6B8C2B80000000" , vpackssdw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D486BCB" , vpackssdw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D486B4C2B02" , vpackssdw(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D486B4C2B02" , vpackssdw(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E963CB" , vpacksswb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9638C2B80000000" , vpacksswb(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9638C2B80000000" , vpacksswb(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED63CB" , vpacksswb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED638C2B80000000" , vpacksswb(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED638C2B80000000" , vpacksswb(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D4863CB" , vpacksswb(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48634C2B02" , vpacksswb(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48634C2B02" , vpacksswb(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2692BCB" , vpackusdw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2692B8C2B80000000" , vpackusdw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2692B8C2B80000000" , vpackusdw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D2BCB" , vpackusdw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D2B8C2B80000000" , vpackusdw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D2B8C2B80000000" , vpackusdw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D482BCB" , vpackusdw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D482B4C2B02" , vpackusdw(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D482B4C2B02" , vpackusdw(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E967CB" , vpackuswb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9678C2B80000000" , vpackuswb(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9678C2B80000000" , vpackuswb(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED67CB" , vpackuswb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED678C2B80000000" , vpackuswb(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED678C2B80000000" , vpackuswb(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D4867CB" , vpackuswb(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48674C2B02" , vpackuswb(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48674C2B02" , vpackuswb(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9FCCB" , vpaddb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9FC8C2B80000000" , vpaddb(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9FC8C2B80000000" , vpaddb(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDFCCB" , vpaddb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDFC8C2B80000000" , vpaddb(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDFC8C2B80000000" , vpaddb(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48FCCB" , vpaddb(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48FC4C2B02" , vpaddb(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48FC4C2B02" , vpaddb(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9FECB" , vpaddd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9FE8C2B80000000" , vpaddd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9FE8C2B80000000" , vpaddd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDFECB" , vpaddd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDFE8C2B80000000" , vpaddd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDFE8C2B80000000" , vpaddd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48FECB" , vpaddd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48FE4C2B02" , vpaddd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48FE4C2B02" , vpaddd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9D4CB" , vpaddq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9D48C2B80000000" , vpaddq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9D48C2B80000000" , vpaddq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDD4CB" , vpaddq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDD48C2B80000000" , vpaddq(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDD48C2B80000000" , vpaddq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48D4CB" , vpaddq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED48D44C2B02" , vpaddq(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48D44C2B02" , vpaddq(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9ECCB" , vpaddsb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9EC8C2B80000000" , vpaddsb(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9EC8C2B80000000" , vpaddsb(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDECCB" , vpaddsb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDEC8C2B80000000" , vpaddsb(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDEC8C2B80000000" , vpaddsb(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48ECCB" , vpaddsb(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48EC4C2B02" , vpaddsb(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48EC4C2B02" , vpaddsb(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9EDCB" , vpaddsw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9ED8C2B80000000" , vpaddsw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9ED8C2B80000000" , vpaddsw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDEDCB" , vpaddsw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDED8C2B80000000" , vpaddsw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDED8C2B80000000" , vpaddsw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48EDCB" , vpaddsw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48ED4C2B02" , vpaddsw(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48ED4C2B02" , vpaddsw(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9DCCB" , vpaddusb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9DC8C2B80000000" , vpaddusb(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9DC8C2B80000000" , vpaddusb(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDDCCB" , vpaddusb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDDC8C2B80000000" , vpaddusb(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDDC8C2B80000000" , vpaddusb(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48DCCB" , vpaddusb(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48DC4C2B02" , vpaddusb(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48DC4C2B02" , vpaddusb(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9DDCB" , vpaddusw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9DD8C2B80000000" , vpaddusw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9DD8C2B80000000" , vpaddusw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDDDCB" , vpaddusw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDDD8C2B80000000" , vpaddusw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDDD8C2B80000000" , vpaddusw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48DDCB" , vpaddusw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48DD4C2B02" , vpaddusw(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48DD4C2B02" , vpaddusw(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9FDCB" , vpaddw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9FD8C2B80000000" , vpaddw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9FD8C2B80000000" , vpaddw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDFDCB" , vpaddw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDFD8C2B80000000" , vpaddw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDFD8C2B80000000" , vpaddw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48FDCB" , vpaddw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48FD4C2B02" , vpaddw(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48FD4C2B02" , vpaddw(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E3690FCB01" , vpalignr(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C4E3690F8C2B8000000001" , vpalignr(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3690F8C2B8000000001" , vpalignr(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D0FCB01" , vpalignr(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("C4E36D0F8C2B8000000001" , vpalignr(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D0F8C2B8000000001" , vpalignr(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D480FCB01" , vpalignr(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F36D480F4C2B0201" , vpalignr(zmm1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D480F4C2B0201" , vpalignr(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C5E9DBCB" , vpand(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9DB8C2B80000000" , vpand(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9DB8C2B80000000" , vpand(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDDBCB" , vpand(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDDB8C2B80000000" , vpand(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDDB8C2B80000000" , vpand(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D08DBCB" , vpandd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F16D08DB4C2B08" , vpandd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D08DB4C2B08" , vpandd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D28DBCB" , vpandd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F16D28DB4C2B04" , vpandd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D28DB4C2B04" , vpandd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48DBCB" , vpandd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48DB4C2B02" , vpandd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48DB4C2B02" , vpandd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9DFCB" , vpandn(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9DF8C2B80000000" , vpandn(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9DF8C2B80000000" , vpandn(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDDFCB" , vpandn(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDDF8C2B80000000" , vpandn(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDDF8C2B80000000" , vpandn(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D08DFCB" , vpandnd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F16D08DF4C2B08" , vpandnd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D08DF4C2B08" , vpandnd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D28DFCB" , vpandnd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F16D28DF4C2B04" , vpandnd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D28DF4C2B04" , vpandnd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48DFCB" , vpandnd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48DF4C2B02" , vpandnd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48DF4C2B02" , vpandnd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED08DFCB" , vpandnq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F1ED08DF4C2B08" , vpandnq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED08DF4C2B08" , vpandnq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED28DFCB" , vpandnq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F1ED28DF4C2B04" , vpandnq(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED28DF4C2B04" , vpandnq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48DFCB" , vpandnq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED48DF4C2B02" , vpandnq(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48DF4C2B02" , vpandnq(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED08DBCB" , vpandq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F1ED08DB4C2B08" , vpandq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED08DB4C2B08" , vpandq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED28DBCB" , vpandq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F1ED28DB4C2B04" , vpandq(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED28DB4C2B04" , vpandq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48DBCB" , vpandq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED48DB4C2B02" , vpandq(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48DB4C2B02" , vpandq(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9E0CB" , vpavgb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9E08C2B80000000" , vpavgb(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9E08C2B80000000" , vpavgb(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDE0CB" , vpavgb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDE08C2B80000000" , vpavgb(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDE08C2B80000000" , vpavgb(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48E0CB" , vpavgb(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48E04C2B02" , vpavgb(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48E04C2B02" , vpavgb(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9E3CB" , vpavgw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9E38C2B80000000" , vpavgw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9E38C2B80000000" , vpavgw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDE3CB" , vpavgw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDE38C2B80000000" , vpavgw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDE38C2B80000000" , vpavgw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48E3CB" , vpavgw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48E34C2B02" , vpavgw(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48E34C2B02" , vpavgw(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E36902CB01" , vpblendd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C4E369028C2B8000000001" , vpblendd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E369028C2B8000000001" , vpblendd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D02CB01" , vpblendd(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("C4E36D028C2B8000000001" , vpblendd(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D028C2B8000000001" , vpblendd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F26D0866CB" , vpblendmb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08664C2B08" , vpblendmb(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08664C2B08" , vpblendmb(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D2866CB" , vpblendmb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D28664C2B04" , vpblendmb(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D28664C2B04" , vpblendmb(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4866CB" , vpblendmb(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48664C2B02" , vpblendmb(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48664C2B02" , vpblendmb(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D0864CB" , vpblendmd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08644C2B08" , vpblendmd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08644C2B08" , vpblendmd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D2864CB" , vpblendmd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D28644C2B04" , vpblendmd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D28644C2B04" , vpblendmd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4864CB" , vpblendmd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48644C2B02" , vpblendmd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48644C2B02" , vpblendmd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0864CB" , vpblendmq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08644C2B08" , vpblendmq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08644C2B08" , vpblendmq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2864CB" , vpblendmq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28644C2B04" , vpblendmq(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28644C2B04" , vpblendmq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4864CB" , vpblendmq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48644C2B02" , vpblendmq(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48644C2B02" , vpblendmq(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0866CB" , vpblendmw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08664C2B08" , vpblendmw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08664C2B08" , vpblendmw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2866CB" , vpblendmw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28664C2B04" , vpblendmw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28664C2B04" , vpblendmw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4866CB" , vpblendmw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48664C2B02" , vpblendmw(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48664C2B02" , vpblendmw(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E3694CCB40" , vpblendvb(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3694C8C2B8000000060" , vpblendvb(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3694C8C2B8000000060" , vpblendvb(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E36D4CCB40" , vpblendvb(ymm1, ymm2, ymm3, ymm4));
+ TEST_INSTRUCTION("C4E36D4C8C2B8000000060" , vpblendvb(ymm1, ymm2, ptr(ebx, ebp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E36D4C8C2B8000000060" , vpblendvb(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E3690ECB01" , vpblendw(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C4E3690E8C2B8000000001" , vpblendw(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3690E8C2B8000000001" , vpblendw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D0ECB01" , vpblendw(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("C4E36D0E8C2B8000000001" , vpblendw(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D0E8C2B8000000001" , vpblendw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F27D087ACA" , vpbroadcastb(xmm1, edx));
+ TEST_INSTRUCTION("C4E27978CA" , vpbroadcastb(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279788C1A80000000" , vpbroadcastb(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E279788C1A80000000" , vpbroadcastb(xmm1, byte_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D287ACA" , vpbroadcastb(ymm1, edx));
+ TEST_INSTRUCTION("C4E27D78CA" , vpbroadcastb(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D788C1A80000000" , vpbroadcastb(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D788C1A80000000" , vpbroadcastb(ymm1, byte_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D487ACA" , vpbroadcastb(zmm1, edx));
+ TEST_INSTRUCTION("62F27D4878CA" , vpbroadcastb(zmm1, xmm2));
+ TEST_INSTRUCTION("62F27D48788C1A80000000" , vpbroadcastb(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48788C1A80000000" , vpbroadcastb(zmm1, byte_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D087CCA" , vpbroadcastd(xmm1, edx));
+ TEST_INSTRUCTION("C4E27958CA" , vpbroadcastd(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279588C1A80000000" , vpbroadcastd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E279588C1A80000000" , vpbroadcastd(xmm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D287CCA" , vpbroadcastd(ymm1, edx));
+ TEST_INSTRUCTION("C4E27D58CA" , vpbroadcastd(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D588C1A80000000" , vpbroadcastd(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D588C1A80000000" , vpbroadcastd(ymm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D487CCA" , vpbroadcastd(zmm1, edx));
+ TEST_INSTRUCTION("62F27D4858CA" , vpbroadcastd(zmm1, xmm2));
+ TEST_INSTRUCTION("62F27D48584C1A20" , vpbroadcastd(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48584C1A20" , vpbroadcastd(zmm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FE082ACA" , vpbroadcastmb2q(xmm1, k2));
+ TEST_INSTRUCTION("62F2FE282ACA" , vpbroadcastmb2q(ymm1, k2));
+ TEST_INSTRUCTION("62F2FE482ACA" , vpbroadcastmb2q(zmm1, k2));
+ TEST_INSTRUCTION("62F27E083ACA" , vpbroadcastmw2d(xmm1, k2));
+ TEST_INSTRUCTION("62F27E283ACA" , vpbroadcastmw2d(ymm1, k2));
+ TEST_INSTRUCTION("62F27E483ACA" , vpbroadcastmw2d(zmm1, k2));
+ TEST_INSTRUCTION("C4E27959CA" , vpbroadcastq(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279598C1A80000000" , vpbroadcastq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E279598C1A80000000" , vpbroadcastq(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D59CA" , vpbroadcastq(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D598C1A80000000" , vpbroadcastq(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D598C1A80000000" , vpbroadcastq(ymm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD4859CA" , vpbroadcastq(zmm1, xmm2));
+ TEST_INSTRUCTION("62F2FD48594C1A10" , vpbroadcastq(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD48594C1A10" , vpbroadcastq(zmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D087BCA" , vpbroadcastw(xmm1, edx));
+ TEST_INSTRUCTION("C4E27979CA" , vpbroadcastw(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279798C1A80000000" , vpbroadcastw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E279798C1A80000000" , vpbroadcastw(xmm1, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D287BCA" , vpbroadcastw(ymm1, edx));
+ TEST_INSTRUCTION("C4E27D79CA" , vpbroadcastw(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D798C1A80000000" , vpbroadcastw(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D798C1A80000000" , vpbroadcastw(ymm1, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D487BCA" , vpbroadcastw(zmm1, edx));
+ TEST_INSTRUCTION("62F27D4879CA" , vpbroadcastw(zmm1, xmm2));
+ TEST_INSTRUCTION("62F27D48794C1A40" , vpbroadcastw(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48794C1A40" , vpbroadcastw(zmm1, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E36944CB01" , vpclmulqdq(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C4E369448C2B8000000001" , vpclmulqdq(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E369448C2B8000000001" , vpclmulqdq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D44CB01" , vpclmulqdq(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("C4E36D448C2B8000000001" , vpclmulqdq(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D448C2B8000000001" , vpclmulqdq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D4844CB01" , vpclmulqdq(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F36D48444C2B0201" , vpclmulqdq(zmm1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D48444C2B0201" , vpclmulqdq(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("8FE868A2CB40" , vpcmov(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("8FE8E8A28C358000000030" , vpcmov(xmm1, xmm2, xmm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("8FE8E8A28C358000000030" , vpcmov(xmm1, xmm2, xmm3, xmmword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("8FE868A28C2B8000000060" , vpcmov(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE868A28C2B8000000060" , vpcmov(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE86CA2CB40" , vpcmov(ymm1, ymm2, ymm3, ymm4));
+ TEST_INSTRUCTION("8FE8ECA28C358000000030" , vpcmov(ymm1, ymm2, ymm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("8FE8ECA28C358000000030" , vpcmov(ymm1, ymm2, ymm3, ymmword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("8FE86CA28C2B8000000060" , vpcmov(ymm1, ymm2, ptr(ebx, ebp, 0, 128), ymm6));
+ TEST_INSTRUCTION("8FE86CA28C2B8000000060" , vpcmov(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), ymm6));
+ TEST_INSTRUCTION("62F36D083FCB01" , vpcmpb(k1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D083F4C2B0801" , vpcmpb(k1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D083F4C2B0801" , vpcmpb(k1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D283FCB01" , vpcmpb(k1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F36D283F4C2B0401" , vpcmpb(k1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D283F4C2B0401" , vpcmpb(k1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D483FCB01" , vpcmpb(k1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F36D483F4C2B0201" , vpcmpb(k1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D483F4C2B0201" , vpcmpb(k1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D081FCB01" , vpcmpd(k1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D081F4C2B0801" , vpcmpd(k1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D081F4C2B0801" , vpcmpd(k1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D281FCB01" , vpcmpd(k1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F36D281F4C2B0401" , vpcmpd(k1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D281F4C2B0401" , vpcmpd(k1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D481FCB01" , vpcmpd(k1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F36D481F4C2B0201" , vpcmpd(k1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D481F4C2B0201" , vpcmpd(k1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C5E974CB" , vpcmpeqb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9748C2B80000000" , vpcmpeqb(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9748C2B80000000" , vpcmpeqb(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D0874CB" , vpcmpeqb(k1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F16D08744C2B08" , vpcmpeqb(k1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D08744C2B08" , vpcmpeqb(k1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED74CB" , vpcmpeqb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED748C2B80000000" , vpcmpeqb(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED748C2B80000000" , vpcmpeqb(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D2874CB" , vpcmpeqb(k1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F16D28744C2B04" , vpcmpeqb(k1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D28744C2B04" , vpcmpeqb(k1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D4874CB" , vpcmpeqb(k1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48744C2B02" , vpcmpeqb(k1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48744C2B02" , vpcmpeqb(k1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E976CB" , vpcmpeqd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9768C2B80000000" , vpcmpeqd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9768C2B80000000" , vpcmpeqd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D0876CB" , vpcmpeqd(k1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F16D08764C2B08" , vpcmpeqd(k1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D08764C2B08" , vpcmpeqd(k1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED76CB" , vpcmpeqd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED768C2B80000000" , vpcmpeqd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED768C2B80000000" , vpcmpeqd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D2876CB" , vpcmpeqd(k1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F16D28764C2B04" , vpcmpeqd(k1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D28764C2B04" , vpcmpeqd(k1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D4876CB" , vpcmpeqd(k1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48764C2B02" , vpcmpeqd(k1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48764C2B02" , vpcmpeqd(k1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26929CB" , vpcmpeqq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269298C2B80000000" , vpcmpeqq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269298C2B80000000" , vpcmpeqq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0829CB" , vpcmpeqq(k1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08294C2B08" , vpcmpeqq(k1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08294C2B08" , vpcmpeqq(k1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D29CB" , vpcmpeqq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D298C2B80000000" , vpcmpeqq(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D298C2B80000000" , vpcmpeqq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2829CB" , vpcmpeqq(k1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28294C2B04" , vpcmpeqq(k1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28294C2B04" , vpcmpeqq(k1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4829CB" , vpcmpeqq(k1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48294C2B02" , vpcmpeqq(k1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48294C2B02" , vpcmpeqq(k1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E975CB" , vpcmpeqw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9758C2B80000000" , vpcmpeqw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9758C2B80000000" , vpcmpeqw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D0875CB" , vpcmpeqw(k1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F16D08754C2B08" , vpcmpeqw(k1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D08754C2B08" , vpcmpeqw(k1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED75CB" , vpcmpeqw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED758C2B80000000" , vpcmpeqw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED758C2B80000000" , vpcmpeqw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D2875CB" , vpcmpeqw(k1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F16D28754C2B04" , vpcmpeqw(k1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D28754C2B04" , vpcmpeqw(k1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D4875CB" , vpcmpeqw(k1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48754C2B02" , vpcmpeqw(k1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48754C2B02" , vpcmpeqw(k1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E37961CA01" , vpcmpestri(xmm1, xmm2, 1, ecx, eax, edx));
+ TEST_INSTRUCTION("C4E379618C1A8000000001" , vpcmpestri(xmm1, ptr(edx, ebx, 0, 128), 1, ecx, eax, edx));
+ TEST_INSTRUCTION("C4E379618C1A8000000001" , vpcmpestri(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1, ecx, eax, edx));
+ TEST_INSTRUCTION("C4E37960CA01" , vpcmpestrm(xmm1, xmm2, 1, xmm0, eax, edx));
+ TEST_INSTRUCTION("C4E379608C1A8000000001" , vpcmpestrm(xmm1, ptr(edx, ebx, 0, 128), 1, xmm0, eax, edx));
+ TEST_INSTRUCTION("C4E379608C1A8000000001" , vpcmpestrm(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1, xmm0, eax, edx));
+ TEST_INSTRUCTION("C5E964CB" , vpcmpgtb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9648C2B80000000" , vpcmpgtb(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9648C2B80000000" , vpcmpgtb(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D0864CB" , vpcmpgtb(k1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F16D08644C2B08" , vpcmpgtb(k1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D08644C2B08" , vpcmpgtb(k1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED64CB" , vpcmpgtb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED648C2B80000000" , vpcmpgtb(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED648C2B80000000" , vpcmpgtb(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D2864CB" , vpcmpgtb(k1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F16D28644C2B04" , vpcmpgtb(k1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D28644C2B04" , vpcmpgtb(k1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D4864CB" , vpcmpgtb(k1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48644C2B02" , vpcmpgtb(k1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48644C2B02" , vpcmpgtb(k1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E966CB" , vpcmpgtd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9668C2B80000000" , vpcmpgtd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9668C2B80000000" , vpcmpgtd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D0866CB" , vpcmpgtd(k1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F16D08664C2B08" , vpcmpgtd(k1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D08664C2B08" , vpcmpgtd(k1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED66CB" , vpcmpgtd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED668C2B80000000" , vpcmpgtd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED668C2B80000000" , vpcmpgtd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D2866CB" , vpcmpgtd(k1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F16D28664C2B04" , vpcmpgtd(k1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D28664C2B04" , vpcmpgtd(k1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D4866CB" , vpcmpgtd(k1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48664C2B02" , vpcmpgtd(k1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48664C2B02" , vpcmpgtd(k1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26937CB" , vpcmpgtq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269378C2B80000000" , vpcmpgtq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269378C2B80000000" , vpcmpgtq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0837CB" , vpcmpgtq(k1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08374C2B08" , vpcmpgtq(k1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08374C2B08" , vpcmpgtq(k1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D37CB" , vpcmpgtq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D378C2B80000000" , vpcmpgtq(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D378C2B80000000" , vpcmpgtq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2837CB" , vpcmpgtq(k1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28374C2B04" , vpcmpgtq(k1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28374C2B04" , vpcmpgtq(k1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4837CB" , vpcmpgtq(k1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48374C2B02" , vpcmpgtq(k1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48374C2B02" , vpcmpgtq(k1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E965CB" , vpcmpgtw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9658C2B80000000" , vpcmpgtw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9658C2B80000000" , vpcmpgtw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D0865CB" , vpcmpgtw(k1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F16D08654C2B08" , vpcmpgtw(k1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D08654C2B08" , vpcmpgtw(k1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED65CB" , vpcmpgtw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED658C2B80000000" , vpcmpgtw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED658C2B80000000" , vpcmpgtw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D2865CB" , vpcmpgtw(k1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F16D28654C2B04" , vpcmpgtw(k1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D28654C2B04" , vpcmpgtw(k1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D4865CB" , vpcmpgtw(k1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48654C2B02" , vpcmpgtw(k1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48654C2B02" , vpcmpgtw(k1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E37963CA01" , vpcmpistri(xmm1, xmm2, 1, ecx));
+ TEST_INSTRUCTION("C4E379638C1A8000000001" , vpcmpistri(xmm1, ptr(edx, ebx, 0, 128), 1, ecx));
+ TEST_INSTRUCTION("C4E379638C1A8000000001" , vpcmpistri(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1, ecx));
+ TEST_INSTRUCTION("C4E37962CA01" , vpcmpistrm(xmm1, xmm2, 1, xmm0));
+ TEST_INSTRUCTION("C4E379628C1A8000000001" , vpcmpistrm(xmm1, ptr(edx, ebx, 0, 128), 1, xmm0));
+ TEST_INSTRUCTION("C4E379628C1A8000000001" , vpcmpistrm(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1, xmm0));
+ TEST_INSTRUCTION("62F3ED081FCB01" , vpcmpq(k1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED081F4C2B0801" , vpcmpq(k1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED081F4C2B0801" , vpcmpq(k1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED281FCB01" , vpcmpq(k1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F3ED281F4C2B0401" , vpcmpq(k1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED281F4C2B0401" , vpcmpq(k1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED481FCB01" , vpcmpq(k1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F3ED481F4C2B0201" , vpcmpq(k1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED481F4C2B0201" , vpcmpq(k1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D083ECB01" , vpcmpub(k1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D083E4C2B0801" , vpcmpub(k1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D083E4C2B0801" , vpcmpub(k1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D283ECB01" , vpcmpub(k1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F36D283E4C2B0401" , vpcmpub(k1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D283E4C2B0401" , vpcmpub(k1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D483ECB01" , vpcmpub(k1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F36D483E4C2B0201" , vpcmpub(k1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D483E4C2B0201" , vpcmpub(k1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D081ECB01" , vpcmpud(k1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D081E4C2B0801" , vpcmpud(k1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D081E4C2B0801" , vpcmpud(k1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D281ECB01" , vpcmpud(k1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F36D281E4C2B0401" , vpcmpud(k1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D281E4C2B0401" , vpcmpud(k1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D481ECB01" , vpcmpud(k1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F36D481E4C2B0201" , vpcmpud(k1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D481E4C2B0201" , vpcmpud(k1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED081ECB01" , vpcmpuq(k1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED081E4C2B0801" , vpcmpuq(k1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED081E4C2B0801" , vpcmpuq(k1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED281ECB01" , vpcmpuq(k1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F3ED281E4C2B0401" , vpcmpuq(k1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED281E4C2B0401" , vpcmpuq(k1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED481ECB01" , vpcmpuq(k1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F3ED481E4C2B0201" , vpcmpuq(k1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED481E4C2B0201" , vpcmpuq(k1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED083ECB01" , vpcmpuw(k1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED083E4C2B0801" , vpcmpuw(k1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED083E4C2B0801" , vpcmpuw(k1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED283ECB01" , vpcmpuw(k1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F3ED283E4C2B0401" , vpcmpuw(k1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED283E4C2B0401" , vpcmpuw(k1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED483ECB01" , vpcmpuw(k1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F3ED483E4C2B0201" , vpcmpuw(k1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED483E4C2B0201" , vpcmpuw(k1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED083FCB01" , vpcmpw(k1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED083F4C2B0801" , vpcmpw(k1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED083F4C2B0801" , vpcmpw(k1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED283FCB01" , vpcmpw(k1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F3ED283F4C2B0401" , vpcmpw(k1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED283F4C2B0401" , vpcmpw(k1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED483FCB01" , vpcmpw(k1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F3ED483F4C2B0201" , vpcmpw(k1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED483F4C2B0201" , vpcmpw(k1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("8FE868CCCB01" , vpcomb(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("8FE868CC8C2B8000000001" , vpcomb(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("8FE868CC8C2B8000000001" , vpcomb(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("8FE868CECB01" , vpcomd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("8FE868CE8C2B8000000001" , vpcomd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("8FE868CE8C2B8000000001" , vpcomd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F27D0863D1" , vpcompressb(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27D08639C1180000000" , vpcompressb(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27D08639C1180000000" , vpcompressb(xmmword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27D2863D1" , vpcompressb(ymm1, ymm2));
+ TEST_INSTRUCTION("62F27D28639C1180000000" , vpcompressb(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27D28639C1180000000" , vpcompressb(ymmword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27D4863D1" , vpcompressb(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D48639C1180000000" , vpcompressb(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27D48639C1180000000" , vpcompressb(zmmword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27D088BD1" , vpcompressd(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27D088B5C1120" , vpcompressd(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27D088B5C1120" , vpcompressd(xmmword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27D288BD1" , vpcompressd(ymm1, ymm2));
+ TEST_INSTRUCTION("62F27D288B5C1120" , vpcompressd(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27D288B5C1120" , vpcompressd(ymmword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27D488BD1" , vpcompressd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D488B5C1120" , vpcompressd(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27D488B5C1120" , vpcompressd(zmmword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F2FD088BD1" , vpcompressq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F2FD088B5C1110" , vpcompressq(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F2FD088B5C1110" , vpcompressq(xmmword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F2FD288BD1" , vpcompressq(ymm1, ymm2));
+ TEST_INSTRUCTION("62F2FD288B5C1110" , vpcompressq(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F2FD288B5C1110" , vpcompressq(ymmword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F2FD488BD1" , vpcompressq(zmm1, zmm2));
+ TEST_INSTRUCTION("62F2FD488B5C1110" , vpcompressq(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F2FD488B5C1110" , vpcompressq(zmmword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F2FD0863D1" , vpcompressw(xmm1, xmm2));
+ TEST_INSTRUCTION("62F2FD08635C1140" , vpcompressw(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F2FD08635C1140" , vpcompressw(xmmword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F2FD2863D1" , vpcompressw(ymm1, ymm2));
+ TEST_INSTRUCTION("62F2FD28635C1140" , vpcompressw(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F2FD28635C1140" , vpcompressw(ymmword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F2FD4863D1" , vpcompressw(zmm1, zmm2));
+ TEST_INSTRUCTION("62F2FD48635C1140" , vpcompressw(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F2FD48635C1140" , vpcompressw(zmmword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("8FE868CFCB01" , vpcomq(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("8FE868CF8C2B8000000001" , vpcomq(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("8FE868CF8C2B8000000001" , vpcomq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("8FE868ECCB01" , vpcomub(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("8FE868EC8C2B8000000001" , vpcomub(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("8FE868EC8C2B8000000001" , vpcomub(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("8FE868EECB01" , vpcomud(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("8FE868EE8C2B8000000001" , vpcomud(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("8FE868EE8C2B8000000001" , vpcomud(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("8FE868EFCB01" , vpcomuq(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("8FE868EF8C2B8000000001" , vpcomuq(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("8FE868EF8C2B8000000001" , vpcomuq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("8FE868EDCB01" , vpcomuw(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("8FE868ED8C2B8000000001" , vpcomuw(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("8FE868ED8C2B8000000001" , vpcomuw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("8FE868CDCB01" , vpcomw(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("8FE868CD8C2B8000000001" , vpcomw(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("8FE868CD8C2B8000000001" , vpcomw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F27D08C4CA" , vpconflictd(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27D08C44C1A08" , vpconflictd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D08C44C1A08" , vpconflictd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D28C4CA" , vpconflictd(ymm1, ymm2));
+ TEST_INSTRUCTION("62F27D28C44C1A04" , vpconflictd(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D28C44C1A04" , vpconflictd(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48C4CA" , vpconflictd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D48C44C1A02" , vpconflictd(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48C44C1A02" , vpconflictd(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD08C4CA" , vpconflictq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F2FD08C44C1A08" , vpconflictq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD08C44C1A08" , vpconflictq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD28C4CA" , vpconflictq(ymm1, ymm2));
+ TEST_INSTRUCTION("62F2FD28C44C1A04" , vpconflictq(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD28C44C1A04" , vpconflictq(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD48C4CA" , vpconflictq(zmm1, zmm2));
+ TEST_INSTRUCTION("62F2FD48C44C1A02" , vpconflictq(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD48C44C1A02" , vpconflictq(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F26D0850CB" , vpdpbusd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08504C2B08" , vpdpbusd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08504C2B08" , vpdpbusd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D2850CB" , vpdpbusd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D28504C2B04" , vpdpbusd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D28504C2B04" , vpdpbusd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4850CB" , vpdpbusd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48504C2B02" , vpdpbusd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48504C2B02" , vpdpbusd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D0851CB" , vpdpbusds(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08514C2B08" , vpdpbusds(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08514C2B08" , vpdpbusds(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D2851CB" , vpdpbusds(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D28514C2B04" , vpdpbusds(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D28514C2B04" , vpdpbusds(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4851CB" , vpdpbusds(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48514C2B02" , vpdpbusds(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48514C2B02" , vpdpbusds(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D0852CB" , vpdpwssd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08524C2B08" , vpdpwssd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08524C2B08" , vpdpwssd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D2852CB" , vpdpwssd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D28524C2B04" , vpdpwssd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D28524C2B04" , vpdpwssd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4852CB" , vpdpwssd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48524C2B02" , vpdpwssd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48524C2B02" , vpdpwssd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D0853CB" , vpdpwssds(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08534C2B08" , vpdpwssds(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08534C2B08" , vpdpwssds(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D2853CB" , vpdpwssds(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D28534C2B04" , vpdpwssds(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D28534C2B04" , vpdpwssds(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4853CB" , vpdpwssds(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48534C2B02" , vpdpwssds(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48534C2B02" , vpdpwssds(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E36D06CB01" , vperm2f128(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("C4E36D068C2B8000000001" , vperm2f128(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D068C2B8000000001" , vperm2f128(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D46CB01" , vperm2i128(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("C4E36D468C2B8000000001" , vperm2i128(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D468C2B8000000001" , vperm2i128(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F26D088DCB" , vpermb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D088D4C2B08" , vpermb(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D088D4C2B08" , vpermb(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D288DCB" , vpermb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D288D4C2B04" , vpermb(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D288D4C2B04" , vpermb(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D488DCB" , vpermb(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D488D4C2B02" , vpermb(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D488D4C2B02" , vpermb(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D36CB" , vpermd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D368C2B80000000" , vpermd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D368C2B80000000" , vpermd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4836CB" , vpermd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48364C2B02" , vpermd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48364C2B02" , vpermd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D0875CB" , vpermi2b(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08754C2B08" , vpermi2b(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08754C2B08" , vpermi2b(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D2875CB" , vpermi2b(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D28754C2B04" , vpermi2b(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D28754C2B04" , vpermi2b(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4875CB" , vpermi2b(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48754C2B02" , vpermi2b(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48754C2B02" , vpermi2b(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D0876CB" , vpermi2d(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08764C2B08" , vpermi2d(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08764C2B08" , vpermi2d(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D2876CB" , vpermi2d(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D28764C2B04" , vpermi2d(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D28764C2B04" , vpermi2d(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4876CB" , vpermi2d(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48764C2B02" , vpermi2d(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48764C2B02" , vpermi2d(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0877CB" , vpermi2pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08774C2B08" , vpermi2pd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08774C2B08" , vpermi2pd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2877CB" , vpermi2pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28774C2B04" , vpermi2pd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28774C2B04" , vpermi2pd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4877CB" , vpermi2pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48774C2B02" , vpermi2pd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48774C2B02" , vpermi2pd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D0877CB" , vpermi2ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08774C2B08" , vpermi2ps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08774C2B08" , vpermi2ps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D2877CB" , vpermi2ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D28774C2B04" , vpermi2ps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D28774C2B04" , vpermi2ps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4877CB" , vpermi2ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48774C2B02" , vpermi2ps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48774C2B02" , vpermi2ps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0876CB" , vpermi2q(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08764C2B08" , vpermi2q(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08764C2B08" , vpermi2q(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2876CB" , vpermi2q(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28764C2B04" , vpermi2q(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28764C2B04" , vpermi2q(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4876CB" , vpermi2q(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48764C2B02" , vpermi2q(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48764C2B02" , vpermi2q(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0875CB" , vpermi2w(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08754C2B08" , vpermi2w(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08754C2B08" , vpermi2w(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2875CB" , vpermi2w(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28754C2B04" , vpermi2w(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28754C2B04" , vpermi2w(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4875CB" , vpermi2w(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48754C2B02" , vpermi2w(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48754C2B02" , vpermi2w(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E36949CB41" , vpermil2pd(xmm1, xmm2, xmm3, xmm4, 1));
+ TEST_INSTRUCTION("C4E369498C2B8000000061" , vpermil2pd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6, 1));
+ TEST_INSTRUCTION("C4E369498C2B8000000061" , vpermil2pd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), xmm6, 1));
+ TEST_INSTRUCTION("C4E3E9498C358000000031" , vpermil2pd(xmm1, xmm2, xmm3, ptr(ebp, esi, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3E9498C358000000031" , vpermil2pd(xmm1, xmm2, xmm3, xmmword_ptr(ebp, esi, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D49CB41" , vpermil2pd(ymm1, ymm2, ymm3, ymm4, 1));
+ TEST_INSTRUCTION("C4E36D498C2B8000000061" , vpermil2pd(ymm1, ymm2, ptr(ebx, ebp, 0, 128), ymm6, 1));
+ TEST_INSTRUCTION("C4E36D498C2B8000000061" , vpermil2pd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), ymm6, 1));
+ TEST_INSTRUCTION("C4E3ED498C358000000031" , vpermil2pd(ymm1, ymm2, ymm3, ptr(ebp, esi, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3ED498C358000000031" , vpermil2pd(ymm1, ymm2, ymm3, ymmword_ptr(ebp, esi, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36948CB41" , vpermil2ps(xmm1, xmm2, xmm3, xmm4, 1));
+ TEST_INSTRUCTION("C4E369488C2B8000000061" , vpermil2ps(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6, 1));
+ TEST_INSTRUCTION("C4E369488C2B8000000061" , vpermil2ps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), xmm6, 1));
+ TEST_INSTRUCTION("C4E3E9488C358000000031" , vpermil2ps(xmm1, xmm2, xmm3, ptr(ebp, esi, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3E9488C358000000031" , vpermil2ps(xmm1, xmm2, xmm3, xmmword_ptr(ebp, esi, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D48CB41" , vpermil2ps(ymm1, ymm2, ymm3, ymm4, 1));
+ TEST_INSTRUCTION("C4E36D488C2B8000000061" , vpermil2ps(ymm1, ymm2, ptr(ebx, ebp, 0, 128), ymm6, 1));
+ TEST_INSTRUCTION("C4E36D488C2B8000000061" , vpermil2ps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), ymm6, 1));
+ TEST_INSTRUCTION("C4E3ED488C358000000031" , vpermil2ps(ymm1, ymm2, ymm3, ptr(ebp, esi, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3ED488C358000000031" , vpermil2ps(ymm1, ymm2, ymm3, ymmword_ptr(ebp, esi, 0, 128), 1));
+ TEST_INSTRUCTION("C4E2690DCB" , vpermilpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E37905CA01" , vpermilpd(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("C4E2690D8C2B80000000" , vpermilpd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2690D8C2B80000000" , vpermilpd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E379058C1A8000000001" , vpermilpd(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E379058C1A8000000001" , vpermilpd(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E26D0DCB" , vpermilpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E37D05CA01" , vpermilpd(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("C4E26D0D8C2B80000000" , vpermilpd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D0D8C2B80000000" , vpermilpd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E37D058C1A8000000001" , vpermilpd(ymm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E37D058C1A8000000001" , vpermilpd(ymm1, ymmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F2ED480DCB" , vpermilpd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F3FD4805CA01" , vpermilpd(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F2ED480D4C2B02" , vpermilpd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED480D4C2B02" , vpermilpd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F3FD48054C1A0201" , vpermilpd(zmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD48054C1A0201" , vpermilpd(zmm1, zmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E2690CCB" , vpermilps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E37904CA01" , vpermilps(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("C4E2690C8C2B80000000" , vpermilps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2690C8C2B80000000" , vpermilps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E379048C1A8000000001" , vpermilps(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E379048C1A8000000001" , vpermilps(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E26D0CCB" , vpermilps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E37D04CA01" , vpermilps(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("C4E26D0C8C2B80000000" , vpermilps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D0C8C2B80000000" , vpermilps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E37D048C1A8000000001" , vpermilps(ymm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E37D048C1A8000000001" , vpermilps(ymm1, ymmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F26D480CCB" , vpermilps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F37D4804CA01" , vpermilps(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F26D480C4C2B02" , vpermilps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D480C4C2B02" , vpermilps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F37D48044C1A0201" , vpermilps(zmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D48044C1A0201" , vpermilps(zmm1, zmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3FD01CA01" , vpermpd(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("C4E3FD018C1A8000000001" , vpermpd(ymm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3FD018C1A8000000001" , vpermpd(ymm1, ymmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F2ED2816CB" , vpermpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28164C2B04" , vpermpd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28164C2B04" , vpermpd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4816CB" , vpermpd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F3FD4801CA01" , vpermpd(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F2ED48164C2B02" , vpermpd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48164C2B02" , vpermpd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F3FD48014C1A0201" , vpermpd(zmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD48014C1A0201" , vpermpd(zmm1, zmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E26D16CB" , vpermps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D168C2B80000000" , vpermps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D168C2B80000000" , vpermps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4816CB" , vpermps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48164C2B02" , vpermps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48164C2B02" , vpermps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E3FD00CA01" , vpermq(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("C4E3FD008C1A8000000001" , vpermq(ymm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3FD008C1A8000000001" , vpermq(ymm1, ymmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F2ED2836CB" , vpermq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28364C2B04" , vpermq(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28364C2B04" , vpermq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4836CB" , vpermq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F3FD4800CA01" , vpermq(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F2ED48364C2B02" , vpermq(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48364C2B02" , vpermq(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F3FD48004C1A0201" , vpermq(zmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD48004C1A0201" , vpermq(zmm1, zmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F26D087DCB" , vpermt2b(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D087D4C2B08" , vpermt2b(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D087D4C2B08" , vpermt2b(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D287DCB" , vpermt2b(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D287D4C2B04" , vpermt2b(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D287D4C2B04" , vpermt2b(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D487DCB" , vpermt2b(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D487D4C2B02" , vpermt2b(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D487D4C2B02" , vpermt2b(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D087ECB" , vpermt2d(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D087E4C2B08" , vpermt2d(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D087E4C2B08" , vpermt2d(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D287ECB" , vpermt2d(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D287E4C2B04" , vpermt2d(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D287E4C2B04" , vpermt2d(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D487ECB" , vpermt2d(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D487E4C2B02" , vpermt2d(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D487E4C2B02" , vpermt2d(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED087FCB" , vpermt2pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED087F4C2B08" , vpermt2pd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED087F4C2B08" , vpermt2pd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED287FCB" , vpermt2pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED287F4C2B04" , vpermt2pd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED287F4C2B04" , vpermt2pd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED487FCB" , vpermt2pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED487F4C2B02" , vpermt2pd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED487F4C2B02" , vpermt2pd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D087FCB" , vpermt2ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D087F4C2B08" , vpermt2ps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D087F4C2B08" , vpermt2ps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D287FCB" , vpermt2ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D287F4C2B04" , vpermt2ps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D287F4C2B04" , vpermt2ps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D487FCB" , vpermt2ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D487F4C2B02" , vpermt2ps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D487F4C2B02" , vpermt2ps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED087ECB" , vpermt2q(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED087E4C2B08" , vpermt2q(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED087E4C2B08" , vpermt2q(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED287ECB" , vpermt2q(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED287E4C2B04" , vpermt2q(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED287E4C2B04" , vpermt2q(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED487ECB" , vpermt2q(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED487E4C2B02" , vpermt2q(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED487E4C2B02" , vpermt2q(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED087DCB" , vpermt2w(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED087D4C2B08" , vpermt2w(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED087D4C2B08" , vpermt2w(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED287DCB" , vpermt2w(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED287D4C2B04" , vpermt2w(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED287D4C2B04" , vpermt2w(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED487DCB" , vpermt2w(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED487D4C2B02" , vpermt2w(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED487D4C2B02" , vpermt2w(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED088DCB" , vpermw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED088D4C2B08" , vpermw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED088D4C2B08" , vpermw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED288DCB" , vpermw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED288D4C2B04" , vpermw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED288D4C2B04" , vpermw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED488DCB" , vpermw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED488D4C2B02" , vpermw(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED488D4C2B02" , vpermw(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F27D0862CA" , vpexpandb(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27D08628C1A80000000" , vpexpandb(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D08628C1A80000000" , vpexpandb(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D2862CA" , vpexpandb(ymm1, ymm2));
+ TEST_INSTRUCTION("62F27D28628C1A80000000" , vpexpandb(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D28628C1A80000000" , vpexpandb(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4862CA" , vpexpandb(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D48628C1A80000000" , vpexpandb(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48628C1A80000000" , vpexpandb(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D0889CA" , vpexpandd(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27D08894C1A20" , vpexpandd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D08894C1A20" , vpexpandd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D2889CA" , vpexpandd(ymm1, ymm2));
+ TEST_INSTRUCTION("62F27D28894C1A20" , vpexpandd(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D28894C1A20" , vpexpandd(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4889CA" , vpexpandd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D48894C1A20" , vpexpandd(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48894C1A20" , vpexpandd(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD0889CA" , vpexpandq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F2FD08894C1A10" , vpexpandq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD08894C1A10" , vpexpandq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD2889CA" , vpexpandq(ymm1, ymm2));
+ TEST_INSTRUCTION("62F2FD28894C1A10" , vpexpandq(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD28894C1A10" , vpexpandq(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD4889CA" , vpexpandq(zmm1, zmm2));
+ TEST_INSTRUCTION("62F2FD48894C1A10" , vpexpandq(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD48894C1A10" , vpexpandq(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD0862CA" , vpexpandw(xmm1, xmm2));
+ TEST_INSTRUCTION("62F2FD08624C1A40" , vpexpandw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD08624C1A40" , vpexpandw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD2862CA" , vpexpandw(ymm1, ymm2));
+ TEST_INSTRUCTION("62F2FD28624C1A40" , vpexpandw(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD28624C1A40" , vpexpandw(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD4862CA" , vpexpandw(zmm1, zmm2));
+ TEST_INSTRUCTION("62F2FD48624C1A40" , vpexpandw(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD48624C1A40" , vpexpandw(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E37914D101" , vpextrb(ecx, xmm2, 1));
+ TEST_INSTRUCTION("C4E379149C118000000001" , vpextrb(ptr(ecx, edx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("C4E379149C118000000001" , vpextrb(byte_ptr(ecx, edx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("C4E37916D101" , vpextrd(ecx, xmm2, 1));
+ TEST_INSTRUCTION("C4E379169C118000000001" , vpextrd(ptr(ecx, edx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("C4E379169C118000000001" , vpextrd(dword_ptr(ecx, edx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("C5F9C5CA01" , vpextrw(ecx, xmm2, 1));
+ TEST_INSTRUCTION("C4E379159C118000000001" , vpextrw(ptr(ecx, edx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("C4E379159C118000000001" , vpextrw(word_ptr(ecx, edx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("C4E259908C1A80000000" , vpgatherdd(xmm1, ptr(edx, xmm3, 0, 128), xmm4));
+ TEST_INSTRUCTION("C4E25D908C1A80000000" , vpgatherdd(ymm1, ptr(edx, ymm3, 0, 128), ymm4));
+ TEST_INSTRUCTION("62F27D09904C1A20" , k(k1).vpgatherdd(xmm1, ptr(edx, xmm3, 0, 128)));
+ TEST_INSTRUCTION("62F27D29904C1A20" , k(k1).vpgatherdd(ymm1, ptr(edx, ymm3, 0, 128)));
+ TEST_INSTRUCTION("62F27D49904C1A20" , k(k1).vpgatherdd(zmm1, ptr(edx, zmm3, 0, 128)));
+ TEST_INSTRUCTION("C4E2D9908C1A80000000" , vpgatherdq(xmm1, ptr(edx, xmm3, 0, 128), xmm4));
+ TEST_INSTRUCTION("C4E2DD908C1A80000000" , vpgatherdq(ymm1, ptr(edx, xmm3, 0, 128), ymm4));
+ TEST_INSTRUCTION("62F2FD09904C1A10" , k(k1).vpgatherdq(xmm1, ptr(edx, xmm3, 0, 128)));
+ TEST_INSTRUCTION("62F2FD29904C1A10" , k(k1).vpgatherdq(ymm1, ptr(edx, xmm3, 0, 128)));
+ TEST_INSTRUCTION("62F2FD49904C1A10" , k(k1).vpgatherdq(zmm1, ptr(edx, ymm3, 0, 128)));
+ TEST_INSTRUCTION("C4E259918C1A80000000" , vpgatherqd(xmm1, ptr(edx, xmm3, 0, 128), xmm4));
+ TEST_INSTRUCTION("C4E25D918C1A80000000" , vpgatherqd(xmm1, ptr(edx, ymm3, 0, 128), xmm4));
+ TEST_INSTRUCTION("62F27D09914C1A20" , k(k1).vpgatherqd(xmm1, ptr(edx, xmm3, 0, 128)));
+ TEST_INSTRUCTION("62F27D29914C1A20" , k(k1).vpgatherqd(xmm1, ptr(edx, ymm3, 0, 128)));
+ TEST_INSTRUCTION("62F27D49914C1A20" , k(k1).vpgatherqd(ymm1, ptr(edx, zmm3, 0, 128)));
+ TEST_INSTRUCTION("C4E2D9918C1A80000000" , vpgatherqq(xmm1, ptr(edx, xmm3, 0, 128), xmm4));
+ TEST_INSTRUCTION("C4E2DD918C1A80000000" , vpgatherqq(ymm1, ptr(edx, ymm3, 0, 128), ymm4));
+ TEST_INSTRUCTION("62F2FD09914C1A10" , k(k1).vpgatherqq(xmm1, ptr(edx, xmm3, 0, 128)));
+ TEST_INSTRUCTION("62F2FD29914C1A10" , k(k1).vpgatherqq(ymm1, ptr(edx, ymm3, 0, 128)));
+ TEST_INSTRUCTION("62F2FD49914C1A10" , k(k1).vpgatherqq(zmm1, ptr(edx, zmm3, 0, 128)));
+ TEST_INSTRUCTION("8FE978C2CA" , vphaddbd(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978C28C1A80000000" , vphaddbd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE978C28C1A80000000" , vphaddbd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE978C3CA" , vphaddbq(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978C38C1A80000000" , vphaddbq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE978C38C1A80000000" , vphaddbq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE978C1CA" , vphaddbw(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978C18C1A80000000" , vphaddbw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE978C18C1A80000000" , vphaddbw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E26902CB" , vphaddd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269028C2B80000000" , vphaddd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269028C2B80000000" , vphaddd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D02CB" , vphaddd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D028C2B80000000" , vphaddd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D028C2B80000000" , vphaddd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("8FE978CBCA" , vphadddq(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978CB8C1A80000000" , vphadddq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE978CB8C1A80000000" , vphadddq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E26903CB" , vphaddsw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269038C2B80000000" , vphaddsw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269038C2B80000000" , vphaddsw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D03CB" , vphaddsw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D038C2B80000000" , vphaddsw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D038C2B80000000" , vphaddsw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("8FE978D2CA" , vphaddubd(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978D28C1A80000000" , vphaddubd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE978D28C1A80000000" , vphaddubd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE978D3CA" , vphaddubq(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978D38C1A80000000" , vphaddubq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE978D38C1A80000000" , vphaddubq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE978D1CA" , vphaddubw(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978D18C1A80000000" , vphaddubw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE978D18C1A80000000" , vphaddubw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE978DBCA" , vphaddudq(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978DB8C1A80000000" , vphaddudq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE978DB8C1A80000000" , vphaddudq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE978D6CA" , vphadduwd(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978D68C1A80000000" , vphadduwd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE978D68C1A80000000" , vphadduwd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE978D7CA" , vphadduwq(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978D78C1A80000000" , vphadduwq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE978D78C1A80000000" , vphadduwq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E26901CB" , vphaddw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269018C2B80000000" , vphaddw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269018C2B80000000" , vphaddw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D01CB" , vphaddw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D018C2B80000000" , vphaddw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D018C2B80000000" , vphaddw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("8FE978C6CA" , vphaddwd(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978C68C1A80000000" , vphaddwd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE978C68C1A80000000" , vphaddwd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE978C7CA" , vphaddwq(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978C78C1A80000000" , vphaddwq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE978C78C1A80000000" , vphaddwq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27941CA" , vphminposuw(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279418C1A80000000" , vphminposuw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E279418C1A80000000" , vphminposuw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE978E1CA" , vphsubbw(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978E18C1A80000000" , vphsubbw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE978E18C1A80000000" , vphsubbw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E26906CB" , vphsubd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269068C2B80000000" , vphsubd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269068C2B80000000" , vphsubd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D06CB" , vphsubd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D068C2B80000000" , vphsubd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D068C2B80000000" , vphsubd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("8FE978E3CA" , vphsubdq(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978E38C1A80000000" , vphsubdq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE978E38C1A80000000" , vphsubdq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E26907CB" , vphsubsw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269078C2B80000000" , vphsubsw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269078C2B80000000" , vphsubsw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D07CB" , vphsubsw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D078C2B80000000" , vphsubsw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D078C2B80000000" , vphsubsw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26905CB" , vphsubw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269058C2B80000000" , vphsubw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269058C2B80000000" , vphsubw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D05CB" , vphsubw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D058C2B80000000" , vphsubw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D058C2B80000000" , vphsubw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("8FE978E2CA" , vphsubwd(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978E28C1A80000000" , vphsubwd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE978E28C1A80000000" , vphsubwd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E36920CB01" , vpinsrb(xmm1, xmm2, ebx, 1));
+ TEST_INSTRUCTION("C4E369208C2B8000000001" , vpinsrb(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E369208C2B8000000001" , vpinsrb(xmm1, xmm2, byte_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36922CB01" , vpinsrd(xmm1, xmm2, ebx, 1));
+ TEST_INSTRUCTION("C4E369228C2B8000000001" , vpinsrd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E369228C2B8000000001" , vpinsrd(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C5E9C4CB01" , vpinsrw(xmm1, xmm2, ebx, 1));
+ TEST_INSTRUCTION("C5E9C48C2B8000000001" , vpinsrw(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C5E9C48C2B8000000001" , vpinsrw(xmm1, xmm2, word_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F27D0844CA" , vplzcntd(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27D08444C1A08" , vplzcntd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D08444C1A08" , vplzcntd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D2844CA" , vplzcntd(ymm1, ymm2));
+ TEST_INSTRUCTION("62F27D28444C1A04" , vplzcntd(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D28444C1A04" , vplzcntd(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4844CA" , vplzcntd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D48444C1A02" , vplzcntd(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48444C1A02" , vplzcntd(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD0844CA" , vplzcntq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F2FD08444C1A08" , vplzcntq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD08444C1A08" , vplzcntq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD2844CA" , vplzcntq(ymm1, ymm2));
+ TEST_INSTRUCTION("62F2FD28444C1A04" , vplzcntq(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD28444C1A04" , vplzcntq(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD4844CA" , vplzcntq(zmm1, zmm2));
+ TEST_INSTRUCTION("62F2FD48444C1A02" , vplzcntq(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD48444C1A02" , vplzcntq(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("8FE8689ECB40" , vpmacsdd(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("8FE8689E8C2B8000000060" , vpmacsdd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE8689E8C2B8000000060" , vpmacsdd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE8689FCB40" , vpmacsdqh(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("8FE8689F8C2B8000000060" , vpmacsdqh(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE8689F8C2B8000000060" , vpmacsdqh(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE86897CB40" , vpmacsdql(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("8FE868978C2B8000000060" , vpmacsdql(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE868978C2B8000000060" , vpmacsdql(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE8688ECB40" , vpmacssdd(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("8FE8688E8C2B8000000060" , vpmacssdd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE8688E8C2B8000000060" , vpmacssdd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE8688FCB40" , vpmacssdqh(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("8FE8688F8C2B8000000060" , vpmacssdqh(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE8688F8C2B8000000060" , vpmacssdqh(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE86887CB40" , vpmacssdql(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("8FE868878C2B8000000060" , vpmacssdql(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE868878C2B8000000060" , vpmacssdql(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE86886CB40" , vpmacsswd(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("8FE868868C2B8000000060" , vpmacsswd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE868868C2B8000000060" , vpmacsswd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE86885CB40" , vpmacssww(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("8FE868858C2B8000000060" , vpmacssww(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE868858C2B8000000060" , vpmacssww(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE86896CB40" , vpmacswd(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("8FE868968C2B8000000060" , vpmacswd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE868968C2B8000000060" , vpmacswd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE86895CB40" , vpmacsww(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("8FE868958C2B8000000060" , vpmacsww(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE868958C2B8000000060" , vpmacsww(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE868A6CB40" , vpmadcsswd(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("8FE868A68C2B8000000060" , vpmadcsswd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE868A68C2B8000000060" , vpmadcsswd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE868B6CB40" , vpmadcswd(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("8FE868B68C2B8000000060" , vpmadcswd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE868B68C2B8000000060" , vpmadcswd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("62F2ED08B5CB" , vpmadd52huq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08B54C2B08" , vpmadd52huq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08B54C2B08" , vpmadd52huq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28B5CB" , vpmadd52huq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28B54C2B04" , vpmadd52huq(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28B54C2B04" , vpmadd52huq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48B5CB" , vpmadd52huq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48B54C2B02" , vpmadd52huq(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48B54C2B02" , vpmadd52huq(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08B4CB" , vpmadd52luq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08B44C2B08" , vpmadd52luq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08B44C2B08" , vpmadd52luq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28B4CB" , vpmadd52luq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28B44C2B04" , vpmadd52luq(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28B44C2B04" , vpmadd52luq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48B4CB" , vpmadd52luq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48B44C2B02" , vpmadd52luq(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48B44C2B02" , vpmadd52luq(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26904CB" , vpmaddubsw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269048C2B80000000" , vpmaddubsw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269048C2B80000000" , vpmaddubsw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D04CB" , vpmaddubsw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D048C2B80000000" , vpmaddubsw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D048C2B80000000" , vpmaddubsw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4804CB" , vpmaddubsw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48044C2B02" , vpmaddubsw(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48044C2B02" , vpmaddubsw(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9F5CB" , vpmaddwd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9F58C2B80000000" , vpmaddwd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9F58C2B80000000" , vpmaddwd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDF5CB" , vpmaddwd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDF58C2B80000000" , vpmaddwd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDF58C2B80000000" , vpmaddwd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48F5CB" , vpmaddwd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48F54C2B02" , vpmaddwd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48F54C2B02" , vpmaddwd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2618EA41180000000" , vpmaskmovd(ptr(ecx, edx, 0, 128), xmm3, xmm4));
+ TEST_INSTRUCTION("C4E2618EA41180000000" , vpmaskmovd(xmmword_ptr(ecx, edx, 0, 128), xmm3, xmm4));
+ TEST_INSTRUCTION("C4E2658EA41180000000" , vpmaskmovd(ptr(ecx, edx, 0, 128), ymm3, ymm4));
+ TEST_INSTRUCTION("C4E2658EA41180000000" , vpmaskmovd(ymmword_ptr(ecx, edx, 0, 128), ymm3, ymm4));
+ TEST_INSTRUCTION("C4E2698C8C2B80000000" , vpmaskmovd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2698C8C2B80000000" , vpmaskmovd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D8C8C2B80000000" , vpmaskmovd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D8C8C2B80000000" , vpmaskmovd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E18EA41180000000" , vpmaskmovq(ptr(ecx, edx, 0, 128), xmm3, xmm4));
+ TEST_INSTRUCTION("C4E2E18EA41180000000" , vpmaskmovq(xmmword_ptr(ecx, edx, 0, 128), xmm3, xmm4));
+ TEST_INSTRUCTION("C4E2E58EA41180000000" , vpmaskmovq(ptr(ecx, edx, 0, 128), ymm3, ymm4));
+ TEST_INSTRUCTION("C4E2E58EA41180000000" , vpmaskmovq(ymmword_ptr(ecx, edx, 0, 128), ymm3, ymm4));
+ TEST_INSTRUCTION("C4E2E98C8C2B80000000" , vpmaskmovq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E98C8C2B80000000" , vpmaskmovq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED8C8C2B80000000" , vpmaskmovq(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED8C8C2B80000000" , vpmaskmovq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2693CCB" , vpmaxsb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2693C8C2B80000000" , vpmaxsb(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2693C8C2B80000000" , vpmaxsb(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D3CCB" , vpmaxsb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D3C8C2B80000000" , vpmaxsb(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D3C8C2B80000000" , vpmaxsb(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D483CCB" , vpmaxsb(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D483C4C2B02" , vpmaxsb(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D483C4C2B02" , vpmaxsb(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2693DCB" , vpmaxsd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2693D8C2B80000000" , vpmaxsd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2693D8C2B80000000" , vpmaxsd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D3DCB" , vpmaxsd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D3D8C2B80000000" , vpmaxsd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D3D8C2B80000000" , vpmaxsd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D483DCB" , vpmaxsd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D483D4C2B02" , vpmaxsd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D483D4C2B02" , vpmaxsd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED083DCB" , vpmaxsq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED083D4C2B08" , vpmaxsq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED083D4C2B08" , vpmaxsq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED283DCB" , vpmaxsq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED283D4C2B04" , vpmaxsq(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED283D4C2B04" , vpmaxsq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED483DCB" , vpmaxsq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED483D4C2B02" , vpmaxsq(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED483D4C2B02" , vpmaxsq(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9EECB" , vpmaxsw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9EE8C2B80000000" , vpmaxsw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9EE8C2B80000000" , vpmaxsw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDEECB" , vpmaxsw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDEE8C2B80000000" , vpmaxsw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDEE8C2B80000000" , vpmaxsw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48EECB" , vpmaxsw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48EE4C2B02" , vpmaxsw(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48EE4C2B02" , vpmaxsw(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9DECB" , vpmaxub(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9DE8C2B80000000" , vpmaxub(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9DE8C2B80000000" , vpmaxub(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDDECB" , vpmaxub(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDDE8C2B80000000" , vpmaxub(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDDE8C2B80000000" , vpmaxub(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48DECB" , vpmaxub(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48DE4C2B02" , vpmaxub(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48DE4C2B02" , vpmaxub(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2693FCB" , vpmaxud(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2693F8C2B80000000" , vpmaxud(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2693F8C2B80000000" , vpmaxud(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D3FCB" , vpmaxud(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D3F8C2B80000000" , vpmaxud(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D3F8C2B80000000" , vpmaxud(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D483FCB" , vpmaxud(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D483F4C2B02" , vpmaxud(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D483F4C2B02" , vpmaxud(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED083FCB" , vpmaxuq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED083F4C2B08" , vpmaxuq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED083F4C2B08" , vpmaxuq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED283FCB" , vpmaxuq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED283F4C2B04" , vpmaxuq(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED283F4C2B04" , vpmaxuq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED483FCB" , vpmaxuq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED483F4C2B02" , vpmaxuq(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED483F4C2B02" , vpmaxuq(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2693ECB" , vpmaxuw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2693E8C2B80000000" , vpmaxuw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2693E8C2B80000000" , vpmaxuw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D3ECB" , vpmaxuw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D3E8C2B80000000" , vpmaxuw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D3E8C2B80000000" , vpmaxuw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D483ECB" , vpmaxuw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D483E4C2B02" , vpmaxuw(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D483E4C2B02" , vpmaxuw(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26938CB" , vpminsb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269388C2B80000000" , vpminsb(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269388C2B80000000" , vpminsb(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D38CB" , vpminsb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D388C2B80000000" , vpminsb(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D388C2B80000000" , vpminsb(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4838CB" , vpminsb(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48384C2B02" , vpminsb(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48384C2B02" , vpminsb(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26939CB" , vpminsd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269398C2B80000000" , vpminsd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269398C2B80000000" , vpminsd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D39CB" , vpminsd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D398C2B80000000" , vpminsd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D398C2B80000000" , vpminsd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4839CB" , vpminsd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48394C2B02" , vpminsd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48394C2B02" , vpminsd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0839CB" , vpminsq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08394C2B08" , vpminsq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08394C2B08" , vpminsq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2839CB" , vpminsq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28394C2B04" , vpminsq(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28394C2B04" , vpminsq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4839CB" , vpminsq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48394C2B02" , vpminsq(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48394C2B02" , vpminsq(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9EACB" , vpminsw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9EA8C2B80000000" , vpminsw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9EA8C2B80000000" , vpminsw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDEACB" , vpminsw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDEA8C2B80000000" , vpminsw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDEA8C2B80000000" , vpminsw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48EACB" , vpminsw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48EA4C2B02" , vpminsw(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48EA4C2B02" , vpminsw(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9DACB" , vpminub(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9DA8C2B80000000" , vpminub(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9DA8C2B80000000" , vpminub(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDDACB" , vpminub(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDDA8C2B80000000" , vpminub(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDDA8C2B80000000" , vpminub(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48DACB" , vpminub(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48DA4C2B02" , vpminub(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48DA4C2B02" , vpminub(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2693BCB" , vpminud(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2693B8C2B80000000" , vpminud(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2693B8C2B80000000" , vpminud(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D3BCB" , vpminud(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D3B8C2B80000000" , vpminud(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D3B8C2B80000000" , vpminud(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D483BCB" , vpminud(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D483B4C2B02" , vpminud(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D483B4C2B02" , vpminud(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED083BCB" , vpminuq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED083B4C2B08" , vpminuq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED083B4C2B08" , vpminuq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED283BCB" , vpminuq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED283B4C2B04" , vpminuq(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED283B4C2B04" , vpminuq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED483BCB" , vpminuq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED483B4C2B02" , vpminuq(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED483B4C2B02" , vpminuq(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2693ACB" , vpminuw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2693A8C2B80000000" , vpminuw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2693A8C2B80000000" , vpminuw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D3ACB" , vpminuw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D3A8C2B80000000" , vpminuw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D3A8C2B80000000" , vpminuw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D483ACB" , vpminuw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D483A4C2B02" , vpminuw(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D483A4C2B02" , vpminuw(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F27E0829CA" , vpmovb2m(k1, xmm2));
+ TEST_INSTRUCTION("62F27E2829CA" , vpmovb2m(k1, ymm2));
+ TEST_INSTRUCTION("62F27E4829CA" , vpmovb2m(k1, zmm2));
+ TEST_INSTRUCTION("62F27E0839CA" , vpmovd2m(k1, xmm2));
+ TEST_INSTRUCTION("62F27E2839CA" , vpmovd2m(k1, ymm2));
+ TEST_INSTRUCTION("62F27E4839CA" , vpmovd2m(k1, zmm2));
+ TEST_INSTRUCTION("62F27E0831D1" , vpmovdb(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08315C1120" , vpmovdb(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08315C1120" , vpmovdb(dword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2831D1" , vpmovdb(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28315C1110" , vpmovdb(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28315C1110" , vpmovdb(qword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4831D1" , vpmovdb(xmm1, zmm2));
+ TEST_INSTRUCTION("62F27E48315C1108" , vpmovdb(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48315C1108" , vpmovdb(xmmword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E0833D1" , vpmovdw(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08335C1110" , vpmovdw(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08335C1110" , vpmovdw(qword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2833D1" , vpmovdw(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28335C1108" , vpmovdw(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28335C1108" , vpmovdw(xmmword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4833D1" , vpmovdw(ymm1, zmm2));
+ TEST_INSTRUCTION("62F27E48335C1104" , vpmovdw(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48335C1104" , vpmovdw(ymmword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E0828CA" , vpmovm2b(xmm1, k2));
+ TEST_INSTRUCTION("62F27E2828CA" , vpmovm2b(ymm1, k2));
+ TEST_INSTRUCTION("62F27E4828CA" , vpmovm2b(zmm1, k2));
+ TEST_INSTRUCTION("62F27E0838CA" , vpmovm2d(xmm1, k2));
+ TEST_INSTRUCTION("62F27E2838CA" , vpmovm2d(ymm1, k2));
+ TEST_INSTRUCTION("62F27E4838CA" , vpmovm2d(zmm1, k2));
+ TEST_INSTRUCTION("62F2FE0838CA" , vpmovm2q(xmm1, k2));
+ TEST_INSTRUCTION("62F2FE2838CA" , vpmovm2q(ymm1, k2));
+ TEST_INSTRUCTION("62F2FE4838CA" , vpmovm2q(zmm1, k2));
+ TEST_INSTRUCTION("62F2FE0828CA" , vpmovm2w(xmm1, k2));
+ TEST_INSTRUCTION("62F2FE2828CA" , vpmovm2w(ymm1, k2));
+ TEST_INSTRUCTION("62F2FE4828CA" , vpmovm2w(zmm1, k2));
+ TEST_INSTRUCTION("C5F9D7CA" , vpmovmskb(ecx, xmm2));
+ TEST_INSTRUCTION("C5FDD7CA" , vpmovmskb(ecx, ymm2));
+ TEST_INSTRUCTION("62F2FE0839CA" , vpmovq2m(k1, xmm2));
+ TEST_INSTRUCTION("62F2FE2839CA" , vpmovq2m(k1, ymm2));
+ TEST_INSTRUCTION("62F2FE4839CA" , vpmovq2m(k1, zmm2));
+ TEST_INSTRUCTION("62F27E0832D1" , vpmovqb(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08325C1140" , vpmovqb(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08325C1140" , vpmovqb(word_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2832D1" , vpmovqb(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28325C1120" , vpmovqb(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28325C1120" , vpmovqb(dword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4832D1" , vpmovqb(xmm1, zmm2));
+ TEST_INSTRUCTION("62F27E48325C1110" , vpmovqb(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48325C1110" , vpmovqb(qword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E0835D1" , vpmovqd(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08355C1110" , vpmovqd(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08355C1110" , vpmovqd(qword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2835D1" , vpmovqd(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28355C1108" , vpmovqd(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28355C1108" , vpmovqd(xmmword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4835D1" , vpmovqd(ymm1, zmm2));
+ TEST_INSTRUCTION("62F27E48355C1104" , vpmovqd(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48355C1104" , vpmovqd(ymmword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E0834D1" , vpmovqw(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08345C1120" , vpmovqw(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08345C1120" , vpmovqw(dword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2834D1" , vpmovqw(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28345C1110" , vpmovqw(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28345C1110" , vpmovqw(qword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4834D1" , vpmovqw(xmm1, zmm2));
+ TEST_INSTRUCTION("62F27E48345C1108" , vpmovqw(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48345C1108" , vpmovqw(xmmword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E0821D1" , vpmovsdb(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08215C1120" , vpmovsdb(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08215C1120" , vpmovsdb(dword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2821D1" , vpmovsdb(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28215C1110" , vpmovsdb(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28215C1110" , vpmovsdb(qword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4821D1" , vpmovsdb(xmm1, zmm2));
+ TEST_INSTRUCTION("62F27E48215C1108" , vpmovsdb(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48215C1108" , vpmovsdb(xmmword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E0823D1" , vpmovsdw(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08235C1110" , vpmovsdw(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08235C1110" , vpmovsdw(qword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2823D1" , vpmovsdw(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28235C1108" , vpmovsdw(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28235C1108" , vpmovsdw(xmmword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4823D1" , vpmovsdw(ymm1, zmm2));
+ TEST_INSTRUCTION("62F27E48235C1104" , vpmovsdw(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48235C1104" , vpmovsdw(ymmword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E0822D1" , vpmovsqb(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08225C1140" , vpmovsqb(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08225C1140" , vpmovsqb(word_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2822D1" , vpmovsqb(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28225C1120" , vpmovsqb(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28225C1120" , vpmovsqb(dword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4822D1" , vpmovsqb(xmm1, zmm2));
+ TEST_INSTRUCTION("62F27E48225C1110" , vpmovsqb(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48225C1110" , vpmovsqb(qword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E0825D1" , vpmovsqd(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08255C1110" , vpmovsqd(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08255C1110" , vpmovsqd(qword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2825D1" , vpmovsqd(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28255C1108" , vpmovsqd(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28255C1108" , vpmovsqd(xmmword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4825D1" , vpmovsqd(ymm1, zmm2));
+ TEST_INSTRUCTION("62F27E48255C1104" , vpmovsqd(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48255C1104" , vpmovsqd(ymmword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E0824D1" , vpmovsqw(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08245C1120" , vpmovsqw(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08245C1120" , vpmovsqw(dword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2824D1" , vpmovsqw(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28245C1110" , vpmovsqw(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28245C1110" , vpmovsqw(qword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4824D1" , vpmovsqw(xmm1, zmm2));
+ TEST_INSTRUCTION("62F27E48245C1108" , vpmovsqw(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48245C1108" , vpmovsqw(xmmword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E0820D1" , vpmovswb(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08205C1110" , vpmovswb(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08205C1110" , vpmovswb(qword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2820D1" , vpmovswb(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28205C1108" , vpmovswb(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28205C1108" , vpmovswb(xmmword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4820D1" , vpmovswb(ymm1, zmm2));
+ TEST_INSTRUCTION("62F27E48205C1104" , vpmovswb(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48205C1104" , vpmovswb(ymmword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("C4E27921CA" , vpmovsxbd(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279218C1A80000000" , vpmovsxbd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E279218C1A80000000" , vpmovsxbd(xmm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D21CA" , vpmovsxbd(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D218C1A80000000" , vpmovsxbd(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D218C1A80000000" , vpmovsxbd(ymm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4821CA" , vpmovsxbd(zmm1, xmm2));
+ TEST_INSTRUCTION("62F27D48214C1A08" , vpmovsxbd(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48214C1A08" , vpmovsxbd(zmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27922CA" , vpmovsxbq(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279228C1A80000000" , vpmovsxbq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E279228C1A80000000" , vpmovsxbq(xmm1, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D22CA" , vpmovsxbq(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D228C1A80000000" , vpmovsxbq(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D228C1A80000000" , vpmovsxbq(ymm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4822CA" , vpmovsxbq(zmm1, xmm2));
+ TEST_INSTRUCTION("62F27D48224C1A10" , vpmovsxbq(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48224C1A10" , vpmovsxbq(zmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27920CA" , vpmovsxbw(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279208C1A80000000" , vpmovsxbw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E279208C1A80000000" , vpmovsxbw(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D20CA" , vpmovsxbw(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D208C1A80000000" , vpmovsxbw(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D208C1A80000000" , vpmovsxbw(ymm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4820CA" , vpmovsxbw(zmm1, ymm2));
+ TEST_INSTRUCTION("62F27D48204C1A04" , vpmovsxbw(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48204C1A04" , vpmovsxbw(zmm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27925CA" , vpmovsxdq(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279258C1A80000000" , vpmovsxdq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E279258C1A80000000" , vpmovsxdq(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D25CA" , vpmovsxdq(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D258C1A80000000" , vpmovsxdq(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D258C1A80000000" , vpmovsxdq(ymm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4825CA" , vpmovsxdq(zmm1, ymm2));
+ TEST_INSTRUCTION("62F27D48254C1A04" , vpmovsxdq(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48254C1A04" , vpmovsxdq(zmm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27923CA" , vpmovsxwd(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279238C1A80000000" , vpmovsxwd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E279238C1A80000000" , vpmovsxwd(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D23CA" , vpmovsxwd(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D238C1A80000000" , vpmovsxwd(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D238C1A80000000" , vpmovsxwd(ymm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4823CA" , vpmovsxwd(zmm1, ymm2));
+ TEST_INSTRUCTION("62F27D48234C1A04" , vpmovsxwd(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48234C1A04" , vpmovsxwd(zmm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27924CA" , vpmovsxwq(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279248C1A80000000" , vpmovsxwq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E279248C1A80000000" , vpmovsxwq(xmm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D24CA" , vpmovsxwq(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D248C1A80000000" , vpmovsxwq(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D248C1A80000000" , vpmovsxwq(ymm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4824CA" , vpmovsxwq(zmm1, xmm2));
+ TEST_INSTRUCTION("62F27D48244C1A08" , vpmovsxwq(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48244C1A08" , vpmovsxwq(zmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27E0811D1" , vpmovusdb(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08115C1120" , vpmovusdb(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08115C1120" , vpmovusdb(dword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2811D1" , vpmovusdb(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28115C1110" , vpmovusdb(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28115C1110" , vpmovusdb(qword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4811D1" , vpmovusdb(xmm1, zmm2));
+ TEST_INSTRUCTION("62F27E48115C1108" , vpmovusdb(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48115C1108" , vpmovusdb(xmmword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E0813D1" , vpmovusdw(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08135C1110" , vpmovusdw(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08135C1110" , vpmovusdw(qword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2813D1" , vpmovusdw(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28135C1108" , vpmovusdw(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28135C1108" , vpmovusdw(xmmword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4813D1" , vpmovusdw(ymm1, zmm2));
+ TEST_INSTRUCTION("62F27E48135C1104" , vpmovusdw(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48135C1104" , vpmovusdw(ymmword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E0812D1" , vpmovusqb(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08125C1140" , vpmovusqb(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08125C1140" , vpmovusqb(word_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2812D1" , vpmovusqb(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28125C1120" , vpmovusqb(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28125C1120" , vpmovusqb(dword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4812D1" , vpmovusqb(xmm1, zmm2));
+ TEST_INSTRUCTION("62F27E48125C1110" , vpmovusqb(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48125C1110" , vpmovusqb(qword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E0815D1" , vpmovusqd(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08155C1110" , vpmovusqd(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08155C1110" , vpmovusqd(qword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2815D1" , vpmovusqd(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28155C1108" , vpmovusqd(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28155C1108" , vpmovusqd(xmmword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4815D1" , vpmovusqd(ymm1, zmm2));
+ TEST_INSTRUCTION("62F27E48155C1104" , vpmovusqd(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48155C1104" , vpmovusqd(ymmword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E0814D1" , vpmovusqw(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08145C1120" , vpmovusqw(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08145C1120" , vpmovusqw(dword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2814D1" , vpmovusqw(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28145C1110" , vpmovusqw(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28145C1110" , vpmovusqw(qword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4814D1" , vpmovusqw(xmm1, zmm2));
+ TEST_INSTRUCTION("62F27E48145C1108" , vpmovusqw(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48145C1108" , vpmovusqw(xmmword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E0810D1" , vpmovuswb(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08105C1110" , vpmovuswb(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08105C1110" , vpmovuswb(qword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2810D1" , vpmovuswb(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28105C1108" , vpmovuswb(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28105C1108" , vpmovuswb(xmmword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4810D1" , vpmovuswb(ymm1, zmm2));
+ TEST_INSTRUCTION("62F27E48105C1104" , vpmovuswb(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48105C1104" , vpmovuswb(ymmword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F2FE0829CA" , vpmovw2m(k1, xmm2));
+ TEST_INSTRUCTION("62F2FE2829CA" , vpmovw2m(k1, ymm2));
+ TEST_INSTRUCTION("62F2FE4829CA" , vpmovw2m(k1, zmm2));
+ TEST_INSTRUCTION("62F27E0830D1" , vpmovwb(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08305C1110" , vpmovwb(ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08305C1110" , vpmovwb(qword_ptr(ecx, edx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2830D1" , vpmovwb(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28305C1108" , vpmovwb(ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28305C1108" , vpmovwb(xmmword_ptr(ecx, edx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4830D1" , vpmovwb(ymm1, zmm2));
+ TEST_INSTRUCTION("62F27E48305C1104" , vpmovwb(ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48305C1104" , vpmovwb(ymmword_ptr(ecx, edx, 0, 128), zmm3));
+ TEST_INSTRUCTION("C4E27931CA" , vpmovzxbd(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279318C1A80000000" , vpmovzxbd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E279318C1A80000000" , vpmovzxbd(xmm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D31CA" , vpmovzxbd(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D318C1A80000000" , vpmovzxbd(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D318C1A80000000" , vpmovzxbd(ymm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4831CA" , vpmovzxbd(zmm1, xmm2));
+ TEST_INSTRUCTION("62F27D48314C1A08" , vpmovzxbd(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48314C1A08" , vpmovzxbd(zmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27932CA" , vpmovzxbq(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279328C1A80000000" , vpmovzxbq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E279328C1A80000000" , vpmovzxbq(xmm1, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D32CA" , vpmovzxbq(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D328C1A80000000" , vpmovzxbq(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D328C1A80000000" , vpmovzxbq(ymm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4832CA" , vpmovzxbq(zmm1, xmm2));
+ TEST_INSTRUCTION("62F27D48324C1A10" , vpmovzxbq(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48324C1A10" , vpmovzxbq(zmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27930CA" , vpmovzxbw(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279308C1A80000000" , vpmovzxbw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E279308C1A80000000" , vpmovzxbw(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D30CA" , vpmovzxbw(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D308C1A80000000" , vpmovzxbw(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D308C1A80000000" , vpmovzxbw(ymm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4830CA" , vpmovzxbw(zmm1, ymm2));
+ TEST_INSTRUCTION("62F27D48304C1A04" , vpmovzxbw(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48304C1A04" , vpmovzxbw(zmm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27935CA" , vpmovzxdq(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279358C1A80000000" , vpmovzxdq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E279358C1A80000000" , vpmovzxdq(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D35CA" , vpmovzxdq(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D358C1A80000000" , vpmovzxdq(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D358C1A80000000" , vpmovzxdq(ymm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4835CA" , vpmovzxdq(zmm1, ymm2));
+ TEST_INSTRUCTION("62F27D48354C1A04" , vpmovzxdq(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48354C1A04" , vpmovzxdq(zmm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27933CA" , vpmovzxwd(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279338C1A80000000" , vpmovzxwd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E279338C1A80000000" , vpmovzxwd(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D33CA" , vpmovzxwd(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D338C1A80000000" , vpmovzxwd(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D338C1A80000000" , vpmovzxwd(ymm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4833CA" , vpmovzxwd(zmm1, ymm2));
+ TEST_INSTRUCTION("62F27D48334C1A04" , vpmovzxwd(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48334C1A04" , vpmovzxwd(zmm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27934CA" , vpmovzxwq(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279348C1A80000000" , vpmovzxwq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E279348C1A80000000" , vpmovzxwq(xmm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D34CA" , vpmovzxwq(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D348C1A80000000" , vpmovzxwq(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D348C1A80000000" , vpmovzxwq(ymm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4834CA" , vpmovzxwq(zmm1, xmm2));
+ TEST_INSTRUCTION("62F27D48344C1A08" , vpmovzxwq(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48344C1A08" , vpmovzxwq(zmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E26928CB" , vpmuldq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269288C2B80000000" , vpmuldq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269288C2B80000000" , vpmuldq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D28CB" , vpmuldq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D288C2B80000000" , vpmuldq(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D288C2B80000000" , vpmuldq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4828CB" , vpmuldq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48284C2B02" , vpmuldq(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48284C2B02" , vpmuldq(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2690BCB" , vpmulhrsw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2690B8C2B80000000" , vpmulhrsw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2690B8C2B80000000" , vpmulhrsw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D0BCB" , vpmulhrsw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D0B8C2B80000000" , vpmulhrsw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D0B8C2B80000000" , vpmulhrsw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D480BCB" , vpmulhrsw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D480B4C2B02" , vpmulhrsw(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D480B4C2B02" , vpmulhrsw(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9E4CB" , vpmulhuw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9E48C2B80000000" , vpmulhuw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9E48C2B80000000" , vpmulhuw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDE4CB" , vpmulhuw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDE48C2B80000000" , vpmulhuw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDE48C2B80000000" , vpmulhuw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48E4CB" , vpmulhuw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48E44C2B02" , vpmulhuw(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48E44C2B02" , vpmulhuw(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9E5CB" , vpmulhw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9E58C2B80000000" , vpmulhw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9E58C2B80000000" , vpmulhw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDE5CB" , vpmulhw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDE58C2B80000000" , vpmulhw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDE58C2B80000000" , vpmulhw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48E5CB" , vpmulhw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48E54C2B02" , vpmulhw(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48E54C2B02" , vpmulhw(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26940CB" , vpmulld(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269408C2B80000000" , vpmulld(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269408C2B80000000" , vpmulld(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D40CB" , vpmulld(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D408C2B80000000" , vpmulld(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D408C2B80000000" , vpmulld(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4840CB" , vpmulld(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48404C2B02" , vpmulld(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48404C2B02" , vpmulld(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0840CB" , vpmullq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08404C2B08" , vpmullq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08404C2B08" , vpmullq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2840CB" , vpmullq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28404C2B04" , vpmullq(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28404C2B04" , vpmullq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4840CB" , vpmullq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48404C2B02" , vpmullq(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48404C2B02" , vpmullq(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9D5CB" , vpmullw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9D58C2B80000000" , vpmullw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9D58C2B80000000" , vpmullw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDD5CB" , vpmullw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDD58C2B80000000" , vpmullw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDD58C2B80000000" , vpmullw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48D5CB" , vpmullw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48D54C2B02" , vpmullw(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48D54C2B02" , vpmullw(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0883CB" , vpmultishiftqb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08834C2B08" , vpmultishiftqb(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08834C2B08" , vpmultishiftqb(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2883CB" , vpmultishiftqb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28834C2B04" , vpmultishiftqb(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28834C2B04" , vpmultishiftqb(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4883CB" , vpmultishiftqb(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48834C2B02" , vpmultishiftqb(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48834C2B02" , vpmultishiftqb(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9F4CB" , vpmuludq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9F48C2B80000000" , vpmuludq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9F48C2B80000000" , vpmuludq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDF4CB" , vpmuludq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDF48C2B80000000" , vpmuludq(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDF48C2B80000000" , vpmuludq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48F4CB" , vpmuludq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED48F44C2B02" , vpmuludq(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48F44C2B02" , vpmuludq(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F27D0854CA" , vpopcntb(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27D08544C1A08" , vpopcntb(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D08544C1A08" , vpopcntb(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D2854CA" , vpopcntb(ymm1, ymm2));
+ TEST_INSTRUCTION("62F27D28544C1A04" , vpopcntb(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D28544C1A04" , vpopcntb(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4854CA" , vpopcntb(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D48544C1A02" , vpopcntb(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48544C1A02" , vpopcntb(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D0855CA" , vpopcntd(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27D08554C1A08" , vpopcntd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D08554C1A08" , vpopcntd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D2855CA" , vpopcntd(ymm1, ymm2));
+ TEST_INSTRUCTION("62F27D28554C1A04" , vpopcntd(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D28554C1A04" , vpopcntd(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4855CA" , vpopcntd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D48554C1A02" , vpopcntd(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48554C1A02" , vpopcntd(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD0855CA" , vpopcntq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F2FD08554C1A08" , vpopcntq(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD08554C1A08" , vpopcntq(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD2855CA" , vpopcntq(ymm1, ymm2));
+ TEST_INSTRUCTION("62F2FD28554C1A04" , vpopcntq(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD28554C1A04" , vpopcntq(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD4855CA" , vpopcntq(zmm1, zmm2));
+ TEST_INSTRUCTION("62F2FD48554C1A02" , vpopcntq(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD48554C1A02" , vpopcntq(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD0854CA" , vpopcntw(xmm1, xmm2));
+ TEST_INSTRUCTION("62F2FD08544C1A08" , vpopcntw(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD08544C1A08" , vpopcntw(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD2854CA" , vpopcntw(ymm1, ymm2));
+ TEST_INSTRUCTION("62F2FD28544C1A04" , vpopcntw(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD28544C1A04" , vpopcntw(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD4854CA" , vpopcntw(zmm1, zmm2));
+ TEST_INSTRUCTION("62F2FD48544C1A02" , vpopcntw(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD48544C1A02" , vpopcntw(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5E9EBCB" , vpor(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9EB8C2B80000000" , vpor(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9EB8C2B80000000" , vpor(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDEBCB" , vpor(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDEB8C2B80000000" , vpor(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDEB8C2B80000000" , vpor(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D08EBCB" , vpord(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F16D08EB4C2B08" , vpord(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D08EB4C2B08" , vpord(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D28EBCB" , vpord(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F16D28EB4C2B04" , vpord(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D28EB4C2B04" , vpord(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48EBCB" , vpord(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48EB4C2B02" , vpord(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48EB4C2B02" , vpord(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED08EBCB" , vporq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F1ED08EB4C2B08" , vporq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED08EB4C2B08" , vporq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED28EBCB" , vporq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F1ED28EB4C2B04" , vporq(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED28EB4C2B04" , vporq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48EBCB" , vporq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED48EB4C2B02" , vporq(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48EB4C2B02" , vporq(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("8FE868A3CB40" , vpperm(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("8FE8E8A38C358000000030" , vpperm(xmm1, xmm2, xmm3, ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("8FE8E8A38C358000000030" , vpperm(xmm1, xmm2, xmm3, xmmword_ptr(ebp, esi, 0, 128)));
+ TEST_INSTRUCTION("8FE868A38C2B8000000060" , vpperm(xmm1, xmm2, ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE868A38C2B8000000060" , vpperm(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), xmm6));
+ TEST_INSTRUCTION("62F1750872CA01" , vprold(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("62F17508724C1A0801" , vprold(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F17508724C1A0801" , vprold(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1752872CA01" , vprold(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("62F17528724C1A0401" , vprold(ymm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F17528724C1A0401" , vprold(ymm1, ymmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1754872CA01" , vprold(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F17548724C1A0201" , vprold(zmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F17548724C1A0201" , vprold(zmm1, zmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F50872CA01" , vprolq(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("62F1F508724C1A0801" , vprolq(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F508724C1A0801" , vprolq(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F52872CA01" , vprolq(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("62F1F528724C1A0401" , vprolq(ymm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F528724C1A0401" , vprolq(ymm1, ymmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F54872CA01" , vprolq(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F1F548724C1A0201" , vprolq(zmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F548724C1A0201" , vprolq(zmm1, zmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F26D0815CB" , vprolvd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08154C2B08" , vprolvd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08154C2B08" , vprolvd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D2815CB" , vprolvd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D28154C2B04" , vprolvd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D28154C2B04" , vprolvd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4815CB" , vprolvd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48154C2B02" , vprolvd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48154C2B02" , vprolvd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0815CB" , vprolvq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08154C2B08" , vprolvq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08154C2B08" , vprolvq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2815CB" , vprolvq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28154C2B04" , vprolvq(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28154C2B04" , vprolvq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4815CB" , vprolvq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48154C2B02" , vprolvq(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48154C2B02" , vprolvq(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1750872C201" , vprord(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("62F1750872441A0801" , vprord(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1750872441A0801" , vprord(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1752872C201" , vprord(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("62F1752872441A0401" , vprord(ymm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1752872441A0401" , vprord(ymm1, ymmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1754872C201" , vprord(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F1754872441A0201" , vprord(zmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1754872441A0201" , vprord(zmm1, zmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F50872C201" , vprorq(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("62F1F50872441A0801" , vprorq(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F50872441A0801" , vprorq(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F52872C201" , vprorq(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("62F1F52872441A0401" , vprorq(ymm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F52872441A0401" , vprorq(ymm1, ymmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F54872C201" , vprorq(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F1F54872441A0201" , vprorq(zmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F54872441A0201" , vprorq(zmm1, zmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F26D0814CB" , vprorvd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08144C2B08" , vprorvd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08144C2B08" , vprorvd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D2814CB" , vprorvd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D28144C2B04" , vprorvd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D28144C2B04" , vprorvd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4814CB" , vprorvd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48144C2B02" , vprorvd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48144C2B02" , vprorvd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0814CB" , vprorvq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08144C2B08" , vprorvq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08144C2B08" , vprorvq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2814CB" , vprorvq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28144C2B04" , vprorvq(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28144C2B04" , vprorvq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4814CB" , vprorvq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48144C2B02" , vprorvq(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48144C2B02" , vprorvq(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("8FE96090CA" , vprotb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("8FE878C0CA01" , vprotb(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("8FE9E8908C2B80000000" , vprotb(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("8FE9E8908C2B80000000" , vprotb(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("8FE958908C1A80000000" , vprotb(xmm1, ptr(edx, ebx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE878C08C1A8000000001" , vprotb(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("8FE958908C1A80000000" , vprotb(xmm1, xmmword_ptr(edx, ebx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE878C08C1A8000000001" , vprotb(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("8FE96092CA" , vprotd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("8FE878C2CA01" , vprotd(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("8FE9E8928C2B80000000" , vprotd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("8FE9E8928C2B80000000" , vprotd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("8FE958928C1A80000000" , vprotd(xmm1, ptr(edx, ebx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE878C28C1A8000000001" , vprotd(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("8FE958928C1A80000000" , vprotd(xmm1, xmmword_ptr(edx, ebx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE878C28C1A8000000001" , vprotd(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("8FE96093CA" , vprotq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("8FE878C3CA01" , vprotq(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("8FE9E8938C2B80000000" , vprotq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("8FE9E8938C2B80000000" , vprotq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("8FE958938C1A80000000" , vprotq(xmm1, ptr(edx, ebx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE878C38C1A8000000001" , vprotq(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("8FE958938C1A80000000" , vprotq(xmm1, xmmword_ptr(edx, ebx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE878C38C1A8000000001" , vprotq(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("8FE96091CA" , vprotw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("8FE878C1CA01" , vprotw(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("8FE9E8918C2B80000000" , vprotw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("8FE9E8918C2B80000000" , vprotw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("8FE958918C1A80000000" , vprotw(xmm1, ptr(edx, ebx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE878C18C1A8000000001" , vprotw(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("8FE958918C1A80000000" , vprotw(xmm1, xmmword_ptr(edx, ebx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE878C18C1A8000000001" , vprotw(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C5E9F6CB" , vpsadbw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9F68C2B80000000" , vpsadbw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9F68C2B80000000" , vpsadbw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDF6CB" , vpsadbw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDF68C2B80000000" , vpsadbw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDF68C2B80000000" , vpsadbw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48F6CB" , vpsadbw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48F64C2B02" , vpsadbw(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48F64C2B02" , vpsadbw(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F27D09A05C1120" , k(k1).vpscatterdd(ptr(ecx, xmm2, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27D29A05C1120" , k(k1).vpscatterdd(ptr(ecx, ymm2, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27D49A05C1120" , k(k1).vpscatterdd(ptr(ecx, zmm2, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F2FD09A05C1110" , k(k1).vpscatterdq(ptr(ecx, xmm2, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F2FD29A05C1110" , k(k1).vpscatterdq(ptr(ecx, xmm2, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F2FD49A05C1110" , k(k1).vpscatterdq(ptr(ecx, ymm2, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27D09A15C1120" , k(k1).vpscatterqd(ptr(ecx, xmm2, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27D29A15C1120" , k(k1).vpscatterqd(ptr(ecx, ymm2, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27D49A15C1120" , k(k1).vpscatterqd(ptr(ecx, zmm2, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F2FD09A15C1110" , k(k1).vpscatterqq(ptr(ecx, xmm2, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F2FD29A15C1110" , k(k1).vpscatterqq(ptr(ecx, ymm2, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F2FD49A15C1110" , k(k1).vpscatterqq(ptr(ecx, zmm2, 0, 128), zmm3));
+ TEST_INSTRUCTION("8FE96098CA" , vpshab(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("8FE9E8988C2B80000000" , vpshab(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("8FE9E8988C2B80000000" , vpshab(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("8FE958988C1A80000000" , vpshab(xmm1, ptr(edx, ebx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE958988C1A80000000" , vpshab(xmm1, xmmword_ptr(edx, ebx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE9609ACA" , vpshad(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("8FE9E89A8C2B80000000" , vpshad(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("8FE9E89A8C2B80000000" , vpshad(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("8FE9589A8C1A80000000" , vpshad(xmm1, ptr(edx, ebx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE9589A8C1A80000000" , vpshad(xmm1, xmmword_ptr(edx, ebx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE9609BCA" , vpshaq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("8FE9E89B8C2B80000000" , vpshaq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("8FE9E89B8C2B80000000" , vpshaq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("8FE9589B8C1A80000000" , vpshaq(xmm1, ptr(edx, ebx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE9589B8C1A80000000" , vpshaq(xmm1, xmmword_ptr(edx, ebx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE96099CA" , vpshaw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("8FE9E8998C2B80000000" , vpshaw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("8FE9E8998C2B80000000" , vpshaw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("8FE958998C1A80000000" , vpshaw(xmm1, ptr(edx, ebx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE958998C1A80000000" , vpshaw(xmm1, xmmword_ptr(edx, ebx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE96094CA" , vpshlb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("8FE9E8948C2B80000000" , vpshlb(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("8FE9E8948C2B80000000" , vpshlb(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("8FE958948C1A80000000" , vpshlb(xmm1, ptr(edx, ebx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE958948C1A80000000" , vpshlb(xmm1, xmmword_ptr(edx, ebx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE96096CA" , vpshld(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("8FE9E8968C2B80000000" , vpshld(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("8FE9E8968C2B80000000" , vpshld(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("8FE958968C1A80000000" , vpshld(xmm1, ptr(edx, ebx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE958968C1A80000000" , vpshld(xmm1, xmmword_ptr(edx, ebx, 0, 128), xmm4));
+ TEST_INSTRUCTION("62F36D0871CB01" , vpshldd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D08714C2B0801" , vpshldd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D08714C2B0801" , vpshldd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D2871CB01" , vpshldd(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F36D28714C2B0401" , vpshldd(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D28714C2B0401" , vpshldd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D4871CB01" , vpshldd(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F36D48714C2B0201" , vpshldd(zmm1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D48714C2B0201" , vpshldd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED0871CB01" , vpshldq(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED08714C2B0801" , vpshldq(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED08714C2B0801" , vpshldq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED2871CB01" , vpshldq(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F3ED28714C2B0401" , vpshldq(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED28714C2B0401" , vpshldq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED4871CB01" , vpshldq(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F3ED48714C2B0201" , vpshldq(zmm1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED48714C2B0201" , vpshldq(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F26D0871CB" , vpshldvd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08714C2B08" , vpshldvd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08714C2B08" , vpshldvd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D2871CB" , vpshldvd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D28714C2B04" , vpshldvd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D28714C2B04" , vpshldvd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4871CB" , vpshldvd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48714C2B02" , vpshldvd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48714C2B02" , vpshldvd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0871CB" , vpshldvq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08714C2B08" , vpshldvq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08714C2B08" , vpshldvq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2871CB" , vpshldvq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28714C2B04" , vpshldvq(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28714C2B04" , vpshldvq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4871CB" , vpshldvq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48714C2B02" , vpshldvq(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48714C2B02" , vpshldvq(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0870CB" , vpshldvw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08704C2B08" , vpshldvw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08704C2B08" , vpshldvw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2870CB" , vpshldvw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28704C2B04" , vpshldvw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28704C2B04" , vpshldvw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4870CB" , vpshldvw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48704C2B02" , vpshldvw(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48704C2B02" , vpshldvw(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F3ED0870CB01" , vpshldw(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED08704C2B0801" , vpshldw(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED08704C2B0801" , vpshldw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED2870CB01" , vpshldw(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F3ED28704C2B0401" , vpshldw(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED28704C2B0401" , vpshldw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED4870CB01" , vpshldw(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F3ED48704C2B0201" , vpshldw(zmm1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED48704C2B0201" , vpshldw(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("8FE96097CA" , vpshlq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("8FE9E8978C2B80000000" , vpshlq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("8FE9E8978C2B80000000" , vpshlq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("8FE958978C1A80000000" , vpshlq(xmm1, ptr(edx, ebx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE958978C1A80000000" , vpshlq(xmm1, xmmword_ptr(edx, ebx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE96095CA" , vpshlw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("8FE9E8958C2B80000000" , vpshlw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("8FE9E8958C2B80000000" , vpshlw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("8FE958958C1A80000000" , vpshlw(xmm1, ptr(edx, ebx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE958958C1A80000000" , vpshlw(xmm1, xmmword_ptr(edx, ebx, 0, 128), xmm4));
+ TEST_INSTRUCTION("62F36D0873CB01" , vpshrdd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D08734C2B0801" , vpshrdd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D08734C2B0801" , vpshrdd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D2873CB01" , vpshrdd(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F36D28734C2B0401" , vpshrdd(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D28734C2B0401" , vpshrdd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D4873CB01" , vpshrdd(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F36D48734C2B0201" , vpshrdd(zmm1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D48734C2B0201" , vpshrdd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED0873CB01" , vpshrdq(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED08734C2B0801" , vpshrdq(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED08734C2B0801" , vpshrdq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED2873CB01" , vpshrdq(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F3ED28734C2B0401" , vpshrdq(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED28734C2B0401" , vpshrdq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED4873CB01" , vpshrdq(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F3ED48734C2B0201" , vpshrdq(zmm1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED48734C2B0201" , vpshrdq(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F26D0873CB" , vpshrdvd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08734C2B08" , vpshrdvd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08734C2B08" , vpshrdvd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D2873CB" , vpshrdvd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D28734C2B04" , vpshrdvd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D28734C2B04" , vpshrdvd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4873CB" , vpshrdvd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48734C2B02" , vpshrdvd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48734C2B02" , vpshrdvd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0873CB" , vpshrdvq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08734C2B08" , vpshrdvq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08734C2B08" , vpshrdvq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2873CB" , vpshrdvq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28734C2B04" , vpshrdvq(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28734C2B04" , vpshrdvq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4873CB" , vpshrdvq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48734C2B02" , vpshrdvq(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48734C2B02" , vpshrdvq(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0872CB" , vpshrdvw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08724C2B08" , vpshrdvw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08724C2B08" , vpshrdvw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2872CB" , vpshrdvw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28724C2B04" , vpshrdvw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28724C2B04" , vpshrdvw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4872CB" , vpshrdvw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48724C2B02" , vpshrdvw(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48724C2B02" , vpshrdvw(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F3ED0872CB01" , vpshrdw(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED08724C2B0801" , vpshrdw(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED08724C2B0801" , vpshrdw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED2872CB01" , vpshrdw(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F3ED28724C2B0401" , vpshrdw(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED28724C2B0401" , vpshrdw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED4872CB01" , vpshrdw(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F3ED48724C2B0201" , vpshrdw(zmm1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED48724C2B0201" , vpshrdw(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E26900CB" , vpshufb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269008C2B80000000" , vpshufb(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269008C2B80000000" , vpshufb(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D00CB" , vpshufb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D008C2B80000000" , vpshufb(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D008C2B80000000" , vpshufb(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4800CB" , vpshufb(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48004C2B02" , vpshufb(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48004C2B02" , vpshufb(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D088FCB" , vpshufbitqmb(k1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D088F4C2B08" , vpshufbitqmb(k1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D088F4C2B08" , vpshufbitqmb(k1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D288FCB" , vpshufbitqmb(k1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D288F4C2B04" , vpshufbitqmb(k1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D288F4C2B04" , vpshufbitqmb(k1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D488FCB" , vpshufbitqmb(k1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D488F4C2B02" , vpshufbitqmb(k1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D488F4C2B02" , vpshufbitqmb(k1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5F970CA01" , vpshufd(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("C5F9708C1A8000000001" , vpshufd(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C5F9708C1A8000000001" , vpshufd(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C5FD70CA01" , vpshufd(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("C5FD708C1A8000000001" , vpshufd(ymm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C5FD708C1A8000000001" , vpshufd(ymm1, ymmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F17D4870CA01" , vpshufd(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F17D48704C1A0201" , vpshufd(zmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F17D48704C1A0201" , vpshufd(zmm1, zmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C5FA70CA01" , vpshufhw(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("C5FA708C1A8000000001" , vpshufhw(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C5FA708C1A8000000001" , vpshufhw(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C5FE70CA01" , vpshufhw(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("C5FE708C1A8000000001" , vpshufhw(ymm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C5FE708C1A8000000001" , vpshufhw(ymm1, ymmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F17E4870CA01" , vpshufhw(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F17E48704C1A0201" , vpshufhw(zmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F17E48704C1A0201" , vpshufhw(zmm1, zmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C5FB70CA01" , vpshuflw(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("C5FB708C1A8000000001" , vpshuflw(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C5FB708C1A8000000001" , vpshuflw(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C5FF70CA01" , vpshuflw(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("C5FF708C1A8000000001" , vpshuflw(ymm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C5FF708C1A8000000001" , vpshuflw(ymm1, ymmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F17F4870CA01" , vpshuflw(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F17F48704C1A0201" , vpshuflw(zmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F17F48704C1A0201" , vpshuflw(zmm1, zmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E26908CB" , vpsignb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269088C2B80000000" , vpsignb(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269088C2B80000000" , vpsignb(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D08CB" , vpsignb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D088C2B80000000" , vpsignb(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D088C2B80000000" , vpsignb(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2690ACB" , vpsignd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2690A8C2B80000000" , vpsignd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2690A8C2B80000000" , vpsignd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D0ACB" , vpsignd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D0A8C2B80000000" , vpsignd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D0A8C2B80000000" , vpsignd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26909CB" , vpsignw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269098C2B80000000" , vpsignw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269098C2B80000000" , vpsignw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D09CB" , vpsignw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D098C2B80000000" , vpsignw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D098C2B80000000" , vpsignw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9F2CB" , vpslld(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5F172F201" , vpslld(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("C5E9F28C2B80000000" , vpslld(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9F28C2B80000000" , vpslld(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDF2CB" , vpslld(ymm1, ymm2, xmm3));
+ TEST_INSTRUCTION("C5F572F201" , vpslld(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("C5EDF28C2B80000000" , vpslld(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDF28C2B80000000" , vpslld(ymm1, ymm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1750872741A0801" , vpslld(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1750872741A0801" , vpslld(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1752872741A0401" , vpslld(ymm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1752872741A0401" , vpslld(ymm1, ymmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F16D48F2CB" , vpslld(zmm1, zmm2, xmm3));
+ TEST_INSTRUCTION("62F1754872F201" , vpslld(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F16D48F24C2B08" , vpslld(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48F24C2B08" , vpslld(zmm1, zmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1754872741A0201" , vpslld(zmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1754872741A0201" , vpslld(zmm1, zmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C5F173FA01" , vpslldq(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("62F17508737C1A0801" , vpslldq(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F17508737C1A0801" , vpslldq(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C5F573FA01" , vpslldq(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("62F17528737C1A0401" , vpslldq(ymm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F17528737C1A0401" , vpslldq(ymm1, ymmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1754873FA01" , vpslldq(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F17548737C1A0201" , vpslldq(zmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F17548737C1A0201" , vpslldq(zmm1, zmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C5E9F3CB" , vpsllq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5F173F201" , vpsllq(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("C5E9F38C2B80000000" , vpsllq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9F38C2B80000000" , vpsllq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDF3CB" , vpsllq(ymm1, ymm2, xmm3));
+ TEST_INSTRUCTION("C5F573F201" , vpsllq(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("C5EDF38C2B80000000" , vpsllq(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDF38C2B80000000" , vpsllq(ymm1, ymm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1F50873741A0801" , vpsllq(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F50873741A0801" , vpsllq(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F52873741A0401" , vpsllq(ymm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F52873741A0401" , vpsllq(ymm1, ymmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1ED48F3CB" , vpsllq(zmm1, zmm2, xmm3));
+ TEST_INSTRUCTION("62F1F54873F201" , vpsllq(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F1ED48F34C2B08" , vpsllq(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48F34C2B08" , vpsllq(zmm1, zmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1F54873741A0201" , vpsllq(zmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F54873741A0201" , vpsllq(zmm1, zmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E26947CB" , vpsllvd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269478C2B80000000" , vpsllvd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269478C2B80000000" , vpsllvd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D47CB" , vpsllvd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D478C2B80000000" , vpsllvd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D478C2B80000000" , vpsllvd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4847CB" , vpsllvd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48474C2B02" , vpsllvd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48474C2B02" , vpsllvd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E947CB" , vpsllvq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9478C2B80000000" , vpsllvq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9478C2B80000000" , vpsllvq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED47CB" , vpsllvq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2ED478C2B80000000" , vpsllvq(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED478C2B80000000" , vpsllvq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4847CB" , vpsllvq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48474C2B02" , vpsllvq(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48474C2B02" , vpsllvq(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0812CB" , vpsllvw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08124C2B08" , vpsllvw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08124C2B08" , vpsllvw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2812CB" , vpsllvw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28124C2B04" , vpsllvw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28124C2B04" , vpsllvw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4812CB" , vpsllvw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48124C2B02" , vpsllvw(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48124C2B02" , vpsllvw(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9F1CB" , vpsllw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5F171F201" , vpsllw(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("C5E9F18C2B80000000" , vpsllw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9F18C2B80000000" , vpsllw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDF1CB" , vpsllw(ymm1, ymm2, xmm3));
+ TEST_INSTRUCTION("C5F571F201" , vpsllw(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("C5EDF18C2B80000000" , vpsllw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDF18C2B80000000" , vpsllw(ymm1, ymm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1750871741A0801" , vpsllw(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1750871741A0801" , vpsllw(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1752871741A0401" , vpsllw(ymm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1752871741A0401" , vpsllw(ymm1, ymmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F16D48F1CB" , vpsllw(zmm1, zmm2, xmm3));
+ TEST_INSTRUCTION("62F1754871F201" , vpsllw(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F16D48F14C2B08" , vpsllw(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48F14C2B08" , vpsllw(zmm1, zmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1754871741A0201" , vpsllw(zmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1754871741A0201" , vpsllw(zmm1, zmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C5E9E2CB" , vpsrad(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5F172E201" , vpsrad(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("C5E9E28C2B80000000" , vpsrad(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9E28C2B80000000" , vpsrad(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDE2CB" , vpsrad(ymm1, ymm2, xmm3));
+ TEST_INSTRUCTION("C5F572E201" , vpsrad(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("C5EDE28C2B80000000" , vpsrad(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDE28C2B80000000" , vpsrad(ymm1, ymm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1750872641A0801" , vpsrad(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1750872641A0801" , vpsrad(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1752872641A0401" , vpsrad(ymm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1752872641A0401" , vpsrad(ymm1, ymmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F16D48E2CB" , vpsrad(zmm1, zmm2, xmm3));
+ TEST_INSTRUCTION("62F1754872E201" , vpsrad(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F16D48E24C2B08" , vpsrad(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48E24C2B08" , vpsrad(zmm1, zmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1754872641A0201" , vpsrad(zmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1754872641A0201" , vpsrad(zmm1, zmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1ED08E2CB" , vpsraq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F1F50872E201" , vpsraq(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("62F1ED08E24C2B08" , vpsraq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED08E24C2B08" , vpsraq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1F50872641A0801" , vpsraq(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F50872641A0801" , vpsraq(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1ED28E2CB" , vpsraq(ymm1, ymm2, xmm3));
+ TEST_INSTRUCTION("62F1F52872E201" , vpsraq(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("62F1ED28E24C2B08" , vpsraq(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED28E24C2B08" , vpsraq(ymm1, ymm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1F52872641A0401" , vpsraq(ymm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F52872641A0401" , vpsraq(ymm1, ymmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1ED48E2CB" , vpsraq(zmm1, zmm2, xmm3));
+ TEST_INSTRUCTION("62F1F54872E201" , vpsraq(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F1ED48E24C2B08" , vpsraq(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48E24C2B08" , vpsraq(zmm1, zmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1F54872641A0201" , vpsraq(zmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F54872641A0201" , vpsraq(zmm1, zmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E26946CB" , vpsravd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269468C2B80000000" , vpsravd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269468C2B80000000" , vpsravd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D46CB" , vpsravd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D468C2B80000000" , vpsravd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D468C2B80000000" , vpsravd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4846CB" , vpsravd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48464C2B02" , vpsravd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48464C2B02" , vpsravd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0846CB" , vpsravq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08464C2B08" , vpsravq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08464C2B08" , vpsravq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2846CB" , vpsravq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28464C2B04" , vpsravq(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28464C2B04" , vpsravq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4846CB" , vpsravq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48464C2B02" , vpsravq(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48464C2B02" , vpsravq(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0811CB" , vpsravw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08114C2B08" , vpsravw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08114C2B08" , vpsravw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2811CB" , vpsravw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28114C2B04" , vpsravw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28114C2B04" , vpsravw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4811CB" , vpsravw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48114C2B02" , vpsravw(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48114C2B02" , vpsravw(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9E1CB" , vpsraw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5F171E201" , vpsraw(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("C5E9E18C2B80000000" , vpsraw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9E18C2B80000000" , vpsraw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDE1CB" , vpsraw(ymm1, ymm2, xmm3));
+ TEST_INSTRUCTION("C5F571E201" , vpsraw(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("C5EDE18C2B80000000" , vpsraw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDE18C2B80000000" , vpsraw(ymm1, ymm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1750871641A0801" , vpsraw(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1750871641A0801" , vpsraw(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1752871641A0401" , vpsraw(ymm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1752871641A0401" , vpsraw(ymm1, ymmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F16D48E1CB" , vpsraw(zmm1, zmm2, xmm3));
+ TEST_INSTRUCTION("62F1754871E201" , vpsraw(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F16D48E14C2B08" , vpsraw(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48E14C2B08" , vpsraw(zmm1, zmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1754871641A0201" , vpsraw(zmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1754871641A0201" , vpsraw(zmm1, zmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C5E9D2CB" , vpsrld(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5F172D201" , vpsrld(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("C5E9D28C2B80000000" , vpsrld(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9D28C2B80000000" , vpsrld(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDD2CB" , vpsrld(ymm1, ymm2, xmm3));
+ TEST_INSTRUCTION("C5F572D201" , vpsrld(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("C5EDD28C2B80000000" , vpsrld(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDD28C2B80000000" , vpsrld(ymm1, ymm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1750872541A0801" , vpsrld(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1750872541A0801" , vpsrld(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1752872541A0401" , vpsrld(ymm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1752872541A0401" , vpsrld(ymm1, ymmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F16D48D2CB" , vpsrld(zmm1, zmm2, xmm3));
+ TEST_INSTRUCTION("62F1754872D201" , vpsrld(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F16D48D24C2B08" , vpsrld(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48D24C2B08" , vpsrld(zmm1, zmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1754872541A0201" , vpsrld(zmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1754872541A0201" , vpsrld(zmm1, zmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C5F173DA01" , vpsrldq(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("62F17508735C1A0801" , vpsrldq(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F17508735C1A0801" , vpsrldq(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C5F573DA01" , vpsrldq(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("62F17528735C1A0401" , vpsrldq(ymm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F17528735C1A0401" , vpsrldq(ymm1, ymmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1754873DA01" , vpsrldq(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F17548735C1A0201" , vpsrldq(zmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F17548735C1A0201" , vpsrldq(zmm1, zmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C5E9D3CB" , vpsrlq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5F173D201" , vpsrlq(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("C5E9D38C2B80000000" , vpsrlq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9D38C2B80000000" , vpsrlq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDD3CB" , vpsrlq(ymm1, ymm2, xmm3));
+ TEST_INSTRUCTION("C5F573D201" , vpsrlq(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("C5EDD38C2B80000000" , vpsrlq(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDD38C2B80000000" , vpsrlq(ymm1, ymm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1F50873541A0801" , vpsrlq(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F50873541A0801" , vpsrlq(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F52873541A0401" , vpsrlq(ymm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F52873541A0401" , vpsrlq(ymm1, ymmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1ED48D3CB" , vpsrlq(zmm1, zmm2, xmm3));
+ TEST_INSTRUCTION("62F1F54873D201" , vpsrlq(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F1ED48D34C2B08" , vpsrlq(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48D34C2B08" , vpsrlq(zmm1, zmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1F54873541A0201" , vpsrlq(zmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F54873541A0201" , vpsrlq(zmm1, zmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E26945CB" , vpsrlvd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269458C2B80000000" , vpsrlvd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E269458C2B80000000" , vpsrlvd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D45CB" , vpsrlvd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D458C2B80000000" , vpsrlvd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D458C2B80000000" , vpsrlvd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4845CB" , vpsrlvd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48454C2B02" , vpsrlvd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48454C2B02" , vpsrlvd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E945CB" , vpsrlvq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9458C2B80000000" , vpsrlvq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9458C2B80000000" , vpsrlvq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED45CB" , vpsrlvq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2ED458C2B80000000" , vpsrlvq(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED458C2B80000000" , vpsrlvq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4845CB" , vpsrlvq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48454C2B02" , vpsrlvq(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48454C2B02" , vpsrlvq(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0810CB" , vpsrlvw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08104C2B08" , vpsrlvw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08104C2B08" , vpsrlvw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2810CB" , vpsrlvw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28104C2B04" , vpsrlvw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28104C2B04" , vpsrlvw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4810CB" , vpsrlvw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48104C2B02" , vpsrlvw(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48104C2B02" , vpsrlvw(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9D1CB" , vpsrlw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5F171D201" , vpsrlw(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("C5E9D18C2B80000000" , vpsrlw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9D18C2B80000000" , vpsrlw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDD1CB" , vpsrlw(ymm1, ymm2, xmm3));
+ TEST_INSTRUCTION("C5F571D201" , vpsrlw(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("C5EDD18C2B80000000" , vpsrlw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDD18C2B80000000" , vpsrlw(ymm1, ymm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1750871541A0801" , vpsrlw(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1750871541A0801" , vpsrlw(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1752871541A0401" , vpsrlw(ymm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1752871541A0401" , vpsrlw(ymm1, ymmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F16D48D1CB" , vpsrlw(zmm1, zmm2, xmm3));
+ TEST_INSTRUCTION("62F1754871D201" , vpsrlw(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F16D48D14C2B08" , vpsrlw(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48D14C2B08" , vpsrlw(zmm1, zmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1754871541A0201" , vpsrlw(zmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1754871541A0201" , vpsrlw(zmm1, zmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C5E9F8CB" , vpsubb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9F88C2B80000000" , vpsubb(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9F88C2B80000000" , vpsubb(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDF8CB" , vpsubb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDF88C2B80000000" , vpsubb(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDF88C2B80000000" , vpsubb(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48F8CB" , vpsubb(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48F84C2B02" , vpsubb(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48F84C2B02" , vpsubb(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9FACB" , vpsubd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9FA8C2B80000000" , vpsubd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9FA8C2B80000000" , vpsubd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDFACB" , vpsubd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDFA8C2B80000000" , vpsubd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDFA8C2B80000000" , vpsubd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48FACB" , vpsubd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48FA4C2B02" , vpsubd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48FA4C2B02" , vpsubd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9FBCB" , vpsubq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9FB8C2B80000000" , vpsubq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9FB8C2B80000000" , vpsubq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDFBCB" , vpsubq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDFB8C2B80000000" , vpsubq(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDFB8C2B80000000" , vpsubq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48FBCB" , vpsubq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED48FB4C2B02" , vpsubq(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48FB4C2B02" , vpsubq(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9E8CB" , vpsubsb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9E88C2B80000000" , vpsubsb(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9E88C2B80000000" , vpsubsb(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDE8CB" , vpsubsb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDE88C2B80000000" , vpsubsb(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDE88C2B80000000" , vpsubsb(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48E8CB" , vpsubsb(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48E84C2B02" , vpsubsb(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48E84C2B02" , vpsubsb(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9E9CB" , vpsubsw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9E98C2B80000000" , vpsubsw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9E98C2B80000000" , vpsubsw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDE9CB" , vpsubsw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDE98C2B80000000" , vpsubsw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDE98C2B80000000" , vpsubsw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48E9CB" , vpsubsw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48E94C2B02" , vpsubsw(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48E94C2B02" , vpsubsw(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9D8CB" , vpsubusb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9D88C2B80000000" , vpsubusb(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9D88C2B80000000" , vpsubusb(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDD8CB" , vpsubusb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDD88C2B80000000" , vpsubusb(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDD88C2B80000000" , vpsubusb(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48D8CB" , vpsubusb(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48D84C2B02" , vpsubusb(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48D84C2B02" , vpsubusb(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9D9CB" , vpsubusw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9D98C2B80000000" , vpsubusw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9D98C2B80000000" , vpsubusw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDD9CB" , vpsubusw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDD98C2B80000000" , vpsubusw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDD98C2B80000000" , vpsubusw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48D9CB" , vpsubusw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48D94C2B02" , vpsubusw(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48D94C2B02" , vpsubusw(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9F9CB" , vpsubw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9F98C2B80000000" , vpsubw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9F98C2B80000000" , vpsubw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDF9CB" , vpsubw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDF98C2B80000000" , vpsubw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDF98C2B80000000" , vpsubw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48F9CB" , vpsubw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48F94C2B02" , vpsubw(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48F94C2B02" , vpsubw(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F36D0825CB01" , vpternlogd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D08254C2B0801" , vpternlogd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D08254C2B0801" , vpternlogd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D2825CB01" , vpternlogd(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F36D28254C2B0401" , vpternlogd(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D28254C2B0401" , vpternlogd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D4825CB01" , vpternlogd(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F36D48254C2B0201" , vpternlogd(zmm1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D48254C2B0201" , vpternlogd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED0825CB01" , vpternlogq(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED08254C2B0801" , vpternlogq(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED08254C2B0801" , vpternlogq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED2825CB01" , vpternlogq(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F3ED28254C2B0401" , vpternlogq(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED28254C2B0401" , vpternlogq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED4825CB01" , vpternlogq(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F3ED48254C2B0201" , vpternlogq(zmm1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED48254C2B0201" , vpternlogq(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E27917CA" , vptest(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279178C1A80000000" , vptest(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E279178C1A80000000" , vptest(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D17CA" , vptest(ymm1, ymm2));
+ TEST_INSTRUCTION("C4E27D178C1A80000000" , vptest(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D178C1A80000000" , vptest(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F26D0826CB" , vptestmb(k1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08264C2B08" , vptestmb(k1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08264C2B08" , vptestmb(k1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D2826CB" , vptestmb(k1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D28264C2B04" , vptestmb(k1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D28264C2B04" , vptestmb(k1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4826CB" , vptestmb(k1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48264C2B02" , vptestmb(k1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48264C2B02" , vptestmb(k1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D0827CB" , vptestmd(k1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08274C2B08" , vptestmd(k1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08274C2B08" , vptestmd(k1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D2827CB" , vptestmd(k1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D28274C2B04" , vptestmd(k1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D28274C2B04" , vptestmd(k1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4827CB" , vptestmd(k1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48274C2B02" , vptestmd(k1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48274C2B02" , vptestmd(k1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0827CB" , vptestmq(k1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08274C2B08" , vptestmq(k1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08274C2B08" , vptestmq(k1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2827CB" , vptestmq(k1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28274C2B04" , vptestmq(k1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28274C2B04" , vptestmq(k1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4827CB" , vptestmq(k1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48274C2B02" , vptestmq(k1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48274C2B02" , vptestmq(k1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0826CB" , vptestmw(k1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08264C2B08" , vptestmw(k1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08264C2B08" , vptestmw(k1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2826CB" , vptestmw(k1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28264C2B04" , vptestmw(k1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28264C2B04" , vptestmw(k1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4826CB" , vptestmw(k1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48264C2B02" , vptestmw(k1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48264C2B02" , vptestmw(k1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26E0826CB" , vptestnmb(k1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26E08264C2B08" , vptestnmb(k1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26E08264C2B08" , vptestnmb(k1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26E2826CB" , vptestnmb(k1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26E28264C2B04" , vptestnmb(k1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26E28264C2B04" , vptestnmb(k1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26E4826CB" , vptestnmb(k1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26E48264C2B02" , vptestnmb(k1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26E48264C2B02" , vptestnmb(k1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26E0827CB" , vptestnmd(k1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26E08274C2B08" , vptestnmd(k1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26E08274C2B08" , vptestnmd(k1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26E2827CB" , vptestnmd(k1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26E28274C2B04" , vptestnmd(k1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26E28274C2B04" , vptestnmd(k1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26E4827CB" , vptestnmd(k1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26E48274C2B02" , vptestnmd(k1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26E48274C2B02" , vptestnmd(k1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2EE0827CB" , vptestnmq(k1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2EE08274C2B08" , vptestnmq(k1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2EE08274C2B08" , vptestnmq(k1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2EE2827CB" , vptestnmq(k1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2EE28274C2B04" , vptestnmq(k1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2EE28274C2B04" , vptestnmq(k1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2EE4827CB" , vptestnmq(k1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2EE48274C2B02" , vptestnmq(k1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2EE48274C2B02" , vptestnmq(k1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2EE0826CB" , vptestnmw(k1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2EE08264C2B08" , vptestnmw(k1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2EE08264C2B08" , vptestnmw(k1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2EE2826CB" , vptestnmw(k1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2EE28264C2B04" , vptestnmw(k1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2EE28264C2B04" , vptestnmw(k1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2EE4826CB" , vptestnmw(k1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2EE48264C2B02" , vptestnmw(k1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2EE48264C2B02" , vptestnmw(k1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E968CB" , vpunpckhbw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9688C2B80000000" , vpunpckhbw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9688C2B80000000" , vpunpckhbw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED68CB" , vpunpckhbw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED688C2B80000000" , vpunpckhbw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED688C2B80000000" , vpunpckhbw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D4868CB" , vpunpckhbw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48684C2B02" , vpunpckhbw(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48684C2B02" , vpunpckhbw(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E96ACB" , vpunpckhdq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E96A8C2B80000000" , vpunpckhdq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E96A8C2B80000000" , vpunpckhdq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED6ACB" , vpunpckhdq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED6A8C2B80000000" , vpunpckhdq(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED6A8C2B80000000" , vpunpckhdq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D486ACB" , vpunpckhdq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D486A4C2B02" , vpunpckhdq(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D486A4C2B02" , vpunpckhdq(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E96DCB" , vpunpckhqdq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E96D8C2B80000000" , vpunpckhqdq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E96D8C2B80000000" , vpunpckhqdq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED6DCB" , vpunpckhqdq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED6D8C2B80000000" , vpunpckhqdq(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED6D8C2B80000000" , vpunpckhqdq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED486DCB" , vpunpckhqdq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED486D4C2B02" , vpunpckhqdq(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED486D4C2B02" , vpunpckhqdq(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E969CB" , vpunpckhwd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9698C2B80000000" , vpunpckhwd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9698C2B80000000" , vpunpckhwd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED69CB" , vpunpckhwd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED698C2B80000000" , vpunpckhwd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED698C2B80000000" , vpunpckhwd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D4869CB" , vpunpckhwd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48694C2B02" , vpunpckhwd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48694C2B02" , vpunpckhwd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E960CB" , vpunpcklbw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9608C2B80000000" , vpunpcklbw(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9608C2B80000000" , vpunpcklbw(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED60CB" , vpunpcklbw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED608C2B80000000" , vpunpcklbw(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED608C2B80000000" , vpunpcklbw(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D4860CB" , vpunpcklbw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48604C2B02" , vpunpcklbw(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48604C2B02" , vpunpcklbw(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E962CB" , vpunpckldq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9628C2B80000000" , vpunpckldq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9628C2B80000000" , vpunpckldq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED62CB" , vpunpckldq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED628C2B80000000" , vpunpckldq(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED628C2B80000000" , vpunpckldq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D4862CB" , vpunpckldq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48624C2B02" , vpunpckldq(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48624C2B02" , vpunpckldq(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E96CCB" , vpunpcklqdq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E96C8C2B80000000" , vpunpcklqdq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E96C8C2B80000000" , vpunpcklqdq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED6CCB" , vpunpcklqdq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED6C8C2B80000000" , vpunpcklqdq(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED6C8C2B80000000" , vpunpcklqdq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED486CCB" , vpunpcklqdq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED486C4C2B02" , vpunpcklqdq(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED486C4C2B02" , vpunpcklqdq(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E961CB" , vpunpcklwd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9618C2B80000000" , vpunpcklwd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9618C2B80000000" , vpunpcklwd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED61CB" , vpunpcklwd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED618C2B80000000" , vpunpcklwd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED618C2B80000000" , vpunpcklwd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D4861CB" , vpunpcklwd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48614C2B02" , vpunpcklwd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48614C2B02" , vpunpcklwd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9EFCB" , vpxor(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9EF8C2B80000000" , vpxor(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9EF8C2B80000000" , vpxor(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDEFCB" , vpxor(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDEF8C2B80000000" , vpxor(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EDEF8C2B80000000" , vpxor(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D08EFCB" , vpxord(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F16D08EF4C2B08" , vpxord(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D08EF4C2B08" , vpxord(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D28EFCB" , vpxord(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F16D28EF4C2B04" , vpxord(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D28EF4C2B04" , vpxord(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48EFCB" , vpxord(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48EF4C2B02" , vpxord(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48EF4C2B02" , vpxord(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED08EFCB" , vpxorq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F1ED08EF4C2B08" , vpxorq(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED08EF4C2B08" , vpxorq(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED28EFCB" , vpxorq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F1ED28EF4C2B04" , vpxorq(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED28EF4C2B04" , vpxorq(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48EFCB" , vpxorq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED48EF4C2B02" , vpxorq(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48EF4C2B02" , vpxorq(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F3ED0850CB01" , vrangepd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED08504C2B0801" , vrangepd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED08504C2B0801" , vrangepd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED2850CB01" , vrangepd(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F3ED28504C2B0401" , vrangepd(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED28504C2B0401" , vrangepd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED4850CB01" , vrangepd(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F3ED48504C2B0201" , vrangepd(zmm1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED48504C2B0201" , vrangepd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D0850CB01" , vrangeps(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D08504C2B0801" , vrangeps(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D08504C2B0801" , vrangeps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D2850CB01" , vrangeps(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F36D28504C2B0401" , vrangeps(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D28504C2B0401" , vrangeps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D4850CB01" , vrangeps(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F36D48504C2B0201" , vrangeps(zmm1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D48504C2B0201" , vrangeps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED0851CB01" , vrangesd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED08514C2B1001" , vrangesd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED08514C2B1001" , vrangesd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D0851CB01" , vrangess(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D08514C2B2001" , vrangess(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D08514C2B2001" , vrangess(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F2FD084CCA" , vrcp14pd(xmm1, xmm2));
+ TEST_INSTRUCTION("62F2FD084C4C1A08" , vrcp14pd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD084C4C1A08" , vrcp14pd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD284CCA" , vrcp14pd(ymm1, ymm2));
+ TEST_INSTRUCTION("62F2FD284C4C1A04" , vrcp14pd(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD284C4C1A04" , vrcp14pd(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD484CCA" , vrcp14pd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F2FD484C4C1A02" , vrcp14pd(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD484C4C1A02" , vrcp14pd(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D084CCA" , vrcp14ps(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27D084C4C1A08" , vrcp14ps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D084C4C1A08" , vrcp14ps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D284CCA" , vrcp14ps(ymm1, ymm2));
+ TEST_INSTRUCTION("62F27D284C4C1A04" , vrcp14ps(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D284C4C1A04" , vrcp14ps(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D484CCA" , vrcp14ps(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D484C4C1A02" , vrcp14ps(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D484C4C1A02" , vrcp14ps(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2ED084DCB" , vrcp14sd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED084D4C2B10" , vrcp14sd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED084D4C2B10" , vrcp14sd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D084DCB" , vrcp14ss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D084D4C2B20" , vrcp14ss(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D084D4C2B20" , vrcp14ss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2FD48CACA" , vrcp28pd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F2FD48CA4C1A02" , vrcp28pd(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD48CA4C1A02" , vrcp28pd(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48CACA" , vrcp28ps(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D48CA4C1A02" , vrcp28ps(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48CA4C1A02" , vrcp28ps(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08CBCB" , vrcp28sd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08CB4C2B10" , vrcp28sd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08CB4C2B10" , vrcp28sd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08CBCB" , vrcp28ss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08CB4C2B20" , vrcp28ss(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08CB4C2B20" , vrcp28ss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5F853CA" , vrcpps(xmm1, xmm2));
+ TEST_INSTRUCTION("C5F8538C1A80000000" , vrcpps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F8538C1A80000000" , vrcpps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FC53CA" , vrcpps(ymm1, ymm2));
+ TEST_INSTRUCTION("C5FC538C1A80000000" , vrcpps(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FC538C1A80000000" , vrcpps(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5EA53CB" , vrcpss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EA538C2B80000000" , vrcpss(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EA538C2B80000000" , vrcpss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F3FD0856CA01" , vreducepd(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("62F3FD08564C1A0801" , vreducepd(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD08564C1A0801" , vreducepd(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD2856CA01" , vreducepd(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("62F3FD28564C1A0401" , vreducepd(ymm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD28564C1A0401" , vreducepd(ymm1, ymmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD4856CA01" , vreducepd(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F3FD48564C1A0201" , vreducepd(zmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD48564C1A0201" , vreducepd(zmm1, zmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D0856CA01" , vreduceps(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("62F37D08564C1A0801" , vreduceps(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D08564C1A0801" , vreduceps(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D2856CA01" , vreduceps(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("62F37D28564C1A0401" , vreduceps(ymm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D28564C1A0401" , vreduceps(ymm1, ymmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D4856CA01" , vreduceps(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F37D48564C1A0201" , vreduceps(zmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D48564C1A0201" , vreduceps(zmm1, zmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED0857CB01" , vreducesd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED08574C2B1001" , vreducesd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED08574C2B1001" , vreducesd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D0857CB01" , vreducess(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D08574C2B2001" , vreducess(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D08574C2B2001" , vreducess(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD0809CA01" , vrndscalepd(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("62F3FD08094C1A0801" , vrndscalepd(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD08094C1A0801" , vrndscalepd(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD2809CA01" , vrndscalepd(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("62F3FD28094C1A0401" , vrndscalepd(ymm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD28094C1A0401" , vrndscalepd(ymm1, ymmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD4809CA01" , vrndscalepd(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F3FD48094C1A0201" , vrndscalepd(zmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD48094C1A0201" , vrndscalepd(zmm1, zmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D0808CA01" , vrndscaleps(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("62F37D08084C1A0801" , vrndscaleps(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D08084C1A0801" , vrndscaleps(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D2808CA01" , vrndscaleps(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("62F37D28084C1A0401" , vrndscaleps(ymm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D28084C1A0401" , vrndscaleps(ymm1, ymmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D4808CA01" , vrndscaleps(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F37D48084C1A0201" , vrndscaleps(zmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D48084C1A0201" , vrndscaleps(zmm1, zmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED080BCB01" , vrndscalesd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED080B4C2B1001" , vrndscalesd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED080B4C2B1001" , vrndscalesd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D080ACB01" , vrndscaless(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D080A4C2B2001" , vrndscaless(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D080A4C2B2001" , vrndscaless(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E37909CA01" , vroundpd(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("C4E379098C1A8000000001" , vroundpd(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E379098C1A8000000001" , vroundpd(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E37D09CA01" , vroundpd(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("C4E37D098C1A8000000001" , vroundpd(ymm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E37D098C1A8000000001" , vroundpd(ymm1, ymmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E37908CA01" , vroundps(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("C4E379088C1A8000000001" , vroundps(xmm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E379088C1A8000000001" , vroundps(xmm1, xmmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E37D08CA01" , vroundps(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("C4E37D088C1A8000000001" , vroundps(ymm1, ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E37D088C1A8000000001" , vroundps(ymm1, ymmword_ptr(edx, ebx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3690BCB01" , vroundsd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C4E3690B8C2B8000000001" , vroundsd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3690B8C2B8000000001" , vroundsd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3690ACB01" , vroundss(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C4E3690A8C2B8000000001" , vroundss(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3690A8C2B8000000001" , vroundss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F2FD084ECA" , vrsqrt14pd(xmm1, xmm2));
+ TEST_INSTRUCTION("62F2FD084E4C1A08" , vrsqrt14pd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD084E4C1A08" , vrsqrt14pd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD284ECA" , vrsqrt14pd(ymm1, ymm2));
+ TEST_INSTRUCTION("62F2FD284E4C1A04" , vrsqrt14pd(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD284E4C1A04" , vrsqrt14pd(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD484ECA" , vrsqrt14pd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F2FD484E4C1A02" , vrsqrt14pd(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD484E4C1A02" , vrsqrt14pd(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D084ECA" , vrsqrt14ps(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27D084E4C1A08" , vrsqrt14ps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D084E4C1A08" , vrsqrt14ps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D284ECA" , vrsqrt14ps(ymm1, ymm2));
+ TEST_INSTRUCTION("62F27D284E4C1A04" , vrsqrt14ps(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D284E4C1A04" , vrsqrt14ps(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D484ECA" , vrsqrt14ps(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D484E4C1A02" , vrsqrt14ps(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D484E4C1A02" , vrsqrt14ps(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2ED084FCB" , vrsqrt14sd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED084F4C2B10" , vrsqrt14sd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED084F4C2B10" , vrsqrt14sd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D084FCB" , vrsqrt14ss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D084F4C2B20" , vrsqrt14ss(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D084F4C2B20" , vrsqrt14ss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2FD48CCCA" , vrsqrt28pd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F2FD48CC4C1A02" , vrsqrt28pd(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD48CC4C1A02" , vrsqrt28pd(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48CCCA" , vrsqrt28ps(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D48CC4C1A02" , vrsqrt28ps(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48CC4C1A02" , vrsqrt28ps(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08CDCB" , vrsqrt28sd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08CD4C2B10" , vrsqrt28sd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08CD4C2B10" , vrsqrt28sd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08CDCB" , vrsqrt28ss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08CD4C2B20" , vrsqrt28ss(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08CD4C2B20" , vrsqrt28ss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5F852CA" , vrsqrtps(xmm1, xmm2));
+ TEST_INSTRUCTION("C5F8528C1A80000000" , vrsqrtps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F8528C1A80000000" , vrsqrtps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FC52CA" , vrsqrtps(ymm1, ymm2));
+ TEST_INSTRUCTION("C5FC528C1A80000000" , vrsqrtps(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FC528C1A80000000" , vrsqrtps(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5EA52CB" , vrsqrtss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EA528C2B80000000" , vrsqrtss(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EA528C2B80000000" , vrsqrtss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED082CCB" , vscalefpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED082C4C2B08" , vscalefpd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED082C4C2B08" , vscalefpd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED282CCB" , vscalefpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED282C4C2B04" , vscalefpd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED282C4C2B04" , vscalefpd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED482CCB" , vscalefpd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED482C4C2B02" , vscalefpd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED482C4C2B02" , vscalefpd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D082CCB" , vscalefps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D082C4C2B08" , vscalefps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D082C4C2B08" , vscalefps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D282CCB" , vscalefps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D282C4C2B04" , vscalefps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D282C4C2B04" , vscalefps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D482CCB" , vscalefps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D482C4C2B02" , vscalefps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D482C4C2B02" , vscalefps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED082DCB" , vscalefsd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED082D4C2B10" , vscalefsd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED082D4C2B10" , vscalefsd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D082DCB" , vscalefss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D082D4C2B20" , vscalefss(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F26D082D4C2B20" , vscalefss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F2FD09A25C1110" , k(k1).vscatterdpd(ptr(ecx, xmm2, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F2FD29A25C1110" , k(k1).vscatterdpd(ptr(ecx, xmm2, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F2FD49A25C1110" , k(k1).vscatterdpd(ptr(ecx, ymm2, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27D09A25C1120" , k(k1).vscatterdps(ptr(ecx, xmm2, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27D29A25C1120" , k(k1).vscatterdps(ptr(ecx, ymm2, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27D49A25C1120" , k(k1).vscatterdps(ptr(ecx, zmm2, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F2FD49C66C1110" , k(k1).vscatterpf0dpd(ptr(ecx, ymm2, 0, 128)));
+ TEST_INSTRUCTION("62F27D49C66C1120" , k(k1).vscatterpf0dps(ptr(ecx, zmm2, 0, 128)));
+ TEST_INSTRUCTION("62F2FD49C76C1110" , k(k1).vscatterpf0qpd(ptr(ecx, zmm2, 0, 128)));
+ TEST_INSTRUCTION("62F27D49C76C1120" , k(k1).vscatterpf0qps(ptr(ecx, zmm2, 0, 128)));
+ TEST_INSTRUCTION("62F2FD49C6741110" , k(k1).vscatterpf1dpd(ptr(ecx, ymm2, 0, 128)));
+ TEST_INSTRUCTION("62F27D49C6741120" , k(k1).vscatterpf1dps(ptr(ecx, zmm2, 0, 128)));
+ TEST_INSTRUCTION("62F2FD49C7741110" , k(k1).vscatterpf1qpd(ptr(ecx, zmm2, 0, 128)));
+ TEST_INSTRUCTION("62F27D49C7741120" , k(k1).vscatterpf1qps(ptr(ecx, zmm2, 0, 128)));
+ TEST_INSTRUCTION("62F2FD09A35C1110" , k(k1).vscatterqpd(ptr(ecx, xmm2, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F2FD29A35C1110" , k(k1).vscatterqpd(ptr(ecx, ymm2, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F2FD49A35C1110" , k(k1).vscatterqpd(ptr(ecx, zmm2, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27D09A35C1120" , k(k1).vscatterqps(ptr(ecx, xmm2, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27D29A35C1120" , k(k1).vscatterqps(ptr(ecx, ymm2, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27D49A35C1120" , k(k1).vscatterqps(ptr(ecx, zmm2, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F36D2823CB01" , vshuff32x4(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F36D28234C2B0401" , vshuff32x4(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D28234C2B0401" , vshuff32x4(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D4823CB01" , vshuff32x4(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F36D48234C2B0201" , vshuff32x4(zmm1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D48234C2B0201" , vshuff32x4(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED2823CB01" , vshuff64x2(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F3ED28234C2B0401" , vshuff64x2(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED28234C2B0401" , vshuff64x2(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED4823CB01" , vshuff64x2(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F3ED48234C2B0201" , vshuff64x2(zmm1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED48234C2B0201" , vshuff64x2(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D2843CB01" , vshufi32x4(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F36D28434C2B0401" , vshufi32x4(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D28434C2B0401" , vshufi32x4(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D4843CB01" , vshufi32x4(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F36D48434C2B0201" , vshufi32x4(zmm1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D48434C2B0201" , vshufi32x4(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED2843CB01" , vshufi64x2(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F3ED28434C2B0401" , vshufi64x2(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED28434C2B0401" , vshufi64x2(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED4843CB01" , vshufi64x2(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F3ED48434C2B0201" , vshufi64x2(zmm1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED48434C2B0201" , vshufi64x2(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C5E9C6CB01" , vshufpd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C5E9C68C2B8000000001" , vshufpd(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C5E9C68C2B8000000001" , vshufpd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C5EDC6CB01" , vshufpd(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("C5EDC68C2B8000000001" , vshufpd(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C5EDC68C2B8000000001" , vshufpd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F1ED48C6CB01" , vshufpd(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F1ED48C64C2B0201" , vshufpd(zmm1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F1ED48C64C2B0201" , vshufpd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C5E8C6CB01" , vshufps(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C5E8C68C2B8000000001" , vshufps(xmm1, xmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C5E8C68C2B8000000001" , vshufps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C5ECC6CB01" , vshufps(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("C5ECC68C2B8000000001" , vshufps(ymm1, ymm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C5ECC68C2B8000000001" , vshufps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F16C48C6CB01" , vshufps(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F16C48C64C2B0201" , vshufps(zmm1, zmm2, ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("62F16C48C64C2B0201" , vshufps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128), 1));
+ TEST_INSTRUCTION("C5F951CA" , vsqrtpd(xmm1, xmm2));
+ TEST_INSTRUCTION("C5F9518C1A80000000" , vsqrtpd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F9518C1A80000000" , vsqrtpd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FD51CA" , vsqrtpd(ymm1, ymm2));
+ TEST_INSTRUCTION("C5FD518C1A80000000" , vsqrtpd(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FD518C1A80000000" , vsqrtpd(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD4851CA" , vsqrtpd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F1FD48514C1A02" , vsqrtpd(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD48514C1A02" , vsqrtpd(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F851CA" , vsqrtps(xmm1, xmm2));
+ TEST_INSTRUCTION("C5F8518C1A80000000" , vsqrtps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F8518C1A80000000" , vsqrtps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FC51CA" , vsqrtps(ymm1, ymm2));
+ TEST_INSTRUCTION("C5FC518C1A80000000" , vsqrtps(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5FC518C1A80000000" , vsqrtps(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17C4851CA" , vsqrtps(zmm1, zmm2));
+ TEST_INSTRUCTION("62F17C48514C1A02" , vsqrtps(zmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("62F17C48514C1A02" , vsqrtps(zmm1, zmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5EB51CB" , vsqrtsd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EB518C2B80000000" , vsqrtsd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EB518C2B80000000" , vsqrtsd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EA51CB" , vsqrtss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EA518C2B80000000" , vsqrtss(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EA518C2B80000000" , vsqrtss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5F8AE9C1180000000" , vstmxcsr(ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("C5F8AE9C1180000000" , vstmxcsr(dword_ptr(ecx, edx, 0, 128)));
+ TEST_INSTRUCTION("C5E95CCB" , vsubpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E95C8C2B80000000" , vsubpd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E95C8C2B80000000" , vsubpd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED5CCB" , vsubpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED5C8C2B80000000" , vsubpd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED5C8C2B80000000" , vsubpd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED485CCB" , vsubpd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED485C4C2B02" , vsubpd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED485C4C2B02" , vsubpd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E85CCB" , vsubps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E85C8C2B80000000" , vsubps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E85C8C2B80000000" , vsubps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EC5CCB" , vsubps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EC5C8C2B80000000" , vsubps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EC5C8C2B80000000" , vsubps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16C485CCB" , vsubps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16C485C4C2B02" , vsubps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16C485C4C2B02" , vsubps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EB5CCB" , vsubsd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EB5C8C2B80000000" , vsubsd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EB5C8C2B80000000" , vsubsd(xmm1, xmm2, qword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EA5CCB" , vsubss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EA5C8C2B80000000" , vsubss(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EA5C8C2B80000000" , vsubss(xmm1, xmm2, dword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C4E2790FCA" , vtestpd(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E2790F8C1A80000000" , vtestpd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E2790F8C1A80000000" , vtestpd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D0FCA" , vtestpd(ymm1, ymm2));
+ TEST_INSTRUCTION("C4E27D0F8C1A80000000" , vtestpd(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D0F8C1A80000000" , vtestpd(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E2790ECA" , vtestps(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E2790E8C1A80000000" , vtestps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E2790E8C1A80000000" , vtestps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D0ECA" , vtestps(ymm1, ymm2));
+ TEST_INSTRUCTION("C4E27D0E8C1A80000000" , vtestps(ymm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D0E8C1A80000000" , vtestps(ymm1, ymmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F92ECA" , vucomisd(xmm1, xmm2));
+ TEST_INSTRUCTION("C5F92E8C1A80000000" , vucomisd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F92E8C1A80000000" , vucomisd(xmm1, qword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F82ECA" , vucomiss(xmm1, xmm2));
+ TEST_INSTRUCTION("C5F82E8C1A80000000" , vucomiss(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5F82E8C1A80000000" , vucomiss(xmm1, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("C5E915CB" , vunpckhpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9158C2B80000000" , vunpckhpd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9158C2B80000000" , vunpckhpd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED15CB" , vunpckhpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED158C2B80000000" , vunpckhpd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED158C2B80000000" , vunpckhpd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED4815CB" , vunpckhpd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED48154C2B02" , vunpckhpd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48154C2B02" , vunpckhpd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E815CB" , vunpckhps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E8158C2B80000000" , vunpckhps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E8158C2B80000000" , vunpckhps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EC15CB" , vunpckhps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EC158C2B80000000" , vunpckhps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EC158C2B80000000" , vunpckhps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16C4815CB" , vunpckhps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16C48154C2B02" , vunpckhps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16C48154C2B02" , vunpckhps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E914CB" , vunpcklpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9148C2B80000000" , vunpcklpd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9148C2B80000000" , vunpcklpd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED14CB" , vunpcklpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED148C2B80000000" , vunpcklpd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED148C2B80000000" , vunpcklpd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED4814CB" , vunpcklpd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED48144C2B02" , vunpcklpd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48144C2B02" , vunpcklpd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E814CB" , vunpcklps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E8148C2B80000000" , vunpcklps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E8148C2B80000000" , vunpcklps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EC14CB" , vunpcklps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EC148C2B80000000" , vunpcklps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EC148C2B80000000" , vunpcklps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16C4814CB" , vunpcklps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16C48144C2B02" , vunpcklps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16C48144C2B02" , vunpcklps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E957CB" , vxorpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9578C2B80000000" , vxorpd(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E9578C2B80000000" , vxorpd(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED57CB" , vxorpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED578C2B80000000" , vxorpd(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5ED578C2B80000000" , vxorpd(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED4857CB" , vxorpd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED48574C2B02" , vxorpd(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48574C2B02" , vxorpd(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E857CB" , vxorps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E8578C2B80000000" , vxorps(xmm1, xmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5E8578C2B80000000" , vxorps(xmm1, xmm2, xmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EC57CB" , vxorps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EC578C2B80000000" , vxorps(ymm1, ymm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5EC578C2B80000000" , vxorps(ymm1, ymm2, ymmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16C4857CB" , vxorps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16C48574C2B02" , vxorps(zmm1, zmm2, ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("62F16C48574C2B02" , vxorps(zmm1, zmm2, zmmword_ptr(ebx, ebp, 0, 128)));
+ TEST_INSTRUCTION("C5FC77" , vzeroall());
+ TEST_INSTRUCTION("C5F877" , vzeroupper());
+ TEST_INSTRUCTION("0F09" , wbinvd());
+ TEST_INSTRUCTION("F30F09" , wbnoinvd());
+ TEST_INSTRUCTION("0F30" , wrmsr(edx, eax, ecx));
+ TEST_INSTRUCTION("0F38F6D1" , wrssd(ecx, edx));
+ TEST_INSTRUCTION("0F38F69C1180000000" , wrssd(ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("0F38F69C1180000000" , wrssd(dword_ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("660F38F5D1" , wrussd(ecx, edx));
+ TEST_INSTRUCTION("660F38F59C1180000000" , wrussd(ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("660F38F59C1180000000" , wrussd(dword_ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("C6F801" , xabort(1));
+ TEST_INSTRUCTION("0FC0D1" , xadd(cl, dl));
+ TEST_INSTRUCTION("0FC0F1" , xadd(cl, dh));
+ TEST_INSTRUCTION("0FC0D5" , xadd(ch, dl));
+ TEST_INSTRUCTION("0FC0F5" , xadd(ch, dh));
+ TEST_INSTRUCTION("0FC09C1180000000" , xadd(ptr(ecx, edx, 0, 128), bl));
+ TEST_INSTRUCTION("0FC0BC1180000000" , xadd(ptr(ecx, edx, 0, 128), bh));
+ TEST_INSTRUCTION("0FC09C1180000000" , xadd(byte_ptr(ecx, edx, 0, 128), bl));
+ TEST_INSTRUCTION("0FC0BC1180000000" , xadd(byte_ptr(ecx, edx, 0, 128), bh));
+ TEST_INSTRUCTION("660FC1D1" , xadd(cx, dx));
+ TEST_INSTRUCTION("660FC19C1180000000" , xadd(ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("660FC19C1180000000" , xadd(word_ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("0FC1D1" , xadd(ecx, edx));
+ TEST_INSTRUCTION("0FC19C1180000000" , xadd(ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("0FC19C1180000000" , xadd(dword_ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("86D1" , xchg(cl, dl));
+ TEST_INSTRUCTION("86F1" , xchg(cl, dh));
+ TEST_INSTRUCTION("86D5" , xchg(ch, dl));
+ TEST_INSTRUCTION("86F5" , xchg(ch, dh));
+ TEST_INSTRUCTION("869C1180000000" , xchg(ptr(ecx, edx, 0, 128), bl));
+ TEST_INSTRUCTION("86BC1180000000" , xchg(ptr(ecx, edx, 0, 128), bh));
+ TEST_INSTRUCTION("869C1180000000" , xchg(byte_ptr(ecx, edx, 0, 128), bl));
+ TEST_INSTRUCTION("86BC1180000000" , xchg(byte_ptr(ecx, edx, 0, 128), bh));
+ TEST_INSTRUCTION("6687D1" , xchg(cx, dx));
+ TEST_INSTRUCTION("66879C1180000000" , xchg(ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("66879C1180000000" , xchg(word_ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("87D1" , xchg(ecx, edx));
+ TEST_INSTRUCTION("879C1180000000" , xchg(ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("879C1180000000" , xchg(dword_ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("868C1A80000000" , xchg(cl, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("868C1A80000000" , xchg(cl, byte_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("86AC1A80000000" , xchg(ch, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("86AC1A80000000" , xchg(ch, byte_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("66878C1A80000000" , xchg(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("66878C1A80000000" , xchg(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("878C1A80000000" , xchg(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("878C1A80000000" , xchg(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F01D5" , xend());
+ TEST_INSTRUCTION("0F01D0" , xgetbv(edx, eax, ecx));
+ TEST_INSTRUCTION("D7" , xlatb());
+ TEST_INSTRUCTION("80F101" , xor_(cl, 1));
+ TEST_INSTRUCTION("80F501" , xor_(ch, 1));
+ TEST_INSTRUCTION("80B4118000000001" , xor_(byte_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("6683F101" , xor_(cx, 1));
+ TEST_INSTRUCTION("6683B4118000000001" , xor_(word_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("83F101" , xor_(ecx, 1));
+ TEST_INSTRUCTION("83B4118000000001" , xor_(dword_ptr(ecx, edx, 0, 128), 1));
+ TEST_INSTRUCTION("30D1" , xor_(cl, dl));
+ TEST_INSTRUCTION("30F1" , xor_(cl, dh));
+ TEST_INSTRUCTION("30D5" , xor_(ch, dl));
+ TEST_INSTRUCTION("30F5" , xor_(ch, dh));
+ TEST_INSTRUCTION("309C1180000000" , xor_(ptr(ecx, edx, 0, 128), bl));
+ TEST_INSTRUCTION("30BC1180000000" , xor_(ptr(ecx, edx, 0, 128), bh));
+ TEST_INSTRUCTION("309C1180000000" , xor_(byte_ptr(ecx, edx, 0, 128), bl));
+ TEST_INSTRUCTION("30BC1180000000" , xor_(byte_ptr(ecx, edx, 0, 128), bh));
+ TEST_INSTRUCTION("6631D1" , xor_(cx, dx));
+ TEST_INSTRUCTION("66319C1180000000" , xor_(ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("66319C1180000000" , xor_(word_ptr(ecx, edx, 0, 128), bx));
+ TEST_INSTRUCTION("31D1" , xor_(ecx, edx));
+ TEST_INSTRUCTION("319C1180000000" , xor_(ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("319C1180000000" , xor_(dword_ptr(ecx, edx, 0, 128), ebx));
+ TEST_INSTRUCTION("328C1A80000000" , xor_(cl, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("328C1A80000000" , xor_(cl, byte_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("32AC1A80000000" , xor_(ch, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("32AC1A80000000" , xor_(ch, byte_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("66338C1A80000000" , xor_(cx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("66338C1A80000000" , xor_(cx, word_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("338C1A80000000" , xor_(ecx, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("338C1A80000000" , xor_(ecx, dword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F57CA" , xorpd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F578C1A80000000" , xorpd(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("660F578C1A80000000" , xorpd(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F57CA" , xorps(xmm1, xmm2));
+ TEST_INSTRUCTION("0F578C1A80000000" , xorps(xmm1, ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("0F578C1A80000000" , xorps(xmm1, xmmword_ptr(edx, ebx, 0, 128)));
+ TEST_INSTRUCTION("F20F01E9" , xresldtrk());
+ TEST_INSTRUCTION("0FAEAC1180000000" , xrstor(ptr(ecx, edx, 0, 128), edx, eax));
+ TEST_INSTRUCTION("0FC79C1180000000" , xrstors(ptr(ecx, edx, 0, 128), edx, eax));
+ TEST_INSTRUCTION("0FAEA41180000000" , xsave(ptr(ecx, edx, 0, 128), edx, eax));
+ TEST_INSTRUCTION("0FC7A41180000000" , xsavec(ptr(ecx, edx, 0, 128), edx, eax));
+ TEST_INSTRUCTION("0FAEB41180000000" , xsaveopt(ptr(ecx, edx, 0, 128), edx, eax));
+ TEST_INSTRUCTION("0FC7AC1180000000" , xsaves(ptr(ecx, edx, 0, 128), edx, eax));
+ TEST_INSTRUCTION("0F01D1" , xsetbv(edx, eax, ecx));
+ TEST_INSTRUCTION("F20F01E8" , xsusldtrk());
+ TEST_INSTRUCTION("0F01D6" , xtest());
+
+ // Extended X86 tests.
+ TEST_INSTRUCTION("66050201" , add(ax, 0x0102));
+ TEST_INSTRUCTION("6603849004030201" , add(ax, ptr(eax, edx, 2, 0x01020304)));
+ TEST_INSTRUCTION("0504030201" , add(eax, 0x01020304));
+ TEST_INSTRUCTION("67668D00" , lea(ax, ptr(bx, si)));
+ TEST_INSTRUCTION("67668D01" , lea(ax, ptr(bx, di)));
+ TEST_INSTRUCTION("67668D02" , lea(ax, ptr(bp, si)));
+ TEST_INSTRUCTION("67668D03" , lea(ax, ptr(bp, di)));
+ TEST_INSTRUCTION("67668D04" , lea(ax, ptr(si)));
+ TEST_INSTRUCTION("67668D05" , lea(ax, ptr(di)));
+ TEST_INSTRUCTION("67668D4600" , lea(ax, ptr(bp)));
+ TEST_INSTRUCTION("67668D07" , lea(ax, ptr(bx)));
+ TEST_INSTRUCTION("67668D4010" , lea(ax, ptr(bx, si, 0, 0x10)));
+ TEST_INSTRUCTION("67668D4120" , lea(ax, ptr(bx, di, 0, 0x20)));
+ TEST_INSTRUCTION("67668D4240" , lea(ax, ptr(bp, si, 0, 0x40)));
+ TEST_INSTRUCTION("67668D4360" , lea(ax, ptr(bp, di, 0, 0x60)));
+ TEST_INSTRUCTION("67668D848000" , lea(ax, ptr(si, 0x80)));
+ TEST_INSTRUCTION("67668D85A000" , lea(ax, ptr(di, 0xA0)));
+ TEST_INSTRUCTION("67668D86C000" , lea(ax, ptr(bp, 0xC0)));
+ TEST_INSTRUCTION("67668D87FF01" , lea(ax, ptr(bx, 0x01FF)));
+ TEST_INSTRUCTION("678D00" , lea(eax, ptr(bx, si)));
+ TEST_INSTRUCTION("678D01" , lea(eax, ptr(bx, di)));
+ TEST_INSTRUCTION("8D0433" , lea(eax, ptr(ebx, esi)));
+ TEST_INSTRUCTION("8D043B" , lea(eax, ptr(ebx, edi)));
+ TEST_INSTRUCTION("8D0500000000" , lea(eax, ptr(0)));
TEST_INSTRUCTION("B8FFFFFFFF" , mov(eax, 0xFFFFFFFF));
- TEST_INSTRUCTION("8CE0" , mov(eax, fs));
- TEST_INSTRUCTION("8EE0" , mov(fs, eax));
TEST_INSTRUCTION("8B10" , mov(edx, ptr(eax)));
TEST_INSTRUCTION("8B10" , mov(edx, ptr(eax, 0)));
TEST_INSTRUCTION("8B9080000000" , mov(edx, ptr(eax, 128)));
@@ -81,22 +7579,6 @@ bool testX86Assembler(const TestSettings& settings) noexcept {
TEST_INSTRUCTION("0FB607" , movzx(eax, byte_ptr(edi)));
TEST_INSTRUCTION("0FB6C6" , movzx(eax, dh));
TEST_INSTRUCTION("0FB707" , movzx(eax, word_ptr(edi)));
- TEST_INSTRUCTION("03D9" , add(ebx, ecx));
- TEST_INSTRUCTION("83C001" , add(eax, 1));
- TEST_INSTRUCTION("0504030201" , add(eax, 0x01020304));
- TEST_INSTRUCTION("66050201" , add(ax, 0x0102));
- TEST_INSTRUCTION("6603849004030201" , add(ax, ptr(eax, edx, 2, 0x01020304)));
- TEST_INSTRUCTION("F00118" , lock().add(ptr(eax), ebx));
- TEST_INSTRUCTION("F00FC138" , lock().xadd(ptr(eax), edi));
- TEST_INSTRUCTION("660FBA2001" , bt(word_ptr(eax), 1));
- TEST_INSTRUCTION("0FBA2001" , bt(dword_ptr(eax), 1));
- TEST_INSTRUCTION("FE00" , inc(byte_ptr(eax)));
- TEST_INSTRUCTION("66FF00" , inc(word_ptr(eax)));
- TEST_INSTRUCTION("FF00" , inc(dword_ptr(eax)));
- TEST_INSTRUCTION("F6D8" , neg(al));
- TEST_INSTRUCTION("F6DC" , neg(ah));
- TEST_INSTRUCTION("F7D8" , neg(eax));
- TEST_INSTRUCTION("F7D0" , not_(eax));
TEST_INSTRUCTION("0F95C3" , setnz(bl));
TEST_INSTRUCTION("0F94C7" , setz(bh));
TEST_INSTRUCTION("F600FF" , test(byte_ptr(eax), 0xFF));
@@ -119,180 +7601,50 @@ bool testX86Assembler(const TestSettings& settings) noexcept {
TEST_INSTRUCTION("0FA0" , push(fs));
TEST_INSTRUCTION("0FA8" , push(gs));
TEST_INSTRUCTION("C8010002" , enter(1, 2));
- TEST_INSTRUCTION("C9" , leave());
TEST_INSTRUCTION("FF10" , call(ptr(eax)));
TEST_INSTRUCTION("FF10" , call(dword_ptr(eax)));
- TEST_INSTRUCTION("66C501" , lds(ax, ptr(ecx)));
- TEST_INSTRUCTION("C501" , lds(eax, ptr(ecx)));
- TEST_INSTRUCTION("66C401" , les(ax, ptr(ecx)));
- TEST_INSTRUCTION("C401" , les(eax, ptr(ecx)));
- TEST_INSTRUCTION("660FB401" , lfs(ax, ptr(ecx)));
- TEST_INSTRUCTION("0FB401" , lfs(eax, ptr(ecx)));
- TEST_INSTRUCTION("660FB501" , lgs(ax, ptr(ecx)));
- TEST_INSTRUCTION("0FB501" , lgs(eax, ptr(ecx)));
- TEST_INSTRUCTION("660FB201" , lss(ax, ptr(ecx)));
- TEST_INSTRUCTION("0FB201" , lss(eax, ptr(ecx)));
-
- // NOP.
- TEST_INSTRUCTION("90" , nop());
- TEST_INSTRUCTION("660F1F0400" , nop(word_ptr(eax, eax)));
- TEST_INSTRUCTION("660F1F0400" , nop(word_ptr(eax, eax), ax));
- TEST_INSTRUCTION("660F1F1C00" , nop(word_ptr(eax, eax), bx));
- TEST_INSTRUCTION("0F1F0400" , nop(dword_ptr(eax, eax)));
- TEST_INSTRUCTION("0F1F0400" , nop(dword_ptr(eax, eax), eax));
- TEST_INSTRUCTION("0F1F1C00" , nop(dword_ptr(eax, eax), ebx));
-
- // LEA.
- TEST_INSTRUCTION("67668D00" , lea(ax, ptr(bx, si)));
- TEST_INSTRUCTION("67668D01" , lea(ax, ptr(bx, di)));
- TEST_INSTRUCTION("67668D02" , lea(ax, ptr(bp, si)));
- TEST_INSTRUCTION("67668D03" , lea(ax, ptr(bp, di)));
- TEST_INSTRUCTION("67668D04" , lea(ax, ptr(si)));
- TEST_INSTRUCTION("67668D05" , lea(ax, ptr(di)));
- TEST_INSTRUCTION("67668D4600" , lea(ax, ptr(bp)));
- TEST_INSTRUCTION("67668D07" , lea(ax, ptr(bx)));
- TEST_INSTRUCTION("67668D4010" , lea(ax, ptr(bx, si, 0, 0x10)));
- TEST_INSTRUCTION("67668D4120" , lea(ax, ptr(bx, di, 0, 0x20)));
- TEST_INSTRUCTION("67668D4240" , lea(ax, ptr(bp, si, 0, 0x40)));
- TEST_INSTRUCTION("67668D4360" , lea(ax, ptr(bp, di, 0, 0x60)));
- TEST_INSTRUCTION("67668D848000" , lea(ax, ptr(si, 0x80)));
- TEST_INSTRUCTION("67668D85A000" , lea(ax, ptr(di, 0xA0)));
- TEST_INSTRUCTION("67668D86C000" , lea(ax, ptr(bp, 0xC0)));
- TEST_INSTRUCTION("67668D87FF01" , lea(ax, ptr(bx, 0x01FF)));
- TEST_INSTRUCTION("678D00" , lea(eax, ptr(bx, si)));
- TEST_INSTRUCTION("678D01" , lea(eax, ptr(bx, di)));
- TEST_INSTRUCTION("8D0433" , lea(eax, ptr(ebx, esi)));
- TEST_INSTRUCTION("8D043B" , lea(eax, ptr(ebx, edi)));
- TEST_INSTRUCTION("8D0500000000" , lea(eax, ptr(0)));
+ TEST_INSTRUCTION("6690" , xchg(ax, ax));
+ TEST_INSTRUCTION("90" , xchg(eax, eax));
- // LJMP/LCALL/LRET.
- TEST_INSTRUCTION("66FF18" , lcall(dword_ptr(eax)));
- TEST_INSTRUCTION("FF18" , lcall(fword_ptr(eax)));
- TEST_INSTRUCTION("9A020000000100" , lcall(1, 2));
- TEST_INSTRUCTION("66FF28" , ljmp(dword_ptr(eax)));
- TEST_INSTRUCTION("FF28" , ljmp(fword_ptr(eax)));
- TEST_INSTRUCTION("EA020000000100" , ljmp(1, 2));
- TEST_INSTRUCTION("CB" , lret());
- TEST_INSTRUCTION("CA0201" , lret(0x0102));
-
- // XACQUIRE|XRELEASE|RTM.
- TEST_INSTRUCTION("C6F811" , xabort(0x11));
+ TEST_INSTRUCTION("F00118" , lock().add(ptr(eax), ebx));
+ TEST_INSTRUCTION("F00FC138" , lock().xadd(ptr(eax), edi));
TEST_INSTRUCTION("F2F00108" , xacquire().lock().add(dword_ptr(eax), ecx));
TEST_INSTRUCTION("F3F00108" , xrelease().lock().add(dword_ptr(eax), ecx));
- // BND.
- TEST_INSTRUCTION("660F1ACA" , bndmov(bnd1, bnd2));
- TEST_INSTRUCTION("F20F1ACF" , bndcu(bnd1, edi));
- TEST_INSTRUCTION("0F1A0408" , bndldx(bnd0, ptr(eax, ecx)));
- TEST_INSTRUCTION("0F1B0C08" , bndstx(ptr(eax, ecx), bnd1));
-
- // BMI+.
- TEST_INSTRUCTION("66F30FB8C2" , popcnt(ax, dx));
- TEST_INSTRUCTION("F30FB8C2" , popcnt(eax, edx));
- TEST_INSTRUCTION("66F30FBDC2" , lzcnt(ax, dx));
- TEST_INSTRUCTION("F30FBDC2" , lzcnt(eax, edx));
- TEST_INSTRUCTION("66F30FBCC2" , tzcnt(ax, dx));
- TEST_INSTRUCTION("F30FBCC2" , tzcnt(eax, edx));
-
- // CRC32.
- TEST_INSTRUCTION("F20F38F0C7" , crc32(eax, bh));
- TEST_INSTRUCTION("66F20F38F1C3" , crc32(eax, bx));
- TEST_INSTRUCTION("F20F38F1C1" , crc32(eax, ecx));
- TEST_INSTRUCTION("F20F38F006" , crc32(eax, byte_ptr(esi)));
- TEST_INSTRUCTION("66F20F38F106" , crc32(eax, word_ptr(esi)));
- TEST_INSTRUCTION("F20F38F106" , crc32(eax, dword_ptr(esi)));
+ // MOD RM & MR tests.
+ TEST_INSTRUCTION("01CB" , mod_mr().add(ebx, ecx));
+ TEST_INSTRUCTION("03D9" , mod_rm().add(ebx, ecx));
+ TEST_INSTRUCTION("88C4" , mod_mr().mov(ah, al));
+ TEST_INSTRUCTION("88C6" , mod_mr().mov(dh, al));
+ TEST_INSTRUCTION("89D8" , mod_mr().mov(eax, ebx));
+ TEST_INSTRUCTION("8AE0" , mod_rm().mov(ah, al));
+ TEST_INSTRUCTION("8AF0" , mod_rm().mov(dh, al));
+ TEST_INSTRUCTION("8BC3" , mod_rm().mov(eax, ebx));
// FPU.
TEST_INSTRUCTION("9B" , fwait());
TEST_INSTRUCTION("D800" , fadd(dword_ptr(eax)));
TEST_INSTRUCTION("DC00" , fadd(qword_ptr(eax)));
- // MMX & SSE.
- TEST_INSTRUCTION("0F6FC1" , movq(mm0, mm1));
- TEST_INSTRUCTION("0F6E00" , movd(mm0, ptr(eax)));
- TEST_INSTRUCTION("0F6F0418" , movq(mm0, ptr(eax, ebx)));
- TEST_INSTRUCTION("0F7E38" , movd(ptr(eax), mm7));
- TEST_INSTRUCTION("0F7F0418" , movq(ptr(eax, ebx), mm0));
- TEST_INSTRUCTION("F30F7EC1" , movq(xmm0, xmm1));
- TEST_INSTRUCTION("660F6E0418" , movd(xmm0, ptr(eax, ebx)));
- TEST_INSTRUCTION("F30F7E0418" , movq(xmm0, ptr(eax, ebx)));
- TEST_INSTRUCTION("660F7E0C18" , movd(ptr(eax, ebx), xmm1));
- TEST_INSTRUCTION("660FD60C18" , movq(ptr(eax, ebx), xmm1));
- TEST_INSTRUCTION("0F280498" , movaps(xmm0, ptr(eax, ebx, 2)));
- TEST_INSTRUCTION("660F280498" , movapd(xmm0, ptr(eax, ebx, 2)));
- TEST_INSTRUCTION("660F6F0498" , movdqa(xmm0, ptr(eax, ebx, 2)));
- TEST_INSTRUCTION("0F290C98" , movaps(ptr(eax, ebx, 2), xmm1));
- TEST_INSTRUCTION("660F290C98" , movapd(ptr(eax, ebx, 2), xmm1));
- TEST_INSTRUCTION("660F7F0C98" , movdqa(ptr(eax, ebx, 2), xmm1));
- TEST_INSTRUCTION("F30F2DC1" , cvtss2si(eax, xmm1));
- TEST_INSTRUCTION("F20F2DC1" , cvtsd2si(eax, xmm1));
- TEST_INSTRUCTION("F30F2AC2" , cvtsi2ss(xmm0, edx));
- TEST_INSTRUCTION("F20F2AC2" , cvtsi2sd(xmm0, edx));
- TEST_INSTRUCTION("660F3A41C100" , dppd(xmm0, xmm1, 0));
- TEST_INSTRUCTION("0FDBC1" , pand(mm0, mm1));
- TEST_INSTRUCTION("660FDBC1" , pand(xmm0, xmm1));
- TEST_INSTRUCTION("660FFDC1" , paddw(xmm0, xmm1));
-
// AVX & AVX512.
- TEST_INSTRUCTION("C5F96E5A10" , vmovd(xmm3, dword_ptr(edx, 0x10)));
- TEST_INSTRUCTION("C5FA7E5A10" , vmovq(xmm3, qword_ptr(edx, 0x10)));
- TEST_INSTRUCTION("C5F97E5A10" , vmovd(dword_ptr(edx, 0x10), xmm3));
- TEST_INSTRUCTION("C5F9D65A10" , vmovq(qword_ptr(edx, 0x10), xmm3));
- TEST_INSTRUCTION("C5F96EEB" , vmovd(xmm5, ebx));
- TEST_INSTRUCTION("C5F97EEB" , vmovd(ebx, xmm5));
- TEST_INSTRUCTION("C5FA7EC1" , vmovq(xmm0, xmm1));
TEST_INSTRUCTION("62F17D086EC0" , evex().vmovd(xmm0, eax));
TEST_INSTRUCTION("62F17D087EC0" , evex().vmovd(eax, xmm0));
- TEST_INSTRUCTION("C5F5FDC7" , vpaddw(ymm0, ymm1, ymm7));
- TEST_INSTRUCTION("C4E37141C200" , vdppd(xmm0, xmm1, xmm2, 0));
TEST_INSTRUCTION("62F1F5D95800" , k(k1).z().vaddpd(zmm0, zmm1, ptr(eax)._1to8()));
- TEST_INSTRUCTION("C5F058C2" , vaddps(xmm0, xmm1, xmm2));
TEST_INSTRUCTION("62F1748858C2" , z().vaddps(xmm0, xmm1, xmm2));
TEST_INSTRUCTION("62F1748958C2" , k(k1).z().vaddps(xmm0, xmm1, xmm2));
TEST_INSTRUCTION("62F16C4FC25498040F" , k(k7).vcmpps(k2, zmm2, zmmword_ptr(eax, ebx, 2, 256), 15));
TEST_INSTRUCTION("62F16C5FC25498400F" , k(k7).vcmpps(k2, zmm2, dword_ptr(eax, ebx, 2, 256)._1to16(), 15));
- TEST_INSTRUCTION("C5FA2DC1" , vcvtss2si(eax, xmm1));
- TEST_INSTRUCTION("C5FB2DC1" , vcvtsd2si(eax, xmm1));
- TEST_INSTRUCTION("C5F22AC2" , vcvtsi2ss(xmm0, xmm1, edx));
- TEST_INSTRUCTION("C5F32AC2" , vcvtsi2sd(xmm0, xmm1, edx));
- TEST_INSTRUCTION("C5FBE63B" , vcvtpd2dq(xmm7, xmmword_ptr(ebx)));
- TEST_INSTRUCTION("C5FFE63B" , vcvtpd2dq(xmm7, ymmword_ptr(ebx)));
- TEST_INSTRUCTION("C5F95A3B" , vcvtpd2ps(xmm7, xmmword_ptr(ebx)));
- TEST_INSTRUCTION("C5FD5A3B" , vcvtpd2ps(xmm7, ymmword_ptr(ebx)));
- TEST_INSTRUCTION("C5F95AC1" , vcvtpd2ps(xmm0, xmm1));
- TEST_INSTRUCTION("C5F95A03" , vcvtpd2ps(xmm0, xmmword_ptr(ebx)));
- TEST_INSTRUCTION("C5FD5AC1" , vcvtpd2ps(xmm0, ymm1));
- TEST_INSTRUCTION("C5FD5A03" , vcvtpd2ps(xmm0, ymmword_ptr(ebx)));
- TEST_INSTRUCTION("62F1FD485AC1" , vcvtpd2ps(ymm0, zmm1));
- TEST_INSTRUCTION("62F1FD485A03" , vcvtpd2ps(ymm0, zmmword_ptr(ebx)));
- TEST_INSTRUCTION("62F1FC08793B" , vcvtpd2udq(xmm7, xmmword_ptr(ebx)));
- TEST_INSTRUCTION("62F1FC28793B" , vcvtpd2udq(xmm7, ymmword_ptr(ebx)));
- TEST_INSTRUCTION("62F1FC085B3B" , vcvtqq2ps(xmm7, xmmword_ptr(ebx)));
- TEST_INSTRUCTION("62F1FC285B3B" , vcvtqq2ps(xmm7, ymmword_ptr(ebx)));
- TEST_INSTRUCTION("C5F9E63B" , vcvttpd2dq(xmm7, xmmword_ptr(ebx)));
- TEST_INSTRUCTION("C5FDE63B" , vcvttpd2dq(xmm7, ymmword_ptr(ebx)));
- TEST_INSTRUCTION("62F1FC08783B" , vcvttpd2udq(xmm7, xmmword_ptr(ebx)));
- TEST_INSTRUCTION("62F1FC28783B" , vcvttpd2udq(xmm7, ymmword_ptr(ebx)));
- TEST_INSTRUCTION("62F1FF087A3B" , vcvtuqq2ps(xmm7, xmmword_ptr(ebx)));
- TEST_INSTRUCTION("62F1FF287A3B" , vcvtuqq2ps(xmm7, ymmword_ptr(ebx)));
- TEST_INSTRUCTION("62F3FD08663F01" , vfpclasspd(k7, xmmword_ptr(edi), 0x01));
- TEST_INSTRUCTION("62F3FD28663F01" , vfpclasspd(k7, ymmword_ptr(edi), 0x01));
- TEST_INSTRUCTION("62F3FD48663F01" , vfpclasspd(k7, zmmword_ptr(edi), 0x01));
- TEST_INSTRUCTION("62F37D08663F01" , vfpclassps(k7, xmmword_ptr(edi), 0x01));
- TEST_INSTRUCTION("62F37D28663F01" , vfpclassps(k7, ymmword_ptr(edi), 0x01));
- TEST_INSTRUCTION("62F37D48663F01" , vfpclassps(k7, zmmword_ptr(edi), 0x01));
TEST_INSTRUCTION("C4E2F990040500000000" , vpgatherdq(xmm0, ptr(0, xmm0), xmm0));
TEST_INSTRUCTION("C4E2FD91040500000000" , vpgatherqq(ymm0, ptr(0, ymm0), ymm0));
TEST_INSTRUCTION("C4E2E9920C00" , vgatherdpd(xmm1, ptr(eax, xmm0), xmm2));
- TEST_INSTRUCTION("62F36D083ECB00" , vpcmpub(k1, xmm2, xmm3, 0x0));
TEST_INSTRUCTION("62F26D48CF4C1101" , vgf2p8mulb(zmm1, zmm2, zmmword_ptr(ecx, edx, 0, 64)));
TEST_INSTRUCTION("62F3ED48CE4C11010F" , vgf2p8affineqb(zmm1, zmm2, zmmword_ptr(ecx, edx, 0, 64), 15));
TEST_INSTRUCTION("62F3ED48CF4C11010F" , vgf2p8affineinvqb(zmm1, zmm2, zmmword_ptr(ecx, edx, 0, 64), 15));
TEST_INSTRUCTION("62F2674868246D00F8FFFF" , vp2intersectd(k4, k5, zmm3, zmmword_ptr(0xFFFFF800, ebp, 1)));
- // AVX512_VNNI vs AVX_VNNI.
- TEST_INSTRUCTION("62F2552850F4" , vpdpbusd(ymm6, ymm5, ymm4));
+ // AVX_VNNI & AVX512_VNNI.
TEST_INSTRUCTION("C4E25550F4" , vex().vpdpbusd(ymm6, ymm5, ymm4));
+ TEST_INSTRUCTION("62F2552850F4" , vpdpbusd(ymm6, ymm5, ymm4));
tester.printSummary();
return tester.didPass();
@@ -304,14 +7656,8016 @@ bool testX64Assembler(const TestSettings& settings) noexcept {
AssemblerTester<Assembler> tester(Environment::kArchX64, settings);
tester.printHeader("X64");
- // Base Instructions.
- TEST_INSTRUCTION("B800000000" , mov(eax, 0));
- TEST_INSTRUCTION("BB00000000" , mov(ebx, 0));
- TEST_INSTRUCTION("48C7C300000000" , mov(rbx, 0));
+ // Baseline X64 tests.
+ TEST_INSTRUCTION("80D101" , adc(cl, 1));
+ TEST_INSTRUCTION("80D501" , adc(ch, 1));
+ TEST_INSTRUCTION("8094118000000001" , adc(byte_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("6683D101" , adc(cx, 1));
+ TEST_INSTRUCTION("668394118000000001" , adc(word_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("83D101" , adc(ecx, 1));
+ TEST_INSTRUCTION("8394118000000001" , adc(dword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("4811D1" , adc(rcx, rdx));
+ TEST_INSTRUCTION("4883D101" , adc(rcx, 1));
+ TEST_INSTRUCTION("48119C1180000000" , adc(ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("48119C1180000000" , adc(qword_ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("488394118000000001" , adc(qword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("10D1" , adc(cl, dl));
+ TEST_INSTRUCTION("10F1" , adc(cl, dh));
+ TEST_INSTRUCTION("10D5" , adc(ch, dl));
+ TEST_INSTRUCTION("10F5" , adc(ch, dh));
+ TEST_INSTRUCTION("109C1180000000" , adc(ptr(rcx, rdx, 0, 128), bl));
+ TEST_INSTRUCTION("10BC1180000000" , adc(ptr(rcx, rdx, 0, 128), bh));
+ TEST_INSTRUCTION("109C1180000000" , adc(byte_ptr(rcx, rdx, 0, 128), bl));
+ TEST_INSTRUCTION("10BC1180000000" , adc(byte_ptr(rcx, rdx, 0, 128), bh));
+ TEST_INSTRUCTION("6611D1" , adc(cx, dx));
+ TEST_INSTRUCTION("66119C1180000000" , adc(ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("66119C1180000000" , adc(word_ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("11D1" , adc(ecx, edx));
+ TEST_INSTRUCTION("119C1180000000" , adc(ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("119C1180000000" , adc(dword_ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("128C1A80000000" , adc(cl, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("128C1A80000000" , adc(cl, byte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("12AC1A80000000" , adc(ch, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("12AC1A80000000" , adc(ch, byte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("66138C1A80000000" , adc(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("66138C1A80000000" , adc(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("138C1A80000000" , adc(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("138C1A80000000" , adc(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("48138C1A80000000" , adc(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("48138C1A80000000" , adc(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38F6CA" , adcx(ecx, edx));
+ TEST_INSTRUCTION("660F38F68C1A80000000" , adcx(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38F68C1A80000000" , adcx(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("66480F38F6CA" , adcx(rcx, rdx));
+ TEST_INSTRUCTION("66480F38F68C1A80000000" , adcx(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("66480F38F68C1A80000000" , adcx(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("80C101" , add(cl, 1));
+ TEST_INSTRUCTION("80C501" , add(ch, 1));
+ TEST_INSTRUCTION("8084118000000001" , add(byte_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("6683C101" , add(cx, 1));
+ TEST_INSTRUCTION("668384118000000001" , add(word_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("83C101" , add(ecx, 1));
+ TEST_INSTRUCTION("8384118000000001" , add(dword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("4801D1" , add(rcx, rdx));
+ TEST_INSTRUCTION("4883C101" , add(rcx, 1));
+ TEST_INSTRUCTION("48019C1180000000" , add(ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("48019C1180000000" , add(qword_ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("488384118000000001" , add(qword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("00D1" , add(cl, dl));
+ TEST_INSTRUCTION("00F1" , add(cl, dh));
+ TEST_INSTRUCTION("00D5" , add(ch, dl));
+ TEST_INSTRUCTION("00F5" , add(ch, dh));
+ TEST_INSTRUCTION("009C1180000000" , add(ptr(rcx, rdx, 0, 128), bl));
+ TEST_INSTRUCTION("00BC1180000000" , add(ptr(rcx, rdx, 0, 128), bh));
+ TEST_INSTRUCTION("009C1180000000" , add(byte_ptr(rcx, rdx, 0, 128), bl));
+ TEST_INSTRUCTION("00BC1180000000" , add(byte_ptr(rcx, rdx, 0, 128), bh));
+ TEST_INSTRUCTION("6601D1" , add(cx, dx));
+ TEST_INSTRUCTION("66019C1180000000" , add(ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("66019C1180000000" , add(word_ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("01D1" , add(ecx, edx));
+ TEST_INSTRUCTION("019C1180000000" , add(ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("019C1180000000" , add(dword_ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("028C1A80000000" , add(cl, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("028C1A80000000" , add(cl, byte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("02AC1A80000000" , add(ch, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("02AC1A80000000" , add(ch, byte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("66038C1A80000000" , add(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("66038C1A80000000" , add(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("038C1A80000000" , add(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("038C1A80000000" , add(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("48038C1A80000000" , add(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("48038C1A80000000" , add(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F58CA" , addpd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F588C1A80000000" , addpd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F588C1A80000000" , addpd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F58CA" , addps(xmm1, xmm2));
+ TEST_INSTRUCTION("0F588C1A80000000" , addps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F588C1A80000000" , addps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F58CA" , addsd(xmm1, xmm2));
+ TEST_INSTRUCTION("F20F588C1A80000000" , addsd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F588C1A80000000" , addsd(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F58CA" , addss(xmm1, xmm2));
+ TEST_INSTRUCTION("F30F588C1A80000000" , addss(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F588C1A80000000" , addss(xmm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FD0CA" , addsubpd(xmm1, xmm2));
+ TEST_INSTRUCTION("660FD08C1A80000000" , addsubpd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FD08C1A80000000" , addsubpd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20FD0CA" , addsubps(xmm1, xmm2));
+ TEST_INSTRUCTION("F20FD08C1A80000000" , addsubps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20FD08C1A80000000" , addsubps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F38F6CA" , adox(ecx, edx));
+ TEST_INSTRUCTION("F30F38F68C1A80000000" , adox(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F38F68C1A80000000" , adox(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F3480F38F6CA" , adox(rcx, rdx));
+ TEST_INSTRUCTION("F3480F38F68C1A80000000" , adox(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F3480F38F68C1A80000000" , adox(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38DECA" , aesdec(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38DE8C1A80000000" , aesdec(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38DE8C1A80000000" , aesdec(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38DFCA" , aesdeclast(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38DF8C1A80000000" , aesdeclast(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38DF8C1A80000000" , aesdeclast(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38DCCA" , aesenc(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38DC8C1A80000000" , aesenc(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38DC8C1A80000000" , aesenc(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38DDCA" , aesenclast(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38DD8C1A80000000" , aesenclast(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38DD8C1A80000000" , aesenclast(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38DBCA" , aesimc(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38DB8C1A80000000" , aesimc(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38DB8C1A80000000" , aesimc(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3ADFCA01" , aeskeygenassist(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660F3ADF8C1A8000000001" , aeskeygenassist(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3ADF8C1A8000000001" , aeskeygenassist(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("80E101" , and_(cl, 1));
+ TEST_INSTRUCTION("80E501" , and_(ch, 1));
+ TEST_INSTRUCTION("6683E101" , and_(cx, 1));
+ TEST_INSTRUCTION("83E101" , and_(ecx, 1));
+ TEST_INSTRUCTION("4883E101" , and_(rcx, 1));
+ TEST_INSTRUCTION("80A4118000000001" , and_(byte_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("6683A4118000000001" , and_(word_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("83A4118000000001" , and_(dword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("4883A4118000000001" , and_(qword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("4821D1" , and_(rcx, rdx));
+ TEST_INSTRUCTION("48238C1A80000000" , and_(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("48238C1A80000000" , and_(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("48219C1180000000" , and_(ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("48219C1180000000" , and_(qword_ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("20D1" , and_(cl, dl));
+ TEST_INSTRUCTION("20F1" , and_(cl, dh));
+ TEST_INSTRUCTION("20D5" , and_(ch, dl));
+ TEST_INSTRUCTION("20F5" , and_(ch, dh));
+ TEST_INSTRUCTION("209C1180000000" , and_(ptr(rcx, rdx, 0, 128), bl));
+ TEST_INSTRUCTION("20BC1180000000" , and_(ptr(rcx, rdx, 0, 128), bh));
+ TEST_INSTRUCTION("209C1180000000" , and_(byte_ptr(rcx, rdx, 0, 128), bl));
+ TEST_INSTRUCTION("20BC1180000000" , and_(byte_ptr(rcx, rdx, 0, 128), bh));
+ TEST_INSTRUCTION("6621D1" , and_(cx, dx));
+ TEST_INSTRUCTION("66219C1180000000" , and_(ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("66219C1180000000" , and_(word_ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("21D1" , and_(ecx, edx));
+ TEST_INSTRUCTION("219C1180000000" , and_(ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("219C1180000000" , and_(dword_ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("228C1A80000000" , and_(cl, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("228C1A80000000" , and_(cl, byte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("22AC1A80000000" , and_(ch, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("22AC1A80000000" , and_(ch, byte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("66238C1A80000000" , and_(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("66238C1A80000000" , and_(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("238C1A80000000" , and_(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("238C1A80000000" , and_(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E268F2CB" , andn(ecx, edx, ebx));
+ TEST_INSTRUCTION("C4E268F28C2B80000000" , andn(ecx, edx, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E268F28C2B80000000" , andn(ecx, edx, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E8F2CB" , andn(rcx, rdx, rbx));
+ TEST_INSTRUCTION("C4E2E8F28C2B80000000" , andn(rcx, rdx, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E8F28C2B80000000" , andn(rcx, rdx, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("660F55CA" , andnpd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F558C1A80000000" , andnpd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F558C1A80000000" , andnpd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F55CA" , andnps(xmm1, xmm2));
+ TEST_INSTRUCTION("0F558C1A80000000" , andnps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F558C1A80000000" , andnps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F54CA" , andpd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F548C1A80000000" , andpd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F548C1A80000000" , andpd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F54CA" , andps(xmm1, xmm2));
+ TEST_INSTRUCTION("0F548C1A80000000" , andps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F548C1A80000000" , andps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E260F7CA" , bextr(ecx, edx, ebx));
+ TEST_INSTRUCTION("C4E258F78C1A80000000" , bextr(ecx, ptr(rdx, rbx, 0, 128), esp));
+ TEST_INSTRUCTION("C4E258F78C1A80000000" , bextr(ecx, dword_ptr(rdx, rbx, 0, 128), esp));
+ TEST_INSTRUCTION("C4E2E0F7CA" , bextr(rcx, rdx, rbx));
+ TEST_INSTRUCTION("C4E2D8F78C1A80000000" , bextr(rcx, ptr(rdx, rbx, 0, 128), rsp));
+ TEST_INSTRUCTION("C4E2D8F78C1A80000000" , bextr(rcx, qword_ptr(rdx, rbx, 0, 128), rsp));
+ TEST_INSTRUCTION("8FE97001CA" , blcfill(ecx, edx));
+ TEST_INSTRUCTION("8FE970018C1A80000000" , blcfill(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE970018C1A80000000" , blcfill(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE9F001CA" , blcfill(rcx, rdx));
+ TEST_INSTRUCTION("8FE9F0018C1A80000000" , blcfill(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE9F0018C1A80000000" , blcfill(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE97002F2" , blci(ecx, edx));
+ TEST_INSTRUCTION("8FE97002B41A80000000" , blci(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE97002B41A80000000" , blci(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE9F002F2" , blci(rcx, rdx));
+ TEST_INSTRUCTION("8FE9F002B41A80000000" , blci(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE9F002B41A80000000" , blci(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE97001EA" , blcic(ecx, edx));
+ TEST_INSTRUCTION("8FE97001AC1A80000000" , blcic(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE97001AC1A80000000" , blcic(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE9F001EA" , blcic(rcx, rdx));
+ TEST_INSTRUCTION("8FE9F001AC1A80000000" , blcic(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE9F001AC1A80000000" , blcic(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE97002CA" , blcmsk(ecx, edx));
+ TEST_INSTRUCTION("8FE970028C1A80000000" , blcmsk(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE970028C1A80000000" , blcmsk(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE9F002CA" , blcmsk(rcx, rdx));
+ TEST_INSTRUCTION("8FE9F0028C1A80000000" , blcmsk(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE9F0028C1A80000000" , blcmsk(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE97001DA" , blcs(ecx, edx));
+ TEST_INSTRUCTION("8FE970019C1A80000000" , blcs(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE970019C1A80000000" , blcs(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE9F001DA" , blcs(rcx, rdx));
+ TEST_INSTRUCTION("8FE9F0019C1A80000000" , blcs(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE9F0019C1A80000000" , blcs(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3A0DCA01" , blendpd(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660F3A0D8C1A8000000001" , blendpd(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A0D8C1A8000000001" , blendpd(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A0CCA01" , blendps(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660F3A0C8C1A8000000001" , blendps(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A0C8C1A8000000001" , blendps(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3815CA" , blendvpd(xmm1, xmm2, xmm0));
+ TEST_INSTRUCTION("660F38158C1A80000000" , blendvpd(xmm1, ptr(rdx, rbx, 0, 128), xmm0));
+ TEST_INSTRUCTION("660F38158C1A80000000" , blendvpd(xmm1, xmmword_ptr(rdx, rbx, 0, 128), xmm0));
+ TEST_INSTRUCTION("660F3814CA" , blendvps(xmm1, xmm2, xmm0));
+ TEST_INSTRUCTION("660F38148C1A80000000" , blendvps(xmm1, ptr(rdx, rbx, 0, 128), xmm0));
+ TEST_INSTRUCTION("660F38148C1A80000000" , blendvps(xmm1, xmmword_ptr(rdx, rbx, 0, 128), xmm0));
+ TEST_INSTRUCTION("8FE97001D2" , blsfill(ecx, edx));
+ TEST_INSTRUCTION("8FE97001941A80000000" , blsfill(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE97001941A80000000" , blsfill(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE9F001D2" , blsfill(rcx, rdx));
+ TEST_INSTRUCTION("8FE9F001941A80000000" , blsfill(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE9F001941A80000000" , blsfill(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E270F3DA" , blsi(ecx, edx));
+ TEST_INSTRUCTION("C4E270F39C1A80000000" , blsi(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E270F39C1A80000000" , blsi(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E2F0F3DA" , blsi(rcx, rdx));
+ TEST_INSTRUCTION("C4E2F0F39C1A80000000" , blsi(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E2F0F39C1A80000000" , blsi(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE97001F2" , blsic(ecx, edx));
+ TEST_INSTRUCTION("8FE97001B41A80000000" , blsic(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE97001B41A80000000" , blsic(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE9F001F2" , blsic(rcx, rdx));
+ TEST_INSTRUCTION("8FE9F001B41A80000000" , blsic(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE9F001B41A80000000" , blsic(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E270F3D2" , blsmsk(ecx, edx));
+ TEST_INSTRUCTION("C4E270F3941A80000000" , blsmsk(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E270F3941A80000000" , blsmsk(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E2F0F3D2" , blsmsk(rcx, rdx));
+ TEST_INSTRUCTION("C4E2F0F3941A80000000" , blsmsk(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E2F0F3941A80000000" , blsmsk(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E270F3CA" , blsr(ecx, edx));
+ TEST_INSTRUCTION("C4E270F38C1A80000000" , blsr(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E270F38C1A80000000" , blsr(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E2F0F3CA" , blsr(rcx, rdx));
+ TEST_INSTRUCTION("C4E2F0F38C1A80000000" , blsr(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E2F0F38C1A80000000" , blsr(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F1ACA" , bndcl(bnd1, rdx));
+ TEST_INSTRUCTION("F30F1A8C1A80000000" , bndcl(bnd1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F1A8C1A80000000" , bndcl(bnd1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F1BCA" , bndcn(bnd1, rdx));
+ TEST_INSTRUCTION("F20F1B8C1A80000000" , bndcn(bnd1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F1B8C1A80000000" , bndcn(bnd1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F1ACA" , bndcu(bnd1, rdx));
+ TEST_INSTRUCTION("F20F1A8C1A80000000" , bndcu(bnd1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F1A8C1A80000000" , bndcu(bnd1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F1A8C1A80000000" , bndldx(bnd1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F1B8C1A80000000" , bndmk(bnd1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F1ACA" , bndmov(bnd1, bnd2));
+ TEST_INSTRUCTION("660F1A8C1A80000000" , bndmov(bnd1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F1B9C1180000000" , bndmov(ptr(rcx, rdx, 0, 128), bnd3));
+ TEST_INSTRUCTION("0F1B9C1180000000" , bndstx(ptr(rcx, rdx, 0, 128), bnd3));
+ TEST_INSTRUCTION("660FBCCA" , bsf(cx, dx));
+ TEST_INSTRUCTION("660FBC8C1A80000000" , bsf(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FBC8C1A80000000" , bsf(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FBCCA" , bsf(ecx, edx));
+ TEST_INSTRUCTION("0FBC8C1A80000000" , bsf(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FBC8C1A80000000" , bsf(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480FBCCA" , bsf(rcx, rdx));
+ TEST_INSTRUCTION("480FBC8C1A80000000" , bsf(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480FBC8C1A80000000" , bsf(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FBDCA" , bsr(cx, dx));
+ TEST_INSTRUCTION("660FBD8C1A80000000" , bsr(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FBD8C1A80000000" , bsr(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FBDCA" , bsr(ecx, edx));
+ TEST_INSTRUCTION("0FBD8C1A80000000" , bsr(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FBD8C1A80000000" , bsr(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480FBDCA" , bsr(rcx, rdx));
+ TEST_INSTRUCTION("480FBD8C1A80000000" , bsr(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480FBD8C1A80000000" , bsr(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FC9" , bswap(cx));
+ TEST_INSTRUCTION("0FC9" , bswap(ecx));
+ TEST_INSTRUCTION("480FC9" , bswap(rcx));
+ TEST_INSTRUCTION("660FBAE101" , bt(cx, 1));
+ TEST_INSTRUCTION("0FBAE101" , bt(ecx, 1));
+ TEST_INSTRUCTION("480FBAE101" , bt(rcx, 1));
+ TEST_INSTRUCTION("660FBAA4118000000001" , bt(word_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("0FBAA4118000000001" , bt(dword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("480FBAA4118000000001" , bt(qword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("660FA3D1" , bt(cx, dx));
+ TEST_INSTRUCTION("660FA39C1180000000" , bt(ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("660FA39C1180000000" , bt(word_ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("0FA3D1" , bt(ecx, edx));
+ TEST_INSTRUCTION("0FA39C1180000000" , bt(ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("0FA39C1180000000" , bt(dword_ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("480FA3D1" , bt(rcx, rdx));
+ TEST_INSTRUCTION("480FA39C1180000000" , bt(ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("480FA39C1180000000" , bt(qword_ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("660FBAF901" , btc(cx, 1));
+ TEST_INSTRUCTION("0FBAF901" , btc(ecx, 1));
+ TEST_INSTRUCTION("480FBAF901" , btc(rcx, 1));
+ TEST_INSTRUCTION("660FBABC118000000001" , btc(word_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("0FBABC118000000001" , btc(dword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("480FBABC118000000001" , btc(qword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("660FBBD1" , btc(cx, dx));
+ TEST_INSTRUCTION("660FBB9C1180000000" , btc(ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("660FBB9C1180000000" , btc(word_ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("0FBBD1" , btc(ecx, edx));
+ TEST_INSTRUCTION("0FBB9C1180000000" , btc(ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("0FBB9C1180000000" , btc(dword_ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("480FBBD1" , btc(rcx, rdx));
+ TEST_INSTRUCTION("480FBB9C1180000000" , btc(ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("480FBB9C1180000000" , btc(qword_ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("660FBAF101" , btr(cx, 1));
+ TEST_INSTRUCTION("0FBAF101" , btr(ecx, 1));
+ TEST_INSTRUCTION("480FBAF101" , btr(rcx, 1));
+ TEST_INSTRUCTION("660FBAB4118000000001" , btr(word_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("0FBAB4118000000001" , btr(dword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("480FBAB4118000000001" , btr(qword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("660FB3D1" , btr(cx, dx));
+ TEST_INSTRUCTION("660FB39C1180000000" , btr(ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("660FB39C1180000000" , btr(word_ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("0FB3D1" , btr(ecx, edx));
+ TEST_INSTRUCTION("0FB39C1180000000" , btr(ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("0FB39C1180000000" , btr(dword_ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("480FB3D1" , btr(rcx, rdx));
+ TEST_INSTRUCTION("480FB39C1180000000" , btr(ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("480FB39C1180000000" , btr(qword_ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("660FBAE901" , bts(cx, 1));
+ TEST_INSTRUCTION("0FBAE901" , bts(ecx, 1));
+ TEST_INSTRUCTION("480FBAE901" , bts(rcx, 1));
+ TEST_INSTRUCTION("660FBAAC118000000001" , bts(word_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("0FBAAC118000000001" , bts(dword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("480FBAAC118000000001" , bts(qword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("660FABD1" , bts(cx, dx));
+ TEST_INSTRUCTION("660FAB9C1180000000" , bts(ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("660FAB9C1180000000" , bts(word_ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("0FABD1" , bts(ecx, edx));
+ TEST_INSTRUCTION("0FAB9C1180000000" , bts(ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("0FAB9C1180000000" , bts(dword_ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("480FABD1" , bts(rcx, rdx));
+ TEST_INSTRUCTION("480FAB9C1180000000" , bts(ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("480FAB9C1180000000" , bts(qword_ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("C4E260F5CA" , bzhi(ecx, edx, ebx));
+ TEST_INSTRUCTION("C4E258F58C1A80000000" , bzhi(ecx, ptr(rdx, rbx, 0, 128), esp));
+ TEST_INSTRUCTION("C4E258F58C1A80000000" , bzhi(ecx, dword_ptr(rdx, rbx, 0, 128), esp));
+ TEST_INSTRUCTION("C4E2E0F5CA" , bzhi(rcx, rdx, rbx));
+ TEST_INSTRUCTION("C4E2D8F58C1A80000000" , bzhi(rcx, ptr(rdx, rbx, 0, 128), rsp));
+ TEST_INSTRUCTION("C4E2D8F58C1A80000000" , bzhi(rcx, qword_ptr(rdx, rbx, 0, 128), rsp));
+ TEST_INSTRUCTION("6698" , cbw(ax));
+ TEST_INSTRUCTION("99" , cdq(edx, eax));
+ TEST_INSTRUCTION("4898" , cdqe(rax));
+ TEST_INSTRUCTION("0F01CA" , clac());
+ TEST_INSTRUCTION("F8" , clc());
+ TEST_INSTRUCTION("FC" , cld());
+ TEST_INSTRUCTION("0F1C841180000000" , cldemote(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0FAEBC1180000000" , clflush(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("660FAEBC1180000000" , clflushopt(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F01DD" , clgi());
+ TEST_INSTRUCTION("FA" , cli());
+ TEST_INSTRUCTION("F30FAEB41180000000" , clrssbsy(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("F30FAEB41180000000" , clrssbsy(qword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F06" , clts());
+ TEST_INSTRUCTION("F30F01EE" , clui());
+ TEST_INSTRUCTION("660FAEB41180000000" , clwb(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F01FC" , clzero(ptr(rax)));
+ TEST_INSTRUCTION("0F01FC" , clzero(zmmword_ptr(rax)));
+ TEST_INSTRUCTION("F5" , cmc());
+ TEST_INSTRUCTION("660F47CA" , cmova(cx, dx));
+ TEST_INSTRUCTION("660F478C1A80000000" , cmova(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F478C1A80000000" , cmova(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F47CA" , cmova(ecx, edx));
+ TEST_INSTRUCTION("0F478C1A80000000" , cmova(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F478C1A80000000" , cmova(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F47CA" , cmova(rcx, rdx));
+ TEST_INSTRUCTION("480F478C1A80000000" , cmova(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F478C1A80000000" , cmova(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F43CA" , cmovae(cx, dx));
+ TEST_INSTRUCTION("660F438C1A80000000" , cmovae(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F438C1A80000000" , cmovae(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F43CA" , cmovae(ecx, edx));
+ TEST_INSTRUCTION("0F438C1A80000000" , cmovae(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F438C1A80000000" , cmovae(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F43CA" , cmovae(rcx, rdx));
+ TEST_INSTRUCTION("480F438C1A80000000" , cmovae(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F438C1A80000000" , cmovae(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F42CA" , cmovb(cx, dx));
+ TEST_INSTRUCTION("660F428C1A80000000" , cmovb(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F428C1A80000000" , cmovb(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F42CA" , cmovb(ecx, edx));
+ TEST_INSTRUCTION("0F428C1A80000000" , cmovb(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F428C1A80000000" , cmovb(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F42CA" , cmovb(rcx, rdx));
+ TEST_INSTRUCTION("480F428C1A80000000" , cmovb(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F428C1A80000000" , cmovb(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F46CA" , cmovbe(cx, dx));
+ TEST_INSTRUCTION("660F468C1A80000000" , cmovbe(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F468C1A80000000" , cmovbe(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F46CA" , cmovbe(ecx, edx));
+ TEST_INSTRUCTION("0F468C1A80000000" , cmovbe(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F468C1A80000000" , cmovbe(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F46CA" , cmovbe(rcx, rdx));
+ TEST_INSTRUCTION("480F468C1A80000000" , cmovbe(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F468C1A80000000" , cmovbe(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F42CA" , cmovc(cx, dx));
+ TEST_INSTRUCTION("660F428C1A80000000" , cmovc(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F428C1A80000000" , cmovc(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F42CA" , cmovc(ecx, edx));
+ TEST_INSTRUCTION("0F428C1A80000000" , cmovc(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F428C1A80000000" , cmovc(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F42CA" , cmovc(rcx, rdx));
+ TEST_INSTRUCTION("480F428C1A80000000" , cmovc(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F428C1A80000000" , cmovc(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F44CA" , cmove(cx, dx));
+ TEST_INSTRUCTION("660F448C1A80000000" , cmove(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F448C1A80000000" , cmove(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F44CA" , cmove(ecx, edx));
+ TEST_INSTRUCTION("0F448C1A80000000" , cmove(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F448C1A80000000" , cmove(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F44CA" , cmove(rcx, rdx));
+ TEST_INSTRUCTION("480F448C1A80000000" , cmove(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F448C1A80000000" , cmove(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F4FCA" , cmovg(cx, dx));
+ TEST_INSTRUCTION("660F4F8C1A80000000" , cmovg(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F4F8C1A80000000" , cmovg(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F4FCA" , cmovg(ecx, edx));
+ TEST_INSTRUCTION("0F4F8C1A80000000" , cmovg(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F4F8C1A80000000" , cmovg(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F4FCA" , cmovg(rcx, rdx));
+ TEST_INSTRUCTION("480F4F8C1A80000000" , cmovg(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F4F8C1A80000000" , cmovg(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F4DCA" , cmovge(cx, dx));
+ TEST_INSTRUCTION("660F4D8C1A80000000" , cmovge(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F4D8C1A80000000" , cmovge(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F4DCA" , cmovge(ecx, edx));
+ TEST_INSTRUCTION("0F4D8C1A80000000" , cmovge(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F4D8C1A80000000" , cmovge(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F4DCA" , cmovge(rcx, rdx));
+ TEST_INSTRUCTION("480F4D8C1A80000000" , cmovge(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F4D8C1A80000000" , cmovge(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F4CCA" , cmovl(cx, dx));
+ TEST_INSTRUCTION("660F4C8C1A80000000" , cmovl(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F4C8C1A80000000" , cmovl(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F4CCA" , cmovl(ecx, edx));
+ TEST_INSTRUCTION("0F4C8C1A80000000" , cmovl(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F4C8C1A80000000" , cmovl(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F4CCA" , cmovl(rcx, rdx));
+ TEST_INSTRUCTION("480F4C8C1A80000000" , cmovl(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F4C8C1A80000000" , cmovl(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F4ECA" , cmovle(cx, dx));
+ TEST_INSTRUCTION("660F4E8C1A80000000" , cmovle(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F4E8C1A80000000" , cmovle(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F4ECA" , cmovle(ecx, edx));
+ TEST_INSTRUCTION("0F4E8C1A80000000" , cmovle(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F4E8C1A80000000" , cmovle(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F4ECA" , cmovle(rcx, rdx));
+ TEST_INSTRUCTION("480F4E8C1A80000000" , cmovle(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F4E8C1A80000000" , cmovle(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F46CA" , cmovna(cx, dx));
+ TEST_INSTRUCTION("660F468C1A80000000" , cmovna(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F468C1A80000000" , cmovna(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F46CA" , cmovna(ecx, edx));
+ TEST_INSTRUCTION("0F468C1A80000000" , cmovna(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F468C1A80000000" , cmovna(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F46CA" , cmovna(rcx, rdx));
+ TEST_INSTRUCTION("480F468C1A80000000" , cmovna(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F468C1A80000000" , cmovna(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F42CA" , cmovnae(cx, dx));
+ TEST_INSTRUCTION("660F428C1A80000000" , cmovnae(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F428C1A80000000" , cmovnae(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F42CA" , cmovnae(ecx, edx));
+ TEST_INSTRUCTION("0F428C1A80000000" , cmovnae(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F428C1A80000000" , cmovnae(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F42CA" , cmovnae(rcx, rdx));
+ TEST_INSTRUCTION("480F428C1A80000000" , cmovnae(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F428C1A80000000" , cmovnae(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F43CA" , cmovnb(cx, dx));
+ TEST_INSTRUCTION("660F438C1A80000000" , cmovnb(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F438C1A80000000" , cmovnb(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F43CA" , cmovnb(ecx, edx));
+ TEST_INSTRUCTION("0F438C1A80000000" , cmovnb(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F438C1A80000000" , cmovnb(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F43CA" , cmovnb(rcx, rdx));
+ TEST_INSTRUCTION("480F438C1A80000000" , cmovnb(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F438C1A80000000" , cmovnb(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F47CA" , cmovnbe(cx, dx));
+ TEST_INSTRUCTION("660F478C1A80000000" , cmovnbe(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F478C1A80000000" , cmovnbe(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F47CA" , cmovnbe(ecx, edx));
+ TEST_INSTRUCTION("0F478C1A80000000" , cmovnbe(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F478C1A80000000" , cmovnbe(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F47CA" , cmovnbe(rcx, rdx));
+ TEST_INSTRUCTION("480F478C1A80000000" , cmovnbe(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F478C1A80000000" , cmovnbe(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F43CA" , cmovnc(cx, dx));
+ TEST_INSTRUCTION("660F438C1A80000000" , cmovnc(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F438C1A80000000" , cmovnc(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F43CA" , cmovnc(ecx, edx));
+ TEST_INSTRUCTION("0F438C1A80000000" , cmovnc(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F438C1A80000000" , cmovnc(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F43CA" , cmovnc(rcx, rdx));
+ TEST_INSTRUCTION("480F438C1A80000000" , cmovnc(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F438C1A80000000" , cmovnc(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F45CA" , cmovne(cx, dx));
+ TEST_INSTRUCTION("660F458C1A80000000" , cmovne(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F458C1A80000000" , cmovne(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F45CA" , cmovne(ecx, edx));
+ TEST_INSTRUCTION("0F458C1A80000000" , cmovne(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F458C1A80000000" , cmovne(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F45CA" , cmovne(rcx, rdx));
+ TEST_INSTRUCTION("480F458C1A80000000" , cmovne(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F458C1A80000000" , cmovne(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F4ECA" , cmovng(cx, dx));
+ TEST_INSTRUCTION("660F4E8C1A80000000" , cmovng(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F4E8C1A80000000" , cmovng(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F4ECA" , cmovng(ecx, edx));
+ TEST_INSTRUCTION("0F4E8C1A80000000" , cmovng(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F4E8C1A80000000" , cmovng(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F4ECA" , cmovng(rcx, rdx));
+ TEST_INSTRUCTION("480F4E8C1A80000000" , cmovng(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F4E8C1A80000000" , cmovng(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F4CCA" , cmovnge(cx, dx));
+ TEST_INSTRUCTION("660F4C8C1A80000000" , cmovnge(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F4C8C1A80000000" , cmovnge(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F4CCA" , cmovnge(ecx, edx));
+ TEST_INSTRUCTION("0F4C8C1A80000000" , cmovnge(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F4C8C1A80000000" , cmovnge(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F4CCA" , cmovnge(rcx, rdx));
+ TEST_INSTRUCTION("480F4C8C1A80000000" , cmovnge(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F4C8C1A80000000" , cmovnge(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F4DCA" , cmovnl(cx, dx));
+ TEST_INSTRUCTION("660F4D8C1A80000000" , cmovnl(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F4D8C1A80000000" , cmovnl(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F4DCA" , cmovnl(ecx, edx));
+ TEST_INSTRUCTION("0F4D8C1A80000000" , cmovnl(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F4D8C1A80000000" , cmovnl(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F4DCA" , cmovnl(rcx, rdx));
+ TEST_INSTRUCTION("480F4D8C1A80000000" , cmovnl(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F4D8C1A80000000" , cmovnl(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F4FCA" , cmovnle(cx, dx));
+ TEST_INSTRUCTION("660F4F8C1A80000000" , cmovnle(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F4F8C1A80000000" , cmovnle(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F4FCA" , cmovnle(ecx, edx));
+ TEST_INSTRUCTION("0F4F8C1A80000000" , cmovnle(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F4F8C1A80000000" , cmovnle(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F4FCA" , cmovnle(rcx, rdx));
+ TEST_INSTRUCTION("480F4F8C1A80000000" , cmovnle(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F4F8C1A80000000" , cmovnle(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F41CA" , cmovno(cx, dx));
+ TEST_INSTRUCTION("660F418C1A80000000" , cmovno(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F418C1A80000000" , cmovno(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F41CA" , cmovno(ecx, edx));
+ TEST_INSTRUCTION("0F418C1A80000000" , cmovno(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F418C1A80000000" , cmovno(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F41CA" , cmovno(rcx, rdx));
+ TEST_INSTRUCTION("480F418C1A80000000" , cmovno(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F418C1A80000000" , cmovno(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F4BCA" , cmovnp(cx, dx));
+ TEST_INSTRUCTION("660F4B8C1A80000000" , cmovnp(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F4B8C1A80000000" , cmovnp(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F4BCA" , cmovnp(ecx, edx));
+ TEST_INSTRUCTION("0F4B8C1A80000000" , cmovnp(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F4B8C1A80000000" , cmovnp(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F4BCA" , cmovnp(rcx, rdx));
+ TEST_INSTRUCTION("480F4B8C1A80000000" , cmovnp(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F4B8C1A80000000" , cmovnp(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F49CA" , cmovns(cx, dx));
+ TEST_INSTRUCTION("660F498C1A80000000" , cmovns(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F498C1A80000000" , cmovns(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F49CA" , cmovns(ecx, edx));
+ TEST_INSTRUCTION("0F498C1A80000000" , cmovns(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F498C1A80000000" , cmovns(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F49CA" , cmovns(rcx, rdx));
+ TEST_INSTRUCTION("480F498C1A80000000" , cmovns(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F498C1A80000000" , cmovns(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F45CA" , cmovnz(cx, dx));
+ TEST_INSTRUCTION("660F458C1A80000000" , cmovnz(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F458C1A80000000" , cmovnz(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F45CA" , cmovnz(ecx, edx));
+ TEST_INSTRUCTION("0F458C1A80000000" , cmovnz(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F458C1A80000000" , cmovnz(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F45CA" , cmovnz(rcx, rdx));
+ TEST_INSTRUCTION("480F458C1A80000000" , cmovnz(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F458C1A80000000" , cmovnz(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F40CA" , cmovo(cx, dx));
+ TEST_INSTRUCTION("660F408C1A80000000" , cmovo(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F408C1A80000000" , cmovo(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F40CA" , cmovo(ecx, edx));
+ TEST_INSTRUCTION("0F408C1A80000000" , cmovo(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F408C1A80000000" , cmovo(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F40CA" , cmovo(rcx, rdx));
+ TEST_INSTRUCTION("480F408C1A80000000" , cmovo(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F408C1A80000000" , cmovo(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F4ACA" , cmovp(cx, dx));
+ TEST_INSTRUCTION("660F4A8C1A80000000" , cmovp(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F4A8C1A80000000" , cmovp(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F4ACA" , cmovp(ecx, edx));
+ TEST_INSTRUCTION("0F4A8C1A80000000" , cmovp(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F4A8C1A80000000" , cmovp(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F4ACA" , cmovp(rcx, rdx));
+ TEST_INSTRUCTION("480F4A8C1A80000000" , cmovp(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F4A8C1A80000000" , cmovp(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F4ACA" , cmovpe(cx, dx));
+ TEST_INSTRUCTION("660F4A8C1A80000000" , cmovpe(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F4A8C1A80000000" , cmovpe(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F4ACA" , cmovpe(ecx, edx));
+ TEST_INSTRUCTION("0F4A8C1A80000000" , cmovpe(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F4A8C1A80000000" , cmovpe(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F4ACA" , cmovpe(rcx, rdx));
+ TEST_INSTRUCTION("480F4A8C1A80000000" , cmovpe(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F4A8C1A80000000" , cmovpe(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F4BCA" , cmovpo(cx, dx));
+ TEST_INSTRUCTION("660F4B8C1A80000000" , cmovpo(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F4B8C1A80000000" , cmovpo(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F4BCA" , cmovpo(ecx, edx));
+ TEST_INSTRUCTION("0F4B8C1A80000000" , cmovpo(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F4B8C1A80000000" , cmovpo(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F4BCA" , cmovpo(rcx, rdx));
+ TEST_INSTRUCTION("480F4B8C1A80000000" , cmovpo(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F4B8C1A80000000" , cmovpo(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F48CA" , cmovs(cx, dx));
+ TEST_INSTRUCTION("660F488C1A80000000" , cmovs(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F488C1A80000000" , cmovs(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F48CA" , cmovs(ecx, edx));
+ TEST_INSTRUCTION("0F488C1A80000000" , cmovs(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F488C1A80000000" , cmovs(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F48CA" , cmovs(rcx, rdx));
+ TEST_INSTRUCTION("480F488C1A80000000" , cmovs(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F488C1A80000000" , cmovs(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F44CA" , cmovz(cx, dx));
+ TEST_INSTRUCTION("660F448C1A80000000" , cmovz(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F448C1A80000000" , cmovz(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F44CA" , cmovz(ecx, edx));
+ TEST_INSTRUCTION("0F448C1A80000000" , cmovz(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F448C1A80000000" , cmovz(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F44CA" , cmovz(rcx, rdx));
+ TEST_INSTRUCTION("480F448C1A80000000" , cmovz(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F448C1A80000000" , cmovz(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("80F901" , cmp(cl, 1));
+ TEST_INSTRUCTION("80FD01" , cmp(ch, 1));
+ TEST_INSTRUCTION("80BC118000000001" , cmp(byte_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("6683F901" , cmp(cx, 1));
+ TEST_INSTRUCTION("6683BC118000000001" , cmp(word_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("83F901" , cmp(ecx, 1));
+ TEST_INSTRUCTION("83BC118000000001" , cmp(dword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("4839D1" , cmp(rcx, rdx));
+ TEST_INSTRUCTION("4883F901" , cmp(rcx, 1));
+ TEST_INSTRUCTION("48399C1180000000" , cmp(ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("48399C1180000000" , cmp(qword_ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("4883BC118000000001" , cmp(qword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("38D1" , cmp(cl, dl));
+ TEST_INSTRUCTION("38F1" , cmp(cl, dh));
+ TEST_INSTRUCTION("38D5" , cmp(ch, dl));
+ TEST_INSTRUCTION("38F5" , cmp(ch, dh));
+ TEST_INSTRUCTION("389C1180000000" , cmp(ptr(rcx, rdx, 0, 128), bl));
+ TEST_INSTRUCTION("38BC1180000000" , cmp(ptr(rcx, rdx, 0, 128), bh));
+ TEST_INSTRUCTION("389C1180000000" , cmp(byte_ptr(rcx, rdx, 0, 128), bl));
+ TEST_INSTRUCTION("38BC1180000000" , cmp(byte_ptr(rcx, rdx, 0, 128), bh));
+ TEST_INSTRUCTION("6639D1" , cmp(cx, dx));
+ TEST_INSTRUCTION("66399C1180000000" , cmp(ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("66399C1180000000" , cmp(word_ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("39D1" , cmp(ecx, edx));
+ TEST_INSTRUCTION("399C1180000000" , cmp(ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("399C1180000000" , cmp(dword_ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("3A8C1A80000000" , cmp(cl, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("3A8C1A80000000" , cmp(cl, byte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("3AAC1A80000000" , cmp(ch, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("3AAC1A80000000" , cmp(ch, byte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("663B8C1A80000000" , cmp(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("663B8C1A80000000" , cmp(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("3B8C1A80000000" , cmp(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("3B8C1A80000000" , cmp(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("483B8C1A80000000" , cmp(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("483B8C1A80000000" , cmp(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FC2CA01" , cmppd(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660FC28C1A8000000001" , cmppd(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660FC28C1A8000000001" , cmppd(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("0FC2CA01" , cmpps(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("0FC28C1A8000000001" , cmpps(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("0FC28C1A8000000001" , cmpps(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("A6" , cmps(byte_ptr(rsi), byte_ptr(rdi)));
+ TEST_INSTRUCTION("66A7" , cmps(word_ptr(rsi), word_ptr(rdi)));
+ TEST_INSTRUCTION("A7" , cmps(dword_ptr(rsi), dword_ptr(rdi)));
+ TEST_INSTRUCTION("48A7" , cmps(qword_ptr(rsi), qword_ptr(rdi)));
+ TEST_INSTRUCTION("F20FC2CA01" , cmpsd(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("F20FC28C1A8000000001" , cmpsd(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("F20FC28C1A8000000001" , cmpsd(xmm1, qword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("F30FC2CA01" , cmpss(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("F30FC28C1A8000000001" , cmpss(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("F30FC28C1A8000000001" , cmpss(xmm1, dword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("0FB0D1" , cmpxchg(cl, dl, al));
+ TEST_INSTRUCTION("0FB0F1" , cmpxchg(cl, dh, al));
+ TEST_INSTRUCTION("0FB0D5" , cmpxchg(ch, dl, al));
+ TEST_INSTRUCTION("0FB0F5" , cmpxchg(ch, dh, al));
+ TEST_INSTRUCTION("0FB09C1180000000" , cmpxchg(ptr(rcx, rdx, 0, 128), bl, al));
+ TEST_INSTRUCTION("0FB0BC1180000000" , cmpxchg(ptr(rcx, rdx, 0, 128), bh, al));
+ TEST_INSTRUCTION("0FB09C1180000000" , cmpxchg(byte_ptr(rcx, rdx, 0, 128), bl, al));
+ TEST_INSTRUCTION("0FB0BC1180000000" , cmpxchg(byte_ptr(rcx, rdx, 0, 128), bh, al));
+ TEST_INSTRUCTION("660FB1D1" , cmpxchg(cx, dx, ax));
+ TEST_INSTRUCTION("660FB19C1180000000" , cmpxchg(ptr(rcx, rdx, 0, 128), bx, ax));
+ TEST_INSTRUCTION("660FB19C1180000000" , cmpxchg(word_ptr(rcx, rdx, 0, 128), bx, ax));
+ TEST_INSTRUCTION("0FB1D1" , cmpxchg(ecx, edx, eax));
+ TEST_INSTRUCTION("0FB19C1180000000" , cmpxchg(ptr(rcx, rdx, 0, 128), ebx, eax));
+ TEST_INSTRUCTION("0FB19C1180000000" , cmpxchg(dword_ptr(rcx, rdx, 0, 128), ebx, eax));
+ TEST_INSTRUCTION("480FB1D1" , cmpxchg(rcx, rdx, rax));
+ TEST_INSTRUCTION("480FB19C1180000000" , cmpxchg(ptr(rcx, rdx, 0, 128), rbx, rax));
+ TEST_INSTRUCTION("480FB19C1180000000" , cmpxchg(qword_ptr(rcx, rdx, 0, 128), rbx, rax));
+ TEST_INSTRUCTION("480FC78C1180000000" , cmpxchg16b(ptr(rcx, rdx, 0, 128), rdx, rax, rcx, rbx));
+ TEST_INSTRUCTION("480FC78C1180000000" , cmpxchg16b(xmmword_ptr(rcx, rdx, 0, 128), rdx, rax, rcx, rbx));
+ TEST_INSTRUCTION("0FC78C1180000000" , cmpxchg8b(ptr(rcx, rdx, 0, 128), edx, eax, ecx, ebx));
+ TEST_INSTRUCTION("0FC78C1180000000" , cmpxchg8b(qword_ptr(rcx, rdx, 0, 128), edx, eax, ecx, ebx));
+ TEST_INSTRUCTION("660F2FCA" , comisd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F2F8C1A80000000" , comisd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F2F8C1A80000000" , comisd(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F2FCA" , comiss(xmm1, xmm2));
+ TEST_INSTRUCTION("0F2F8C1A80000000" , comiss(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F2F8C1A80000000" , comiss(xmm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FA2" , cpuid(eax, ebx, ecx, edx));
+ TEST_INSTRUCTION("4899" , cqo(rdx, rax));
+ TEST_INSTRUCTION("F20F38F0CA" , crc32(ecx, dl));
+ TEST_INSTRUCTION("F20F38F0CE" , crc32(ecx, dh));
+ TEST_INSTRUCTION("66F20F38F1CA" , crc32(ecx, dx));
+ TEST_INSTRUCTION("F20F38F1CA" , crc32(ecx, edx));
+ TEST_INSTRUCTION("F20F38F08C1A80000000" , crc32(ecx, byte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("66F20F38F18C1A80000000" , crc32(ecx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F38F18C1A80000000" , crc32(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F2480F38F0CA" , crc32(rcx, dl));
+ TEST_INSTRUCTION("F2480F38F1CA" , crc32(rcx, rdx));
+ TEST_INSTRUCTION("F2480F38F08C1A80000000" , crc32(rcx, byte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F2480F38F18C1A80000000" , crc32(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30FE6CA" , cvtdq2pd(xmm1, xmm2));
+ TEST_INSTRUCTION("F30FE68C1A80000000" , cvtdq2pd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30FE68C1A80000000" , cvtdq2pd(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F5BCA" , cvtdq2ps(xmm1, xmm2));
+ TEST_INSTRUCTION("0F5B8C1A80000000" , cvtdq2ps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F5B8C1A80000000" , cvtdq2ps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20FE6CA" , cvtpd2dq(xmm1, xmm2));
+ TEST_INSTRUCTION("F20FE68C1A80000000" , cvtpd2dq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20FE68C1A80000000" , cvtpd2dq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F2DCA" , cvtpd2pi(mm1, xmm2));
+ TEST_INSTRUCTION("660F2D8C1A80000000" , cvtpd2pi(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F2D8C1A80000000" , cvtpd2pi(mm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F5ACA" , cvtpd2ps(xmm1, xmm2));
+ TEST_INSTRUCTION("660F5A8C1A80000000" , cvtpd2ps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F5A8C1A80000000" , cvtpd2ps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F2ACA" , cvtpi2pd(xmm1, mm2));
+ TEST_INSTRUCTION("660F2A8C1A80000000" , cvtpi2pd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F2A8C1A80000000" , cvtpi2pd(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F2ACA" , cvtpi2ps(xmm1, mm2));
+ TEST_INSTRUCTION("0F2A8C1A80000000" , cvtpi2ps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F2A8C1A80000000" , cvtpi2ps(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F5BCA" , cvtps2dq(xmm1, xmm2));
+ TEST_INSTRUCTION("660F5B8C1A80000000" , cvtps2dq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F5B8C1A80000000" , cvtps2dq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F5ACA" , cvtps2pd(xmm1, xmm2));
+ TEST_INSTRUCTION("0F5A8C1A80000000" , cvtps2pd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F5A8C1A80000000" , cvtps2pd(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F2DCA" , cvtps2pi(mm1, xmm2));
+ TEST_INSTRUCTION("0F2D8C1A80000000" , cvtps2pi(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F2D8C1A80000000" , cvtps2pi(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F2DCA" , cvtsd2si(ecx, xmm2));
+ TEST_INSTRUCTION("F20F2D8C1A80000000" , cvtsd2si(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F2D8C1A80000000" , cvtsd2si(ecx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F2480F2DCA" , cvtsd2si(rcx, xmm2));
+ TEST_INSTRUCTION("F2480F2D8C1A80000000" , cvtsd2si(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F2480F2D8C1A80000000" , cvtsd2si(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F5ACA" , cvtsd2ss(xmm1, xmm2));
+ TEST_INSTRUCTION("F20F5A8C1A80000000" , cvtsd2ss(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F5A8C1A80000000" , cvtsd2ss(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F2ACA" , cvtsi2sd(xmm1, edx));
+ TEST_INSTRUCTION("F2480F2ACA" , cvtsi2sd(xmm1, rdx));
+ TEST_INSTRUCTION("F20F2A8C1A80000000" , cvtsi2sd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F2A8C1A80000000" , cvtsi2sd(xmm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F2480F2A8C1A80000000" , cvtsi2sd(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F2ACA" , cvtsi2ss(xmm1, edx));
+ TEST_INSTRUCTION("F3480F2ACA" , cvtsi2ss(xmm1, rdx));
+ TEST_INSTRUCTION("F30F2A8C1A80000000" , cvtsi2ss(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F2A8C1A80000000" , cvtsi2ss(xmm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F3480F2A8C1A80000000" , cvtsi2ss(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F5ACA" , cvtss2sd(xmm1, xmm2));
+ TEST_INSTRUCTION("F30F5A8C1A80000000" , cvtss2sd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F5A8C1A80000000" , cvtss2sd(xmm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F2DCA" , cvtss2si(ecx, xmm2));
+ TEST_INSTRUCTION("F30F2D8C1A80000000" , cvtss2si(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F2D8C1A80000000" , cvtss2si(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F3480F2DCA" , cvtss2si(rcx, xmm2));
+ TEST_INSTRUCTION("F3480F2D8C1A80000000" , cvtss2si(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F3480F2D8C1A80000000" , cvtss2si(rcx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FE6CA" , cvttpd2dq(xmm1, xmm2));
+ TEST_INSTRUCTION("660FE68C1A80000000" , cvttpd2dq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FE68C1A80000000" , cvttpd2dq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F2CCA" , cvttpd2pi(mm1, xmm2));
+ TEST_INSTRUCTION("660F2C8C1A80000000" , cvttpd2pi(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F2C8C1A80000000" , cvttpd2pi(mm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F5BCA" , cvttps2dq(xmm1, xmm2));
+ TEST_INSTRUCTION("F30F5B8C1A80000000" , cvttps2dq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F5B8C1A80000000" , cvttps2dq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F2CCA" , cvttps2pi(mm1, xmm2));
+ TEST_INSTRUCTION("0F2C8C1A80000000" , cvttps2pi(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F2C8C1A80000000" , cvttps2pi(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F2CCA" , cvttsd2si(ecx, xmm2));
+ TEST_INSTRUCTION("F20F2C8C1A80000000" , cvttsd2si(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F2C8C1A80000000" , cvttsd2si(ecx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F2480F2CCA" , cvttsd2si(rcx, xmm2));
+ TEST_INSTRUCTION("F2480F2C8C1A80000000" , cvttsd2si(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F2480F2C8C1A80000000" , cvttsd2si(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F2CCA" , cvttss2si(ecx, xmm2));
+ TEST_INSTRUCTION("F30F2C8C1A80000000" , cvttss2si(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F2C8C1A80000000" , cvttss2si(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F3480F2CCA" , cvttss2si(rcx, xmm2));
+ TEST_INSTRUCTION("F3480F2C8C1A80000000" , cvttss2si(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F3480F2C8C1A80000000" , cvttss2si(rcx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("6699" , cwd(dx, ax));
+ TEST_INSTRUCTION("98" , cwde(eax));
+ TEST_INSTRUCTION("FEC9" , dec(cl));
+ TEST_INSTRUCTION("FECD" , dec(ch));
+ TEST_INSTRUCTION("66FFC9" , dec(cx));
+ TEST_INSTRUCTION("FFC9" , dec(ecx));
+ TEST_INSTRUCTION("48FFC9" , dec(rcx));
+ TEST_INSTRUCTION("FE8C1180000000" , dec(byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("66FF8C1180000000" , dec(word_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("FF8C1180000000" , dec(dword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("48FF8C1180000000" , dec(qword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("F6F1" , div(ax, cl));
+ TEST_INSTRUCTION("F6F5" , div(ax, ch));
+ TEST_INSTRUCTION("F6B41180000000" , div(ax, ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("F6B41180000000" , div(ax, byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("66F7F1" , div(dx, ax, cx));
+ TEST_INSTRUCTION("66F7B41180000000" , div(dx, ax, ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("66F7B41180000000" , div(dx, ax, word_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("F7F1" , div(edx, eax, ecx));
+ TEST_INSTRUCTION("F7B41180000000" , div(edx, eax, ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("F7B41180000000" , div(edx, eax, dword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("48F7F1" , div(rdx, rax, rcx));
+ TEST_INSTRUCTION("48F7B41180000000" , div(rdx, rax, ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("48F7B41180000000" , div(rdx, rax, qword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("660F5ECA" , divpd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F5E8C1A80000000" , divpd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F5E8C1A80000000" , divpd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F5ECA" , divps(xmm1, xmm2));
+ TEST_INSTRUCTION("0F5E8C1A80000000" , divps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F5E8C1A80000000" , divps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F5ECA" , divsd(xmm1, xmm2));
+ TEST_INSTRUCTION("F20F5E8C1A80000000" , divsd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F5E8C1A80000000" , divsd(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F5ECA" , divss(xmm1, xmm2));
+ TEST_INSTRUCTION("F30F5E8C1A80000000" , divss(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F5E8C1A80000000" , divss(xmm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3A41CA01" , dppd(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660F3A418C1A8000000001" , dppd(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A418C1A8000000001" , dppd(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A40CA01" , dpps(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660F3A408C1A8000000001" , dpps(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A408C1A8000000001" , dpps(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("0F77" , emms());
+ TEST_INSTRUCTION("F30F1EFB" , endbr32());
+ TEST_INSTRUCTION("F30F1EFA" , endbr64());
+ TEST_INSTRUCTION("F20F38F88C1A80000000" , enqcmd(zmmword_ptr(rcx), zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F38F88C1A80000000" , enqcmds(zmmword_ptr(rcx), zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C8010002" , enter(1, 2));
+ TEST_INSTRUCTION("660F3A17D101" , extractps(ecx, xmm2, 1));
+ TEST_INSTRUCTION("660F3A179C118000000001" , extractps(ptr(rcx, rdx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("660F3A179C118000000001" , extractps(dword_ptr(rcx, rdx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("660F78C10102" , extrq(xmm1, 1, 2));
+ TEST_INSTRUCTION("660F79CA" , extrq(xmm1, xmm2));
+ TEST_INSTRUCTION("0FAE8C1180000000" , fxrstor(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("480FAE8C1180000000" , fxrstor64(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0FAE841180000000" , fxsave(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("480FAE841180000000" , fxsave64(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("D9F4" , fxtract());
+ TEST_INSTRUCTION("0F37" , getsec());
+ TEST_INSTRUCTION("660F3ACFCA01" , gf2p8affineinvqb(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660F3ACF8C1A8000000001" , gf2p8affineinvqb(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3ACF8C1A8000000001" , gf2p8affineinvqb(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3ACECA01" , gf2p8affineqb(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660F3ACE8C1A8000000001" , gf2p8affineqb(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3ACE8C1A8000000001" , gf2p8affineqb(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660F38CFCA" , gf2p8mulb(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38CF8C1A80000000" , gf2p8mulb(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38CF8C1A80000000" , gf2p8mulb(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F7CCA" , haddpd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F7C8C1A80000000" , haddpd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F7C8C1A80000000" , haddpd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F7CCA" , haddps(xmm1, xmm2));
+ TEST_INSTRUCTION("F20F7C8C1A80000000" , haddps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F7C8C1A80000000" , haddps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F4" , hlt());
+ TEST_INSTRUCTION("F30F3AF0C001" , hreset(1, eax));
+ TEST_INSTRUCTION("660F7DCA" , hsubpd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F7D8C1A80000000" , hsubpd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F7D8C1A80000000" , hsubpd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F7DCA" , hsubps(xmm1, xmm2));
+ TEST_INSTRUCTION("F20F7D8C1A80000000" , hsubps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F7D8C1A80000000" , hsubps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F6F9" , idiv(ax, cl));
+ TEST_INSTRUCTION("F6FD" , idiv(ax, ch));
+ TEST_INSTRUCTION("F6BC1180000000" , idiv(ax, ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("F6BC1180000000" , idiv(ax, byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("66F7F9" , idiv(dx, ax, cx));
+ TEST_INSTRUCTION("66F7BC1180000000" , idiv(dx, ax, ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("66F7BC1180000000" , idiv(dx, ax, word_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("F7F9" , idiv(edx, eax, ecx));
+ TEST_INSTRUCTION("F7BC1180000000" , idiv(edx, eax, ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("F7BC1180000000" , idiv(edx, eax, dword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("48F7F9" , idiv(rdx, rax, rcx));
+ TEST_INSTRUCTION("48F7BC1180000000" , idiv(rdx, rax, ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("48F7BC1180000000" , idiv(rdx, rax, qword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("F6E9" , imul(ax, cl));
+ TEST_INSTRUCTION("F6ED" , imul(ax, ch));
+ TEST_INSTRUCTION("660FAF841180000000" , imul(ax, ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("F6AC1180000000" , imul(ax, byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("66F7E9" , imul(dx, ax, cx));
+ TEST_INSTRUCTION("66F7AC1180000000" , imul(dx, ax, ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("66F7AC1180000000" , imul(dx, ax, word_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("F7E9" , imul(edx, eax, ecx));
+ TEST_INSTRUCTION("F7AC1180000000" , imul(edx, eax, ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("F7AC1180000000" , imul(edx, eax, dword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("48F7E9" , imul(rdx, rax, rcx));
+ TEST_INSTRUCTION("48F7AC1180000000" , imul(rdx, rax, ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("48F7AC1180000000" , imul(rdx, rax, qword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("660FAFCA" , imul(cx, dx));
+ TEST_INSTRUCTION("666BC901" , imul(cx, 1));
+ TEST_INSTRUCTION("660FAF8C1A80000000" , imul(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FAF8C1A80000000" , imul(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FAFCA" , imul(ecx, edx));
+ TEST_INSTRUCTION("6BC901" , imul(ecx, 1));
+ TEST_INSTRUCTION("0FAF8C1A80000000" , imul(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FAF8C1A80000000" , imul(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480FAFCA" , imul(rcx, rdx));
+ TEST_INSTRUCTION("486BC901" , imul(rcx, 1));
+ TEST_INSTRUCTION("480FAF8C1A80000000" , imul(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480FAF8C1A80000000" , imul(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("666BCA01" , imul(cx, dx, 1));
+ TEST_INSTRUCTION("666B8C1A8000000001" , imul(cx, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("666B8C1A8000000001" , imul(cx, word_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("6BCA01" , imul(ecx, edx, 1));
+ TEST_INSTRUCTION("6B8C1A8000000001" , imul(ecx, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("6B8C1A8000000001" , imul(ecx, dword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("486BCA01" , imul(rcx, rdx, 1));
+ TEST_INSTRUCTION("486B8C1A8000000001" , imul(rcx, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("486B8C1A8000000001" , imul(rcx, qword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("EC" , in(al, dx));
+ TEST_INSTRUCTION("E401" , in(al, 1));
+ TEST_INSTRUCTION("66ED" , in(ax, dx));
+ TEST_INSTRUCTION("66E501" , in(ax, 1));
+ TEST_INSTRUCTION("ED" , in(eax, dx));
+ TEST_INSTRUCTION("E501" , in(eax, 1));
+ TEST_INSTRUCTION("FEC1" , inc(cl));
+ TEST_INSTRUCTION("FEC5" , inc(ch));
+ TEST_INSTRUCTION("66FFC1" , inc(cx));
+ TEST_INSTRUCTION("FFC1" , inc(ecx));
+ TEST_INSTRUCTION("48FFC1" , inc(rcx));
+ TEST_INSTRUCTION("FE841180000000" , inc(byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("66FF841180000000" , inc(word_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("FF841180000000" , inc(dword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("48FF841180000000" , inc(qword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("F30FAEE9" , incsspd(ecx));
+ TEST_INSTRUCTION("F3480FAEE9" , incsspq(rcx));
+ TEST_INSTRUCTION("6C" , ins(byte_ptr(rdi), dx));
+ TEST_INSTRUCTION("666D" , ins(word_ptr(rdi), dx));
+ TEST_INSTRUCTION("6D" , ins(dword_ptr(rdi), dx));
+ TEST_INSTRUCTION("660F3A21CA01" , insertps(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660F3A218C1A8000000001" , insertps(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A218C1A8000000001" , insertps(xmm1, dword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("F20F79CA" , insertq(xmm1, xmm2));
+ TEST_INSTRUCTION("F20F78CA0102" , insertq(xmm1, xmm2, 1, 2));
+ TEST_INSTRUCTION("CD01" , int_(1));
+ TEST_INSTRUCTION("CC" , int3());
+ TEST_INSTRUCTION("0F08" , invd());
+ TEST_INSTRUCTION("660F38808C1A80000000" , invept(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38808C1A80000000" , invept(rcx, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F01BC1180000000" , invlpg(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("670F01DF" , invlpga(eax, ecx));
+ TEST_INSTRUCTION("0F01DF" , invlpga(rax, ecx));
+ TEST_INSTRUCTION("660F38828C1A80000000" , invpcid(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38828C1A80000000" , invpcid(rcx, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38818C1A80000000" , invvpid(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38818C1A80000000" , invvpid(rcx, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("66CF" , iret());
+ TEST_INSTRUCTION("CF" , iretd());
+ TEST_INSTRUCTION("48CF" , iretq());
+ TEST_INSTRUCTION("C5ED4ACB" , kaddb(k1, k2, k3));
+ TEST_INSTRUCTION("C4E1ED4ACB" , kaddd(k1, k2, k3));
+ TEST_INSTRUCTION("C4E1EC4ACB" , kaddq(k1, k2, k3));
+ TEST_INSTRUCTION("C5EC4ACB" , kaddw(k1, k2, k3));
+ TEST_INSTRUCTION("C5ED41CB" , kandb(k1, k2, k3));
+ TEST_INSTRUCTION("C4E1ED41CB" , kandd(k1, k2, k3));
+ TEST_INSTRUCTION("C5ED42CB" , kandnb(k1, k2, k3));
+ TEST_INSTRUCTION("C4E1ED42CB" , kandnd(k1, k2, k3));
+ TEST_INSTRUCTION("C4E1EC42CB" , kandnq(k1, k2, k3));
+ TEST_INSTRUCTION("C5EC42CB" , kandnw(k1, k2, k3));
+ TEST_INSTRUCTION("C4E1EC41CB" , kandq(k1, k2, k3));
+ TEST_INSTRUCTION("C5EC41CB" , kandw(k1, k2, k3));
+ TEST_INSTRUCTION("C5F992CA" , kmovb(k1, edx));
+ TEST_INSTRUCTION("C5F990CA" , kmovb(k1, k2));
+ TEST_INSTRUCTION("C5F9908C1A80000000" , kmovb(k1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F9908C1A80000000" , kmovb(k1, byte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F993CA" , kmovb(ecx, k2));
+ TEST_INSTRUCTION("C5F9919C1180000000" , kmovb(ptr(rcx, rdx, 0, 128), k3));
+ TEST_INSTRUCTION("C5F9919C1180000000" , kmovb(byte_ptr(rcx, rdx, 0, 128), k3));
+ TEST_INSTRUCTION("C5FB92CA" , kmovd(k1, edx));
+ TEST_INSTRUCTION("C4E1F990CA" , kmovd(k1, k2));
+ TEST_INSTRUCTION("C4E1F9908C1A80000000" , kmovd(k1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E1F9908C1A80000000" , kmovd(k1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FB93CA" , kmovd(ecx, k2));
+ TEST_INSTRUCTION("C4E1F9919C1180000000" , kmovd(ptr(rcx, rdx, 0, 128), k3));
+ TEST_INSTRUCTION("C4E1F9919C1180000000" , kmovd(dword_ptr(rcx, rdx, 0, 128), k3));
+ TEST_INSTRUCTION("C4E1FB92CA" , kmovq(k1, rdx));
+ TEST_INSTRUCTION("C4E1F890CA" , kmovq(k1, k2));
+ TEST_INSTRUCTION("C4E1F8908C1A80000000" , kmovq(k1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E1F8908C1A80000000" , kmovq(k1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E1FB93CA" , kmovq(rcx, k2));
+ TEST_INSTRUCTION("C4E1F8919C1180000000" , kmovq(ptr(rcx, rdx, 0, 128), k3));
+ TEST_INSTRUCTION("C4E1F8919C1180000000" , kmovq(qword_ptr(rcx, rdx, 0, 128), k3));
+ TEST_INSTRUCTION("C5F892CA" , kmovw(k1, edx));
+ TEST_INSTRUCTION("C5F890CA" , kmovw(k1, k2));
+ TEST_INSTRUCTION("C5F8908C1A80000000" , kmovw(k1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F8908C1A80000000" , kmovw(k1, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F893CA" , kmovw(ecx, k2));
+ TEST_INSTRUCTION("C5F8919C1180000000" , kmovw(ptr(rcx, rdx, 0, 128), k3));
+ TEST_INSTRUCTION("C5F8919C1180000000" , kmovw(word_ptr(rcx, rdx, 0, 128), k3));
+ TEST_INSTRUCTION("C5F944CA" , knotb(k1, k2));
+ TEST_INSTRUCTION("C4E1F944CA" , knotd(k1, k2));
+ TEST_INSTRUCTION("C4E1F844CA" , knotq(k1, k2));
+ TEST_INSTRUCTION("C5F844CA" , knotw(k1, k2));
+ TEST_INSTRUCTION("C5ED45CB" , korb(k1, k2, k3));
+ TEST_INSTRUCTION("C4E1ED45CB" , kord(k1, k2, k3));
+ TEST_INSTRUCTION("C4E1EC45CB" , korq(k1, k2, k3));
+ TEST_INSTRUCTION("C5F998CA" , kortestb(k1, k2));
+ TEST_INSTRUCTION("C4E1F998CA" , kortestd(k1, k2));
+ TEST_INSTRUCTION("C4E1F898CA" , kortestq(k1, k2));
+ TEST_INSTRUCTION("C5F898CA" , kortestw(k1, k2));
+ TEST_INSTRUCTION("C5EC45CB" , korw(k1, k2, k3));
+ TEST_INSTRUCTION("C4E37932CA01" , kshiftlb(k1, k2, 1));
+ TEST_INSTRUCTION("C4E37933CA01" , kshiftld(k1, k2, 1));
+ TEST_INSTRUCTION("C4E3F933CA01" , kshiftlq(k1, k2, 1));
+ TEST_INSTRUCTION("C4E3F932CA01" , kshiftlw(k1, k2, 1));
+ TEST_INSTRUCTION("C4E37930CA01" , kshiftrb(k1, k2, 1));
+ TEST_INSTRUCTION("C4E37931CA01" , kshiftrd(k1, k2, 1));
+ TEST_INSTRUCTION("C4E3F931CA01" , kshiftrq(k1, k2, 1));
+ TEST_INSTRUCTION("C4E3F930CA01" , kshiftrw(k1, k2, 1));
+ TEST_INSTRUCTION("C5F999CA" , ktestb(k1, k2));
+ TEST_INSTRUCTION("C4E1F999CA" , ktestd(k1, k2));
+ TEST_INSTRUCTION("C4E1F899CA" , ktestq(k1, k2));
+ TEST_INSTRUCTION("C5F899CA" , ktestw(k1, k2));
+ TEST_INSTRUCTION("C5ED4BCB" , kunpckbw(k1, k2, k3));
+ TEST_INSTRUCTION("C4E1EC4BCB" , kunpckdq(k1, k2, k3));
+ TEST_INSTRUCTION("C5EC4BCB" , kunpckwd(k1, k2, k3));
+ TEST_INSTRUCTION("C5ED46CB" , kxnorb(k1, k2, k3));
+ TEST_INSTRUCTION("C4E1ED46CB" , kxnord(k1, k2, k3));
+ TEST_INSTRUCTION("C4E1EC46CB" , kxnorq(k1, k2, k3));
+ TEST_INSTRUCTION("C5EC46CB" , kxnorw(k1, k2, k3));
+ TEST_INSTRUCTION("C5ED47CB" , kxorb(k1, k2, k3));
+ TEST_INSTRUCTION("C4E1ED47CB" , kxord(k1, k2, k3));
+ TEST_INSTRUCTION("C4E1EC47CB" , kxorq(k1, k2, k3));
+ TEST_INSTRUCTION("C5EC47CB" , kxorw(k1, k2, k3));
+ TEST_INSTRUCTION("9F" , lahf(ah));
+ TEST_INSTRUCTION("660F02CA" , lar(cx, dx));
+ TEST_INSTRUCTION("660F028C1A80000000" , lar(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F028C1A80000000" , lar(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F02CA" , lar(ecx, edx));
+ TEST_INSTRUCTION("0F028C1A80000000" , lar(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F028C1A80000000" , lar(ecx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("48FF9C1180000000" , lcall(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("66FF9C1180000000" , lcall(dword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("FF9C1180000000" , lcall(fword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("48FF9C1180000000" , lcall(tbyte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("F20FF08C1A80000000" , lddqu(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20FF08C1A80000000" , lddqu(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FAE941180000000" , ldmxcsr(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0FAE941180000000" , ldmxcsr(dword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("C4E27849841180000000" , ldtilecfg(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("C4E27849841180000000" , ldtilecfg(zmmword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("668D8C1A80000000" , lea(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8D8C1A80000000" , lea(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("488D8C1A80000000" , lea(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C9" , leave());
+ TEST_INSTRUCTION("0FAEE8" , lfence());
+ TEST_INSTRUCTION("660FB48C1A80000000" , lfs(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FB48C1A80000000" , lfs(cx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FB48C1A80000000" , lfs(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FB48C1A80000000" , lfs(ecx, fword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480FB48C1A80000000" , lfs(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480FB48C1A80000000" , lfs(rcx, tbyte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F01941180000000" , lgdt(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("660FB58C1A80000000" , lgs(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FB58C1A80000000" , lgs(cx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FB58C1A80000000" , lgs(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FB58C1A80000000" , lgs(ecx, fword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480FB58C1A80000000" , lgs(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480FB58C1A80000000" , lgs(rcx, tbyte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F019C1180000000" , lidt(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("48FFAC1180000000" , ljmp(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("66FFAC1180000000" , ljmp(dword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("FFAC1180000000" , ljmp(fword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("48FFAC1180000000" , ljmp(tbyte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F00D1" , lldt(cx));
+ TEST_INSTRUCTION("0F00941180000000" , lldt(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F00941180000000" , lldt(word_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("8FE97812C1" , llwpcb(ecx));
+ TEST_INSTRUCTION("8FE9F812C1" , llwpcb(rcx));
+ TEST_INSTRUCTION("0F01F1" , lmsw(cx));
+ TEST_INSTRUCTION("0F01B41180000000" , lmsw(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F01B41180000000" , lmsw(word_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("AC" , lods(al, ptr(rsi)));
+ TEST_INSTRUCTION("AC" , lods(al, byte_ptr(rsi)));
+ TEST_INSTRUCTION("66AD" , lods(ax, ptr(rsi)));
+ TEST_INSTRUCTION("66AD" , lods(ax, word_ptr(rsi)));
+ TEST_INSTRUCTION("AD" , lods(eax, ptr(rsi)));
+ TEST_INSTRUCTION("AD" , lods(eax, dword_ptr(rsi)));
+ TEST_INSTRUCTION("48AD" , lods(rax, ptr(rsi)));
+ TEST_INSTRUCTION("48AD" , lods(rax, qword_ptr(rsi)));
+ TEST_INSTRUCTION("660F03CA" , lsl(cx, dx));
+ TEST_INSTRUCTION("660F038C1A80000000" , lsl(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F038C1A80000000" , lsl(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F03CA" , lsl(ecx, edx));
+ TEST_INSTRUCTION("0F038C1A80000000" , lsl(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F038C1A80000000" , lsl(ecx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F03CA" , lsl(rcx, edx));
+ TEST_INSTRUCTION("480F038C1A80000000" , lsl(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F038C1A80000000" , lsl(rcx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FB28C1A80000000" , lss(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FB28C1A80000000" , lss(cx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FB28C1A80000000" , lss(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FB28C1A80000000" , lss(ecx, fword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480FB28C1A80000000" , lss(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480FB28C1A80000000" , lss(rcx, tbyte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F00D9" , ltr(cx));
+ TEST_INSTRUCTION("0F009C1180000000" , ltr(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F009C1180000000" , ltr(word_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("8FEA7012C201000000" , lwpins(ecx, edx, 1));
+ TEST_INSTRUCTION("8FEA7012841A8000000001000000" , lwpins(ecx, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("8FEA7012841A8000000001000000" , lwpins(ecx, dword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("8FEAF012C201000000" , lwpins(rcx, edx, 1));
+ TEST_INSTRUCTION("8FEAF012841A8000000001000000" , lwpins(rcx, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("8FEAF012841A8000000001000000" , lwpins(rcx, dword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("8FEA7012CA01000000" , lwpval(ecx, edx, 1));
+ TEST_INSTRUCTION("8FEA70128C1A8000000001000000" , lwpval(ecx, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("8FEA70128C1A8000000001000000" , lwpval(ecx, dword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("8FEAF012CA01000000" , lwpval(rcx, edx, 1));
+ TEST_INSTRUCTION("8FEAF0128C1A8000000001000000" , lwpval(rcx, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("8FEAF0128C1A8000000001000000" , lwpval(rcx, dword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("66F30FBDCA" , lzcnt(cx, dx));
+ TEST_INSTRUCTION("66F30FBD8C1A80000000" , lzcnt(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("66F30FBD8C1A80000000" , lzcnt(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30FBDCA" , lzcnt(ecx, edx));
+ TEST_INSTRUCTION("F30FBD8C1A80000000" , lzcnt(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30FBD8C1A80000000" , lzcnt(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F3480FBDCA" , lzcnt(rcx, rdx));
+ TEST_INSTRUCTION("F3480FBD8C1A80000000" , lzcnt(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F3480FBD8C1A80000000" , lzcnt(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FF7CA" , maskmovdqu(xmm1, xmm2, ptr(rdi)));
+ TEST_INSTRUCTION("660FF7CA" , maskmovdqu(xmm1, xmm2, xmmword_ptr(rdi)));
+ TEST_INSTRUCTION("0FF7CA" , maskmovq(mm1, mm2, ptr(rdi)));
+ TEST_INSTRUCTION("0FF7CA" , maskmovq(mm1, mm2, qword_ptr(rdi)));
+ TEST_INSTRUCTION("660F5FCA" , maxpd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F5F8C1A80000000" , maxpd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F5F8C1A80000000" , maxpd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F5FCA" , maxps(xmm1, xmm2));
+ TEST_INSTRUCTION("0F5F8C1A80000000" , maxps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F5F8C1A80000000" , maxps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F5FCA" , maxsd(xmm1, xmm2));
+ TEST_INSTRUCTION("F20F5F8C1A80000000" , maxsd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F5F8C1A80000000" , maxsd(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F5FCA" , maxss(xmm1, xmm2));
+ TEST_INSTRUCTION("F30F5F8C1A80000000" , maxss(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F5F8C1A80000000" , maxss(xmm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F01FA" , mcommit());
+ TEST_INSTRUCTION("0FAEF0" , mfence());
+ TEST_INSTRUCTION("660F5DCA" , minpd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F5D8C1A80000000" , minpd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F5D8C1A80000000" , minpd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F5DCA" , minps(xmm1, xmm2));
+ TEST_INSTRUCTION("0F5D8C1A80000000" , minps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F5D8C1A80000000" , minps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F5DCA" , minsd(xmm1, xmm2));
+ TEST_INSTRUCTION("F20F5D8C1A80000000" , minsd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F5D8C1A80000000" , minsd(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F5DCA" , minss(xmm1, xmm2));
+ TEST_INSTRUCTION("F30F5D8C1A80000000" , minss(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F5D8C1A80000000" , minss(xmm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F01C8" , monitor(ptr(rax), ecx, edx));
+ TEST_INSTRUCTION("0F01FA" , monitorx(ptr(rax), ecx, edx));
+ TEST_INSTRUCTION("88D1" , mov(cl, dl));
+ TEST_INSTRUCTION("88F1" , mov(cl, dh));
+ TEST_INSTRUCTION("88D5" , mov(ch, dl));
+ TEST_INSTRUCTION("88F5" , mov(ch, dh));
+ TEST_INSTRUCTION("889C1180000000" , mov(ptr(rcx, rdx, 0, 128), bl));
+ TEST_INSTRUCTION("88BC1180000000" , mov(ptr(rcx, rdx, 0, 128), bh));
+ TEST_INSTRUCTION("889C1180000000" , mov(byte_ptr(rcx, rdx, 0, 128), bl));
+ TEST_INSTRUCTION("88BC1180000000" , mov(byte_ptr(rcx, rdx, 0, 128), bh));
+ TEST_INSTRUCTION("6689D1" , mov(cx, dx));
+ TEST_INSTRUCTION("668EE2" , mov(fs, dx));
+ TEST_INSTRUCTION("66899C1180000000" , mov(ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("66899C1180000000" , mov(word_ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("89D1" , mov(ecx, edx));
+ TEST_INSTRUCTION("8EE2" , mov(fs, edx));
+ TEST_INSTRUCTION("899C1180000000" , mov(ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("899C1180000000" , mov(dword_ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("4889D1" , mov(rcx, rdx));
+ TEST_INSTRUCTION("488EE2" , mov(fs, rdx));
+ TEST_INSTRUCTION("0F22CA" , mov(cr1, rdx));
+ TEST_INSTRUCTION("0F23CA" , mov(dr1, rdx));
+ TEST_INSTRUCTION("48899C1180000000" , mov(ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("48899C1180000000" , mov(qword_ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("B101" , mov(cl, 1));
+ TEST_INSTRUCTION("B501" , mov(ch, 1));
+ TEST_INSTRUCTION("C684118000000001" , mov(byte_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("66B90100" , mov(cx, 1));
+ TEST_INSTRUCTION("66C78411800000000100" , mov(word_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("B901000000" , mov(ecx, 1));
+ TEST_INSTRUCTION("C784118000000001000000" , mov(dword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("48C7C101000000" , mov(rcx, 1));
+ TEST_INSTRUCTION("48C784118000000001000000" , mov(qword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("488CE1" , mov(rcx, fs));
+ TEST_INSTRUCTION("0F20D1" , mov(rcx, cr2));
+ TEST_INSTRUCTION("0F21D1" , mov(rcx, dr2));
+ TEST_INSTRUCTION("488B8C1A80000000" , mov(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("488B8C1A80000000" , mov(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8A8C1A80000000" , mov(cl, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8A8C1A80000000" , mov(cl, byte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8AAC1A80000000" , mov(ch, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8AAC1A80000000" , mov(ch, byte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("668CE1" , mov(cx, fs));
+ TEST_INSTRUCTION("668B8C1A80000000" , mov(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("668B8C1A80000000" , mov(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8CE1" , mov(ecx, fs));
+ TEST_INSTRUCTION("8B8C1A80000000" , mov(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8B8C1A80000000" , mov(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8CA41180000000" , mov(ptr(rcx, rdx, 0, 128), fs));
+ TEST_INSTRUCTION("668CA41180000000" , mov(word_ptr(rcx, rdx, 0, 128), fs));
+ TEST_INSTRUCTION("8EA41A80000000" , mov(fs, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("668EA41A80000000" , mov(fs, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("48B90100000000000000" , movabs(rcx, 1));
+ TEST_INSTRUCTION("660F28CA" , movapd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F288C1A80000000" , movapd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F288C1A80000000" , movapd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F299C1180000000" , movapd(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("660F299C1180000000" , movapd(xmmword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("0F28CA" , movaps(xmm1, xmm2));
+ TEST_INSTRUCTION("0F288C1A80000000" , movaps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F288C1A80000000" , movaps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F299C1180000000" , movaps(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("0F299C1180000000" , movaps(xmmword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("660F38F08C1A80000000" , movbe(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38F08C1A80000000" , movbe(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F38F08C1A80000000" , movbe(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F38F08C1A80000000" , movbe(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F38F08C1A80000000" , movbe(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480F38F08C1A80000000" , movbe(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38F19C1180000000" , movbe(ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("660F38F19C1180000000" , movbe(word_ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("0F38F19C1180000000" , movbe(ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("0F38F19C1180000000" , movbe(dword_ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("480F38F19C1180000000" , movbe(ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("480F38F19C1180000000" , movbe(qword_ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("660F6ECA" , movd(xmm1, edx));
+ TEST_INSTRUCTION("660F6E8C1A80000000" , movd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F6E8C1A80000000" , movd(xmm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F6ECA" , movd(mm1, edx));
+ TEST_INSTRUCTION("0F6E8C1A80000000" , movd(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F6E8C1A80000000" , movd(mm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F7ED1" , movd(ecx, xmm2));
+ TEST_INSTRUCTION("0F7ED1" , movd(ecx, mm2));
+ TEST_INSTRUCTION("660F7E9C1180000000" , movd(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("0F7E9C1180000000" , movd(ptr(rcx, rdx, 0, 128), mm3));
+ TEST_INSTRUCTION("660F7E9C1180000000" , movd(dword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("0F7E9C1180000000" , movd(dword_ptr(rcx, rdx, 0, 128), mm3));
+ TEST_INSTRUCTION("F20F12CA" , movddup(xmm1, xmm2));
+ TEST_INSTRUCTION("F20F128C1A80000000" , movddup(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F128C1A80000000" , movddup(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38F88C1A80000000" , movdir64b(zmmword_ptr(rcx), zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F38F99C1180000000" , movdiri(ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("0F38F99C1180000000" , movdiri(dword_ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("480F38F99C1180000000" , movdiri(ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("480F38F99C1180000000" , movdiri(qword_ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("F20FD6CA" , movdq2q(mm1, xmm2));
+ TEST_INSTRUCTION("660F6FCA" , movdqa(xmm1, xmm2));
+ TEST_INSTRUCTION("660F6F8C1A80000000" , movdqa(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F6F8C1A80000000" , movdqa(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F7F9C1180000000" , movdqa(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("660F7F9C1180000000" , movdqa(xmmword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("F30F6FCA" , movdqu(xmm1, xmm2));
+ TEST_INSTRUCTION("F30F6F8C1A80000000" , movdqu(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F6F8C1A80000000" , movdqu(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F7F9C1180000000" , movdqu(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("F30F7F9C1180000000" , movdqu(xmmword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("0F12CA" , movhlps(xmm1, xmm2));
+ TEST_INSTRUCTION("660F179C1180000000" , movhpd(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("660F179C1180000000" , movhpd(qword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("660F168C1A80000000" , movhpd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F168C1A80000000" , movhpd(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F179C1180000000" , movhps(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("0F179C1180000000" , movhps(qword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("0F168C1A80000000" , movhps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F168C1A80000000" , movhps(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F16CA" , movlhps(xmm1, xmm2));
+ TEST_INSTRUCTION("660F139C1180000000" , movlpd(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("660F139C1180000000" , movlpd(qword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("660F128C1A80000000" , movlpd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F128C1A80000000" , movlpd(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F139C1180000000" , movlps(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("0F139C1180000000" , movlps(qword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("0F128C1A80000000" , movlps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F128C1A80000000" , movlps(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F50CA" , movmskpd(ecx, xmm2));
+ TEST_INSTRUCTION("0F50CA" , movmskps(ecx, xmm2));
+ TEST_INSTRUCTION("660FE79C1180000000" , movntdq(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("660FE79C1180000000" , movntdq(xmmword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("660F382A8C1A80000000" , movntdqa(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F382A8C1A80000000" , movntdqa(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FC39C1180000000" , movnti(ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("0FC39C1180000000" , movnti(dword_ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("480FC39C1180000000" , movnti(ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("480FC39C1180000000" , movnti(qword_ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("660F2B9C1180000000" , movntpd(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("660F2B9C1180000000" , movntpd(xmmword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("0F2B9C1180000000" , movntps(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("0F2B9C1180000000" , movntps(xmmword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("0FE79C1180000000" , movntq(ptr(rcx, rdx, 0, 128), mm3));
+ TEST_INSTRUCTION("0FE79C1180000000" , movntq(qword_ptr(rcx, rdx, 0, 128), mm3));
+ TEST_INSTRUCTION("F20F2B9C1180000000" , movntsd(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("F20F2B9C1180000000" , movntsd(qword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("F30F2B9C1180000000" , movntss(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("F30F2B9C1180000000" , movntss(dword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("480F6ECA" , movq(mm1, rdx));
+ TEST_INSTRUCTION("0F6FCA" , movq(mm1, mm2));
+ TEST_INSTRUCTION("0F6F8C1A80000000" , movq(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F6F8C1A80000000" , movq(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("66480F7ED1" , movq(rcx, xmm2));
+ TEST_INSTRUCTION("480F7ED1" , movq(rcx, mm2));
+ TEST_INSTRUCTION("660FD69C1180000000" , movq(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("0F7F9C1180000000" , movq(ptr(rcx, rdx, 0, 128), mm3));
+ TEST_INSTRUCTION("660FD69C1180000000" , movq(qword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("0F7F9C1180000000" , movq(qword_ptr(rcx, rdx, 0, 128), mm3));
+ TEST_INSTRUCTION("66480F6ECA" , movq(xmm1, rdx));
+ TEST_INSTRUCTION("F30F7E8C1A80000000" , movq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F7E8C1A80000000" , movq(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F7ECA" , movq(xmm1, xmm2));
+ TEST_INSTRUCTION("F30FD6CA" , movq2dq(xmm1, mm2));
+ TEST_INSTRUCTION("A4" , movs(byte_ptr(rdi), byte_ptr(rsi)));
+ TEST_INSTRUCTION("66A5" , movs(word_ptr(rdi), word_ptr(rsi)));
+ TEST_INSTRUCTION("A5" , movs(dword_ptr(rdi), dword_ptr(rsi)));
+ TEST_INSTRUCTION("48A5" , movs(qword_ptr(rdi), qword_ptr(rsi)));
+ TEST_INSTRUCTION("F20F10CA" , movsd(xmm1, xmm2));
+ TEST_INSTRUCTION("F20F108C1A80000000" , movsd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F108C1A80000000" , movsd(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F119C1180000000" , movsd(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("F20F119C1180000000" , movsd(qword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("F30F16CA" , movshdup(xmm1, xmm2));
+ TEST_INSTRUCTION("F30F168C1A80000000" , movshdup(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F168C1A80000000" , movshdup(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F12CA" , movsldup(xmm1, xmm2));
+ TEST_INSTRUCTION("F30F128C1A80000000" , movsldup(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F128C1A80000000" , movsldup(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F10CA" , movss(xmm1, xmm2));
+ TEST_INSTRUCTION("F30F108C1A80000000" , movss(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F108C1A80000000" , movss(xmm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F119C1180000000" , movss(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("F30F119C1180000000" , movss(dword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("660FBECA" , movsx(cx, dl));
+ TEST_INSTRUCTION("660FBECE" , movsx(cx, dh));
+ TEST_INSTRUCTION("660FBE8C1A80000000" , movsx(cx, byte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FBECA" , movsx(ecx, dl));
+ TEST_INSTRUCTION("0FBECE" , movsx(ecx, dh));
+ TEST_INSTRUCTION("0FBFCA" , movsx(ecx, dx));
+ TEST_INSTRUCTION("0FBE8C1A80000000" , movsx(ecx, byte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FBF8C1A80000000" , movsx(ecx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480FBECA" , movsx(rcx, dl));
+ TEST_INSTRUCTION("480FBFCA" , movsx(rcx, dx));
+ TEST_INSTRUCTION("480FBE8C1A80000000" , movsx(rcx, byte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480FBF8C1A80000000" , movsx(rcx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("6663CA" , movsxd(cx, edx));
+ TEST_INSTRUCTION("66638C1A80000000" , movsxd(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("66638C1A80000000" , movsxd(cx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("63CA" , movsxd(ecx, edx));
+ TEST_INSTRUCTION("638C1A80000000" , movsxd(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("638C1A80000000" , movsxd(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("4863CA" , movsxd(rcx, edx));
+ TEST_INSTRUCTION("48638C1A80000000" , movsxd(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("48638C1A80000000" , movsxd(rcx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F10CA" , movupd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F108C1A80000000" , movupd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F108C1A80000000" , movupd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F119C1180000000" , movupd(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("660F119C1180000000" , movupd(xmmword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("0F10CA" , movups(xmm1, xmm2));
+ TEST_INSTRUCTION("0F108C1A80000000" , movups(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F108C1A80000000" , movups(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F119C1180000000" , movups(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("0F119C1180000000" , movups(xmmword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("660FB6CA" , movzx(cx, dl));
+ TEST_INSTRUCTION("660FB6CE" , movzx(cx, dh));
+ TEST_INSTRUCTION("660FB68C1A80000000" , movzx(cx, byte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FB6CA" , movzx(ecx, dl));
+ TEST_INSTRUCTION("0FB6CE" , movzx(ecx, dh));
+ TEST_INSTRUCTION("0FB7CA" , movzx(ecx, dx));
+ TEST_INSTRUCTION("0FB68C1A80000000" , movzx(ecx, byte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FB78C1A80000000" , movzx(ecx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480FB6CA" , movzx(rcx, dl));
+ TEST_INSTRUCTION("480FB7CA" , movzx(rcx, dx));
+ TEST_INSTRUCTION("480FB68C1A80000000" , movzx(rcx, byte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480FB78C1A80000000" , movzx(rcx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3A42CA01" , mpsadbw(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660F3A428C1A8000000001" , mpsadbw(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A428C1A8000000001" , mpsadbw(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("F6E1" , mul(ax, cl));
+ TEST_INSTRUCTION("F6E5" , mul(ax, ch));
+ TEST_INSTRUCTION("F6A41180000000" , mul(ax, ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("F6A41180000000" , mul(ax, byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("66F7E1" , mul(dx, ax, cx));
+ TEST_INSTRUCTION("66F7A41180000000" , mul(dx, ax, ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("66F7A41180000000" , mul(dx, ax, word_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("F7E1" , mul(edx, eax, ecx));
+ TEST_INSTRUCTION("F7A41180000000" , mul(edx, eax, ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("F7A41180000000" , mul(edx, eax, dword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("48F7E1" , mul(rdx, rax, rcx));
+ TEST_INSTRUCTION("48F7A41180000000" , mul(rdx, rax, ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("48F7A41180000000" , mul(rdx, rax, qword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("660F59CA" , mulpd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F598C1A80000000" , mulpd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F598C1A80000000" , mulpd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F59CA" , mulps(xmm1, xmm2));
+ TEST_INSTRUCTION("0F598C1A80000000" , mulps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F598C1A80000000" , mulps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F59CA" , mulsd(xmm1, xmm2));
+ TEST_INSTRUCTION("F20F598C1A80000000" , mulsd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F598C1A80000000" , mulsd(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F59CA" , mulss(xmm1, xmm2));
+ TEST_INSTRUCTION("F30F598C1A80000000" , mulss(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F598C1A80000000" , mulss(xmm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E26BF6CB" , mulx(ecx, edx, ebx, edx));
+ TEST_INSTRUCTION("C4E26BF68C2B80000000" , mulx(ecx, edx, ptr(rbx, rbp, 0, 128), edx));
+ TEST_INSTRUCTION("C4E26BF68C2B80000000" , mulx(ecx, edx, dword_ptr(rbx, rbp, 0, 128), edx));
+ TEST_INSTRUCTION("C4E2EBF6CB" , mulx(rcx, rdx, rbx, rdx));
+ TEST_INSTRUCTION("C4E2EBF68C2B80000000" , mulx(rcx, rdx, ptr(rbx, rbp, 0, 128), rdx));
+ TEST_INSTRUCTION("C4E2EBF68C2B80000000" , mulx(rcx, rdx, qword_ptr(rbx, rbp, 0, 128), rdx));
+ TEST_INSTRUCTION("0F01C9" , mwait(eax, ecx));
+ TEST_INSTRUCTION("0F01FB" , mwaitx(eax, ecx, ebx));
+ TEST_INSTRUCTION("F6D9" , neg(cl));
+ TEST_INSTRUCTION("F6DD" , neg(ch));
+ TEST_INSTRUCTION("66F7D9" , neg(cx));
+ TEST_INSTRUCTION("F7D9" , neg(ecx));
+ TEST_INSTRUCTION("48F7D9" , neg(rcx));
+ TEST_INSTRUCTION("F69C1180000000" , neg(byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("66F79C1180000000" , neg(word_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("F79C1180000000" , neg(dword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("48F79C1180000000" , neg(qword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("90" , nop());
+ TEST_INSTRUCTION("660F1FC1" , nop(cx));
+ TEST_INSTRUCTION("0F1FC1" , nop(ecx));
+ TEST_INSTRUCTION("480F1FC1" , nop(rcx));
+ TEST_INSTRUCTION("660F1F841180000000" , nop(word_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F1F841180000000" , nop(dword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("480F1F841180000000" , nop(qword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("660F1FD1" , nop(cx, dx));
+ TEST_INSTRUCTION("660F1F9C1180000000" , nop(ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("660F1F9C1180000000" , nop(word_ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("0F1FD1" , nop(ecx, edx));
+ TEST_INSTRUCTION("0F1F9C1180000000" , nop(ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("0F1F9C1180000000" , nop(dword_ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("480F1FD1" , nop(rcx, rdx));
+ TEST_INSTRUCTION("480F1F9C1180000000" , nop(ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("480F1F9C1180000000" , nop(qword_ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("F6D1" , not_(cl));
+ TEST_INSTRUCTION("F6D5" , not_(ch));
+ TEST_INSTRUCTION("66F7D1" , not_(cx));
+ TEST_INSTRUCTION("F7D1" , not_(ecx));
+ TEST_INSTRUCTION("48F7D1" , not_(rcx));
+ TEST_INSTRUCTION("F6941180000000" , not_(byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("66F7941180000000" , not_(word_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("F7941180000000" , not_(dword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("48F7941180000000" , not_(qword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("80C901" , or_(cl, 1));
+ TEST_INSTRUCTION("80CD01" , or_(ch, 1));
+ TEST_INSTRUCTION("808C118000000001" , or_(byte_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("6683C901" , or_(cx, 1));
+ TEST_INSTRUCTION("66838C118000000001" , or_(word_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("83C901" , or_(ecx, 1));
+ TEST_INSTRUCTION("838C118000000001" , or_(dword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("4809D1" , or_(rcx, rdx));
+ TEST_INSTRUCTION("4883C901" , or_(rcx, 1));
+ TEST_INSTRUCTION("48099C1180000000" , or_(ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("48099C1180000000" , or_(qword_ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("48838C118000000001" , or_(qword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("08D1" , or_(cl, dl));
+ TEST_INSTRUCTION("08F1" , or_(cl, dh));
+ TEST_INSTRUCTION("08D5" , or_(ch, dl));
+ TEST_INSTRUCTION("08F5" , or_(ch, dh));
+ TEST_INSTRUCTION("089C1180000000" , or_(ptr(rcx, rdx, 0, 128), bl));
+ TEST_INSTRUCTION("08BC1180000000" , or_(ptr(rcx, rdx, 0, 128), bh));
+ TEST_INSTRUCTION("089C1180000000" , or_(byte_ptr(rcx, rdx, 0, 128), bl));
+ TEST_INSTRUCTION("08BC1180000000" , or_(byte_ptr(rcx, rdx, 0, 128), bh));
+ TEST_INSTRUCTION("6609D1" , or_(cx, dx));
+ TEST_INSTRUCTION("66099C1180000000" , or_(ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("66099C1180000000" , or_(word_ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("09D1" , or_(ecx, edx));
+ TEST_INSTRUCTION("099C1180000000" , or_(ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("099C1180000000" , or_(dword_ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("0A8C1A80000000" , or_(cl, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0A8C1A80000000" , or_(cl, byte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0AAC1A80000000" , or_(ch, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0AAC1A80000000" , or_(ch, byte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660B8C1A80000000" , or_(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660B8C1A80000000" , or_(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0B8C1A80000000" , or_(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0B8C1A80000000" , or_(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480B8C1A80000000" , or_(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("480B8C1A80000000" , or_(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F56CA" , orpd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F568C1A80000000" , orpd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F568C1A80000000" , orpd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F56CA" , orps(xmm1, xmm2));
+ TEST_INSTRUCTION("0F568C1A80000000" , orps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F568C1A80000000" , orps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("EE" , out(dx, al));
+ TEST_INSTRUCTION("66EF" , out(dx, ax));
+ TEST_INSTRUCTION("EF" , out(dx, eax));
+ TEST_INSTRUCTION("E601" , out(1, al));
+ TEST_INSTRUCTION("66E701" , out(1, ax));
+ TEST_INSTRUCTION("E701" , out(1, eax));
+ TEST_INSTRUCTION("6E" , outs(dx, byte_ptr(rsi)));
+ TEST_INSTRUCTION("666F" , outs(dx, word_ptr(rsi)));
+ TEST_INSTRUCTION("6F" , outs(dx, dword_ptr(rsi)));
+ TEST_INSTRUCTION("0F381CCA" , pabsb(mm1, mm2));
+ TEST_INSTRUCTION("0F381C8C1A80000000" , pabsb(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F381C8C1A80000000" , pabsb(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F381CCA" , pabsb(xmm1, xmm2));
+ TEST_INSTRUCTION("660F381C8C1A80000000" , pabsb(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F381C8C1A80000000" , pabsb(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F381ECA" , pabsd(mm1, mm2));
+ TEST_INSTRUCTION("0F381E8C1A80000000" , pabsd(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F381E8C1A80000000" , pabsd(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F381ECA" , pabsd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F381E8C1A80000000" , pabsd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F381E8C1A80000000" , pabsd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F381DCA" , pabsw(mm1, mm2));
+ TEST_INSTRUCTION("0F381D8C1A80000000" , pabsw(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F381D8C1A80000000" , pabsw(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F381DCA" , pabsw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F381D8C1A80000000" , pabsw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F381D8C1A80000000" , pabsw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F6BCA" , packssdw(mm1, mm2));
+ TEST_INSTRUCTION("0F6B8C1A80000000" , packssdw(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F6B8C1A80000000" , packssdw(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F6BCA" , packssdw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F6B8C1A80000000" , packssdw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F6B8C1A80000000" , packssdw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F63CA" , packsswb(mm1, mm2));
+ TEST_INSTRUCTION("0F638C1A80000000" , packsswb(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F638C1A80000000" , packsswb(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F63CA" , packsswb(xmm1, xmm2));
+ TEST_INSTRUCTION("660F638C1A80000000" , packsswb(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F638C1A80000000" , packsswb(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F382BCA" , packusdw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F382B8C1A80000000" , packusdw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F382B8C1A80000000" , packusdw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F67CA" , packuswb(mm1, mm2));
+ TEST_INSTRUCTION("0F678C1A80000000" , packuswb(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F678C1A80000000" , packuswb(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F67CA" , packuswb(xmm1, xmm2));
+ TEST_INSTRUCTION("660F678C1A80000000" , packuswb(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F678C1A80000000" , packuswb(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FFCCA" , paddb(mm1, mm2));
+ TEST_INSTRUCTION("0FFC8C1A80000000" , paddb(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FFC8C1A80000000" , paddb(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FFCCA" , paddb(xmm1, xmm2));
+ TEST_INSTRUCTION("660FFC8C1A80000000" , paddb(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FFC8C1A80000000" , paddb(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FFECA" , paddd(mm1, mm2));
+ TEST_INSTRUCTION("0FFE8C1A80000000" , paddd(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FFE8C1A80000000" , paddd(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FFECA" , paddd(xmm1, xmm2));
+ TEST_INSTRUCTION("660FFE8C1A80000000" , paddd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FFE8C1A80000000" , paddd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FD4CA" , paddq(mm1, mm2));
+ TEST_INSTRUCTION("0FD48C1A80000000" , paddq(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FD48C1A80000000" , paddq(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FD4CA" , paddq(xmm1, xmm2));
+ TEST_INSTRUCTION("660FD48C1A80000000" , paddq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FD48C1A80000000" , paddq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FECCA" , paddsb(mm1, mm2));
+ TEST_INSTRUCTION("0FEC8C1A80000000" , paddsb(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FEC8C1A80000000" , paddsb(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FECCA" , paddsb(xmm1, xmm2));
+ TEST_INSTRUCTION("660FEC8C1A80000000" , paddsb(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FEC8C1A80000000" , paddsb(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FEDCA" , paddsw(mm1, mm2));
+ TEST_INSTRUCTION("0FED8C1A80000000" , paddsw(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FED8C1A80000000" , paddsw(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FEDCA" , paddsw(xmm1, xmm2));
+ TEST_INSTRUCTION("660FED8C1A80000000" , paddsw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FED8C1A80000000" , paddsw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FDCCA" , paddusb(mm1, mm2));
+ TEST_INSTRUCTION("0FDC8C1A80000000" , paddusb(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FDC8C1A80000000" , paddusb(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FDCCA" , paddusb(xmm1, xmm2));
+ TEST_INSTRUCTION("660FDC8C1A80000000" , paddusb(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FDC8C1A80000000" , paddusb(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FDDCA" , paddusw(mm1, mm2));
+ TEST_INSTRUCTION("0FDD8C1A80000000" , paddusw(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FDD8C1A80000000" , paddusw(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FDDCA" , paddusw(xmm1, xmm2));
+ TEST_INSTRUCTION("660FDD8C1A80000000" , paddusw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FDD8C1A80000000" , paddusw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FFDCA" , paddw(mm1, mm2));
+ TEST_INSTRUCTION("0FFD8C1A80000000" , paddw(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FFD8C1A80000000" , paddw(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FFDCA" , paddw(xmm1, xmm2));
+ TEST_INSTRUCTION("660FFD8C1A80000000" , paddw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FFD8C1A80000000" , paddw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F3A0FCA01" , palignr(mm1, mm2, 1));
+ TEST_INSTRUCTION("0F3A0F8C1A8000000001" , palignr(mm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("0F3A0F8C1A8000000001" , palignr(mm1, qword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A0FCA01" , palignr(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660F3A0F8C1A8000000001" , palignr(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A0F8C1A8000000001" , palignr(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("0FDBCA" , pand(mm1, mm2));
+ TEST_INSTRUCTION("0FDB8C1A80000000" , pand(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FDB8C1A80000000" , pand(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FDBCA" , pand(xmm1, xmm2));
+ TEST_INSTRUCTION("660FDB8C1A80000000" , pand(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FDB8C1A80000000" , pand(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FDFCA" , pandn(mm1, mm2));
+ TEST_INSTRUCTION("0FDF8C1A80000000" , pandn(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FDF8C1A80000000" , pandn(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FDFCA" , pandn(xmm1, xmm2));
+ TEST_INSTRUCTION("660FDF8C1A80000000" , pandn(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FDF8C1A80000000" , pandn(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F390" , pause());
+ TEST_INSTRUCTION("0FE0CA" , pavgb(mm1, mm2));
+ TEST_INSTRUCTION("0FE08C1A80000000" , pavgb(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FE08C1A80000000" , pavgb(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FE0CA" , pavgb(xmm1, xmm2));
+ TEST_INSTRUCTION("660FE08C1A80000000" , pavgb(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FE08C1A80000000" , pavgb(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCABF" , pavgusb(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A80000000BF" , pavgusb(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A80000000BF" , pavgusb(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FE3CA" , pavgw(mm1, mm2));
+ TEST_INSTRUCTION("0FE38C1A80000000" , pavgw(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FE38C1A80000000" , pavgw(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FE3CA" , pavgw(xmm1, xmm2));
+ TEST_INSTRUCTION("660FE38C1A80000000" , pavgw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FE38C1A80000000" , pavgw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3810CA" , pblendvb(xmm1, xmm2, xmm0));
+ TEST_INSTRUCTION("660F38108C1A80000000" , pblendvb(xmm1, ptr(rdx, rbx, 0, 128), xmm0));
+ TEST_INSTRUCTION("660F38108C1A80000000" , pblendvb(xmm1, xmmword_ptr(rdx, rbx, 0, 128), xmm0));
+ TEST_INSTRUCTION("660F3A0ECA01" , pblendw(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660F3A0E8C1A8000000001" , pblendw(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A0E8C1A8000000001" , pblendw(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A44CA01" , pclmulqdq(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660F3A448C1A8000000001" , pclmulqdq(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A448C1A8000000001" , pclmulqdq(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("0F74CA" , pcmpeqb(mm1, mm2));
+ TEST_INSTRUCTION("0F748C1A80000000" , pcmpeqb(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F748C1A80000000" , pcmpeqb(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F74CA" , pcmpeqb(xmm1, xmm2));
+ TEST_INSTRUCTION("660F748C1A80000000" , pcmpeqb(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F748C1A80000000" , pcmpeqb(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F76CA" , pcmpeqd(mm1, mm2));
+ TEST_INSTRUCTION("0F768C1A80000000" , pcmpeqd(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F768C1A80000000" , pcmpeqd(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F76CA" , pcmpeqd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F768C1A80000000" , pcmpeqd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F768C1A80000000" , pcmpeqd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3829CA" , pcmpeqq(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38298C1A80000000" , pcmpeqq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38298C1A80000000" , pcmpeqq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F75CA" , pcmpeqw(mm1, mm2));
+ TEST_INSTRUCTION("0F758C1A80000000" , pcmpeqw(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F758C1A80000000" , pcmpeqw(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F75CA" , pcmpeqw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F758C1A80000000" , pcmpeqw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F758C1A80000000" , pcmpeqw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3A61CA01" , pcmpestri(xmm1, xmm2, 1, ecx, eax, edx));
+ TEST_INSTRUCTION("660F3A618C1A8000000001" , pcmpestri(xmm1, ptr(rdx, rbx, 0, 128), 1, ecx, eax, edx));
+ TEST_INSTRUCTION("660F3A618C1A8000000001" , pcmpestri(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1, ecx, eax, edx));
+ TEST_INSTRUCTION("660F3A60CA01" , pcmpestrm(xmm1, xmm2, 1, xmm0, eax, edx));
+ TEST_INSTRUCTION("660F3A608C1A8000000001" , pcmpestrm(xmm1, ptr(rdx, rbx, 0, 128), 1, xmm0, eax, edx));
+ TEST_INSTRUCTION("660F3A608C1A8000000001" , pcmpestrm(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1, xmm0, eax, edx));
+ TEST_INSTRUCTION("0F64CA" , pcmpgtb(mm1, mm2));
+ TEST_INSTRUCTION("0F648C1A80000000" , pcmpgtb(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F648C1A80000000" , pcmpgtb(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F64CA" , pcmpgtb(xmm1, xmm2));
+ TEST_INSTRUCTION("660F648C1A80000000" , pcmpgtb(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F648C1A80000000" , pcmpgtb(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F66CA" , pcmpgtd(mm1, mm2));
+ TEST_INSTRUCTION("0F668C1A80000000" , pcmpgtd(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F668C1A80000000" , pcmpgtd(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F66CA" , pcmpgtd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F668C1A80000000" , pcmpgtd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F668C1A80000000" , pcmpgtd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3837CA" , pcmpgtq(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38378C1A80000000" , pcmpgtq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38378C1A80000000" , pcmpgtq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F65CA" , pcmpgtw(mm1, mm2));
+ TEST_INSTRUCTION("0F658C1A80000000" , pcmpgtw(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F658C1A80000000" , pcmpgtw(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F65CA" , pcmpgtw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F658C1A80000000" , pcmpgtw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F658C1A80000000" , pcmpgtw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3A63CA01" , pcmpistri(xmm1, xmm2, 1, ecx));
+ TEST_INSTRUCTION("660F3A638C1A8000000001" , pcmpistri(xmm1, ptr(rdx, rbx, 0, 128), 1, ecx));
+ TEST_INSTRUCTION("660F3A638C1A8000000001" , pcmpistri(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1, ecx));
+ TEST_INSTRUCTION("660F3A62CA01" , pcmpistrm(xmm1, xmm2, 1, xmm0));
+ TEST_INSTRUCTION("660F3A628C1A8000000001" , pcmpistrm(xmm1, ptr(rdx, rbx, 0, 128), 1, xmm0));
+ TEST_INSTRUCTION("660F3A628C1A8000000001" , pcmpistrm(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1, xmm0));
+ TEST_INSTRUCTION("0F01C5" , pconfig());
+ TEST_INSTRUCTION("C4E26BF5CB" , pdep(ecx, edx, ebx));
+ TEST_INSTRUCTION("C4E26BF58C2B80000000" , pdep(ecx, edx, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26BF58C2B80000000" , pdep(ecx, edx, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EBF5CB" , pdep(rcx, rdx, rbx));
+ TEST_INSTRUCTION("C4E2EBF58C2B80000000" , pdep(rcx, rdx, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EBF58C2B80000000" , pdep(rcx, rdx, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26AF5CB" , pext(ecx, edx, ebx));
+ TEST_INSTRUCTION("C4E26AF58C2B80000000" , pext(ecx, edx, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26AF58C2B80000000" , pext(ecx, edx, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EAF5CB" , pext(rcx, rdx, rbx));
+ TEST_INSTRUCTION("C4E2EAF58C2B80000000" , pext(rcx, rdx, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EAF58C2B80000000" , pext(rcx, rdx, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("660F3A14D101" , pextrb(ecx, xmm2, 1));
+ TEST_INSTRUCTION("660F3A149C118000000001" , pextrb(ptr(rcx, rdx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("660F3A149C118000000001" , pextrb(byte_ptr(rcx, rdx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("660F3A16D101" , pextrd(ecx, xmm2, 1));
+ TEST_INSTRUCTION("660F3A169C118000000001" , pextrd(ptr(rcx, rdx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("660F3A169C118000000001" , pextrd(dword_ptr(rcx, rdx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("66480F3A16D101" , pextrq(rcx, xmm2, 1));
+ TEST_INSTRUCTION("66480F3A169C118000000001" , pextrq(ptr(rcx, rdx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("66480F3A169C118000000001" , pextrq(qword_ptr(rcx, rdx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("660FC5CA01" , pextrw(ecx, xmm2, 1));
+ TEST_INSTRUCTION("0FC5CA01" , pextrw(ecx, mm2, 1));
+ TEST_INSTRUCTION("660F3A159C118000000001" , pextrw(ptr(rcx, rdx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("660F3A159C118000000001" , pextrw(word_ptr(rcx, rdx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("0F0FCA1D" , pf2id(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A800000001D" , pf2id(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A800000001D" , pf2id(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCA1C" , pf2iw(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A800000001C" , pf2iw(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A800000001C" , pf2iw(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCAAE" , pfacc(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A80000000AE" , pfacc(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A80000000AE" , pfacc(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCA9E" , pfadd(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A800000009E" , pfadd(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A800000009E" , pfadd(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCAB0" , pfcmpeq(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A80000000B0" , pfcmpeq(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A80000000B0" , pfcmpeq(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCA90" , pfcmpge(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A8000000090" , pfcmpge(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A8000000090" , pfcmpge(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCAA0" , pfcmpgt(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A80000000A0" , pfcmpgt(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A80000000A0" , pfcmpgt(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCAA4" , pfmax(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A80000000A4" , pfmax(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A80000000A4" , pfmax(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCA94" , pfmin(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A8000000094" , pfmin(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A8000000094" , pfmin(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCAB4" , pfmul(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A80000000B4" , pfmul(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A80000000B4" , pfmul(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCA8A" , pfnacc(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A800000008A" , pfnacc(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A800000008A" , pfnacc(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCA8E" , pfpnacc(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A800000008E" , pfpnacc(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A800000008E" , pfpnacc(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCA96" , pfrcp(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A8000000096" , pfrcp(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A8000000096" , pfrcp(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCAA6" , pfrcpit1(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A80000000A6" , pfrcpit1(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A80000000A6" , pfrcpit1(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCAB6" , pfrcpit2(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A80000000B6" , pfrcpit2(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A80000000B6" , pfrcpit2(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCA86" , pfrcpv(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A8000000086" , pfrcpv(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A8000000086" , pfrcpv(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCAA7" , pfrsqit1(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A80000000A7" , pfrsqit1(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A80000000A7" , pfrsqit1(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCA97" , pfrsqrt(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A8000000097" , pfrsqrt(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A8000000097" , pfrsqrt(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCA87" , pfrsqrtv(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A8000000087" , pfrsqrtv(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A8000000087" , pfrsqrtv(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCA9A" , pfsub(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A800000009A" , pfsub(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A800000009A" , pfsub(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCAAA" , pfsubr(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A80000000AA" , pfsubr(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A80000000AA" , pfsubr(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F3802CA" , phaddd(mm1, mm2));
+ TEST_INSTRUCTION("0F38028C1A80000000" , phaddd(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F38028C1A80000000" , phaddd(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3802CA" , phaddd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38028C1A80000000" , phaddd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38028C1A80000000" , phaddd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F3803CA" , phaddsw(mm1, mm2));
+ TEST_INSTRUCTION("0F38038C1A80000000" , phaddsw(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F38038C1A80000000" , phaddsw(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3803CA" , phaddsw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38038C1A80000000" , phaddsw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38038C1A80000000" , phaddsw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F3801CA" , phaddw(mm1, mm2));
+ TEST_INSTRUCTION("0F38018C1A80000000" , phaddw(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F38018C1A80000000" , phaddw(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3801CA" , phaddw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38018C1A80000000" , phaddw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38018C1A80000000" , phaddw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3841CA" , phminposuw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38418C1A80000000" , phminposuw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38418C1A80000000" , phminposuw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F3806CA" , phsubd(mm1, mm2));
+ TEST_INSTRUCTION("0F38068C1A80000000" , phsubd(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F38068C1A80000000" , phsubd(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3806CA" , phsubd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38068C1A80000000" , phsubd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38068C1A80000000" , phsubd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F3807CA" , phsubsw(mm1, mm2));
+ TEST_INSTRUCTION("0F38078C1A80000000" , phsubsw(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F38078C1A80000000" , phsubsw(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3807CA" , phsubsw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38078C1A80000000" , phsubsw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38078C1A80000000" , phsubsw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F3805CA" , phsubw(mm1, mm2));
+ TEST_INSTRUCTION("0F38058C1A80000000" , phsubw(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F38058C1A80000000" , phsubw(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3805CA" , phsubw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38058C1A80000000" , phsubw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38058C1A80000000" , phsubw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCA0D" , pi2fd(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A800000000D" , pi2fd(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A800000000D" , pi2fd(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCA0C" , pi2fw(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A800000000C" , pi2fw(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A800000000C" , pi2fw(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3A20CA01" , pinsrb(xmm1, edx, 1));
+ TEST_INSTRUCTION("660F3A208C1A8000000001" , pinsrb(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A208C1A8000000001" , pinsrb(xmm1, byte_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A22CA01" , pinsrd(xmm1, edx, 1));
+ TEST_INSTRUCTION("660F3A228C1A8000000001" , pinsrd(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A228C1A8000000001" , pinsrd(xmm1, dword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("66480F3A22CA01" , pinsrq(xmm1, rdx, 1));
+ TEST_INSTRUCTION("66480F3A228C1A8000000001" , pinsrq(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("66480F3A228C1A8000000001" , pinsrq(xmm1, qword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660FC4CA01" , pinsrw(xmm1, edx, 1));
+ TEST_INSTRUCTION("660FC48C1A8000000001" , pinsrw(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660FC48C1A8000000001" , pinsrw(xmm1, word_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("0FC4CA01" , pinsrw(mm1, edx, 1));
+ TEST_INSTRUCTION("0FC48C1A8000000001" , pinsrw(mm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("0FC48C1A8000000001" , pinsrw(mm1, word_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("0F3804CA" , pmaddubsw(mm1, mm2));
+ TEST_INSTRUCTION("0F38048C1A80000000" , pmaddubsw(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F38048C1A80000000" , pmaddubsw(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3804CA" , pmaddubsw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38048C1A80000000" , pmaddubsw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38048C1A80000000" , pmaddubsw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FF5CA" , pmaddwd(mm1, mm2));
+ TEST_INSTRUCTION("0FF58C1A80000000" , pmaddwd(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FF58C1A80000000" , pmaddwd(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FF5CA" , pmaddwd(xmm1, xmm2));
+ TEST_INSTRUCTION("660FF58C1A80000000" , pmaddwd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FF58C1A80000000" , pmaddwd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F383CCA" , pmaxsb(xmm1, xmm2));
+ TEST_INSTRUCTION("660F383C8C1A80000000" , pmaxsb(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F383C8C1A80000000" , pmaxsb(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F383DCA" , pmaxsd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F383D8C1A80000000" , pmaxsd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F383D8C1A80000000" , pmaxsd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FEECA" , pmaxsw(mm1, mm2));
+ TEST_INSTRUCTION("0FEE8C1A80000000" , pmaxsw(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FEE8C1A80000000" , pmaxsw(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FEECA" , pmaxsw(xmm1, xmm2));
+ TEST_INSTRUCTION("660FEE8C1A80000000" , pmaxsw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FEE8C1A80000000" , pmaxsw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FDECA" , pmaxub(mm1, mm2));
+ TEST_INSTRUCTION("0FDE8C1A80000000" , pmaxub(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FDE8C1A80000000" , pmaxub(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FDECA" , pmaxub(xmm1, xmm2));
+ TEST_INSTRUCTION("660FDE8C1A80000000" , pmaxub(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FDE8C1A80000000" , pmaxub(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F383FCA" , pmaxud(xmm1, xmm2));
+ TEST_INSTRUCTION("660F383F8C1A80000000" , pmaxud(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F383F8C1A80000000" , pmaxud(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F383ECA" , pmaxuw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F383E8C1A80000000" , pmaxuw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F383E8C1A80000000" , pmaxuw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3838CA" , pminsb(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38388C1A80000000" , pminsb(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38388C1A80000000" , pminsb(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3839CA" , pminsd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38398C1A80000000" , pminsd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38398C1A80000000" , pminsd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FEACA" , pminsw(mm1, mm2));
+ TEST_INSTRUCTION("0FEA8C1A80000000" , pminsw(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FEA8C1A80000000" , pminsw(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FEACA" , pminsw(xmm1, xmm2));
+ TEST_INSTRUCTION("660FEA8C1A80000000" , pminsw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FEA8C1A80000000" , pminsw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FDACA" , pminub(mm1, mm2));
+ TEST_INSTRUCTION("0FDA8C1A80000000" , pminub(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FDA8C1A80000000" , pminub(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FDACA" , pminub(xmm1, xmm2));
+ TEST_INSTRUCTION("660FDA8C1A80000000" , pminub(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FDA8C1A80000000" , pminub(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F383BCA" , pminud(xmm1, xmm2));
+ TEST_INSTRUCTION("660F383B8C1A80000000" , pminud(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F383B8C1A80000000" , pminud(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F383ACA" , pminuw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F383A8C1A80000000" , pminuw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F383A8C1A80000000" , pminuw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FD7CA" , pmovmskb(ecx, xmm2));
+ TEST_INSTRUCTION("0FD7CA" , pmovmskb(ecx, mm2));
+ TEST_INSTRUCTION("660F3821CA" , pmovsxbd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38218C1A80000000" , pmovsxbd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38218C1A80000000" , pmovsxbd(xmm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3822CA" , pmovsxbq(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38228C1A80000000" , pmovsxbq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38228C1A80000000" , pmovsxbq(xmm1, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3820CA" , pmovsxbw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38208C1A80000000" , pmovsxbw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38208C1A80000000" , pmovsxbw(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3825CA" , pmovsxdq(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38258C1A80000000" , pmovsxdq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38258C1A80000000" , pmovsxdq(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3823CA" , pmovsxwd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38238C1A80000000" , pmovsxwd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38238C1A80000000" , pmovsxwd(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3824CA" , pmovsxwq(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38248C1A80000000" , pmovsxwq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38248C1A80000000" , pmovsxwq(xmm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3831CA" , pmovzxbd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38318C1A80000000" , pmovzxbd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38318C1A80000000" , pmovzxbd(xmm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3832CA" , pmovzxbq(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38328C1A80000000" , pmovzxbq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38328C1A80000000" , pmovzxbq(xmm1, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3830CA" , pmovzxbw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38308C1A80000000" , pmovzxbw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38308C1A80000000" , pmovzxbw(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3835CA" , pmovzxdq(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38358C1A80000000" , pmovzxdq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38358C1A80000000" , pmovzxdq(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3833CA" , pmovzxwd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38338C1A80000000" , pmovzxwd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38338C1A80000000" , pmovzxwd(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3834CA" , pmovzxwq(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38348C1A80000000" , pmovzxwq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38348C1A80000000" , pmovzxwq(xmm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3828CA" , pmuldq(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38288C1A80000000" , pmuldq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38288C1A80000000" , pmuldq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F380BCA" , pmulhrsw(mm1, mm2));
+ TEST_INSTRUCTION("0F380B8C1A80000000" , pmulhrsw(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F380B8C1A80000000" , pmulhrsw(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F380BCA" , pmulhrsw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F380B8C1A80000000" , pmulhrsw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F380B8C1A80000000" , pmulhrsw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCAB7" , pmulhrw(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A80000000B7" , pmulhrw(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A80000000B7" , pmulhrw(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FE4CA" , pmulhuw(mm1, mm2));
+ TEST_INSTRUCTION("0FE48C1A80000000" , pmulhuw(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FE48C1A80000000" , pmulhuw(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FE4CA" , pmulhuw(xmm1, xmm2));
+ TEST_INSTRUCTION("660FE48C1A80000000" , pmulhuw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FE48C1A80000000" , pmulhuw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FE5CA" , pmulhw(mm1, mm2));
+ TEST_INSTRUCTION("0FE58C1A80000000" , pmulhw(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FE58C1A80000000" , pmulhw(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FE5CA" , pmulhw(xmm1, xmm2));
+ TEST_INSTRUCTION("660FE58C1A80000000" , pmulhw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FE58C1A80000000" , pmulhw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3840CA" , pmulld(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38408C1A80000000" , pmulld(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38408C1A80000000" , pmulld(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FD5CA" , pmullw(mm1, mm2));
+ TEST_INSTRUCTION("0FD58C1A80000000" , pmullw(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FD58C1A80000000" , pmullw(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FD5CA" , pmullw(xmm1, xmm2));
+ TEST_INSTRUCTION("660FD58C1A80000000" , pmullw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FD58C1A80000000" , pmullw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FF4CA" , pmuludq(mm1, mm2));
+ TEST_INSTRUCTION("0FF48C1A80000000" , pmuludq(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FF48C1A80000000" , pmuludq(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FF4CA" , pmuludq(xmm1, xmm2));
+ TEST_INSTRUCTION("660FF48C1A80000000" , pmuludq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FF48C1A80000000" , pmuludq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("6659" , pop(cx));
+ TEST_INSTRUCTION("59" , pop(rcx));
+ TEST_INSTRUCTION("668F841180000000" , pop(word_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("8F841180000000" , pop(qword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0FA1" , pop(fs));
+ TEST_INSTRUCTION("66F30FB8CA" , popcnt(cx, dx));
+ TEST_INSTRUCTION("66F30FB88C1A80000000" , popcnt(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("66F30FB88C1A80000000" , popcnt(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30FB8CA" , popcnt(ecx, edx));
+ TEST_INSTRUCTION("F30FB88C1A80000000" , popcnt(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30FB88C1A80000000" , popcnt(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F3480FB8CA" , popcnt(rcx, rdx));
+ TEST_INSTRUCTION("F3480FB88C1A80000000" , popcnt(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F3480FB88C1A80000000" , popcnt(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("669D" , popf());
+ TEST_INSTRUCTION("9D" , popfq());
+ TEST_INSTRUCTION("0FEBCA" , por(mm1, mm2));
+ TEST_INSTRUCTION("0FEB8C1A80000000" , por(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FEB8C1A80000000" , por(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FEBCA" , por(xmm1, xmm2));
+ TEST_INSTRUCTION("660FEB8C1A80000000" , por(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FEB8C1A80000000" , por(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0D841180000000" , prefetch(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F18841180000000" , prefetchnta(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F188C1180000000" , prefetcht0(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F18941180000000" , prefetcht1(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F189C1180000000" , prefetcht2(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F0D8C1180000000" , prefetchw(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F0D941180000000" , prefetchwt1(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0FF6CA" , psadbw(mm1, mm2));
+ TEST_INSTRUCTION("0FF68C1A80000000" , psadbw(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FF68C1A80000000" , psadbw(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FF6CA" , psadbw(xmm1, xmm2));
+ TEST_INSTRUCTION("660FF68C1A80000000" , psadbw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FF68C1A80000000" , psadbw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F3800CA" , pshufb(mm1, mm2));
+ TEST_INSTRUCTION("0F38008C1A80000000" , pshufb(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F38008C1A80000000" , pshufb(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3800CA" , pshufb(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38008C1A80000000" , pshufb(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38008C1A80000000" , pshufb(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F70CA01" , pshufd(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660F708C1A8000000001" , pshufd(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660F708C1A8000000001" , pshufd(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("F30F70CA01" , pshufhw(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("F30F708C1A8000000001" , pshufhw(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("F30F708C1A8000000001" , pshufhw(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("F20F70CA01" , pshuflw(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("F20F708C1A8000000001" , pshuflw(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("F20F708C1A8000000001" , pshuflw(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("0F70CA01" , pshufw(mm1, mm2, 1));
+ TEST_INSTRUCTION("0F708C1A8000000001" , pshufw(mm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("0F708C1A8000000001" , pshufw(mm1, qword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("0F3808CA" , psignb(mm1, mm2));
+ TEST_INSTRUCTION("0F38088C1A80000000" , psignb(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F38088C1A80000000" , psignb(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3808CA" , psignb(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38088C1A80000000" , psignb(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38088C1A80000000" , psignb(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F380ACA" , psignd(mm1, mm2));
+ TEST_INSTRUCTION("0F380A8C1A80000000" , psignd(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F380A8C1A80000000" , psignd(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F380ACA" , psignd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F380A8C1A80000000" , psignd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F380A8C1A80000000" , psignd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F3809CA" , psignw(mm1, mm2));
+ TEST_INSTRUCTION("0F38098C1A80000000" , psignw(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F38098C1A80000000" , psignw(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3809CA" , psignw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38098C1A80000000" , psignw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38098C1A80000000" , psignw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FF2CA" , pslld(mm1, mm2));
+ TEST_INSTRUCTION("0F72F101" , pslld(mm1, 1));
+ TEST_INSTRUCTION("0FF28C1A80000000" , pslld(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FF28C1A80000000" , pslld(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FF2CA" , pslld(xmm1, xmm2));
+ TEST_INSTRUCTION("660F72F101" , pslld(xmm1, 1));
+ TEST_INSTRUCTION("660FF28C1A80000000" , pslld(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FF28C1A80000000" , pslld(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F73F901" , pslldq(xmm1, 1));
+ TEST_INSTRUCTION("0FF3CA" , psllq(mm1, mm2));
+ TEST_INSTRUCTION("0F73F101" , psllq(mm1, 1));
+ TEST_INSTRUCTION("0FF38C1A80000000" , psllq(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FF38C1A80000000" , psllq(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FF3CA" , psllq(xmm1, xmm2));
+ TEST_INSTRUCTION("660F73F101" , psllq(xmm1, 1));
+ TEST_INSTRUCTION("660FF38C1A80000000" , psllq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FF38C1A80000000" , psllq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FF1CA" , psllw(mm1, mm2));
+ TEST_INSTRUCTION("0F71F101" , psllw(mm1, 1));
+ TEST_INSTRUCTION("0FF18C1A80000000" , psllw(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FF18C1A80000000" , psllw(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FF1CA" , psllw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F71F101" , psllw(xmm1, 1));
+ TEST_INSTRUCTION("660FF18C1A80000000" , psllw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FF18C1A80000000" , psllw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F01FF" , psmash());
+ TEST_INSTRUCTION("0FE2CA" , psrad(mm1, mm2));
+ TEST_INSTRUCTION("0F72E101" , psrad(mm1, 1));
+ TEST_INSTRUCTION("0FE28C1A80000000" , psrad(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FE28C1A80000000" , psrad(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FE2CA" , psrad(xmm1, xmm2));
+ TEST_INSTRUCTION("660F72E101" , psrad(xmm1, 1));
+ TEST_INSTRUCTION("660FE28C1A80000000" , psrad(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FE28C1A80000000" , psrad(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FE1CA" , psraw(mm1, mm2));
+ TEST_INSTRUCTION("0F71E101" , psraw(mm1, 1));
+ TEST_INSTRUCTION("0FE18C1A80000000" , psraw(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FE18C1A80000000" , psraw(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FE1CA" , psraw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F71E101" , psraw(xmm1, 1));
+ TEST_INSTRUCTION("660FE18C1A80000000" , psraw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FE18C1A80000000" , psraw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FD2CA" , psrld(mm1, mm2));
+ TEST_INSTRUCTION("0F72D101" , psrld(mm1, 1));
+ TEST_INSTRUCTION("0FD28C1A80000000" , psrld(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FD28C1A80000000" , psrld(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FD2CA" , psrld(xmm1, xmm2));
+ TEST_INSTRUCTION("660F72D101" , psrld(xmm1, 1));
+ TEST_INSTRUCTION("660FD28C1A80000000" , psrld(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FD28C1A80000000" , psrld(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F73D901" , psrldq(xmm1, 1));
+ TEST_INSTRUCTION("0FD3CA" , psrlq(mm1, mm2));
+ TEST_INSTRUCTION("0F73D101" , psrlq(mm1, 1));
+ TEST_INSTRUCTION("0FD38C1A80000000" , psrlq(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FD38C1A80000000" , psrlq(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FD3CA" , psrlq(xmm1, xmm2));
+ TEST_INSTRUCTION("660F73D101" , psrlq(xmm1, 1));
+ TEST_INSTRUCTION("660FD38C1A80000000" , psrlq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FD38C1A80000000" , psrlq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FD1CA" , psrlw(mm1, mm2));
+ TEST_INSTRUCTION("0F71D101" , psrlw(mm1, 1));
+ TEST_INSTRUCTION("0FD18C1A80000000" , psrlw(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FD18C1A80000000" , psrlw(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FD1CA" , psrlw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F71D101" , psrlw(xmm1, 1));
+ TEST_INSTRUCTION("660FD18C1A80000000" , psrlw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FD18C1A80000000" , psrlw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FF8CA" , psubb(mm1, mm2));
+ TEST_INSTRUCTION("0FF88C1A80000000" , psubb(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FF88C1A80000000" , psubb(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FF8CA" , psubb(xmm1, xmm2));
+ TEST_INSTRUCTION("660FF88C1A80000000" , psubb(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FF88C1A80000000" , psubb(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FFACA" , psubd(mm1, mm2));
+ TEST_INSTRUCTION("0FFA8C1A80000000" , psubd(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FFA8C1A80000000" , psubd(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FFACA" , psubd(xmm1, xmm2));
+ TEST_INSTRUCTION("660FFA8C1A80000000" , psubd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FFA8C1A80000000" , psubd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FFBCA" , psubq(mm1, mm2));
+ TEST_INSTRUCTION("0FFB8C1A80000000" , psubq(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FFB8C1A80000000" , psubq(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FFBCA" , psubq(xmm1, xmm2));
+ TEST_INSTRUCTION("660FFB8C1A80000000" , psubq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FFB8C1A80000000" , psubq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FE8CA" , psubsb(mm1, mm2));
+ TEST_INSTRUCTION("0FE88C1A80000000" , psubsb(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FE88C1A80000000" , psubsb(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FE8CA" , psubsb(xmm1, xmm2));
+ TEST_INSTRUCTION("660FE88C1A80000000" , psubsb(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FE88C1A80000000" , psubsb(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FE9CA" , psubsw(mm1, mm2));
+ TEST_INSTRUCTION("0FE98C1A80000000" , psubsw(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FE98C1A80000000" , psubsw(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FE9CA" , psubsw(xmm1, xmm2));
+ TEST_INSTRUCTION("660FE98C1A80000000" , psubsw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FE98C1A80000000" , psubsw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FD8CA" , psubusb(mm1, mm2));
+ TEST_INSTRUCTION("0FD88C1A80000000" , psubusb(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FD88C1A80000000" , psubusb(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FD8CA" , psubusb(xmm1, xmm2));
+ TEST_INSTRUCTION("660FD88C1A80000000" , psubusb(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FD88C1A80000000" , psubusb(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FD9CA" , psubusw(mm1, mm2));
+ TEST_INSTRUCTION("0FD98C1A80000000" , psubusw(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FD98C1A80000000" , psubusw(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FD9CA" , psubusw(xmm1, xmm2));
+ TEST_INSTRUCTION("660FD98C1A80000000" , psubusw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FD98C1A80000000" , psubusw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FF9CA" , psubw(mm1, mm2));
+ TEST_INSTRUCTION("0FF98C1A80000000" , psubw(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FF98C1A80000000" , psubw(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FF9CA" , psubw(xmm1, xmm2));
+ TEST_INSTRUCTION("660FF98C1A80000000" , psubw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FF98C1A80000000" , psubw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0FCABB" , pswapd(mm1, mm2));
+ TEST_INSTRUCTION("0F0F8C1A80000000BB" , pswapd(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0F8C1A80000000BB" , pswapd(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F3817CA" , ptest(xmm1, xmm2));
+ TEST_INSTRUCTION("660F38178C1A80000000" , ptest(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F38178C1A80000000" , ptest(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30FAEE1" , ptwrite(ecx));
+ TEST_INSTRUCTION("F3480FAEE1" , ptwrite(rcx));
+ TEST_INSTRUCTION("F30FAEA41180000000" , ptwrite(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("F30FAEA41180000000" , ptwrite(dword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("F3480FAEA41180000000" , ptwrite(qword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F68CA" , punpckhbw(mm1, mm2));
+ TEST_INSTRUCTION("0F688C1A80000000" , punpckhbw(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F688C1A80000000" , punpckhbw(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F68CA" , punpckhbw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F688C1A80000000" , punpckhbw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F688C1A80000000" , punpckhbw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F6ACA" , punpckhdq(mm1, mm2));
+ TEST_INSTRUCTION("0F6A8C1A80000000" , punpckhdq(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F6A8C1A80000000" , punpckhdq(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F6ACA" , punpckhdq(xmm1, xmm2));
+ TEST_INSTRUCTION("660F6A8C1A80000000" , punpckhdq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F6A8C1A80000000" , punpckhdq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F6DCA" , punpckhqdq(xmm1, xmm2));
+ TEST_INSTRUCTION("660F6D8C1A80000000" , punpckhqdq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F6D8C1A80000000" , punpckhqdq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F69CA" , punpckhwd(mm1, mm2));
+ TEST_INSTRUCTION("0F698C1A80000000" , punpckhwd(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F698C1A80000000" , punpckhwd(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F69CA" , punpckhwd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F698C1A80000000" , punpckhwd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F698C1A80000000" , punpckhwd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F60CA" , punpcklbw(mm1, mm2));
+ TEST_INSTRUCTION("0F608C1A80000000" , punpcklbw(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F608C1A80000000" , punpcklbw(mm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F60CA" , punpcklbw(xmm1, xmm2));
+ TEST_INSTRUCTION("660F608C1A80000000" , punpcklbw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F608C1A80000000" , punpcklbw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F62CA" , punpckldq(mm1, mm2));
+ TEST_INSTRUCTION("0F628C1A80000000" , punpckldq(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F628C1A80000000" , punpckldq(mm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F62CA" , punpckldq(xmm1, xmm2));
+ TEST_INSTRUCTION("660F628C1A80000000" , punpckldq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F628C1A80000000" , punpckldq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F6CCA" , punpcklqdq(xmm1, xmm2));
+ TEST_INSTRUCTION("660F6C8C1A80000000" , punpcklqdq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F6C8C1A80000000" , punpcklqdq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F61CA" , punpcklwd(mm1, mm2));
+ TEST_INSTRUCTION("0F618C1A80000000" , punpcklwd(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F618C1A80000000" , punpcklwd(mm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F61CA" , punpcklwd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F618C1A80000000" , punpcklwd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F618C1A80000000" , punpcklwd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("6651" , push(cx));
+ TEST_INSTRUCTION("51" , push(rcx));
+ TEST_INSTRUCTION("6A01" , push(1));
+ TEST_INSTRUCTION("66FFB41180000000" , push(word_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("FFB41180000000" , push(qword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0FA0" , push(fs));
+ TEST_INSTRUCTION("669C" , pushf());
+ TEST_INSTRUCTION("9C" , pushfq());
+ TEST_INSTRUCTION("F20F01FF" , pvalidate());
+ TEST_INSTRUCTION("0FEFCA" , pxor(mm1, mm2));
+ TEST_INSTRUCTION("0FEF8C1A80000000" , pxor(mm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FEF8C1A80000000" , pxor(mm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FEFCA" , pxor(xmm1, xmm2));
+ TEST_INSTRUCTION("660FEF8C1A80000000" , pxor(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660FEF8C1A80000000" , pxor(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("D2D1" , rcl(cl, cl));
+ TEST_INSTRUCTION("D0D1" , rcl(cl, 1));
+ TEST_INSTRUCTION("D2D5" , rcl(ch, cl));
+ TEST_INSTRUCTION("D0D5" , rcl(ch, 1));
+ TEST_INSTRUCTION("66D3D1" , rcl(cx, cl));
+ TEST_INSTRUCTION("66D1D1" , rcl(cx, 1));
+ TEST_INSTRUCTION("D3D1" , rcl(ecx, cl));
+ TEST_INSTRUCTION("D1D1" , rcl(ecx, 1));
+ TEST_INSTRUCTION("48D3D1" , rcl(rcx, cl));
+ TEST_INSTRUCTION("48D1D1" , rcl(rcx, 1));
+ TEST_INSTRUCTION("D2941180000000" , rcl(byte_ptr(rcx, rdx, 0, 128), cl));
+ TEST_INSTRUCTION("D0941180000000" , rcl(byte_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("66D3941180000000" , rcl(word_ptr(rcx, rdx, 0, 128), cl));
+ TEST_INSTRUCTION("66D1941180000000" , rcl(word_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("D3941180000000" , rcl(dword_ptr(rcx, rdx, 0, 128), cl));
+ TEST_INSTRUCTION("D1941180000000" , rcl(dword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("48D3941180000000" , rcl(qword_ptr(rcx, rdx, 0, 128), cl));
+ TEST_INSTRUCTION("48D1941180000000" , rcl(qword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("0F53CA" , rcpps(xmm1, xmm2));
+ TEST_INSTRUCTION("0F538C1A80000000" , rcpps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F538C1A80000000" , rcpps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F53CA" , rcpss(xmm1, xmm2));
+ TEST_INSTRUCTION("F30F538C1A80000000" , rcpss(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F538C1A80000000" , rcpss(xmm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("D2D9" , rcr(cl, cl));
+ TEST_INSTRUCTION("D0D9" , rcr(cl, 1));
+ TEST_INSTRUCTION("D2DD" , rcr(ch, cl));
+ TEST_INSTRUCTION("D0DD" , rcr(ch, 1));
+ TEST_INSTRUCTION("66D3D9" , rcr(cx, cl));
+ TEST_INSTRUCTION("66D1D9" , rcr(cx, 1));
+ TEST_INSTRUCTION("D3D9" , rcr(ecx, cl));
+ TEST_INSTRUCTION("D1D9" , rcr(ecx, 1));
+ TEST_INSTRUCTION("48D3D9" , rcr(rcx, cl));
+ TEST_INSTRUCTION("48D1D9" , rcr(rcx, 1));
+ TEST_INSTRUCTION("D29C1180000000" , rcr(byte_ptr(rcx, rdx, 0, 128), cl));
+ TEST_INSTRUCTION("D09C1180000000" , rcr(byte_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("66D39C1180000000" , rcr(word_ptr(rcx, rdx, 0, 128), cl));
+ TEST_INSTRUCTION("66D19C1180000000" , rcr(word_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("D39C1180000000" , rcr(dword_ptr(rcx, rdx, 0, 128), cl));
+ TEST_INSTRUCTION("D19C1180000000" , rcr(dword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("48D39C1180000000" , rcr(qword_ptr(rcx, rdx, 0, 128), cl));
+ TEST_INSTRUCTION("48D19C1180000000" , rcr(qword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("F30FAEC1" , rdfsbase(ecx));
+ TEST_INSTRUCTION("F3480FAEC1" , rdfsbase(rcx));
+ TEST_INSTRUCTION("F30FAEC9" , rdgsbase(ecx));
+ TEST_INSTRUCTION("F3480FAEC9" , rdgsbase(rcx));
+ TEST_INSTRUCTION("0F32" , rdmsr(edx, eax, ecx));
+ TEST_INSTRUCTION("F30FC7F9" , rdpid(rcx));
+ TEST_INSTRUCTION("0F01EE" , rdpkru(edx, eax, ecx));
+ TEST_INSTRUCTION("0F33" , rdpmc(edx, eax, ecx));
+ TEST_INSTRUCTION("0F01FD" , rdpru(edx, eax, ecx));
+ TEST_INSTRUCTION("660FC7F1" , rdrand(cx));
+ TEST_INSTRUCTION("0FC7F1" , rdrand(ecx));
+ TEST_INSTRUCTION("480FC7F1" , rdrand(rcx));
+ TEST_INSTRUCTION("660FC7F9" , rdseed(cx));
+ TEST_INSTRUCTION("0FC7F9" , rdseed(ecx));
+ TEST_INSTRUCTION("480FC7F9" , rdseed(rcx));
+ TEST_INSTRUCTION("F30F1EC9" , rdsspd(ecx));
+ TEST_INSTRUCTION("F3480F1EC9" , rdsspq(rcx));
+ TEST_INSTRUCTION("0F31" , rdtsc(edx, eax));
+ TEST_INSTRUCTION("0F01F9" , rdtscp(edx, eax, ecx));
+ TEST_INSTRUCTION("C3" , ret());
+ TEST_INSTRUCTION("C20100" , ret(1));
+ TEST_INSTRUCTION("CB" , retf());
+ TEST_INSTRUCTION("CA0100" , retf(1));
+ TEST_INSTRUCTION("F30F01FE" , rmpadjust());
+ TEST_INSTRUCTION("F20F01FE" , rmpupdate());
+ TEST_INSTRUCTION("D2C1" , rol(cl, cl));
+ TEST_INSTRUCTION("D0C1" , rol(cl, 1));
+ TEST_INSTRUCTION("D2C5" , rol(ch, cl));
+ TEST_INSTRUCTION("D0C5" , rol(ch, 1));
+ TEST_INSTRUCTION("66D3C1" , rol(cx, cl));
+ TEST_INSTRUCTION("66D1C1" , rol(cx, 1));
+ TEST_INSTRUCTION("D3C1" , rol(ecx, cl));
+ TEST_INSTRUCTION("D1C1" , rol(ecx, 1));
+ TEST_INSTRUCTION("48D3C1" , rol(rcx, cl));
+ TEST_INSTRUCTION("48D1C1" , rol(rcx, 1));
+ TEST_INSTRUCTION("D2841180000000" , rol(byte_ptr(rcx, rdx, 0, 128), cl));
+ TEST_INSTRUCTION("D0841180000000" , rol(byte_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("66D3841180000000" , rol(word_ptr(rcx, rdx, 0, 128), cl));
+ TEST_INSTRUCTION("66D1841180000000" , rol(word_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("D3841180000000" , rol(dword_ptr(rcx, rdx, 0, 128), cl));
+ TEST_INSTRUCTION("D1841180000000" , rol(dword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("48D3841180000000" , rol(qword_ptr(rcx, rdx, 0, 128), cl));
+ TEST_INSTRUCTION("48D1841180000000" , rol(qword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("D2C9" , ror(cl, cl));
+ TEST_INSTRUCTION("D0C9" , ror(cl, 1));
+ TEST_INSTRUCTION("D2CD" , ror(ch, cl));
+ TEST_INSTRUCTION("D0CD" , ror(ch, 1));
+ TEST_INSTRUCTION("66D3C9" , ror(cx, cl));
+ TEST_INSTRUCTION("66D1C9" , ror(cx, 1));
+ TEST_INSTRUCTION("D3C9" , ror(ecx, cl));
+ TEST_INSTRUCTION("D1C9" , ror(ecx, 1));
+ TEST_INSTRUCTION("48D3C9" , ror(rcx, cl));
+ TEST_INSTRUCTION("48D1C9" , ror(rcx, 1));
+ TEST_INSTRUCTION("D28C1180000000" , ror(byte_ptr(rcx, rdx, 0, 128), cl));
+ TEST_INSTRUCTION("D08C1180000000" , ror(byte_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("66D38C1180000000" , ror(word_ptr(rcx, rdx, 0, 128), cl));
+ TEST_INSTRUCTION("66D18C1180000000" , ror(word_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("D38C1180000000" , ror(dword_ptr(rcx, rdx, 0, 128), cl));
+ TEST_INSTRUCTION("D18C1180000000" , ror(dword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("48D38C1180000000" , ror(qword_ptr(rcx, rdx, 0, 128), cl));
+ TEST_INSTRUCTION("48D18C1180000000" , ror(qword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E37BF0CA01" , rorx(ecx, edx, 1));
+ TEST_INSTRUCTION("C4E37BF08C1A8000000001" , rorx(ecx, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E37BF08C1A8000000001" , rorx(ecx, dword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3FBF0CA01" , rorx(rcx, rdx, 1));
+ TEST_INSTRUCTION("C4E3FBF08C1A8000000001" , rorx(rcx, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3FBF08C1A8000000001" , rorx(rcx, qword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A09CA01" , roundpd(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660F3A098C1A8000000001" , roundpd(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A098C1A8000000001" , roundpd(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A08CA01" , roundps(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660F3A088C1A8000000001" , roundps(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A088C1A8000000001" , roundps(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A0BCA01" , roundsd(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660F3A0B8C1A8000000001" , roundsd(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A0B8C1A8000000001" , roundsd(xmm1, qword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A0ACA01" , roundss(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660F3A0A8C1A8000000001" , roundss(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660F3A0A8C1A8000000001" , roundss(xmm1, dword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("0F52CA" , rsqrtps(xmm1, xmm2));
+ TEST_INSTRUCTION("0F528C1A80000000" , rsqrtps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F528C1A80000000" , rsqrtps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F52CA" , rsqrtss(xmm1, xmm2));
+ TEST_INSTRUCTION("F30F528C1A80000000" , rsqrtss(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F528C1A80000000" , rsqrtss(xmm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F01AC1180000000" , rstorssp(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("F30F01AC1180000000" , rstorssp(qword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("9E" , sahf(ah));
+ TEST_INSTRUCTION("D2E1" , sal(cl, cl));
+ TEST_INSTRUCTION("D0E1" , sal(cl, 1));
+ TEST_INSTRUCTION("D2E5" , sal(ch, cl));
+ TEST_INSTRUCTION("D0E5" , sal(ch, 1));
+ TEST_INSTRUCTION("66D3E1" , sal(cx, cl));
+ TEST_INSTRUCTION("66D1E1" , sal(cx, 1));
+ TEST_INSTRUCTION("D3E1" , sal(ecx, cl));
+ TEST_INSTRUCTION("D1E1" , sal(ecx, 1));
+ TEST_INSTRUCTION("48D3E1" , sal(rcx, cl));
+ TEST_INSTRUCTION("48D1E1" , sal(rcx, 1));
+ TEST_INSTRUCTION("D2A41180000000" , sal(byte_ptr(rcx, rdx, 0, 128), cl));
+ TEST_INSTRUCTION("D0A41180000000" , sal(byte_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("66D3A41180000000" , sal(word_ptr(rcx, rdx, 0, 128), cl));
+ TEST_INSTRUCTION("66D1A41180000000" , sal(word_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("D3A41180000000" , sal(dword_ptr(rcx, rdx, 0, 128), cl));
+ TEST_INSTRUCTION("D1A41180000000" , sal(dword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("48D3A41180000000" , sal(qword_ptr(rcx, rdx, 0, 128), cl));
+ TEST_INSTRUCTION("48D1A41180000000" , sal(qword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("D2F9" , sar(cl, cl));
+ TEST_INSTRUCTION("D0F9" , sar(cl, 1));
+ TEST_INSTRUCTION("D2FD" , sar(ch, cl));
+ TEST_INSTRUCTION("D0FD" , sar(ch, 1));
+ TEST_INSTRUCTION("66D3F9" , sar(cx, cl));
+ TEST_INSTRUCTION("66D1F9" , sar(cx, 1));
+ TEST_INSTRUCTION("D3F9" , sar(ecx, cl));
+ TEST_INSTRUCTION("D1F9" , sar(ecx, 1));
+ TEST_INSTRUCTION("48D3F9" , sar(rcx, cl));
+ TEST_INSTRUCTION("48D1F9" , sar(rcx, 1));
+ TEST_INSTRUCTION("D2BC1180000000" , sar(byte_ptr(rcx, rdx, 0, 128), cl));
+ TEST_INSTRUCTION("D0BC1180000000" , sar(byte_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("66D3BC1180000000" , sar(word_ptr(rcx, rdx, 0, 128), cl));
+ TEST_INSTRUCTION("66D1BC1180000000" , sar(word_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("D3BC1180000000" , sar(dword_ptr(rcx, rdx, 0, 128), cl));
+ TEST_INSTRUCTION("D1BC1180000000" , sar(dword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("48D3BC1180000000" , sar(qword_ptr(rcx, rdx, 0, 128), cl));
+ TEST_INSTRUCTION("48D1BC1180000000" , sar(qword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E262F7CA" , sarx(ecx, edx, ebx));
+ TEST_INSTRUCTION("C4E25AF78C1A80000000" , sarx(ecx, ptr(rdx, rbx, 0, 128), esp));
+ TEST_INSTRUCTION("C4E25AF78C1A80000000" , sarx(ecx, dword_ptr(rdx, rbx, 0, 128), esp));
+ TEST_INSTRUCTION("C4E2E2F7CA" , sarx(rcx, rdx, rbx));
+ TEST_INSTRUCTION("C4E2DAF78C1A80000000" , sarx(rcx, ptr(rdx, rbx, 0, 128), rsp));
+ TEST_INSTRUCTION("C4E2DAF78C1A80000000" , sarx(rcx, qword_ptr(rdx, rbx, 0, 128), rsp));
+ TEST_INSTRUCTION("F30F01EA" , saveprevssp());
+ TEST_INSTRUCTION("80D901" , sbb(cl, 1));
+ TEST_INSTRUCTION("80DD01" , sbb(ch, 1));
+ TEST_INSTRUCTION("809C118000000001" , sbb(byte_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("6683D901" , sbb(cx, 1));
+ TEST_INSTRUCTION("66839C118000000001" , sbb(word_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("83D901" , sbb(ecx, 1));
+ TEST_INSTRUCTION("839C118000000001" , sbb(dword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("4819D1" , sbb(rcx, rdx));
+ TEST_INSTRUCTION("4883D901" , sbb(rcx, 1));
+ TEST_INSTRUCTION("48199C1180000000" , sbb(ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("48199C1180000000" , sbb(qword_ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("48839C118000000001" , sbb(qword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("18D1" , sbb(cl, dl));
+ TEST_INSTRUCTION("18F1" , sbb(cl, dh));
+ TEST_INSTRUCTION("18D5" , sbb(ch, dl));
+ TEST_INSTRUCTION("18F5" , sbb(ch, dh));
+ TEST_INSTRUCTION("189C1180000000" , sbb(ptr(rcx, rdx, 0, 128), bl));
+ TEST_INSTRUCTION("18BC1180000000" , sbb(ptr(rcx, rdx, 0, 128), bh));
+ TEST_INSTRUCTION("189C1180000000" , sbb(byte_ptr(rcx, rdx, 0, 128), bl));
+ TEST_INSTRUCTION("18BC1180000000" , sbb(byte_ptr(rcx, rdx, 0, 128), bh));
+ TEST_INSTRUCTION("6619D1" , sbb(cx, dx));
+ TEST_INSTRUCTION("66199C1180000000" , sbb(ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("66199C1180000000" , sbb(word_ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("19D1" , sbb(ecx, edx));
+ TEST_INSTRUCTION("199C1180000000" , sbb(ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("199C1180000000" , sbb(dword_ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("1A8C1A80000000" , sbb(cl, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("1A8C1A80000000" , sbb(cl, byte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("1AAC1A80000000" , sbb(ch, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("1AAC1A80000000" , sbb(ch, byte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("661B8C1A80000000" , sbb(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("661B8C1A80000000" , sbb(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("1B8C1A80000000" , sbb(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("1B8C1A80000000" , sbb(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("481B8C1A80000000" , sbb(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("481B8C1A80000000" , sbb(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("AE" , scas(al, ptr(rdi)));
+ TEST_INSTRUCTION("AE" , scas(al, byte_ptr(rdi)));
+ TEST_INSTRUCTION("66AF" , scas(ax, ptr(rdi)));
+ TEST_INSTRUCTION("66AF" , scas(ax, word_ptr(rdi)));
+ TEST_INSTRUCTION("AF" , scas(eax, ptr(rdi)));
+ TEST_INSTRUCTION("AF" , scas(eax, dword_ptr(rdi)));
+ TEST_INSTRUCTION("48AF" , scas(rax, ptr(rdi)));
+ TEST_INSTRUCTION("48AF" , scas(rax, qword_ptr(rdi)));
+ TEST_INSTRUCTION("F30FC7F1" , senduipi(rcx));
+ TEST_INSTRUCTION("0F01E8" , serialize());
+ TEST_INSTRUCTION("0F97C1" , seta(cl));
+ TEST_INSTRUCTION("0F97C5" , seta(ch));
+ TEST_INSTRUCTION("0F97841180000000" , seta(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F97841180000000" , seta(byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F93C1" , setae(cl));
+ TEST_INSTRUCTION("0F93C5" , setae(ch));
+ TEST_INSTRUCTION("0F93841180000000" , setae(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F93841180000000" , setae(byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F92C1" , setb(cl));
+ TEST_INSTRUCTION("0F92C5" , setb(ch));
+ TEST_INSTRUCTION("0F92841180000000" , setb(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F92841180000000" , setb(byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F96C1" , setbe(cl));
+ TEST_INSTRUCTION("0F96C5" , setbe(ch));
+ TEST_INSTRUCTION("0F96841180000000" , setbe(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F96841180000000" , setbe(byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F92C1" , setc(cl));
+ TEST_INSTRUCTION("0F92C5" , setc(ch));
+ TEST_INSTRUCTION("0F92841180000000" , setc(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F92841180000000" , setc(byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F94C1" , sete(cl));
+ TEST_INSTRUCTION("0F94C5" , sete(ch));
+ TEST_INSTRUCTION("0F94841180000000" , sete(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F94841180000000" , sete(byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F9FC1" , setg(cl));
+ TEST_INSTRUCTION("0F9FC5" , setg(ch));
+ TEST_INSTRUCTION("0F9F841180000000" , setg(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F9F841180000000" , setg(byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F9DC1" , setge(cl));
+ TEST_INSTRUCTION("0F9DC5" , setge(ch));
+ TEST_INSTRUCTION("0F9D841180000000" , setge(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F9D841180000000" , setge(byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F9CC1" , setl(cl));
+ TEST_INSTRUCTION("0F9CC5" , setl(ch));
+ TEST_INSTRUCTION("0F9C841180000000" , setl(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F9C841180000000" , setl(byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F9EC1" , setle(cl));
+ TEST_INSTRUCTION("0F9EC5" , setle(ch));
+ TEST_INSTRUCTION("0F9E841180000000" , setle(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F9E841180000000" , setle(byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F96C1" , setna(cl));
+ TEST_INSTRUCTION("0F96C5" , setna(ch));
+ TEST_INSTRUCTION("0F96841180000000" , setna(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F96841180000000" , setna(byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F92C1" , setnae(cl));
+ TEST_INSTRUCTION("0F92C5" , setnae(ch));
+ TEST_INSTRUCTION("0F92841180000000" , setnae(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F92841180000000" , setnae(byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F93C1" , setnb(cl));
+ TEST_INSTRUCTION("0F93C5" , setnb(ch));
+ TEST_INSTRUCTION("0F93841180000000" , setnb(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F93841180000000" , setnb(byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F97C1" , setnbe(cl));
+ TEST_INSTRUCTION("0F97C5" , setnbe(ch));
+ TEST_INSTRUCTION("0F97841180000000" , setnbe(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F97841180000000" , setnbe(byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F93C1" , setnc(cl));
+ TEST_INSTRUCTION("0F93C5" , setnc(ch));
+ TEST_INSTRUCTION("0F93841180000000" , setnc(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F93841180000000" , setnc(byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F95C1" , setne(cl));
+ TEST_INSTRUCTION("0F95C5" , setne(ch));
+ TEST_INSTRUCTION("0F95841180000000" , setne(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F95841180000000" , setne(byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F9EC1" , setng(cl));
+ TEST_INSTRUCTION("0F9EC5" , setng(ch));
+ TEST_INSTRUCTION("0F9E841180000000" , setng(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F9E841180000000" , setng(byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F9CC1" , setnge(cl));
+ TEST_INSTRUCTION("0F9CC5" , setnge(ch));
+ TEST_INSTRUCTION("0F9C841180000000" , setnge(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F9C841180000000" , setnge(byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F9DC1" , setnl(cl));
+ TEST_INSTRUCTION("0F9DC5" , setnl(ch));
+ TEST_INSTRUCTION("0F9D841180000000" , setnl(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F9D841180000000" , setnl(byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F9FC1" , setnle(cl));
+ TEST_INSTRUCTION("0F9FC5" , setnle(ch));
+ TEST_INSTRUCTION("0F9F841180000000" , setnle(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F9F841180000000" , setnle(byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F91C1" , setno(cl));
+ TEST_INSTRUCTION("0F91C5" , setno(ch));
+ TEST_INSTRUCTION("0F91841180000000" , setno(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F91841180000000" , setno(byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F9BC1" , setnp(cl));
+ TEST_INSTRUCTION("0F9BC5" , setnp(ch));
+ TEST_INSTRUCTION("0F9B841180000000" , setnp(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F9B841180000000" , setnp(byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F99C1" , setns(cl));
+ TEST_INSTRUCTION("0F99C5" , setns(ch));
+ TEST_INSTRUCTION("0F99841180000000" , setns(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F99841180000000" , setns(byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F95C1" , setnz(cl));
+ TEST_INSTRUCTION("0F95C5" , setnz(ch));
+ TEST_INSTRUCTION("0F95841180000000" , setnz(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F95841180000000" , setnz(byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F90C1" , seto(cl));
+ TEST_INSTRUCTION("0F90C5" , seto(ch));
+ TEST_INSTRUCTION("0F90841180000000" , seto(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F90841180000000" , seto(byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F9AC1" , setp(cl));
+ TEST_INSTRUCTION("0F9AC5" , setp(ch));
+ TEST_INSTRUCTION("0F9A841180000000" , setp(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F9A841180000000" , setp(byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F9AC1" , setpe(cl));
+ TEST_INSTRUCTION("0F9AC5" , setpe(ch));
+ TEST_INSTRUCTION("0F9A841180000000" , setpe(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F9A841180000000" , setpe(byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F9BC1" , setpo(cl));
+ TEST_INSTRUCTION("0F9BC5" , setpo(ch));
+ TEST_INSTRUCTION("0F9B841180000000" , setpo(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F9B841180000000" , setpo(byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F98C1" , sets(cl));
+ TEST_INSTRUCTION("0F98C5" , sets(ch));
+ TEST_INSTRUCTION("0F98841180000000" , sets(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F98841180000000" , sets(byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("F30F01E8" , setssbsy());
+ TEST_INSTRUCTION("0F94C1" , setz(cl));
+ TEST_INSTRUCTION("0F94C5" , setz(ch));
+ TEST_INSTRUCTION("0F94841180000000" , setz(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F94841180000000" , setz(byte_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0FAEF8" , sfence());
+ TEST_INSTRUCTION("0F01841180000000" , sgdt(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F38C9CA" , sha1msg1(xmm1, xmm2));
+ TEST_INSTRUCTION("0F38C98C1A80000000" , sha1msg1(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F38C98C1A80000000" , sha1msg1(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F38CACA" , sha1msg2(xmm1, xmm2));
+ TEST_INSTRUCTION("0F38CA8C1A80000000" , sha1msg2(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F38CA8C1A80000000" , sha1msg2(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F38C8CA" , sha1nexte(xmm1, xmm2));
+ TEST_INSTRUCTION("0F38C88C1A80000000" , sha1nexte(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F38C88C1A80000000" , sha1nexte(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F3ACCCA01" , sha1rnds4(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("0F3ACC8C1A8000000001" , sha1rnds4(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("0F3ACC8C1A8000000001" , sha1rnds4(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("0F38CCCA" , sha256msg1(xmm1, xmm2));
+ TEST_INSTRUCTION("0F38CC8C1A80000000" , sha256msg1(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F38CC8C1A80000000" , sha256msg1(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F38CDCA" , sha256msg2(xmm1, xmm2));
+ TEST_INSTRUCTION("0F38CD8C1A80000000" , sha256msg2(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F38CD8C1A80000000" , sha256msg2(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F38CBCA" , sha256rnds2(xmm1, xmm2, xmm0));
+ TEST_INSTRUCTION("0F38CB8C1A80000000" , sha256rnds2(xmm1, ptr(rdx, rbx, 0, 128), xmm0));
+ TEST_INSTRUCTION("0F38CB8C1A80000000" , sha256rnds2(xmm1, xmmword_ptr(rdx, rbx, 0, 128), xmm0));
+ TEST_INSTRUCTION("D2E1" , shl(cl, cl));
+ TEST_INSTRUCTION("D0E1" , shl(cl, 1));
+ TEST_INSTRUCTION("D2E5" , shl(ch, cl));
+ TEST_INSTRUCTION("D0E5" , shl(ch, 1));
+ TEST_INSTRUCTION("66D3E1" , shl(cx, cl));
+ TEST_INSTRUCTION("66D1E1" , shl(cx, 1));
+ TEST_INSTRUCTION("D3E1" , shl(ecx, cl));
+ TEST_INSTRUCTION("D1E1" , shl(ecx, 1));
+ TEST_INSTRUCTION("48D3E1" , shl(rcx, cl));
+ TEST_INSTRUCTION("48D1E1" , shl(rcx, 1));
+ TEST_INSTRUCTION("D2A41180000000" , shl(byte_ptr(rcx, rdx, 0, 128), cl));
+ TEST_INSTRUCTION("D0A41180000000" , shl(byte_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("66D3A41180000000" , shl(word_ptr(rcx, rdx, 0, 128), cl));
+ TEST_INSTRUCTION("66D1A41180000000" , shl(word_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("D3A41180000000" , shl(dword_ptr(rcx, rdx, 0, 128), cl));
+ TEST_INSTRUCTION("D1A41180000000" , shl(dword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("48D3A41180000000" , shl(qword_ptr(rcx, rdx, 0, 128), cl));
+ TEST_INSTRUCTION("48D1A41180000000" , shl(qword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("660FA5D1" , shld(cx, dx, cl));
+ TEST_INSTRUCTION("660FA4D101" , shld(cx, dx, 1));
+ TEST_INSTRUCTION("660FA59C1180000000" , shld(ptr(rcx, rdx, 0, 128), bx, cl));
+ TEST_INSTRUCTION("660FA49C118000000001" , shld(ptr(rcx, rdx, 0, 128), bx, 1));
+ TEST_INSTRUCTION("660FA59C1180000000" , shld(word_ptr(rcx, rdx, 0, 128), bx, cl));
+ TEST_INSTRUCTION("660FA49C118000000001" , shld(word_ptr(rcx, rdx, 0, 128), bx, 1));
+ TEST_INSTRUCTION("0FA5D1" , shld(ecx, edx, cl));
+ TEST_INSTRUCTION("0FA4D101" , shld(ecx, edx, 1));
+ TEST_INSTRUCTION("0FA59C1180000000" , shld(ptr(rcx, rdx, 0, 128), ebx, cl));
+ TEST_INSTRUCTION("0FA49C118000000001" , shld(ptr(rcx, rdx, 0, 128), ebx, 1));
+ TEST_INSTRUCTION("0FA59C1180000000" , shld(dword_ptr(rcx, rdx, 0, 128), ebx, cl));
+ TEST_INSTRUCTION("0FA49C118000000001" , shld(dword_ptr(rcx, rdx, 0, 128), ebx, 1));
+ TEST_INSTRUCTION("480FA5D1" , shld(rcx, rdx, cl));
+ TEST_INSTRUCTION("480FA4D101" , shld(rcx, rdx, 1));
+ TEST_INSTRUCTION("480FA59C1180000000" , shld(ptr(rcx, rdx, 0, 128), rbx, cl));
+ TEST_INSTRUCTION("480FA49C118000000001" , shld(ptr(rcx, rdx, 0, 128), rbx, 1));
+ TEST_INSTRUCTION("480FA59C1180000000" , shld(qword_ptr(rcx, rdx, 0, 128), rbx, cl));
+ TEST_INSTRUCTION("480FA49C118000000001" , shld(qword_ptr(rcx, rdx, 0, 128), rbx, 1));
+ TEST_INSTRUCTION("C4E261F7CA" , shlx(ecx, edx, ebx));
+ TEST_INSTRUCTION("C4E259F78C1A80000000" , shlx(ecx, ptr(rdx, rbx, 0, 128), esp));
+ TEST_INSTRUCTION("C4E259F78C1A80000000" , shlx(ecx, dword_ptr(rdx, rbx, 0, 128), esp));
+ TEST_INSTRUCTION("C4E2E1F7CA" , shlx(rcx, rdx, rbx));
+ TEST_INSTRUCTION("C4E2D9F78C1A80000000" , shlx(rcx, ptr(rdx, rbx, 0, 128), rsp));
+ TEST_INSTRUCTION("C4E2D9F78C1A80000000" , shlx(rcx, qword_ptr(rdx, rbx, 0, 128), rsp));
+ TEST_INSTRUCTION("D2E9" , shr(cl, cl));
+ TEST_INSTRUCTION("D0E9" , shr(cl, 1));
+ TEST_INSTRUCTION("D2ED" , shr(ch, cl));
+ TEST_INSTRUCTION("D0ED" , shr(ch, 1));
+ TEST_INSTRUCTION("66D3E9" , shr(cx, cl));
+ TEST_INSTRUCTION("66D1E9" , shr(cx, 1));
+ TEST_INSTRUCTION("D3E9" , shr(ecx, cl));
+ TEST_INSTRUCTION("D1E9" , shr(ecx, 1));
+ TEST_INSTRUCTION("48D3E9" , shr(rcx, cl));
+ TEST_INSTRUCTION("48D1E9" , shr(rcx, 1));
+ TEST_INSTRUCTION("D2AC1180000000" , shr(byte_ptr(rcx, rdx, 0, 128), cl));
+ TEST_INSTRUCTION("D0AC1180000000" , shr(byte_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("66D3AC1180000000" , shr(word_ptr(rcx, rdx, 0, 128), cl));
+ TEST_INSTRUCTION("66D1AC1180000000" , shr(word_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("D3AC1180000000" , shr(dword_ptr(rcx, rdx, 0, 128), cl));
+ TEST_INSTRUCTION("D1AC1180000000" , shr(dword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("48D3AC1180000000" , shr(qword_ptr(rcx, rdx, 0, 128), cl));
+ TEST_INSTRUCTION("48D1AC1180000000" , shr(qword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("660FADD1" , shrd(cx, dx, cl));
+ TEST_INSTRUCTION("660FACD101" , shrd(cx, dx, 1));
+ TEST_INSTRUCTION("660FAD9C1180000000" , shrd(ptr(rcx, rdx, 0, 128), bx, cl));
+ TEST_INSTRUCTION("660FAC9C118000000001" , shrd(ptr(rcx, rdx, 0, 128), bx, 1));
+ TEST_INSTRUCTION("660FAD9C1180000000" , shrd(word_ptr(rcx, rdx, 0, 128), bx, cl));
+ TEST_INSTRUCTION("660FAC9C118000000001" , shrd(word_ptr(rcx, rdx, 0, 128), bx, 1));
+ TEST_INSTRUCTION("0FADD1" , shrd(ecx, edx, cl));
+ TEST_INSTRUCTION("0FACD101" , shrd(ecx, edx, 1));
+ TEST_INSTRUCTION("0FAD9C1180000000" , shrd(ptr(rcx, rdx, 0, 128), ebx, cl));
+ TEST_INSTRUCTION("0FAC9C118000000001" , shrd(ptr(rcx, rdx, 0, 128), ebx, 1));
+ TEST_INSTRUCTION("0FAD9C1180000000" , shrd(dword_ptr(rcx, rdx, 0, 128), ebx, cl));
+ TEST_INSTRUCTION("0FAC9C118000000001" , shrd(dword_ptr(rcx, rdx, 0, 128), ebx, 1));
+ TEST_INSTRUCTION("480FADD1" , shrd(rcx, rdx, cl));
+ TEST_INSTRUCTION("480FACD101" , shrd(rcx, rdx, 1));
+ TEST_INSTRUCTION("480FAD9C1180000000" , shrd(ptr(rcx, rdx, 0, 128), rbx, cl));
+ TEST_INSTRUCTION("480FAC9C118000000001" , shrd(ptr(rcx, rdx, 0, 128), rbx, 1));
+ TEST_INSTRUCTION("480FAD9C1180000000" , shrd(qword_ptr(rcx, rdx, 0, 128), rbx, cl));
+ TEST_INSTRUCTION("480FAC9C118000000001" , shrd(qword_ptr(rcx, rdx, 0, 128), rbx, 1));
+ TEST_INSTRUCTION("C4E263F7CA" , shrx(ecx, edx, ebx));
+ TEST_INSTRUCTION("C4E25BF78C1A80000000" , shrx(ecx, ptr(rdx, rbx, 0, 128), esp));
+ TEST_INSTRUCTION("C4E25BF78C1A80000000" , shrx(ecx, dword_ptr(rdx, rbx, 0, 128), esp));
+ TEST_INSTRUCTION("C4E2E3F7CA" , shrx(rcx, rdx, rbx));
+ TEST_INSTRUCTION("C4E2DBF78C1A80000000" , shrx(rcx, ptr(rdx, rbx, 0, 128), rsp));
+ TEST_INSTRUCTION("C4E2DBF78C1A80000000" , shrx(rcx, qword_ptr(rdx, rbx, 0, 128), rsp));
+ TEST_INSTRUCTION("660FC6CA01" , shufpd(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("660FC68C1A8000000001" , shufpd(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("660FC68C1A8000000001" , shufpd(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("0FC6CA01" , shufps(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("0FC68C1A8000000001" , shufps(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("0FC68C1A8000000001" , shufps(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("0F018C1180000000" , sidt(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F01DE" , skinit(eax));
+ TEST_INSTRUCTION("660F00C1" , sldt(cx));
+ TEST_INSTRUCTION("0F00C1" , sldt(ecx));
+ TEST_INSTRUCTION("480F00C1" , sldt(rcx));
+ TEST_INSTRUCTION("0F00841180000000" , sldt(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F00841180000000" , sldt(word_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("8FE97812C9" , slwpcb(ecx));
+ TEST_INSTRUCTION("8FE9F812C9" , slwpcb(rcx));
+ TEST_INSTRUCTION("660F01E1" , smsw(cx));
+ TEST_INSTRUCTION("0F01E1" , smsw(ecx));
+ TEST_INSTRUCTION("480F01E1" , smsw(rcx));
+ TEST_INSTRUCTION("0F01A41180000000" , smsw(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F01A41180000000" , smsw(word_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("660F51CA" , sqrtpd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F518C1A80000000" , sqrtpd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F518C1A80000000" , sqrtpd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F51CA" , sqrtps(xmm1, xmm2));
+ TEST_INSTRUCTION("0F518C1A80000000" , sqrtps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F518C1A80000000" , sqrtps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F51CA" , sqrtsd(xmm1, xmm2));
+ TEST_INSTRUCTION("F20F518C1A80000000" , sqrtsd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F518C1A80000000" , sqrtsd(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F51CA" , sqrtss(xmm1, xmm2));
+ TEST_INSTRUCTION("F30F518C1A80000000" , sqrtss(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F518C1A80000000" , sqrtss(xmm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F01CB" , stac());
+ TEST_INSTRUCTION("F9" , stc());
+ TEST_INSTRUCTION("FD" , std());
+ TEST_INSTRUCTION("0F01DC" , stgi());
+ TEST_INSTRUCTION("FB" , sti());
+ TEST_INSTRUCTION("0FAE9C1180000000" , stmxcsr(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0FAE9C1180000000" , stmxcsr(dword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("AA" , stos(ptr(rdi), al));
+ TEST_INSTRUCTION("AA" , stos(byte_ptr(rdi), al));
+ TEST_INSTRUCTION("66AB" , stos(ptr(rdi), ax));
+ TEST_INSTRUCTION("66AB" , stos(word_ptr(rdi), ax));
+ TEST_INSTRUCTION("AB" , stos(ptr(rdi), eax));
+ TEST_INSTRUCTION("AB" , stos(dword_ptr(rdi), eax));
+ TEST_INSTRUCTION("48AB" , stos(ptr(rdi), rax));
+ TEST_INSTRUCTION("48AB" , stos(qword_ptr(rdi), rax));
+ TEST_INSTRUCTION("660F00C9" , str(cx));
+ TEST_INSTRUCTION("0F00C9" , str(ecx));
+ TEST_INSTRUCTION("480F00C9" , str(rcx));
+ TEST_INSTRUCTION("0F008C1180000000" , str(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F008C1180000000" , str(word_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("C4E27949841180000000" , sttilecfg(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("C4E27949841180000000" , sttilecfg(zmmword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("F30F01EF" , stui());
+ TEST_INSTRUCTION("80E901" , sub(cl, 1));
+ TEST_INSTRUCTION("80ED01" , sub(ch, 1));
+ TEST_INSTRUCTION("80AC118000000001" , sub(byte_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("6683E901" , sub(cx, 1));
+ TEST_INSTRUCTION("6683AC118000000001" , sub(word_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("83E901" , sub(ecx, 1));
+ TEST_INSTRUCTION("83AC118000000001" , sub(dword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("4829D1" , sub(rcx, rdx));
+ TEST_INSTRUCTION("4883E901" , sub(rcx, 1));
+ TEST_INSTRUCTION("48299C1180000000" , sub(ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("48299C1180000000" , sub(qword_ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("4883AC118000000001" , sub(qword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("28D1" , sub(cl, dl));
+ TEST_INSTRUCTION("28F1" , sub(cl, dh));
+ TEST_INSTRUCTION("28D5" , sub(ch, dl));
+ TEST_INSTRUCTION("28F5" , sub(ch, dh));
+ TEST_INSTRUCTION("289C1180000000" , sub(ptr(rcx, rdx, 0, 128), bl));
+ TEST_INSTRUCTION("28BC1180000000" , sub(ptr(rcx, rdx, 0, 128), bh));
+ TEST_INSTRUCTION("289C1180000000" , sub(byte_ptr(rcx, rdx, 0, 128), bl));
+ TEST_INSTRUCTION("28BC1180000000" , sub(byte_ptr(rcx, rdx, 0, 128), bh));
+ TEST_INSTRUCTION("6629D1" , sub(cx, dx));
+ TEST_INSTRUCTION("66299C1180000000" , sub(ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("66299C1180000000" , sub(word_ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("29D1" , sub(ecx, edx));
+ TEST_INSTRUCTION("299C1180000000" , sub(ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("299C1180000000" , sub(dword_ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("2A8C1A80000000" , sub(cl, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("2A8C1A80000000" , sub(cl, byte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("2AAC1A80000000" , sub(ch, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("2AAC1A80000000" , sub(ch, byte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("662B8C1A80000000" , sub(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("662B8C1A80000000" , sub(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("2B8C1A80000000" , sub(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("2B8C1A80000000" , sub(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("482B8C1A80000000" , sub(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("482B8C1A80000000" , sub(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F5CCA" , subpd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F5C8C1A80000000" , subpd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F5C8C1A80000000" , subpd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F5CCA" , subps(xmm1, xmm2));
+ TEST_INSTRUCTION("0F5C8C1A80000000" , subps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F5C8C1A80000000" , subps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F5CCA" , subsd(xmm1, xmm2));
+ TEST_INSTRUCTION("F20F5C8C1A80000000" , subsd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F5C8C1A80000000" , subsd(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F5CCA" , subss(xmm1, xmm2));
+ TEST_INSTRUCTION("F30F5C8C1A80000000" , subss(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30F5C8C1A80000000" , subss(xmm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F01F8" , swapgs());
+ TEST_INSTRUCTION("0F05" , syscall());
+ TEST_INSTRUCTION("0F34" , sysenter());
+ TEST_INSTRUCTION("0F35" , sysexit());
+ TEST_INSTRUCTION("480F35" , sysexitq());
+ TEST_INSTRUCTION("0F07" , sysret());
+ TEST_INSTRUCTION("480F07" , sysretq());
+ TEST_INSTRUCTION("8FE97001FA" , t1mskc(ecx, edx));
+ TEST_INSTRUCTION("8FE97001BC1A80000000" , t1mskc(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE97001BC1A80000000" , t1mskc(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE9F001FA" , t1mskc(rcx, rdx));
+ TEST_INSTRUCTION("8FE9F001BC1A80000000" , t1mskc(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE9F001BC1A80000000" , t1mskc(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E2625CCA" , tdpbf16ps(tmm1, tmm2, tmm3));
+ TEST_INSTRUCTION("C4E2635ECA" , tdpbssd(tmm1, tmm2, tmm3));
+ TEST_INSTRUCTION("C4E2625ECA" , tdpbsud(tmm1, tmm2, tmm3));
+ TEST_INSTRUCTION("C4E2615ECA" , tdpbusd(tmm1, tmm2, tmm3));
+ TEST_INSTRUCTION("C4E2605ECA" , tdpbuud(tmm1, tmm2, tmm3));
+ TEST_INSTRUCTION("F6C101" , test(cl, 1));
+ TEST_INSTRUCTION("F6C501" , test(ch, 1));
+ TEST_INSTRUCTION("F684118000000001" , test(byte_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("66F7C10100" , test(cx, 1));
+ TEST_INSTRUCTION("66F78411800000000100" , test(word_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("F7C101000000" , test(ecx, 1));
+ TEST_INSTRUCTION("F784118000000001000000" , test(dword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("4885D1" , test(rcx, rdx));
+ TEST_INSTRUCTION("48F7C101000000" , test(rcx, 1));
+ TEST_INSTRUCTION("48859C1180000000" , test(ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("48859C1180000000" , test(qword_ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("48F784118000000001000000" , test(qword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("84D1" , test(cl, dl));
+ TEST_INSTRUCTION("84F1" , test(cl, dh));
+ TEST_INSTRUCTION("84D5" , test(ch, dl));
+ TEST_INSTRUCTION("84F5" , test(ch, dh));
+ TEST_INSTRUCTION("849C1180000000" , test(ptr(rcx, rdx, 0, 128), bl));
+ TEST_INSTRUCTION("84BC1180000000" , test(ptr(rcx, rdx, 0, 128), bh));
+ TEST_INSTRUCTION("849C1180000000" , test(byte_ptr(rcx, rdx, 0, 128), bl));
+ TEST_INSTRUCTION("84BC1180000000" , test(byte_ptr(rcx, rdx, 0, 128), bh));
+ TEST_INSTRUCTION("6685D1" , test(cx, dx));
+ TEST_INSTRUCTION("66859C1180000000" , test(ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("66859C1180000000" , test(word_ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("85D1" , test(ecx, edx));
+ TEST_INSTRUCTION("859C1180000000" , test(ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("859C1180000000" , test(dword_ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("F30F01ED" , testui());
+ TEST_INSTRUCTION("C4E27B4B8C1A80000000" , tileloadd(tmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E2794B8C1A80000000" , tileloaddt1(tmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27849C0" , tilerelease());
+ TEST_INSTRUCTION("C4E27A4B9C1180000000" , tilestored(ptr(rcx, rdx, 0, 128), tmm3));
+ TEST_INSTRUCTION("C4E27B49C8" , tilezero(tmm1));
+ TEST_INSTRUCTION("660FAEF1" , tpause(ecx, edx, eax));
+ TEST_INSTRUCTION("66F30FBCCA" , tzcnt(cx, dx));
+ TEST_INSTRUCTION("66F30FBC8C1A80000000" , tzcnt(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("66F30FBC8C1A80000000" , tzcnt(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30FBCCA" , tzcnt(ecx, edx));
+ TEST_INSTRUCTION("F30FBC8C1A80000000" , tzcnt(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30FBC8C1A80000000" , tzcnt(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F3480FBCCA" , tzcnt(rcx, rdx));
+ TEST_INSTRUCTION("F3480FBC8C1A80000000" , tzcnt(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F3480FBC8C1A80000000" , tzcnt(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE97001E2" , tzmsk(ecx, edx));
+ TEST_INSTRUCTION("8FE97001A41A80000000" , tzmsk(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE97001A41A80000000" , tzmsk(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE9F001E2" , tzmsk(rcx, rdx));
+ TEST_INSTRUCTION("8FE9F001A41A80000000" , tzmsk(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE9F001A41A80000000" , tzmsk(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F2ECA" , ucomisd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F2E8C1A80000000" , ucomisd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F2E8C1A80000000" , ucomisd(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F2ECA" , ucomiss(xmm1, xmm2));
+ TEST_INSTRUCTION("0F2E8C1A80000000" , ucomiss(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F2E8C1A80000000" , ucomiss(xmm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FFFCA" , ud0(ecx, edx));
+ TEST_INSTRUCTION("0FFF8C1A80000000" , ud0(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FFF8C1A80000000" , ud0(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FB9CA" , ud1(ecx, edx));
+ TEST_INSTRUCTION("0FB98C1A80000000" , ud1(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0FB98C1A80000000" , ud1(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F0B" , ud2());
+ TEST_INSTRUCTION("F30F01EC" , uiret());
+ TEST_INSTRUCTION("F30FAEF1" , umonitor(ptr(rcx)));
+ TEST_INSTRUCTION("F20FAEF1" , umwait(ecx, edx, eax));
+ TEST_INSTRUCTION("660F15CA" , unpckhpd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F158C1A80000000" , unpckhpd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F158C1A80000000" , unpckhpd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F15CA" , unpckhps(xmm1, xmm2));
+ TEST_INSTRUCTION("0F158C1A80000000" , unpckhps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F158C1A80000000" , unpckhps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F14CA" , unpcklpd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F148C1A80000000" , unpcklpd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F148C1A80000000" , unpcklpd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F14CA" , unpcklps(xmm1, xmm2));
+ TEST_INSTRUCTION("0F148C1A80000000" , unpcklps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F148C1A80000000" , unpcklps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F25F489A4C1A08" , v4fmaddps(zmm1, zmm4, zmm5, zmm6, zmm7, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F25F489A4C1A08" , v4fmaddps(zmm1, zmm4, zmm5, zmm6, zmm7, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F25F089B4C1A08" , v4fmaddss(xmm1, xmm4, xmm5, xmm6, xmm7, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F25F089B4C1A08" , v4fmaddss(xmm1, xmm4, xmm5, xmm6, xmm7, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F25F48AA4C1A08" , v4fnmaddps(zmm1, zmm4, zmm5, zmm6, zmm7, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F25F48AA4C1A08" , v4fnmaddps(zmm1, zmm4, zmm5, zmm6, zmm7, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F25F08AB4C1A08" , v4fnmaddss(xmm1, xmm4, xmm5, xmm6, xmm7, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F25F08AB4C1A08" , v4fnmaddss(xmm1, xmm4, xmm5, xmm6, xmm7, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5E958CB" , vaddpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9588C2B80000000" , vaddpd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9588C2B80000000" , vaddpd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED58CB" , vaddpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED588C2B80000000" , vaddpd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED588C2B80000000" , vaddpd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED4858CB" , vaddpd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED48584C2B02" , vaddpd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48584C2B02" , vaddpd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E858CB" , vaddps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E8588C2B80000000" , vaddps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E8588C2B80000000" , vaddps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EC58CB" , vaddps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EC588C2B80000000" , vaddps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EC588C2B80000000" , vaddps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16C4858CB" , vaddps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16C48584C2B02" , vaddps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16C48584C2B02" , vaddps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EB58CB" , vaddsd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EB588C2B80000000" , vaddsd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EB588C2B80000000" , vaddsd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EA58CB" , vaddss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EA588C2B80000000" , vaddss(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EA588C2B80000000" , vaddss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9D0CB" , vaddsubpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9D08C2B80000000" , vaddsubpd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9D08C2B80000000" , vaddsubpd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDD0CB" , vaddsubpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDD08C2B80000000" , vaddsubpd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDD08C2B80000000" , vaddsubpd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EBD0CB" , vaddsubps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EBD08C2B80000000" , vaddsubps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EBD08C2B80000000" , vaddsubps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EFD0CB" , vaddsubps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EFD08C2B80000000" , vaddsubps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EFD08C2B80000000" , vaddsubps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269DECB" , vaesdec(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269DE8C2B80000000" , vaesdec(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269DE8C2B80000000" , vaesdec(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DDECB" , vaesdec(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26DDE8C2B80000000" , vaesdec(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DDE8C2B80000000" , vaesdec(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48DECB" , vaesdec(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48DE4C2B02" , vaesdec(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48DE4C2B02" , vaesdec(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269DFCB" , vaesdeclast(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269DF8C2B80000000" , vaesdeclast(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269DF8C2B80000000" , vaesdeclast(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DDFCB" , vaesdeclast(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26DDF8C2B80000000" , vaesdeclast(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DDF8C2B80000000" , vaesdeclast(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48DFCB" , vaesdeclast(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48DF4C2B02" , vaesdeclast(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48DF4C2B02" , vaesdeclast(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269DCCB" , vaesenc(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269DC8C2B80000000" , vaesenc(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269DC8C2B80000000" , vaesenc(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DDCCB" , vaesenc(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26DDC8C2B80000000" , vaesenc(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DDC8C2B80000000" , vaesenc(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48DCCB" , vaesenc(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48DC4C2B02" , vaesenc(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48DC4C2B02" , vaesenc(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269DDCB" , vaesenclast(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269DD8C2B80000000" , vaesenclast(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269DD8C2B80000000" , vaesenclast(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DDDCB" , vaesenclast(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26DDD8C2B80000000" , vaesenclast(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DDD8C2B80000000" , vaesenclast(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48DDCB" , vaesenclast(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48DD4C2B02" , vaesenclast(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48DD4C2B02" , vaesenclast(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E279DBCA" , vaesimc(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279DB8C1A80000000" , vaesimc(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E279DB8C1A80000000" , vaesimc(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E379DFCA01" , vaeskeygenassist(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("C4E379DF8C1A8000000001" , vaeskeygenassist(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E379DF8C1A8000000001" , vaeskeygenassist(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D0803CB01" , valignd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D08034C2B0801" , valignd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D08034C2B0801" , valignd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D2803CB01" , valignd(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F36D28034C2B0401" , valignd(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D28034C2B0401" , valignd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D4803CB01" , valignd(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F36D48034C2B0201" , valignd(zmm1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D48034C2B0201" , valignd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED0803CB01" , valignq(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED08034C2B0801" , valignq(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED08034C2B0801" , valignq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED2803CB01" , valignq(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F3ED28034C2B0401" , valignq(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED28034C2B0401" , valignq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED4803CB01" , valignq(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F3ED48034C2B0201" , valignq(zmm1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED48034C2B0201" , valignq(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C5E955CB" , vandnpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9558C2B80000000" , vandnpd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9558C2B80000000" , vandnpd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED55CB" , vandnpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED558C2B80000000" , vandnpd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED558C2B80000000" , vandnpd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED4855CB" , vandnpd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED48554C2B02" , vandnpd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48554C2B02" , vandnpd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E855CB" , vandnps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E8558C2B80000000" , vandnps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E8558C2B80000000" , vandnps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EC55CB" , vandnps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EC558C2B80000000" , vandnps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EC558C2B80000000" , vandnps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16C4855CB" , vandnps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16C48554C2B02" , vandnps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16C48554C2B02" , vandnps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E954CB" , vandpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9548C2B80000000" , vandpd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9548C2B80000000" , vandpd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED54CB" , vandpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED548C2B80000000" , vandpd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED548C2B80000000" , vandpd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED4854CB" , vandpd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED48544C2B02" , vandpd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48544C2B02" , vandpd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E854CB" , vandps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E8548C2B80000000" , vandps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E8548C2B80000000" , vandps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EC54CB" , vandps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EC548C2B80000000" , vandps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EC548C2B80000000" , vandps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16C4854CB" , vandps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16C48544C2B02" , vandps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16C48544C2B02" , vandps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0865CB" , vblendmpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08654C2B08" , vblendmpd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08654C2B08" , vblendmpd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2865CB" , vblendmpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28654C2B04" , vblendmpd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28654C2B04" , vblendmpd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4865CB" , vblendmpd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48654C2B02" , vblendmpd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48654C2B02" , vblendmpd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D0865CB" , vblendmps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08654C2B08" , vblendmps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08654C2B08" , vblendmps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D2865CB" , vblendmps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D28654C2B04" , vblendmps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D28654C2B04" , vblendmps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4865CB" , vblendmps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48654C2B02" , vblendmps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48654C2B02" , vblendmps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E3690DCB01" , vblendpd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C4E3690D8C2B8000000001" , vblendpd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3690D8C2B8000000001" , vblendpd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D0DCB01" , vblendpd(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("C4E36D0D8C2B8000000001" , vblendpd(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D0D8C2B8000000001" , vblendpd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3690CCB01" , vblendps(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C4E3690C8C2B8000000001" , vblendps(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3690C8C2B8000000001" , vblendps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D0CCB01" , vblendps(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("C4E36D0C8C2B8000000001" , vblendps(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D0C8C2B8000000001" , vblendps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3694BCB40" , vblendvpd(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3694B8C2B8000000060" , vblendvpd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3694B8C2B8000000060" , vblendvpd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E36D4BCB40" , vblendvpd(ymm1, ymm2, ymm3, ymm4));
+ TEST_INSTRUCTION("C4E36D4B8C2B8000000060" , vblendvpd(ymm1, ymm2, ptr(rbx, rbp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E36D4B8C2B8000000060" , vblendvpd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E3694ACB40" , vblendvps(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3694A8C2B8000000060" , vblendvps(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3694A8C2B8000000060" , vblendvps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E36D4ACB40" , vblendvps(ymm1, ymm2, ymm3, ymm4));
+ TEST_INSTRUCTION("C4E36D4A8C2B8000000060" , vblendvps(ymm1, ymm2, ptr(rbx, rbp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E36D4A8C2B8000000060" , vblendvps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E27D1A8C1A80000000" , vbroadcastf128(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D1A8C1A80000000" , vbroadcastf128(ymm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D2819CA" , vbroadcastf32x2(ymm1, xmm2));
+ TEST_INSTRUCTION("62F27D28194C1A10" , vbroadcastf32x2(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D28194C1A10" , vbroadcastf32x2(ymm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4819CA" , vbroadcastf32x2(zmm1, xmm2));
+ TEST_INSTRUCTION("62F27D48194C1A10" , vbroadcastf32x2(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48194C1A10" , vbroadcastf32x2(zmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D281A4C1A08" , vbroadcastf32x4(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D281A4C1A08" , vbroadcastf32x4(ymm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D481A4C1A08" , vbroadcastf32x4(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D481A4C1A08" , vbroadcastf32x4(zmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D481B4C1A04" , vbroadcastf32x8(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D481B4C1A04" , vbroadcastf32x8(zmm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD281A4C1A08" , vbroadcastf64x2(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD281A4C1A08" , vbroadcastf64x2(ymm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD481A4C1A08" , vbroadcastf64x2(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD481A4C1A08" , vbroadcastf64x2(zmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD481B4C1A04" , vbroadcastf64x4(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD481B4C1A04" , vbroadcastf64x4(zmm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D5A8C1A80000000" , vbroadcasti128(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D5A8C1A80000000" , vbroadcasti128(ymm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D0859CA" , vbroadcasti32x2(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27D08594C1A10" , vbroadcasti32x2(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D08594C1A10" , vbroadcasti32x2(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D2859CA" , vbroadcasti32x2(ymm1, xmm2));
+ TEST_INSTRUCTION("62F27D28594C1A10" , vbroadcasti32x2(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D28594C1A10" , vbroadcasti32x2(ymm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4859CA" , vbroadcasti32x2(zmm1, xmm2));
+ TEST_INSTRUCTION("62F27D48594C1A10" , vbroadcasti32x2(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48594C1A10" , vbroadcasti32x2(zmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D285A4C1A08" , vbroadcasti32x4(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D285A4C1A08" , vbroadcasti32x4(ymm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D485A4C1A08" , vbroadcasti32x4(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D485A4C1A08" , vbroadcasti32x4(zmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D485B4C1A04" , vbroadcasti32x8(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D485B4C1A04" , vbroadcasti32x8(zmm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD285A4C1A08" , vbroadcasti64x2(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD285A4C1A08" , vbroadcasti64x2(ymm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD485A4C1A08" , vbroadcasti64x2(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD485A4C1A08" , vbroadcasti64x2(zmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD485B4C1A04" , vbroadcasti64x4(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD485B4C1A04" , vbroadcasti64x4(zmm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D19CA" , vbroadcastsd(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D198C1A80000000" , vbroadcastsd(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D198C1A80000000" , vbroadcastsd(ymm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD4819CA" , vbroadcastsd(zmm1, xmm2));
+ TEST_INSTRUCTION("62F2FD48194C1A10" , vbroadcastsd(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD48194C1A10" , vbroadcastsd(zmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27918CA" , vbroadcastss(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279188C1A80000000" , vbroadcastss(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E279188C1A80000000" , vbroadcastss(xmm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D18CA" , vbroadcastss(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D188C1A80000000" , vbroadcastss(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D188C1A80000000" , vbroadcastss(ymm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4818CA" , vbroadcastss(zmm1, xmm2));
+ TEST_INSTRUCTION("62F27D48184C1A20" , vbroadcastss(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48184C1A20" , vbroadcastss(zmm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5E9C2CB01" , vcmppd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C5E9C28C2B8000000001" , vcmppd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C5E9C28C2B8000000001" , vcmppd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F1ED08C2CB01" , vcmppd(k1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F1ED08C24C2B0801" , vcmppd(k1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F1ED08C24C2B0801" , vcmppd(k1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C5EDC2CB01" , vcmppd(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("C5EDC28C2B8000000001" , vcmppd(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C5EDC28C2B8000000001" , vcmppd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F1ED28C2CB01" , vcmppd(k1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F1ED28C24C2B0401" , vcmppd(k1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F1ED28C24C2B0401" , vcmppd(k1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F1ED48C2CB01" , vcmppd(k1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F1ED48C24C2B0201" , vcmppd(k1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F1ED48C24C2B0201" , vcmppd(k1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C5E8C2CB01" , vcmpps(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C5E8C28C2B8000000001" , vcmpps(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C5E8C28C2B8000000001" , vcmpps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F16C08C2CB01" , vcmpps(k1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F16C08C24C2B0801" , vcmpps(k1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F16C08C24C2B0801" , vcmpps(k1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C5ECC2CB01" , vcmpps(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("C5ECC28C2B8000000001" , vcmpps(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C5ECC28C2B8000000001" , vcmpps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F16C28C2CB01" , vcmpps(k1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F16C28C24C2B0401" , vcmpps(k1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F16C28C24C2B0401" , vcmpps(k1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F16C48C2CB01" , vcmpps(k1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F16C48C24C2B0201" , vcmpps(k1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F16C48C24C2B0201" , vcmpps(k1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C5EBC2CB01" , vcmpsd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C5EBC28C2B8000000001" , vcmpsd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C5EBC28C2B8000000001" , vcmpsd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F1EF08C2CB01" , vcmpsd(k1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F1EF08C24C2B1001" , vcmpsd(k1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F1EF08C24C2B1001" , vcmpsd(k1, xmm2, qword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C5EAC2CB01" , vcmpss(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C5EAC28C2B8000000001" , vcmpss(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C5EAC28C2B8000000001" , vcmpss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F16E08C2CB01" , vcmpss(k1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F16E08C24C2B2001" , vcmpss(k1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F16E08C24C2B2001" , vcmpss(k1, xmm2, dword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C5F92FCA" , vcomisd(xmm1, xmm2));
+ TEST_INSTRUCTION("C5F92F8C1A80000000" , vcomisd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F92F8C1A80000000" , vcomisd(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F82FCA" , vcomiss(xmm1, xmm2));
+ TEST_INSTRUCTION("C5F82F8C1A80000000" , vcomiss(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F82F8C1A80000000" , vcomiss(xmm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD088AD1" , vcompresspd(xmm1, xmm2));
+ TEST_INSTRUCTION("62F2FD088A5C1110" , vcompresspd(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F2FD088A5C1110" , vcompresspd(xmmword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F2FD288AD1" , vcompresspd(ymm1, ymm2));
+ TEST_INSTRUCTION("62F2FD288A5C1110" , vcompresspd(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F2FD288A5C1110" , vcompresspd(ymmword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F2FD488AD1" , vcompresspd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F2FD488A5C1110" , vcompresspd(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F2FD488A5C1110" , vcompresspd(zmmword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27D088AD1" , vcompressps(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27D088A5C1120" , vcompressps(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27D088A5C1120" , vcompressps(xmmword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27D288AD1" , vcompressps(ymm1, ymm2));
+ TEST_INSTRUCTION("62F27D288A5C1120" , vcompressps(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27D288A5C1120" , vcompressps(ymmword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27D488AD1" , vcompressps(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D488A5C1120" , vcompressps(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27D488A5C1120" , vcompressps(zmmword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("C5FAE6CA" , vcvtdq2pd(xmm1, xmm2));
+ TEST_INSTRUCTION("C5FAE68C1A80000000" , vcvtdq2pd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FAE68C1A80000000" , vcvtdq2pd(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FEE6CA" , vcvtdq2pd(ymm1, xmm2));
+ TEST_INSTRUCTION("C5FEE68C1A80000000" , vcvtdq2pd(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FEE68C1A80000000" , vcvtdq2pd(ymm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17E48E6CA" , vcvtdq2pd(zmm1, ymm2));
+ TEST_INSTRUCTION("62F17E48E64C1A04" , vcvtdq2pd(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17E48E64C1A04" , vcvtdq2pd(zmm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F85BCA" , vcvtdq2ps(xmm1, xmm2));
+ TEST_INSTRUCTION("C5F85B8C1A80000000" , vcvtdq2ps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F85B8C1A80000000" , vcvtdq2ps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FC5BCA" , vcvtdq2ps(ymm1, ymm2));
+ TEST_INSTRUCTION("C5FC5B8C1A80000000" , vcvtdq2ps(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FC5B8C1A80000000" , vcvtdq2ps(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17C485BCA" , vcvtdq2ps(zmm1, zmm2));
+ TEST_INSTRUCTION("62F17C485B4C1A02" , vcvtdq2ps(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17C485B4C1A02" , vcvtdq2ps(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F26F0872CB" , vcvtne2ps2bf16(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26F08724C2B08" , vcvtne2ps2bf16(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26F08724C2B08" , vcvtne2ps2bf16(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26F2872CB" , vcvtne2ps2bf16(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26F28724C2B04" , vcvtne2ps2bf16(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26F28724C2B04" , vcvtne2ps2bf16(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26F4872CB" , vcvtne2ps2bf16(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26F48724C2B02" , vcvtne2ps2bf16(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26F48724C2B02" , vcvtne2ps2bf16(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F27E0872CA" , vcvtneps2bf16(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E2872CA" , vcvtneps2bf16(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E08724C1A08" , vcvtneps2bf16(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27E28724C1A04" , vcvtneps2bf16(xmm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27E4872CA" , vcvtneps2bf16(ymm1, zmm2));
+ TEST_INSTRUCTION("62F27E48724C1A02" , vcvtneps2bf16(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27E48724C1A02" , vcvtneps2bf16(ymm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FBE6CA" , vcvtpd2dq(xmm1, xmm2));
+ TEST_INSTRUCTION("C5FFE6CA" , vcvtpd2dq(xmm1, ymm2));
+ TEST_INSTRUCTION("C5FBE68C1A80000000" , vcvtpd2dq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FFE68C1A80000000" , vcvtpd2dq(xmm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FF48E6CA" , vcvtpd2dq(ymm1, zmm2));
+ TEST_INSTRUCTION("62F1FF48E64C1A02" , vcvtpd2dq(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FF48E64C1A02" , vcvtpd2dq(ymm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F95ACA" , vcvtpd2ps(xmm1, xmm2));
+ TEST_INSTRUCTION("C5FD5ACA" , vcvtpd2ps(xmm1, ymm2));
+ TEST_INSTRUCTION("C5F95A8C1A80000000" , vcvtpd2ps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FD5A8C1A80000000" , vcvtpd2ps(xmm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD485ACA" , vcvtpd2ps(ymm1, zmm2));
+ TEST_INSTRUCTION("62F1FD485A4C1A02" , vcvtpd2ps(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD485A4C1A02" , vcvtpd2ps(ymm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD087BCA" , vcvtpd2qq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F1FD087B4C1A08" , vcvtpd2qq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD087B4C1A08" , vcvtpd2qq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD287BCA" , vcvtpd2qq(ymm1, ymm2));
+ TEST_INSTRUCTION("62F1FD287B4C1A04" , vcvtpd2qq(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD287B4C1A04" , vcvtpd2qq(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD487BCA" , vcvtpd2qq(zmm1, zmm2));
+ TEST_INSTRUCTION("62F1FD487B4C1A02" , vcvtpd2qq(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD487B4C1A02" , vcvtpd2qq(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FC0879CA" , vcvtpd2udq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F1FC2879CA" , vcvtpd2udq(xmm1, ymm2));
+ TEST_INSTRUCTION("62F1FC08794C1A08" , vcvtpd2udq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FC28794C1A04" , vcvtpd2udq(xmm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FC4879CA" , vcvtpd2udq(ymm1, zmm2));
+ TEST_INSTRUCTION("62F1FC48794C1A02" , vcvtpd2udq(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FC48794C1A02" , vcvtpd2udq(ymm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD0879CA" , vcvtpd2uqq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F1FD08794C1A08" , vcvtpd2uqq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD08794C1A08" , vcvtpd2uqq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD2879CA" , vcvtpd2uqq(ymm1, ymm2));
+ TEST_INSTRUCTION("62F1FD28794C1A04" , vcvtpd2uqq(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD28794C1A04" , vcvtpd2uqq(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD4879CA" , vcvtpd2uqq(zmm1, zmm2));
+ TEST_INSTRUCTION("62F1FD48794C1A02" , vcvtpd2uqq(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD48794C1A02" , vcvtpd2uqq(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27913CA" , vcvtph2ps(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279138C1A80000000" , vcvtph2ps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E279138C1A80000000" , vcvtph2ps(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D13CA" , vcvtph2ps(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D138C1A80000000" , vcvtph2ps(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D138C1A80000000" , vcvtph2ps(ymm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4813CA" , vcvtph2ps(zmm1, ymm2));
+ TEST_INSTRUCTION("62F27D48134C1A04" , vcvtph2ps(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48134C1A04" , vcvtph2ps(zmm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F95BCA" , vcvtps2dq(xmm1, xmm2));
+ TEST_INSTRUCTION("C5F95B8C1A80000000" , vcvtps2dq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F95B8C1A80000000" , vcvtps2dq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FD5BCA" , vcvtps2dq(ymm1, ymm2));
+ TEST_INSTRUCTION("C5FD5B8C1A80000000" , vcvtps2dq(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FD5B8C1A80000000" , vcvtps2dq(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17D485BCA" , vcvtps2dq(zmm1, zmm2));
+ TEST_INSTRUCTION("62F17D485B4C1A02" , vcvtps2dq(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17D485B4C1A02" , vcvtps2dq(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F85ACA" , vcvtps2pd(xmm1, xmm2));
+ TEST_INSTRUCTION("C5F85A8C1A80000000" , vcvtps2pd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F85A8C1A80000000" , vcvtps2pd(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FC5ACA" , vcvtps2pd(ymm1, xmm2));
+ TEST_INSTRUCTION("C5FC5A8C1A80000000" , vcvtps2pd(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FC5A8C1A80000000" , vcvtps2pd(ymm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17C485ACA" , vcvtps2pd(zmm1, ymm2));
+ TEST_INSTRUCTION("62F17C485A4C1A04" , vcvtps2pd(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17C485A4C1A04" , vcvtps2pd(zmm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E3791DD101" , vcvtps2ph(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("C4E3791D9C118000000001" , vcvtps2ph(ptr(rcx, rdx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("C4E3791D9C118000000001" , vcvtps2ph(qword_ptr(rcx, rdx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("C4E37D1DD101" , vcvtps2ph(xmm1, ymm2, 1));
+ TEST_INSTRUCTION("C4E37D1D9C118000000001" , vcvtps2ph(ptr(rcx, rdx, 0, 128), ymm3, 1));
+ TEST_INSTRUCTION("C4E37D1D9C118000000001" , vcvtps2ph(xmmword_ptr(rcx, rdx, 0, 128), ymm3, 1));
+ TEST_INSTRUCTION("62F37D481DD101" , vcvtps2ph(ymm1, zmm2, 1));
+ TEST_INSTRUCTION("62F37D481D5C110401" , vcvtps2ph(ptr(rcx, rdx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("62F37D481D5C110401" , vcvtps2ph(ymmword_ptr(rcx, rdx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("62F17D087BCA" , vcvtps2qq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F17D087B4C1A10" , vcvtps2qq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17D087B4C1A10" , vcvtps2qq(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17D287BCA" , vcvtps2qq(ymm1, xmm2));
+ TEST_INSTRUCTION("62F17D287B4C1A08" , vcvtps2qq(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17D287B4C1A08" , vcvtps2qq(ymm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17D487BCA" , vcvtps2qq(zmm1, ymm2));
+ TEST_INSTRUCTION("62F17D487B4C1A04" , vcvtps2qq(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17D487B4C1A04" , vcvtps2qq(zmm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17C0879CA" , vcvtps2udq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F17C08794C1A08" , vcvtps2udq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17C08794C1A08" , vcvtps2udq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17C2879CA" , vcvtps2udq(ymm1, ymm2));
+ TEST_INSTRUCTION("62F17C28794C1A04" , vcvtps2udq(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17C28794C1A04" , vcvtps2udq(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17C4879CA" , vcvtps2udq(zmm1, zmm2));
+ TEST_INSTRUCTION("62F17C48794C1A02" , vcvtps2udq(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17C48794C1A02" , vcvtps2udq(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17D0879CA" , vcvtps2uqq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F17D08794C1A10" , vcvtps2uqq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17D08794C1A10" , vcvtps2uqq(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17D2879CA" , vcvtps2uqq(ymm1, xmm2));
+ TEST_INSTRUCTION("62F17D28794C1A08" , vcvtps2uqq(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17D28794C1A08" , vcvtps2uqq(ymm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17D4879CA" , vcvtps2uqq(zmm1, ymm2));
+ TEST_INSTRUCTION("62F17D48794C1A04" , vcvtps2uqq(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17D48794C1A04" , vcvtps2uqq(zmm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE08E6CA" , vcvtqq2pd(xmm1, xmm2));
+ TEST_INSTRUCTION("62F1FE08E64C1A08" , vcvtqq2pd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE08E64C1A08" , vcvtqq2pd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE28E6CA" , vcvtqq2pd(ymm1, ymm2));
+ TEST_INSTRUCTION("62F1FE28E64C1A04" , vcvtqq2pd(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE28E64C1A04" , vcvtqq2pd(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE48E6CA" , vcvtqq2pd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F1FE48E64C1A02" , vcvtqq2pd(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE48E64C1A02" , vcvtqq2pd(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FC085BCA" , vcvtqq2ps(xmm1, xmm2));
+ TEST_INSTRUCTION("62F1FC285BCA" , vcvtqq2ps(xmm1, ymm2));
+ TEST_INSTRUCTION("62F1FC085B4C1A08" , vcvtqq2ps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FC285B4C1A04" , vcvtqq2ps(xmm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FC485BCA" , vcvtqq2ps(ymm1, zmm2));
+ TEST_INSTRUCTION("62F1FC485B4C1A02" , vcvtqq2ps(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FC485B4C1A02" , vcvtqq2ps(ymm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FB2DCA" , vcvtsd2si(ecx, xmm2));
+ TEST_INSTRUCTION("C5FB2D8C1A80000000" , vcvtsd2si(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FB2D8C1A80000000" , vcvtsd2si(ecx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E1FB2DCA" , vcvtsd2si(rcx, xmm2));
+ TEST_INSTRUCTION("C4E1FB2D8C1A80000000" , vcvtsd2si(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E1FB2D8C1A80000000" , vcvtsd2si(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5EB5ACB" , vcvtsd2ss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EB5A8C2B80000000" , vcvtsd2ss(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EB5A8C2B80000000" , vcvtsd2ss(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F17F0879CA" , vcvtsd2usi(ecx, xmm2));
+ TEST_INSTRUCTION("62F17F08794C1A10" , vcvtsd2usi(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17F08794C1A10" , vcvtsd2usi(ecx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FF0879CA" , vcvtsd2usi(rcx, xmm2));
+ TEST_INSTRUCTION("62F1FF08794C1A10" , vcvtsd2usi(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FF08794C1A10" , vcvtsd2usi(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5EB2ACB" , vcvtsi2sd(xmm1, xmm2, ebx));
+ TEST_INSTRUCTION("C4E1EB2ACB" , vcvtsi2sd(xmm1, xmm2, rbx));
+ TEST_INSTRUCTION("C5EB2A8C2B80000000" , vcvtsi2sd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EB2A8C2B80000000" , vcvtsi2sd(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E1EB2A8C2B80000000" , vcvtsi2sd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EA2ACB" , vcvtsi2ss(xmm1, xmm2, ebx));
+ TEST_INSTRUCTION("C4E1EA2ACB" , vcvtsi2ss(xmm1, xmm2, rbx));
+ TEST_INSTRUCTION("C5EA2A8C2B80000000" , vcvtsi2ss(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EA2A8C2B80000000" , vcvtsi2ss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E1EA2A8C2B80000000" , vcvtsi2ss(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EA5ACB" , vcvtss2sd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EA5A8C2B80000000" , vcvtss2sd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EA5A8C2B80000000" , vcvtss2sd(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5FA2DCA" , vcvtss2si(ecx, xmm2));
+ TEST_INSTRUCTION("C5FA2D8C1A80000000" , vcvtss2si(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FA2D8C1A80000000" , vcvtss2si(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E1FA2DCA" , vcvtss2si(rcx, xmm2));
+ TEST_INSTRUCTION("C4E1FA2D8C1A80000000" , vcvtss2si(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E1FA2D8C1A80000000" , vcvtss2si(rcx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17E0879CA" , vcvtss2usi(ecx, xmm2));
+ TEST_INSTRUCTION("62F17E08794C1A20" , vcvtss2usi(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17E08794C1A20" , vcvtss2usi(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE0879CA" , vcvtss2usi(rcx, xmm2));
+ TEST_INSTRUCTION("62F1FE08794C1A20" , vcvtss2usi(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE08794C1A20" , vcvtss2usi(rcx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F9E6CA" , vcvttpd2dq(xmm1, xmm2));
+ TEST_INSTRUCTION("C5FDE6CA" , vcvttpd2dq(xmm1, ymm2));
+ TEST_INSTRUCTION("C5F9E68C1A80000000" , vcvttpd2dq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FDE68C1A80000000" , vcvttpd2dq(xmm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD48E6CA" , vcvttpd2dq(ymm1, zmm2));
+ TEST_INSTRUCTION("62F1FD48E64C1A02" , vcvttpd2dq(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD48E64C1A02" , vcvttpd2dq(ymm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD087ACA" , vcvttpd2qq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F1FD087A4C1A08" , vcvttpd2qq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD087A4C1A08" , vcvttpd2qq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD287ACA" , vcvttpd2qq(ymm1, ymm2));
+ TEST_INSTRUCTION("62F1FD287A4C1A04" , vcvttpd2qq(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD287A4C1A04" , vcvttpd2qq(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD487ACA" , vcvttpd2qq(zmm1, zmm2));
+ TEST_INSTRUCTION("62F1FD487A4C1A02" , vcvttpd2qq(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD487A4C1A02" , vcvttpd2qq(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FC0878CA" , vcvttpd2udq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F1FC2878CA" , vcvttpd2udq(xmm1, ymm2));
+ TEST_INSTRUCTION("62F1FC08784C1A08" , vcvttpd2udq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FC28784C1A04" , vcvttpd2udq(xmm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FC4878CA" , vcvttpd2udq(ymm1, zmm2));
+ TEST_INSTRUCTION("62F1FC48784C1A02" , vcvttpd2udq(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FC48784C1A02" , vcvttpd2udq(ymm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD0878CA" , vcvttpd2uqq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F1FD08784C1A08" , vcvttpd2uqq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD08784C1A08" , vcvttpd2uqq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD2878CA" , vcvttpd2uqq(ymm1, ymm2));
+ TEST_INSTRUCTION("62F1FD28784C1A04" , vcvttpd2uqq(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD28784C1A04" , vcvttpd2uqq(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD4878CA" , vcvttpd2uqq(zmm1, zmm2));
+ TEST_INSTRUCTION("62F1FD48784C1A02" , vcvttpd2uqq(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD48784C1A02" , vcvttpd2uqq(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FA5BCA" , vcvttps2dq(xmm1, xmm2));
+ TEST_INSTRUCTION("C5FA5B8C1A80000000" , vcvttps2dq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FA5B8C1A80000000" , vcvttps2dq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FE5BCA" , vcvttps2dq(ymm1, ymm2));
+ TEST_INSTRUCTION("C5FE5B8C1A80000000" , vcvttps2dq(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FE5B8C1A80000000" , vcvttps2dq(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17E485BCA" , vcvttps2dq(zmm1, zmm2));
+ TEST_INSTRUCTION("62F17E485B4C1A02" , vcvttps2dq(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17E485B4C1A02" , vcvttps2dq(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17D087ACA" , vcvttps2qq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F17D087A4C1A10" , vcvttps2qq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17D087A4C1A10" , vcvttps2qq(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17D287ACA" , vcvttps2qq(ymm1, xmm2));
+ TEST_INSTRUCTION("62F17D287A4C1A08" , vcvttps2qq(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17D287A4C1A08" , vcvttps2qq(ymm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17D487ACA" , vcvttps2qq(zmm1, ymm2));
+ TEST_INSTRUCTION("62F17D487A4C1A04" , vcvttps2qq(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17D487A4C1A04" , vcvttps2qq(zmm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17C0878CA" , vcvttps2udq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F17C08784C1A08" , vcvttps2udq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17C08784C1A08" , vcvttps2udq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17C2878CA" , vcvttps2udq(ymm1, ymm2));
+ TEST_INSTRUCTION("62F17C28784C1A04" , vcvttps2udq(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17C28784C1A04" , vcvttps2udq(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17C4878CA" , vcvttps2udq(zmm1, zmm2));
+ TEST_INSTRUCTION("62F17C48784C1A02" , vcvttps2udq(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17C48784C1A02" , vcvttps2udq(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17D0878CA" , vcvttps2uqq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F17D08784C1A10" , vcvttps2uqq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17D08784C1A10" , vcvttps2uqq(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17D2878CA" , vcvttps2uqq(ymm1, xmm2));
+ TEST_INSTRUCTION("62F17D28784C1A08" , vcvttps2uqq(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17D28784C1A08" , vcvttps2uqq(ymm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17D4878CA" , vcvttps2uqq(zmm1, ymm2));
+ TEST_INSTRUCTION("62F17D48784C1A04" , vcvttps2uqq(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17D48784C1A04" , vcvttps2uqq(zmm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FB2CCA" , vcvttsd2si(ecx, xmm2));
+ TEST_INSTRUCTION("C5FB2C8C1A80000000" , vcvttsd2si(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FB2C8C1A80000000" , vcvttsd2si(ecx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E1FB2CCA" , vcvttsd2si(rcx, xmm2));
+ TEST_INSTRUCTION("C4E1FB2C8C1A80000000" , vcvttsd2si(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E1FB2C8C1A80000000" , vcvttsd2si(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17F0878CA" , vcvttsd2usi(ecx, xmm2));
+ TEST_INSTRUCTION("62F17F08784C1A10" , vcvttsd2usi(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17F08784C1A10" , vcvttsd2usi(ecx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FF0878CA" , vcvttsd2usi(rcx, xmm2));
+ TEST_INSTRUCTION("62F1FF08784C1A10" , vcvttsd2usi(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FF08784C1A10" , vcvttsd2usi(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FA2CCA" , vcvttss2si(ecx, xmm2));
+ TEST_INSTRUCTION("C5FA2C8C1A80000000" , vcvttss2si(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FA2C8C1A80000000" , vcvttss2si(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E1FA2CCA" , vcvttss2si(rcx, xmm2));
+ TEST_INSTRUCTION("C4E1FA2C8C1A80000000" , vcvttss2si(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E1FA2C8C1A80000000" , vcvttss2si(rcx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17E0878CA" , vcvttss2usi(ecx, xmm2));
+ TEST_INSTRUCTION("62F17E08784C1A20" , vcvttss2usi(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17E08784C1A20" , vcvttss2usi(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE0878CA" , vcvttss2usi(rcx, xmm2));
+ TEST_INSTRUCTION("62F1FE08784C1A20" , vcvttss2usi(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE08784C1A20" , vcvttss2usi(rcx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17E087ACA" , vcvtudq2pd(xmm1, xmm2));
+ TEST_INSTRUCTION("62F17E087A4C1A10" , vcvtudq2pd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17E087A4C1A10" , vcvtudq2pd(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17E287ACA" , vcvtudq2pd(ymm1, xmm2));
+ TEST_INSTRUCTION("62F17E287A4C1A08" , vcvtudq2pd(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17E287A4C1A08" , vcvtudq2pd(ymm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17E487ACA" , vcvtudq2pd(zmm1, ymm2));
+ TEST_INSTRUCTION("62F17E487A4C1A04" , vcvtudq2pd(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17E487A4C1A04" , vcvtudq2pd(zmm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17F087ACA" , vcvtudq2ps(xmm1, xmm2));
+ TEST_INSTRUCTION("62F17F087A4C1A08" , vcvtudq2ps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17F087A4C1A08" , vcvtudq2ps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17F287ACA" , vcvtudq2ps(ymm1, ymm2));
+ TEST_INSTRUCTION("62F17F287A4C1A04" , vcvtudq2ps(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17F287A4C1A04" , vcvtudq2ps(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17F487ACA" , vcvtudq2ps(zmm1, zmm2));
+ TEST_INSTRUCTION("62F17F487A4C1A02" , vcvtudq2ps(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17F487A4C1A02" , vcvtudq2ps(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE087ACA" , vcvtuqq2pd(xmm1, xmm2));
+ TEST_INSTRUCTION("62F1FE087A4C1A08" , vcvtuqq2pd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE087A4C1A08" , vcvtuqq2pd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE287ACA" , vcvtuqq2pd(ymm1, ymm2));
+ TEST_INSTRUCTION("62F1FE287A4C1A04" , vcvtuqq2pd(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE287A4C1A04" , vcvtuqq2pd(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE487ACA" , vcvtuqq2pd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F1FE487A4C1A02" , vcvtuqq2pd(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE487A4C1A02" , vcvtuqq2pd(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FF087ACA" , vcvtuqq2ps(xmm1, xmm2));
+ TEST_INSTRUCTION("62F1FF287ACA" , vcvtuqq2ps(xmm1, ymm2));
+ TEST_INSTRUCTION("62F1FF087A4C1A08" , vcvtuqq2ps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FF287A4C1A04" , vcvtuqq2ps(xmm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FF487ACA" , vcvtuqq2ps(ymm1, zmm2));
+ TEST_INSTRUCTION("62F1FF487A4C1A02" , vcvtuqq2ps(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FF487A4C1A02" , vcvtuqq2ps(ymm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F16F087BCB" , vcvtusi2sd(xmm1, xmm2, ebx));
+ TEST_INSTRUCTION("62F1EF087BCB" , vcvtusi2sd(xmm1, xmm2, rbx));
+ TEST_INSTRUCTION("62F16F087B4C2B20" , vcvtusi2sd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16F087B4C2B20" , vcvtusi2sd(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1EF087B4C2B10" , vcvtusi2sd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16E087BCB" , vcvtusi2ss(xmm1, xmm2, ebx));
+ TEST_INSTRUCTION("62F1EE087BCB" , vcvtusi2ss(xmm1, xmm2, rbx));
+ TEST_INSTRUCTION("62F16E087B4C2B20" , vcvtusi2ss(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16E087B4C2B20" , vcvtusi2ss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1EE087B4C2B10" , vcvtusi2ss(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F36D0842CB01" , vdbpsadbw(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D08424C2B0801" , vdbpsadbw(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D08424C2B0801" , vdbpsadbw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D2842CB01" , vdbpsadbw(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F36D28424C2B0401" , vdbpsadbw(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D28424C2B0401" , vdbpsadbw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D4842CB01" , vdbpsadbw(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F36D48424C2B0201" , vdbpsadbw(zmm1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D48424C2B0201" , vdbpsadbw(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C5E95ECB" , vdivpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E95E8C2B80000000" , vdivpd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E95E8C2B80000000" , vdivpd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED5ECB" , vdivpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED5E8C2B80000000" , vdivpd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED5E8C2B80000000" , vdivpd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED485ECB" , vdivpd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED485E4C2B02" , vdivpd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED485E4C2B02" , vdivpd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E85ECB" , vdivps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E85E8C2B80000000" , vdivps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E85E8C2B80000000" , vdivps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EC5ECB" , vdivps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EC5E8C2B80000000" , vdivps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EC5E8C2B80000000" , vdivps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16C485ECB" , vdivps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16C485E4C2B02" , vdivps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16C485E4C2B02" , vdivps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EB5ECB" , vdivsd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EB5E8C2B80000000" , vdivsd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EB5E8C2B80000000" , vdivsd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EA5ECB" , vdivss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EA5E8C2B80000000" , vdivss(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EA5E8C2B80000000" , vdivss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26E0852CB" , vdpbf16ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26E08524C2B08" , vdpbf16ps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26E08524C2B08" , vdpbf16ps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26E2852CB" , vdpbf16ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26E28524C2B04" , vdpbf16ps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26E28524C2B04" , vdpbf16ps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26E4852CB" , vdpbf16ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26E48524C2B02" , vdpbf16ps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26E48524C2B02" , vdpbf16ps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E36941CB01" , vdppd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C4E369418C2B8000000001" , vdppd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E369418C2B8000000001" , vdppd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36940CB01" , vdpps(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C4E369408C2B8000000001" , vdpps(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E369408C2B8000000001" , vdpps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D40CB01" , vdpps(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("C4E36D408C2B8000000001" , vdpps(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D408C2B8000000001" , vdpps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("0F00E1" , verr(cx));
+ TEST_INSTRUCTION("0F00A41180000000" , verr(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F00A41180000000" , verr(word_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F00E9" , verw(cx));
+ TEST_INSTRUCTION("0F00AC1180000000" , verw(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F00AC1180000000" , verw(word_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD48C8CA" , vexp2pd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F2FD48C84C1A02" , vexp2pd(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD48C84C1A02" , vexp2pd(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48C8CA" , vexp2ps(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D48C84C1A02" , vexp2ps(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48C84C1A02" , vexp2ps(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD0888CA" , vexpandpd(xmm1, xmm2));
+ TEST_INSTRUCTION("62F2FD08884C1A10" , vexpandpd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD08884C1A10" , vexpandpd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD2888CA" , vexpandpd(ymm1, ymm2));
+ TEST_INSTRUCTION("62F2FD28884C1A10" , vexpandpd(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD28884C1A10" , vexpandpd(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD4888CA" , vexpandpd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F2FD48884C1A10" , vexpandpd(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD48884C1A10" , vexpandpd(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D0888CA" , vexpandps(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27D08884C1A20" , vexpandps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D08884C1A20" , vexpandps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D2888CA" , vexpandps(ymm1, ymm2));
+ TEST_INSTRUCTION("62F27D28884C1A20" , vexpandps(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D28884C1A20" , vexpandps(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4888CA" , vexpandps(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D48884C1A20" , vexpandps(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48884C1A20" , vexpandps(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E37D19D101" , vextractf128(xmm1, ymm2, 1));
+ TEST_INSTRUCTION("C4E37D199C118000000001" , vextractf128(ptr(rcx, rdx, 0, 128), ymm3, 1));
+ TEST_INSTRUCTION("C4E37D199C118000000001" , vextractf128(xmmword_ptr(rcx, rdx, 0, 128), ymm3, 1));
+ TEST_INSTRUCTION("62F37D2819D101" , vextractf32x4(xmm1, ymm2, 1));
+ TEST_INSTRUCTION("62F37D4819D101" , vextractf32x4(xmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F37D28195C110801" , vextractf32x4(ptr(rcx, rdx, 0, 128), ymm3, 1));
+ TEST_INSTRUCTION("62F37D48195C110801" , vextractf32x4(ptr(rcx, rdx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("62F37D28195C110801" , vextractf32x4(xmmword_ptr(rcx, rdx, 0, 128), ymm3, 1));
+ TEST_INSTRUCTION("62F37D48195C110801" , vextractf32x4(xmmword_ptr(rcx, rdx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("62F37D481BD101" , vextractf32x8(ymm1, zmm2, 1));
+ TEST_INSTRUCTION("62F37D481B5C110401" , vextractf32x8(ptr(rcx, rdx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("62F37D481B5C110401" , vextractf32x8(ymmword_ptr(rcx, rdx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("62F3FD2819D101" , vextractf64x2(xmm1, ymm2, 1));
+ TEST_INSTRUCTION("62F3FD4819D101" , vextractf64x2(xmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F3FD28195C110801" , vextractf64x2(ptr(rcx, rdx, 0, 128), ymm3, 1));
+ TEST_INSTRUCTION("62F3FD48195C110801" , vextractf64x2(ptr(rcx, rdx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("62F3FD28195C110801" , vextractf64x2(xmmword_ptr(rcx, rdx, 0, 128), ymm3, 1));
+ TEST_INSTRUCTION("62F3FD48195C110801" , vextractf64x2(xmmword_ptr(rcx, rdx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("62F3FD481BD101" , vextractf64x4(ymm1, zmm2, 1));
+ TEST_INSTRUCTION("62F3FD481B5C110401" , vextractf64x4(ptr(rcx, rdx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("62F3FD481B5C110401" , vextractf64x4(ymmword_ptr(rcx, rdx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("C4E37D39D101" , vextracti128(xmm1, ymm2, 1));
+ TEST_INSTRUCTION("C4E37D399C118000000001" , vextracti128(ptr(rcx, rdx, 0, 128), ymm3, 1));
+ TEST_INSTRUCTION("C4E37D399C118000000001" , vextracti128(xmmword_ptr(rcx, rdx, 0, 128), ymm3, 1));
+ TEST_INSTRUCTION("62F37D2839D101" , vextracti32x4(xmm1, ymm2, 1));
+ TEST_INSTRUCTION("62F37D4839D101" , vextracti32x4(xmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F37D28395C110801" , vextracti32x4(ptr(rcx, rdx, 0, 128), ymm3, 1));
+ TEST_INSTRUCTION("62F37D48395C110801" , vextracti32x4(ptr(rcx, rdx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("62F37D28395C110801" , vextracti32x4(xmmword_ptr(rcx, rdx, 0, 128), ymm3, 1));
+ TEST_INSTRUCTION("62F37D48395C110801" , vextracti32x4(xmmword_ptr(rcx, rdx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("62F37D483BD101" , vextracti32x8(ymm1, zmm2, 1));
+ TEST_INSTRUCTION("62F37D483B5C110401" , vextracti32x8(ptr(rcx, rdx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("62F37D483B5C110401" , vextracti32x8(ymmword_ptr(rcx, rdx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("62F3FD2839D101" , vextracti64x2(xmm1, ymm2, 1));
+ TEST_INSTRUCTION("62F3FD4839D101" , vextracti64x2(xmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F3FD28395C110801" , vextracti64x2(ptr(rcx, rdx, 0, 128), ymm3, 1));
+ TEST_INSTRUCTION("62F3FD48395C110801" , vextracti64x2(ptr(rcx, rdx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("62F3FD28395C110801" , vextracti64x2(xmmword_ptr(rcx, rdx, 0, 128), ymm3, 1));
+ TEST_INSTRUCTION("62F3FD48395C110801" , vextracti64x2(xmmword_ptr(rcx, rdx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("62F3FD483BD101" , vextracti64x4(ymm1, zmm2, 1));
+ TEST_INSTRUCTION("62F3FD483B5C110401" , vextracti64x4(ptr(rcx, rdx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("62F3FD483B5C110401" , vextracti64x4(ymmword_ptr(rcx, rdx, 0, 128), zmm3, 1));
+ TEST_INSTRUCTION("C4E37917D101" , vextractps(ecx, xmm2, 1));
+ TEST_INSTRUCTION("C4E379179C118000000001" , vextractps(ptr(rcx, rdx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("C4E379179C118000000001" , vextractps(dword_ptr(rcx, rdx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("62F3ED0854CB01" , vfixupimmpd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED08544C2B0801" , vfixupimmpd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED08544C2B0801" , vfixupimmpd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED2854CB01" , vfixupimmpd(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F3ED28544C2B0401" , vfixupimmpd(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED28544C2B0401" , vfixupimmpd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED4854CB01" , vfixupimmpd(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F3ED48544C2B0201" , vfixupimmpd(zmm1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED48544C2B0201" , vfixupimmpd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D0854CB01" , vfixupimmps(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D08544C2B0801" , vfixupimmps(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D08544C2B0801" , vfixupimmps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D2854CB01" , vfixupimmps(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F36D28544C2B0401" , vfixupimmps(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D28544C2B0401" , vfixupimmps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D4854CB01" , vfixupimmps(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F36D48544C2B0201" , vfixupimmps(zmm1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D48544C2B0201" , vfixupimmps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED0855CB01" , vfixupimmsd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED08554C2B1001" , vfixupimmsd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED08554C2B1001" , vfixupimmsd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D0855CB01" , vfixupimmss(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D08554C2B2001" , vfixupimmss(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D08554C2B2001" , vfixupimmss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E2E998CB" , vfmadd132pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9988C2B80000000" , vfmadd132pd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9988C2B80000000" , vfmadd132pd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED98CB" , vfmadd132pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2ED988C2B80000000" , vfmadd132pd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED988C2B80000000" , vfmadd132pd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4898CB" , vfmadd132pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48984C2B02" , vfmadd132pd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48984C2B02" , vfmadd132pd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26998CB" , vfmadd132ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269988C2B80000000" , vfmadd132ps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269988C2B80000000" , vfmadd132ps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D98CB" , vfmadd132ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D988C2B80000000" , vfmadd132ps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D988C2B80000000" , vfmadd132ps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4898CB" , vfmadd132ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48984C2B02" , vfmadd132ps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48984C2B02" , vfmadd132ps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E999CB" , vfmadd132sd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9998C2B80000000" , vfmadd132sd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9998C2B80000000" , vfmadd132sd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26999CB" , vfmadd132ss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269998C2B80000000" , vfmadd132ss(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269998C2B80000000" , vfmadd132ss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9A8CB" , vfmadd213pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9A88C2B80000000" , vfmadd213pd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9A88C2B80000000" , vfmadd213pd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDA8CB" , vfmadd213pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2EDA88C2B80000000" , vfmadd213pd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDA88C2B80000000" , vfmadd213pd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48A8CB" , vfmadd213pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48A84C2B02" , vfmadd213pd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48A84C2B02" , vfmadd213pd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269A8CB" , vfmadd213ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269A88C2B80000000" , vfmadd213ps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269A88C2B80000000" , vfmadd213ps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DA8CB" , vfmadd213ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26DA88C2B80000000" , vfmadd213ps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DA88C2B80000000" , vfmadd213ps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48A8CB" , vfmadd213ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48A84C2B02" , vfmadd213ps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48A84C2B02" , vfmadd213ps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9A9CB" , vfmadd213sd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9A98C2B80000000" , vfmadd213sd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9A98C2B80000000" , vfmadd213sd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269A9CB" , vfmadd213ss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269A98C2B80000000" , vfmadd213ss(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269A98C2B80000000" , vfmadd213ss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9B8CB" , vfmadd231pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9B88C2B80000000" , vfmadd231pd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9B88C2B80000000" , vfmadd231pd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDB8CB" , vfmadd231pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2EDB88C2B80000000" , vfmadd231pd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDB88C2B80000000" , vfmadd231pd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48B8CB" , vfmadd231pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48B84C2B02" , vfmadd231pd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48B84C2B02" , vfmadd231pd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269B8CB" , vfmadd231ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269B88C2B80000000" , vfmadd231ps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269B88C2B80000000" , vfmadd231ps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DB8CB" , vfmadd231ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26DB88C2B80000000" , vfmadd231ps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DB88C2B80000000" , vfmadd231ps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48B8CB" , vfmadd231ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48B84C2B02" , vfmadd231ps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48B84C2B02" , vfmadd231ps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9B9CB" , vfmadd231sd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9B98C2B80000000" , vfmadd231sd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9B98C2B80000000" , vfmadd231sd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269B9CB" , vfmadd231ss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269B98C2B80000000" , vfmadd231ss(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269B98C2B80000000" , vfmadd231ss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E3E969CC30" , vfmaddpd(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E9698C358000000030" , vfmaddpd(xmm1, xmm2, xmm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E9698C358000000030" , vfmaddpd(xmm1, xmm2, xmm3, xmmword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E369698C2B8000000060" , vfmaddpd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E369698C2B8000000060" , vfmaddpd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3ED69CC30" , vfmaddpd(ymm1, ymm2, ymm3, ymm4));
+ TEST_INSTRUCTION("C4E3ED698C358000000030" , vfmaddpd(ymm1, ymm2, ymm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3ED698C358000000030" , vfmaddpd(ymm1, ymm2, ymm3, ymmword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E36D698C2B8000000060" , vfmaddpd(ymm1, ymm2, ptr(rbx, rbp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E36D698C2B8000000060" , vfmaddpd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E3E968CC30" , vfmaddps(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E9688C358000000030" , vfmaddps(xmm1, xmm2, xmm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E9688C358000000030" , vfmaddps(xmm1, xmm2, xmm3, xmmword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E369688C2B8000000060" , vfmaddps(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E369688C2B8000000060" , vfmaddps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3ED68CC30" , vfmaddps(ymm1, ymm2, ymm3, ymm4));
+ TEST_INSTRUCTION("C4E3ED688C358000000030" , vfmaddps(ymm1, ymm2, ymm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3ED688C358000000030" , vfmaddps(ymm1, ymm2, ymm3, ymmword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E36D688C2B8000000060" , vfmaddps(ymm1, ymm2, ptr(rbx, rbp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E36D688C2B8000000060" , vfmaddps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E3E96BCC30" , vfmaddsd(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E96B8C358000000030" , vfmaddsd(xmm1, xmm2, xmm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E96B8C358000000030" , vfmaddsd(xmm1, xmm2, xmm3, qword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3696B8C2B8000000060" , vfmaddsd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3696B8C2B8000000060" , vfmaddsd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3E96ACC30" , vfmaddss(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E96A8C358000000030" , vfmaddss(xmm1, xmm2, xmm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E96A8C358000000030" , vfmaddss(xmm1, xmm2, xmm3, dword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3696A8C2B8000000060" , vfmaddss(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3696A8C2B8000000060" , vfmaddss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E2E996CB" , vfmaddsub132pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9968C2B80000000" , vfmaddsub132pd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9968C2B80000000" , vfmaddsub132pd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED96CB" , vfmaddsub132pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2ED968C2B80000000" , vfmaddsub132pd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED968C2B80000000" , vfmaddsub132pd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4896CB" , vfmaddsub132pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48964C2B02" , vfmaddsub132pd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48964C2B02" , vfmaddsub132pd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26996CB" , vfmaddsub132ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269968C2B80000000" , vfmaddsub132ps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269968C2B80000000" , vfmaddsub132ps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D96CB" , vfmaddsub132ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D968C2B80000000" , vfmaddsub132ps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D968C2B80000000" , vfmaddsub132ps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4896CB" , vfmaddsub132ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48964C2B02" , vfmaddsub132ps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48964C2B02" , vfmaddsub132ps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9A6CB" , vfmaddsub213pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9A68C2B80000000" , vfmaddsub213pd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9A68C2B80000000" , vfmaddsub213pd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDA6CB" , vfmaddsub213pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2EDA68C2B80000000" , vfmaddsub213pd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDA68C2B80000000" , vfmaddsub213pd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48A6CB" , vfmaddsub213pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48A64C2B02" , vfmaddsub213pd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48A64C2B02" , vfmaddsub213pd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269A6CB" , vfmaddsub213ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269A68C2B80000000" , vfmaddsub213ps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269A68C2B80000000" , vfmaddsub213ps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DA6CB" , vfmaddsub213ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26DA68C2B80000000" , vfmaddsub213ps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DA68C2B80000000" , vfmaddsub213ps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48A6CB" , vfmaddsub213ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48A64C2B02" , vfmaddsub213ps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48A64C2B02" , vfmaddsub213ps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9B6CB" , vfmaddsub231pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9B68C2B80000000" , vfmaddsub231pd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9B68C2B80000000" , vfmaddsub231pd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDB6CB" , vfmaddsub231pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2EDB68C2B80000000" , vfmaddsub231pd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDB68C2B80000000" , vfmaddsub231pd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48B6CB" , vfmaddsub231pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48B64C2B02" , vfmaddsub231pd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48B64C2B02" , vfmaddsub231pd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269B6CB" , vfmaddsub231ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269B68C2B80000000" , vfmaddsub231ps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269B68C2B80000000" , vfmaddsub231ps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DB6CB" , vfmaddsub231ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26DB68C2B80000000" , vfmaddsub231ps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DB68C2B80000000" , vfmaddsub231ps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48B6CB" , vfmaddsub231ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48B64C2B02" , vfmaddsub231ps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48B64C2B02" , vfmaddsub231ps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E3E95DCC30" , vfmaddsubpd(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E95D8C358000000030" , vfmaddsubpd(xmm1, xmm2, xmm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E95D8C358000000030" , vfmaddsubpd(xmm1, xmm2, xmm3, xmmword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3695D8C2B8000000060" , vfmaddsubpd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3695D8C2B8000000060" , vfmaddsubpd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3ED5DCC30" , vfmaddsubpd(ymm1, ymm2, ymm3, ymm4));
+ TEST_INSTRUCTION("C4E3ED5D8C358000000030" , vfmaddsubpd(ymm1, ymm2, ymm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3ED5D8C358000000030" , vfmaddsubpd(ymm1, ymm2, ymm3, ymmword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E36D5D8C2B8000000060" , vfmaddsubpd(ymm1, ymm2, ptr(rbx, rbp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E36D5D8C2B8000000060" , vfmaddsubpd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E3E95CCC30" , vfmaddsubps(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E95C8C358000000030" , vfmaddsubps(xmm1, xmm2, xmm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E95C8C358000000030" , vfmaddsubps(xmm1, xmm2, xmm3, xmmword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3695C8C2B8000000060" , vfmaddsubps(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3695C8C2B8000000060" , vfmaddsubps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3ED5CCC30" , vfmaddsubps(ymm1, ymm2, ymm3, ymm4));
+ TEST_INSTRUCTION("C4E3ED5C8C358000000030" , vfmaddsubps(ymm1, ymm2, ymm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3ED5C8C358000000030" , vfmaddsubps(ymm1, ymm2, ymm3, ymmword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E36D5C8C2B8000000060" , vfmaddsubps(ymm1, ymm2, ptr(rbx, rbp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E36D5C8C2B8000000060" , vfmaddsubps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E2E99ACB" , vfmsub132pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E99A8C2B80000000" , vfmsub132pd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E99A8C2B80000000" , vfmsub132pd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED9ACB" , vfmsub132pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2ED9A8C2B80000000" , vfmsub132pd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED9A8C2B80000000" , vfmsub132pd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED489ACB" , vfmsub132pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED489A4C2B02" , vfmsub132pd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED489A4C2B02" , vfmsub132pd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2699ACB" , vfmsub132ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2699A8C2B80000000" , vfmsub132ps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2699A8C2B80000000" , vfmsub132ps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D9ACB" , vfmsub132ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D9A8C2B80000000" , vfmsub132ps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D9A8C2B80000000" , vfmsub132ps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D489ACB" , vfmsub132ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D489A4C2B02" , vfmsub132ps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D489A4C2B02" , vfmsub132ps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E99BCB" , vfmsub132sd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E99B8C2B80000000" , vfmsub132sd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E99B8C2B80000000" , vfmsub132sd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2699BCB" , vfmsub132ss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2699B8C2B80000000" , vfmsub132ss(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2699B8C2B80000000" , vfmsub132ss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9AACB" , vfmsub213pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9AA8C2B80000000" , vfmsub213pd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9AA8C2B80000000" , vfmsub213pd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDAACB" , vfmsub213pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2EDAA8C2B80000000" , vfmsub213pd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDAA8C2B80000000" , vfmsub213pd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48AACB" , vfmsub213pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48AA4C2B02" , vfmsub213pd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48AA4C2B02" , vfmsub213pd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269AACB" , vfmsub213ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269AA8C2B80000000" , vfmsub213ps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269AA8C2B80000000" , vfmsub213ps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DAACB" , vfmsub213ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26DAA8C2B80000000" , vfmsub213ps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DAA8C2B80000000" , vfmsub213ps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48AACB" , vfmsub213ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48AA4C2B02" , vfmsub213ps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48AA4C2B02" , vfmsub213ps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9ABCB" , vfmsub213sd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9AB8C2B80000000" , vfmsub213sd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9AB8C2B80000000" , vfmsub213sd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269ABCB" , vfmsub213ss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269AB8C2B80000000" , vfmsub213ss(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269AB8C2B80000000" , vfmsub213ss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9BACB" , vfmsub231pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9BA8C2B80000000" , vfmsub231pd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9BA8C2B80000000" , vfmsub231pd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDBACB" , vfmsub231pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2EDBA8C2B80000000" , vfmsub231pd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDBA8C2B80000000" , vfmsub231pd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48BACB" , vfmsub231pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48BA4C2B02" , vfmsub231pd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48BA4C2B02" , vfmsub231pd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269BACB" , vfmsub231ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269BA8C2B80000000" , vfmsub231ps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269BA8C2B80000000" , vfmsub231ps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DBACB" , vfmsub231ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26DBA8C2B80000000" , vfmsub231ps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DBA8C2B80000000" , vfmsub231ps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48BACB" , vfmsub231ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48BA4C2B02" , vfmsub231ps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48BA4C2B02" , vfmsub231ps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9BBCB" , vfmsub231sd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9BB8C2B80000000" , vfmsub231sd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9BB8C2B80000000" , vfmsub231sd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269BBCB" , vfmsub231ss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269BB8C2B80000000" , vfmsub231ss(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269BB8C2B80000000" , vfmsub231ss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E997CB" , vfmsubadd132pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9978C2B80000000" , vfmsubadd132pd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9978C2B80000000" , vfmsubadd132pd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED97CB" , vfmsubadd132pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2ED978C2B80000000" , vfmsubadd132pd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED978C2B80000000" , vfmsubadd132pd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4897CB" , vfmsubadd132pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48974C2B02" , vfmsubadd132pd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48974C2B02" , vfmsubadd132pd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26997CB" , vfmsubadd132ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269978C2B80000000" , vfmsubadd132ps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269978C2B80000000" , vfmsubadd132ps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D97CB" , vfmsubadd132ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D978C2B80000000" , vfmsubadd132ps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D978C2B80000000" , vfmsubadd132ps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4897CB" , vfmsubadd132ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48974C2B02" , vfmsubadd132ps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48974C2B02" , vfmsubadd132ps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9A7CB" , vfmsubadd213pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9A78C2B80000000" , vfmsubadd213pd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9A78C2B80000000" , vfmsubadd213pd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDA7CB" , vfmsubadd213pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2EDA78C2B80000000" , vfmsubadd213pd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDA78C2B80000000" , vfmsubadd213pd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48A7CB" , vfmsubadd213pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48A74C2B02" , vfmsubadd213pd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48A74C2B02" , vfmsubadd213pd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269A7CB" , vfmsubadd213ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269A78C2B80000000" , vfmsubadd213ps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269A78C2B80000000" , vfmsubadd213ps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DA7CB" , vfmsubadd213ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26DA78C2B80000000" , vfmsubadd213ps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DA78C2B80000000" , vfmsubadd213ps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48A7CB" , vfmsubadd213ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48A74C2B02" , vfmsubadd213ps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48A74C2B02" , vfmsubadd213ps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9B7CB" , vfmsubadd231pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9B78C2B80000000" , vfmsubadd231pd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9B78C2B80000000" , vfmsubadd231pd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDB7CB" , vfmsubadd231pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2EDB78C2B80000000" , vfmsubadd231pd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDB78C2B80000000" , vfmsubadd231pd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48B7CB" , vfmsubadd231pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48B74C2B02" , vfmsubadd231pd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48B74C2B02" , vfmsubadd231pd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269B7CB" , vfmsubadd231ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269B78C2B80000000" , vfmsubadd231ps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269B78C2B80000000" , vfmsubadd231ps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DB7CB" , vfmsubadd231ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26DB78C2B80000000" , vfmsubadd231ps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DB78C2B80000000" , vfmsubadd231ps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48B7CB" , vfmsubadd231ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48B74C2B02" , vfmsubadd231ps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48B74C2B02" , vfmsubadd231ps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E3E95FCC30" , vfmsubaddpd(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E95F8C358000000030" , vfmsubaddpd(xmm1, xmm2, xmm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E95F8C358000000030" , vfmsubaddpd(xmm1, xmm2, xmm3, xmmword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3695F8C2B8000000060" , vfmsubaddpd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3695F8C2B8000000060" , vfmsubaddpd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3ED5FCC30" , vfmsubaddpd(ymm1, ymm2, ymm3, ymm4));
+ TEST_INSTRUCTION("C4E3ED5F8C358000000030" , vfmsubaddpd(ymm1, ymm2, ymm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3ED5F8C358000000030" , vfmsubaddpd(ymm1, ymm2, ymm3, ymmword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E36D5F8C2B8000000060" , vfmsubaddpd(ymm1, ymm2, ptr(rbx, rbp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E36D5F8C2B8000000060" , vfmsubaddpd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E3E95ECC30" , vfmsubaddps(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E95E8C358000000030" , vfmsubaddps(xmm1, xmm2, xmm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E95E8C358000000030" , vfmsubaddps(xmm1, xmm2, xmm3, xmmword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3695E8C2B8000000060" , vfmsubaddps(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3695E8C2B8000000060" , vfmsubaddps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3ED5ECC30" , vfmsubaddps(ymm1, ymm2, ymm3, ymm4));
+ TEST_INSTRUCTION("C4E3ED5E8C358000000030" , vfmsubaddps(ymm1, ymm2, ymm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3ED5E8C358000000030" , vfmsubaddps(ymm1, ymm2, ymm3, ymmword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E36D5E8C2B8000000060" , vfmsubaddps(ymm1, ymm2, ptr(rbx, rbp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E36D5E8C2B8000000060" , vfmsubaddps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E3E96DCC30" , vfmsubpd(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E96D8C358000000030" , vfmsubpd(xmm1, xmm2, xmm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E96D8C358000000030" , vfmsubpd(xmm1, xmm2, xmm3, xmmword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3696D8C2B8000000060" , vfmsubpd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3696D8C2B8000000060" , vfmsubpd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3ED6DCC30" , vfmsubpd(ymm1, ymm2, ymm3, ymm4));
+ TEST_INSTRUCTION("C4E3ED6D8C358000000030" , vfmsubpd(ymm1, ymm2, ymm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3ED6D8C358000000030" , vfmsubpd(ymm1, ymm2, ymm3, ymmword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E36D6D8C2B8000000060" , vfmsubpd(ymm1, ymm2, ptr(rbx, rbp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E36D6D8C2B8000000060" , vfmsubpd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E3E96CCC30" , vfmsubps(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E96C8C358000000030" , vfmsubps(xmm1, xmm2, xmm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E96C8C358000000030" , vfmsubps(xmm1, xmm2, xmm3, xmmword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3696C8C2B8000000060" , vfmsubps(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3696C8C2B8000000060" , vfmsubps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3ED6CCC30" , vfmsubps(ymm1, ymm2, ymm3, ymm4));
+ TEST_INSTRUCTION("C4E3ED6C8C358000000030" , vfmsubps(ymm1, ymm2, ymm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3ED6C8C358000000030" , vfmsubps(ymm1, ymm2, ymm3, ymmword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E36D6C8C2B8000000060" , vfmsubps(ymm1, ymm2, ptr(rbx, rbp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E36D6C8C2B8000000060" , vfmsubps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E3E96FCC30" , vfmsubsd(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E96F8C358000000030" , vfmsubsd(xmm1, xmm2, xmm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E96F8C358000000030" , vfmsubsd(xmm1, xmm2, xmm3, qword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3696F8C2B8000000060" , vfmsubsd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3696F8C2B8000000060" , vfmsubsd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3E96ECC30" , vfmsubss(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E96E8C358000000030" , vfmsubss(xmm1, xmm2, xmm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E96E8C358000000030" , vfmsubss(xmm1, xmm2, xmm3, dword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3696E8C2B8000000060" , vfmsubss(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3696E8C2B8000000060" , vfmsubss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E2E99CCB" , vfnmadd132pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E99C8C2B80000000" , vfnmadd132pd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E99C8C2B80000000" , vfnmadd132pd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED9CCB" , vfnmadd132pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2ED9C8C2B80000000" , vfnmadd132pd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED9C8C2B80000000" , vfnmadd132pd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED489CCB" , vfnmadd132pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED489C4C2B02" , vfnmadd132pd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED489C4C2B02" , vfnmadd132pd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2699CCB" , vfnmadd132ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2699C8C2B80000000" , vfnmadd132ps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2699C8C2B80000000" , vfnmadd132ps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D9CCB" , vfnmadd132ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D9C8C2B80000000" , vfnmadd132ps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D9C8C2B80000000" , vfnmadd132ps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D489CCB" , vfnmadd132ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D489C4C2B02" , vfnmadd132ps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D489C4C2B02" , vfnmadd132ps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E99DCB" , vfnmadd132sd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E99D8C2B80000000" , vfnmadd132sd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E99D8C2B80000000" , vfnmadd132sd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2699DCB" , vfnmadd132ss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2699D8C2B80000000" , vfnmadd132ss(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2699D8C2B80000000" , vfnmadd132ss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9ACCB" , vfnmadd213pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9AC8C2B80000000" , vfnmadd213pd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9AC8C2B80000000" , vfnmadd213pd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDACCB" , vfnmadd213pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2EDAC8C2B80000000" , vfnmadd213pd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDAC8C2B80000000" , vfnmadd213pd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48ACCB" , vfnmadd213pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48AC4C2B02" , vfnmadd213pd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48AC4C2B02" , vfnmadd213pd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269ACCB" , vfnmadd213ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269AC8C2B80000000" , vfnmadd213ps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269AC8C2B80000000" , vfnmadd213ps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DACCB" , vfnmadd213ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26DAC8C2B80000000" , vfnmadd213ps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DAC8C2B80000000" , vfnmadd213ps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48ACCB" , vfnmadd213ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48AC4C2B02" , vfnmadd213ps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48AC4C2B02" , vfnmadd213ps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9ADCB" , vfnmadd213sd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9AD8C2B80000000" , vfnmadd213sd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9AD8C2B80000000" , vfnmadd213sd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269ADCB" , vfnmadd213ss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269AD8C2B80000000" , vfnmadd213ss(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269AD8C2B80000000" , vfnmadd213ss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9BCCB" , vfnmadd231pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9BC8C2B80000000" , vfnmadd231pd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9BC8C2B80000000" , vfnmadd231pd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDBCCB" , vfnmadd231pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2EDBC8C2B80000000" , vfnmadd231pd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDBC8C2B80000000" , vfnmadd231pd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48BCCB" , vfnmadd231pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48BC4C2B02" , vfnmadd231pd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48BC4C2B02" , vfnmadd231pd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269BCCB" , vfnmadd231ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269BC8C2B80000000" , vfnmadd231ps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269BC8C2B80000000" , vfnmadd231ps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DBCCB" , vfnmadd231ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26DBC8C2B80000000" , vfnmadd231ps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DBC8C2B80000000" , vfnmadd231ps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48BCCB" , vfnmadd231ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48BC4C2B02" , vfnmadd231ps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48BC4C2B02" , vfnmadd231ps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9BDCB" , vfnmadd231sd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9BD8C2B80000000" , vfnmadd231sd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9BD8C2B80000000" , vfnmadd231sd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269BDCB" , vfnmadd231ss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269BD8C2B80000000" , vfnmadd231ss(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269BD8C2B80000000" , vfnmadd231ss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E3E979CC30" , vfnmaddpd(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E9798C358000000030" , vfnmaddpd(xmm1, xmm2, xmm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E9798C358000000030" , vfnmaddpd(xmm1, xmm2, xmm3, xmmword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E369798C2B8000000060" , vfnmaddpd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E369798C2B8000000060" , vfnmaddpd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3ED79CC30" , vfnmaddpd(ymm1, ymm2, ymm3, ymm4));
+ TEST_INSTRUCTION("C4E3ED798C358000000030" , vfnmaddpd(ymm1, ymm2, ymm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3ED798C358000000030" , vfnmaddpd(ymm1, ymm2, ymm3, ymmword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E36D798C2B8000000060" , vfnmaddpd(ymm1, ymm2, ptr(rbx, rbp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E36D798C2B8000000060" , vfnmaddpd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E3E978CC30" , vfnmaddps(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E9788C358000000030" , vfnmaddps(xmm1, xmm2, xmm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E9788C358000000030" , vfnmaddps(xmm1, xmm2, xmm3, xmmword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E369788C2B8000000060" , vfnmaddps(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E369788C2B8000000060" , vfnmaddps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3ED78CC30" , vfnmaddps(ymm1, ymm2, ymm3, ymm4));
+ TEST_INSTRUCTION("C4E3ED788C358000000030" , vfnmaddps(ymm1, ymm2, ymm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3ED788C358000000030" , vfnmaddps(ymm1, ymm2, ymm3, ymmword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E36D788C2B8000000060" , vfnmaddps(ymm1, ymm2, ptr(rbx, rbp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E36D788C2B8000000060" , vfnmaddps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E3E97BCC30" , vfnmaddsd(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E97B8C358000000030" , vfnmaddsd(xmm1, xmm2, xmm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E97B8C358000000030" , vfnmaddsd(xmm1, xmm2, xmm3, qword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3697B8C2B8000000060" , vfnmaddsd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3697B8C2B8000000060" , vfnmaddsd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3E97ACC30" , vfnmaddss(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E97A8C358000000030" , vfnmaddss(xmm1, xmm2, xmm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E97A8C358000000030" , vfnmaddss(xmm1, xmm2, xmm3, dword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3697A8C2B8000000060" , vfnmaddss(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3697A8C2B8000000060" , vfnmaddss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E2E99ECB" , vfnmsub132pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E99E8C2B80000000" , vfnmsub132pd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E99E8C2B80000000" , vfnmsub132pd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED9ECB" , vfnmsub132pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2ED9E8C2B80000000" , vfnmsub132pd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED9E8C2B80000000" , vfnmsub132pd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED489ECB" , vfnmsub132pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED489E4C2B02" , vfnmsub132pd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED489E4C2B02" , vfnmsub132pd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2699ECB" , vfnmsub132ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2699E8C2B80000000" , vfnmsub132ps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2699E8C2B80000000" , vfnmsub132ps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D9ECB" , vfnmsub132ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D9E8C2B80000000" , vfnmsub132ps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D9E8C2B80000000" , vfnmsub132ps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D489ECB" , vfnmsub132ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D489E4C2B02" , vfnmsub132ps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D489E4C2B02" , vfnmsub132ps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E99FCB" , vfnmsub132sd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E99F8C2B80000000" , vfnmsub132sd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E99F8C2B80000000" , vfnmsub132sd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2699FCB" , vfnmsub132ss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2699F8C2B80000000" , vfnmsub132ss(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2699F8C2B80000000" , vfnmsub132ss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9AECB" , vfnmsub213pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9AE8C2B80000000" , vfnmsub213pd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9AE8C2B80000000" , vfnmsub213pd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDAECB" , vfnmsub213pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2EDAE8C2B80000000" , vfnmsub213pd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDAE8C2B80000000" , vfnmsub213pd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48AECB" , vfnmsub213pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48AE4C2B02" , vfnmsub213pd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48AE4C2B02" , vfnmsub213pd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269AECB" , vfnmsub213ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269AE8C2B80000000" , vfnmsub213ps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269AE8C2B80000000" , vfnmsub213ps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DAECB" , vfnmsub213ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26DAE8C2B80000000" , vfnmsub213ps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DAE8C2B80000000" , vfnmsub213ps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48AECB" , vfnmsub213ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48AE4C2B02" , vfnmsub213ps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48AE4C2B02" , vfnmsub213ps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9AFCB" , vfnmsub213sd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9AF8C2B80000000" , vfnmsub213sd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9AF8C2B80000000" , vfnmsub213sd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269AFCB" , vfnmsub213ss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269AF8C2B80000000" , vfnmsub213ss(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269AF8C2B80000000" , vfnmsub213ss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9BECB" , vfnmsub231pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9BE8C2B80000000" , vfnmsub231pd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9BE8C2B80000000" , vfnmsub231pd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDBECB" , vfnmsub231pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2EDBE8C2B80000000" , vfnmsub231pd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2EDBE8C2B80000000" , vfnmsub231pd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48BECB" , vfnmsub231pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48BE4C2B02" , vfnmsub231pd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48BE4C2B02" , vfnmsub231pd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269BECB" , vfnmsub231ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269BE8C2B80000000" , vfnmsub231ps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269BE8C2B80000000" , vfnmsub231ps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DBECB" , vfnmsub231ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26DBE8C2B80000000" , vfnmsub231ps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DBE8C2B80000000" , vfnmsub231ps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48BECB" , vfnmsub231ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48BE4C2B02" , vfnmsub231ps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48BE4C2B02" , vfnmsub231ps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9BFCB" , vfnmsub231sd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9BF8C2B80000000" , vfnmsub231sd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9BF8C2B80000000" , vfnmsub231sd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269BFCB" , vfnmsub231ss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269BF8C2B80000000" , vfnmsub231ss(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269BF8C2B80000000" , vfnmsub231ss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E3E97DCC30" , vfnmsubpd(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E97D8C358000000030" , vfnmsubpd(xmm1, xmm2, xmm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E97D8C358000000030" , vfnmsubpd(xmm1, xmm2, xmm3, xmmword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3697D8C2B8000000060" , vfnmsubpd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3697D8C2B8000000060" , vfnmsubpd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3ED7DCC30" , vfnmsubpd(ymm1, ymm2, ymm3, ymm4));
+ TEST_INSTRUCTION("C4E3ED7D8C358000000030" , vfnmsubpd(ymm1, ymm2, ymm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3ED7D8C358000000030" , vfnmsubpd(ymm1, ymm2, ymm3, ymmword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E36D7D8C2B8000000060" , vfnmsubpd(ymm1, ymm2, ptr(rbx, rbp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E36D7D8C2B8000000060" , vfnmsubpd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E3E97CCC30" , vfnmsubps(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E97C8C358000000030" , vfnmsubps(xmm1, xmm2, xmm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E97C8C358000000030" , vfnmsubps(xmm1, xmm2, xmm3, xmmword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3697C8C2B8000000060" , vfnmsubps(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3697C8C2B8000000060" , vfnmsubps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3ED7CCC30" , vfnmsubps(ymm1, ymm2, ymm3, ymm4));
+ TEST_INSTRUCTION("C4E3ED7C8C358000000030" , vfnmsubps(ymm1, ymm2, ymm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3ED7C8C358000000030" , vfnmsubps(ymm1, ymm2, ymm3, ymmword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E36D7C8C2B8000000060" , vfnmsubps(ymm1, ymm2, ptr(rbx, rbp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E36D7C8C2B8000000060" , vfnmsubps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E3E97FCC30" , vfnmsubsd(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E97F8C358000000030" , vfnmsubsd(xmm1, xmm2, xmm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E97F8C358000000030" , vfnmsubsd(xmm1, xmm2, xmm3, qword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3697F8C2B8000000060" , vfnmsubsd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3697F8C2B8000000060" , vfnmsubsd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3E97ECC30" , vfnmsubss(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3E97E8C358000000030" , vfnmsubss(xmm1, xmm2, xmm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3E97E8C358000000030" , vfnmsubss(xmm1, xmm2, xmm3, dword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("C4E3697E8C2B8000000060" , vfnmsubss(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3697E8C2B8000000060" , vfnmsubss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("62F3FD0866CA01" , vfpclasspd(k1, xmm2, 1));
+ TEST_INSTRUCTION("62F3FD2866CA01" , vfpclasspd(k1, ymm2, 1));
+ TEST_INSTRUCTION("62F3FD4866CA01" , vfpclasspd(k1, zmm2, 1));
+ TEST_INSTRUCTION("62F3FD08664C1A0801" , vfpclasspd(k1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD28664C1A0401" , vfpclasspd(k1, ymmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD48664C1A0201" , vfpclasspd(k1, zmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D0866CA01" , vfpclassps(k1, xmm2, 1));
+ TEST_INSTRUCTION("62F37D2866CA01" , vfpclassps(k1, ymm2, 1));
+ TEST_INSTRUCTION("62F37D4866CA01" , vfpclassps(k1, zmm2, 1));
+ TEST_INSTRUCTION("62F37D08664C1A0801" , vfpclassps(k1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D28664C1A0401" , vfpclassps(k1, ymmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D48664C1A0201" , vfpclassps(k1, zmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD0867CA01" , vfpclasssd(k1, xmm2, 1));
+ TEST_INSTRUCTION("62F3FD08674C1A1001" , vfpclasssd(k1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD08674C1A1001" , vfpclasssd(k1, qword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D0867CA01" , vfpclassss(k1, xmm2, 1));
+ TEST_INSTRUCTION("62F37D08674C1A2001" , vfpclassss(k1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D08674C1A2001" , vfpclassss(k1, dword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("8FE97881CA" , vfrczpd(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978818C1A80000000" , vfrczpd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE978818C1A80000000" , vfrczpd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE97C81CA" , vfrczpd(ymm1, ymm2));
+ TEST_INSTRUCTION("8FE97C818C1A80000000" , vfrczpd(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE97C818C1A80000000" , vfrczpd(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE97880CA" , vfrczps(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978808C1A80000000" , vfrczps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE978808C1A80000000" , vfrczps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE97C80CA" , vfrczps(ymm1, ymm2));
+ TEST_INSTRUCTION("8FE97C808C1A80000000" , vfrczps(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE97C808C1A80000000" , vfrczps(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE97883CA" , vfrczsd(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978838C1A80000000" , vfrczsd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE978838C1A80000000" , vfrczsd(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE97882CA" , vfrczss(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978828C1A80000000" , vfrczss(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE978828C1A80000000" , vfrczss(xmm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E2D9928C1A80000000" , vgatherdpd(xmm1, ptr(rdx, xmm3, 0, 128), xmm4));
+ TEST_INSTRUCTION("C4E2DD928C1A80000000" , vgatherdpd(ymm1, ptr(rdx, xmm3, 0, 128), ymm4));
+ TEST_INSTRUCTION("62F2FD09924C1A10" , k(k1).vgatherdpd(xmm1, ptr(rdx, xmm3, 0, 128)));
+ TEST_INSTRUCTION("62F2FD29924C1A10" , k(k1).vgatherdpd(ymm1, ptr(rdx, xmm3, 0, 128)));
+ TEST_INSTRUCTION("62F2FD49924C1A10" , k(k1).vgatherdpd(zmm1, ptr(rdx, ymm3, 0, 128)));
+ TEST_INSTRUCTION("C4E259928C1A80000000" , vgatherdps(xmm1, ptr(rdx, xmm3, 0, 128), xmm4));
+ TEST_INSTRUCTION("C4E25D928C1A80000000" , vgatherdps(ymm1, ptr(rdx, ymm3, 0, 128), ymm4));
+ TEST_INSTRUCTION("62F27D09924C1A20" , k(k1).vgatherdps(xmm1, ptr(rdx, xmm3, 0, 128)));
+ TEST_INSTRUCTION("62F27D29924C1A20" , k(k1).vgatherdps(ymm1, ptr(rdx, ymm3, 0, 128)));
+ TEST_INSTRUCTION("62F27D49924C1A20" , k(k1).vgatherdps(zmm1, ptr(rdx, zmm3, 0, 128)));
+ TEST_INSTRUCTION("62F2FD49C64C1110" , k(k1).vgatherpf0dpd(ptr(rcx, ymm2, 0, 128)));
+ TEST_INSTRUCTION("62F27D49C64C1120" , k(k1).vgatherpf0dps(ptr(rcx, zmm2, 0, 128)));
+ TEST_INSTRUCTION("62F2FD49C74C1110" , k(k1).vgatherpf0qpd(ptr(rcx, zmm2, 0, 128)));
+ TEST_INSTRUCTION("62F27D49C74C1120" , k(k1).vgatherpf0qps(ptr(rcx, zmm2, 0, 128)));
+ TEST_INSTRUCTION("62F2FD49C6541110" , k(k1).vgatherpf1dpd(ptr(rcx, ymm2, 0, 128)));
+ TEST_INSTRUCTION("62F27D49C6541120" , k(k1).vgatherpf1dps(ptr(rcx, zmm2, 0, 128)));
+ TEST_INSTRUCTION("62F2FD49C7541110" , k(k1).vgatherpf1qpd(ptr(rcx, zmm2, 0, 128)));
+ TEST_INSTRUCTION("62F27D49C7541120" , k(k1).vgatherpf1qps(ptr(rcx, zmm2, 0, 128)));
+ TEST_INSTRUCTION("C4E2D9938C1A80000000" , vgatherqpd(xmm1, ptr(rdx, xmm3, 0, 128), xmm4));
+ TEST_INSTRUCTION("C4E2DD938C1A80000000" , vgatherqpd(ymm1, ptr(rdx, ymm3, 0, 128), ymm4));
+ TEST_INSTRUCTION("62F2FD09934C1A10" , k(k1).vgatherqpd(xmm1, ptr(rdx, xmm3, 0, 128)));
+ TEST_INSTRUCTION("62F2FD29934C1A10" , k(k1).vgatherqpd(ymm1, ptr(rdx, ymm3, 0, 128)));
+ TEST_INSTRUCTION("62F2FD49934C1A10" , k(k1).vgatherqpd(zmm1, ptr(rdx, zmm3, 0, 128)));
+ TEST_INSTRUCTION("C4E259938C1A80000000" , vgatherqps(xmm1, ptr(rdx, xmm3, 0, 128), xmm4));
+ TEST_INSTRUCTION("C4E25D938C1A80000000" , vgatherqps(xmm1, ptr(rdx, ymm3, 0, 128), xmm4));
+ TEST_INSTRUCTION("62F27D09934C1A20" , k(k1).vgatherqps(xmm1, ptr(rdx, xmm3, 0, 128)));
+ TEST_INSTRUCTION("62F27D29934C1A20" , k(k1).vgatherqps(xmm1, ptr(rdx, ymm3, 0, 128)));
+ TEST_INSTRUCTION("62F27D49934C1A20" , k(k1).vgatherqps(ymm1, ptr(rdx, zmm3, 0, 128)));
+ TEST_INSTRUCTION("62F2FD0842CA" , vgetexppd(xmm1, xmm2));
+ TEST_INSTRUCTION("62F2FD08424C1A08" , vgetexppd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD08424C1A08" , vgetexppd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD2842CA" , vgetexppd(ymm1, ymm2));
+ TEST_INSTRUCTION("62F2FD28424C1A04" , vgetexppd(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD28424C1A04" , vgetexppd(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD4842CA" , vgetexppd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F2FD48424C1A02" , vgetexppd(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD48424C1A02" , vgetexppd(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D0842CA" , vgetexpps(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27D08424C1A08" , vgetexpps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D08424C1A08" , vgetexpps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D2842CA" , vgetexpps(ymm1, ymm2));
+ TEST_INSTRUCTION("62F27D28424C1A04" , vgetexpps(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D28424C1A04" , vgetexpps(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4842CA" , vgetexpps(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D48424C1A02" , vgetexpps(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48424C1A02" , vgetexpps(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0843CB" , vgetexpsd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08434C2B10" , vgetexpsd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08434C2B10" , vgetexpsd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D0843CB" , vgetexpss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08434C2B20" , vgetexpss(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08434C2B20" , vgetexpss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F3FD0826CA01" , vgetmantpd(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("62F3FD08264C1A0801" , vgetmantpd(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD08264C1A0801" , vgetmantpd(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD2826CA01" , vgetmantpd(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("62F3FD28264C1A0401" , vgetmantpd(ymm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD28264C1A0401" , vgetmantpd(ymm1, ymmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD4826CA01" , vgetmantpd(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F3FD48264C1A0201" , vgetmantpd(zmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD48264C1A0201" , vgetmantpd(zmm1, zmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D0826CA01" , vgetmantps(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("62F37D08264C1A0801" , vgetmantps(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D08264C1A0801" , vgetmantps(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D2826CA01" , vgetmantps(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("62F37D28264C1A0401" , vgetmantps(ymm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D28264C1A0401" , vgetmantps(ymm1, ymmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D4826CA01" , vgetmantps(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F37D48264C1A0201" , vgetmantps(zmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D48264C1A0201" , vgetmantps(zmm1, zmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED0827CB01" , vgetmantsd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED08274C2B1001" , vgetmantsd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED08274C2B1001" , vgetmantsd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D0827CB01" , vgetmantss(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D08274C2B2001" , vgetmantss(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D08274C2B2001" , vgetmantss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3E9CFCB01" , vgf2p8affineinvqb(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C4E3E9CF8C2B8000000001" , vgf2p8affineinvqb(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3E9CF8C2B8000000001" , vgf2p8affineinvqb(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3EDCFCB01" , vgf2p8affineinvqb(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("C4E3EDCF8C2B8000000001" , vgf2p8affineinvqb(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3EDCF8C2B8000000001" , vgf2p8affineinvqb(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED48CFCB01" , vgf2p8affineinvqb(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F3ED48CF4C2B0201" , vgf2p8affineinvqb(zmm1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED48CF4C2B0201" , vgf2p8affineinvqb(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3E9CECB01" , vgf2p8affineqb(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C4E3E9CE8C2B8000000001" , vgf2p8affineqb(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3E9CE8C2B8000000001" , vgf2p8affineqb(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3EDCECB01" , vgf2p8affineqb(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("C4E3EDCE8C2B8000000001" , vgf2p8affineqb(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3EDCE8C2B8000000001" , vgf2p8affineqb(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED48CECB01" , vgf2p8affineqb(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F3ED48CE4C2B0201" , vgf2p8affineqb(zmm1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED48CE4C2B0201" , vgf2p8affineqb(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E269CFCB" , vgf2p8mulb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269CF8C2B80000000" , vgf2p8mulb(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269CF8C2B80000000" , vgf2p8mulb(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DCFCB" , vgf2p8mulb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26DCF8C2B80000000" , vgf2p8mulb(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26DCF8C2B80000000" , vgf2p8mulb(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48CFCB" , vgf2p8mulb(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48CF4C2B02" , vgf2p8mulb(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48CF4C2B02" , vgf2p8mulb(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E97CCB" , vhaddpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E97C8C2B80000000" , vhaddpd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E97C8C2B80000000" , vhaddpd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED7CCB" , vhaddpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED7C8C2B80000000" , vhaddpd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED7C8C2B80000000" , vhaddpd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EB7CCB" , vhaddps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EB7C8C2B80000000" , vhaddps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EB7C8C2B80000000" , vhaddps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EF7CCB" , vhaddps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EF7C8C2B80000000" , vhaddps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EF7C8C2B80000000" , vhaddps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E97DCB" , vhsubpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E97D8C2B80000000" , vhsubpd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E97D8C2B80000000" , vhsubpd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED7DCB" , vhsubpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED7D8C2B80000000" , vhsubpd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED7D8C2B80000000" , vhsubpd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EB7DCB" , vhsubps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EB7D8C2B80000000" , vhsubps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EB7D8C2B80000000" , vhsubps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EF7DCB" , vhsubps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EF7D8C2B80000000" , vhsubps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EF7D8C2B80000000" , vhsubps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E36D18CB01" , vinsertf128(ymm1, ymm2, xmm3, 1));
+ TEST_INSTRUCTION("C4E36D188C2B8000000001" , vinsertf128(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D188C2B8000000001" , vinsertf128(ymm1, ymm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D2818CB01" , vinsertf32x4(ymm1, ymm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D28184C2B0801" , vinsertf32x4(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D28184C2B0801" , vinsertf32x4(ymm1, ymm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D4818CB01" , vinsertf32x4(zmm1, zmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D48184C2B0801" , vinsertf32x4(zmm1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D48184C2B0801" , vinsertf32x4(zmm1, zmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D481ACB01" , vinsertf32x8(zmm1, zmm2, ymm3, 1));
+ TEST_INSTRUCTION("62F36D481A4C2B0401" , vinsertf32x8(zmm1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D481A4C2B0401" , vinsertf32x8(zmm1, zmm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED2818CB01" , vinsertf64x2(ymm1, ymm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED28184C2B0801" , vinsertf64x2(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED28184C2B0801" , vinsertf64x2(ymm1, ymm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED4818CB01" , vinsertf64x2(zmm1, zmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED48184C2B0801" , vinsertf64x2(zmm1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED48184C2B0801" , vinsertf64x2(zmm1, zmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED481ACB01" , vinsertf64x4(zmm1, zmm2, ymm3, 1));
+ TEST_INSTRUCTION("62F3ED481A4C2B0401" , vinsertf64x4(zmm1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED481A4C2B0401" , vinsertf64x4(zmm1, zmm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D38CB01" , vinserti128(ymm1, ymm2, xmm3, 1));
+ TEST_INSTRUCTION("C4E36D388C2B8000000001" , vinserti128(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D388C2B8000000001" , vinserti128(ymm1, ymm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D2838CB01" , vinserti32x4(ymm1, ymm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D28384C2B0801" , vinserti32x4(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D28384C2B0801" , vinserti32x4(ymm1, ymm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D4838CB01" , vinserti32x4(zmm1, zmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D48384C2B0801" , vinserti32x4(zmm1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D48384C2B0801" , vinserti32x4(zmm1, zmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D483ACB01" , vinserti32x8(zmm1, zmm2, ymm3, 1));
+ TEST_INSTRUCTION("62F36D483A4C2B0401" , vinserti32x8(zmm1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D483A4C2B0401" , vinserti32x8(zmm1, zmm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED2838CB01" , vinserti64x2(ymm1, ymm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED28384C2B0801" , vinserti64x2(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED28384C2B0801" , vinserti64x2(ymm1, ymm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED4838CB01" , vinserti64x2(zmm1, zmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED48384C2B0801" , vinserti64x2(zmm1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED48384C2B0801" , vinserti64x2(zmm1, zmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED483ACB01" , vinserti64x4(zmm1, zmm2, ymm3, 1));
+ TEST_INSTRUCTION("62F3ED483A4C2B0401" , vinserti64x4(zmm1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED483A4C2B0401" , vinserti64x4(zmm1, zmm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36921CB01" , vinsertps(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C4E369218C2B8000000001" , vinsertps(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E369218C2B8000000001" , vinsertps(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C5FBF08C1A80000000" , vlddqu(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FBF08C1A80000000" , vlddqu(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FFF08C1A80000000" , vlddqu(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FFF08C1A80000000" , vlddqu(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F8AE941180000000" , vldmxcsr(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("C5F8AE941180000000" , vldmxcsr(dword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("C5F9F7CA" , vmaskmovdqu(xmm1, xmm2, ptr(rdi)));
+ TEST_INSTRUCTION("C5F9F7CA" , vmaskmovdqu(xmm1, xmm2, xmmword_ptr(rdi)));
+ TEST_INSTRUCTION("C4E2612FA41180000000" , vmaskmovpd(ptr(rcx, rdx, 0, 128), xmm3, xmm4));
+ TEST_INSTRUCTION("C4E2612FA41180000000" , vmaskmovpd(xmmword_ptr(rcx, rdx, 0, 128), xmm3, xmm4));
+ TEST_INSTRUCTION("C4E2652FA41180000000" , vmaskmovpd(ptr(rcx, rdx, 0, 128), ymm3, ymm4));
+ TEST_INSTRUCTION("C4E2652FA41180000000" , vmaskmovpd(ymmword_ptr(rcx, rdx, 0, 128), ymm3, ymm4));
+ TEST_INSTRUCTION("C4E2692D8C2B80000000" , vmaskmovpd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2692D8C2B80000000" , vmaskmovpd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D2D8C2B80000000" , vmaskmovpd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D2D8C2B80000000" , vmaskmovpd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2612EA41180000000" , vmaskmovps(ptr(rcx, rdx, 0, 128), xmm3, xmm4));
+ TEST_INSTRUCTION("C4E2612EA41180000000" , vmaskmovps(xmmword_ptr(rcx, rdx, 0, 128), xmm3, xmm4));
+ TEST_INSTRUCTION("C4E2652EA41180000000" , vmaskmovps(ptr(rcx, rdx, 0, 128), ymm3, ymm4));
+ TEST_INSTRUCTION("C4E2652EA41180000000" , vmaskmovps(ymmword_ptr(rcx, rdx, 0, 128), ymm3, ymm4));
+ TEST_INSTRUCTION("C4E2692C8C2B80000000" , vmaskmovps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2692C8C2B80000000" , vmaskmovps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D2C8C2B80000000" , vmaskmovps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D2C8C2B80000000" , vmaskmovps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E95FCB" , vmaxpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E95F8C2B80000000" , vmaxpd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E95F8C2B80000000" , vmaxpd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED5FCB" , vmaxpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED5F8C2B80000000" , vmaxpd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED5F8C2B80000000" , vmaxpd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED485FCB" , vmaxpd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED485F4C2B02" , vmaxpd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED485F4C2B02" , vmaxpd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E85FCB" , vmaxps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E85F8C2B80000000" , vmaxps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E85F8C2B80000000" , vmaxps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EC5FCB" , vmaxps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EC5F8C2B80000000" , vmaxps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EC5F8C2B80000000" , vmaxps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16C485FCB" , vmaxps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16C485F4C2B02" , vmaxps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16C485F4C2B02" , vmaxps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EB5FCB" , vmaxsd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EB5F8C2B80000000" , vmaxsd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EB5F8C2B80000000" , vmaxsd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EA5FCB" , vmaxss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EA5F8C2B80000000" , vmaxss(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EA5F8C2B80000000" , vmaxss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("0F01C1" , vmcall());
+ TEST_INSTRUCTION("660FC7B41180000000" , vmclear(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("660FC7B41180000000" , vmclear(qword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F01D4" , vmfunc());
+ TEST_INSTRUCTION("C5E95DCB" , vminpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E95D8C2B80000000" , vminpd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E95D8C2B80000000" , vminpd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED5DCB" , vminpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED5D8C2B80000000" , vminpd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED5D8C2B80000000" , vminpd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED485DCB" , vminpd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED485D4C2B02" , vminpd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED485D4C2B02" , vminpd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E85DCB" , vminps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E85D8C2B80000000" , vminps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E85D8C2B80000000" , vminps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EC5DCB" , vminps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EC5D8C2B80000000" , vminps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EC5D8C2B80000000" , vminps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16C485DCB" , vminps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16C485D4C2B02" , vminps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16C485D4C2B02" , vminps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EB5DCB" , vminsd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EB5D8C2B80000000" , vminsd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EB5D8C2B80000000" , vminsd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EA5DCB" , vminss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EA5D8C2B80000000" , vminss(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EA5D8C2B80000000" , vminss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("0F01C2" , vmlaunch());
+ TEST_INSTRUCTION("0F01DA" , vmload(rax));
+ TEST_INSTRUCTION("0F01D9" , vmmcall());
+ TEST_INSTRUCTION("C5F928CA" , vmovapd(xmm1, xmm2));
+ TEST_INSTRUCTION("C5F9288C1A80000000" , vmovapd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F9288C1A80000000" , vmovapd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F9299C1180000000" , vmovapd(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5F9299C1180000000" , vmovapd(xmmword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5FD28CA" , vmovapd(ymm1, ymm2));
+ TEST_INSTRUCTION("C5FD288C1A80000000" , vmovapd(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FD288C1A80000000" , vmovapd(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FD299C1180000000" , vmovapd(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("C5FD299C1180000000" , vmovapd(ymmword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F1FD4828CA" , vmovapd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F1FD48284C1A02" , vmovapd(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD48284C1A02" , vmovapd(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD48295C1102" , vmovapd(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F1FD48295C1102" , vmovapd(zmmword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("C5F828CA" , vmovaps(xmm1, xmm2));
+ TEST_INSTRUCTION("C5F8288C1A80000000" , vmovaps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F8288C1A80000000" , vmovaps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F8299C1180000000" , vmovaps(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5F8299C1180000000" , vmovaps(xmmword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5FC28CA" , vmovaps(ymm1, ymm2));
+ TEST_INSTRUCTION("C5FC288C1A80000000" , vmovaps(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FC288C1A80000000" , vmovaps(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FC299C1180000000" , vmovaps(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("C5FC299C1180000000" , vmovaps(ymmword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F17C4828CA" , vmovaps(zmm1, zmm2));
+ TEST_INSTRUCTION("62F17C48284C1A02" , vmovaps(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17C48284C1A02" , vmovaps(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17C48295C1102" , vmovaps(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F17C48295C1102" , vmovaps(zmmword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("C5F97ED1" , vmovd(ecx, xmm2));
+ TEST_INSTRUCTION("C5F97E9C1180000000" , vmovd(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5F97E9C1180000000" , vmovd(dword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5F96ECA" , vmovd(xmm1, edx));
+ TEST_INSTRUCTION("C5F96E8C1A80000000" , vmovd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F96E8C1A80000000" , vmovd(xmm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FB12CA" , vmovddup(xmm1, xmm2));
+ TEST_INSTRUCTION("C5FB128C1A80000000" , vmovddup(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FB128C1A80000000" , vmovddup(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FF12CA" , vmovddup(ymm1, ymm2));
+ TEST_INSTRUCTION("C5FF128C1A80000000" , vmovddup(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FF128C1A80000000" , vmovddup(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FF4812CA" , vmovddup(zmm1, zmm2));
+ TEST_INSTRUCTION("62F1FF48124C1A02" , vmovddup(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FF48124C1A02" , vmovddup(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F96FCA" , vmovdqa(xmm1, xmm2));
+ TEST_INSTRUCTION("C5F96F8C1A80000000" , vmovdqa(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F96F8C1A80000000" , vmovdqa(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F97F9C1180000000" , vmovdqa(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5F97F9C1180000000" , vmovdqa(xmmword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5FD6FCA" , vmovdqa(ymm1, ymm2));
+ TEST_INSTRUCTION("C5FD6F8C1A80000000" , vmovdqa(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FD6F8C1A80000000" , vmovdqa(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FD7F9C1180000000" , vmovdqa(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("C5FD7F9C1180000000" , vmovdqa(ymmword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F17D086FCA" , vmovdqa32(xmm1, xmm2));
+ TEST_INSTRUCTION("62F17D086F4C1A08" , vmovdqa32(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17D086F4C1A08" , vmovdqa32(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17D087F5C1108" , vmovdqa32(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F17D087F5C1108" , vmovdqa32(xmmword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F17D286FCA" , vmovdqa32(ymm1, ymm2));
+ TEST_INSTRUCTION("62F17D286F4C1A04" , vmovdqa32(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17D286F4C1A04" , vmovdqa32(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17D287F5C1104" , vmovdqa32(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F17D287F5C1104" , vmovdqa32(ymmword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F17D486FCA" , vmovdqa32(zmm1, zmm2));
+ TEST_INSTRUCTION("62F17D486F4C1A02" , vmovdqa32(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17D486F4C1A02" , vmovdqa32(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17D487F5C1102" , vmovdqa32(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F17D487F5C1102" , vmovdqa32(zmmword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F1FD086FCA" , vmovdqa64(xmm1, xmm2));
+ TEST_INSTRUCTION("62F1FD086F4C1A08" , vmovdqa64(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD086F4C1A08" , vmovdqa64(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD087F5C1108" , vmovdqa64(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F1FD087F5C1108" , vmovdqa64(xmmword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F1FD286FCA" , vmovdqa64(ymm1, ymm2));
+ TEST_INSTRUCTION("62F1FD286F4C1A04" , vmovdqa64(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD286F4C1A04" , vmovdqa64(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD287F5C1104" , vmovdqa64(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F1FD287F5C1104" , vmovdqa64(ymmword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F1FD486FCA" , vmovdqa64(zmm1, zmm2));
+ TEST_INSTRUCTION("62F1FD486F4C1A02" , vmovdqa64(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD486F4C1A02" , vmovdqa64(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD487F5C1102" , vmovdqa64(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F1FD487F5C1102" , vmovdqa64(zmmword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("C5FA6FCA" , vmovdqu(xmm1, xmm2));
+ TEST_INSTRUCTION("C5FA6F8C1A80000000" , vmovdqu(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FA6F8C1A80000000" , vmovdqu(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FA7F9C1180000000" , vmovdqu(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5FA7F9C1180000000" , vmovdqu(xmmword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5FE6FCA" , vmovdqu(ymm1, ymm2));
+ TEST_INSTRUCTION("C5FE6F8C1A80000000" , vmovdqu(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FE6F8C1A80000000" , vmovdqu(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FE7F9C1180000000" , vmovdqu(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("C5FE7F9C1180000000" , vmovdqu(ymmword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F1FF086FCA" , vmovdqu16(xmm1, xmm2));
+ TEST_INSTRUCTION("62F1FF086F4C1A08" , vmovdqu16(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FF086F4C1A08" , vmovdqu16(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FF087F5C1108" , vmovdqu16(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F1FF087F5C1108" , vmovdqu16(xmmword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F1FF286FCA" , vmovdqu16(ymm1, ymm2));
+ TEST_INSTRUCTION("62F1FF286F4C1A04" , vmovdqu16(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FF286F4C1A04" , vmovdqu16(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FF287F5C1104" , vmovdqu16(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F1FF287F5C1104" , vmovdqu16(ymmword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F1FF486FCA" , vmovdqu16(zmm1, zmm2));
+ TEST_INSTRUCTION("62F1FF486F4C1A02" , vmovdqu16(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FF486F4C1A02" , vmovdqu16(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FF487F5C1102" , vmovdqu16(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F1FF487F5C1102" , vmovdqu16(zmmword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F17E086FCA" , vmovdqu32(xmm1, xmm2));
+ TEST_INSTRUCTION("62F17E086F4C1A08" , vmovdqu32(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17E086F4C1A08" , vmovdqu32(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17E087F5C1108" , vmovdqu32(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F17E087F5C1108" , vmovdqu32(xmmword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F17E286FCA" , vmovdqu32(ymm1, ymm2));
+ TEST_INSTRUCTION("62F17E286F4C1A04" , vmovdqu32(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17E286F4C1A04" , vmovdqu32(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17E287F5C1104" , vmovdqu32(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F17E287F5C1104" , vmovdqu32(ymmword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F17E486FCA" , vmovdqu32(zmm1, zmm2));
+ TEST_INSTRUCTION("62F17E486F4C1A02" , vmovdqu32(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17E486F4C1A02" , vmovdqu32(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17E487F5C1102" , vmovdqu32(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F17E487F5C1102" , vmovdqu32(zmmword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F1FE086FCA" , vmovdqu64(xmm1, xmm2));
+ TEST_INSTRUCTION("62F1FE086F4C1A08" , vmovdqu64(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE086F4C1A08" , vmovdqu64(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE087F5C1108" , vmovdqu64(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F1FE087F5C1108" , vmovdqu64(xmmword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F1FE286FCA" , vmovdqu64(ymm1, ymm2));
+ TEST_INSTRUCTION("62F1FE286F4C1A04" , vmovdqu64(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE286F4C1A04" , vmovdqu64(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE287F5C1104" , vmovdqu64(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F1FE287F5C1104" , vmovdqu64(ymmword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F1FE486FCA" , vmovdqu64(zmm1, zmm2));
+ TEST_INSTRUCTION("62F1FE486F4C1A02" , vmovdqu64(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE486F4C1A02" , vmovdqu64(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FE487F5C1102" , vmovdqu64(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F1FE487F5C1102" , vmovdqu64(zmmword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F17F086FCA" , vmovdqu8(xmm1, xmm2));
+ TEST_INSTRUCTION("62F17F086F4C1A08" , vmovdqu8(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17F086F4C1A08" , vmovdqu8(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17F087F5C1108" , vmovdqu8(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F17F087F5C1108" , vmovdqu8(xmmword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F17F286FCA" , vmovdqu8(ymm1, ymm2));
+ TEST_INSTRUCTION("62F17F286F4C1A04" , vmovdqu8(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17F286F4C1A04" , vmovdqu8(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17F287F5C1104" , vmovdqu8(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F17F287F5C1104" , vmovdqu8(ymmword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F17F486FCA" , vmovdqu8(zmm1, zmm2));
+ TEST_INSTRUCTION("62F17F486F4C1A02" , vmovdqu8(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17F486F4C1A02" , vmovdqu8(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17F487F5C1102" , vmovdqu8(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F17F487F5C1102" , vmovdqu8(zmmword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("C5E812CB" , vmovhlps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5F9179C1180000000" , vmovhpd(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5F9179C1180000000" , vmovhpd(qword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5E9168C2B80000000" , vmovhpd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9168C2B80000000" , vmovhpd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5F8179C1180000000" , vmovhps(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5F8179C1180000000" , vmovhps(qword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5E8168C2B80000000" , vmovhps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E8168C2B80000000" , vmovhps(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E816CB" , vmovlhps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5F9139C1180000000" , vmovlpd(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5F9139C1180000000" , vmovlpd(qword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5E9128C2B80000000" , vmovlpd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9128C2B80000000" , vmovlpd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5F8139C1180000000" , vmovlps(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5F8139C1180000000" , vmovlps(qword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5E8128C2B80000000" , vmovlps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E8128C2B80000000" , vmovlps(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5F950CA" , vmovmskpd(ecx, xmm2));
+ TEST_INSTRUCTION("C5FD50CA" , vmovmskpd(ecx, ymm2));
+ TEST_INSTRUCTION("C5F850CA" , vmovmskps(ecx, xmm2));
+ TEST_INSTRUCTION("C5FC50CA" , vmovmskps(ecx, ymm2));
+ TEST_INSTRUCTION("C5F9E79C1180000000" , vmovntdq(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5F9E79C1180000000" , vmovntdq(xmmword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5FDE79C1180000000" , vmovntdq(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("C5FDE79C1180000000" , vmovntdq(ymmword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F17D48E75C1102" , vmovntdq(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F17D48E75C1102" , vmovntdq(zmmword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("C4E2792A8C1A80000000" , vmovntdqa(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E2792A8C1A80000000" , vmovntdqa(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D2A8C1A80000000" , vmovntdqa(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D2A8C1A80000000" , vmovntdqa(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D482A4C1A02" , vmovntdqa(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D482A4C1A02" , vmovntdqa(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F92B9C1180000000" , vmovntpd(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5F92B9C1180000000" , vmovntpd(xmmword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5FD2B9C1180000000" , vmovntpd(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("C5FD2B9C1180000000" , vmovntpd(ymmword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F1FD482B5C1102" , vmovntpd(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F1FD482B5C1102" , vmovntpd(zmmword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("C5F82B9C1180000000" , vmovntps(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5F82B9C1180000000" , vmovntps(xmmword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5FC2B9C1180000000" , vmovntps(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("C5FC2B9C1180000000" , vmovntps(ymmword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F17C482B5C1102" , vmovntps(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F17C482B5C1102" , vmovntps(zmmword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("C4E1F97ED1" , vmovq(rcx, xmm2));
+ TEST_INSTRUCTION("C5F9D69C1180000000" , vmovq(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5F9D69C1180000000" , vmovq(qword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C4E1F96ECA" , vmovq(xmm1, rdx));
+ TEST_INSTRUCTION("C5FA7ECA" , vmovq(xmm1, xmm2));
+ TEST_INSTRUCTION("C5FA7E8C1A80000000" , vmovq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FA7E8C1A80000000" , vmovq(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FB119C1180000000" , vmovsd(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5FB119C1180000000" , vmovsd(qword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5FB108C1A80000000" , vmovsd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FB108C1A80000000" , vmovsd(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5EB10CB" , vmovsd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5FA16CA" , vmovshdup(xmm1, xmm2));
+ TEST_INSTRUCTION("C5FA168C1A80000000" , vmovshdup(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FA168C1A80000000" , vmovshdup(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FE16CA" , vmovshdup(ymm1, ymm2));
+ TEST_INSTRUCTION("C5FE168C1A80000000" , vmovshdup(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FE168C1A80000000" , vmovshdup(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17E4816CA" , vmovshdup(zmm1, zmm2));
+ TEST_INSTRUCTION("62F17E48164C1A02" , vmovshdup(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17E48164C1A02" , vmovshdup(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FA12CA" , vmovsldup(xmm1, xmm2));
+ TEST_INSTRUCTION("C5FA128C1A80000000" , vmovsldup(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FA128C1A80000000" , vmovsldup(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FE12CA" , vmovsldup(ymm1, ymm2));
+ TEST_INSTRUCTION("C5FE128C1A80000000" , vmovsldup(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FE128C1A80000000" , vmovsldup(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17E4812CA" , vmovsldup(zmm1, zmm2));
+ TEST_INSTRUCTION("62F17E48124C1A02" , vmovsldup(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17E48124C1A02" , vmovsldup(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FA119C1180000000" , vmovss(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5FA119C1180000000" , vmovss(dword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5FA108C1A80000000" , vmovss(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FA108C1A80000000" , vmovss(xmm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5EA10CB" , vmovss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5F910CA" , vmovupd(xmm1, xmm2));
+ TEST_INSTRUCTION("C5F9108C1A80000000" , vmovupd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F9108C1A80000000" , vmovupd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F9119C1180000000" , vmovupd(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5F9119C1180000000" , vmovupd(xmmword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5FD10CA" , vmovupd(ymm1, ymm2));
+ TEST_INSTRUCTION("C5FD108C1A80000000" , vmovupd(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FD108C1A80000000" , vmovupd(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FD119C1180000000" , vmovupd(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("C5FD119C1180000000" , vmovupd(ymmword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F1FD4810CA" , vmovupd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F1FD48104C1A02" , vmovupd(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD48104C1A02" , vmovupd(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD48115C1102" , vmovupd(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F1FD48115C1102" , vmovupd(zmmword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("C5F810CA" , vmovups(xmm1, xmm2));
+ TEST_INSTRUCTION("C5F8108C1A80000000" , vmovups(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F8108C1A80000000" , vmovups(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F8119C1180000000" , vmovups(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5F8119C1180000000" , vmovups(xmmword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("C5FC10CA" , vmovups(ymm1, ymm2));
+ TEST_INSTRUCTION("C5FC108C1A80000000" , vmovups(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FC108C1A80000000" , vmovups(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FC119C1180000000" , vmovups(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("C5FC119C1180000000" , vmovups(ymmword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F17C4810CA" , vmovups(zmm1, zmm2));
+ TEST_INSTRUCTION("62F17C48104C1A02" , vmovups(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17C48104C1A02" , vmovups(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17C48115C1102" , vmovups(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F17C48115C1102" , vmovups(zmmword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("C4E36942CB01" , vmpsadbw(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C4E369428C2B8000000001" , vmpsadbw(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E369428C2B8000000001" , vmpsadbw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D42CB01" , vmpsadbw(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("C4E36D428C2B8000000001" , vmpsadbw(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D428C2B8000000001" , vmpsadbw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("0FC7B41180000000" , vmptrld(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0FC7B41180000000" , vmptrld(qword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0FC7BC1180000000" , vmptrst(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0FC7BC1180000000" , vmptrst(qword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("0F78D1" , vmread(rcx, rdx));
+ TEST_INSTRUCTION("0F789C1180000000" , vmread(ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("0F789C1180000000" , vmread(qword_ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("0F01C3" , vmresume());
+ TEST_INSTRUCTION("0F01D8" , vmrun(rax));
+ TEST_INSTRUCTION("0F01DB" , vmsave(rax));
+ TEST_INSTRUCTION("C5E959CB" , vmulpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9598C2B80000000" , vmulpd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9598C2B80000000" , vmulpd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED59CB" , vmulpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED598C2B80000000" , vmulpd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED598C2B80000000" , vmulpd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED4859CB" , vmulpd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED48594C2B02" , vmulpd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48594C2B02" , vmulpd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E859CB" , vmulps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E8598C2B80000000" , vmulps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E8598C2B80000000" , vmulps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EC59CB" , vmulps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EC598C2B80000000" , vmulps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EC598C2B80000000" , vmulps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16C4859CB" , vmulps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16C48594C2B02" , vmulps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16C48594C2B02" , vmulps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EB59CB" , vmulsd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EB598C2B80000000" , vmulsd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EB598C2B80000000" , vmulsd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EA59CB" , vmulss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EA598C2B80000000" , vmulss(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EA598C2B80000000" , vmulss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("0F79CA" , vmwrite(rcx, rdx));
+ TEST_INSTRUCTION("0F798C1A80000000" , vmwrite(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F798C1A80000000" , vmwrite(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F30FC7B41180000000" , vmxon(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("F30FC7B41180000000" , vmxon(qword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("C5E956CB" , vorpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9568C2B80000000" , vorpd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9568C2B80000000" , vorpd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED56CB" , vorpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED568C2B80000000" , vorpd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED568C2B80000000" , vorpd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED4856CB" , vorpd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED48564C2B02" , vorpd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48564C2B02" , vorpd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E856CB" , vorps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E8568C2B80000000" , vorps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E8568C2B80000000" , vorps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EC56CB" , vorps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EC568C2B80000000" , vorps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EC568C2B80000000" , vorps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16C4856CB" , vorps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16C48564C2B02" , vorps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16C48564C2B02" , vorps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F25F0868D1" , vp2intersectd(k2, k3, xmm4, xmm1));
+ TEST_INSTRUCTION("62F25F0868541108" , vp2intersectd(k2, k3, xmm4, ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("62F25F0868541108" , vp2intersectd(k2, k3, xmm4, xmmword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("62F25F2868D1" , vp2intersectd(k2, k3, ymm4, ymm1));
+ TEST_INSTRUCTION("62F25F2868541104" , vp2intersectd(k2, k3, ymm4, ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("62F25F2868541104" , vp2intersectd(k2, k3, ymm4, ymmword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("62F25F4868D1" , vp2intersectd(k2, k3, zmm4, zmm1));
+ TEST_INSTRUCTION("62F25F4868541102" , vp2intersectd(k2, k3, zmm4, ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("62F25F4868541102" , vp2intersectd(k2, k3, zmm4, zmmword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("62F2DF0868D1" , vp2intersectq(k2, k3, xmm4, xmm1));
+ TEST_INSTRUCTION("62F2DF0868541108" , vp2intersectq(k2, k3, xmm4, ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("62F2DF0868541108" , vp2intersectq(k2, k3, xmm4, xmmword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("62F2DF2868D1" , vp2intersectq(k2, k3, ymm4, ymm1));
+ TEST_INSTRUCTION("62F2DF2868541104" , vp2intersectq(k2, k3, ymm4, ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("62F2DF2868541104" , vp2intersectq(k2, k3, ymm4, ymmword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("62F2DF4868D1" , vp2intersectq(k2, k3, zmm4, zmm1));
+ TEST_INSTRUCTION("62F2DF4868541102" , vp2intersectq(k2, k3, zmm4, ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("62F2DF4868541102" , vp2intersectq(k2, k3, zmm4, zmmword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("62F25F48524C1A08" , vp4dpwssd(zmm1, zmm4, zmm5, zmm6, zmm7, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F25F48524C1A08" , vp4dpwssd(zmm1, zmm4, zmm5, zmm6, zmm7, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F25F48534C1A08" , vp4dpwssds(zmm1, zmm4, zmm5, zmm6, zmm7, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F25F48534C1A08" , vp4dpwssds(zmm1, zmm4, zmm5, zmm6, zmm7, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E2791CCA" , vpabsb(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E2791C8C1A80000000" , vpabsb(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E2791C8C1A80000000" , vpabsb(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D1CCA" , vpabsb(ymm1, ymm2));
+ TEST_INSTRUCTION("C4E27D1C8C1A80000000" , vpabsb(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D1C8C1A80000000" , vpabsb(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D481CCA" , vpabsb(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D481C4C1A02" , vpabsb(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D481C4C1A02" , vpabsb(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E2791ECA" , vpabsd(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E2791E8C1A80000000" , vpabsd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E2791E8C1A80000000" , vpabsd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D1ECA" , vpabsd(ymm1, ymm2));
+ TEST_INSTRUCTION("C4E27D1E8C1A80000000" , vpabsd(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D1E8C1A80000000" , vpabsd(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D481ECA" , vpabsd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D481E4C1A02" , vpabsd(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D481E4C1A02" , vpabsd(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD081FCA" , vpabsq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F2FD081F4C1A08" , vpabsq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD081F4C1A08" , vpabsq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD281FCA" , vpabsq(ymm1, ymm2));
+ TEST_INSTRUCTION("62F2FD281F4C1A04" , vpabsq(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD281F4C1A04" , vpabsq(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD481FCA" , vpabsq(zmm1, zmm2));
+ TEST_INSTRUCTION("62F2FD481F4C1A02" , vpabsq(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD481F4C1A02" , vpabsq(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E2791DCA" , vpabsw(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E2791D8C1A80000000" , vpabsw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E2791D8C1A80000000" , vpabsw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D1DCA" , vpabsw(ymm1, ymm2));
+ TEST_INSTRUCTION("C4E27D1D8C1A80000000" , vpabsw(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D1D8C1A80000000" , vpabsw(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D481DCA" , vpabsw(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D481D4C1A02" , vpabsw(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D481D4C1A02" , vpabsw(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5E96BCB" , vpackssdw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E96B8C2B80000000" , vpackssdw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E96B8C2B80000000" , vpackssdw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED6BCB" , vpackssdw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED6B8C2B80000000" , vpackssdw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED6B8C2B80000000" , vpackssdw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D486BCB" , vpackssdw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D486B4C2B02" , vpackssdw(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D486B4C2B02" , vpackssdw(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E963CB" , vpacksswb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9638C2B80000000" , vpacksswb(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9638C2B80000000" , vpacksswb(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED63CB" , vpacksswb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED638C2B80000000" , vpacksswb(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED638C2B80000000" , vpacksswb(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D4863CB" , vpacksswb(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48634C2B02" , vpacksswb(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48634C2B02" , vpacksswb(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2692BCB" , vpackusdw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2692B8C2B80000000" , vpackusdw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2692B8C2B80000000" , vpackusdw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D2BCB" , vpackusdw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D2B8C2B80000000" , vpackusdw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D2B8C2B80000000" , vpackusdw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D482BCB" , vpackusdw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D482B4C2B02" , vpackusdw(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D482B4C2B02" , vpackusdw(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E967CB" , vpackuswb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9678C2B80000000" , vpackuswb(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9678C2B80000000" , vpackuswb(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED67CB" , vpackuswb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED678C2B80000000" , vpackuswb(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED678C2B80000000" , vpackuswb(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D4867CB" , vpackuswb(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48674C2B02" , vpackuswb(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48674C2B02" , vpackuswb(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9FCCB" , vpaddb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9FC8C2B80000000" , vpaddb(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9FC8C2B80000000" , vpaddb(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDFCCB" , vpaddb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDFC8C2B80000000" , vpaddb(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDFC8C2B80000000" , vpaddb(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48FCCB" , vpaddb(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48FC4C2B02" , vpaddb(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48FC4C2B02" , vpaddb(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9FECB" , vpaddd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9FE8C2B80000000" , vpaddd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9FE8C2B80000000" , vpaddd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDFECB" , vpaddd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDFE8C2B80000000" , vpaddd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDFE8C2B80000000" , vpaddd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48FECB" , vpaddd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48FE4C2B02" , vpaddd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48FE4C2B02" , vpaddd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9D4CB" , vpaddq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9D48C2B80000000" , vpaddq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9D48C2B80000000" , vpaddq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDD4CB" , vpaddq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDD48C2B80000000" , vpaddq(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDD48C2B80000000" , vpaddq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48D4CB" , vpaddq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED48D44C2B02" , vpaddq(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48D44C2B02" , vpaddq(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9ECCB" , vpaddsb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9EC8C2B80000000" , vpaddsb(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9EC8C2B80000000" , vpaddsb(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDECCB" , vpaddsb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDEC8C2B80000000" , vpaddsb(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDEC8C2B80000000" , vpaddsb(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48ECCB" , vpaddsb(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48EC4C2B02" , vpaddsb(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48EC4C2B02" , vpaddsb(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9EDCB" , vpaddsw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9ED8C2B80000000" , vpaddsw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9ED8C2B80000000" , vpaddsw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDEDCB" , vpaddsw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDED8C2B80000000" , vpaddsw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDED8C2B80000000" , vpaddsw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48EDCB" , vpaddsw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48ED4C2B02" , vpaddsw(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48ED4C2B02" , vpaddsw(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9DCCB" , vpaddusb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9DC8C2B80000000" , vpaddusb(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9DC8C2B80000000" , vpaddusb(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDDCCB" , vpaddusb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDDC8C2B80000000" , vpaddusb(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDDC8C2B80000000" , vpaddusb(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48DCCB" , vpaddusb(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48DC4C2B02" , vpaddusb(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48DC4C2B02" , vpaddusb(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9DDCB" , vpaddusw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9DD8C2B80000000" , vpaddusw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9DD8C2B80000000" , vpaddusw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDDDCB" , vpaddusw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDDD8C2B80000000" , vpaddusw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDDD8C2B80000000" , vpaddusw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48DDCB" , vpaddusw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48DD4C2B02" , vpaddusw(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48DD4C2B02" , vpaddusw(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9FDCB" , vpaddw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9FD8C2B80000000" , vpaddw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9FD8C2B80000000" , vpaddw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDFDCB" , vpaddw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDFD8C2B80000000" , vpaddw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDFD8C2B80000000" , vpaddw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48FDCB" , vpaddw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48FD4C2B02" , vpaddw(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48FD4C2B02" , vpaddw(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E3690FCB01" , vpalignr(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C4E3690F8C2B8000000001" , vpalignr(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3690F8C2B8000000001" , vpalignr(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D0FCB01" , vpalignr(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("C4E36D0F8C2B8000000001" , vpalignr(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D0F8C2B8000000001" , vpalignr(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D480FCB01" , vpalignr(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F36D480F4C2B0201" , vpalignr(zmm1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D480F4C2B0201" , vpalignr(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C5E9DBCB" , vpand(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9DB8C2B80000000" , vpand(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9DB8C2B80000000" , vpand(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDDBCB" , vpand(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDDB8C2B80000000" , vpand(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDDB8C2B80000000" , vpand(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D08DBCB" , vpandd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F16D08DB4C2B08" , vpandd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D08DB4C2B08" , vpandd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D28DBCB" , vpandd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F16D28DB4C2B04" , vpandd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D28DB4C2B04" , vpandd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48DBCB" , vpandd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48DB4C2B02" , vpandd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48DB4C2B02" , vpandd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9DFCB" , vpandn(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9DF8C2B80000000" , vpandn(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9DF8C2B80000000" , vpandn(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDDFCB" , vpandn(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDDF8C2B80000000" , vpandn(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDDF8C2B80000000" , vpandn(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D08DFCB" , vpandnd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F16D08DF4C2B08" , vpandnd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D08DF4C2B08" , vpandnd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D28DFCB" , vpandnd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F16D28DF4C2B04" , vpandnd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D28DF4C2B04" , vpandnd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48DFCB" , vpandnd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48DF4C2B02" , vpandnd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48DF4C2B02" , vpandnd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED08DFCB" , vpandnq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F1ED08DF4C2B08" , vpandnq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED08DF4C2B08" , vpandnq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED28DFCB" , vpandnq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F1ED28DF4C2B04" , vpandnq(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED28DF4C2B04" , vpandnq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48DFCB" , vpandnq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED48DF4C2B02" , vpandnq(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48DF4C2B02" , vpandnq(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED08DBCB" , vpandq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F1ED08DB4C2B08" , vpandq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED08DB4C2B08" , vpandq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED28DBCB" , vpandq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F1ED28DB4C2B04" , vpandq(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED28DB4C2B04" , vpandq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48DBCB" , vpandq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED48DB4C2B02" , vpandq(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48DB4C2B02" , vpandq(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9E0CB" , vpavgb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9E08C2B80000000" , vpavgb(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9E08C2B80000000" , vpavgb(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDE0CB" , vpavgb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDE08C2B80000000" , vpavgb(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDE08C2B80000000" , vpavgb(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48E0CB" , vpavgb(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48E04C2B02" , vpavgb(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48E04C2B02" , vpavgb(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9E3CB" , vpavgw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9E38C2B80000000" , vpavgw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9E38C2B80000000" , vpavgw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDE3CB" , vpavgw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDE38C2B80000000" , vpavgw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDE38C2B80000000" , vpavgw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48E3CB" , vpavgw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48E34C2B02" , vpavgw(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48E34C2B02" , vpavgw(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E36902CB01" , vpblendd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C4E369028C2B8000000001" , vpblendd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E369028C2B8000000001" , vpblendd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D02CB01" , vpblendd(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("C4E36D028C2B8000000001" , vpblendd(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D028C2B8000000001" , vpblendd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F26D0866CB" , vpblendmb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08664C2B08" , vpblendmb(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08664C2B08" , vpblendmb(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D2866CB" , vpblendmb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D28664C2B04" , vpblendmb(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D28664C2B04" , vpblendmb(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4866CB" , vpblendmb(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48664C2B02" , vpblendmb(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48664C2B02" , vpblendmb(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D0864CB" , vpblendmd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08644C2B08" , vpblendmd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08644C2B08" , vpblendmd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D2864CB" , vpblendmd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D28644C2B04" , vpblendmd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D28644C2B04" , vpblendmd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4864CB" , vpblendmd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48644C2B02" , vpblendmd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48644C2B02" , vpblendmd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0864CB" , vpblendmq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08644C2B08" , vpblendmq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08644C2B08" , vpblendmq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2864CB" , vpblendmq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28644C2B04" , vpblendmq(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28644C2B04" , vpblendmq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4864CB" , vpblendmq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48644C2B02" , vpblendmq(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48644C2B02" , vpblendmq(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0866CB" , vpblendmw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08664C2B08" , vpblendmw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08664C2B08" , vpblendmw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2866CB" , vpblendmw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28664C2B04" , vpblendmw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28664C2B04" , vpblendmw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4866CB" , vpblendmw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48664C2B02" , vpblendmw(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48664C2B02" , vpblendmw(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E3694CCB40" , vpblendvb(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("C4E3694C8C2B8000000060" , vpblendvb(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E3694C8C2B8000000060" , vpblendvb(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("C4E36D4CCB40" , vpblendvb(ymm1, ymm2, ymm3, ymm4));
+ TEST_INSTRUCTION("C4E36D4C8C2B8000000060" , vpblendvb(ymm1, ymm2, ptr(rbx, rbp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E36D4C8C2B8000000060" , vpblendvb(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), ymm6));
+ TEST_INSTRUCTION("C4E3690ECB01" , vpblendw(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C4E3690E8C2B8000000001" , vpblendw(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3690E8C2B8000000001" , vpblendw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D0ECB01" , vpblendw(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("C4E36D0E8C2B8000000001" , vpblendw(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D0E8C2B8000000001" , vpblendw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F27D087ACA" , vpbroadcastb(xmm1, edx));
+ TEST_INSTRUCTION("C4E27978CA" , vpbroadcastb(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279788C1A80000000" , vpbroadcastb(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E279788C1A80000000" , vpbroadcastb(xmm1, byte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D287ACA" , vpbroadcastb(ymm1, edx));
+ TEST_INSTRUCTION("C4E27D78CA" , vpbroadcastb(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D788C1A80000000" , vpbroadcastb(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D788C1A80000000" , vpbroadcastb(ymm1, byte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D487ACA" , vpbroadcastb(zmm1, edx));
+ TEST_INSTRUCTION("62F27D4878CA" , vpbroadcastb(zmm1, xmm2));
+ TEST_INSTRUCTION("62F27D48788C1A80000000" , vpbroadcastb(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48788C1A80000000" , vpbroadcastb(zmm1, byte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D087CCA" , vpbroadcastd(xmm1, edx));
+ TEST_INSTRUCTION("C4E27958CA" , vpbroadcastd(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279588C1A80000000" , vpbroadcastd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E279588C1A80000000" , vpbroadcastd(xmm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D287CCA" , vpbroadcastd(ymm1, edx));
+ TEST_INSTRUCTION("C4E27D58CA" , vpbroadcastd(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D588C1A80000000" , vpbroadcastd(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D588C1A80000000" , vpbroadcastd(ymm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D487CCA" , vpbroadcastd(zmm1, edx));
+ TEST_INSTRUCTION("62F27D4858CA" , vpbroadcastd(zmm1, xmm2));
+ TEST_INSTRUCTION("62F27D48584C1A20" , vpbroadcastd(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48584C1A20" , vpbroadcastd(zmm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FE082ACA" , vpbroadcastmb2q(xmm1, k2));
+ TEST_INSTRUCTION("62F2FE282ACA" , vpbroadcastmb2q(ymm1, k2));
+ TEST_INSTRUCTION("62F2FE482ACA" , vpbroadcastmb2q(zmm1, k2));
+ TEST_INSTRUCTION("62F27E083ACA" , vpbroadcastmw2d(xmm1, k2));
+ TEST_INSTRUCTION("62F27E283ACA" , vpbroadcastmw2d(ymm1, k2));
+ TEST_INSTRUCTION("62F27E483ACA" , vpbroadcastmw2d(zmm1, k2));
+ TEST_INSTRUCTION("62F2FD087CCA" , vpbroadcastq(xmm1, rdx));
+ TEST_INSTRUCTION("C4E27959CA" , vpbroadcastq(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279598C1A80000000" , vpbroadcastq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E279598C1A80000000" , vpbroadcastq(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD287CCA" , vpbroadcastq(ymm1, rdx));
+ TEST_INSTRUCTION("C4E27D59CA" , vpbroadcastq(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D598C1A80000000" , vpbroadcastq(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D598C1A80000000" , vpbroadcastq(ymm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD487CCA" , vpbroadcastq(zmm1, rdx));
+ TEST_INSTRUCTION("62F2FD4859CA" , vpbroadcastq(zmm1, xmm2));
+ TEST_INSTRUCTION("62F2FD48594C1A10" , vpbroadcastq(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD48594C1A10" , vpbroadcastq(zmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D087BCA" , vpbroadcastw(xmm1, edx));
+ TEST_INSTRUCTION("C4E27979CA" , vpbroadcastw(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279798C1A80000000" , vpbroadcastw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E279798C1A80000000" , vpbroadcastw(xmm1, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D287BCA" , vpbroadcastw(ymm1, edx));
+ TEST_INSTRUCTION("C4E27D79CA" , vpbroadcastw(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D798C1A80000000" , vpbroadcastw(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D798C1A80000000" , vpbroadcastw(ymm1, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D487BCA" , vpbroadcastw(zmm1, edx));
+ TEST_INSTRUCTION("62F27D4879CA" , vpbroadcastw(zmm1, xmm2));
+ TEST_INSTRUCTION("62F27D48794C1A40" , vpbroadcastw(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48794C1A40" , vpbroadcastw(zmm1, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E36944CB01" , vpclmulqdq(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C4E369448C2B8000000001" , vpclmulqdq(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E369448C2B8000000001" , vpclmulqdq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D44CB01" , vpclmulqdq(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("C4E36D448C2B8000000001" , vpclmulqdq(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D448C2B8000000001" , vpclmulqdq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D4844CB01" , vpclmulqdq(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F36D48444C2B0201" , vpclmulqdq(zmm1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D48444C2B0201" , vpclmulqdq(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("8FE868A2CB40" , vpcmov(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("8FE8E8A28C358000000030" , vpcmov(xmm1, xmm2, xmm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("8FE8E8A28C358000000030" , vpcmov(xmm1, xmm2, xmm3, xmmword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("8FE868A28C2B8000000060" , vpcmov(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE868A28C2B8000000060" , vpcmov(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE86CA2CB40" , vpcmov(ymm1, ymm2, ymm3, ymm4));
+ TEST_INSTRUCTION("8FE8ECA28C358000000030" , vpcmov(ymm1, ymm2, ymm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("8FE8ECA28C358000000030" , vpcmov(ymm1, ymm2, ymm3, ymmword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("8FE86CA28C2B8000000060" , vpcmov(ymm1, ymm2, ptr(rbx, rbp, 0, 128), ymm6));
+ TEST_INSTRUCTION("8FE86CA28C2B8000000060" , vpcmov(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), ymm6));
+ TEST_INSTRUCTION("62F36D083FCB01" , vpcmpb(k1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D083F4C2B0801" , vpcmpb(k1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D083F4C2B0801" , vpcmpb(k1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D283FCB01" , vpcmpb(k1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F36D283F4C2B0401" , vpcmpb(k1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D283F4C2B0401" , vpcmpb(k1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D483FCB01" , vpcmpb(k1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F36D483F4C2B0201" , vpcmpb(k1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D483F4C2B0201" , vpcmpb(k1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D081FCB01" , vpcmpd(k1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D081F4C2B0801" , vpcmpd(k1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D081F4C2B0801" , vpcmpd(k1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D281FCB01" , vpcmpd(k1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F36D281F4C2B0401" , vpcmpd(k1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D281F4C2B0401" , vpcmpd(k1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D481FCB01" , vpcmpd(k1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F36D481F4C2B0201" , vpcmpd(k1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D481F4C2B0201" , vpcmpd(k1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C5E974CB" , vpcmpeqb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9748C2B80000000" , vpcmpeqb(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9748C2B80000000" , vpcmpeqb(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D0874CB" , vpcmpeqb(k1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F16D08744C2B08" , vpcmpeqb(k1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D08744C2B08" , vpcmpeqb(k1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED74CB" , vpcmpeqb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED748C2B80000000" , vpcmpeqb(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED748C2B80000000" , vpcmpeqb(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D2874CB" , vpcmpeqb(k1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F16D28744C2B04" , vpcmpeqb(k1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D28744C2B04" , vpcmpeqb(k1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D4874CB" , vpcmpeqb(k1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48744C2B02" , vpcmpeqb(k1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48744C2B02" , vpcmpeqb(k1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E976CB" , vpcmpeqd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9768C2B80000000" , vpcmpeqd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9768C2B80000000" , vpcmpeqd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D0876CB" , vpcmpeqd(k1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F16D08764C2B08" , vpcmpeqd(k1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D08764C2B08" , vpcmpeqd(k1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED76CB" , vpcmpeqd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED768C2B80000000" , vpcmpeqd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED768C2B80000000" , vpcmpeqd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D2876CB" , vpcmpeqd(k1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F16D28764C2B04" , vpcmpeqd(k1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D28764C2B04" , vpcmpeqd(k1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D4876CB" , vpcmpeqd(k1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48764C2B02" , vpcmpeqd(k1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48764C2B02" , vpcmpeqd(k1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26929CB" , vpcmpeqq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269298C2B80000000" , vpcmpeqq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269298C2B80000000" , vpcmpeqq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0829CB" , vpcmpeqq(k1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08294C2B08" , vpcmpeqq(k1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08294C2B08" , vpcmpeqq(k1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D29CB" , vpcmpeqq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D298C2B80000000" , vpcmpeqq(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D298C2B80000000" , vpcmpeqq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2829CB" , vpcmpeqq(k1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28294C2B04" , vpcmpeqq(k1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28294C2B04" , vpcmpeqq(k1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4829CB" , vpcmpeqq(k1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48294C2B02" , vpcmpeqq(k1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48294C2B02" , vpcmpeqq(k1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E975CB" , vpcmpeqw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9758C2B80000000" , vpcmpeqw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9758C2B80000000" , vpcmpeqw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D0875CB" , vpcmpeqw(k1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F16D08754C2B08" , vpcmpeqw(k1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D08754C2B08" , vpcmpeqw(k1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED75CB" , vpcmpeqw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED758C2B80000000" , vpcmpeqw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED758C2B80000000" , vpcmpeqw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D2875CB" , vpcmpeqw(k1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F16D28754C2B04" , vpcmpeqw(k1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D28754C2B04" , vpcmpeqw(k1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D4875CB" , vpcmpeqw(k1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48754C2B02" , vpcmpeqw(k1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48754C2B02" , vpcmpeqw(k1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E37961CA01" , vpcmpestri(xmm1, xmm2, 1, ecx, eax, edx));
+ TEST_INSTRUCTION("C4E379618C1A8000000001" , vpcmpestri(xmm1, ptr(rdx, rbx, 0, 128), 1, ecx, eax, edx));
+ TEST_INSTRUCTION("C4E379618C1A8000000001" , vpcmpestri(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1, ecx, eax, edx));
+ TEST_INSTRUCTION("C4E37960CA01" , vpcmpestrm(xmm1, xmm2, 1, xmm0, eax, edx));
+ TEST_INSTRUCTION("C4E379608C1A8000000001" , vpcmpestrm(xmm1, ptr(rdx, rbx, 0, 128), 1, xmm0, eax, edx));
+ TEST_INSTRUCTION("C4E379608C1A8000000001" , vpcmpestrm(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1, xmm0, eax, edx));
+ TEST_INSTRUCTION("C5E964CB" , vpcmpgtb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9648C2B80000000" , vpcmpgtb(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9648C2B80000000" , vpcmpgtb(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D0864CB" , vpcmpgtb(k1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F16D08644C2B08" , vpcmpgtb(k1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D08644C2B08" , vpcmpgtb(k1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED64CB" , vpcmpgtb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED648C2B80000000" , vpcmpgtb(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED648C2B80000000" , vpcmpgtb(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D2864CB" , vpcmpgtb(k1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F16D28644C2B04" , vpcmpgtb(k1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D28644C2B04" , vpcmpgtb(k1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D4864CB" , vpcmpgtb(k1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48644C2B02" , vpcmpgtb(k1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48644C2B02" , vpcmpgtb(k1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E966CB" , vpcmpgtd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9668C2B80000000" , vpcmpgtd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9668C2B80000000" , vpcmpgtd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D0866CB" , vpcmpgtd(k1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F16D08664C2B08" , vpcmpgtd(k1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D08664C2B08" , vpcmpgtd(k1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED66CB" , vpcmpgtd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED668C2B80000000" , vpcmpgtd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED668C2B80000000" , vpcmpgtd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D2866CB" , vpcmpgtd(k1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F16D28664C2B04" , vpcmpgtd(k1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D28664C2B04" , vpcmpgtd(k1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D4866CB" , vpcmpgtd(k1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48664C2B02" , vpcmpgtd(k1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48664C2B02" , vpcmpgtd(k1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26937CB" , vpcmpgtq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269378C2B80000000" , vpcmpgtq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269378C2B80000000" , vpcmpgtq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0837CB" , vpcmpgtq(k1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08374C2B08" , vpcmpgtq(k1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08374C2B08" , vpcmpgtq(k1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D37CB" , vpcmpgtq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D378C2B80000000" , vpcmpgtq(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D378C2B80000000" , vpcmpgtq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2837CB" , vpcmpgtq(k1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28374C2B04" , vpcmpgtq(k1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28374C2B04" , vpcmpgtq(k1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4837CB" , vpcmpgtq(k1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48374C2B02" , vpcmpgtq(k1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48374C2B02" , vpcmpgtq(k1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E965CB" , vpcmpgtw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9658C2B80000000" , vpcmpgtw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9658C2B80000000" , vpcmpgtw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D0865CB" , vpcmpgtw(k1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F16D08654C2B08" , vpcmpgtw(k1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D08654C2B08" , vpcmpgtw(k1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED65CB" , vpcmpgtw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED658C2B80000000" , vpcmpgtw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED658C2B80000000" , vpcmpgtw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D2865CB" , vpcmpgtw(k1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F16D28654C2B04" , vpcmpgtw(k1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D28654C2B04" , vpcmpgtw(k1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D4865CB" , vpcmpgtw(k1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48654C2B02" , vpcmpgtw(k1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48654C2B02" , vpcmpgtw(k1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E37963CA01" , vpcmpistri(xmm1, xmm2, 1, ecx));
+ TEST_INSTRUCTION("C4E379638C1A8000000001" , vpcmpistri(xmm1, ptr(rdx, rbx, 0, 128), 1, ecx));
+ TEST_INSTRUCTION("C4E379638C1A8000000001" , vpcmpistri(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1, ecx));
+ TEST_INSTRUCTION("C4E37962CA01" , vpcmpistrm(xmm1, xmm2, 1, xmm0));
+ TEST_INSTRUCTION("C4E379628C1A8000000001" , vpcmpistrm(xmm1, ptr(rdx, rbx, 0, 128), 1, xmm0));
+ TEST_INSTRUCTION("C4E379628C1A8000000001" , vpcmpistrm(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1, xmm0));
+ TEST_INSTRUCTION("62F3ED081FCB01" , vpcmpq(k1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED081F4C2B0801" , vpcmpq(k1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED081F4C2B0801" , vpcmpq(k1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED281FCB01" , vpcmpq(k1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F3ED281F4C2B0401" , vpcmpq(k1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED281F4C2B0401" , vpcmpq(k1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED481FCB01" , vpcmpq(k1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F3ED481F4C2B0201" , vpcmpq(k1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED481F4C2B0201" , vpcmpq(k1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D083ECB01" , vpcmpub(k1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D083E4C2B0801" , vpcmpub(k1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D083E4C2B0801" , vpcmpub(k1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D283ECB01" , vpcmpub(k1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F36D283E4C2B0401" , vpcmpub(k1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D283E4C2B0401" , vpcmpub(k1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D483ECB01" , vpcmpub(k1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F36D483E4C2B0201" , vpcmpub(k1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D483E4C2B0201" , vpcmpub(k1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D081ECB01" , vpcmpud(k1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D081E4C2B0801" , vpcmpud(k1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D081E4C2B0801" , vpcmpud(k1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D281ECB01" , vpcmpud(k1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F36D281E4C2B0401" , vpcmpud(k1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D281E4C2B0401" , vpcmpud(k1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D481ECB01" , vpcmpud(k1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F36D481E4C2B0201" , vpcmpud(k1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D481E4C2B0201" , vpcmpud(k1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED081ECB01" , vpcmpuq(k1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED081E4C2B0801" , vpcmpuq(k1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED081E4C2B0801" , vpcmpuq(k1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED281ECB01" , vpcmpuq(k1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F3ED281E4C2B0401" , vpcmpuq(k1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED281E4C2B0401" , vpcmpuq(k1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED481ECB01" , vpcmpuq(k1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F3ED481E4C2B0201" , vpcmpuq(k1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED481E4C2B0201" , vpcmpuq(k1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED083ECB01" , vpcmpuw(k1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED083E4C2B0801" , vpcmpuw(k1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED083E4C2B0801" , vpcmpuw(k1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED283ECB01" , vpcmpuw(k1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F3ED283E4C2B0401" , vpcmpuw(k1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED283E4C2B0401" , vpcmpuw(k1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED483ECB01" , vpcmpuw(k1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F3ED483E4C2B0201" , vpcmpuw(k1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED483E4C2B0201" , vpcmpuw(k1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED083FCB01" , vpcmpw(k1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED083F4C2B0801" , vpcmpw(k1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED083F4C2B0801" , vpcmpw(k1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED283FCB01" , vpcmpw(k1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F3ED283F4C2B0401" , vpcmpw(k1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED283F4C2B0401" , vpcmpw(k1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED483FCB01" , vpcmpw(k1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F3ED483F4C2B0201" , vpcmpw(k1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED483F4C2B0201" , vpcmpw(k1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("8FE868CCCB01" , vpcomb(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("8FE868CC8C2B8000000001" , vpcomb(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("8FE868CC8C2B8000000001" , vpcomb(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("8FE868CECB01" , vpcomd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("8FE868CE8C2B8000000001" , vpcomd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("8FE868CE8C2B8000000001" , vpcomd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F27D0863D1" , vpcompressb(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27D08639C1180000000" , vpcompressb(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27D08639C1180000000" , vpcompressb(xmmword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27D2863D1" , vpcompressb(ymm1, ymm2));
+ TEST_INSTRUCTION("62F27D28639C1180000000" , vpcompressb(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27D28639C1180000000" , vpcompressb(ymmword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27D4863D1" , vpcompressb(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D48639C1180000000" , vpcompressb(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27D48639C1180000000" , vpcompressb(zmmword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27D088BD1" , vpcompressd(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27D088B5C1120" , vpcompressd(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27D088B5C1120" , vpcompressd(xmmword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27D288BD1" , vpcompressd(ymm1, ymm2));
+ TEST_INSTRUCTION("62F27D288B5C1120" , vpcompressd(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27D288B5C1120" , vpcompressd(ymmword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27D488BD1" , vpcompressd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D488B5C1120" , vpcompressd(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27D488B5C1120" , vpcompressd(zmmword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F2FD088BD1" , vpcompressq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F2FD088B5C1110" , vpcompressq(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F2FD088B5C1110" , vpcompressq(xmmword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F2FD288BD1" , vpcompressq(ymm1, ymm2));
+ TEST_INSTRUCTION("62F2FD288B5C1110" , vpcompressq(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F2FD288B5C1110" , vpcompressq(ymmword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F2FD488BD1" , vpcompressq(zmm1, zmm2));
+ TEST_INSTRUCTION("62F2FD488B5C1110" , vpcompressq(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F2FD488B5C1110" , vpcompressq(zmmword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F2FD0863D1" , vpcompressw(xmm1, xmm2));
+ TEST_INSTRUCTION("62F2FD08635C1140" , vpcompressw(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F2FD08635C1140" , vpcompressw(xmmword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F2FD2863D1" , vpcompressw(ymm1, ymm2));
+ TEST_INSTRUCTION("62F2FD28635C1140" , vpcompressw(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F2FD28635C1140" , vpcompressw(ymmword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F2FD4863D1" , vpcompressw(zmm1, zmm2));
+ TEST_INSTRUCTION("62F2FD48635C1140" , vpcompressw(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F2FD48635C1140" , vpcompressw(zmmword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("8FE868CFCB01" , vpcomq(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("8FE868CF8C2B8000000001" , vpcomq(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("8FE868CF8C2B8000000001" , vpcomq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("8FE868ECCB01" , vpcomub(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("8FE868EC8C2B8000000001" , vpcomub(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("8FE868EC8C2B8000000001" , vpcomub(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("8FE868EECB01" , vpcomud(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("8FE868EE8C2B8000000001" , vpcomud(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("8FE868EE8C2B8000000001" , vpcomud(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("8FE868EFCB01" , vpcomuq(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("8FE868EF8C2B8000000001" , vpcomuq(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("8FE868EF8C2B8000000001" , vpcomuq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("8FE868EDCB01" , vpcomuw(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("8FE868ED8C2B8000000001" , vpcomuw(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("8FE868ED8C2B8000000001" , vpcomuw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("8FE868CDCB01" , vpcomw(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("8FE868CD8C2B8000000001" , vpcomw(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("8FE868CD8C2B8000000001" , vpcomw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F27D08C4CA" , vpconflictd(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27D08C44C1A08" , vpconflictd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D08C44C1A08" , vpconflictd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D28C4CA" , vpconflictd(ymm1, ymm2));
+ TEST_INSTRUCTION("62F27D28C44C1A04" , vpconflictd(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D28C44C1A04" , vpconflictd(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48C4CA" , vpconflictd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D48C44C1A02" , vpconflictd(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48C44C1A02" , vpconflictd(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD08C4CA" , vpconflictq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F2FD08C44C1A08" , vpconflictq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD08C44C1A08" , vpconflictq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD28C4CA" , vpconflictq(ymm1, ymm2));
+ TEST_INSTRUCTION("62F2FD28C44C1A04" , vpconflictq(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD28C44C1A04" , vpconflictq(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD48C4CA" , vpconflictq(zmm1, zmm2));
+ TEST_INSTRUCTION("62F2FD48C44C1A02" , vpconflictq(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD48C44C1A02" , vpconflictq(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F26D0850CB" , vpdpbusd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08504C2B08" , vpdpbusd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08504C2B08" , vpdpbusd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D2850CB" , vpdpbusd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D28504C2B04" , vpdpbusd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D28504C2B04" , vpdpbusd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4850CB" , vpdpbusd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48504C2B02" , vpdpbusd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48504C2B02" , vpdpbusd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D0851CB" , vpdpbusds(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08514C2B08" , vpdpbusds(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08514C2B08" , vpdpbusds(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D2851CB" , vpdpbusds(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D28514C2B04" , vpdpbusds(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D28514C2B04" , vpdpbusds(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4851CB" , vpdpbusds(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48514C2B02" , vpdpbusds(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48514C2B02" , vpdpbusds(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D0852CB" , vpdpwssd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08524C2B08" , vpdpwssd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08524C2B08" , vpdpwssd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D2852CB" , vpdpwssd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D28524C2B04" , vpdpwssd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D28524C2B04" , vpdpwssd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4852CB" , vpdpwssd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48524C2B02" , vpdpwssd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48524C2B02" , vpdpwssd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D0853CB" , vpdpwssds(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08534C2B08" , vpdpwssds(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08534C2B08" , vpdpwssds(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D2853CB" , vpdpwssds(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D28534C2B04" , vpdpwssds(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D28534C2B04" , vpdpwssds(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4853CB" , vpdpwssds(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48534C2B02" , vpdpwssds(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48534C2B02" , vpdpwssds(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E36D06CB01" , vperm2f128(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("C4E36D068C2B8000000001" , vperm2f128(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D068C2B8000000001" , vperm2f128(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D46CB01" , vperm2i128(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("C4E36D468C2B8000000001" , vperm2i128(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D468C2B8000000001" , vperm2i128(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F26D088DCB" , vpermb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D088D4C2B08" , vpermb(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D088D4C2B08" , vpermb(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D288DCB" , vpermb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D288D4C2B04" , vpermb(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D288D4C2B04" , vpermb(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D488DCB" , vpermb(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D488D4C2B02" , vpermb(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D488D4C2B02" , vpermb(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D36CB" , vpermd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D368C2B80000000" , vpermd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D368C2B80000000" , vpermd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4836CB" , vpermd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48364C2B02" , vpermd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48364C2B02" , vpermd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D0875CB" , vpermi2b(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08754C2B08" , vpermi2b(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08754C2B08" , vpermi2b(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D2875CB" , vpermi2b(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D28754C2B04" , vpermi2b(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D28754C2B04" , vpermi2b(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4875CB" , vpermi2b(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48754C2B02" , vpermi2b(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48754C2B02" , vpermi2b(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D0876CB" , vpermi2d(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08764C2B08" , vpermi2d(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08764C2B08" , vpermi2d(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D2876CB" , vpermi2d(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D28764C2B04" , vpermi2d(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D28764C2B04" , vpermi2d(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4876CB" , vpermi2d(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48764C2B02" , vpermi2d(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48764C2B02" , vpermi2d(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0877CB" , vpermi2pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08774C2B08" , vpermi2pd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08774C2B08" , vpermi2pd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2877CB" , vpermi2pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28774C2B04" , vpermi2pd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28774C2B04" , vpermi2pd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4877CB" , vpermi2pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48774C2B02" , vpermi2pd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48774C2B02" , vpermi2pd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D0877CB" , vpermi2ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08774C2B08" , vpermi2ps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08774C2B08" , vpermi2ps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D2877CB" , vpermi2ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D28774C2B04" , vpermi2ps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D28774C2B04" , vpermi2ps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4877CB" , vpermi2ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48774C2B02" , vpermi2ps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48774C2B02" , vpermi2ps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0876CB" , vpermi2q(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08764C2B08" , vpermi2q(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08764C2B08" , vpermi2q(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2876CB" , vpermi2q(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28764C2B04" , vpermi2q(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28764C2B04" , vpermi2q(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4876CB" , vpermi2q(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48764C2B02" , vpermi2q(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48764C2B02" , vpermi2q(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0875CB" , vpermi2w(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08754C2B08" , vpermi2w(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08754C2B08" , vpermi2w(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2875CB" , vpermi2w(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28754C2B04" , vpermi2w(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28754C2B04" , vpermi2w(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4875CB" , vpermi2w(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48754C2B02" , vpermi2w(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48754C2B02" , vpermi2w(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E36949CB41" , vpermil2pd(xmm1, xmm2, xmm3, xmm4, 1));
+ TEST_INSTRUCTION("C4E369498C2B8000000061" , vpermil2pd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6, 1));
+ TEST_INSTRUCTION("C4E369498C2B8000000061" , vpermil2pd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), xmm6, 1));
+ TEST_INSTRUCTION("C4E3E9498C358000000031" , vpermil2pd(xmm1, xmm2, xmm3, ptr(rbp, rsi, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3E9498C358000000031" , vpermil2pd(xmm1, xmm2, xmm3, xmmword_ptr(rbp, rsi, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D49CB41" , vpermil2pd(ymm1, ymm2, ymm3, ymm4, 1));
+ TEST_INSTRUCTION("C4E36D498C2B8000000061" , vpermil2pd(ymm1, ymm2, ptr(rbx, rbp, 0, 128), ymm6, 1));
+ TEST_INSTRUCTION("C4E36D498C2B8000000061" , vpermil2pd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), ymm6, 1));
+ TEST_INSTRUCTION("C4E3ED498C358000000031" , vpermil2pd(ymm1, ymm2, ymm3, ptr(rbp, rsi, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3ED498C358000000031" , vpermil2pd(ymm1, ymm2, ymm3, ymmword_ptr(rbp, rsi, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36948CB41" , vpermil2ps(xmm1, xmm2, xmm3, xmm4, 1));
+ TEST_INSTRUCTION("C4E369488C2B8000000061" , vpermil2ps(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6, 1));
+ TEST_INSTRUCTION("C4E369488C2B8000000061" , vpermil2ps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), xmm6, 1));
+ TEST_INSTRUCTION("C4E3E9488C358000000031" , vpermil2ps(xmm1, xmm2, xmm3, ptr(rbp, rsi, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3E9488C358000000031" , vpermil2ps(xmm1, xmm2, xmm3, xmmword_ptr(rbp, rsi, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36D48CB41" , vpermil2ps(ymm1, ymm2, ymm3, ymm4, 1));
+ TEST_INSTRUCTION("C4E36D488C2B8000000061" , vpermil2ps(ymm1, ymm2, ptr(rbx, rbp, 0, 128), ymm6, 1));
+ TEST_INSTRUCTION("C4E36D488C2B8000000061" , vpermil2ps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), ymm6, 1));
+ TEST_INSTRUCTION("C4E3ED488C358000000031" , vpermil2ps(ymm1, ymm2, ymm3, ptr(rbp, rsi, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3ED488C358000000031" , vpermil2ps(ymm1, ymm2, ymm3, ymmword_ptr(rbp, rsi, 0, 128), 1));
+ TEST_INSTRUCTION("C4E2690DCB" , vpermilpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E37905CA01" , vpermilpd(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("C4E2690D8C2B80000000" , vpermilpd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2690D8C2B80000000" , vpermilpd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E379058C1A8000000001" , vpermilpd(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E379058C1A8000000001" , vpermilpd(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E26D0DCB" , vpermilpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E37D05CA01" , vpermilpd(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("C4E26D0D8C2B80000000" , vpermilpd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D0D8C2B80000000" , vpermilpd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E37D058C1A8000000001" , vpermilpd(ymm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E37D058C1A8000000001" , vpermilpd(ymm1, ymmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F2ED480DCB" , vpermilpd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F3FD4805CA01" , vpermilpd(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F2ED480D4C2B02" , vpermilpd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED480D4C2B02" , vpermilpd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F3FD48054C1A0201" , vpermilpd(zmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD48054C1A0201" , vpermilpd(zmm1, zmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E2690CCB" , vpermilps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E37904CA01" , vpermilps(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("C4E2690C8C2B80000000" , vpermilps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2690C8C2B80000000" , vpermilps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E379048C1A8000000001" , vpermilps(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E379048C1A8000000001" , vpermilps(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E26D0CCB" , vpermilps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E37D04CA01" , vpermilps(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("C4E26D0C8C2B80000000" , vpermilps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D0C8C2B80000000" , vpermilps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E37D048C1A8000000001" , vpermilps(ymm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E37D048C1A8000000001" , vpermilps(ymm1, ymmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F26D480CCB" , vpermilps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F37D4804CA01" , vpermilps(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F26D480C4C2B02" , vpermilps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D480C4C2B02" , vpermilps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F37D48044C1A0201" , vpermilps(zmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D48044C1A0201" , vpermilps(zmm1, zmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3FD01CA01" , vpermpd(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("C4E3FD018C1A8000000001" , vpermpd(ymm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3FD018C1A8000000001" , vpermpd(ymm1, ymmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F2ED2816CB" , vpermpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28164C2B04" , vpermpd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28164C2B04" , vpermpd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4816CB" , vpermpd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F3FD4801CA01" , vpermpd(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F2ED48164C2B02" , vpermpd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48164C2B02" , vpermpd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F3FD48014C1A0201" , vpermpd(zmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD48014C1A0201" , vpermpd(zmm1, zmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E26D16CB" , vpermps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D168C2B80000000" , vpermps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D168C2B80000000" , vpermps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4816CB" , vpermps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48164C2B02" , vpermps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48164C2B02" , vpermps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E3FD00CA01" , vpermq(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("C4E3FD008C1A8000000001" , vpermq(ymm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3FD008C1A8000000001" , vpermq(ymm1, ymmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F2ED2836CB" , vpermq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28364C2B04" , vpermq(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28364C2B04" , vpermq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4836CB" , vpermq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F3FD4800CA01" , vpermq(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F2ED48364C2B02" , vpermq(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48364C2B02" , vpermq(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F3FD48004C1A0201" , vpermq(zmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD48004C1A0201" , vpermq(zmm1, zmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F26D087DCB" , vpermt2b(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D087D4C2B08" , vpermt2b(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D087D4C2B08" , vpermt2b(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D287DCB" , vpermt2b(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D287D4C2B04" , vpermt2b(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D287D4C2B04" , vpermt2b(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D487DCB" , vpermt2b(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D487D4C2B02" , vpermt2b(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D487D4C2B02" , vpermt2b(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D087ECB" , vpermt2d(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D087E4C2B08" , vpermt2d(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D087E4C2B08" , vpermt2d(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D287ECB" , vpermt2d(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D287E4C2B04" , vpermt2d(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D287E4C2B04" , vpermt2d(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D487ECB" , vpermt2d(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D487E4C2B02" , vpermt2d(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D487E4C2B02" , vpermt2d(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED087FCB" , vpermt2pd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED087F4C2B08" , vpermt2pd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED087F4C2B08" , vpermt2pd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED287FCB" , vpermt2pd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED287F4C2B04" , vpermt2pd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED287F4C2B04" , vpermt2pd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED487FCB" , vpermt2pd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED487F4C2B02" , vpermt2pd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED487F4C2B02" , vpermt2pd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D087FCB" , vpermt2ps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D087F4C2B08" , vpermt2ps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D087F4C2B08" , vpermt2ps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D287FCB" , vpermt2ps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D287F4C2B04" , vpermt2ps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D287F4C2B04" , vpermt2ps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D487FCB" , vpermt2ps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D487F4C2B02" , vpermt2ps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D487F4C2B02" , vpermt2ps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED087ECB" , vpermt2q(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED087E4C2B08" , vpermt2q(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED087E4C2B08" , vpermt2q(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED287ECB" , vpermt2q(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED287E4C2B04" , vpermt2q(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED287E4C2B04" , vpermt2q(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED487ECB" , vpermt2q(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED487E4C2B02" , vpermt2q(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED487E4C2B02" , vpermt2q(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED087DCB" , vpermt2w(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED087D4C2B08" , vpermt2w(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED087D4C2B08" , vpermt2w(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED287DCB" , vpermt2w(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED287D4C2B04" , vpermt2w(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED287D4C2B04" , vpermt2w(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED487DCB" , vpermt2w(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED487D4C2B02" , vpermt2w(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED487D4C2B02" , vpermt2w(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED088DCB" , vpermw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED088D4C2B08" , vpermw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED088D4C2B08" , vpermw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED288DCB" , vpermw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED288D4C2B04" , vpermw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED288D4C2B04" , vpermw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED488DCB" , vpermw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED488D4C2B02" , vpermw(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED488D4C2B02" , vpermw(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F27D0862CA" , vpexpandb(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27D08628C1A80000000" , vpexpandb(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D08628C1A80000000" , vpexpandb(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D2862CA" , vpexpandb(ymm1, ymm2));
+ TEST_INSTRUCTION("62F27D28628C1A80000000" , vpexpandb(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D28628C1A80000000" , vpexpandb(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4862CA" , vpexpandb(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D48628C1A80000000" , vpexpandb(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48628C1A80000000" , vpexpandb(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D0889CA" , vpexpandd(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27D08894C1A20" , vpexpandd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D08894C1A20" , vpexpandd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D2889CA" , vpexpandd(ymm1, ymm2));
+ TEST_INSTRUCTION("62F27D28894C1A20" , vpexpandd(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D28894C1A20" , vpexpandd(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4889CA" , vpexpandd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D48894C1A20" , vpexpandd(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48894C1A20" , vpexpandd(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD0889CA" , vpexpandq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F2FD08894C1A10" , vpexpandq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD08894C1A10" , vpexpandq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD2889CA" , vpexpandq(ymm1, ymm2));
+ TEST_INSTRUCTION("62F2FD28894C1A10" , vpexpandq(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD28894C1A10" , vpexpandq(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD4889CA" , vpexpandq(zmm1, zmm2));
+ TEST_INSTRUCTION("62F2FD48894C1A10" , vpexpandq(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD48894C1A10" , vpexpandq(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD0862CA" , vpexpandw(xmm1, xmm2));
+ TEST_INSTRUCTION("62F2FD08624C1A40" , vpexpandw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD08624C1A40" , vpexpandw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD2862CA" , vpexpandw(ymm1, ymm2));
+ TEST_INSTRUCTION("62F2FD28624C1A40" , vpexpandw(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD28624C1A40" , vpexpandw(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD4862CA" , vpexpandw(zmm1, zmm2));
+ TEST_INSTRUCTION("62F2FD48624C1A40" , vpexpandw(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD48624C1A40" , vpexpandw(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E37914D101" , vpextrb(ecx, xmm2, 1));
+ TEST_INSTRUCTION("C4E379149C118000000001" , vpextrb(ptr(rcx, rdx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("C4E379149C118000000001" , vpextrb(byte_ptr(rcx, rdx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("C4E37916D101" , vpextrd(ecx, xmm2, 1));
+ TEST_INSTRUCTION("C4E379169C118000000001" , vpextrd(ptr(rcx, rdx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("C4E379169C118000000001" , vpextrd(dword_ptr(rcx, rdx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("C4E3F916D101" , vpextrq(rcx, xmm2, 1));
+ TEST_INSTRUCTION("C4E3F9169C118000000001" , vpextrq(ptr(rcx, rdx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("C4E3F9169C118000000001" , vpextrq(qword_ptr(rcx, rdx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("C5F9C5CA01" , vpextrw(ecx, xmm2, 1));
+ TEST_INSTRUCTION("C4E379159C118000000001" , vpextrw(ptr(rcx, rdx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("C4E379159C118000000001" , vpextrw(word_ptr(rcx, rdx, 0, 128), xmm3, 1));
+ TEST_INSTRUCTION("C4E259908C1A80000000" , vpgatherdd(xmm1, ptr(rdx, xmm3, 0, 128), xmm4));
+ TEST_INSTRUCTION("C4E25D908C1A80000000" , vpgatherdd(ymm1, ptr(rdx, ymm3, 0, 128), ymm4));
+ TEST_INSTRUCTION("62F27D09904C1A20" , k(k1).vpgatherdd(xmm1, ptr(rdx, xmm3, 0, 128)));
+ TEST_INSTRUCTION("62F27D29904C1A20" , k(k1).vpgatherdd(ymm1, ptr(rdx, ymm3, 0, 128)));
+ TEST_INSTRUCTION("62F27D49904C1A20" , k(k1).vpgatherdd(zmm1, ptr(rdx, zmm3, 0, 128)));
+ TEST_INSTRUCTION("C4E2D9908C1A80000000" , vpgatherdq(xmm1, ptr(rdx, xmm3, 0, 128), xmm4));
+ TEST_INSTRUCTION("C4E2DD908C1A80000000" , vpgatherdq(ymm1, ptr(rdx, xmm3, 0, 128), ymm4));
+ TEST_INSTRUCTION("62F2FD09904C1A10" , k(k1).vpgatherdq(xmm1, ptr(rdx, xmm3, 0, 128)));
+ TEST_INSTRUCTION("62F2FD29904C1A10" , k(k1).vpgatherdq(ymm1, ptr(rdx, xmm3, 0, 128)));
+ TEST_INSTRUCTION("62F2FD49904C1A10" , k(k1).vpgatherdq(zmm1, ptr(rdx, ymm3, 0, 128)));
+ TEST_INSTRUCTION("C4E259918C1A80000000" , vpgatherqd(xmm1, ptr(rdx, xmm3, 0, 128), xmm4));
+ TEST_INSTRUCTION("C4E25D918C1A80000000" , vpgatherqd(xmm1, ptr(rdx, ymm3, 0, 128), xmm4));
+ TEST_INSTRUCTION("62F27D09914C1A20" , k(k1).vpgatherqd(xmm1, ptr(rdx, xmm3, 0, 128)));
+ TEST_INSTRUCTION("62F27D29914C1A20" , k(k1).vpgatherqd(xmm1, ptr(rdx, ymm3, 0, 128)));
+ TEST_INSTRUCTION("62F27D49914C1A20" , k(k1).vpgatherqd(ymm1, ptr(rdx, zmm3, 0, 128)));
+ TEST_INSTRUCTION("C4E2D9918C1A80000000" , vpgatherqq(xmm1, ptr(rdx, xmm3, 0, 128), xmm4));
+ TEST_INSTRUCTION("C4E2DD918C1A80000000" , vpgatherqq(ymm1, ptr(rdx, ymm3, 0, 128), ymm4));
+ TEST_INSTRUCTION("62F2FD09914C1A10" , k(k1).vpgatherqq(xmm1, ptr(rdx, xmm3, 0, 128)));
+ TEST_INSTRUCTION("62F2FD29914C1A10" , k(k1).vpgatherqq(ymm1, ptr(rdx, ymm3, 0, 128)));
+ TEST_INSTRUCTION("62F2FD49914C1A10" , k(k1).vpgatherqq(zmm1, ptr(rdx, zmm3, 0, 128)));
+ TEST_INSTRUCTION("8FE978C2CA" , vphaddbd(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978C28C1A80000000" , vphaddbd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE978C28C1A80000000" , vphaddbd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE978C3CA" , vphaddbq(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978C38C1A80000000" , vphaddbq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE978C38C1A80000000" , vphaddbq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE978C1CA" , vphaddbw(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978C18C1A80000000" , vphaddbw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE978C18C1A80000000" , vphaddbw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E26902CB" , vphaddd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269028C2B80000000" , vphaddd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269028C2B80000000" , vphaddd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D02CB" , vphaddd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D028C2B80000000" , vphaddd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D028C2B80000000" , vphaddd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("8FE978CBCA" , vphadddq(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978CB8C1A80000000" , vphadddq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE978CB8C1A80000000" , vphadddq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E26903CB" , vphaddsw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269038C2B80000000" , vphaddsw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269038C2B80000000" , vphaddsw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D03CB" , vphaddsw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D038C2B80000000" , vphaddsw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D038C2B80000000" , vphaddsw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("8FE978D2CA" , vphaddubd(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978D28C1A80000000" , vphaddubd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE978D28C1A80000000" , vphaddubd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE978D3CA" , vphaddubq(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978D38C1A80000000" , vphaddubq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE978D38C1A80000000" , vphaddubq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE978D1CA" , vphaddubw(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978D18C1A80000000" , vphaddubw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE978D18C1A80000000" , vphaddubw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE978DBCA" , vphaddudq(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978DB8C1A80000000" , vphaddudq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE978DB8C1A80000000" , vphaddudq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE978D6CA" , vphadduwd(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978D68C1A80000000" , vphadduwd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE978D68C1A80000000" , vphadduwd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE978D7CA" , vphadduwq(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978D78C1A80000000" , vphadduwq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE978D78C1A80000000" , vphadduwq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E26901CB" , vphaddw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269018C2B80000000" , vphaddw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269018C2B80000000" , vphaddw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D01CB" , vphaddw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D018C2B80000000" , vphaddw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D018C2B80000000" , vphaddw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("8FE978C6CA" , vphaddwd(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978C68C1A80000000" , vphaddwd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE978C68C1A80000000" , vphaddwd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE978C7CA" , vphaddwq(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978C78C1A80000000" , vphaddwq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE978C78C1A80000000" , vphaddwq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27941CA" , vphminposuw(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279418C1A80000000" , vphminposuw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E279418C1A80000000" , vphminposuw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE978E1CA" , vphsubbw(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978E18C1A80000000" , vphsubbw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE978E18C1A80000000" , vphsubbw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E26906CB" , vphsubd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269068C2B80000000" , vphsubd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269068C2B80000000" , vphsubd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D06CB" , vphsubd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D068C2B80000000" , vphsubd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D068C2B80000000" , vphsubd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("8FE978E3CA" , vphsubdq(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978E38C1A80000000" , vphsubdq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE978E38C1A80000000" , vphsubdq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E26907CB" , vphsubsw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269078C2B80000000" , vphsubsw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269078C2B80000000" , vphsubsw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D07CB" , vphsubsw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D078C2B80000000" , vphsubsw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D078C2B80000000" , vphsubsw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26905CB" , vphsubw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269058C2B80000000" , vphsubw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269058C2B80000000" , vphsubw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D05CB" , vphsubw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D058C2B80000000" , vphsubw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D058C2B80000000" , vphsubw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("8FE978E2CA" , vphsubwd(xmm1, xmm2));
+ TEST_INSTRUCTION("8FE978E28C1A80000000" , vphsubwd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE978E28C1A80000000" , vphsubwd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E36920CB01" , vpinsrb(xmm1, xmm2, ebx, 1));
+ TEST_INSTRUCTION("C4E369208C2B8000000001" , vpinsrb(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E369208C2B8000000001" , vpinsrb(xmm1, xmm2, byte_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E36922CB01" , vpinsrd(xmm1, xmm2, ebx, 1));
+ TEST_INSTRUCTION("C4E369228C2B8000000001" , vpinsrd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E369228C2B8000000001" , vpinsrd(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3E922CB01" , vpinsrq(xmm1, xmm2, rbx, 1));
+ TEST_INSTRUCTION("C4E3E9228C2B8000000001" , vpinsrq(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3E9228C2B8000000001" , vpinsrq(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C5E9C4CB01" , vpinsrw(xmm1, xmm2, ebx, 1));
+ TEST_INSTRUCTION("C5E9C48C2B8000000001" , vpinsrw(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C5E9C48C2B8000000001" , vpinsrw(xmm1, xmm2, word_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F27D0844CA" , vplzcntd(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27D08444C1A08" , vplzcntd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D08444C1A08" , vplzcntd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D2844CA" , vplzcntd(ymm1, ymm2));
+ TEST_INSTRUCTION("62F27D28444C1A04" , vplzcntd(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D28444C1A04" , vplzcntd(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4844CA" , vplzcntd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D48444C1A02" , vplzcntd(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48444C1A02" , vplzcntd(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD0844CA" , vplzcntq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F2FD08444C1A08" , vplzcntq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD08444C1A08" , vplzcntq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD2844CA" , vplzcntq(ymm1, ymm2));
+ TEST_INSTRUCTION("62F2FD28444C1A04" , vplzcntq(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD28444C1A04" , vplzcntq(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD4844CA" , vplzcntq(zmm1, zmm2));
+ TEST_INSTRUCTION("62F2FD48444C1A02" , vplzcntq(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD48444C1A02" , vplzcntq(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("8FE8689ECB40" , vpmacsdd(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("8FE8689E8C2B8000000060" , vpmacsdd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE8689E8C2B8000000060" , vpmacsdd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE8689FCB40" , vpmacsdqh(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("8FE8689F8C2B8000000060" , vpmacsdqh(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE8689F8C2B8000000060" , vpmacsdqh(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE86897CB40" , vpmacsdql(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("8FE868978C2B8000000060" , vpmacsdql(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE868978C2B8000000060" , vpmacsdql(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE8688ECB40" , vpmacssdd(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("8FE8688E8C2B8000000060" , vpmacssdd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE8688E8C2B8000000060" , vpmacssdd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE8688FCB40" , vpmacssdqh(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("8FE8688F8C2B8000000060" , vpmacssdqh(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE8688F8C2B8000000060" , vpmacssdqh(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE86887CB40" , vpmacssdql(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("8FE868878C2B8000000060" , vpmacssdql(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE868878C2B8000000060" , vpmacssdql(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE86886CB40" , vpmacsswd(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("8FE868868C2B8000000060" , vpmacsswd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE868868C2B8000000060" , vpmacsswd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE86885CB40" , vpmacssww(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("8FE868858C2B8000000060" , vpmacssww(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE868858C2B8000000060" , vpmacssww(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE86896CB40" , vpmacswd(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("8FE868968C2B8000000060" , vpmacswd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE868968C2B8000000060" , vpmacswd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE86895CB40" , vpmacsww(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("8FE868958C2B8000000060" , vpmacsww(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE868958C2B8000000060" , vpmacsww(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE868A6CB40" , vpmadcsswd(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("8FE868A68C2B8000000060" , vpmadcsswd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE868A68C2B8000000060" , vpmadcsswd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE868B6CB40" , vpmadcswd(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("8FE868B68C2B8000000060" , vpmadcswd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE868B68C2B8000000060" , vpmadcswd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("62F2ED08B5CB" , vpmadd52huq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08B54C2B08" , vpmadd52huq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08B54C2B08" , vpmadd52huq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28B5CB" , vpmadd52huq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28B54C2B04" , vpmadd52huq(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28B54C2B04" , vpmadd52huq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48B5CB" , vpmadd52huq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48B54C2B02" , vpmadd52huq(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48B54C2B02" , vpmadd52huq(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08B4CB" , vpmadd52luq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08B44C2B08" , vpmadd52luq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08B44C2B08" , vpmadd52luq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28B4CB" , vpmadd52luq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28B44C2B04" , vpmadd52luq(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28B44C2B04" , vpmadd52luq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48B4CB" , vpmadd52luq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48B44C2B02" , vpmadd52luq(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48B44C2B02" , vpmadd52luq(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26904CB" , vpmaddubsw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269048C2B80000000" , vpmaddubsw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269048C2B80000000" , vpmaddubsw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D04CB" , vpmaddubsw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D048C2B80000000" , vpmaddubsw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D048C2B80000000" , vpmaddubsw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4804CB" , vpmaddubsw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48044C2B02" , vpmaddubsw(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48044C2B02" , vpmaddubsw(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9F5CB" , vpmaddwd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9F58C2B80000000" , vpmaddwd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9F58C2B80000000" , vpmaddwd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDF5CB" , vpmaddwd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDF58C2B80000000" , vpmaddwd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDF58C2B80000000" , vpmaddwd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48F5CB" , vpmaddwd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48F54C2B02" , vpmaddwd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48F54C2B02" , vpmaddwd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2618EA41180000000" , vpmaskmovd(ptr(rcx, rdx, 0, 128), xmm3, xmm4));
+ TEST_INSTRUCTION("C4E2618EA41180000000" , vpmaskmovd(xmmword_ptr(rcx, rdx, 0, 128), xmm3, xmm4));
+ TEST_INSTRUCTION("C4E2658EA41180000000" , vpmaskmovd(ptr(rcx, rdx, 0, 128), ymm3, ymm4));
+ TEST_INSTRUCTION("C4E2658EA41180000000" , vpmaskmovd(ymmword_ptr(rcx, rdx, 0, 128), ymm3, ymm4));
+ TEST_INSTRUCTION("C4E2698C8C2B80000000" , vpmaskmovd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2698C8C2B80000000" , vpmaskmovd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D8C8C2B80000000" , vpmaskmovd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D8C8C2B80000000" , vpmaskmovd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E18EA41180000000" , vpmaskmovq(ptr(rcx, rdx, 0, 128), xmm3, xmm4));
+ TEST_INSTRUCTION("C4E2E18EA41180000000" , vpmaskmovq(xmmword_ptr(rcx, rdx, 0, 128), xmm3, xmm4));
+ TEST_INSTRUCTION("C4E2E58EA41180000000" , vpmaskmovq(ptr(rcx, rdx, 0, 128), ymm3, ymm4));
+ TEST_INSTRUCTION("C4E2E58EA41180000000" , vpmaskmovq(ymmword_ptr(rcx, rdx, 0, 128), ymm3, ymm4));
+ TEST_INSTRUCTION("C4E2E98C8C2B80000000" , vpmaskmovq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E98C8C2B80000000" , vpmaskmovq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED8C8C2B80000000" , vpmaskmovq(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED8C8C2B80000000" , vpmaskmovq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2693CCB" , vpmaxsb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2693C8C2B80000000" , vpmaxsb(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2693C8C2B80000000" , vpmaxsb(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D3CCB" , vpmaxsb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D3C8C2B80000000" , vpmaxsb(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D3C8C2B80000000" , vpmaxsb(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D483CCB" , vpmaxsb(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D483C4C2B02" , vpmaxsb(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D483C4C2B02" , vpmaxsb(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2693DCB" , vpmaxsd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2693D8C2B80000000" , vpmaxsd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2693D8C2B80000000" , vpmaxsd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D3DCB" , vpmaxsd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D3D8C2B80000000" , vpmaxsd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D3D8C2B80000000" , vpmaxsd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D483DCB" , vpmaxsd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D483D4C2B02" , vpmaxsd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D483D4C2B02" , vpmaxsd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED083DCB" , vpmaxsq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED083D4C2B08" , vpmaxsq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED083D4C2B08" , vpmaxsq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED283DCB" , vpmaxsq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED283D4C2B04" , vpmaxsq(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED283D4C2B04" , vpmaxsq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED483DCB" , vpmaxsq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED483D4C2B02" , vpmaxsq(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED483D4C2B02" , vpmaxsq(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9EECB" , vpmaxsw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9EE8C2B80000000" , vpmaxsw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9EE8C2B80000000" , vpmaxsw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDEECB" , vpmaxsw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDEE8C2B80000000" , vpmaxsw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDEE8C2B80000000" , vpmaxsw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48EECB" , vpmaxsw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48EE4C2B02" , vpmaxsw(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48EE4C2B02" , vpmaxsw(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9DECB" , vpmaxub(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9DE8C2B80000000" , vpmaxub(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9DE8C2B80000000" , vpmaxub(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDDECB" , vpmaxub(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDDE8C2B80000000" , vpmaxub(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDDE8C2B80000000" , vpmaxub(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48DECB" , vpmaxub(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48DE4C2B02" , vpmaxub(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48DE4C2B02" , vpmaxub(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2693FCB" , vpmaxud(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2693F8C2B80000000" , vpmaxud(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2693F8C2B80000000" , vpmaxud(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D3FCB" , vpmaxud(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D3F8C2B80000000" , vpmaxud(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D3F8C2B80000000" , vpmaxud(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D483FCB" , vpmaxud(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D483F4C2B02" , vpmaxud(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D483F4C2B02" , vpmaxud(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED083FCB" , vpmaxuq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED083F4C2B08" , vpmaxuq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED083F4C2B08" , vpmaxuq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED283FCB" , vpmaxuq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED283F4C2B04" , vpmaxuq(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED283F4C2B04" , vpmaxuq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED483FCB" , vpmaxuq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED483F4C2B02" , vpmaxuq(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED483F4C2B02" , vpmaxuq(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2693ECB" , vpmaxuw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2693E8C2B80000000" , vpmaxuw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2693E8C2B80000000" , vpmaxuw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D3ECB" , vpmaxuw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D3E8C2B80000000" , vpmaxuw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D3E8C2B80000000" , vpmaxuw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D483ECB" , vpmaxuw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D483E4C2B02" , vpmaxuw(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D483E4C2B02" , vpmaxuw(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26938CB" , vpminsb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269388C2B80000000" , vpminsb(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269388C2B80000000" , vpminsb(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D38CB" , vpminsb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D388C2B80000000" , vpminsb(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D388C2B80000000" , vpminsb(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4838CB" , vpminsb(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48384C2B02" , vpminsb(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48384C2B02" , vpminsb(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26939CB" , vpminsd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269398C2B80000000" , vpminsd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269398C2B80000000" , vpminsd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D39CB" , vpminsd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D398C2B80000000" , vpminsd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D398C2B80000000" , vpminsd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4839CB" , vpminsd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48394C2B02" , vpminsd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48394C2B02" , vpminsd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0839CB" , vpminsq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08394C2B08" , vpminsq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08394C2B08" , vpminsq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2839CB" , vpminsq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28394C2B04" , vpminsq(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28394C2B04" , vpminsq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4839CB" , vpminsq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48394C2B02" , vpminsq(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48394C2B02" , vpminsq(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9EACB" , vpminsw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9EA8C2B80000000" , vpminsw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9EA8C2B80000000" , vpminsw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDEACB" , vpminsw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDEA8C2B80000000" , vpminsw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDEA8C2B80000000" , vpminsw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48EACB" , vpminsw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48EA4C2B02" , vpminsw(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48EA4C2B02" , vpminsw(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9DACB" , vpminub(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9DA8C2B80000000" , vpminub(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9DA8C2B80000000" , vpminub(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDDACB" , vpminub(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDDA8C2B80000000" , vpminub(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDDA8C2B80000000" , vpminub(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48DACB" , vpminub(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48DA4C2B02" , vpminub(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48DA4C2B02" , vpminub(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2693BCB" , vpminud(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2693B8C2B80000000" , vpminud(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2693B8C2B80000000" , vpminud(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D3BCB" , vpminud(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D3B8C2B80000000" , vpminud(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D3B8C2B80000000" , vpminud(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D483BCB" , vpminud(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D483B4C2B02" , vpminud(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D483B4C2B02" , vpminud(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED083BCB" , vpminuq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED083B4C2B08" , vpminuq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED083B4C2B08" , vpminuq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED283BCB" , vpminuq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED283B4C2B04" , vpminuq(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED283B4C2B04" , vpminuq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED483BCB" , vpminuq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED483B4C2B02" , vpminuq(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED483B4C2B02" , vpminuq(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2693ACB" , vpminuw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2693A8C2B80000000" , vpminuw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2693A8C2B80000000" , vpminuw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D3ACB" , vpminuw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D3A8C2B80000000" , vpminuw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D3A8C2B80000000" , vpminuw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D483ACB" , vpminuw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D483A4C2B02" , vpminuw(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D483A4C2B02" , vpminuw(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F27E0829CA" , vpmovb2m(k1, xmm2));
+ TEST_INSTRUCTION("62F27E2829CA" , vpmovb2m(k1, ymm2));
+ TEST_INSTRUCTION("62F27E4829CA" , vpmovb2m(k1, zmm2));
+ TEST_INSTRUCTION("62F27E0839CA" , vpmovd2m(k1, xmm2));
+ TEST_INSTRUCTION("62F27E2839CA" , vpmovd2m(k1, ymm2));
+ TEST_INSTRUCTION("62F27E4839CA" , vpmovd2m(k1, zmm2));
+ TEST_INSTRUCTION("62F27E0831D1" , vpmovdb(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08315C1120" , vpmovdb(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08315C1120" , vpmovdb(dword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2831D1" , vpmovdb(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28315C1110" , vpmovdb(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28315C1110" , vpmovdb(qword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4831D1" , vpmovdb(xmm1, zmm2));
+ TEST_INSTRUCTION("62F27E48315C1108" , vpmovdb(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48315C1108" , vpmovdb(xmmword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E0833D1" , vpmovdw(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08335C1110" , vpmovdw(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08335C1110" , vpmovdw(qword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2833D1" , vpmovdw(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28335C1108" , vpmovdw(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28335C1108" , vpmovdw(xmmword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4833D1" , vpmovdw(ymm1, zmm2));
+ TEST_INSTRUCTION("62F27E48335C1104" , vpmovdw(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48335C1104" , vpmovdw(ymmword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E0828CA" , vpmovm2b(xmm1, k2));
+ TEST_INSTRUCTION("62F27E2828CA" , vpmovm2b(ymm1, k2));
+ TEST_INSTRUCTION("62F27E4828CA" , vpmovm2b(zmm1, k2));
+ TEST_INSTRUCTION("62F27E0838CA" , vpmovm2d(xmm1, k2));
+ TEST_INSTRUCTION("62F27E2838CA" , vpmovm2d(ymm1, k2));
+ TEST_INSTRUCTION("62F27E4838CA" , vpmovm2d(zmm1, k2));
+ TEST_INSTRUCTION("62F2FE0838CA" , vpmovm2q(xmm1, k2));
+ TEST_INSTRUCTION("62F2FE2838CA" , vpmovm2q(ymm1, k2));
+ TEST_INSTRUCTION("62F2FE4838CA" , vpmovm2q(zmm1, k2));
+ TEST_INSTRUCTION("62F2FE0828CA" , vpmovm2w(xmm1, k2));
+ TEST_INSTRUCTION("62F2FE2828CA" , vpmovm2w(ymm1, k2));
+ TEST_INSTRUCTION("62F2FE4828CA" , vpmovm2w(zmm1, k2));
+ TEST_INSTRUCTION("C5F9D7CA" , vpmovmskb(ecx, xmm2));
+ TEST_INSTRUCTION("C5FDD7CA" , vpmovmskb(ecx, ymm2));
+ TEST_INSTRUCTION("62F2FE0839CA" , vpmovq2m(k1, xmm2));
+ TEST_INSTRUCTION("62F2FE2839CA" , vpmovq2m(k1, ymm2));
+ TEST_INSTRUCTION("62F2FE4839CA" , vpmovq2m(k1, zmm2));
+ TEST_INSTRUCTION("62F27E0832D1" , vpmovqb(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08325C1140" , vpmovqb(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08325C1140" , vpmovqb(word_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2832D1" , vpmovqb(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28325C1120" , vpmovqb(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28325C1120" , vpmovqb(dword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4832D1" , vpmovqb(xmm1, zmm2));
+ TEST_INSTRUCTION("62F27E48325C1110" , vpmovqb(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48325C1110" , vpmovqb(qword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E0835D1" , vpmovqd(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08355C1110" , vpmovqd(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08355C1110" , vpmovqd(qword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2835D1" , vpmovqd(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28355C1108" , vpmovqd(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28355C1108" , vpmovqd(xmmword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4835D1" , vpmovqd(ymm1, zmm2));
+ TEST_INSTRUCTION("62F27E48355C1104" , vpmovqd(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48355C1104" , vpmovqd(ymmword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E0834D1" , vpmovqw(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08345C1120" , vpmovqw(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08345C1120" , vpmovqw(dword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2834D1" , vpmovqw(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28345C1110" , vpmovqw(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28345C1110" , vpmovqw(qword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4834D1" , vpmovqw(xmm1, zmm2));
+ TEST_INSTRUCTION("62F27E48345C1108" , vpmovqw(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48345C1108" , vpmovqw(xmmword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E0821D1" , vpmovsdb(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08215C1120" , vpmovsdb(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08215C1120" , vpmovsdb(dword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2821D1" , vpmovsdb(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28215C1110" , vpmovsdb(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28215C1110" , vpmovsdb(qword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4821D1" , vpmovsdb(xmm1, zmm2));
+ TEST_INSTRUCTION("62F27E48215C1108" , vpmovsdb(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48215C1108" , vpmovsdb(xmmword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E0823D1" , vpmovsdw(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08235C1110" , vpmovsdw(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08235C1110" , vpmovsdw(qword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2823D1" , vpmovsdw(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28235C1108" , vpmovsdw(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28235C1108" , vpmovsdw(xmmword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4823D1" , vpmovsdw(ymm1, zmm2));
+ TEST_INSTRUCTION("62F27E48235C1104" , vpmovsdw(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48235C1104" , vpmovsdw(ymmword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E0822D1" , vpmovsqb(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08225C1140" , vpmovsqb(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08225C1140" , vpmovsqb(word_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2822D1" , vpmovsqb(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28225C1120" , vpmovsqb(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28225C1120" , vpmovsqb(dword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4822D1" , vpmovsqb(xmm1, zmm2));
+ TEST_INSTRUCTION("62F27E48225C1110" , vpmovsqb(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48225C1110" , vpmovsqb(qword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E0825D1" , vpmovsqd(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08255C1110" , vpmovsqd(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08255C1110" , vpmovsqd(qword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2825D1" , vpmovsqd(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28255C1108" , vpmovsqd(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28255C1108" , vpmovsqd(xmmword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4825D1" , vpmovsqd(ymm1, zmm2));
+ TEST_INSTRUCTION("62F27E48255C1104" , vpmovsqd(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48255C1104" , vpmovsqd(ymmword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E0824D1" , vpmovsqw(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08245C1120" , vpmovsqw(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08245C1120" , vpmovsqw(dword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2824D1" , vpmovsqw(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28245C1110" , vpmovsqw(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28245C1110" , vpmovsqw(qword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4824D1" , vpmovsqw(xmm1, zmm2));
+ TEST_INSTRUCTION("62F27E48245C1108" , vpmovsqw(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48245C1108" , vpmovsqw(xmmword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E0820D1" , vpmovswb(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08205C1110" , vpmovswb(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08205C1110" , vpmovswb(qword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2820D1" , vpmovswb(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28205C1108" , vpmovswb(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28205C1108" , vpmovswb(xmmword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4820D1" , vpmovswb(ymm1, zmm2));
+ TEST_INSTRUCTION("62F27E48205C1104" , vpmovswb(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48205C1104" , vpmovswb(ymmword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("C4E27921CA" , vpmovsxbd(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279218C1A80000000" , vpmovsxbd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E279218C1A80000000" , vpmovsxbd(xmm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D21CA" , vpmovsxbd(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D218C1A80000000" , vpmovsxbd(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D218C1A80000000" , vpmovsxbd(ymm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4821CA" , vpmovsxbd(zmm1, xmm2));
+ TEST_INSTRUCTION("62F27D48214C1A08" , vpmovsxbd(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48214C1A08" , vpmovsxbd(zmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27922CA" , vpmovsxbq(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279228C1A80000000" , vpmovsxbq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E279228C1A80000000" , vpmovsxbq(xmm1, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D22CA" , vpmovsxbq(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D228C1A80000000" , vpmovsxbq(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D228C1A80000000" , vpmovsxbq(ymm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4822CA" , vpmovsxbq(zmm1, xmm2));
+ TEST_INSTRUCTION("62F27D48224C1A10" , vpmovsxbq(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48224C1A10" , vpmovsxbq(zmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27920CA" , vpmovsxbw(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279208C1A80000000" , vpmovsxbw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E279208C1A80000000" , vpmovsxbw(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D20CA" , vpmovsxbw(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D208C1A80000000" , vpmovsxbw(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D208C1A80000000" , vpmovsxbw(ymm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4820CA" , vpmovsxbw(zmm1, ymm2));
+ TEST_INSTRUCTION("62F27D48204C1A04" , vpmovsxbw(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48204C1A04" , vpmovsxbw(zmm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27925CA" , vpmovsxdq(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279258C1A80000000" , vpmovsxdq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E279258C1A80000000" , vpmovsxdq(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D25CA" , vpmovsxdq(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D258C1A80000000" , vpmovsxdq(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D258C1A80000000" , vpmovsxdq(ymm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4825CA" , vpmovsxdq(zmm1, ymm2));
+ TEST_INSTRUCTION("62F27D48254C1A04" , vpmovsxdq(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48254C1A04" , vpmovsxdq(zmm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27923CA" , vpmovsxwd(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279238C1A80000000" , vpmovsxwd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E279238C1A80000000" , vpmovsxwd(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D23CA" , vpmovsxwd(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D238C1A80000000" , vpmovsxwd(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D238C1A80000000" , vpmovsxwd(ymm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4823CA" , vpmovsxwd(zmm1, ymm2));
+ TEST_INSTRUCTION("62F27D48234C1A04" , vpmovsxwd(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48234C1A04" , vpmovsxwd(zmm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27924CA" , vpmovsxwq(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279248C1A80000000" , vpmovsxwq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E279248C1A80000000" , vpmovsxwq(xmm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D24CA" , vpmovsxwq(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D248C1A80000000" , vpmovsxwq(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D248C1A80000000" , vpmovsxwq(ymm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4824CA" , vpmovsxwq(zmm1, xmm2));
+ TEST_INSTRUCTION("62F27D48244C1A08" , vpmovsxwq(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48244C1A08" , vpmovsxwq(zmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27E0811D1" , vpmovusdb(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08115C1120" , vpmovusdb(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08115C1120" , vpmovusdb(dword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2811D1" , vpmovusdb(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28115C1110" , vpmovusdb(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28115C1110" , vpmovusdb(qword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4811D1" , vpmovusdb(xmm1, zmm2));
+ TEST_INSTRUCTION("62F27E48115C1108" , vpmovusdb(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48115C1108" , vpmovusdb(xmmword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E0813D1" , vpmovusdw(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08135C1110" , vpmovusdw(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08135C1110" , vpmovusdw(qword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2813D1" , vpmovusdw(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28135C1108" , vpmovusdw(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28135C1108" , vpmovusdw(xmmword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4813D1" , vpmovusdw(ymm1, zmm2));
+ TEST_INSTRUCTION("62F27E48135C1104" , vpmovusdw(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48135C1104" , vpmovusdw(ymmword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E0812D1" , vpmovusqb(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08125C1140" , vpmovusqb(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08125C1140" , vpmovusqb(word_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2812D1" , vpmovusqb(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28125C1120" , vpmovusqb(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28125C1120" , vpmovusqb(dword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4812D1" , vpmovusqb(xmm1, zmm2));
+ TEST_INSTRUCTION("62F27E48125C1110" , vpmovusqb(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48125C1110" , vpmovusqb(qword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E0815D1" , vpmovusqd(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08155C1110" , vpmovusqd(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08155C1110" , vpmovusqd(qword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2815D1" , vpmovusqd(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28155C1108" , vpmovusqd(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28155C1108" , vpmovusqd(xmmword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4815D1" , vpmovusqd(ymm1, zmm2));
+ TEST_INSTRUCTION("62F27E48155C1104" , vpmovusqd(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48155C1104" , vpmovusqd(ymmword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E0814D1" , vpmovusqw(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08145C1120" , vpmovusqw(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08145C1120" , vpmovusqw(dword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2814D1" , vpmovusqw(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28145C1110" , vpmovusqw(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28145C1110" , vpmovusqw(qword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4814D1" , vpmovusqw(xmm1, zmm2));
+ TEST_INSTRUCTION("62F27E48145C1108" , vpmovusqw(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48145C1108" , vpmovusqw(xmmword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E0810D1" , vpmovuswb(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08105C1110" , vpmovuswb(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08105C1110" , vpmovuswb(qword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2810D1" , vpmovuswb(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28105C1108" , vpmovuswb(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28105C1108" , vpmovuswb(xmmword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4810D1" , vpmovuswb(ymm1, zmm2));
+ TEST_INSTRUCTION("62F27E48105C1104" , vpmovuswb(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48105C1104" , vpmovuswb(ymmword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F2FE0829CA" , vpmovw2m(k1, xmm2));
+ TEST_INSTRUCTION("62F2FE2829CA" , vpmovw2m(k1, ymm2));
+ TEST_INSTRUCTION("62F2FE4829CA" , vpmovw2m(k1, zmm2));
+ TEST_INSTRUCTION("62F27E0830D1" , vpmovwb(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27E08305C1110" , vpmovwb(ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E08305C1110" , vpmovwb(qword_ptr(rcx, rdx, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27E2830D1" , vpmovwb(xmm1, ymm2));
+ TEST_INSTRUCTION("62F27E28305C1108" , vpmovwb(ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E28305C1108" , vpmovwb(xmmword_ptr(rcx, rdx, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27E4830D1" , vpmovwb(ymm1, zmm2));
+ TEST_INSTRUCTION("62F27E48305C1104" , vpmovwb(ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27E48305C1104" , vpmovwb(ymmword_ptr(rcx, rdx, 0, 128), zmm3));
+ TEST_INSTRUCTION("C4E27931CA" , vpmovzxbd(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279318C1A80000000" , vpmovzxbd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E279318C1A80000000" , vpmovzxbd(xmm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D31CA" , vpmovzxbd(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D318C1A80000000" , vpmovzxbd(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D318C1A80000000" , vpmovzxbd(ymm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4831CA" , vpmovzxbd(zmm1, xmm2));
+ TEST_INSTRUCTION("62F27D48314C1A08" , vpmovzxbd(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48314C1A08" , vpmovzxbd(zmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27932CA" , vpmovzxbq(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279328C1A80000000" , vpmovzxbq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E279328C1A80000000" , vpmovzxbq(xmm1, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D32CA" , vpmovzxbq(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D328C1A80000000" , vpmovzxbq(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D328C1A80000000" , vpmovzxbq(ymm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4832CA" , vpmovzxbq(zmm1, xmm2));
+ TEST_INSTRUCTION("62F27D48324C1A10" , vpmovzxbq(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48324C1A10" , vpmovzxbq(zmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27930CA" , vpmovzxbw(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279308C1A80000000" , vpmovzxbw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E279308C1A80000000" , vpmovzxbw(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D30CA" , vpmovzxbw(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D308C1A80000000" , vpmovzxbw(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D308C1A80000000" , vpmovzxbw(ymm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4830CA" , vpmovzxbw(zmm1, ymm2));
+ TEST_INSTRUCTION("62F27D48304C1A04" , vpmovzxbw(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48304C1A04" , vpmovzxbw(zmm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27935CA" , vpmovzxdq(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279358C1A80000000" , vpmovzxdq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E279358C1A80000000" , vpmovzxdq(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D35CA" , vpmovzxdq(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D358C1A80000000" , vpmovzxdq(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D358C1A80000000" , vpmovzxdq(ymm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4835CA" , vpmovzxdq(zmm1, ymm2));
+ TEST_INSTRUCTION("62F27D48354C1A04" , vpmovzxdq(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48354C1A04" , vpmovzxdq(zmm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27933CA" , vpmovzxwd(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279338C1A80000000" , vpmovzxwd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E279338C1A80000000" , vpmovzxwd(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D33CA" , vpmovzxwd(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D338C1A80000000" , vpmovzxwd(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D338C1A80000000" , vpmovzxwd(ymm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4833CA" , vpmovzxwd(zmm1, ymm2));
+ TEST_INSTRUCTION("62F27D48334C1A04" , vpmovzxwd(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48334C1A04" , vpmovzxwd(zmm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27934CA" , vpmovzxwq(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279348C1A80000000" , vpmovzxwq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E279348C1A80000000" , vpmovzxwq(xmm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D34CA" , vpmovzxwq(ymm1, xmm2));
+ TEST_INSTRUCTION("C4E27D348C1A80000000" , vpmovzxwq(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D348C1A80000000" , vpmovzxwq(ymm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4834CA" , vpmovzxwq(zmm1, xmm2));
+ TEST_INSTRUCTION("62F27D48344C1A08" , vpmovzxwq(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48344C1A08" , vpmovzxwq(zmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E26928CB" , vpmuldq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269288C2B80000000" , vpmuldq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269288C2B80000000" , vpmuldq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D28CB" , vpmuldq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D288C2B80000000" , vpmuldq(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D288C2B80000000" , vpmuldq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4828CB" , vpmuldq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48284C2B02" , vpmuldq(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48284C2B02" , vpmuldq(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2690BCB" , vpmulhrsw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2690B8C2B80000000" , vpmulhrsw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2690B8C2B80000000" , vpmulhrsw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D0BCB" , vpmulhrsw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D0B8C2B80000000" , vpmulhrsw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D0B8C2B80000000" , vpmulhrsw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D480BCB" , vpmulhrsw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D480B4C2B02" , vpmulhrsw(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D480B4C2B02" , vpmulhrsw(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9E4CB" , vpmulhuw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9E48C2B80000000" , vpmulhuw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9E48C2B80000000" , vpmulhuw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDE4CB" , vpmulhuw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDE48C2B80000000" , vpmulhuw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDE48C2B80000000" , vpmulhuw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48E4CB" , vpmulhuw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48E44C2B02" , vpmulhuw(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48E44C2B02" , vpmulhuw(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9E5CB" , vpmulhw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9E58C2B80000000" , vpmulhw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9E58C2B80000000" , vpmulhw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDE5CB" , vpmulhw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDE58C2B80000000" , vpmulhw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDE58C2B80000000" , vpmulhw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48E5CB" , vpmulhw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48E54C2B02" , vpmulhw(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48E54C2B02" , vpmulhw(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26940CB" , vpmulld(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269408C2B80000000" , vpmulld(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269408C2B80000000" , vpmulld(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D40CB" , vpmulld(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D408C2B80000000" , vpmulld(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D408C2B80000000" , vpmulld(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4840CB" , vpmulld(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48404C2B02" , vpmulld(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48404C2B02" , vpmulld(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0840CB" , vpmullq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08404C2B08" , vpmullq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08404C2B08" , vpmullq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2840CB" , vpmullq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28404C2B04" , vpmullq(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28404C2B04" , vpmullq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4840CB" , vpmullq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48404C2B02" , vpmullq(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48404C2B02" , vpmullq(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9D5CB" , vpmullw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9D58C2B80000000" , vpmullw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9D58C2B80000000" , vpmullw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDD5CB" , vpmullw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDD58C2B80000000" , vpmullw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDD58C2B80000000" , vpmullw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48D5CB" , vpmullw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48D54C2B02" , vpmullw(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48D54C2B02" , vpmullw(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0883CB" , vpmultishiftqb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08834C2B08" , vpmultishiftqb(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08834C2B08" , vpmultishiftqb(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2883CB" , vpmultishiftqb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28834C2B04" , vpmultishiftqb(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28834C2B04" , vpmultishiftqb(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4883CB" , vpmultishiftqb(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48834C2B02" , vpmultishiftqb(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48834C2B02" , vpmultishiftqb(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9F4CB" , vpmuludq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9F48C2B80000000" , vpmuludq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9F48C2B80000000" , vpmuludq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDF4CB" , vpmuludq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDF48C2B80000000" , vpmuludq(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDF48C2B80000000" , vpmuludq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48F4CB" , vpmuludq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED48F44C2B02" , vpmuludq(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48F44C2B02" , vpmuludq(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F27D0854CA" , vpopcntb(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27D08544C1A08" , vpopcntb(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D08544C1A08" , vpopcntb(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D2854CA" , vpopcntb(ymm1, ymm2));
+ TEST_INSTRUCTION("62F27D28544C1A04" , vpopcntb(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D28544C1A04" , vpopcntb(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4854CA" , vpopcntb(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D48544C1A02" , vpopcntb(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48544C1A02" , vpopcntb(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D0855CA" , vpopcntd(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27D08554C1A08" , vpopcntd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D08554C1A08" , vpopcntd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D2855CA" , vpopcntd(ymm1, ymm2));
+ TEST_INSTRUCTION("62F27D28554C1A04" , vpopcntd(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D28554C1A04" , vpopcntd(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D4855CA" , vpopcntd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D48554C1A02" , vpopcntd(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48554C1A02" , vpopcntd(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD0855CA" , vpopcntq(xmm1, xmm2));
+ TEST_INSTRUCTION("62F2FD08554C1A08" , vpopcntq(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD08554C1A08" , vpopcntq(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD2855CA" , vpopcntq(ymm1, ymm2));
+ TEST_INSTRUCTION("62F2FD28554C1A04" , vpopcntq(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD28554C1A04" , vpopcntq(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD4855CA" , vpopcntq(zmm1, zmm2));
+ TEST_INSTRUCTION("62F2FD48554C1A02" , vpopcntq(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD48554C1A02" , vpopcntq(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD0854CA" , vpopcntw(xmm1, xmm2));
+ TEST_INSTRUCTION("62F2FD08544C1A08" , vpopcntw(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD08544C1A08" , vpopcntw(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD2854CA" , vpopcntw(ymm1, ymm2));
+ TEST_INSTRUCTION("62F2FD28544C1A04" , vpopcntw(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD28544C1A04" , vpopcntw(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD4854CA" , vpopcntw(zmm1, zmm2));
+ TEST_INSTRUCTION("62F2FD48544C1A02" , vpopcntw(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD48544C1A02" , vpopcntw(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5E9EBCB" , vpor(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9EB8C2B80000000" , vpor(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9EB8C2B80000000" , vpor(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDEBCB" , vpor(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDEB8C2B80000000" , vpor(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDEB8C2B80000000" , vpor(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D08EBCB" , vpord(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F16D08EB4C2B08" , vpord(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D08EB4C2B08" , vpord(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D28EBCB" , vpord(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F16D28EB4C2B04" , vpord(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D28EB4C2B04" , vpord(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48EBCB" , vpord(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48EB4C2B02" , vpord(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48EB4C2B02" , vpord(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED08EBCB" , vporq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F1ED08EB4C2B08" , vporq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED08EB4C2B08" , vporq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED28EBCB" , vporq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F1ED28EB4C2B04" , vporq(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED28EB4C2B04" , vporq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48EBCB" , vporq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED48EB4C2B02" , vporq(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48EB4C2B02" , vporq(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("8FE868A3CB40" , vpperm(xmm1, xmm2, xmm3, xmm4));
+ TEST_INSTRUCTION("8FE8E8A38C358000000030" , vpperm(xmm1, xmm2, xmm3, ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("8FE8E8A38C358000000030" , vpperm(xmm1, xmm2, xmm3, xmmword_ptr(rbp, rsi, 0, 128)));
+ TEST_INSTRUCTION("8FE868A38C2B8000000060" , vpperm(xmm1, xmm2, ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("8FE868A38C2B8000000060" , vpperm(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), xmm6));
+ TEST_INSTRUCTION("62F1750872CA01" , vprold(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("62F17508724C1A0801" , vprold(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F17508724C1A0801" , vprold(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1752872CA01" , vprold(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("62F17528724C1A0401" , vprold(ymm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F17528724C1A0401" , vprold(ymm1, ymmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1754872CA01" , vprold(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F17548724C1A0201" , vprold(zmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F17548724C1A0201" , vprold(zmm1, zmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F50872CA01" , vprolq(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("62F1F508724C1A0801" , vprolq(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F508724C1A0801" , vprolq(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F52872CA01" , vprolq(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("62F1F528724C1A0401" , vprolq(ymm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F528724C1A0401" , vprolq(ymm1, ymmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F54872CA01" , vprolq(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F1F548724C1A0201" , vprolq(zmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F548724C1A0201" , vprolq(zmm1, zmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F26D0815CB" , vprolvd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08154C2B08" , vprolvd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08154C2B08" , vprolvd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D2815CB" , vprolvd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D28154C2B04" , vprolvd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D28154C2B04" , vprolvd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4815CB" , vprolvd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48154C2B02" , vprolvd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48154C2B02" , vprolvd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0815CB" , vprolvq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08154C2B08" , vprolvq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08154C2B08" , vprolvq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2815CB" , vprolvq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28154C2B04" , vprolvq(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28154C2B04" , vprolvq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4815CB" , vprolvq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48154C2B02" , vprolvq(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48154C2B02" , vprolvq(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1750872C201" , vprord(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("62F1750872441A0801" , vprord(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1750872441A0801" , vprord(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1752872C201" , vprord(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("62F1752872441A0401" , vprord(ymm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1752872441A0401" , vprord(ymm1, ymmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1754872C201" , vprord(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F1754872441A0201" , vprord(zmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1754872441A0201" , vprord(zmm1, zmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F50872C201" , vprorq(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("62F1F50872441A0801" , vprorq(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F50872441A0801" , vprorq(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F52872C201" , vprorq(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("62F1F52872441A0401" , vprorq(ymm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F52872441A0401" , vprorq(ymm1, ymmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F54872C201" , vprorq(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F1F54872441A0201" , vprorq(zmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F54872441A0201" , vprorq(zmm1, zmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F26D0814CB" , vprorvd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08144C2B08" , vprorvd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08144C2B08" , vprorvd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D2814CB" , vprorvd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D28144C2B04" , vprorvd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D28144C2B04" , vprorvd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4814CB" , vprorvd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48144C2B02" , vprorvd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48144C2B02" , vprorvd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0814CB" , vprorvq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08144C2B08" , vprorvq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08144C2B08" , vprorvq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2814CB" , vprorvq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28144C2B04" , vprorvq(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28144C2B04" , vprorvq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4814CB" , vprorvq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48144C2B02" , vprorvq(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48144C2B02" , vprorvq(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("8FE96090CA" , vprotb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("8FE878C0CA01" , vprotb(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("8FE9E8908C2B80000000" , vprotb(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("8FE9E8908C2B80000000" , vprotb(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("8FE958908C1A80000000" , vprotb(xmm1, ptr(rdx, rbx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE878C08C1A8000000001" , vprotb(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("8FE958908C1A80000000" , vprotb(xmm1, xmmword_ptr(rdx, rbx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE878C08C1A8000000001" , vprotb(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("8FE96092CA" , vprotd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("8FE878C2CA01" , vprotd(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("8FE9E8928C2B80000000" , vprotd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("8FE9E8928C2B80000000" , vprotd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("8FE958928C1A80000000" , vprotd(xmm1, ptr(rdx, rbx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE878C28C1A8000000001" , vprotd(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("8FE958928C1A80000000" , vprotd(xmm1, xmmword_ptr(rdx, rbx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE878C28C1A8000000001" , vprotd(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("8FE96093CA" , vprotq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("8FE878C3CA01" , vprotq(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("8FE9E8938C2B80000000" , vprotq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("8FE9E8938C2B80000000" , vprotq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("8FE958938C1A80000000" , vprotq(xmm1, ptr(rdx, rbx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE878C38C1A8000000001" , vprotq(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("8FE958938C1A80000000" , vprotq(xmm1, xmmword_ptr(rdx, rbx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE878C38C1A8000000001" , vprotq(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("8FE96091CA" , vprotw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("8FE878C1CA01" , vprotw(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("8FE9E8918C2B80000000" , vprotw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("8FE9E8918C2B80000000" , vprotw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("8FE958918C1A80000000" , vprotw(xmm1, ptr(rdx, rbx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE878C18C1A8000000001" , vprotw(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("8FE958918C1A80000000" , vprotw(xmm1, xmmword_ptr(rdx, rbx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE878C18C1A8000000001" , vprotw(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C5E9F6CB" , vpsadbw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9F68C2B80000000" , vpsadbw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9F68C2B80000000" , vpsadbw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDF6CB" , vpsadbw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDF68C2B80000000" , vpsadbw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDF68C2B80000000" , vpsadbw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48F6CB" , vpsadbw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48F64C2B02" , vpsadbw(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48F64C2B02" , vpsadbw(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F27D09A05C1120" , k(k1).vpscatterdd(ptr(rcx, xmm2, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27D29A05C1120" , k(k1).vpscatterdd(ptr(rcx, ymm2, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27D49A05C1120" , k(k1).vpscatterdd(ptr(rcx, zmm2, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F2FD09A05C1110" , k(k1).vpscatterdq(ptr(rcx, xmm2, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F2FD29A05C1110" , k(k1).vpscatterdq(ptr(rcx, xmm2, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F2FD49A05C1110" , k(k1).vpscatterdq(ptr(rcx, ymm2, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27D09A15C1120" , k(k1).vpscatterqd(ptr(rcx, xmm2, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27D29A15C1120" , k(k1).vpscatterqd(ptr(rcx, ymm2, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27D49A15C1120" , k(k1).vpscatterqd(ptr(rcx, zmm2, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F2FD09A15C1110" , k(k1).vpscatterqq(ptr(rcx, xmm2, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F2FD29A15C1110" , k(k1).vpscatterqq(ptr(rcx, ymm2, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F2FD49A15C1110" , k(k1).vpscatterqq(ptr(rcx, zmm2, 0, 128), zmm3));
+ TEST_INSTRUCTION("8FE96098CA" , vpshab(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("8FE9E8988C2B80000000" , vpshab(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("8FE9E8988C2B80000000" , vpshab(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("8FE958988C1A80000000" , vpshab(xmm1, ptr(rdx, rbx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE958988C1A80000000" , vpshab(xmm1, xmmword_ptr(rdx, rbx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE9609ACA" , vpshad(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("8FE9E89A8C2B80000000" , vpshad(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("8FE9E89A8C2B80000000" , vpshad(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("8FE9589A8C1A80000000" , vpshad(xmm1, ptr(rdx, rbx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE9589A8C1A80000000" , vpshad(xmm1, xmmword_ptr(rdx, rbx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE9609BCA" , vpshaq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("8FE9E89B8C2B80000000" , vpshaq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("8FE9E89B8C2B80000000" , vpshaq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("8FE9589B8C1A80000000" , vpshaq(xmm1, ptr(rdx, rbx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE9589B8C1A80000000" , vpshaq(xmm1, xmmword_ptr(rdx, rbx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE96099CA" , vpshaw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("8FE9E8998C2B80000000" , vpshaw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("8FE9E8998C2B80000000" , vpshaw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("8FE958998C1A80000000" , vpshaw(xmm1, ptr(rdx, rbx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE958998C1A80000000" , vpshaw(xmm1, xmmword_ptr(rdx, rbx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE96094CA" , vpshlb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("8FE9E8948C2B80000000" , vpshlb(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("8FE9E8948C2B80000000" , vpshlb(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("8FE958948C1A80000000" , vpshlb(xmm1, ptr(rdx, rbx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE958948C1A80000000" , vpshlb(xmm1, xmmword_ptr(rdx, rbx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE96096CA" , vpshld(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("8FE9E8968C2B80000000" , vpshld(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("8FE9E8968C2B80000000" , vpshld(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("8FE958968C1A80000000" , vpshld(xmm1, ptr(rdx, rbx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE958968C1A80000000" , vpshld(xmm1, xmmword_ptr(rdx, rbx, 0, 128), xmm4));
+ TEST_INSTRUCTION("62F36D0871CB01" , vpshldd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D08714C2B0801" , vpshldd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D08714C2B0801" , vpshldd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D2871CB01" , vpshldd(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F36D28714C2B0401" , vpshldd(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D28714C2B0401" , vpshldd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D4871CB01" , vpshldd(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F36D48714C2B0201" , vpshldd(zmm1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D48714C2B0201" , vpshldd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED0871CB01" , vpshldq(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED08714C2B0801" , vpshldq(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED08714C2B0801" , vpshldq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED2871CB01" , vpshldq(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F3ED28714C2B0401" , vpshldq(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED28714C2B0401" , vpshldq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED4871CB01" , vpshldq(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F3ED48714C2B0201" , vpshldq(zmm1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED48714C2B0201" , vpshldq(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F26D0871CB" , vpshldvd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08714C2B08" , vpshldvd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08714C2B08" , vpshldvd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D2871CB" , vpshldvd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D28714C2B04" , vpshldvd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D28714C2B04" , vpshldvd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4871CB" , vpshldvd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48714C2B02" , vpshldvd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48714C2B02" , vpshldvd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0871CB" , vpshldvq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08714C2B08" , vpshldvq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08714C2B08" , vpshldvq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2871CB" , vpshldvq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28714C2B04" , vpshldvq(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28714C2B04" , vpshldvq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4871CB" , vpshldvq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48714C2B02" , vpshldvq(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48714C2B02" , vpshldvq(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0870CB" , vpshldvw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08704C2B08" , vpshldvw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08704C2B08" , vpshldvw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2870CB" , vpshldvw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28704C2B04" , vpshldvw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28704C2B04" , vpshldvw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4870CB" , vpshldvw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48704C2B02" , vpshldvw(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48704C2B02" , vpshldvw(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F3ED0870CB01" , vpshldw(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED08704C2B0801" , vpshldw(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED08704C2B0801" , vpshldw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED2870CB01" , vpshldw(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F3ED28704C2B0401" , vpshldw(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED28704C2B0401" , vpshldw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED4870CB01" , vpshldw(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F3ED48704C2B0201" , vpshldw(zmm1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED48704C2B0201" , vpshldw(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("8FE96097CA" , vpshlq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("8FE9E8978C2B80000000" , vpshlq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("8FE9E8978C2B80000000" , vpshlq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("8FE958978C1A80000000" , vpshlq(xmm1, ptr(rdx, rbx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE958978C1A80000000" , vpshlq(xmm1, xmmword_ptr(rdx, rbx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE96095CA" , vpshlw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("8FE9E8958C2B80000000" , vpshlw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("8FE9E8958C2B80000000" , vpshlw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("8FE958958C1A80000000" , vpshlw(xmm1, ptr(rdx, rbx, 0, 128), xmm4));
+ TEST_INSTRUCTION("8FE958958C1A80000000" , vpshlw(xmm1, xmmword_ptr(rdx, rbx, 0, 128), xmm4));
+ TEST_INSTRUCTION("62F36D0873CB01" , vpshrdd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D08734C2B0801" , vpshrdd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D08734C2B0801" , vpshrdd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D2873CB01" , vpshrdd(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F36D28734C2B0401" , vpshrdd(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D28734C2B0401" , vpshrdd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D4873CB01" , vpshrdd(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F36D48734C2B0201" , vpshrdd(zmm1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D48734C2B0201" , vpshrdd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED0873CB01" , vpshrdq(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED08734C2B0801" , vpshrdq(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED08734C2B0801" , vpshrdq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED2873CB01" , vpshrdq(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F3ED28734C2B0401" , vpshrdq(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED28734C2B0401" , vpshrdq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED4873CB01" , vpshrdq(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F3ED48734C2B0201" , vpshrdq(zmm1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED48734C2B0201" , vpshrdq(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F26D0873CB" , vpshrdvd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08734C2B08" , vpshrdvd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08734C2B08" , vpshrdvd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D2873CB" , vpshrdvd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D28734C2B04" , vpshrdvd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D28734C2B04" , vpshrdvd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4873CB" , vpshrdvd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48734C2B02" , vpshrdvd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48734C2B02" , vpshrdvd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0873CB" , vpshrdvq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08734C2B08" , vpshrdvq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08734C2B08" , vpshrdvq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2873CB" , vpshrdvq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28734C2B04" , vpshrdvq(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28734C2B04" , vpshrdvq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4873CB" , vpshrdvq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48734C2B02" , vpshrdvq(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48734C2B02" , vpshrdvq(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0872CB" , vpshrdvw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08724C2B08" , vpshrdvw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08724C2B08" , vpshrdvw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2872CB" , vpshrdvw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28724C2B04" , vpshrdvw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28724C2B04" , vpshrdvw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4872CB" , vpshrdvw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48724C2B02" , vpshrdvw(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48724C2B02" , vpshrdvw(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F3ED0872CB01" , vpshrdw(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED08724C2B0801" , vpshrdw(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED08724C2B0801" , vpshrdw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED2872CB01" , vpshrdw(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F3ED28724C2B0401" , vpshrdw(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED28724C2B0401" , vpshrdw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED4872CB01" , vpshrdw(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F3ED48724C2B0201" , vpshrdw(zmm1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED48724C2B0201" , vpshrdw(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E26900CB" , vpshufb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269008C2B80000000" , vpshufb(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269008C2B80000000" , vpshufb(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D00CB" , vpshufb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D008C2B80000000" , vpshufb(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D008C2B80000000" , vpshufb(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4800CB" , vpshufb(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48004C2B02" , vpshufb(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48004C2B02" , vpshufb(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D088FCB" , vpshufbitqmb(k1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D088F4C2B08" , vpshufbitqmb(k1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D088F4C2B08" , vpshufbitqmb(k1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D288FCB" , vpshufbitqmb(k1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D288F4C2B04" , vpshufbitqmb(k1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D288F4C2B04" , vpshufbitqmb(k1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D488FCB" , vpshufbitqmb(k1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D488F4C2B02" , vpshufbitqmb(k1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D488F4C2B02" , vpshufbitqmb(k1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5F970CA01" , vpshufd(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("C5F9708C1A8000000001" , vpshufd(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C5F9708C1A8000000001" , vpshufd(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C5FD70CA01" , vpshufd(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("C5FD708C1A8000000001" , vpshufd(ymm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C5FD708C1A8000000001" , vpshufd(ymm1, ymmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F17D4870CA01" , vpshufd(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F17D48704C1A0201" , vpshufd(zmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F17D48704C1A0201" , vpshufd(zmm1, zmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C5FA70CA01" , vpshufhw(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("C5FA708C1A8000000001" , vpshufhw(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C5FA708C1A8000000001" , vpshufhw(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C5FE70CA01" , vpshufhw(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("C5FE708C1A8000000001" , vpshufhw(ymm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C5FE708C1A8000000001" , vpshufhw(ymm1, ymmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F17E4870CA01" , vpshufhw(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F17E48704C1A0201" , vpshufhw(zmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F17E48704C1A0201" , vpshufhw(zmm1, zmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C5FB70CA01" , vpshuflw(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("C5FB708C1A8000000001" , vpshuflw(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C5FB708C1A8000000001" , vpshuflw(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C5FF70CA01" , vpshuflw(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("C5FF708C1A8000000001" , vpshuflw(ymm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C5FF708C1A8000000001" , vpshuflw(ymm1, ymmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F17F4870CA01" , vpshuflw(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F17F48704C1A0201" , vpshuflw(zmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F17F48704C1A0201" , vpshuflw(zmm1, zmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E26908CB" , vpsignb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269088C2B80000000" , vpsignb(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269088C2B80000000" , vpsignb(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D08CB" , vpsignb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D088C2B80000000" , vpsignb(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D088C2B80000000" , vpsignb(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2690ACB" , vpsignd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2690A8C2B80000000" , vpsignd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2690A8C2B80000000" , vpsignd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D0ACB" , vpsignd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D0A8C2B80000000" , vpsignd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D0A8C2B80000000" , vpsignd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26909CB" , vpsignw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269098C2B80000000" , vpsignw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269098C2B80000000" , vpsignw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D09CB" , vpsignw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D098C2B80000000" , vpsignw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D098C2B80000000" , vpsignw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9F2CB" , vpslld(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5F172F201" , vpslld(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("C5E9F28C2B80000000" , vpslld(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9F28C2B80000000" , vpslld(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDF2CB" , vpslld(ymm1, ymm2, xmm3));
+ TEST_INSTRUCTION("C5F572F201" , vpslld(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("C5EDF28C2B80000000" , vpslld(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDF28C2B80000000" , vpslld(ymm1, ymm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1750872741A0801" , vpslld(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1750872741A0801" , vpslld(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1752872741A0401" , vpslld(ymm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1752872741A0401" , vpslld(ymm1, ymmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F16D48F2CB" , vpslld(zmm1, zmm2, xmm3));
+ TEST_INSTRUCTION("62F1754872F201" , vpslld(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F16D48F24C2B08" , vpslld(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48F24C2B08" , vpslld(zmm1, zmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1754872741A0201" , vpslld(zmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1754872741A0201" , vpslld(zmm1, zmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C5F173FA01" , vpslldq(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("62F17508737C1A0801" , vpslldq(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F17508737C1A0801" , vpslldq(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C5F573FA01" , vpslldq(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("62F17528737C1A0401" , vpslldq(ymm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F17528737C1A0401" , vpslldq(ymm1, ymmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1754873FA01" , vpslldq(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F17548737C1A0201" , vpslldq(zmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F17548737C1A0201" , vpslldq(zmm1, zmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C5E9F3CB" , vpsllq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5F173F201" , vpsllq(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("C5E9F38C2B80000000" , vpsllq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9F38C2B80000000" , vpsllq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDF3CB" , vpsllq(ymm1, ymm2, xmm3));
+ TEST_INSTRUCTION("C5F573F201" , vpsllq(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("C5EDF38C2B80000000" , vpsllq(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDF38C2B80000000" , vpsllq(ymm1, ymm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1F50873741A0801" , vpsllq(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F50873741A0801" , vpsllq(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F52873741A0401" , vpsllq(ymm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F52873741A0401" , vpsllq(ymm1, ymmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1ED48F3CB" , vpsllq(zmm1, zmm2, xmm3));
+ TEST_INSTRUCTION("62F1F54873F201" , vpsllq(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F1ED48F34C2B08" , vpsllq(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48F34C2B08" , vpsllq(zmm1, zmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1F54873741A0201" , vpsllq(zmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F54873741A0201" , vpsllq(zmm1, zmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E26947CB" , vpsllvd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269478C2B80000000" , vpsllvd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269478C2B80000000" , vpsllvd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D47CB" , vpsllvd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D478C2B80000000" , vpsllvd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D478C2B80000000" , vpsllvd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4847CB" , vpsllvd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48474C2B02" , vpsllvd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48474C2B02" , vpsllvd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E947CB" , vpsllvq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9478C2B80000000" , vpsllvq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9478C2B80000000" , vpsllvq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED47CB" , vpsllvq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2ED478C2B80000000" , vpsllvq(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED478C2B80000000" , vpsllvq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4847CB" , vpsllvq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48474C2B02" , vpsllvq(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48474C2B02" , vpsllvq(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0812CB" , vpsllvw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08124C2B08" , vpsllvw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08124C2B08" , vpsllvw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2812CB" , vpsllvw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28124C2B04" , vpsllvw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28124C2B04" , vpsllvw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4812CB" , vpsllvw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48124C2B02" , vpsllvw(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48124C2B02" , vpsllvw(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9F1CB" , vpsllw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5F171F201" , vpsllw(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("C5E9F18C2B80000000" , vpsllw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9F18C2B80000000" , vpsllw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDF1CB" , vpsllw(ymm1, ymm2, xmm3));
+ TEST_INSTRUCTION("C5F571F201" , vpsllw(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("C5EDF18C2B80000000" , vpsllw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDF18C2B80000000" , vpsllw(ymm1, ymm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1750871741A0801" , vpsllw(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1750871741A0801" , vpsllw(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1752871741A0401" , vpsllw(ymm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1752871741A0401" , vpsllw(ymm1, ymmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F16D48F1CB" , vpsllw(zmm1, zmm2, xmm3));
+ TEST_INSTRUCTION("62F1754871F201" , vpsllw(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F16D48F14C2B08" , vpsllw(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48F14C2B08" , vpsllw(zmm1, zmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1754871741A0201" , vpsllw(zmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1754871741A0201" , vpsllw(zmm1, zmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C5E9E2CB" , vpsrad(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5F172E201" , vpsrad(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("C5E9E28C2B80000000" , vpsrad(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9E28C2B80000000" , vpsrad(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDE2CB" , vpsrad(ymm1, ymm2, xmm3));
+ TEST_INSTRUCTION("C5F572E201" , vpsrad(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("C5EDE28C2B80000000" , vpsrad(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDE28C2B80000000" , vpsrad(ymm1, ymm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1750872641A0801" , vpsrad(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1750872641A0801" , vpsrad(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1752872641A0401" , vpsrad(ymm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1752872641A0401" , vpsrad(ymm1, ymmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F16D48E2CB" , vpsrad(zmm1, zmm2, xmm3));
+ TEST_INSTRUCTION("62F1754872E201" , vpsrad(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F16D48E24C2B08" , vpsrad(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48E24C2B08" , vpsrad(zmm1, zmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1754872641A0201" , vpsrad(zmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1754872641A0201" , vpsrad(zmm1, zmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1ED08E2CB" , vpsraq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F1F50872E201" , vpsraq(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("62F1ED08E24C2B08" , vpsraq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED08E24C2B08" , vpsraq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1F50872641A0801" , vpsraq(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F50872641A0801" , vpsraq(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1ED28E2CB" , vpsraq(ymm1, ymm2, xmm3));
+ TEST_INSTRUCTION("62F1F52872E201" , vpsraq(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("62F1ED28E24C2B08" , vpsraq(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED28E24C2B08" , vpsraq(ymm1, ymm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1F52872641A0401" , vpsraq(ymm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F52872641A0401" , vpsraq(ymm1, ymmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1ED48E2CB" , vpsraq(zmm1, zmm2, xmm3));
+ TEST_INSTRUCTION("62F1F54872E201" , vpsraq(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F1ED48E24C2B08" , vpsraq(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48E24C2B08" , vpsraq(zmm1, zmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1F54872641A0201" , vpsraq(zmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F54872641A0201" , vpsraq(zmm1, zmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E26946CB" , vpsravd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269468C2B80000000" , vpsravd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269468C2B80000000" , vpsravd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D46CB" , vpsravd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D468C2B80000000" , vpsravd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D468C2B80000000" , vpsravd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4846CB" , vpsravd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48464C2B02" , vpsravd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48464C2B02" , vpsravd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0846CB" , vpsravq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08464C2B08" , vpsravq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08464C2B08" , vpsravq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2846CB" , vpsravq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28464C2B04" , vpsravq(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28464C2B04" , vpsravq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4846CB" , vpsravq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48464C2B02" , vpsravq(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48464C2B02" , vpsravq(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0811CB" , vpsravw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08114C2B08" , vpsravw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08114C2B08" , vpsravw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2811CB" , vpsravw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28114C2B04" , vpsravw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28114C2B04" , vpsravw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4811CB" , vpsravw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48114C2B02" , vpsravw(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48114C2B02" , vpsravw(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9E1CB" , vpsraw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5F171E201" , vpsraw(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("C5E9E18C2B80000000" , vpsraw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9E18C2B80000000" , vpsraw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDE1CB" , vpsraw(ymm1, ymm2, xmm3));
+ TEST_INSTRUCTION("C5F571E201" , vpsraw(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("C5EDE18C2B80000000" , vpsraw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDE18C2B80000000" , vpsraw(ymm1, ymm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1750871641A0801" , vpsraw(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1750871641A0801" , vpsraw(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1752871641A0401" , vpsraw(ymm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1752871641A0401" , vpsraw(ymm1, ymmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F16D48E1CB" , vpsraw(zmm1, zmm2, xmm3));
+ TEST_INSTRUCTION("62F1754871E201" , vpsraw(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F16D48E14C2B08" , vpsraw(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48E14C2B08" , vpsraw(zmm1, zmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1754871641A0201" , vpsraw(zmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1754871641A0201" , vpsraw(zmm1, zmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C5E9D2CB" , vpsrld(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5F172D201" , vpsrld(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("C5E9D28C2B80000000" , vpsrld(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9D28C2B80000000" , vpsrld(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDD2CB" , vpsrld(ymm1, ymm2, xmm3));
+ TEST_INSTRUCTION("C5F572D201" , vpsrld(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("C5EDD28C2B80000000" , vpsrld(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDD28C2B80000000" , vpsrld(ymm1, ymm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1750872541A0801" , vpsrld(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1750872541A0801" , vpsrld(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1752872541A0401" , vpsrld(ymm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1752872541A0401" , vpsrld(ymm1, ymmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F16D48D2CB" , vpsrld(zmm1, zmm2, xmm3));
+ TEST_INSTRUCTION("62F1754872D201" , vpsrld(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F16D48D24C2B08" , vpsrld(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48D24C2B08" , vpsrld(zmm1, zmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1754872541A0201" , vpsrld(zmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1754872541A0201" , vpsrld(zmm1, zmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C5F173DA01" , vpsrldq(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("62F17508735C1A0801" , vpsrldq(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F17508735C1A0801" , vpsrldq(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C5F573DA01" , vpsrldq(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("62F17528735C1A0401" , vpsrldq(ymm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F17528735C1A0401" , vpsrldq(ymm1, ymmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1754873DA01" , vpsrldq(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F17548735C1A0201" , vpsrldq(zmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F17548735C1A0201" , vpsrldq(zmm1, zmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C5E9D3CB" , vpsrlq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5F173D201" , vpsrlq(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("C5E9D38C2B80000000" , vpsrlq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9D38C2B80000000" , vpsrlq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDD3CB" , vpsrlq(ymm1, ymm2, xmm3));
+ TEST_INSTRUCTION("C5F573D201" , vpsrlq(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("C5EDD38C2B80000000" , vpsrlq(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDD38C2B80000000" , vpsrlq(ymm1, ymm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1F50873541A0801" , vpsrlq(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F50873541A0801" , vpsrlq(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F52873541A0401" , vpsrlq(ymm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F52873541A0401" , vpsrlq(ymm1, ymmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1ED48D3CB" , vpsrlq(zmm1, zmm2, xmm3));
+ TEST_INSTRUCTION("62F1F54873D201" , vpsrlq(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F1ED48D34C2B08" , vpsrlq(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48D34C2B08" , vpsrlq(zmm1, zmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1F54873541A0201" , vpsrlq(zmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1F54873541A0201" , vpsrlq(zmm1, zmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E26945CB" , vpsrlvd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E269458C2B80000000" , vpsrlvd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E269458C2B80000000" , vpsrlvd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D45CB" , vpsrlvd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E26D458C2B80000000" , vpsrlvd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E26D458C2B80000000" , vpsrlvd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4845CB" , vpsrlvd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48454C2B02" , vpsrlvd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48454C2B02" , vpsrlvd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E945CB" , vpsrlvq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C4E2E9458C2B80000000" , vpsrlvq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2E9458C2B80000000" , vpsrlvq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED45CB" , vpsrlvq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C4E2ED458C2B80000000" , vpsrlvq(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2ED458C2B80000000" , vpsrlvq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4845CB" , vpsrlvq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48454C2B02" , vpsrlvq(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48454C2B02" , vpsrlvq(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0810CB" , vpsrlvw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08104C2B08" , vpsrlvw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08104C2B08" , vpsrlvw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2810CB" , vpsrlvw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28104C2B04" , vpsrlvw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28104C2B04" , vpsrlvw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4810CB" , vpsrlvw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48104C2B02" , vpsrlvw(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48104C2B02" , vpsrlvw(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9D1CB" , vpsrlw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5F171D201" , vpsrlw(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("C5E9D18C2B80000000" , vpsrlw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9D18C2B80000000" , vpsrlw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDD1CB" , vpsrlw(ymm1, ymm2, xmm3));
+ TEST_INSTRUCTION("C5F571D201" , vpsrlw(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("C5EDD18C2B80000000" , vpsrlw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDD18C2B80000000" , vpsrlw(ymm1, ymm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1750871541A0801" , vpsrlw(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1750871541A0801" , vpsrlw(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1752871541A0401" , vpsrlw(ymm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1752871541A0401" , vpsrlw(ymm1, ymmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F16D48D1CB" , vpsrlw(zmm1, zmm2, xmm3));
+ TEST_INSTRUCTION("62F1754871D201" , vpsrlw(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F16D48D14C2B08" , vpsrlw(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48D14C2B08" , vpsrlw(zmm1, zmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1754871541A0201" , vpsrlw(zmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F1754871541A0201" , vpsrlw(zmm1, zmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C5E9F8CB" , vpsubb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9F88C2B80000000" , vpsubb(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9F88C2B80000000" , vpsubb(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDF8CB" , vpsubb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDF88C2B80000000" , vpsubb(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDF88C2B80000000" , vpsubb(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48F8CB" , vpsubb(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48F84C2B02" , vpsubb(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48F84C2B02" , vpsubb(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9FACB" , vpsubd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9FA8C2B80000000" , vpsubd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9FA8C2B80000000" , vpsubd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDFACB" , vpsubd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDFA8C2B80000000" , vpsubd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDFA8C2B80000000" , vpsubd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48FACB" , vpsubd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48FA4C2B02" , vpsubd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48FA4C2B02" , vpsubd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9FBCB" , vpsubq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9FB8C2B80000000" , vpsubq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9FB8C2B80000000" , vpsubq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDFBCB" , vpsubq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDFB8C2B80000000" , vpsubq(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDFB8C2B80000000" , vpsubq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48FBCB" , vpsubq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED48FB4C2B02" , vpsubq(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48FB4C2B02" , vpsubq(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9E8CB" , vpsubsb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9E88C2B80000000" , vpsubsb(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9E88C2B80000000" , vpsubsb(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDE8CB" , vpsubsb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDE88C2B80000000" , vpsubsb(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDE88C2B80000000" , vpsubsb(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48E8CB" , vpsubsb(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48E84C2B02" , vpsubsb(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48E84C2B02" , vpsubsb(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9E9CB" , vpsubsw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9E98C2B80000000" , vpsubsw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9E98C2B80000000" , vpsubsw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDE9CB" , vpsubsw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDE98C2B80000000" , vpsubsw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDE98C2B80000000" , vpsubsw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48E9CB" , vpsubsw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48E94C2B02" , vpsubsw(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48E94C2B02" , vpsubsw(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9D8CB" , vpsubusb(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9D88C2B80000000" , vpsubusb(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9D88C2B80000000" , vpsubusb(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDD8CB" , vpsubusb(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDD88C2B80000000" , vpsubusb(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDD88C2B80000000" , vpsubusb(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48D8CB" , vpsubusb(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48D84C2B02" , vpsubusb(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48D84C2B02" , vpsubusb(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9D9CB" , vpsubusw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9D98C2B80000000" , vpsubusw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9D98C2B80000000" , vpsubusw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDD9CB" , vpsubusw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDD98C2B80000000" , vpsubusw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDD98C2B80000000" , vpsubusw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48D9CB" , vpsubusw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48D94C2B02" , vpsubusw(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48D94C2B02" , vpsubusw(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9F9CB" , vpsubw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9F98C2B80000000" , vpsubw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9F98C2B80000000" , vpsubw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDF9CB" , vpsubw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDF98C2B80000000" , vpsubw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDF98C2B80000000" , vpsubw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48F9CB" , vpsubw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48F94C2B02" , vpsubw(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48F94C2B02" , vpsubw(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F36D0825CB01" , vpternlogd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D08254C2B0801" , vpternlogd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D08254C2B0801" , vpternlogd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D2825CB01" , vpternlogd(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F36D28254C2B0401" , vpternlogd(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D28254C2B0401" , vpternlogd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D4825CB01" , vpternlogd(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F36D48254C2B0201" , vpternlogd(zmm1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D48254C2B0201" , vpternlogd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED0825CB01" , vpternlogq(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED08254C2B0801" , vpternlogq(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED08254C2B0801" , vpternlogq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED2825CB01" , vpternlogq(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F3ED28254C2B0401" , vpternlogq(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED28254C2B0401" , vpternlogq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED4825CB01" , vpternlogq(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F3ED48254C2B0201" , vpternlogq(zmm1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED48254C2B0201" , vpternlogq(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E27917CA" , vptest(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E279178C1A80000000" , vptest(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E279178C1A80000000" , vptest(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D17CA" , vptest(ymm1, ymm2));
+ TEST_INSTRUCTION("C4E27D178C1A80000000" , vptest(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D178C1A80000000" , vptest(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F26D0826CB" , vptestmb(k1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08264C2B08" , vptestmb(k1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08264C2B08" , vptestmb(k1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D2826CB" , vptestmb(k1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D28264C2B04" , vptestmb(k1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D28264C2B04" , vptestmb(k1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4826CB" , vptestmb(k1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48264C2B02" , vptestmb(k1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48264C2B02" , vptestmb(k1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D0827CB" , vptestmd(k1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08274C2B08" , vptestmd(k1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08274C2B08" , vptestmd(k1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D2827CB" , vptestmd(k1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D28274C2B04" , vptestmd(k1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D28274C2B04" , vptestmd(k1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D4827CB" , vptestmd(k1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D48274C2B02" , vptestmd(k1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D48274C2B02" , vptestmd(k1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0827CB" , vptestmq(k1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08274C2B08" , vptestmq(k1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08274C2B08" , vptestmq(k1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2827CB" , vptestmq(k1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28274C2B04" , vptestmq(k1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28274C2B04" , vptestmq(k1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4827CB" , vptestmq(k1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48274C2B02" , vptestmq(k1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48274C2B02" , vptestmq(k1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED0826CB" , vptestmw(k1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08264C2B08" , vptestmw(k1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08264C2B08" , vptestmw(k1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED2826CB" , vptestmw(k1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED28264C2B04" , vptestmw(k1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED28264C2B04" , vptestmw(k1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED4826CB" , vptestmw(k1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED48264C2B02" , vptestmw(k1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED48264C2B02" , vptestmw(k1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26E0826CB" , vptestnmb(k1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26E08264C2B08" , vptestnmb(k1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26E08264C2B08" , vptestnmb(k1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26E2826CB" , vptestnmb(k1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26E28264C2B04" , vptestnmb(k1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26E28264C2B04" , vptestnmb(k1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26E4826CB" , vptestnmb(k1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26E48264C2B02" , vptestnmb(k1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26E48264C2B02" , vptestnmb(k1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26E0827CB" , vptestnmd(k1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26E08274C2B08" , vptestnmd(k1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26E08274C2B08" , vptestnmd(k1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26E2827CB" , vptestnmd(k1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26E28274C2B04" , vptestnmd(k1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26E28274C2B04" , vptestnmd(k1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26E4827CB" , vptestnmd(k1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26E48274C2B02" , vptestnmd(k1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26E48274C2B02" , vptestnmd(k1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2EE0827CB" , vptestnmq(k1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2EE08274C2B08" , vptestnmq(k1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2EE08274C2B08" , vptestnmq(k1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2EE2827CB" , vptestnmq(k1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2EE28274C2B04" , vptestnmq(k1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2EE28274C2B04" , vptestnmq(k1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2EE4827CB" , vptestnmq(k1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2EE48274C2B02" , vptestnmq(k1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2EE48274C2B02" , vptestnmq(k1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2EE0826CB" , vptestnmw(k1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2EE08264C2B08" , vptestnmw(k1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2EE08264C2B08" , vptestnmw(k1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2EE2826CB" , vptestnmw(k1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2EE28264C2B04" , vptestnmw(k1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2EE28264C2B04" , vptestnmw(k1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2EE4826CB" , vptestnmw(k1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2EE48264C2B02" , vptestnmw(k1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2EE48264C2B02" , vptestnmw(k1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E968CB" , vpunpckhbw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9688C2B80000000" , vpunpckhbw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9688C2B80000000" , vpunpckhbw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED68CB" , vpunpckhbw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED688C2B80000000" , vpunpckhbw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED688C2B80000000" , vpunpckhbw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D4868CB" , vpunpckhbw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48684C2B02" , vpunpckhbw(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48684C2B02" , vpunpckhbw(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E96ACB" , vpunpckhdq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E96A8C2B80000000" , vpunpckhdq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E96A8C2B80000000" , vpunpckhdq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED6ACB" , vpunpckhdq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED6A8C2B80000000" , vpunpckhdq(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED6A8C2B80000000" , vpunpckhdq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D486ACB" , vpunpckhdq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D486A4C2B02" , vpunpckhdq(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D486A4C2B02" , vpunpckhdq(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E96DCB" , vpunpckhqdq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E96D8C2B80000000" , vpunpckhqdq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E96D8C2B80000000" , vpunpckhqdq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED6DCB" , vpunpckhqdq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED6D8C2B80000000" , vpunpckhqdq(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED6D8C2B80000000" , vpunpckhqdq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED486DCB" , vpunpckhqdq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED486D4C2B02" , vpunpckhqdq(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED486D4C2B02" , vpunpckhqdq(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E969CB" , vpunpckhwd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9698C2B80000000" , vpunpckhwd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9698C2B80000000" , vpunpckhwd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED69CB" , vpunpckhwd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED698C2B80000000" , vpunpckhwd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED698C2B80000000" , vpunpckhwd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D4869CB" , vpunpckhwd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48694C2B02" , vpunpckhwd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48694C2B02" , vpunpckhwd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E960CB" , vpunpcklbw(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9608C2B80000000" , vpunpcklbw(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9608C2B80000000" , vpunpcklbw(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED60CB" , vpunpcklbw(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED608C2B80000000" , vpunpcklbw(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED608C2B80000000" , vpunpcklbw(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D4860CB" , vpunpcklbw(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48604C2B02" , vpunpcklbw(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48604C2B02" , vpunpcklbw(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E962CB" , vpunpckldq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9628C2B80000000" , vpunpckldq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9628C2B80000000" , vpunpckldq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED62CB" , vpunpckldq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED628C2B80000000" , vpunpckldq(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED628C2B80000000" , vpunpckldq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D4862CB" , vpunpckldq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48624C2B02" , vpunpckldq(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48624C2B02" , vpunpckldq(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E96CCB" , vpunpcklqdq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E96C8C2B80000000" , vpunpcklqdq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E96C8C2B80000000" , vpunpcklqdq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED6CCB" , vpunpcklqdq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED6C8C2B80000000" , vpunpcklqdq(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED6C8C2B80000000" , vpunpcklqdq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED486CCB" , vpunpcklqdq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED486C4C2B02" , vpunpcklqdq(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED486C4C2B02" , vpunpcklqdq(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E961CB" , vpunpcklwd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9618C2B80000000" , vpunpcklwd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9618C2B80000000" , vpunpcklwd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED61CB" , vpunpcklwd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED618C2B80000000" , vpunpcklwd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED618C2B80000000" , vpunpcklwd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D4861CB" , vpunpcklwd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48614C2B02" , vpunpcklwd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48614C2B02" , vpunpcklwd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9EFCB" , vpxor(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9EF8C2B80000000" , vpxor(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9EF8C2B80000000" , vpxor(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDEFCB" , vpxor(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EDEF8C2B80000000" , vpxor(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EDEF8C2B80000000" , vpxor(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D08EFCB" , vpxord(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F16D08EF4C2B08" , vpxord(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D08EF4C2B08" , vpxord(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D28EFCB" , vpxord(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F16D28EF4C2B04" , vpxord(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D28EF4C2B04" , vpxord(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48EFCB" , vpxord(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16D48EF4C2B02" , vpxord(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16D48EF4C2B02" , vpxord(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED08EFCB" , vpxorq(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F1ED08EF4C2B08" , vpxorq(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED08EF4C2B08" , vpxorq(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED28EFCB" , vpxorq(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F1ED28EF4C2B04" , vpxorq(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED28EF4C2B04" , vpxorq(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48EFCB" , vpxorq(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED48EF4C2B02" , vpxorq(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48EF4C2B02" , vpxorq(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F3ED0850CB01" , vrangepd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED08504C2B0801" , vrangepd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED08504C2B0801" , vrangepd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED2850CB01" , vrangepd(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F3ED28504C2B0401" , vrangepd(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED28504C2B0401" , vrangepd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED4850CB01" , vrangepd(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F3ED48504C2B0201" , vrangepd(zmm1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED48504C2B0201" , vrangepd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D0850CB01" , vrangeps(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D08504C2B0801" , vrangeps(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D08504C2B0801" , vrangeps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D2850CB01" , vrangeps(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F36D28504C2B0401" , vrangeps(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D28504C2B0401" , vrangeps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D4850CB01" , vrangeps(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F36D48504C2B0201" , vrangeps(zmm1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D48504C2B0201" , vrangeps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED0851CB01" , vrangesd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED08514C2B1001" , vrangesd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED08514C2B1001" , vrangesd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D0851CB01" , vrangess(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D08514C2B2001" , vrangess(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D08514C2B2001" , vrangess(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F2FD084CCA" , vrcp14pd(xmm1, xmm2));
+ TEST_INSTRUCTION("62F2FD084C4C1A08" , vrcp14pd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD084C4C1A08" , vrcp14pd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD284CCA" , vrcp14pd(ymm1, ymm2));
+ TEST_INSTRUCTION("62F2FD284C4C1A04" , vrcp14pd(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD284C4C1A04" , vrcp14pd(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD484CCA" , vrcp14pd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F2FD484C4C1A02" , vrcp14pd(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD484C4C1A02" , vrcp14pd(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D084CCA" , vrcp14ps(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27D084C4C1A08" , vrcp14ps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D084C4C1A08" , vrcp14ps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D284CCA" , vrcp14ps(ymm1, ymm2));
+ TEST_INSTRUCTION("62F27D284C4C1A04" , vrcp14ps(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D284C4C1A04" , vrcp14ps(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D484CCA" , vrcp14ps(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D484C4C1A02" , vrcp14ps(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D484C4C1A02" , vrcp14ps(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2ED084DCB" , vrcp14sd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED084D4C2B10" , vrcp14sd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED084D4C2B10" , vrcp14sd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D084DCB" , vrcp14ss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D084D4C2B20" , vrcp14ss(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D084D4C2B20" , vrcp14ss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2FD48CACA" , vrcp28pd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F2FD48CA4C1A02" , vrcp28pd(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD48CA4C1A02" , vrcp28pd(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48CACA" , vrcp28ps(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D48CA4C1A02" , vrcp28ps(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48CA4C1A02" , vrcp28ps(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08CBCB" , vrcp28sd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08CB4C2B10" , vrcp28sd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08CB4C2B10" , vrcp28sd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08CBCB" , vrcp28ss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08CB4C2B20" , vrcp28ss(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08CB4C2B20" , vrcp28ss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5F853CA" , vrcpps(xmm1, xmm2));
+ TEST_INSTRUCTION("C5F8538C1A80000000" , vrcpps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F8538C1A80000000" , vrcpps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FC53CA" , vrcpps(ymm1, ymm2));
+ TEST_INSTRUCTION("C5FC538C1A80000000" , vrcpps(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FC538C1A80000000" , vrcpps(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5EA53CB" , vrcpss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EA538C2B80000000" , vrcpss(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EA538C2B80000000" , vrcpss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F3FD0856CA01" , vreducepd(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("62F3FD08564C1A0801" , vreducepd(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD08564C1A0801" , vreducepd(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD2856CA01" , vreducepd(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("62F3FD28564C1A0401" , vreducepd(ymm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD28564C1A0401" , vreducepd(ymm1, ymmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD4856CA01" , vreducepd(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F3FD48564C1A0201" , vreducepd(zmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD48564C1A0201" , vreducepd(zmm1, zmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D0856CA01" , vreduceps(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("62F37D08564C1A0801" , vreduceps(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D08564C1A0801" , vreduceps(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D2856CA01" , vreduceps(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("62F37D28564C1A0401" , vreduceps(ymm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D28564C1A0401" , vreduceps(ymm1, ymmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D4856CA01" , vreduceps(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F37D48564C1A0201" , vreduceps(zmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D48564C1A0201" , vreduceps(zmm1, zmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED0857CB01" , vreducesd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED08574C2B1001" , vreducesd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED08574C2B1001" , vreducesd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D0857CB01" , vreducess(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D08574C2B2001" , vreducess(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D08574C2B2001" , vreducess(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD0809CA01" , vrndscalepd(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("62F3FD08094C1A0801" , vrndscalepd(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD08094C1A0801" , vrndscalepd(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD2809CA01" , vrndscalepd(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("62F3FD28094C1A0401" , vrndscalepd(ymm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD28094C1A0401" , vrndscalepd(ymm1, ymmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD4809CA01" , vrndscalepd(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F3FD48094C1A0201" , vrndscalepd(zmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3FD48094C1A0201" , vrndscalepd(zmm1, zmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D0808CA01" , vrndscaleps(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("62F37D08084C1A0801" , vrndscaleps(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D08084C1A0801" , vrndscaleps(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D2808CA01" , vrndscaleps(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("62F37D28084C1A0401" , vrndscaleps(ymm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D28084C1A0401" , vrndscaleps(ymm1, ymmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D4808CA01" , vrndscaleps(zmm1, zmm2, 1));
+ TEST_INSTRUCTION("62F37D48084C1A0201" , vrndscaleps(zmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F37D48084C1A0201" , vrndscaleps(zmm1, zmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED080BCB01" , vrndscalesd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F3ED080B4C2B1001" , vrndscalesd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED080B4C2B1001" , vrndscalesd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D080ACB01" , vrndscaless(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("62F36D080A4C2B2001" , vrndscaless(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D080A4C2B2001" , vrndscaless(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E37909CA01" , vroundpd(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("C4E379098C1A8000000001" , vroundpd(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E379098C1A8000000001" , vroundpd(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E37D09CA01" , vroundpd(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("C4E37D098C1A8000000001" , vroundpd(ymm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E37D098C1A8000000001" , vroundpd(ymm1, ymmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E37908CA01" , vroundps(xmm1, xmm2, 1));
+ TEST_INSTRUCTION("C4E379088C1A8000000001" , vroundps(xmm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E379088C1A8000000001" , vroundps(xmm1, xmmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E37D08CA01" , vroundps(ymm1, ymm2, 1));
+ TEST_INSTRUCTION("C4E37D088C1A8000000001" , vroundps(ymm1, ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E37D088C1A8000000001" , vroundps(ymm1, ymmword_ptr(rdx, rbx, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3690BCB01" , vroundsd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C4E3690B8C2B8000000001" , vroundsd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3690B8C2B8000000001" , vroundsd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3690ACB01" , vroundss(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C4E3690A8C2B8000000001" , vroundss(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C4E3690A8C2B8000000001" , vroundss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F2FD084ECA" , vrsqrt14pd(xmm1, xmm2));
+ TEST_INSTRUCTION("62F2FD084E4C1A08" , vrsqrt14pd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD084E4C1A08" , vrsqrt14pd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD284ECA" , vrsqrt14pd(ymm1, ymm2));
+ TEST_INSTRUCTION("62F2FD284E4C1A04" , vrsqrt14pd(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD284E4C1A04" , vrsqrt14pd(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD484ECA" , vrsqrt14pd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F2FD484E4C1A02" , vrsqrt14pd(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD484E4C1A02" , vrsqrt14pd(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D084ECA" , vrsqrt14ps(xmm1, xmm2));
+ TEST_INSTRUCTION("62F27D084E4C1A08" , vrsqrt14ps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D084E4C1A08" , vrsqrt14ps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D284ECA" , vrsqrt14ps(ymm1, ymm2));
+ TEST_INSTRUCTION("62F27D284E4C1A04" , vrsqrt14ps(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D284E4C1A04" , vrsqrt14ps(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D484ECA" , vrsqrt14ps(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D484E4C1A02" , vrsqrt14ps(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D484E4C1A02" , vrsqrt14ps(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2ED084FCB" , vrsqrt14sd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED084F4C2B10" , vrsqrt14sd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED084F4C2B10" , vrsqrt14sd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D084FCB" , vrsqrt14ss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D084F4C2B20" , vrsqrt14ss(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D084F4C2B20" , vrsqrt14ss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2FD48CCCA" , vrsqrt28pd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F2FD48CC4C1A02" , vrsqrt28pd(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2FD48CC4C1A02" , vrsqrt28pd(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48CCCA" , vrsqrt28ps(zmm1, zmm2));
+ TEST_INSTRUCTION("62F27D48CC4C1A02" , vrsqrt28ps(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F27D48CC4C1A02" , vrsqrt28ps(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08CDCB" , vrsqrt28sd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED08CD4C2B10" , vrsqrt28sd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED08CD4C2B10" , vrsqrt28sd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08CDCB" , vrsqrt28ss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D08CD4C2B20" , vrsqrt28ss(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D08CD4C2B20" , vrsqrt28ss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5F852CA" , vrsqrtps(xmm1, xmm2));
+ TEST_INSTRUCTION("C5F8528C1A80000000" , vrsqrtps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F8528C1A80000000" , vrsqrtps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FC52CA" , vrsqrtps(ymm1, ymm2));
+ TEST_INSTRUCTION("C5FC528C1A80000000" , vrsqrtps(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FC528C1A80000000" , vrsqrtps(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5EA52CB" , vrsqrtss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EA528C2B80000000" , vrsqrtss(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EA528C2B80000000" , vrsqrtss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED082CCB" , vscalefpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED082C4C2B08" , vscalefpd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED082C4C2B08" , vscalefpd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED282CCB" , vscalefpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F2ED282C4C2B04" , vscalefpd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED282C4C2B04" , vscalefpd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED482CCB" , vscalefpd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F2ED482C4C2B02" , vscalefpd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED482C4C2B02" , vscalefpd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D082CCB" , vscalefps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D082C4C2B08" , vscalefps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D082C4C2B08" , vscalefps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D282CCB" , vscalefps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("62F26D282C4C2B04" , vscalefps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D282C4C2B04" , vscalefps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D482CCB" , vscalefps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F26D482C4C2B02" , vscalefps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D482C4C2B02" , vscalefps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED082DCB" , vscalefsd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F2ED082D4C2B10" , vscalefsd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2ED082D4C2B10" , vscalefsd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D082DCB" , vscalefss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("62F26D082D4C2B20" , vscalefss(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F26D082D4C2B20" , vscalefss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F2FD09A25C1110" , k(k1).vscatterdpd(ptr(rcx, xmm2, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F2FD29A25C1110" , k(k1).vscatterdpd(ptr(rcx, xmm2, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F2FD49A25C1110" , k(k1).vscatterdpd(ptr(rcx, ymm2, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27D09A25C1120" , k(k1).vscatterdps(ptr(rcx, xmm2, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27D29A25C1120" , k(k1).vscatterdps(ptr(rcx, ymm2, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F27D49A25C1120" , k(k1).vscatterdps(ptr(rcx, zmm2, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F2FD49C66C1110" , k(k1).vscatterpf0dpd(ptr(rcx, ymm2, 0, 128)));
+ TEST_INSTRUCTION("62F27D49C66C1120" , k(k1).vscatterpf0dps(ptr(rcx, zmm2, 0, 128)));
+ TEST_INSTRUCTION("62F2FD49C76C1110" , k(k1).vscatterpf0qpd(ptr(rcx, zmm2, 0, 128)));
+ TEST_INSTRUCTION("62F27D49C76C1120" , k(k1).vscatterpf0qps(ptr(rcx, zmm2, 0, 128)));
+ TEST_INSTRUCTION("62F2FD49C6741110" , k(k1).vscatterpf1dpd(ptr(rcx, ymm2, 0, 128)));
+ TEST_INSTRUCTION("62F27D49C6741120" , k(k1).vscatterpf1dps(ptr(rcx, zmm2, 0, 128)));
+ TEST_INSTRUCTION("62F2FD49C7741110" , k(k1).vscatterpf1qpd(ptr(rcx, zmm2, 0, 128)));
+ TEST_INSTRUCTION("62F27D49C7741120" , k(k1).vscatterpf1qps(ptr(rcx, zmm2, 0, 128)));
+ TEST_INSTRUCTION("62F2FD09A35C1110" , k(k1).vscatterqpd(ptr(rcx, xmm2, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F2FD29A35C1110" , k(k1).vscatterqpd(ptr(rcx, ymm2, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F2FD49A35C1110" , k(k1).vscatterqpd(ptr(rcx, zmm2, 0, 128), zmm3));
+ TEST_INSTRUCTION("62F27D09A35C1120" , k(k1).vscatterqps(ptr(rcx, xmm2, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27D29A35C1120" , k(k1).vscatterqps(ptr(rcx, ymm2, 0, 128), xmm3));
+ TEST_INSTRUCTION("62F27D49A35C1120" , k(k1).vscatterqps(ptr(rcx, zmm2, 0, 128), ymm3));
+ TEST_INSTRUCTION("62F36D2823CB01" , vshuff32x4(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F36D28234C2B0401" , vshuff32x4(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D28234C2B0401" , vshuff32x4(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D4823CB01" , vshuff32x4(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F36D48234C2B0201" , vshuff32x4(zmm1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D48234C2B0201" , vshuff32x4(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED2823CB01" , vshuff64x2(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F3ED28234C2B0401" , vshuff64x2(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED28234C2B0401" , vshuff64x2(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED4823CB01" , vshuff64x2(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F3ED48234C2B0201" , vshuff64x2(zmm1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED48234C2B0201" , vshuff64x2(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D2843CB01" , vshufi32x4(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F36D28434C2B0401" , vshufi32x4(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D28434C2B0401" , vshufi32x4(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D4843CB01" , vshufi32x4(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F36D48434C2B0201" , vshufi32x4(zmm1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F36D48434C2B0201" , vshufi32x4(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED2843CB01" , vshufi64x2(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("62F3ED28434C2B0401" , vshufi64x2(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED28434C2B0401" , vshufi64x2(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED4843CB01" , vshufi64x2(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F3ED48434C2B0201" , vshufi64x2(zmm1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F3ED48434C2B0201" , vshufi64x2(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C5E9C6CB01" , vshufpd(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C5E9C68C2B8000000001" , vshufpd(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C5E9C68C2B8000000001" , vshufpd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C5EDC6CB01" , vshufpd(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("C5EDC68C2B8000000001" , vshufpd(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C5EDC68C2B8000000001" , vshufpd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F1ED48C6CB01" , vshufpd(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F1ED48C64C2B0201" , vshufpd(zmm1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F1ED48C64C2B0201" , vshufpd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C5E8C6CB01" , vshufps(xmm1, xmm2, xmm3, 1));
+ TEST_INSTRUCTION("C5E8C68C2B8000000001" , vshufps(xmm1, xmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C5E8C68C2B8000000001" , vshufps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C5ECC6CB01" , vshufps(ymm1, ymm2, ymm3, 1));
+ TEST_INSTRUCTION("C5ECC68C2B8000000001" , vshufps(ymm1, ymm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C5ECC68C2B8000000001" , vshufps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F16C48C6CB01" , vshufps(zmm1, zmm2, zmm3, 1));
+ TEST_INSTRUCTION("62F16C48C64C2B0201" , vshufps(zmm1, zmm2, ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("62F16C48C64C2B0201" , vshufps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128), 1));
+ TEST_INSTRUCTION("C5F951CA" , vsqrtpd(xmm1, xmm2));
+ TEST_INSTRUCTION("C5F9518C1A80000000" , vsqrtpd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F9518C1A80000000" , vsqrtpd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FD51CA" , vsqrtpd(ymm1, ymm2));
+ TEST_INSTRUCTION("C5FD518C1A80000000" , vsqrtpd(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FD518C1A80000000" , vsqrtpd(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD4851CA" , vsqrtpd(zmm1, zmm2));
+ TEST_INSTRUCTION("62F1FD48514C1A02" , vsqrtpd(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F1FD48514C1A02" , vsqrtpd(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F851CA" , vsqrtps(xmm1, xmm2));
+ TEST_INSTRUCTION("C5F8518C1A80000000" , vsqrtps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F8518C1A80000000" , vsqrtps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FC51CA" , vsqrtps(ymm1, ymm2));
+ TEST_INSTRUCTION("C5FC518C1A80000000" , vsqrtps(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5FC518C1A80000000" , vsqrtps(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17C4851CA" , vsqrtps(zmm1, zmm2));
+ TEST_INSTRUCTION("62F17C48514C1A02" , vsqrtps(zmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("62F17C48514C1A02" , vsqrtps(zmm1, zmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5EB51CB" , vsqrtsd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EB518C2B80000000" , vsqrtsd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EB518C2B80000000" , vsqrtsd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EA51CB" , vsqrtss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EA518C2B80000000" , vsqrtss(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EA518C2B80000000" , vsqrtss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5F8AE9C1180000000" , vstmxcsr(ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("C5F8AE9C1180000000" , vstmxcsr(dword_ptr(rcx, rdx, 0, 128)));
+ TEST_INSTRUCTION("C5E95CCB" , vsubpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E95C8C2B80000000" , vsubpd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E95C8C2B80000000" , vsubpd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED5CCB" , vsubpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED5C8C2B80000000" , vsubpd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED5C8C2B80000000" , vsubpd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED485CCB" , vsubpd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED485C4C2B02" , vsubpd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED485C4C2B02" , vsubpd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E85CCB" , vsubps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E85C8C2B80000000" , vsubps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E85C8C2B80000000" , vsubps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EC5CCB" , vsubps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EC5C8C2B80000000" , vsubps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EC5C8C2B80000000" , vsubps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16C485CCB" , vsubps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16C485C4C2B02" , vsubps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16C485C4C2B02" , vsubps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EB5CCB" , vsubsd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EB5C8C2B80000000" , vsubsd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EB5C8C2B80000000" , vsubsd(xmm1, xmm2, qword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EA5CCB" , vsubss(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5EA5C8C2B80000000" , vsubss(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EA5C8C2B80000000" , vsubss(xmm1, xmm2, dword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C4E2790FCA" , vtestpd(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E2790F8C1A80000000" , vtestpd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E2790F8C1A80000000" , vtestpd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D0FCA" , vtestpd(ymm1, ymm2));
+ TEST_INSTRUCTION("C4E27D0F8C1A80000000" , vtestpd(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D0F8C1A80000000" , vtestpd(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E2790ECA" , vtestps(xmm1, xmm2));
+ TEST_INSTRUCTION("C4E2790E8C1A80000000" , vtestps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E2790E8C1A80000000" , vtestps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D0ECA" , vtestps(ymm1, ymm2));
+ TEST_INSTRUCTION("C4E27D0E8C1A80000000" , vtestps(ymm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C4E27D0E8C1A80000000" , vtestps(ymm1, ymmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F92ECA" , vucomisd(xmm1, xmm2));
+ TEST_INSTRUCTION("C5F92E8C1A80000000" , vucomisd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F92E8C1A80000000" , vucomisd(xmm1, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F82ECA" , vucomiss(xmm1, xmm2));
+ TEST_INSTRUCTION("C5F82E8C1A80000000" , vucomiss(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5F82E8C1A80000000" , vucomiss(xmm1, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("C5E915CB" , vunpckhpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9158C2B80000000" , vunpckhpd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9158C2B80000000" , vunpckhpd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED15CB" , vunpckhpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED158C2B80000000" , vunpckhpd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED158C2B80000000" , vunpckhpd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED4815CB" , vunpckhpd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED48154C2B02" , vunpckhpd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48154C2B02" , vunpckhpd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E815CB" , vunpckhps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E8158C2B80000000" , vunpckhps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E8158C2B80000000" , vunpckhps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EC15CB" , vunpckhps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EC158C2B80000000" , vunpckhps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EC158C2B80000000" , vunpckhps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16C4815CB" , vunpckhps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16C48154C2B02" , vunpckhps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16C48154C2B02" , vunpckhps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E914CB" , vunpcklpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9148C2B80000000" , vunpcklpd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9148C2B80000000" , vunpcklpd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED14CB" , vunpcklpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED148C2B80000000" , vunpcklpd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED148C2B80000000" , vunpcklpd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED4814CB" , vunpcklpd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED48144C2B02" , vunpcklpd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48144C2B02" , vunpcklpd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E814CB" , vunpcklps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E8148C2B80000000" , vunpcklps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E8148C2B80000000" , vunpcklps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EC14CB" , vunpcklps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EC148C2B80000000" , vunpcklps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EC148C2B80000000" , vunpcklps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16C4814CB" , vunpcklps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16C48144C2B02" , vunpcklps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16C48144C2B02" , vunpcklps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E957CB" , vxorpd(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E9578C2B80000000" , vxorpd(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E9578C2B80000000" , vxorpd(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED57CB" , vxorpd(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5ED578C2B80000000" , vxorpd(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5ED578C2B80000000" , vxorpd(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED4857CB" , vxorpd(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F1ED48574C2B02" , vxorpd(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F1ED48574C2B02" , vxorpd(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E857CB" , vxorps(xmm1, xmm2, xmm3));
+ TEST_INSTRUCTION("C5E8578C2B80000000" , vxorps(xmm1, xmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5E8578C2B80000000" , vxorps(xmm1, xmm2, xmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EC57CB" , vxorps(ymm1, ymm2, ymm3));
+ TEST_INSTRUCTION("C5EC578C2B80000000" , vxorps(ymm1, ymm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5EC578C2B80000000" , vxorps(ymm1, ymm2, ymmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16C4857CB" , vxorps(zmm1, zmm2, zmm3));
+ TEST_INSTRUCTION("62F16C48574C2B02" , vxorps(zmm1, zmm2, ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("62F16C48574C2B02" , vxorps(zmm1, zmm2, zmmword_ptr(rbx, rbp, 0, 128)));
+ TEST_INSTRUCTION("C5FC77" , vzeroall());
+ TEST_INSTRUCTION("C5F877" , vzeroupper());
+ TEST_INSTRUCTION("0F09" , wbinvd());
+ TEST_INSTRUCTION("F30F09" , wbnoinvd());
+ TEST_INSTRUCTION("F30FAED1" , wrfsbase(ecx));
+ TEST_INSTRUCTION("F3480FAED1" , wrfsbase(rcx));
+ TEST_INSTRUCTION("F30FAED9" , wrgsbase(ecx));
+ TEST_INSTRUCTION("F3480FAED9" , wrgsbase(rcx));
+ TEST_INSTRUCTION("0F30" , wrmsr(edx, eax, ecx));
+ TEST_INSTRUCTION("0F38F6D1" , wrssd(ecx, edx));
+ TEST_INSTRUCTION("0F38F69C1180000000" , wrssd(ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("0F38F69C1180000000" , wrssd(dword_ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("480F38F6D1" , wrssq(rcx, rdx));
+ TEST_INSTRUCTION("480F38F69C1180000000" , wrssq(ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("480F38F69C1180000000" , wrssq(qword_ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("660F38F5D1" , wrussd(ecx, edx));
+ TEST_INSTRUCTION("660F38F59C1180000000" , wrussd(ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("660F38F59C1180000000" , wrussd(dword_ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("66480F38F5D1" , wrussq(rcx, rdx));
+ TEST_INSTRUCTION("66480F38F59C1180000000" , wrussq(ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("66480F38F59C1180000000" , wrussq(qword_ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("C6F801" , xabort(1));
+ TEST_INSTRUCTION("0FC0D1" , xadd(cl, dl));
+ TEST_INSTRUCTION("0FC0F1" , xadd(cl, dh));
+ TEST_INSTRUCTION("0FC0D5" , xadd(ch, dl));
+ TEST_INSTRUCTION("0FC0F5" , xadd(ch, dh));
+ TEST_INSTRUCTION("0FC09C1180000000" , xadd(ptr(rcx, rdx, 0, 128), bl));
+ TEST_INSTRUCTION("0FC0BC1180000000" , xadd(ptr(rcx, rdx, 0, 128), bh));
+ TEST_INSTRUCTION("0FC09C1180000000" , xadd(byte_ptr(rcx, rdx, 0, 128), bl));
+ TEST_INSTRUCTION("0FC0BC1180000000" , xadd(byte_ptr(rcx, rdx, 0, 128), bh));
+ TEST_INSTRUCTION("660FC1D1" , xadd(cx, dx));
+ TEST_INSTRUCTION("660FC19C1180000000" , xadd(ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("660FC19C1180000000" , xadd(word_ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("0FC1D1" , xadd(ecx, edx));
+ TEST_INSTRUCTION("0FC19C1180000000" , xadd(ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("0FC19C1180000000" , xadd(dword_ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("480FC1D1" , xadd(rcx, rdx));
+ TEST_INSTRUCTION("480FC19C1180000000" , xadd(ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("480FC19C1180000000" , xadd(qword_ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("86D1" , xchg(cl, dl));
+ TEST_INSTRUCTION("86F1" , xchg(cl, dh));
+ TEST_INSTRUCTION("86D5" , xchg(ch, dl));
+ TEST_INSTRUCTION("86F5" , xchg(ch, dh));
+ TEST_INSTRUCTION("869C1180000000" , xchg(ptr(rcx, rdx, 0, 128), bl));
+ TEST_INSTRUCTION("86BC1180000000" , xchg(ptr(rcx, rdx, 0, 128), bh));
+ TEST_INSTRUCTION("869C1180000000" , xchg(byte_ptr(rcx, rdx, 0, 128), bl));
+ TEST_INSTRUCTION("86BC1180000000" , xchg(byte_ptr(rcx, rdx, 0, 128), bh));
+ TEST_INSTRUCTION("6687D1" , xchg(cx, dx));
+ TEST_INSTRUCTION("66879C1180000000" , xchg(ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("66879C1180000000" , xchg(word_ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("87D1" , xchg(ecx, edx));
+ TEST_INSTRUCTION("879C1180000000" , xchg(ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("879C1180000000" , xchg(dword_ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("4887D1" , xchg(rcx, rdx));
+ TEST_INSTRUCTION("48879C1180000000" , xchg(ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("48879C1180000000" , xchg(qword_ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("868C1A80000000" , xchg(cl, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("868C1A80000000" , xchg(cl, byte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("86AC1A80000000" , xchg(ch, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("86AC1A80000000" , xchg(ch, byte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("66878C1A80000000" , xchg(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("66878C1A80000000" , xchg(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("878C1A80000000" , xchg(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("878C1A80000000" , xchg(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("48878C1A80000000" , xchg(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("48878C1A80000000" , xchg(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F01D5" , xend());
+ TEST_INSTRUCTION("0F01D0" , xgetbv(edx, eax, ecx));
+ TEST_INSTRUCTION("D7" , xlatb());
+ TEST_INSTRUCTION("80F101" , xor_(cl, 1));
+ TEST_INSTRUCTION("80F501" , xor_(ch, 1));
+ TEST_INSTRUCTION("80B4118000000001" , xor_(byte_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("6683F101" , xor_(cx, 1));
+ TEST_INSTRUCTION("6683B4118000000001" , xor_(word_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("83F101" , xor_(ecx, 1));
+ TEST_INSTRUCTION("83B4118000000001" , xor_(dword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("4831D1" , xor_(rcx, rdx));
+ TEST_INSTRUCTION("4883F101" , xor_(rcx, 1));
+ TEST_INSTRUCTION("48319C1180000000" , xor_(ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("48319C1180000000" , xor_(qword_ptr(rcx, rdx, 0, 128), rbx));
+ TEST_INSTRUCTION("4883B4118000000001" , xor_(qword_ptr(rcx, rdx, 0, 128), 1));
+ TEST_INSTRUCTION("30D1" , xor_(cl, dl));
+ TEST_INSTRUCTION("30F1" , xor_(cl, dh));
+ TEST_INSTRUCTION("30D5" , xor_(ch, dl));
+ TEST_INSTRUCTION("30F5" , xor_(ch, dh));
+ TEST_INSTRUCTION("309C1180000000" , xor_(ptr(rcx, rdx, 0, 128), bl));
+ TEST_INSTRUCTION("30BC1180000000" , xor_(ptr(rcx, rdx, 0, 128), bh));
+ TEST_INSTRUCTION("309C1180000000" , xor_(byte_ptr(rcx, rdx, 0, 128), bl));
+ TEST_INSTRUCTION("30BC1180000000" , xor_(byte_ptr(rcx, rdx, 0, 128), bh));
+ TEST_INSTRUCTION("6631D1" , xor_(cx, dx));
+ TEST_INSTRUCTION("66319C1180000000" , xor_(ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("66319C1180000000" , xor_(word_ptr(rcx, rdx, 0, 128), bx));
+ TEST_INSTRUCTION("31D1" , xor_(ecx, edx));
+ TEST_INSTRUCTION("319C1180000000" , xor_(ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("319C1180000000" , xor_(dword_ptr(rcx, rdx, 0, 128), ebx));
+ TEST_INSTRUCTION("328C1A80000000" , xor_(cl, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("328C1A80000000" , xor_(cl, byte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("32AC1A80000000" , xor_(ch, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("32AC1A80000000" , xor_(ch, byte_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("66338C1A80000000" , xor_(cx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("66338C1A80000000" , xor_(cx, word_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("338C1A80000000" , xor_(ecx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("338C1A80000000" , xor_(ecx, dword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("48338C1A80000000" , xor_(rcx, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("48338C1A80000000" , xor_(rcx, qword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F57CA" , xorpd(xmm1, xmm2));
+ TEST_INSTRUCTION("660F578C1A80000000" , xorpd(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("660F578C1A80000000" , xorpd(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F57CA" , xorps(xmm1, xmm2));
+ TEST_INSTRUCTION("0F578C1A80000000" , xorps(xmm1, ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("0F578C1A80000000" , xorps(xmm1, xmmword_ptr(rdx, rbx, 0, 128)));
+ TEST_INSTRUCTION("F20F01E9" , xresldtrk());
+ TEST_INSTRUCTION("0FAEAC1180000000" , xrstor(ptr(rcx, rdx, 0, 128), edx, eax));
+ TEST_INSTRUCTION("480FAEAC1180000000" , xrstor64(ptr(rcx, rdx, 0, 128), edx, eax));
+ TEST_INSTRUCTION("0FC79C1180000000" , xrstors(ptr(rcx, rdx, 0, 128), edx, eax));
+ TEST_INSTRUCTION("480FC79C1180000000" , xrstors64(ptr(rcx, rdx, 0, 128), edx, eax));
+ TEST_INSTRUCTION("0FAEA41180000000" , xsave(ptr(rcx, rdx, 0, 128), edx, eax));
+ TEST_INSTRUCTION("480FAEA41180000000" , xsave64(ptr(rcx, rdx, 0, 128), edx, eax));
+ TEST_INSTRUCTION("0FC7A41180000000" , xsavec(ptr(rcx, rdx, 0, 128), edx, eax));
+ TEST_INSTRUCTION("480FC7A41180000000" , xsavec64(ptr(rcx, rdx, 0, 128), edx, eax));
+ TEST_INSTRUCTION("0FAEB41180000000" , xsaveopt(ptr(rcx, rdx, 0, 128), edx, eax));
+ TEST_INSTRUCTION("480FAEB41180000000" , xsaveopt64(ptr(rcx, rdx, 0, 128), edx, eax));
+ TEST_INSTRUCTION("0FC7AC1180000000" , xsaves(ptr(rcx, rdx, 0, 128), edx, eax));
+ TEST_INSTRUCTION("480FC7AC1180000000" , xsaves64(ptr(rcx, rdx, 0, 128), edx, eax));
+ TEST_INSTRUCTION("0F01D1" , xsetbv(edx, eax, ecx));
+ TEST_INSTRUCTION("F20F01E8" , xsusldtrk());
+ TEST_INSTRUCTION("0F01D6" , xtest());
+
+ // Extended X64 tests.
+ TEST_INSTRUCTION("01CB" , add(ebx, ecx));
+ TEST_INSTRUCTION("83C001" , add(eax, 1));
+ TEST_INSTRUCTION("0504030201" , add(eax, 0x01020304));
+ TEST_INSTRUCTION("66050201" , add(ax, 0x0102));
+ TEST_INSTRUCTION("6603849004030201" , add(ax, ptr(rax, rdx, 2, 0x01020304)));
+ TEST_INSTRUCTION("8D042500000000" , lea(eax, ptr(0)));
+ TEST_INSTRUCTION("488D042500000000" , lea(rax, ptr(0)));
+ TEST_INSTRUCTION("488D0433" , lea(rax, ptr(rbx, rsi)));
+ TEST_INSTRUCTION("488D043B" , lea(rax, ptr(rbx, rdi)));
+ TEST_INSTRUCTION("488D840000400000" , lea(rax, ptr(rax, rax, 0, 0x4000)));
TEST_INSTRUCTION("48BB8877665544332211" , mov(rbx, 0x001122334455667788));
TEST_INSTRUCTION("48BB0000000000000000" , long_().mov(rbx, 0));
- TEST_INSTRUCTION("8AE0" , mov(ah, al));
- TEST_INSTRUCTION("8AF0" , mov(dh, al));
TEST_INSTRUCTION("B8E8030000" , mov(eax, 1000));
TEST_INSTRUCTION("0F20C0" , mov(rax, cr0));
TEST_INSTRUCTION("440F20C0" , mov(rax, cr8));
@@ -341,23 +15695,6 @@ bool testX64Assembler(const TestSettings& settings) noexcept {
TEST_INSTRUCTION("440FB6FD" , movzx(r15d, bpl));
TEST_INSTRUCTION("0FB707" , movzx(eax, word_ptr(rdi)));
TEST_INSTRUCTION("480FB707" , movzx(rax, word_ptr(rdi)));
- TEST_INSTRUCTION("03D9" , add(ebx, ecx));
- TEST_INSTRUCTION("83C001" , add(eax, 1));
- TEST_INSTRUCTION("0504030201" , add(eax, 0x01020304));
- TEST_INSTRUCTION("66050201" , add(ax, 0x0102));
- TEST_INSTRUCTION("6603849004030201" , add(ax, ptr(rax, rdx, 2, 0x01020304)));
- TEST_INSTRUCTION("F00118" , lock().add(ptr(rax), ebx));
- TEST_INSTRUCTION("F0480FC138" , lock().xadd(ptr(rax), rdi));
- TEST_INSTRUCTION("660FC8" , bswap(ax));
- TEST_INSTRUCTION("0FC8" , bswap(eax));
- TEST_INSTRUCTION("480FC8" , bswap(rax));
- TEST_INSTRUCTION("660FBA2001" , bt(word_ptr(rax), 1));
- TEST_INSTRUCTION("0FBA2001" , bt(dword_ptr(rax), 1));
- TEST_INSTRUCTION("480FBA2001" , bt(qword_ptr(rax), 1));
- TEST_INSTRUCTION("FE00" , inc(byte_ptr(rax)));
- TEST_INSTRUCTION("66FF00" , inc(word_ptr(rax)));
- TEST_INSTRUCTION("FF00" , inc(dword_ptr(rax)));
- TEST_INSTRUCTION("48FF00" , inc(qword_ptr(rax)));
TEST_INSTRUCTION("411351FD" , adc(edx, dword_ptr(r9, -3)));
TEST_INSTRUCTION("F6D8" , neg(al));
TEST_INSTRUCTION("F6DC" , neg(ah));
@@ -396,179 +15733,44 @@ bool testX64Assembler(const TestSettings& settings) noexcept {
TEST_INSTRUCTION("400FA8" , rex().push(gs));
TEST_INSTRUCTION("C8010002" , enter(1, 2));
TEST_INSTRUCTION("40C8010002" , rex().enter(1, 2));
- TEST_INSTRUCTION("C9" , leave());
TEST_INSTRUCTION("FF10" , call(ptr(rax)));
TEST_INSTRUCTION("FF10" , call(qword_ptr(rax)));
- TEST_INSTRUCTION("660FB401" , lfs(ax, ptr(rcx)));
- TEST_INSTRUCTION("0FB401" , lfs(eax, ptr(rcx)));
- TEST_INSTRUCTION("480FB401" , lfs(rax, ptr(rcx)));
- TEST_INSTRUCTION("660FB501" , lgs(ax, ptr(rcx)));
- TEST_INSTRUCTION("0FB501" , lgs(eax, ptr(rcx)));
- TEST_INSTRUCTION("480FB501" , lgs(rax, ptr(rcx)));
- TEST_INSTRUCTION("660FB201" , lss(ax, ptr(rcx)));
- TEST_INSTRUCTION("0FB201" , lss(eax, ptr(rcx)));
- TEST_INSTRUCTION("480FB201" , lss(rax, ptr(rcx)));
+ TEST_INSTRUCTION("6690" , xchg(ax, ax));
+ TEST_INSTRUCTION("87C0" , xchg(eax, eax));
+ TEST_INSTRUCTION("90" , xchg(rax, rax));
TEST_INSTRUCTION("40863424" , xchg(ptr(rsp), sil));
TEST_INSTRUCTION("40863C24" , xchg(ptr(rsp), dil));
- // NOP.
- TEST_INSTRUCTION("90" , nop());
- TEST_INSTRUCTION("660F1F0400" , nop(word_ptr(rax, rax)));
- TEST_INSTRUCTION("660F1F0400" , nop(word_ptr(rax, rax), ax));
- TEST_INSTRUCTION("660F1F1C00" , nop(word_ptr(rax, rax), bx));
- TEST_INSTRUCTION("0F1F0400" , nop(dword_ptr(rax, rax)));
- TEST_INSTRUCTION("0F1F0400" , nop(dword_ptr(rax, rax), eax));
- TEST_INSTRUCTION("0F1F1C00" , nop(dword_ptr(rax, rax), ebx));
- TEST_INSTRUCTION("480F1F0400" , nop(qword_ptr(rax, rax)));
- TEST_INSTRUCTION("480F1F0400" , nop(qword_ptr(rax, rax), rax));
- TEST_INSTRUCTION("480F1F1C00" , nop(qword_ptr(rax, rax), rbx));
-
- // LEA.
- TEST_INSTRUCTION("8D042500000000" , lea(eax, ptr(0)));
- TEST_INSTRUCTION("488D042500000000" , lea(rax, ptr(0)));
- TEST_INSTRUCTION("488D0433" , lea(rax, ptr(rbx, rsi)));
- TEST_INSTRUCTION("488D043B" , lea(rax, ptr(rbx, rdi)));
- TEST_INSTRUCTION("488D840000400000" , lea(rax, ptr(rax, rax, 0, 0x4000)));
-
- // LJMP/LCALL/LRET.
- TEST_INSTRUCTION("66FF18" , lcall(dword_ptr(rax)));
- TEST_INSTRUCTION("FF18" , lcall(fword_ptr(rax)));
- TEST_INSTRUCTION("48FF18" , lcall(tbyte_ptr(rax)));
- TEST_INSTRUCTION("66FF28" , ljmp(dword_ptr(rax)));
- TEST_INSTRUCTION("FF28" , ljmp(fword_ptr(rax)));
- TEST_INSTRUCTION("48FF28" , ljmp(tbyte_ptr(rax)));
- TEST_INSTRUCTION("CB" , lret());
- TEST_INSTRUCTION("CA0201" , lret(0x0102));
-
- // CRC32.
- TEST_INSTRUCTION("F20F38F0C7" , crc32(eax, bh));
- TEST_INSTRUCTION("66F20F38F1C3" , crc32(eax, bx));
- TEST_INSTRUCTION("F20F38F1C1" , crc32(eax, ecx));
- TEST_INSTRUCTION("F20F38F006" , crc32(eax, byte_ptr(rsi)));
- TEST_INSTRUCTION("66F20F38F106" , crc32(eax, word_ptr(rsi)));
- TEST_INSTRUCTION("F20F38F106" , crc32(eax, dword_ptr(rsi)));
- TEST_INSTRUCTION("F2480F38F0C3" , crc32(rax, bl));
- TEST_INSTRUCTION("F2480F38F1C1" , crc32(rax, rcx));
- TEST_INSTRUCTION("F2480F38F006" , crc32(rax, byte_ptr(rsi)));
- TEST_INSTRUCTION("F2480F38F106" , crc32(rax, qword_ptr(rsi)));
-
- // XACQUIRE|XRELEASE|RTM.
- TEST_INSTRUCTION("C6F811" , xabort(0x11));
+ TEST_INSTRUCTION("F00118" , lock().add(ptr(rax), ebx));
+ TEST_INSTRUCTION("F0480FC138" , lock().xadd(ptr(rax), rdi));
TEST_INSTRUCTION("F2F0480108" , xacquire().lock().add(qword_ptr(rax), rcx));
TEST_INSTRUCTION("F3F0480108" , xrelease().lock().add(qword_ptr(rax), rcx));
- // BND.
- TEST_INSTRUCTION("660F1ACA" , bndmov(bnd1, bnd2));
- TEST_INSTRUCTION("F20F1ACF" , bndcu(bnd1, rdi));
- TEST_INSTRUCTION("0F1A0408" , bndldx(bnd0, ptr(rax, rcx)));
- TEST_INSTRUCTION("0F1B0C08" , bndstx(ptr(rax, rcx), bnd1));
+ // MOD RM & MR tests.
+ TEST_INSTRUCTION("01CB" , mod_mr().add(ebx, ecx));
+ TEST_INSTRUCTION("03D9" , mod_rm().add(ebx, ecx));
+ TEST_INSTRUCTION("88C4" , mod_mr().mov(ah, al));
+ TEST_INSTRUCTION("88C6" , mod_mr().mov(dh, al));
+ TEST_INSTRUCTION("89D8" , mod_mr().mov(eax, ebx));
+ TEST_INSTRUCTION("8AE0" , mod_rm().mov(ah, al));
+ TEST_INSTRUCTION("8AF0" , mod_rm().mov(dh, al));
+ TEST_INSTRUCTION("8BC3" , mod_rm().mov(eax, ebx));
- // BMI+.
- TEST_INSTRUCTION("66F30FB8C2" , popcnt(ax, dx));
- TEST_INSTRUCTION("66F3450FB8C1" , popcnt(r8w, r9w));
- TEST_INSTRUCTION("F30FB8C2" , popcnt(eax, edx));
- TEST_INSTRUCTION("F3480FB8C2" , popcnt(rax, rdx));
- TEST_INSTRUCTION("66F30FBDC2" , lzcnt(ax, dx));
- TEST_INSTRUCTION("66F3450FBDC7" , lzcnt(r8w, r15w));
- TEST_INSTRUCTION("F30FBDC2" , lzcnt(eax, edx));
- TEST_INSTRUCTION("F3490FBDC2" , lzcnt(rax, r10));
- TEST_INSTRUCTION("66F30FBCC2" , tzcnt(ax, dx));
- TEST_INSTRUCTION("66F3450FBCC7" , tzcnt(r8w, r15w));
- TEST_INSTRUCTION("F30FBCC2" , tzcnt(eax, edx));
- TEST_INSTRUCTION("F34D0FBCFA" , tzcnt(r15, r10));
+ // HRESET.
+ TEST_INSTRUCTION("F30F3AF0C001" , hreset(1));
// FPU.
TEST_INSTRUCTION("9B" , fwait());
TEST_INSTRUCTION("D800" , fadd(dword_ptr(rax)));
TEST_INSTRUCTION("DC00" , fadd(qword_ptr(rax)));
- // MMX & SSE.
- TEST_INSTRUCTION("0F6FC1" , movq(mm0, mm1));
- TEST_INSTRUCTION("0F6E00" , movd(mm0, ptr(rax)));
- TEST_INSTRUCTION("0F6F0418" , movq(mm0, ptr(rax, rbx)));
- TEST_INSTRUCTION("0F7E38" , movd(ptr(rax), mm7));
- TEST_INSTRUCTION("0F7F0418" , movq(ptr(rax, rbx), mm0));
- TEST_INSTRUCTION("F30F7EC1" , movq(xmm0, xmm1));
- TEST_INSTRUCTION("660F6E0418" , movd(xmm0, ptr(rax, rbx)));
- TEST_INSTRUCTION("F30F7E0418" , movq(xmm0, ptr(rax, rbx)));
- TEST_INSTRUCTION("660F7E0C18" , movd(ptr(rax, rbx), xmm1));
- TEST_INSTRUCTION("660FD60C18" , movq(ptr(rax, rbx), xmm1));
- TEST_INSTRUCTION("0F280498" , movaps(xmm0, ptr(rax, rbx, 2)));
- TEST_INSTRUCTION("660F280498" , movapd(xmm0, ptr(rax, rbx, 2)));
- TEST_INSTRUCTION("660F6F0498" , movdqa(xmm0, ptr(rax, rbx, 2)));
- TEST_INSTRUCTION("0F290C98" , movaps(ptr(rax, rbx, 2), xmm1));
- TEST_INSTRUCTION("660F290C98" , movapd(ptr(rax, rbx, 2), xmm1));
- TEST_INSTRUCTION("660F7F0C98" , movdqa(ptr(rax, rbx, 2), xmm1));
- TEST_INSTRUCTION("F30F2DC1" , cvtss2si(eax, xmm1));
- TEST_INSTRUCTION("F3480F2DC1" , cvtss2si(rax, xmm1));
- TEST_INSTRUCTION("F20F2DC1" , cvtsd2si(eax, xmm1));
- TEST_INSTRUCTION("F2480F2DC1" , cvtsd2si(rax, xmm1));
- TEST_INSTRUCTION("F30F2AC2" , cvtsi2ss(xmm0, edx));
- TEST_INSTRUCTION("F3480F2AC2" , cvtsi2ss(xmm0, rdx));
- TEST_INSTRUCTION("F20F2AC2" , cvtsi2sd(xmm0, edx));
- TEST_INSTRUCTION("F2480F2AC2" , cvtsi2sd(xmm0, rdx));
- TEST_INSTRUCTION("66450F3A41D300" , dppd(xmm10, xmm11, 0));
- TEST_INSTRUCTION("0FDBC1" , pand(mm0, mm1));
- TEST_INSTRUCTION("660FDBC1" , pand(xmm0, xmm1));
- TEST_INSTRUCTION("660FFDC1" , paddw(xmm0, xmm1));
-
// AVX & AVX512.
- TEST_INSTRUCTION("C5F96E5A10" , vmovd(xmm3, dword_ptr(rdx, 0x10)));
- TEST_INSTRUCTION("C5FA7E5A10" , vmovq(xmm3, qword_ptr(rdx, 0x10)));
- TEST_INSTRUCTION("C5F97E5A10" , vmovd(dword_ptr(rdx, 0x10), xmm3));
- TEST_INSTRUCTION("C5F9D65A10" , vmovq(qword_ptr(rdx, 0x10), xmm3));
- TEST_INSTRUCTION("C5F96EEB" , vmovd(xmm5, ebx));
- TEST_INSTRUCTION("C4E1F96EEB" , vmovq(xmm5, rbx));
- TEST_INSTRUCTION("62617D086EFB" , vmovd(xmm31, ebx));
- TEST_INSTRUCTION("6261FD086EFB" , vmovq(xmm31, rbx));
- TEST_INSTRUCTION("C5F97EEB" , vmovd(ebx, xmm5));
- TEST_INSTRUCTION("C4E1F97EEB" , vmovq(rbx, xmm5));
- TEST_INSTRUCTION("62617D087EFB" , vmovd(ebx, xmm31));
- TEST_INSTRUCTION("6261FD087EFB" , vmovq(rbx, xmm31));
- TEST_INSTRUCTION("C5FA7EC1" , vmovq(xmm0, xmm1));
TEST_INSTRUCTION("62F17D086EC0" , evex().vmovd(xmm0, eax));
TEST_INSTRUCTION("62F1FD086EC0" , evex().vmovq(xmm0, rax));
TEST_INSTRUCTION("62F17D087EC0" , evex().vmovd(eax, xmm0));
TEST_INSTRUCTION("62F1FD087EC0" , evex().vmovq(rax, xmm0));
- TEST_INSTRUCTION("C44135FDC7" , vpaddw(ymm8, ymm9, ymm15));
- TEST_INSTRUCTION("C4432141D400" , vdppd(xmm10, xmm11, xmm12, 0));
TEST_INSTRUCTION("6271B5D95808" , k(k1).z().vaddpd(zmm9, zmm9, ptr(rax)._1to8()));
- TEST_INSTRUCTION("C5F058C2" , vaddps(xmm0, xmm1, xmm2));
TEST_INSTRUCTION("62F1748858C2" , z().vaddps(xmm0, xmm1, xmm2));
- TEST_INSTRUCTION("C5FA2DC1" , vcvtss2si(eax, xmm1));
- TEST_INSTRUCTION("C4E1FA2DC1" , vcvtss2si(rax, xmm1));
- TEST_INSTRUCTION("C5FB2DC1" , vcvtsd2si(eax, xmm1));
- TEST_INSTRUCTION("C4E1FB2DC1" , vcvtsd2si(rax, xmm1));
- TEST_INSTRUCTION("C5F22AC2" , vcvtsi2ss(xmm0, xmm1, edx));
- TEST_INSTRUCTION("C4E1F22AC2" , vcvtsi2ss(xmm0, xmm1, rdx));
- TEST_INSTRUCTION("C5F32AC2" , vcvtsi2sd(xmm0, xmm1, edx));
- TEST_INSTRUCTION("C4E1F32AC2" , vcvtsi2sd(xmm0, xmm1, rdx));
- TEST_INSTRUCTION("C57BE63B" , vcvtpd2dq(xmm15, xmmword_ptr(rbx)));
- TEST_INSTRUCTION("C57FE63B" , vcvtpd2dq(xmm15, ymmword_ptr(rbx)));
- TEST_INSTRUCTION("C5795A3B" , vcvtpd2ps(xmm15, xmmword_ptr(rbx)));
- TEST_INSTRUCTION("C57D5A3B" , vcvtpd2ps(xmm15, ymmword_ptr(rbx)));
- TEST_INSTRUCTION("6271FC08793B" , vcvtpd2udq(xmm15, xmmword_ptr(rbx)));
- TEST_INSTRUCTION("6271FC28793B" , vcvtpd2udq(xmm15, ymmword_ptr(rbx)));
- TEST_INSTRUCTION("6271FC085B3B" , vcvtqq2ps(xmm15, xmmword_ptr(rbx)));
- TEST_INSTRUCTION("6271FC285B3B" , vcvtqq2ps(xmm15, ymmword_ptr(rbx)));
- TEST_INSTRUCTION("C5F95AC1" , vcvtpd2ps(xmm0, xmm1));
- TEST_INSTRUCTION("C5F95A03" , vcvtpd2ps(xmm0, xmmword_ptr(rbx)));
- TEST_INSTRUCTION("C5FD5AC1" , vcvtpd2ps(xmm0, ymm1));
- TEST_INSTRUCTION("C5FD5A03" , vcvtpd2ps(xmm0, ymmword_ptr(rbx)));
- TEST_INSTRUCTION("62F1FD485AC1" , vcvtpd2ps(ymm0, zmm1));
- TEST_INSTRUCTION("62F1FD485A03" , vcvtpd2ps(ymm0, zmmword_ptr(rbx)));
- TEST_INSTRUCTION("C579E63B" , vcvttpd2dq(xmm15, xmmword_ptr(rbx)));
- TEST_INSTRUCTION("C57DE63B" , vcvttpd2dq(xmm15, ymmword_ptr(rbx)));
- TEST_INSTRUCTION("6271FC08783B" , vcvttpd2udq(xmm15, xmmword_ptr(rbx)));
- TEST_INSTRUCTION("6271FC28783B" , vcvttpd2udq(xmm15, ymmword_ptr(rbx)));
- TEST_INSTRUCTION("6271FF087A3B" , vcvtuqq2ps(xmm15, xmmword_ptr(rbx)));
- TEST_INSTRUCTION("6271FF287A3B" , vcvtuqq2ps(xmm15, ymmword_ptr(rbx)));
- TEST_INSTRUCTION("62F3FD08663F01" , vfpclasspd(k7, xmmword_ptr(rdi), 0x01));
- TEST_INSTRUCTION("62F3FD28663701" , vfpclasspd(k6, ymmword_ptr(rdi), 0x01));
- TEST_INSTRUCTION("62F3FD48662F01" , vfpclasspd(k5, zmmword_ptr(rdi), 0x01));
- TEST_INSTRUCTION("62F37D08662701" , vfpclassps(k4, xmmword_ptr(rdi), 0x01));
- TEST_INSTRUCTION("62F37D28661F01" , vfpclassps(k3, ymmword_ptr(rdi), 0x01));
- TEST_INSTRUCTION("62F37D48661701" , vfpclassps(k2, zmmword_ptr(rdi), 0x01));
TEST_INSTRUCTION("6201951058F4" , rn_sae().vaddpd(zmm30, zmm29, zmm28));
TEST_INSTRUCTION("6201953058F4" , rd_sae().vaddpd(zmm30, zmm29, zmm28));
TEST_INSTRUCTION("6201955058F4" , ru_sae().vaddpd(zmm30, zmm29, zmm28));
@@ -585,35 +15787,22 @@ bool testX64Assembler(const TestSettings& settings) noexcept {
TEST_INSTRUCTION("C4E26990440D00" , vpgatherdd(xmm0, ptr(rbp, xmm1), xmm2));
TEST_INSTRUCTION("C4C26990040C" , vpgatherdd(xmm0, ptr(r12, xmm1), xmm2));
TEST_INSTRUCTION("C4C26990440D00" , vpgatherdd(xmm0, ptr(r13, xmm1), xmm2));
- TEST_INSTRUCTION("62F36D083ECB00" , vpcmpub(k1, xmm2, xmm3, 0x0));
- TEST_INSTRUCTION("C5E9FE4C1140" , vpaddd(xmm1, xmm2, ptr(rcx, rdx, 0, 64)));
- TEST_INSTRUCTION("C5EDFE4C1140" , vpaddd(ymm1, ymm2, ptr(rcx, rdx, 0, 64)));
- TEST_INSTRUCTION("62F16D48FE4C1101" , vpaddd(zmm1, zmm2, ptr(rcx, rdx, 0, 64)));
- TEST_INSTRUCTION("62E23D0850441104" , vpdpbusd(xmm16, xmm8, ptr(rcx, rdx, 0, 64)));
- TEST_INSTRUCTION("62E23D2850441102" , vpdpbusd(ymm16, ymm8, ptr(rcx, rdx, 0, 64)));
- TEST_INSTRUCTION("62E23D4850441101" , vpdpbusd(zmm16, zmm8, ptr(rcx, rdx, 0, 64)));
TEST_INSTRUCTION("62F26D48CF4C1101" , vgf2p8mulb(zmm1, zmm2, zmmword_ptr(rcx, rdx, 0, 64)));
TEST_INSTRUCTION("62F3ED48CE4C11010F" , vgf2p8affineqb(zmm1, zmm2, zmmword_ptr(rcx, rdx, 0, 64), 15));
TEST_INSTRUCTION("62F3ED48CF4C11010F" , vgf2p8affineinvqb(zmm1, zmm2, zmmword_ptr(rcx, rdx, 0, 64), 15));
- TEST_INSTRUCTION("62F27D087AC6" , vpbroadcastb(xmm0, esi));
- TEST_INSTRUCTION("62F27D287AC6" , vpbroadcastb(ymm0, esi));
- TEST_INSTRUCTION("62F27D487AC6" , vpbroadcastb(zmm0, esi));
- TEST_INSTRUCTION("62F2CD088DF8" , vpermw(xmm7, xmm6, xmm0));
- TEST_INSTRUCTION("C4E3FD01FE01" , vpermpd(ymm7, ymm6, 1));
- TEST_INSTRUCTION("62F3FD4801FE01" , vpermpd(zmm7, zmm6, 1));
- TEST_INSTRUCTION("62F2CD2816F8" , vpermpd(ymm7, ymm6, ymm0));
- TEST_INSTRUCTION("62F2CD4816F8" , vpermpd(zmm7, zmm6, zmm0));
- TEST_INSTRUCTION("C4E24D16F9" , vpermps(ymm7, ymm6, ymm1));
- TEST_INSTRUCTION("62F24D4816F9" , vpermps(zmm7, zmm6, zmm1));
TEST_INSTRUCTION("6292472068F0" , vp2intersectd(k6, k7, ymm23, ymm24));
TEST_INSTRUCTION("62B2472068B4F500000010" , vp2intersectd(k6, k7, ymm23, ptr(rbp, r14, 3, 268435456)));
TEST_INSTRUCTION("62F24730683500000000" , vp2intersectd(k6, k7, ymm23, dword_ptr(rip)._1to8()));
TEST_INSTRUCTION("62F2472068742DE0" , vp2intersectd(k6, k7, ymm23, ymmword_ptr(rbp, rbp, 0, -1024)));
TEST_INSTRUCTION("62F2472068717F" , vp2intersectd(k6, k7, ymm23, ymmword_ptr(rcx, 4064)));
- // AVX512_VNNI vs AVX_VNNI.
- TEST_INSTRUCTION("62F2552850F4" , vpdpbusd(ymm6, ymm5, ymm4));
+ // AVX_VNNI & AVX512_VNNI.
TEST_INSTRUCTION("C4E25550F4" , vex().vpdpbusd(ymm6, ymm5, ymm4));
+ TEST_INSTRUCTION("62F2552850F4" , vpdpbusd(ymm6, ymm5, ymm4));
+
+ // SVM.
+ TEST_INSTRUCTION("670F01DF" , invlpga(eax, ecx));
+ TEST_INSTRUCTION("0F01DF" , invlpga(rax, ecx));
tester.printSummary();
return tester.didPass();
diff --git a/test/asmjit_test_opcode.h b/test/asmjit_test_opcode.h
index d08033b..3768cb1 100644
--- a/test/asmjit_test_opcode.h
+++ b/test/asmjit_test_opcode.h
@@ -3500,18 +3500,6 @@ static void generateOpcodes(asmjit::x86::Emitter* e, bool useRex1 = false, bool
e->vandps(ymmA, ymmB, anyptr_gpC);
e->vandps(zmmA, zmmB, zmmC);
e->vandps(zmmA, zmmB, anyptr_gpC);
- e->vblendmb(xmmA, xmmB, xmmC);
- e->vblendmb(xmmA, xmmB, anyptr_gpC);
- e->vblendmb(ymmA, ymmB, ymmC);
- e->vblendmb(ymmA, ymmB, anyptr_gpC);
- e->vblendmb(zmmA, zmmB, zmmC);
- e->vblendmb(zmmA, zmmB, anyptr_gpC);
- e->vblendmd(xmmA, xmmB, xmmC);
- e->vblendmd(xmmA, xmmB, anyptr_gpC);
- e->vblendmd(ymmA, ymmB, ymmC);
- e->vblendmd(ymmA, ymmB, anyptr_gpC);
- e->vblendmd(zmmA, zmmB, zmmC);
- e->vblendmd(zmmA, zmmB, anyptr_gpC);
e->vblendmpd(xmmA, xmmB, xmmC);
e->vblendmpd(xmmA, xmmB, anyptr_gpC);
e->vblendmpd(ymmA, ymmB, ymmC);
@@ -3524,18 +3512,6 @@ static void generateOpcodes(asmjit::x86::Emitter* e, bool useRex1 = false, bool
e->vblendmps(ymmA, ymmB, anyptr_gpC);
e->vblendmps(zmmA, zmmB, zmmC);
e->vblendmps(zmmA, zmmB, anyptr_gpC);
- e->vblendmq(xmmA, xmmB, xmmC);
- e->vblendmq(xmmA, xmmB, anyptr_gpC);
- e->vblendmq(ymmA, ymmB, ymmC);
- e->vblendmq(ymmA, ymmB, anyptr_gpC);
- e->vblendmq(zmmA, zmmB, zmmC);
- e->vblendmq(zmmA, zmmB, anyptr_gpC);
- e->vblendmw(xmmA, xmmB, xmmC);
- e->vblendmw(xmmA, xmmB, anyptr_gpC);
- e->vblendmw(ymmA, ymmB, ymmC);
- e->vblendmw(ymmA, ymmB, anyptr_gpC);
- e->vblendmw(zmmA, zmmB, zmmC);
- e->vblendmw(zmmA, zmmB, anyptr_gpC);
e->vbroadcastf32x2(ymmA, xmmB);
e->vbroadcastf32x2(ymmA, anyptr_gpB);
e->vbroadcastf32x2(zmmA, xmmB);
@@ -4633,6 +4609,30 @@ static void generateOpcodes(asmjit::x86::Emitter* e, bool useRex1 = false, bool
e->vpavgw(ymmA, ymmB, anyptr_gpC);
e->vpavgw(zmmA, zmmB, zmmC);
e->vpavgw(zmmA, zmmB, anyptr_gpC);
+ e->vpblendmb(xmmA, xmmB, xmmC);
+ e->vpblendmb(xmmA, xmmB, anyptr_gpC);
+ e->vpblendmb(ymmA, ymmB, ymmC);
+ e->vpblendmb(ymmA, ymmB, anyptr_gpC);
+ e->vpblendmb(zmmA, zmmB, zmmC);
+ e->vpblendmb(zmmA, zmmB, anyptr_gpC);
+ e->vpblendmd(xmmA, xmmB, xmmC);
+ e->vpblendmd(xmmA, xmmB, anyptr_gpC);
+ e->vpblendmd(ymmA, ymmB, ymmC);
+ e->vpblendmd(ymmA, ymmB, anyptr_gpC);
+ e->vpblendmd(zmmA, zmmB, zmmC);
+ e->vpblendmd(zmmA, zmmB, anyptr_gpC);
+ e->vpblendmq(xmmA, xmmB, xmmC);
+ e->vpblendmq(xmmA, xmmB, anyptr_gpC);
+ e->vpblendmq(ymmA, ymmB, ymmC);
+ e->vpblendmq(ymmA, ymmB, anyptr_gpC);
+ e->vpblendmq(zmmA, zmmB, zmmC);
+ e->vpblendmq(zmmA, zmmB, anyptr_gpC);
+ e->vpblendmw(xmmA, xmmB, xmmC);
+ e->vpblendmw(xmmA, xmmB, anyptr_gpC);
+ e->vpblendmw(ymmA, ymmB, ymmC);
+ e->vpblendmw(ymmA, ymmB, anyptr_gpC);
+ e->vpblendmw(zmmA, zmmB, zmmC);
+ e->vpblendmw(zmmA, zmmB, anyptr_gpC);
e->vpbroadcastb(xmmA, gdB);
e->vpbroadcastb(xmmA, gzB);
e->vpbroadcastb(xmmA, xmmB);
@@ -4657,12 +4657,12 @@ static void generateOpcodes(asmjit::x86::Emitter* e, bool useRex1 = false, bool
e->vpbroadcastd(zmmA, gzB);
e->vpbroadcastd(zmmA, xmmB);
e->vpbroadcastd(zmmA, anyptr_gpB);
- e->vpbroadcastmb2d(xmmA, kB);
- e->vpbroadcastmb2d(ymmA, kB);
- e->vpbroadcastmb2d(zmmA, kB);
e->vpbroadcastmb2q(xmmA, kB);
e->vpbroadcastmb2q(ymmA, kB);
e->vpbroadcastmb2q(zmmA, kB);
+ e->vpbroadcastmw2d(xmmA, kB);
+ e->vpbroadcastmw2d(ymmA, kB);
+ e->vpbroadcastmw2d(zmmA, kB);
if (isX64) e->vpbroadcastq(xmmA, gzB);
e->vpbroadcastq(xmmA, xmmB);
e->vpbroadcastq(xmmA, anyptr_gpB);
diff --git a/tools/tablegen-x86.js b/tools/tablegen-x86.js
index df5768b..21fc1b6 100644
--- a/tools/tablegen-x86.js
+++ b/tools/tablegen-x86.js
@@ -933,32 +933,18 @@ class OSignature {
const index = asmdb.x86.Utils.regIndexOf(k);
if (index !== null && index !== -1) {
const kind = asmdb.x86.Utils.regKindOf(k);
- if (indexKind !== kind) return false;
+ if (indexKind !== kind)
+ return false;
}
}
}
// Can merge...
- for (k in bf) af[k] = true;
+ for (k in bf)
+ af[k] = true;
return true;
}
- simplify() {
- const flags = this.flags;
-
- // 32-bit register or 16-bit memory implies also 16-bit reg.
- if (flags.r32 && flags.m16) {
- flags.r16 = true;
- }
-
- // 32-bit register or 8-bit memory implies also 16-bit and 8-bit reg.
- if (flags.r32 && flags.m8) {
- flags.r8lo = true;
- flags.r8hi = true;
- flags.r16 = true;
- }
- }
-
toString() {
var s = "";
var flags = this.flags;
@@ -1124,11 +1110,6 @@ class ISignature extends Array {
this.implicit = 0; // Number of implicit operands.
}
- simplify() {
- for (var i = 0; i < this.length; i++)
- this[i].simplify();
- }
-
opEquals(other) {
const len = this.length;
if (len !== other.length) return false;
@@ -1321,21 +1302,21 @@ class SignatureArray extends Array {
}
}
- simplify() {
- for (var i = 0; i < this.length; i++)
- this[i].simplify();
- }
-
compact() {
- for (var i = 0; i < this.length; i++) {
- var row = this[i];
- var j = i + 1;
- while (j < this.length) {
- if (row.mergeWith(this[j])) {
- this.splice(j, 1);
- continue;
+ var didSomething = true;
+ while (didSomething) {
+ didSomething = false;
+ for (var i = 0; i < this.length; i++) {
+ var row = this[i];
+ var j = i + 1;
+ while (j < this.length) {
+ if (row.mergeWith(this[j])) {
+ this.splice(j, 1);
+ didSomething = true;
+ continue;
+ }
+ j++;
}
- j++;
}
}
}
@@ -1530,7 +1511,6 @@ class InstSignatureTable extends core.Task {
if (inst.name === "mov" && mem.startsWith("moff"))
break;
- if (reg === "r8") reg = "r8lo";
if (reg === "seg") reg = "sreg";
if (reg === "st(i)") reg = "st";
if (reg === "st(0)") reg = "st0";
@@ -1571,6 +1551,46 @@ class InstSignatureTable extends core.Task {
const seg = iop.memSeg;
if (seg) {
+ switch (inst.name) {
+ case "cmpsb": op.flags.m8 = true; break;
+ case "cmpsw": op.flags.m16 = true; break;
+ case "cmpsd": op.flags.m32 = true; break;
+ case "cmpsq": op.flags.m64 = true; break;
+ case "lodsb": op.flags.m8 = true; break;
+ case "lodsw": op.flags.m16 = true; break;
+ case "lodsd": op.flags.m32 = true; break;
+ case "lodsq": op.flags.m64 = true; break;
+ case "movsb": op.flags.m8 = true; break;
+ case "movsw": op.flags.m16 = true; break;
+ case "movsd": op.flags.m32 = true; break;
+ case "movsq": op.flags.m64 = true; break;
+ case "scasb": op.flags.m8 = true; break;
+ case "scasw": op.flags.m16 = true; break;
+ case "scasd": op.flags.m32 = true; break;
+ case "scasq": op.flags.m64 = true; break;
+ case "stosb": op.flags.m8 = true; break;
+ case "stosw": op.flags.m16 = true; break;
+ case "stosd": op.flags.m32 = true; break;
+ case "stosq": op.flags.m64 = true; break;
+ case "insb": op.flags.m8 = true; break;
+ case "insw": op.flags.m16 = true; break;
+ case "insd": op.flags.m32 = true; break;
+ case "outsb": op.flags.m8 = true; break;
+ case "outsw": op.flags.m16 = true; break;
+ case "outsd": op.flags.m32 = true; break;
+ case "clzero": op.flags.mem = true; op.flags.m512 = true; break;
+ case "enqcmd": op.flags.mem = true; op.flags.m512 = true; break;
+ case "enqcmds": op.flags.mem = true; op.flags.m512 = true; break;
+ case "movdir64b": op.flags.mem = true; op.flags.m512 = true; break;
+ case "maskmovq": op.flags.mem = true; op.flags.m64 = true; break;
+ case "maskmovdqu": op.flags.mem = true; op.flags.m128 = true; break;
+ case "vmaskmovdqu": op.flags.mem = true; op.flags.m128 = true; break;
+ case "monitor": op.flags.mem = true; break;
+ case "monitorx": op.flags.mem = true; break;
+ case "umonitor": op.flags.mem = true; break;
+ default: console.log(`UNKNOWN MEM IN INSTRUCTION '${inst.name}'`); break;
+ }
+
if (seg === "ds") op.flags.memDS = true;
if (seg === "es") op.flags.memES = true;
if (reg === "reg") { op.flags.memBase = true; }
@@ -1581,13 +1601,26 @@ class InstSignatureTable extends core.Task {
if (reg === "zdi") { op.flags.memBase = true; op.flags.memZDI = true; }
}
else if (reg) {
- op.flags[reg] = true;
- if (reg === "r8lo") op.flags.r8hi = true;
+ if (reg == "r8") {
+ op.flags["r8lo"] = true;
+ op.flags["r8hi"] = true;
+ }
+ else {
+ op.flags[reg] = true;
+ }
}
if (mem) {
op.flags[mem] = true;
- // Exception: Allow LEA to use any memory size.
- if (inst.name === "lea") MapUtils.add(op.flags, MemOp);
+ // HACK: Allow LEA to use any memory size.
+ if (inst.name === "lea") {
+ op.flags.mem = true;
+ Object.assign(op.flags, MemOp);
+ }
+
+ // HACK: These instructions specify explicit memory size, but it's just informational.
+ if (inst.name === "enqcmd" || inst.name === "enqcmds" || inst.name === "movdir64b")
+ op.flags.mem = true;
+
}
if (imm) {
if (iop.immSign === "any" || iop.immSign === "signed" ) op.flags["i" + imm] = true;
@@ -1607,12 +1640,7 @@ class InstSignatureTable extends core.Task {
if (signatures.length && GenUtils.canUseImplicitMemSize(dbInsts[0].name))
signatures.calcImplicitMemSize();
- signatures.simplify();
- signatures.compact();
-
- signatures.simplify();
signatures.compact();
-
return signatures;
}
}
@@ -1745,6 +1773,9 @@ class InstRWInfoTable extends core.Task {
"movabs" : "Movabs",
"movhpd" : "Movh64",
"movhps" : "Movh64",
+ "punpcklbw" : "Punpcklxx",
+ "punpckldq" : "Punpcklxx",
+ "punpcklwd" : "Punpcklxx",
"vmaskmovpd": "Vmaskmov",
"vmaskmovps": "Vmaskmov",
"vmovddup" : "Vmovddup",
@@ -2153,9 +2184,14 @@ class InstRWInfoTable extends core.Task {
if (category === null)
category = c;
else if (category !== c) {
+ // Special cases.
if (dbInst.name === "mov" || dbInst.name === "vmovddup")
- return "None"; // Special case
- return StringUtils.capitalize(dbInst.name); // Special case.
+ return "None";
+
+ if (/^(punpcklbw|punpckldq|punpcklwd)$/.test(dbInst.name))
+ return "None";
+
+ return StringUtils.capitalize(dbInst.name);
}
}