2017-09-11 09:05:49 +08:00
|
|
|
/**
|
|
|
|
* @brief Defines the `ZydisISAExt` datatype.
|
|
|
|
*/
|
2017-11-25 08:35:22 +08:00
|
|
|
typedef ZydisU8 ZydisISAExt;
|
2017-09-11 03:43:52 +08:00
|
|
|
|
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-11-08 05:18:51 +08:00
|
|
|
ZYDIS_ISA_EXT_ADOX_ADCX,
|
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,
|
2017-10-19 07:10:25 +08:00
|
|
|
ZYDIS_ISA_EXT_AVX512_BITALG_128,
|
|
|
|
ZYDIS_ISA_EXT_AVX512_BITALG_256,
|
|
|
|
ZYDIS_ISA_EXT_AVX512_BITALG_512,
|
|
|
|
ZYDIS_ISA_EXT_AVX512_GFNI_128,
|
|
|
|
ZYDIS_ISA_EXT_AVX512_GFNI_256,
|
|
|
|
ZYDIS_ISA_EXT_AVX512_GFNI_512,
|
2017-09-05 23:35:23 +08:00
|
|
|
ZYDIS_ISA_EXT_AVX512_IFMA_128,
|
|
|
|
ZYDIS_ISA_EXT_AVX512_IFMA_256,
|
|
|
|
ZYDIS_ISA_EXT_AVX512_IFMA_512,
|
2017-10-19 07:10:25 +08:00
|
|
|
ZYDIS_ISA_EXT_AVX512_VAES_128,
|
|
|
|
ZYDIS_ISA_EXT_AVX512_VAES_256,
|
|
|
|
ZYDIS_ISA_EXT_AVX512_VAES_512,
|
|
|
|
ZYDIS_ISA_EXT_AVX512_VBMI2_128,
|
|
|
|
ZYDIS_ISA_EXT_AVX512_VBMI2_256,
|
|
|
|
ZYDIS_ISA_EXT_AVX512_VBMI2_512,
|
2017-09-05 23:35:23 +08:00
|
|
|
ZYDIS_ISA_EXT_AVX512_VBMI_128,
|
|
|
|
ZYDIS_ISA_EXT_AVX512_VBMI_256,
|
|
|
|
ZYDIS_ISA_EXT_AVX512_VBMI_512,
|
2017-10-19 07:10:25 +08:00
|
|
|
ZYDIS_ISA_EXT_AVX512_VNNI_128,
|
|
|
|
ZYDIS_ISA_EXT_AVX512_VNNI_256,
|
|
|
|
ZYDIS_ISA_EXT_AVX512_VNNI_512,
|
|
|
|
ZYDIS_ISA_EXT_AVX512_VPCLMULQDQ_128,
|
|
|
|
ZYDIS_ISA_EXT_AVX512_VPCLMULQDQ_256,
|
|
|
|
ZYDIS_ISA_EXT_AVX512_VPCLMULQDQ_512,
|
2018-01-11 06:04:57 +08:00
|
|
|
ZYDIS_ISA_EXT_AVX512_VPOPCNTDQ_128,
|
|
|
|
ZYDIS_ISA_EXT_AVX512_VPOPCNTDQ_256,
|
2017-09-05 23:35:23 +08:00
|
|
|
ZYDIS_ISA_EXT_AVX512_VPOPCNTDQ_512,
|
2017-09-14 23:54:22 +08:00
|
|
|
ZYDIS_ISA_EXT_AVXAES,
|
2018-01-11 09:17:17 +08:00
|
|
|
ZYDIS_ISA_EXT_AVX_GFNI,
|
2017-09-14 23:54:22 +08:00
|
|
|
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,
|
2017-10-19 07:10:25 +08:00
|
|
|
ZYDIS_ISA_EXT_GFNI,
|
2017-09-05 23:35:23 +08:00
|
|
|
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,
|
2018-02-20 01:59:33 +08:00
|
|
|
ZYDIS_ISA_EXT_MONITORX,
|
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-12-21 06:36:59 +08:00
|
|
|
ZYDIS_ISA_EXT_PCONFIG,
|
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-10-19 07:10:25 +08:00
|
|
|
ZYDIS_ISA_EXT_RDPID,
|
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,
|
2018-02-20 01:59:33 +08:00
|
|
|
ZYDIS_ISA_EXT_SGX_ENCLV,
|
2017-09-05 23:35:23 +08:00
|
|
|
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,
|
2018-01-11 09:17:17 +08:00
|
|
|
ZYDIS_ISA_EXT_SSE4A,
|
2017-09-05 23:35:23 +08:00
|
|
|
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,
|
2017-10-19 07:10:25 +08:00
|
|
|
ZYDIS_ISA_EXT_VAES,
|
2017-09-05 23:35:23 +08:00
|
|
|
ZYDIS_ISA_EXT_VMFUNC,
|
2017-10-19 07:10:25 +08:00
|
|
|
ZYDIS_ISA_EXT_VPCLMULQDQ,
|
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,
|
2017-12-04 01:36:43 +08:00
|
|
|
ZYDIS_ISA_EXT_XSAVES,
|
2018-02-25 04:04:23 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Maximum value of this enum.
|
|
|
|
*/
|
2017-12-04 01:36:43 +08:00
|
|
|
ZYDIS_ISA_EXT_MAX_VALUE = ZYDIS_ISA_EXT_XSAVES,
|
2018-02-25 04:04:23 +08:00
|
|
|
/**
|
|
|
|
* @brief Minimum amount of bits required to store a value of this enum.
|
|
|
|
*/
|
2017-12-04 01:36:43 +08:00
|
|
|
ZYDIS_ISA_EXT_MIN_BITS = 0x0008
|
2017-09-05 23:35:23 +08:00
|
|
|
};
|