2017-09-11 09:05:49 +08:00
|
|
|
/**
|
|
|
|
* @brief Defines the `ZydisISAExt` datatype.
|
|
|
|
*/
|
2017-09-11 03:43:52 +08:00
|
|
|
typedef uint8_t ZydisISAExt;
|
|
|
|
|
2017-09-11 09:05:49 +08:00
|
|
|
/**
|
|
|
|
* @brief Values that represent `ZydisISAExt` elements.
|
|
|
|
*/
|
2017-09-05 23:35:23 +08:00
|
|
|
enum ZydisISAExts
|
|
|
|
{
|
|
|
|
ZYDIS_ISA_EXT_INVALID,
|
2017-09-14 23:54:22 +08:00
|
|
|
ZYDIS_ISA_EXT_AES,
|
2017-09-05 23:35:23 +08:00
|
|
|
ZYDIS_ISA_EXT_AMD,
|
2017-09-14 23:54:22 +08:00
|
|
|
ZYDIS_ISA_EXT_AMD3DNOW,
|
|
|
|
ZYDIS_ISA_EXT_AVX,
|
|
|
|
ZYDIS_ISA_EXT_AVX2,
|
|
|
|
ZYDIS_ISA_EXT_AVX2GATHER,
|
2017-09-05 23:35:23 +08:00
|
|
|
ZYDIS_ISA_EXT_AVX512BW_128,
|
|
|
|
ZYDIS_ISA_EXT_AVX512BW_128N,
|
|
|
|
ZYDIS_ISA_EXT_AVX512BW_256,
|
|
|
|
ZYDIS_ISA_EXT_AVX512BW_512,
|
|
|
|
ZYDIS_ISA_EXT_AVX512BW_KOP,
|
|
|
|
ZYDIS_ISA_EXT_AVX512CD_128,
|
|
|
|
ZYDIS_ISA_EXT_AVX512CD_256,
|
|
|
|
ZYDIS_ISA_EXT_AVX512CD_512,
|
|
|
|
ZYDIS_ISA_EXT_AVX512DQ_128,
|
|
|
|
ZYDIS_ISA_EXT_AVX512DQ_128N,
|
|
|
|
ZYDIS_ISA_EXT_AVX512DQ_256,
|
|
|
|
ZYDIS_ISA_EXT_AVX512DQ_512,
|
|
|
|
ZYDIS_ISA_EXT_AVX512DQ_KOP,
|
|
|
|
ZYDIS_ISA_EXT_AVX512DQ_SCALAR,
|
|
|
|
ZYDIS_ISA_EXT_AVX512ER_512,
|
|
|
|
ZYDIS_ISA_EXT_AVX512ER_SCALAR,
|
|
|
|
ZYDIS_ISA_EXT_AVX512F_128,
|
|
|
|
ZYDIS_ISA_EXT_AVX512F_128N,
|
|
|
|
ZYDIS_ISA_EXT_AVX512F_256,
|
|
|
|
ZYDIS_ISA_EXT_AVX512F_512,
|
|
|
|
ZYDIS_ISA_EXT_AVX512F_KOP,
|
|
|
|
ZYDIS_ISA_EXT_AVX512F_SCALAR,
|
|
|
|
ZYDIS_ISA_EXT_AVX512PF_512,
|
|
|
|
ZYDIS_ISA_EXT_AVX512_4FMAPS_512,
|
|
|
|
ZYDIS_ISA_EXT_AVX512_4FMAPS_SCALAR,
|
|
|
|
ZYDIS_ISA_EXT_AVX512_4VNNIW_512,
|
|
|
|
ZYDIS_ISA_EXT_AVX512_IFMA_128,
|
|
|
|
ZYDIS_ISA_EXT_AVX512_IFMA_256,
|
|
|
|
ZYDIS_ISA_EXT_AVX512_IFMA_512,
|
|
|
|
ZYDIS_ISA_EXT_AVX512_VBMI_128,
|
|
|
|
ZYDIS_ISA_EXT_AVX512_VBMI_256,
|
|
|
|
ZYDIS_ISA_EXT_AVX512_VBMI_512,
|
|
|
|
ZYDIS_ISA_EXT_AVX512_VPOPCNTDQ_512,
|
2017-09-14 23:54:22 +08:00
|
|
|
ZYDIS_ISA_EXT_AVXAES,
|
|
|
|
ZYDIS_ISA_EXT_BDW,
|
|
|
|
ZYDIS_ISA_EXT_BMI1,
|
|
|
|
ZYDIS_ISA_EXT_BMI2,
|
2017-09-05 23:35:23 +08:00
|
|
|
ZYDIS_ISA_EXT_CET,
|
|
|
|
ZYDIS_ISA_EXT_CLFLUSHOPT,
|
|
|
|
ZYDIS_ISA_EXT_CLFSH,
|
|
|
|
ZYDIS_ISA_EXT_CLWB,
|
2017-09-14 23:54:22 +08:00
|
|
|
ZYDIS_ISA_EXT_CLZERO,
|
2017-09-05 23:35:23 +08:00
|
|
|
ZYDIS_ISA_EXT_CMOV,
|
|
|
|
ZYDIS_ISA_EXT_CMPXCHG16B,
|
2017-09-14 23:54:22 +08:00
|
|
|
ZYDIS_ISA_EXT_F16C,
|
2017-09-05 23:35:23 +08:00
|
|
|
ZYDIS_ISA_EXT_FAT_NOP,
|
|
|
|
ZYDIS_ISA_EXT_FCMOV,
|
2017-09-14 23:54:22 +08:00
|
|
|
ZYDIS_ISA_EXT_FMA,
|
2017-09-05 23:35:23 +08:00
|
|
|
ZYDIS_ISA_EXT_FMA4,
|
|
|
|
ZYDIS_ISA_EXT_FXSAVE,
|
|
|
|
ZYDIS_ISA_EXT_FXSAVE64,
|
|
|
|
ZYDIS_ISA_EXT_I186,
|
|
|
|
ZYDIS_ISA_EXT_I286PROTECTED,
|
|
|
|
ZYDIS_ISA_EXT_I286REAL,
|
|
|
|
ZYDIS_ISA_EXT_I386,
|
|
|
|
ZYDIS_ISA_EXT_I486,
|
|
|
|
ZYDIS_ISA_EXT_I486REAL,
|
|
|
|
ZYDIS_ISA_EXT_I86,
|
|
|
|
ZYDIS_ISA_EXT_INVPCID,
|
|
|
|
ZYDIS_ISA_EXT_KNCE,
|
|
|
|
ZYDIS_ISA_EXT_KNCJKBR,
|
|
|
|
ZYDIS_ISA_EXT_KNCSTREAM,
|
|
|
|
ZYDIS_ISA_EXT_KNCV,
|
|
|
|
ZYDIS_ISA_EXT_KNC_MISC,
|
|
|
|
ZYDIS_ISA_EXT_KNC_PF_HINT,
|
|
|
|
ZYDIS_ISA_EXT_LAHF,
|
|
|
|
ZYDIS_ISA_EXT_LONGMODE,
|
2017-09-14 23:54:22 +08:00
|
|
|
ZYDIS_ISA_EXT_LZCNT,
|
2017-09-05 23:35:23 +08:00
|
|
|
ZYDIS_ISA_EXT_MONITOR,
|
2017-09-14 23:54:22 +08:00
|
|
|
ZYDIS_ISA_EXT_MOVBE,
|
2017-09-05 23:35:23 +08:00
|
|
|
ZYDIS_ISA_EXT_MPX,
|
|
|
|
ZYDIS_ISA_EXT_PAUSE,
|
2017-09-14 23:54:22 +08:00
|
|
|
ZYDIS_ISA_EXT_PCLMULQDQ,
|
2017-09-05 23:35:23 +08:00
|
|
|
ZYDIS_ISA_EXT_PENTIUMMMX,
|
|
|
|
ZYDIS_ISA_EXT_PENTIUMREAL,
|
|
|
|
ZYDIS_ISA_EXT_PKU,
|
|
|
|
ZYDIS_ISA_EXT_POPCNT,
|
|
|
|
ZYDIS_ISA_EXT_PPRO,
|
|
|
|
ZYDIS_ISA_EXT_PREFETCHWT1,
|
|
|
|
ZYDIS_ISA_EXT_PREFETCH_NOP,
|
2017-09-14 23:54:22 +08:00
|
|
|
ZYDIS_ISA_EXT_PT,
|
2017-09-05 23:35:23 +08:00
|
|
|
ZYDIS_ISA_EXT_RDPMC,
|
|
|
|
ZYDIS_ISA_EXT_RDRAND,
|
|
|
|
ZYDIS_ISA_EXT_RDSEED,
|
2017-09-14 23:54:22 +08:00
|
|
|
ZYDIS_ISA_EXT_RDTSCP,
|
|
|
|
ZYDIS_ISA_EXT_RDWRFSGS,
|
|
|
|
ZYDIS_ISA_EXT_RTM,
|
2017-09-05 23:35:23 +08:00
|
|
|
ZYDIS_ISA_EXT_SGX,
|
|
|
|
ZYDIS_ISA_EXT_SHA,
|
2017-09-14 23:54:22 +08:00
|
|
|
ZYDIS_ISA_EXT_SMAP,
|
|
|
|
ZYDIS_ISA_EXT_SMX,
|
2017-09-05 23:35:23 +08:00
|
|
|
ZYDIS_ISA_EXT_SSE,
|
|
|
|
ZYDIS_ISA_EXT_SSE2,
|
|
|
|
ZYDIS_ISA_EXT_SSE2MMX,
|
2017-09-14 23:54:22 +08:00
|
|
|
ZYDIS_ISA_EXT_SSE3,
|
2017-09-05 23:35:23 +08:00
|
|
|
ZYDIS_ISA_EXT_SSE3X87,
|
2017-09-14 23:54:22 +08:00
|
|
|
ZYDIS_ISA_EXT_SSE4,
|
2017-09-05 23:35:23 +08:00
|
|
|
ZYDIS_ISA_EXT_SSE42,
|
|
|
|
ZYDIS_ISA_EXT_SSEMXCSR,
|
|
|
|
ZYDIS_ISA_EXT_SSE_PREFETCH,
|
2017-09-14 23:54:22 +08:00
|
|
|
ZYDIS_ISA_EXT_SSSE3,
|
2017-09-05 23:35:23 +08:00
|
|
|
ZYDIS_ISA_EXT_SSSE3MMX,
|
2017-09-14 23:54:22 +08:00
|
|
|
ZYDIS_ISA_EXT_SVM,
|
2017-09-05 23:35:23 +08:00
|
|
|
ZYDIS_ISA_EXT_TBM,
|
|
|
|
ZYDIS_ISA_EXT_VMFUNC,
|
2017-09-14 23:54:22 +08:00
|
|
|
ZYDIS_ISA_EXT_VTX,
|
|
|
|
ZYDIS_ISA_EXT_X87,
|
|
|
|
ZYDIS_ISA_EXT_XOP,
|
|
|
|
ZYDIS_ISA_EXT_XSAVE,
|
|
|
|
ZYDIS_ISA_EXT_XSAVEC,
|
|
|
|
ZYDIS_ISA_EXT_XSAVEOPT,
|
|
|
|
ZYDIS_ISA_EXT_XSAVES
|
2017-09-05 23:35:23 +08:00
|
|
|
};
|
|
|
|
|
2017-09-14 23:54:22 +08:00
|
|
|
#define ZYDIS_ISA_EXT_MAX_VALUE ZYDIS_ISA_EXT_XSAVES
|
2017-09-05 23:35:23 +08:00
|
|
|
#define ZYDIS_ISA_EXT_MAX_BITS 0x0007
|