x86: omit Cpu prefixes from opcode table

These enumerators can be used in only one specific field, and hence the
Cpu prefix isn't needed ther for disambiguation / name space separation.
This commit is contained in:
Jan Beulich
2022-12-19 09:22:33 +01:00
parent 2a517ca94d
commit 4fdeb2a379
2 changed files with 2180 additions and 2162 deletions

View File

@ -46,435 +46,435 @@ typedef struct initializer
static initializer cpu_flag_init[] = static initializer cpu_flag_init[] =
{ {
{ "CPU_UNKNOWN_FLAGS", { "CPU_UNKNOWN_FLAGS",
"~CpuIAMCU" }, "~IAMCU" },
{ "CPU_GENERIC32_FLAGS", { "CPU_GENERIC32_FLAGS",
"Cpu186|Cpu286|Cpu386" }, "186|286|386" },
{ "CPU_GENERIC64_FLAGS", { "CPU_GENERIC64_FLAGS",
"CPU_PENTIUMPRO_FLAGS|CpuClflush|CpuSYSCALL|CPU_MMX_FLAGS|CPU_SSE2_FLAGS|CpuLM" }, "CPU_PENTIUMPRO_FLAGS|Clflush|SYSCALL|CPU_MMX_FLAGS|CPU_SSE2_FLAGS|LM" },
{ "CPU_NONE_FLAGS", { "CPU_NONE_FLAGS",
"0" }, "0" },
{ "CPU_I186_FLAGS", { "CPU_I186_FLAGS",
"Cpu186" }, "186" },
{ "CPU_I286_FLAGS", { "CPU_I286_FLAGS",
"CPU_I186_FLAGS|Cpu286" }, "CPU_I186_FLAGS|286" },
{ "CPU_I386_FLAGS", { "CPU_I386_FLAGS",
"CPU_I286_FLAGS|Cpu386" }, "CPU_I286_FLAGS|386" },
{ "CPU_I486_FLAGS", { "CPU_I486_FLAGS",
"CPU_I386_FLAGS|Cpu486" }, "CPU_I386_FLAGS|486" },
{ "CPU_I586_FLAGS", { "CPU_I586_FLAGS",
"CPU_I486_FLAGS|Cpu387|Cpu586" }, "CPU_I486_FLAGS|387|586" },
{ "CPU_I686_FLAGS", { "CPU_I686_FLAGS",
"CPU_I586_FLAGS|Cpu686|Cpu687|CpuCMOV|CpuFXSR" }, "CPU_I586_FLAGS|686|687|CMOV|FXSR" },
{ "CPU_PENTIUMPRO_FLAGS", { "CPU_PENTIUMPRO_FLAGS",
"CPU_I686_FLAGS|CpuNop" }, "CPU_I686_FLAGS|Nop" },
{ "CPU_P2_FLAGS", { "CPU_P2_FLAGS",
"CPU_PENTIUMPRO_FLAGS|CPU_MMX_FLAGS" }, "CPU_PENTIUMPRO_FLAGS|CPU_MMX_FLAGS" },
{ "CPU_P3_FLAGS", { "CPU_P3_FLAGS",
"CPU_P2_FLAGS|CPU_SSE_FLAGS" }, "CPU_P2_FLAGS|CPU_SSE_FLAGS" },
{ "CPU_P4_FLAGS", { "CPU_P4_FLAGS",
"CPU_P3_FLAGS|CpuClflush|CPU_SSE2_FLAGS" }, "CPU_P3_FLAGS|Clflush|CPU_SSE2_FLAGS" },
{ "CPU_NOCONA_FLAGS", { "CPU_NOCONA_FLAGS",
"CPU_GENERIC64_FLAGS|CpuFISTTP|CPU_SSE3_FLAGS|CpuCX16" }, "CPU_GENERIC64_FLAGS|FISTTP|CPU_SSE3_FLAGS|CX16" },
{ "CPU_CORE_FLAGS", { "CPU_CORE_FLAGS",
"CPU_P4_FLAGS|CpuFISTTP|CPU_SSE3_FLAGS|CpuCX16" }, "CPU_P4_FLAGS|FISTTP|CPU_SSE3_FLAGS|CX16" },
{ "CPU_CORE2_FLAGS", { "CPU_CORE2_FLAGS",
"CPU_NOCONA_FLAGS|CPU_SSSE3_FLAGS" }, "CPU_NOCONA_FLAGS|CPU_SSSE3_FLAGS" },
{ "CPU_COREI7_FLAGS", { "CPU_COREI7_FLAGS",
"CPU_CORE2_FLAGS|CPU_SSE4_2_FLAGS|CpuRdtscp" }, "CPU_CORE2_FLAGS|CPU_SSE4_2_FLAGS|Rdtscp" },
{ "CPU_K6_FLAGS", { "CPU_K6_FLAGS",
"Cpu186|Cpu286|Cpu386|Cpu486|Cpu586|CpuSYSCALL|Cpu387|CPU_MMX_FLAGS" }, "186|286|386|486|586|SYSCALL|387|CPU_MMX_FLAGS" },
{ "CPU_K6_2_FLAGS", { "CPU_K6_2_FLAGS",
"CPU_K6_FLAGS|Cpu3dnow" }, "CPU_K6_FLAGS|3dnow" },
{ "CPU_ATHLON_FLAGS", { "CPU_ATHLON_FLAGS",
"CPU_K6_2_FLAGS|Cpu686|Cpu687|CpuNop|Cpu3dnowA" }, "CPU_K6_2_FLAGS|686|687|Nop|3dnowA" },
{ "CPU_K8_FLAGS", { "CPU_K8_FLAGS",
"CPU_ATHLON_FLAGS|CpuRdtscp|CPU_SSE2_FLAGS|CpuLM" }, "CPU_ATHLON_FLAGS|Rdtscp|CPU_SSE2_FLAGS|LM" },
{ "CPU_AMDFAM10_FLAGS", { "CPU_AMDFAM10_FLAGS",
"CPU_K8_FLAGS|CpuFISTTP|CPU_SSE4A_FLAGS|CpuLZCNT|CpuPOPCNT" }, "CPU_K8_FLAGS|FISTTP|CPU_SSE4A_FLAGS|LZCNT|POPCNT" },
{ "CPU_BDVER1_FLAGS", { "CPU_BDVER1_FLAGS",
"CPU_GENERIC64_FLAGS|CpuFISTTP|CpuRdtscp|CpuCX16|CPU_XOP_FLAGS|CpuLZCNT|CpuPOPCNT|CpuLWP|CpuSVME|CpuAES|CpuPCLMUL|CpuPRFCHW" }, "CPU_GENERIC64_FLAGS|FISTTP|Rdtscp|CX16|CPU_XOP_FLAGS|LZCNT|POPCNT|LWP|SVME|AES|PCLMUL|PRFCHW" },
{ "CPU_BDVER2_FLAGS", { "CPU_BDVER2_FLAGS",
"CPU_BDVER1_FLAGS|CpuFMA|CpuBMI|CpuTBM|CpuF16C" }, "CPU_BDVER1_FLAGS|FMA|BMI|TBM|F16C" },
{ "CPU_BDVER3_FLAGS", { "CPU_BDVER3_FLAGS",
"CPU_BDVER2_FLAGS|CpuXsaveopt|CpuFSGSBase" }, "CPU_BDVER2_FLAGS|Xsaveopt|FSGSBase" },
{ "CPU_BDVER4_FLAGS", { "CPU_BDVER4_FLAGS",
"CPU_BDVER3_FLAGS|CpuAVX2|CpuMovbe|CpuBMI2|CpuRdRnd|CpuMWAITX" }, "CPU_BDVER3_FLAGS|AVX2|Movbe|BMI2|RdRnd|MWAITX" },
{ "CPU_ZNVER1_FLAGS", { "CPU_ZNVER1_FLAGS",
"CPU_GENERIC64_FLAGS|CpuFISTTP|CpuRdtscp|CpuCX16|CPU_AVX2_FLAGS|CpuSSE4A|CpuLZCNT|CpuPOPCNT|CpuSVME|CpuAES|CpuPCLMUL|CpuPRFCHW|CpuFMA|CpuBMI|CpuF16C|CpuXsaveopt|CpuFSGSBase|CpuMovbe|CpuBMI2|CpuRdRnd|CpuADX|CpuRdSeed|CpuSMAP|CpuSHA|CpuXSAVEC|CpuXSAVES|CpuClflushOpt|CpuCLZERO|CpuMWAITX" }, "CPU_GENERIC64_FLAGS|FISTTP|Rdtscp|CX16|CPU_AVX2_FLAGS|SSE4A|LZCNT|POPCNT|SVME|AES|PCLMUL|PRFCHW|FMA|BMI|F16C|Xsaveopt|FSGSBase|Movbe|BMI2|RdRnd|ADX|RdSeed|SMAP|SHA|XSAVEC|XSAVES|ClflushOpt|CLZERO|MWAITX" },
{ "CPU_ZNVER2_FLAGS", { "CPU_ZNVER2_FLAGS",
"CPU_ZNVER1_FLAGS|CpuCLWB|CpuRDPID|CpuRDPRU|CpuMCOMMIT|CpuWBNOINVD" }, "CPU_ZNVER1_FLAGS|CLWB|RDPID|RDPRU|MCOMMIT|WBNOINVD" },
{ "CPU_ZNVER3_FLAGS", { "CPU_ZNVER3_FLAGS",
"CPU_ZNVER2_FLAGS|CpuINVLPGB|CpuTLBSYNC|CpuVAES|CpuVPCLMULQDQ|CpuINVPCID|CpuSNP|CpuOSPKE" }, "CPU_ZNVER2_FLAGS|INVLPGB|TLBSYNC|VAES|VPCLMULQDQ|INVPCID|SNP|OSPKE" },
{ "CPU_ZNVER4_FLAGS", { "CPU_ZNVER4_FLAGS",
"CPU_ZNVER3_FLAGS|CpuAVX512F|CpuAVX512DQ|CpuAVX512IFMA|CpuAVX512CD|CpuAVX512BW|CpuAVX512VL|CpuAVX512_BF16|CpuAVX512VBMI|CpuAVX512_VBMI2|CpuAVX512_VNNI|CpuAVX512_BITALG|CpuAVX512_VPOPCNTDQ|CpuGFNI|CpuRMPQUERY" }, "CPU_ZNVER3_FLAGS|AVX512F|AVX512DQ|AVX512IFMA|AVX512CD|AVX512BW|AVX512VL|AVX512_BF16|AVX512VBMI|AVX512_VBMI2|AVX512_VNNI|AVX512_BITALG|AVX512_VPOPCNTDQ|GFNI|RMPQUERY" },
{ "CPU_BTVER1_FLAGS", { "CPU_BTVER1_FLAGS",
"CPU_GENERIC64_FLAGS|CpuFISTTP|CpuCX16|CpuRdtscp|CPU_SSSE3_FLAGS|CpuSSE4A|CpuLZCNT|CpuPOPCNT|CpuPRFCHW|CpuCX16|CpuClflush|CpuFISTTP|CpuSVME" }, "CPU_GENERIC64_FLAGS|FISTTP|CX16|Rdtscp|CPU_SSSE3_FLAGS|SSE4A|LZCNT|POPCNT|PRFCHW|CX16|Clflush|FISTTP|SVME" },
{ "CPU_BTVER2_FLAGS", { "CPU_BTVER2_FLAGS",
"CPU_BTVER1_FLAGS|CPU_AVX_FLAGS|CpuBMI|CpuF16C|CpuAES|CpuPCLMUL|CpuMovbe|CpuXsaveopt|CpuPRFCHW" }, "CPU_BTVER1_FLAGS|CPU_AVX_FLAGS|BMI|F16C|AES|PCLMUL|Movbe|Xsaveopt|PRFCHW" },
{ "CPU_8087_FLAGS", { "CPU_8087_FLAGS",
"Cpu8087" }, "8087" },
{ "CPU_287_FLAGS", { "CPU_287_FLAGS",
"Cpu287" }, "287" },
{ "CPU_387_FLAGS", { "CPU_387_FLAGS",
"Cpu387" }, "387" },
{ "CPU_687_FLAGS", { "CPU_687_FLAGS",
"CPU_387_FLAGS|Cpu687" }, "CPU_387_FLAGS|687" },
{ "CPU_CMOV_FLAGS", { "CPU_CMOV_FLAGS",
"CpuCMOV" }, "CMOV" },
{ "CPU_FXSR_FLAGS", { "CPU_FXSR_FLAGS",
"CpuFXSR" }, "FXSR" },
{ "CPU_CLFLUSH_FLAGS", { "CPU_CLFLUSH_FLAGS",
"CpuClflush" }, "Clflush" },
{ "CPU_NOP_FLAGS", { "CPU_NOP_FLAGS",
"CpuNop" }, "Nop" },
{ "CPU_SYSCALL_FLAGS", { "CPU_SYSCALL_FLAGS",
"CpuSYSCALL" }, "SYSCALL" },
{ "CPU_MMX_FLAGS", { "CPU_MMX_FLAGS",
"CpuMMX" }, "MMX" },
{ "CPU_SSE_FLAGS", { "CPU_SSE_FLAGS",
"CpuSSE" }, "SSE" },
{ "CPU_SSE2_FLAGS", { "CPU_SSE2_FLAGS",
"CPU_SSE_FLAGS|CpuSSE2" }, "CPU_SSE_FLAGS|SSE2" },
{ "CPU_SSE3_FLAGS", { "CPU_SSE3_FLAGS",
"CPU_SSE2_FLAGS|CpuSSE3" }, "CPU_SSE2_FLAGS|SSE3" },
{ "CPU_SSSE3_FLAGS", { "CPU_SSSE3_FLAGS",
"CPU_SSE3_FLAGS|CpuSSSE3" }, "CPU_SSE3_FLAGS|SSSE3" },
{ "CPU_SSE4_1_FLAGS", { "CPU_SSE4_1_FLAGS",
"CPU_SSSE3_FLAGS|CpuSSE4_1" }, "CPU_SSSE3_FLAGS|SSE4_1" },
{ "CPU_SSE4_2_FLAGS", { "CPU_SSE4_2_FLAGS",
"CPU_SSE4_1_FLAGS|CpuSSE4_2|CpuPOPCNT" }, "CPU_SSE4_1_FLAGS|SSE4_2|POPCNT" },
{ "CPU_VMX_FLAGS", { "CPU_VMX_FLAGS",
"CpuVMX" }, "VMX" },
{ "CPU_SMX_FLAGS", { "CPU_SMX_FLAGS",
"CpuSMX" }, "SMX" },
{ "CPU_XSAVE_FLAGS", { "CPU_XSAVE_FLAGS",
"CpuXsave" }, "Xsave" },
{ "CPU_XSAVEOPT_FLAGS", { "CPU_XSAVEOPT_FLAGS",
"CPU_XSAVE_FLAGS|CpuXsaveopt" }, "CPU_XSAVE_FLAGS|Xsaveopt" },
{ "CPU_AES_FLAGS", { "CPU_AES_FLAGS",
"CPU_SSE2_FLAGS|CpuAES" }, "CPU_SSE2_FLAGS|AES" },
{ "CPU_PCLMUL_FLAGS", { "CPU_PCLMUL_FLAGS",
"CPU_SSE2_FLAGS|CpuPCLMUL" }, "CPU_SSE2_FLAGS|PCLMUL" },
{ "CPU_FMA_FLAGS", { "CPU_FMA_FLAGS",
"CPU_AVX_FLAGS|CpuFMA" }, "CPU_AVX_FLAGS|FMA" },
{ "CPU_FMA4_FLAGS", { "CPU_FMA4_FLAGS",
"CPU_AVX_FLAGS|CpuFMA4" }, "CPU_AVX_FLAGS|FMA4" },
{ "CPU_XOP_FLAGS", { "CPU_XOP_FLAGS",
"CPU_SSE4A_FLAGS|CPU_FMA4_FLAGS|CpuXOP" }, "CPU_SSE4A_FLAGS|CPU_FMA4_FLAGS|XOP" },
{ "CPU_LWP_FLAGS", { "CPU_LWP_FLAGS",
"CPU_XSAVE_FLAGS|CpuLWP" }, "CPU_XSAVE_FLAGS|LWP" },
{ "CPU_BMI_FLAGS", { "CPU_BMI_FLAGS",
"CpuBMI" }, "BMI" },
{ "CPU_TBM_FLAGS", { "CPU_TBM_FLAGS",
"CpuTBM" }, "TBM" },
{ "CPU_MOVBE_FLAGS", { "CPU_MOVBE_FLAGS",
"CpuMovbe" }, "Movbe" },
{ "CPU_CX16_FLAGS", { "CPU_CX16_FLAGS",
"CpuCX16" }, "CX16" },
{ "CPU_RDTSCP_FLAGS", { "CPU_RDTSCP_FLAGS",
"CpuRdtscp" }, "Rdtscp" },
{ "CPU_EPT_FLAGS", { "CPU_EPT_FLAGS",
"CpuEPT" }, "EPT" },
{ "CPU_FSGSBASE_FLAGS", { "CPU_FSGSBASE_FLAGS",
"CpuFSGSBase" }, "FSGSBase" },
{ "CPU_RDRND_FLAGS", { "CPU_RDRND_FLAGS",
"CpuRdRnd" }, "RdRnd" },
{ "CPU_F16C_FLAGS", { "CPU_F16C_FLAGS",
"CPU_AVX_FLAGS|CpuF16C" }, "CPU_AVX_FLAGS|F16C" },
{ "CPU_BMI2_FLAGS", { "CPU_BMI2_FLAGS",
"CpuBMI2" }, "BMI2" },
{ "CPU_LZCNT_FLAGS", { "CPU_LZCNT_FLAGS",
"CpuLZCNT" }, "LZCNT" },
{ "CPU_POPCNT_FLAGS", { "CPU_POPCNT_FLAGS",
"CpuPOPCNT" }, "POPCNT" },
{ "CPU_HLE_FLAGS", { "CPU_HLE_FLAGS",
"CpuHLE" }, "HLE" },
{ "CPU_RTM_FLAGS", { "CPU_RTM_FLAGS",
"CpuRTM" }, "RTM" },
{ "CPU_INVPCID_FLAGS", { "CPU_INVPCID_FLAGS",
"CpuINVPCID" }, "INVPCID" },
{ "CPU_VMFUNC_FLAGS", { "CPU_VMFUNC_FLAGS",
"CpuVMFUNC" }, "VMFUNC" },
{ "CPU_3DNOW_FLAGS", { "CPU_3DNOW_FLAGS",
"CPU_MMX_FLAGS|Cpu3dnow" }, "CPU_MMX_FLAGS|3dnow" },
{ "CPU_3DNOWA_FLAGS", { "CPU_3DNOWA_FLAGS",
"CPU_3DNOW_FLAGS|Cpu3dnowA" }, "CPU_3DNOW_FLAGS|3dnowA" },
{ "CPU_PADLOCK_FLAGS", { "CPU_PADLOCK_FLAGS",
"CpuPadLock" }, "PadLock" },
{ "CPU_SVME_FLAGS", { "CPU_SVME_FLAGS",
"CpuSVME" }, "SVME" },
{ "CPU_SSE4A_FLAGS", { "CPU_SSE4A_FLAGS",
"CPU_SSE3_FLAGS|CpuSSE4a" }, "CPU_SSE3_FLAGS|SSE4a" },
{ "CPU_ABM_FLAGS", { "CPU_ABM_FLAGS",
"CpuLZCNT|CpuPOPCNT" }, "LZCNT|POPCNT" },
{ "CPU_AVX_FLAGS", { "CPU_AVX_FLAGS",
"CPU_SSE4_2_FLAGS|CPU_XSAVE_FLAGS|CpuAVX" }, "CPU_SSE4_2_FLAGS|CPU_XSAVE_FLAGS|AVX" },
{ "CPU_AVX2_FLAGS", { "CPU_AVX2_FLAGS",
"CPU_AVX_FLAGS|CpuAVX2" }, "CPU_AVX_FLAGS|AVX2" },
{ "CPU_AVX_VNNI_FLAGS", { "CPU_AVX_VNNI_FLAGS",
"CPU_AVX2_FLAGS|CpuAVX_VNNI" }, "CPU_AVX2_FLAGS|AVX_VNNI" },
{ "CPU_AVX512F_FLAGS", { "CPU_AVX512F_FLAGS",
"CPU_AVX2_FLAGS|CpuAVX512F" }, "CPU_AVX2_FLAGS|AVX512F" },
{ "CPU_AVX512CD_FLAGS", { "CPU_AVX512CD_FLAGS",
"CPU_AVX512F_FLAGS|CpuAVX512CD" }, "CPU_AVX512F_FLAGS|AVX512CD" },
{ "CPU_AVX512ER_FLAGS", { "CPU_AVX512ER_FLAGS",
"CPU_AVX512F_FLAGS|CpuAVX512ER" }, "CPU_AVX512F_FLAGS|AVX512ER" },
{ "CPU_AVX512PF_FLAGS", { "CPU_AVX512PF_FLAGS",
"CPU_AVX512F_FLAGS|CpuAVX512PF" }, "CPU_AVX512F_FLAGS|AVX512PF" },
{ "CPU_AVX512DQ_FLAGS", { "CPU_AVX512DQ_FLAGS",
"CPU_AVX512F_FLAGS|CpuAVX512DQ" }, "CPU_AVX512F_FLAGS|AVX512DQ" },
{ "CPU_AVX512BW_FLAGS", { "CPU_AVX512BW_FLAGS",
"CPU_AVX512F_FLAGS|CpuAVX512BW" }, "CPU_AVX512F_FLAGS|AVX512BW" },
{ "CPU_AVX512VL_FLAGS", { "CPU_AVX512VL_FLAGS",
"CPU_AVX512F_FLAGS|CpuAVX512VL" }, "CPU_AVX512F_FLAGS|AVX512VL" },
{ "CPU_AVX512IFMA_FLAGS", { "CPU_AVX512IFMA_FLAGS",
"CPU_AVX512F_FLAGS|CpuAVX512IFMA" }, "CPU_AVX512F_FLAGS|AVX512IFMA" },
{ "CPU_AVX512VBMI_FLAGS", { "CPU_AVX512VBMI_FLAGS",
"CPU_AVX512F_FLAGS|CpuAVX512VBMI" }, "CPU_AVX512F_FLAGS|AVX512VBMI" },
{ "CPU_AVX512_4FMAPS_FLAGS", { "CPU_AVX512_4FMAPS_FLAGS",
"CPU_AVX512F_FLAGS|CpuAVX512_4FMAPS" }, "CPU_AVX512F_FLAGS|AVX512_4FMAPS" },
{ "CPU_AVX512_4VNNIW_FLAGS", { "CPU_AVX512_4VNNIW_FLAGS",
"CPU_AVX512F_FLAGS|CpuAVX512_4VNNIW" }, "CPU_AVX512F_FLAGS|AVX512_4VNNIW" },
{ "CPU_AVX512_VPOPCNTDQ_FLAGS", { "CPU_AVX512_VPOPCNTDQ_FLAGS",
"CPU_AVX512F_FLAGS|CpuAVX512_VPOPCNTDQ" }, "CPU_AVX512F_FLAGS|AVX512_VPOPCNTDQ" },
{ "CPU_AVX512_VBMI2_FLAGS", { "CPU_AVX512_VBMI2_FLAGS",
"CPU_AVX512F_FLAGS|CpuAVX512_VBMI2" }, "CPU_AVX512F_FLAGS|AVX512_VBMI2" },
{ "CPU_AVX512_VNNI_FLAGS", { "CPU_AVX512_VNNI_FLAGS",
"CPU_AVX512F_FLAGS|CpuAVX512_VNNI" }, "CPU_AVX512F_FLAGS|AVX512_VNNI" },
{ "CPU_AVX512_BITALG_FLAGS", { "CPU_AVX512_BITALG_FLAGS",
"CPU_AVX512F_FLAGS|CpuAVX512_BITALG" }, "CPU_AVX512F_FLAGS|AVX512_BITALG" },
{ "CPU_AVX512_BF16_FLAGS", { "CPU_AVX512_BF16_FLAGS",
"CPU_AVX512F_FLAGS|CpuAVX512_BF16" }, "CPU_AVX512F_FLAGS|AVX512_BF16" },
{ "CPU_AVX512_FP16_FLAGS", { "CPU_AVX512_FP16_FLAGS",
"CPU_AVX512BW_FLAGS|CpuAVX512_FP16" }, "CPU_AVX512BW_FLAGS|AVX512_FP16" },
{ "CPU_PREFETCHI_FLAGS", { "CPU_PREFETCHI_FLAGS",
"CpuPREFETCHI"}, "PREFETCHI"},
{ "CPU_AVX_IFMA_FLAGS", { "CPU_AVX_IFMA_FLAGS",
"CPU_AVX2_FLAGS|CpuAVX_IFMA" }, "CPU_AVX2_FLAGS|AVX_IFMA" },
{ "CPU_AVX_VNNI_INT8_FLAGS", { "CPU_AVX_VNNI_INT8_FLAGS",
"CPU_AVX2_FLAGS|CpuAVX_VNNI_INT8" }, "CPU_AVX2_FLAGS|AVX_VNNI_INT8" },
{ "CPU_CMPCCXADD_FLAGS", { "CPU_CMPCCXADD_FLAGS",
"CpuCMPCCXADD" }, "CMPCCXADD" },
{ "CPU_WRMSRNS_FLAGS", { "CPU_WRMSRNS_FLAGS",
"CpuWRMSRNS" }, "WRMSRNS" },
{ "CPU_MSRLIST_FLAGS", { "CPU_MSRLIST_FLAGS",
"CpuMSRLIST" }, "MSRLIST" },
{ "CPU_AVX_NE_CONVERT_FLAGS", { "CPU_AVX_NE_CONVERT_FLAGS",
"CPU_AVX2_FLAGS|CpuAVX_NE_CONVERT" }, "CPU_AVX2_FLAGS|AVX_NE_CONVERT" },
{ "CPU_RAO_INT_FLAGS", { "CPU_RAO_INT_FLAGS",
"CpuRAO_INT" }, "RAO_INT" },
{ "CPU_IAMCU_FLAGS", { "CPU_IAMCU_FLAGS",
"Cpu186|Cpu286|Cpu386|Cpu486|Cpu586|CpuIAMCU" }, "186|286|386|486|586|IAMCU" },
{ "CPU_ADX_FLAGS", { "CPU_ADX_FLAGS",
"CpuADX" }, "ADX" },
{ "CPU_RDSEED_FLAGS", { "CPU_RDSEED_FLAGS",
"CpuRdSeed" }, "RdSeed" },
{ "CPU_PRFCHW_FLAGS", { "CPU_PRFCHW_FLAGS",
"CpuPRFCHW" }, "PRFCHW" },
{ "CPU_SMAP_FLAGS", { "CPU_SMAP_FLAGS",
"CpuSMAP" }, "SMAP" },
{ "CPU_MPX_FLAGS", { "CPU_MPX_FLAGS",
"CPU_XSAVE_FLAGS|CpuMPX" }, "CPU_XSAVE_FLAGS|MPX" },
{ "CPU_SHA_FLAGS", { "CPU_SHA_FLAGS",
"CPU_SSE2_FLAGS|CpuSHA" }, "CPU_SSE2_FLAGS|SHA" },
{ "CPU_CLFLUSHOPT_FLAGS", { "CPU_CLFLUSHOPT_FLAGS",
"CpuClflushOpt" }, "ClflushOpt" },
{ "CPU_XSAVES_FLAGS", { "CPU_XSAVES_FLAGS",
"CPU_XSAVE_FLAGS|CpuXSAVES" }, "CPU_XSAVE_FLAGS|XSAVES" },
{ "CPU_XSAVEC_FLAGS", { "CPU_XSAVEC_FLAGS",
"CPU_XSAVE_FLAGS|CpuXSAVEC" }, "CPU_XSAVE_FLAGS|XSAVEC" },
{ "CPU_PREFETCHWT1_FLAGS", { "CPU_PREFETCHWT1_FLAGS",
"CpuPREFETCHWT1" }, "PREFETCHWT1" },
{ "CPU_SE1_FLAGS", { "CPU_SE1_FLAGS",
"CpuSE1" }, "SE1" },
{ "CPU_CLWB_FLAGS", { "CPU_CLWB_FLAGS",
"CpuCLWB" }, "CLWB" },
{ "CPU_CLZERO_FLAGS", { "CPU_CLZERO_FLAGS",
"CpuCLZERO" }, "CLZERO" },
{ "CPU_MWAITX_FLAGS", { "CPU_MWAITX_FLAGS",
"CpuMWAITX" }, "MWAITX" },
{ "CPU_OSPKE_FLAGS", { "CPU_OSPKE_FLAGS",
"CPU_XSAVE_FLAGS|CpuOSPKE" }, "CPU_XSAVE_FLAGS|OSPKE" },
{ "CPU_RDPID_FLAGS", { "CPU_RDPID_FLAGS",
"CpuRDPID" }, "RDPID" },
{ "CPU_PTWRITE_FLAGS", { "CPU_PTWRITE_FLAGS",
"CpuPTWRITE" }, "PTWRITE" },
{ "CPU_IBT_FLAGS", { "CPU_IBT_FLAGS",
"CpuIBT" }, "IBT" },
{ "CPU_SHSTK_FLAGS", { "CPU_SHSTK_FLAGS",
"CpuSHSTK" }, "SHSTK" },
{ "CPU_GFNI_FLAGS", { "CPU_GFNI_FLAGS",
"CpuGFNI" }, "GFNI" },
{ "CPU_VAES_FLAGS", { "CPU_VAES_FLAGS",
"CpuVAES" }, "VAES" },
{ "CPU_VPCLMULQDQ_FLAGS", { "CPU_VPCLMULQDQ_FLAGS",
"CpuVPCLMULQDQ" }, "VPCLMULQDQ" },
{ "CPU_WBNOINVD_FLAGS", { "CPU_WBNOINVD_FLAGS",
"CpuWBNOINVD" }, "WBNOINVD" },
{ "CPU_PCONFIG_FLAGS", { "CPU_PCONFIG_FLAGS",
"CpuPCONFIG" }, "PCONFIG" },
{ "CPU_WAITPKG_FLAGS", { "CPU_WAITPKG_FLAGS",
"CpuWAITPKG" }, "WAITPKG" },
{ "CPU_UINTR_FLAGS", { "CPU_UINTR_FLAGS",
"CpuUINTR" }, "UINTR" },
{ "CPU_CLDEMOTE_FLAGS", { "CPU_CLDEMOTE_FLAGS",
"CpuCLDEMOTE" }, "CLDEMOTE" },
{ "CPU_AMX_INT8_FLAGS", { "CPU_AMX_INT8_FLAGS",
"CPU_AMX_TILE_FLAGS|CpuAMX_INT8" }, "CPU_AMX_TILE_FLAGS|AMX_INT8" },
{ "CPU_AMX_BF16_FLAGS", { "CPU_AMX_BF16_FLAGS",
"CPU_AMX_TILE_FLAGS|CpuAMX_BF16" }, "CPU_AMX_TILE_FLAGS|AMX_BF16" },
{ "CPU_AMX_FP16_FLAGS", { "CPU_AMX_FP16_FLAGS",
"CPU_AMX_TILE_FLAGS|CpuAMX_FP16" }, "CPU_AMX_TILE_FLAGS|AMX_FP16" },
{ "CPU_AMX_TILE_FLAGS", { "CPU_AMX_TILE_FLAGS",
"CpuAMX_TILE" }, "AMX_TILE" },
{ "CPU_MOVDIRI_FLAGS", { "CPU_MOVDIRI_FLAGS",
"CpuMOVDIRI" }, "MOVDIRI" },
{ "CPU_MOVDIR64B_FLAGS", { "CPU_MOVDIR64B_FLAGS",
"CpuMOVDIR64B" }, "MOVDIR64B" },
{ "CPU_ENQCMD_FLAGS", { "CPU_ENQCMD_FLAGS",
"CpuENQCMD" }, "ENQCMD" },
{ "CPU_SERIALIZE_FLAGS", { "CPU_SERIALIZE_FLAGS",
"CpuSERIALIZE" }, "SERIALIZE" },
{ "CPU_AVX512_VP2INTERSECT_FLAGS", { "CPU_AVX512_VP2INTERSECT_FLAGS",
"CpuAVX512_VP2INTERSECT" }, "AVX512_VP2INTERSECT" },
{ "CPU_TDX_FLAGS", { "CPU_TDX_FLAGS",
"CpuTDX" }, "TDX" },
{ "CPU_RDPRU_FLAGS", { "CPU_RDPRU_FLAGS",
"CpuRDPRU" }, "RDPRU" },
{ "CPU_MCOMMIT_FLAGS", { "CPU_MCOMMIT_FLAGS",
"CpuMCOMMIT" }, "MCOMMIT" },
{ "CPU_SEV_ES_FLAGS", { "CPU_SEV_ES_FLAGS",
"CpuSEV_ES" }, "SEV_ES" },
{ "CPU_TSXLDTRK_FLAGS", { "CPU_TSXLDTRK_FLAGS",
"CpuTSXLDTRK"}, "TSXLDTRK"},
{ "CPU_KL_FLAGS", { "CPU_KL_FLAGS",
"CpuKL" }, "KL" },
{ "CPU_WIDEKL_FLAGS", { "CPU_WIDEKL_FLAGS",
"CpuWideKL" }, "WideKL" },
{ "CPU_HRESET_FLAGS", { "CPU_HRESET_FLAGS",
"CpuHRESET"}, "HRESET"},
{ "CPU_INVLPGB_FLAGS", { "CPU_INVLPGB_FLAGS",
"CpuINVLPGB" }, "INVLPGB" },
{ "CPU_TLBSYNC_FLAGS", { "CPU_TLBSYNC_FLAGS",
"CpuTLBSYNC" }, "TLBSYNC" },
{ "CPU_SNP_FLAGS", { "CPU_SNP_FLAGS",
"CpuSNP" }, "SNP" },
{ "CPU_RMPQUERY_FLAGS", { "CPU_RMPQUERY_FLAGS",
"CpuRMPQUERY" }, "RMPQUERY" },
{ "CPU_ANY_X87_FLAGS", { "CPU_ANY_X87_FLAGS",
"CPU_ANY_287_FLAGS|Cpu8087" }, "CPU_ANY_287_FLAGS|8087" },
{ "CPU_ANY_287_FLAGS", { "CPU_ANY_287_FLAGS",
"CPU_ANY_387_FLAGS|Cpu287" }, "CPU_ANY_387_FLAGS|287" },
{ "CPU_ANY_387_FLAGS", { "CPU_ANY_387_FLAGS",
"CPU_ANY_687_FLAGS|Cpu387" }, "CPU_ANY_687_FLAGS|387" },
{ "CPU_ANY_687_FLAGS", { "CPU_ANY_687_FLAGS",
"Cpu687|CpuFISTTP" }, "687|FISTTP" },
{ "CPU_ANY_CMOV_FLAGS", { "CPU_ANY_CMOV_FLAGS",
"CpuCMOV" }, "CMOV" },
{ "CPU_ANY_FXSR_FLAGS", { "CPU_ANY_FXSR_FLAGS",
"CpuFXSR" }, "FXSR" },
{ "CPU_ANY_MMX_FLAGS", { "CPU_ANY_MMX_FLAGS",
"CPU_3DNOWA_FLAGS" }, "CPU_3DNOWA_FLAGS" },
{ "CPU_ANY_SSE_FLAGS", { "CPU_ANY_SSE_FLAGS",
"CPU_ANY_SSE2_FLAGS|CpuSSE" }, "CPU_ANY_SSE2_FLAGS|SSE" },
{ "CPU_ANY_SSE2_FLAGS", { "CPU_ANY_SSE2_FLAGS",
"CPU_ANY_SSE3_FLAGS|CpuSSE2" }, "CPU_ANY_SSE3_FLAGS|SSE2" },
{ "CPU_ANY_SSE3_FLAGS", { "CPU_ANY_SSE3_FLAGS",
"CPU_ANY_SSSE3_FLAGS|CpuSSE3|CpuSSE4a" }, "CPU_ANY_SSSE3_FLAGS|SSE3|SSE4a" },
{ "CPU_ANY_SSSE3_FLAGS", { "CPU_ANY_SSSE3_FLAGS",
"CPU_ANY_SSE4_1_FLAGS|CpuSSSE3" }, "CPU_ANY_SSE4_1_FLAGS|SSSE3" },
{ "CPU_ANY_SSE4_1_FLAGS", { "CPU_ANY_SSE4_1_FLAGS",
"CPU_ANY_SSE4_2_FLAGS|CpuSSE4_1" }, "CPU_ANY_SSE4_2_FLAGS|SSE4_1" },
{ "CPU_ANY_SSE4_2_FLAGS", { "CPU_ANY_SSE4_2_FLAGS",
"CpuSSE4_2" }, "SSE4_2" },
{ "CPU_ANY_SSE4A_FLAGS", { "CPU_ANY_SSE4A_FLAGS",
"CpuSSE4a" }, "SSE4a" },
{ "CPU_ANY_AVX_FLAGS", { "CPU_ANY_AVX_FLAGS",
"CPU_ANY_AVX2_FLAGS|CpuF16C|CpuFMA|CpuFMA4|CpuXOP|CpuAVX" }, "CPU_ANY_AVX2_FLAGS|F16C|FMA|FMA4|XOP|AVX" },
{ "CPU_ANY_AVX2_FLAGS", { "CPU_ANY_AVX2_FLAGS",
"CPU_ANY_AVX512F_FLAGS|CpuAVX2|CpuAVX_VNNI|CpuAVX_IFMA|CpuAVX_VNNI_INT8|CpuAVX_NE_CONVERT" }, "CPU_ANY_AVX512F_FLAGS|AVX2|AVX_VNNI|AVX_IFMA|AVX_VNNI_INT8|AVX_NE_CONVERT" },
{ "CPU_ANY_AVX512F_FLAGS", { "CPU_ANY_AVX512F_FLAGS",
"CpuAVX512F|CpuAVX512CD|CpuAVX512ER|CpuAVX512PF|CpuAVX512DQ|CPU_ANY_AVX512BW_FLAGS|CpuAVX512VL|CpuAVX512IFMA|CpuAVX512VBMI|CpuAVX512_4FMAPS|CpuAVX512_4VNNIW|CpuAVX512_VPOPCNTDQ|CpuAVX512_VBMI2|CpuAVX512_VNNI|CpuAVX512_BITALG|CpuAVX512_BF16|CpuAVX512_VP2INTERSECT" }, "AVX512F|AVX512CD|AVX512ER|AVX512PF|AVX512DQ|CPU_ANY_AVX512BW_FLAGS|AVX512VL|AVX512IFMA|AVX512VBMI|AVX512_4FMAPS|AVX512_4VNNIW|AVX512_VPOPCNTDQ|AVX512_VBMI2|AVX512_VNNI|AVX512_BITALG|AVX512_BF16|AVX512_VP2INTERSECT" },
{ "CPU_ANY_AVX512CD_FLAGS", { "CPU_ANY_AVX512CD_FLAGS",
"CpuAVX512CD" }, "AVX512CD" },
{ "CPU_ANY_AVX512ER_FLAGS", { "CPU_ANY_AVX512ER_FLAGS",
"CpuAVX512ER" }, "AVX512ER" },
{ "CPU_ANY_AVX512PF_FLAGS", { "CPU_ANY_AVX512PF_FLAGS",
"CpuAVX512PF" }, "AVX512PF" },
{ "CPU_ANY_AVX512DQ_FLAGS", { "CPU_ANY_AVX512DQ_FLAGS",
"CpuAVX512DQ" }, "AVX512DQ" },
{ "CPU_ANY_AVX512BW_FLAGS", { "CPU_ANY_AVX512BW_FLAGS",
"CpuAVX512BW|CPU_ANY_AVX512_FP16_FLAGS" }, "AVX512BW|CPU_ANY_AVX512_FP16_FLAGS" },
{ "CPU_ANY_AVX512VL_FLAGS", { "CPU_ANY_AVX512VL_FLAGS",
"CpuAVX512VL" }, "AVX512VL" },
{ "CPU_ANY_AVX512IFMA_FLAGS", { "CPU_ANY_AVX512IFMA_FLAGS",
"CpuAVX512IFMA" }, "AVX512IFMA" },
{ "CPU_ANY_AVX512VBMI_FLAGS", { "CPU_ANY_AVX512VBMI_FLAGS",
"CpuAVX512VBMI" }, "AVX512VBMI" },
{ "CPU_ANY_AVX512_4FMAPS_FLAGS", { "CPU_ANY_AVX512_4FMAPS_FLAGS",
"CpuAVX512_4FMAPS" }, "AVX512_4FMAPS" },
{ "CPU_ANY_AVX512_4VNNIW_FLAGS", { "CPU_ANY_AVX512_4VNNIW_FLAGS",
"CpuAVX512_4VNNIW" }, "AVX512_4VNNIW" },
{ "CPU_ANY_AVX512_VPOPCNTDQ_FLAGS", { "CPU_ANY_AVX512_VPOPCNTDQ_FLAGS",
"CpuAVX512_VPOPCNTDQ" }, "AVX512_VPOPCNTDQ" },
{ "CPU_ANY_IBT_FLAGS", { "CPU_ANY_IBT_FLAGS",
"CpuIBT" }, "IBT" },
{ "CPU_ANY_SHSTK_FLAGS", { "CPU_ANY_SHSTK_FLAGS",
"CpuSHSTK" }, "SHSTK" },
{ "CPU_ANY_AVX512_VBMI2_FLAGS", { "CPU_ANY_AVX512_VBMI2_FLAGS",
"CpuAVX512_VBMI2" }, "AVX512_VBMI2" },
{ "CPU_ANY_AVX512_VNNI_FLAGS", { "CPU_ANY_AVX512_VNNI_FLAGS",
"CpuAVX512_VNNI" }, "AVX512_VNNI" },
{ "CPU_ANY_AVX512_BITALG_FLAGS", { "CPU_ANY_AVX512_BITALG_FLAGS",
"CpuAVX512_BITALG" }, "AVX512_BITALG" },
{ "CPU_ANY_AVX512_BF16_FLAGS", { "CPU_ANY_AVX512_BF16_FLAGS",
"CpuAVX512_BF16" }, "AVX512_BF16" },
{ "CPU_ANY_AMX_INT8_FLAGS", { "CPU_ANY_AMX_INT8_FLAGS",
"CpuAMX_INT8" }, "AMX_INT8" },
{ "CPU_ANY_AMX_BF16_FLAGS", { "CPU_ANY_AMX_BF16_FLAGS",
"CpuAMX_BF16" }, "AMX_BF16" },
{ "CPU_ANY_AMX_TILE_FLAGS", { "CPU_ANY_AMX_TILE_FLAGS",
"CpuAMX_TILE|CpuAMX_INT8|CpuAMX_BF16|CpuAMX_FP16" }, "AMX_TILE|AMX_INT8|AMX_BF16|AMX_FP16" },
{ "CPU_ANY_AVX_VNNI_FLAGS", { "CPU_ANY_AVX_VNNI_FLAGS",
"CpuAVX_VNNI" }, "AVX_VNNI" },
{ "CPU_ANY_MOVDIRI_FLAGS", { "CPU_ANY_MOVDIRI_FLAGS",
"CpuMOVDIRI" }, "MOVDIRI" },
{ "CPU_ANY_UINTR_FLAGS", { "CPU_ANY_UINTR_FLAGS",
"CpuUINTR" }, "UINTR" },
{ "CPU_ANY_MOVDIR64B_FLAGS", { "CPU_ANY_MOVDIR64B_FLAGS",
"CpuMOVDIR64B" }, "MOVDIR64B" },
{ "CPU_ANY_ENQCMD_FLAGS", { "CPU_ANY_ENQCMD_FLAGS",
"CpuENQCMD" }, "ENQCMD" },
{ "CPU_ANY_SERIALIZE_FLAGS", { "CPU_ANY_SERIALIZE_FLAGS",
"CpuSERIALIZE" }, "SERIALIZE" },
{ "CPU_ANY_AVX512_VP2INTERSECT_FLAGS", { "CPU_ANY_AVX512_VP2INTERSECT_FLAGS",
"CpuAVX512_VP2INTERSECT" }, "AVX512_VP2INTERSECT" },
{ "CPU_ANY_TDX_FLAGS", { "CPU_ANY_TDX_FLAGS",
"CpuTDX" }, "TDX" },
{ "CPU_ANY_TSXLDTRK_FLAGS", { "CPU_ANY_TSXLDTRK_FLAGS",
"CpuTSXLDTRK" }, "TSXLDTRK" },
{ "CPU_ANY_KL_FLAGS", { "CPU_ANY_KL_FLAGS",
"CpuKL|CpuWideKL" }, "KL|WideKL" },
{ "CPU_ANY_WIDEKL_FLAGS", { "CPU_ANY_WIDEKL_FLAGS",
"CpuWideKL" }, "WideKL" },
{ "CPU_ANY_HRESET_FLAGS", { "CPU_ANY_HRESET_FLAGS",
"CpuHRESET" }, "HRESET" },
{ "CPU_ANY_AVX512_FP16_FLAGS", { "CPU_ANY_AVX512_FP16_FLAGS",
"CpuAVX512_FP16" }, "AVX512_FP16" },
{ "CPU_ANY_AVX_IFMA_FLAGS", { "CPU_ANY_AVX_IFMA_FLAGS",
"CpuAVX_IFMA" }, "AVX_IFMA" },
{ "CPU_ANY_AVX_VNNI_INT8_FLAGS", { "CPU_ANY_AVX_VNNI_INT8_FLAGS",
"CpuAVX_VNNI_INT8" }, "AVX_VNNI_INT8" },
{ "CPU_ANY_CMPCCXADD_FLAGS", { "CPU_ANY_CMPCCXADD_FLAGS",
"CpuCMPCCXADD" }, "CMPCCXADD" },
{ "CPU_ANY_WRMSRNS_FLAGS", { "CPU_ANY_WRMSRNS_FLAGS",
"CpuWRMSRNS" }, "WRMSRNS" },
{ "CPU_ANY_MSRLIST_FLAGS", { "CPU_ANY_MSRLIST_FLAGS",
"CpuMSRLIST" }, "MSRLIST" },
{ "CPU_ANY_AVX_NE_CONVERT_FLAGS", { "CPU_ANY_AVX_NE_CONVERT_FLAGS",
"CpuAVX_NE_CONVERT" }, "AVX_NE_CONVERT" },
{ "CPU_ANY_RAO_INT_FLAGS", { "CPU_ANY_RAO_INT_FLAGS",
"CpuRAO_INT"}, "RAO_INT"},
}; };
typedef struct bitfield typedef struct bitfield
@ -484,149 +484,152 @@ typedef struct bitfield
const char *name; const char *name;
} bitfield; } bitfield;
#define BITFIELD(n) { n, 0, #n } #define BITFIELD(n) { Cpu##n, 0, #n }
static bitfield cpu_flags[] = static bitfield cpu_flags[] =
{ {
BITFIELD (Cpu186), BITFIELD (186),
BITFIELD (Cpu286), BITFIELD (286),
BITFIELD (Cpu386), BITFIELD (386),
BITFIELD (Cpu486), BITFIELD (486),
BITFIELD (Cpu586), BITFIELD (586),
BITFIELD (Cpu686), BITFIELD (686),
BITFIELD (CpuCMOV), BITFIELD (CMOV),
BITFIELD (CpuFXSR), BITFIELD (FXSR),
BITFIELD (CpuClflush), BITFIELD (Clflush),
BITFIELD (CpuNop), BITFIELD (Nop),
BITFIELD (CpuSYSCALL), BITFIELD (SYSCALL),
BITFIELD (Cpu8087), BITFIELD (8087),
BITFIELD (Cpu287), BITFIELD (287),
BITFIELD (Cpu387), BITFIELD (387),
BITFIELD (Cpu687), BITFIELD (687),
BITFIELD (CpuFISTTP), BITFIELD (FISTTP),
BITFIELD (CpuMMX), BITFIELD (MMX),
BITFIELD (CpuSSE), BITFIELD (SSE),
BITFIELD (CpuSSE2), BITFIELD (SSE2),
BITFIELD (CpuSSE3), BITFIELD (SSE3),
BITFIELD (CpuSSSE3), BITFIELD (SSSE3),
BITFIELD (CpuSSE4_1), BITFIELD (SSE4_1),
BITFIELD (CpuSSE4_2), BITFIELD (SSE4_2),
BITFIELD (CpuAVX), BITFIELD (AVX),
BITFIELD (CpuAVX2), BITFIELD (AVX2),
BITFIELD (CpuAVX512F), BITFIELD (AVX512F),
BITFIELD (CpuAVX512CD), BITFIELD (AVX512CD),
BITFIELD (CpuAVX512ER), BITFIELD (AVX512ER),
BITFIELD (CpuAVX512PF), BITFIELD (AVX512PF),
BITFIELD (CpuAVX512VL), BITFIELD (AVX512VL),
BITFIELD (CpuAVX512DQ), BITFIELD (AVX512DQ),
BITFIELD (CpuAVX512BW), BITFIELD (AVX512BW),
BITFIELD (CpuIAMCU), BITFIELD (IAMCU),
BITFIELD (CpuSSE4a), BITFIELD (SSE4a),
BITFIELD (Cpu3dnow), BITFIELD (3dnow),
BITFIELD (Cpu3dnowA), BITFIELD (3dnowA),
BITFIELD (CpuPadLock), BITFIELD (PadLock),
BITFIELD (CpuSVME), BITFIELD (SVME),
BITFIELD (CpuVMX), BITFIELD (VMX),
BITFIELD (CpuSMX), BITFIELD (SMX),
BITFIELD (CpuXsave), BITFIELD (Xsave),
BITFIELD (CpuXsaveopt), BITFIELD (Xsaveopt),
BITFIELD (CpuAES), BITFIELD (AES),
BITFIELD (CpuPCLMUL), BITFIELD (PCLMUL),
BITFIELD (CpuFMA), BITFIELD (FMA),
BITFIELD (CpuFMA4), BITFIELD (FMA4),
BITFIELD (CpuXOP), BITFIELD (XOP),
BITFIELD (CpuLWP), BITFIELD (LWP),
BITFIELD (CpuBMI), BITFIELD (BMI),
BITFIELD (CpuTBM), BITFIELD (TBM),
BITFIELD (CpuLM), BITFIELD (LM),
BITFIELD (CpuMovbe), BITFIELD (Movbe),
BITFIELD (CpuCX16), BITFIELD (CX16),
BITFIELD (CpuEPT), BITFIELD (EPT),
BITFIELD (CpuRdtscp), BITFIELD (Rdtscp),
BITFIELD (CpuFSGSBase), BITFIELD (FSGSBase),
BITFIELD (CpuRdRnd), BITFIELD (RdRnd),
BITFIELD (CpuF16C), BITFIELD (F16C),
BITFIELD (CpuBMI2), BITFIELD (BMI2),
BITFIELD (CpuLZCNT), BITFIELD (LZCNT),
BITFIELD (CpuPOPCNT), BITFIELD (POPCNT),
BITFIELD (CpuHLE), BITFIELD (HLE),
BITFIELD (CpuRTM), BITFIELD (RTM),
BITFIELD (CpuINVPCID), BITFIELD (INVPCID),
BITFIELD (CpuVMFUNC), BITFIELD (VMFUNC),
BITFIELD (CpuRDSEED), BITFIELD (RDSEED),
BITFIELD (CpuADX), BITFIELD (ADX),
BITFIELD (CpuPRFCHW), BITFIELD (PRFCHW),
BITFIELD (CpuSMAP), BITFIELD (SMAP),
BITFIELD (CpuSHA), BITFIELD (SHA),
BITFIELD (CpuClflushOpt), BITFIELD (ClflushOpt),
BITFIELD (CpuXSAVES), BITFIELD (XSAVES),
BITFIELD (CpuXSAVEC), BITFIELD (XSAVEC),
BITFIELD (CpuPREFETCHWT1), BITFIELD (PREFETCHWT1),
BITFIELD (CpuSE1), BITFIELD (SE1),
BITFIELD (CpuCLWB), BITFIELD (CLWB),
BITFIELD (CpuMPX), BITFIELD (MPX),
BITFIELD (CpuAVX512IFMA), BITFIELD (AVX512IFMA),
BITFIELD (CpuAVX512VBMI), BITFIELD (AVX512VBMI),
BITFIELD (CpuAVX512_4FMAPS), BITFIELD (AVX512_4FMAPS),
BITFIELD (CpuAVX512_4VNNIW), BITFIELD (AVX512_4VNNIW),
BITFIELD (CpuAVX512_VPOPCNTDQ), BITFIELD (AVX512_VPOPCNTDQ),
BITFIELD (CpuAVX512_VBMI2), BITFIELD (AVX512_VBMI2),
BITFIELD (CpuAVX512_VNNI), BITFIELD (AVX512_VNNI),
BITFIELD (CpuAVX512_BITALG), BITFIELD (AVX512_BITALG),
BITFIELD (CpuAVX512_BF16), BITFIELD (AVX512_BF16),
BITFIELD (CpuAVX512_VP2INTERSECT), BITFIELD (AVX512_VP2INTERSECT),
BITFIELD (CpuTDX), BITFIELD (TDX),
BITFIELD (CpuAVX_VNNI), BITFIELD (AVX_VNNI),
BITFIELD (CpuAVX512_FP16), BITFIELD (AVX512_FP16),
BITFIELD (CpuPREFETCHI), BITFIELD (PREFETCHI),
BITFIELD (CpuAVX_IFMA), BITFIELD (AVX_IFMA),
BITFIELD (CpuAVX_VNNI_INT8), BITFIELD (AVX_VNNI_INT8),
BITFIELD (CpuCMPCCXADD), BITFIELD (CMPCCXADD),
BITFIELD (CpuWRMSRNS), BITFIELD (WRMSRNS),
BITFIELD (CpuMSRLIST), BITFIELD (MSRLIST),
BITFIELD (CpuAVX_NE_CONVERT), BITFIELD (AVX_NE_CONVERT),
BITFIELD (CpuRAO_INT), BITFIELD (RAO_INT),
BITFIELD (CpuMWAITX), BITFIELD (MWAITX),
BITFIELD (CpuCLZERO), BITFIELD (CLZERO),
BITFIELD (CpuOSPKE), BITFIELD (OSPKE),
BITFIELD (CpuRDPID), BITFIELD (RDPID),
BITFIELD (CpuPTWRITE), BITFIELD (PTWRITE),
BITFIELD (CpuIBT), BITFIELD (IBT),
BITFIELD (CpuSHSTK), BITFIELD (SHSTK),
BITFIELD (CpuGFNI), BITFIELD (GFNI),
BITFIELD (CpuVAES), BITFIELD (VAES),
BITFIELD (CpuVPCLMULQDQ), BITFIELD (VPCLMULQDQ),
BITFIELD (CpuWBNOINVD), BITFIELD (WBNOINVD),
BITFIELD (CpuPCONFIG), BITFIELD (PCONFIG),
BITFIELD (CpuWAITPKG), BITFIELD (WAITPKG),
BITFIELD (CpuUINTR), BITFIELD (UINTR),
BITFIELD (CpuCLDEMOTE), BITFIELD (CLDEMOTE),
BITFIELD (CpuAMX_INT8), BITFIELD (AMX_INT8),
BITFIELD (CpuAMX_BF16), BITFIELD (AMX_BF16),
BITFIELD (CpuAMX_FP16), BITFIELD (AMX_FP16),
BITFIELD (CpuAMX_TILE), BITFIELD (AMX_TILE),
BITFIELD (CpuMOVDIRI), BITFIELD (MOVDIRI),
BITFIELD (CpuMOVDIR64B), BITFIELD (MOVDIR64B),
BITFIELD (CpuENQCMD), BITFIELD (ENQCMD),
BITFIELD (CpuSERIALIZE), BITFIELD (SERIALIZE),
BITFIELD (CpuRDPRU), BITFIELD (RDPRU),
BITFIELD (CpuMCOMMIT), BITFIELD (MCOMMIT),
BITFIELD (CpuSEV_ES), BITFIELD (SEV_ES),
BITFIELD (CpuTSXLDTRK), BITFIELD (TSXLDTRK),
BITFIELD (CpuKL), BITFIELD (KL),
BITFIELD (CpuWideKL), BITFIELD (WideKL),
BITFIELD (CpuHRESET), BITFIELD (HRESET),
BITFIELD (CpuINVLPGB), BITFIELD (INVLPGB),
BITFIELD (CpuTLBSYNC), BITFIELD (TLBSYNC),
BITFIELD (CpuSNP), BITFIELD (SNP),
BITFIELD (CpuRMPQUERY), BITFIELD (RMPQUERY),
BITFIELD (Cpu64), BITFIELD (64),
BITFIELD (CpuNo64), BITFIELD (No64),
#ifdef CpuUnused #ifdef CpuUnused
BITFIELD (CpuUnused), BITFIELD (Unused),
#endif #endif
}; };
#undef BITFIELD
#define BITFIELD(n) { n, 0, #n }
static bitfield opcode_modifiers[] = static bitfield opcode_modifiers[] =
{ {
BITFIELD (D), BITFIELD (D),

File diff suppressed because it is too large Load Diff