mirror of https://github.com/x64dbg/zydis
Added T1_4X tuple-type
This commit is contained in:
parent
f20dc484cd
commit
2d2e1acf27
|
@ -785,7 +785,11 @@ enum ZydisTupleTypes
|
||||||
/**
|
/**
|
||||||
* @brief MOVDDUP
|
* @brief MOVDDUP
|
||||||
*/
|
*/
|
||||||
ZYDIS_TUPLETYPE_DUP
|
ZYDIS_TUPLETYPE_DUP,
|
||||||
|
/**
|
||||||
|
* @brief Tuple1 4x32
|
||||||
|
*/
|
||||||
|
ZYDIS_TUPLETYPE_T1_4X
|
||||||
};
|
};
|
||||||
|
|
||||||
/* ---------------------------------------------------------------------------------------------- */
|
/* ---------------------------------------------------------------------------------------------- */
|
||||||
|
|
|
@ -3720,10 +3720,10 @@ const ZydisInstructionDefinitionVEX instructionDefinitionsVEX[] =
|
||||||
|
|
||||||
const ZydisInstructionDefinitionEVEX instructionDefinitionsEVEX[] =
|
const ZydisInstructionDefinitionEVEX instructionDefinitionsEVEX[] =
|
||||||
{
|
{
|
||||||
/*0000*/ { ZYDIS_MNEMONIC_V4FMADDPS, 4, 0x0567, 0x00, ZYDIS_TUPLETYPE_INVALID, 32, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*0000*/ { ZYDIS_MNEMONIC_V4FMADDPS, 4, 0x0567, 0x00, ZYDIS_TUPLETYPE_T1_4X, 32, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*0001*/ { ZYDIS_MNEMONIC_V4FMADDSS, 4, 0x056B, 0x00, ZYDIS_TUPLETYPE_INVALID, 32, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*0001*/ { ZYDIS_MNEMONIC_V4FMADDSS, 4, 0x056B, 0x00, ZYDIS_TUPLETYPE_T1_4X, 32, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*0002*/ { ZYDIS_MNEMONIC_V4FNMADDPS, 4, 0x0567, 0x00, ZYDIS_TUPLETYPE_INVALID, 32, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*0002*/ { ZYDIS_MNEMONIC_V4FNMADDPS, 4, 0x0567, 0x00, ZYDIS_TUPLETYPE_T1_4X, 32, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*0003*/ { ZYDIS_MNEMONIC_V4FNMADDSS, 4, 0x056B, 0x00, ZYDIS_TUPLETYPE_INVALID, 32, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*0003*/ { ZYDIS_MNEMONIC_V4FNMADDSS, 4, 0x056B, 0x00, ZYDIS_TUPLETYPE_T1_4X, 32, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*0004*/ { ZYDIS_MNEMONIC_VADDPD, 4, 0x018E, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*0004*/ { ZYDIS_MNEMONIC_VADDPD, 4, 0x018E, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*0005*/ { ZYDIS_MNEMONIC_VADDPD, 4, 0x0364, 0x00, ZYDIS_TUPLETYPE_FV, 64, ZYDIS_EVEX_FUNC_BC, ZYDIS_MASK_POLICY_ALLOWED },
|
/*0005*/ { ZYDIS_MNEMONIC_VADDPD, 4, 0x0364, 0x00, ZYDIS_TUPLETYPE_FV, 64, ZYDIS_EVEX_FUNC_BC, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*0006*/ { ZYDIS_MNEMONIC_VADDPD, 4, 0x0369, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*0006*/ { ZYDIS_MNEMONIC_VADDPD, 4, 0x0369, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
|
@ -4900,10 +4900,10 @@ const ZydisInstructionDefinitionEVEX instructionDefinitionsEVEX[] =
|
||||||
/*0499*/ { ZYDIS_MNEMONIC_VORPS, 4, 0x0387, 0x00, ZYDIS_TUPLETYPE_FV, 32, ZYDIS_EVEX_FUNC_BC, ZYDIS_MASK_POLICY_ALLOWED },
|
/*0499*/ { ZYDIS_MNEMONIC_VORPS, 4, 0x0387, 0x00, ZYDIS_TUPLETYPE_FV, 32, ZYDIS_EVEX_FUNC_BC, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*049A*/ { ZYDIS_MNEMONIC_VORPS, 4, 0x038C, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*049A*/ { ZYDIS_MNEMONIC_VORPS, 4, 0x038C, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*049B*/ { ZYDIS_MNEMONIC_VORPS, 4, 0x0391, 0x00, ZYDIS_TUPLETYPE_FV, 32, ZYDIS_EVEX_FUNC_BC, ZYDIS_MASK_POLICY_ALLOWED },
|
/*049B*/ { ZYDIS_MNEMONIC_VORPS, 4, 0x0391, 0x00, ZYDIS_TUPLETYPE_FV, 32, ZYDIS_EVEX_FUNC_BC, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*049C*/ { ZYDIS_MNEMONIC_VP4DPWSSD, 4, 0x0657, 0x00, ZYDIS_TUPLETYPE_INVALID, 32, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*049C*/ { ZYDIS_MNEMONIC_VP4DPWSSD, 4, 0x0657, 0x00, ZYDIS_TUPLETYPE_T1_4X, 32, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*049D*/ { ZYDIS_MNEMONIC_VP4DPWSSD, 4, 0x065B, 0x00, ZYDIS_TUPLETYPE_INVALID, 32, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*049D*/ { ZYDIS_MNEMONIC_VP4DPWSSD, 4, 0x065B, 0x00, ZYDIS_TUPLETYPE_T1_4X, 32, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*049E*/ { ZYDIS_MNEMONIC_VP4DPWSSDS, 4, 0x0657, 0x00, ZYDIS_TUPLETYPE_INVALID, 32, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*049E*/ { ZYDIS_MNEMONIC_VP4DPWSSDS, 4, 0x0657, 0x00, ZYDIS_TUPLETYPE_T1_4X, 32, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*049F*/ { ZYDIS_MNEMONIC_VP4DPWSSDS, 4, 0x065B, 0x00, ZYDIS_TUPLETYPE_INVALID, 32, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*049F*/ { ZYDIS_MNEMONIC_VP4DPWSSDS, 4, 0x065B, 0x00, ZYDIS_TUPLETYPE_T1_4X, 32, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*04A0*/ { ZYDIS_MNEMONIC_VPABSB, 3, 0x0F1B, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*04A0*/ { ZYDIS_MNEMONIC_VPABSB, 3, 0x0F1B, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*04A1*/ { ZYDIS_MNEMONIC_VPABSB, 3, 0x0F1E, 0x00, ZYDIS_TUPLETYPE_FVM, 8, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*04A1*/ { ZYDIS_MNEMONIC_VPABSB, 3, 0x0F1E, 0x00, ZYDIS_TUPLETYPE_FVM, 8, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*04A2*/ { ZYDIS_MNEMONIC_VPABSB, 3, 0x0F21, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*04A2*/ { ZYDIS_MNEMONIC_VPABSB, 3, 0x0F21, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
|
@ -5067,11 +5067,11 @@ const ZydisInstructionDefinitionEVEX instructionDefinitionsEVEX[] =
|
||||||
/*0540*/ { ZYDIS_MNEMONIC_VPBLENDMW, 4, 0x06FF, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*0540*/ { ZYDIS_MNEMONIC_VPBLENDMW, 4, 0x06FF, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*0541*/ { ZYDIS_MNEMONIC_VPBLENDMW, 4, 0x0703, 0x00, ZYDIS_TUPLETYPE_FVM, 16, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*0541*/ { ZYDIS_MNEMONIC_VPBLENDMW, 4, 0x0703, 0x00, ZYDIS_TUPLETYPE_FVM, 16, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*0542*/ { ZYDIS_MNEMONIC_VPBROADCASTB, 3, 0x0EF1, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*0542*/ { ZYDIS_MNEMONIC_VPBROADCASTB, 3, 0x0EF1, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*0543*/ { ZYDIS_MNEMONIC_VPBROADCASTB, 3, 0x0F63, 0x00, ZYDIS_TUPLETYPE_INVALID, 8, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*0543*/ { ZYDIS_MNEMONIC_VPBROADCASTB, 3, 0x0F63, 0x00, ZYDIS_TUPLETYPE_T1S, 8, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*0544*/ { ZYDIS_MNEMONIC_VPBROADCASTB, 3, 0x0F66, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*0544*/ { ZYDIS_MNEMONIC_VPBROADCASTB, 3, 0x0F66, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*0545*/ { ZYDIS_MNEMONIC_VPBROADCASTB, 3, 0x0F69, 0x00, ZYDIS_TUPLETYPE_INVALID, 8, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*0545*/ { ZYDIS_MNEMONIC_VPBROADCASTB, 3, 0x0F69, 0x00, ZYDIS_TUPLETYPE_T1S, 8, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*0546*/ { ZYDIS_MNEMONIC_VPBROADCASTB, 3, 0x0F6C, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*0546*/ { ZYDIS_MNEMONIC_VPBROADCASTB, 3, 0x0F6C, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*0547*/ { ZYDIS_MNEMONIC_VPBROADCASTB, 3, 0x0F6F, 0x00, ZYDIS_TUPLETYPE_INVALID, 8, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*0547*/ { ZYDIS_MNEMONIC_VPBROADCASTB, 3, 0x0F6F, 0x00, ZYDIS_TUPLETYPE_T1S, 8, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*0548*/ { ZYDIS_MNEMONIC_VPBROADCASTB, 3, 0x0F72, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*0548*/ { ZYDIS_MNEMONIC_VPBROADCASTB, 3, 0x0F72, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*0549*/ { ZYDIS_MNEMONIC_VPBROADCASTB, 3, 0x0F75, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*0549*/ { ZYDIS_MNEMONIC_VPBROADCASTB, 3, 0x0F75, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*054A*/ { ZYDIS_MNEMONIC_VPBROADCASTB, 3, 0x0F78, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*054A*/ { ZYDIS_MNEMONIC_VPBROADCASTB, 3, 0x0F78, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
|
@ -5100,11 +5100,11 @@ const ZydisInstructionDefinitionEVEX instructionDefinitionsEVEX[] =
|
||||||
/*0561*/ { ZYDIS_MNEMONIC_VPBROADCASTQ, 3, 0x0F9F, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*0561*/ { ZYDIS_MNEMONIC_VPBROADCASTQ, 3, 0x0F9F, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*0562*/ { ZYDIS_MNEMONIC_VPBROADCASTQ, 3, 0x0FA2, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*0562*/ { ZYDIS_MNEMONIC_VPBROADCASTQ, 3, 0x0FA2, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*0563*/ { ZYDIS_MNEMONIC_VPBROADCASTW, 3, 0x081F, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*0563*/ { ZYDIS_MNEMONIC_VPBROADCASTW, 3, 0x081F, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*0564*/ { ZYDIS_MNEMONIC_VPBROADCASTW, 3, 0x0FA5, 0x00, ZYDIS_TUPLETYPE_INVALID, 16, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*0564*/ { ZYDIS_MNEMONIC_VPBROADCASTW, 3, 0x0FA5, 0x00, ZYDIS_TUPLETYPE_T1S, 16, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*0565*/ { ZYDIS_MNEMONIC_VPBROADCASTW, 3, 0x0FA8, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*0565*/ { ZYDIS_MNEMONIC_VPBROADCASTW, 3, 0x0FA8, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*0566*/ { ZYDIS_MNEMONIC_VPBROADCASTW, 3, 0x0FAB, 0x00, ZYDIS_TUPLETYPE_INVALID, 16, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*0566*/ { ZYDIS_MNEMONIC_VPBROADCASTW, 3, 0x0FAB, 0x00, ZYDIS_TUPLETYPE_T1S, 16, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*0567*/ { ZYDIS_MNEMONIC_VPBROADCASTW, 3, 0x0FAE, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*0567*/ { ZYDIS_MNEMONIC_VPBROADCASTW, 3, 0x0FAE, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*0568*/ { ZYDIS_MNEMONIC_VPBROADCASTW, 3, 0x0FB1, 0x00, ZYDIS_TUPLETYPE_INVALID, 16, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*0568*/ { ZYDIS_MNEMONIC_VPBROADCASTW, 3, 0x0FB1, 0x00, ZYDIS_TUPLETYPE_T1S, 16, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*0569*/ { ZYDIS_MNEMONIC_VPBROADCASTW, 3, 0x0FB4, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*0569*/ { ZYDIS_MNEMONIC_VPBROADCASTW, 3, 0x0FB4, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*056A*/ { ZYDIS_MNEMONIC_VPBROADCASTW, 3, 0x0FB7, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*056A*/ { ZYDIS_MNEMONIC_VPBROADCASTW, 3, 0x0FB7, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
/*056B*/ { ZYDIS_MNEMONIC_VPBROADCASTW, 3, 0x0FBA, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
/*056B*/ { ZYDIS_MNEMONIC_VPBROADCASTW, 3, 0x0FBA, 0x00, ZYDIS_TUPLETYPE_INVALID, 0, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED },
|
||||||
|
|
|
@ -66,6 +66,9 @@ typedef struct ZydisDecoderContext_
|
||||||
* general has precedence over 0x66.
|
* general has precedence over 0x66.
|
||||||
*/
|
*/
|
||||||
uint8_t mandatoryCandidate;
|
uint8_t mandatoryCandidate;
|
||||||
|
|
||||||
|
uint8_t prefixes[ZYDIS_MAX_INSTRUCTION_LENGTH];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Contains the effective operand-size index.
|
* @brief Contains the effective operand-size index.
|
||||||
*
|
*
|
||||||
|
@ -764,6 +767,7 @@ static ZydisStatus ZydisCollectOptionalPrefixes(ZydisDecoderContext* context,
|
||||||
}
|
}
|
||||||
if (!done)
|
if (!done)
|
||||||
{
|
{
|
||||||
|
context->prefixes[info->details.prefixes.count] = prefixByte;
|
||||||
info->details.prefixes.data[info->details.prefixes.count++] = prefixByte;
|
info->details.prefixes.data[info->details.prefixes.count++] = prefixByte;
|
||||||
ZydisInputSkip(context, info);
|
ZydisInputSkip(context, info);
|
||||||
}
|
}
|
||||||
|
@ -2378,6 +2382,11 @@ static void ZydisSetAVXInformation(ZydisDecoderContext* context,
|
||||||
ZYDIS_UNREACHABLE;
|
ZYDIS_UNREACHABLE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case ZYDIS_TUPLETYPE_T1_4X:
|
||||||
|
ZYDIS_ASSERT(info->avx.elementSize == 32);
|
||||||
|
ZYDIS_ASSERT(context->cache.W == 0);
|
||||||
|
info->avx.compressedDisp8Scale = 16;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
ZYDIS_UNREACHABLE;
|
ZYDIS_UNREACHABLE;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue