mirror of https://github.com/x64dbg/zydis
Improved file-size reduction for builds without `ZYDIS_FEATURE_EVEX`/`ZYDIS_FEATURE_MVEX`
This commit is contained in:
parent
9bd4616f6f
commit
6d690a4893
|
@ -5665,6 +5665,7 @@ const ZydisDecoderTreeNode filtersREXB[][2] =
|
||||||
{ ZYDIS_DEFINITION(0x0, 0x38A), ZYDIS_DEFINITION(0x0, 0x723) }
|
{ ZYDIS_DEFINITION(0x0, 0x38A), ZYDIS_DEFINITION(0x0, 0x723) }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#ifndef ZYDIS_DISABLE_EVEX
|
||||||
const ZydisDecoderTreeNode filtersEVEXB[][2] =
|
const ZydisDecoderTreeNode filtersEVEXB[][2] =
|
||||||
{
|
{
|
||||||
{ ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x0), ZYDIS_INVALID },
|
{ ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x0), ZYDIS_INVALID },
|
||||||
|
@ -6573,7 +6574,9 @@ const ZydisDecoderTreeNode filtersEVEXB[][2] =
|
||||||
{ ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3AE), ZYDIS_INVALID },
|
{ ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3AE), ZYDIS_INVALID },
|
||||||
{ ZYDIS_DEFINITION(0x1, 0x3), ZYDIS_INVALID }
|
{ ZYDIS_DEFINITION(0x1, 0x3), ZYDIS_INVALID }
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ZYDIS_DISABLE_MVEX
|
||||||
const ZydisDecoderTreeNode filtersMVEXE[][2] =
|
const ZydisDecoderTreeNode filtersMVEXE[][2] =
|
||||||
{
|
{
|
||||||
{ ZYDIS_DEFINITION(0x1, 0xC7), ZYDIS_DEFINITION(0x1, 0xC8) },
|
{ ZYDIS_DEFINITION(0x1, 0xC7), ZYDIS_DEFINITION(0x1, 0xC8) },
|
||||||
|
@ -6696,6 +6699,7 @@ const ZydisDecoderTreeNode filtersMVEXE[][2] =
|
||||||
{ ZYDIS_DEFINITION(0xB, 0x2E), ZYDIS_DEFINITION(0xB, 0x2F) },
|
{ ZYDIS_DEFINITION(0xB, 0x2E), ZYDIS_DEFINITION(0xB, 0x2F) },
|
||||||
{ ZYDIS_DEFINITION(0xB, 0x2B), ZYDIS_DEFINITION(0xB, 0x2C) }
|
{ ZYDIS_DEFINITION(0xB, 0x2B), ZYDIS_DEFINITION(0xB, 0x2C) }
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
const ZydisDecoderTreeNode filtersModeAMD[][2] =
|
const ZydisDecoderTreeNode filtersModeAMD[][2] =
|
||||||
{
|
{
|
||||||
|
|
|
@ -3711,6 +3711,7 @@ const ZydisInstructionDefinitionVEX instructionDefinitionsVEX[] =
|
||||||
{ ZYDIS_MNEMONIC_VZEROUPPER, 0, 0x0, 0, 0x4, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_CATEGORY_AVX, ZYDIS_ISA_SET_AVX, ZYDIS_ISA_EXT_AVX, ZYDIS_EXCEPTION_CLASS_AVX8, ZYDIS_FALSE, ZYDIS_VEX_STATIC_BROADCAST_NONE }
|
{ ZYDIS_MNEMONIC_VZEROUPPER, 0, 0x0, 0, 0x4, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_CATEGORY_AVX, ZYDIS_ISA_SET_AVX, ZYDIS_ISA_EXT_AVX, ZYDIS_EXCEPTION_CLASS_AVX8, ZYDIS_FALSE, ZYDIS_VEX_STATIC_BROADCAST_NONE }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#ifndef ZYDIS_DISABLE_EVEX
|
||||||
const ZydisInstructionDefinitionEVEX instructionDefinitionsEVEX[] =
|
const ZydisInstructionDefinitionEVEX instructionDefinitionsEVEX[] =
|
||||||
{
|
{
|
||||||
{ ZYDIS_MNEMONIC_V4FMADDPS, 4, 0x715, 0, 0x4, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_CATEGORY_AVX512_4FMAPS, ZYDIS_ISA_SET_AVX512EVEX, ZYDIS_ISA_EXT_AVX512_4FMAPS_512, ZYDIS_EXCEPTION_CLASS_E2, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_IVECTOR_LENGTH_DEFAULT, ZYDIS_TUPLETYPE_T1_4X, ZYDIS_IELEMENT_SIZE_32, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_EVEX_STATIC_BROADCAST_NONE },
|
{ ZYDIS_MNEMONIC_V4FMADDPS, 4, 0x715, 0, 0x4, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_CATEGORY_AVX512_4FMAPS, ZYDIS_ISA_SET_AVX512EVEX, ZYDIS_ISA_EXT_AVX512_4FMAPS_512, ZYDIS_EXCEPTION_CLASS_E2, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_IVECTOR_LENGTH_DEFAULT, ZYDIS_TUPLETYPE_T1_4X, ZYDIS_IELEMENT_SIZE_32, ZYDIS_EVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_EVEX_STATIC_BROADCAST_NONE },
|
||||||
|
@ -6683,7 +6684,9 @@ const ZydisInstructionDefinitionEVEX instructionDefinitionsEVEX[] =
|
||||||
{ ZYDIS_MNEMONIC_VXORPS, 4, 0x3FD, 0, 0x4, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_CATEGORY_LOGICAL_FP, ZYDIS_ISA_SET_AVX512EVEX, ZYDIS_ISA_EXT_AVX512DQ_256, ZYDIS_EXCEPTION_CLASS_E4, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_IVECTOR_LENGTH_DEFAULT, ZYDIS_TUPLETYPE_FV, ZYDIS_IELEMENT_SIZE_32, ZYDIS_EVEX_FUNC_BC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_EVEX_STATIC_BROADCAST_NONE },
|
{ ZYDIS_MNEMONIC_VXORPS, 4, 0x3FD, 0, 0x4, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_CATEGORY_LOGICAL_FP, ZYDIS_ISA_SET_AVX512EVEX, ZYDIS_ISA_EXT_AVX512DQ_256, ZYDIS_EXCEPTION_CLASS_E4, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_IVECTOR_LENGTH_DEFAULT, ZYDIS_TUPLETYPE_FV, ZYDIS_IELEMENT_SIZE_32, ZYDIS_EVEX_FUNC_BC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_EVEX_STATIC_BROADCAST_NONE },
|
||||||
{ ZYDIS_MNEMONIC_VXORPS, 4, 0x402, 0, 0x4, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_CATEGORY_LOGICAL_FP, ZYDIS_ISA_SET_AVX512EVEX, ZYDIS_ISA_EXT_AVX512DQ_512, ZYDIS_EXCEPTION_CLASS_E4, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_IVECTOR_LENGTH_DEFAULT, ZYDIS_TUPLETYPE_FV, ZYDIS_IELEMENT_SIZE_32, ZYDIS_EVEX_FUNC_BC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_EVEX_STATIC_BROADCAST_NONE }
|
{ ZYDIS_MNEMONIC_VXORPS, 4, 0x402, 0, 0x4, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_CATEGORY_LOGICAL_FP, ZYDIS_ISA_SET_AVX512EVEX, ZYDIS_ISA_EXT_AVX512DQ_512, ZYDIS_EXCEPTION_CLASS_E4, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_IVECTOR_LENGTH_DEFAULT, ZYDIS_TUPLETYPE_FV, ZYDIS_IELEMENT_SIZE_32, ZYDIS_EVEX_FUNC_BC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_EVEX_STATIC_BROADCAST_NONE }
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ZYDIS_DISABLE_MVEX
|
||||||
const ZydisInstructionDefinitionMVEX instructionDefinitionsMVEX[] =
|
const ZydisInstructionDefinitionMVEX instructionDefinitionsMVEX[] =
|
||||||
{
|
{
|
||||||
{ ZYDIS_MNEMONIC_CLEVICT0, 1, 0x1954, 0, 0x4, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_CATEGORY_PREFETCH, ZYDIS_ISA_SET_KNCE, ZYDIS_ISA_EXT_KNCE, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_INVALID, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE },
|
{ ZYDIS_MNEMONIC_CLEVICT0, 1, 0x1954, 0, 0x4, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_CATEGORY_PREFETCH, ZYDIS_ISA_SET_KNCE, ZYDIS_ISA_EXT_KNCE, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_INVALID, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE },
|
||||||
|
@ -7094,3 +7097,4 @@ const ZydisInstructionDefinitionMVEX instructionDefinitionsMVEX[] =
|
||||||
{ ZYDIS_MNEMONIC_VSUBRPS, 4, 0x407, 0, 0x4, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_CATEGORY_KNC, ZYDIS_ISA_SET_KNCE, ZYDIS_ISA_EXT_KNCE, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE },
|
{ ZYDIS_MNEMONIC_VSUBRPS, 4, 0x407, 0, 0x4, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_CATEGORY_KNC, ZYDIS_ISA_SET_KNCE, ZYDIS_ISA_EXT_KNCE, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE },
|
||||||
{ ZYDIS_MNEMONIC_VSUBRPS, 4, 0xA3D, 0, 0x4, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_CATEGORY_KNC, ZYDIS_ISA_SET_KNCE, ZYDIS_ISA_EXT_KNCE, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }
|
{ ZYDIS_MNEMONIC_VSUBRPS, 4, 0xA3D, 0, 0x4, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_CATEGORY_KNC, ZYDIS_ISA_SET_KNCE, ZYDIS_ISA_EXT_KNCE, ZYDIS_EXCEPTION_CLASS_NONE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
|
|
@ -604,6 +604,7 @@ typedef struct ZydisInstructionDefinitionVEX_
|
||||||
ZydisVEXStaticBroadcast broadcast ZYDIS_BITFIELD( 3);
|
ZydisVEXStaticBroadcast broadcast ZYDIS_BITFIELD( 3);
|
||||||
} ZydisInstructionDefinitionVEX;
|
} ZydisInstructionDefinitionVEX;
|
||||||
|
|
||||||
|
#ifndef ZYDIS_DISABLE_EVEX
|
||||||
typedef struct ZydisInstructionDefinitionEVEX_
|
typedef struct ZydisInstructionDefinitionEVEX_
|
||||||
{
|
{
|
||||||
ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR_EX;
|
ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR_EX;
|
||||||
|
@ -616,7 +617,9 @@ typedef struct ZydisInstructionDefinitionEVEX_
|
||||||
ZydisBool isControlMask ZYDIS_BITFIELD( 1);
|
ZydisBool isControlMask ZYDIS_BITFIELD( 1);
|
||||||
ZydisEVEXStaticBroadcast broadcast ZYDIS_BITFIELD( 4);
|
ZydisEVEXStaticBroadcast broadcast ZYDIS_BITFIELD( 4);
|
||||||
} ZydisInstructionDefinitionEVEX;
|
} ZydisInstructionDefinitionEVEX;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ZYDIS_DISABLE_MVEX
|
||||||
typedef struct ZydisInstructionDefinitionMVEX_
|
typedef struct ZydisInstructionDefinitionMVEX_
|
||||||
{
|
{
|
||||||
ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR_EX;
|
ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR_EX;
|
||||||
|
@ -625,6 +628,7 @@ typedef struct ZydisInstructionDefinitionMVEX_
|
||||||
ZydisBool hasElementGranularity ZYDIS_BITFIELD( 1);
|
ZydisBool hasElementGranularity ZYDIS_BITFIELD( 1);
|
||||||
ZydisMVEXStaticBroadcast broadcast ZYDIS_BITFIELD( 3);
|
ZydisMVEXStaticBroadcast broadcast ZYDIS_BITFIELD( 3);
|
||||||
} ZydisInstructionDefinitionMVEX;
|
} ZydisInstructionDefinitionMVEX;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* ---------------------------------------------------------------------------------------------- */
|
/* ---------------------------------------------------------------------------------------------- */
|
||||||
/* Accessed CPU flags */
|
/* Accessed CPU flags */
|
||||||
|
|
Loading…
Reference in New Issue