diff --git a/libcpuid/check-consistency.py b/libcpuid/check-consistency.py index 86fe3b9..f6ae4b8 100755 --- a/libcpuid/check-consistency.py +++ b/libcpuid/check-consistency.py @@ -116,12 +116,13 @@ for fn in glob.glob("%s/*.c" % sys.argv[1]): files_code[fn].append(entry) f.close() +features_whitelist = ["CPU_FEATURE_SSE5"] for feature in allf: matching_files = [] for fn in files_code: if feature in files_code[fn]: matching_files.append(fn) - if len(matching_files) == 0: + if len(matching_files) == 0 and feature not in features_whitelist: if firstError: print "FAILED:" firstError = False diff --git a/libcpuid/cpuid_main.c b/libcpuid/cpuid_main.c index 371ddcb..0e16e50 100644 --- a/libcpuid/cpuid_main.c +++ b/libcpuid/cpuid_main.c @@ -685,9 +685,9 @@ const char* cpu_feature_str(cpu_feature_t feature) { CPU_FEATURE_SGX, "sgx" }, { CPU_FEATURE_RDSEED, "rdseed" }, { CPU_FEATURE_ADX, "adx" }, - { CPU_FEATURE_AVX512VNNI, "avx512_vnni" }, - { CPU_FEATURE_AVX512VBMI, "avx512_vbmi" }, - { CPU_FEATURE_AVX512VBMI2, "avx512_vbmi2" }, + { CPU_FEATURE_AVX512VNNI, "avx512vnni" }, + { CPU_FEATURE_AVX512VBMI, "avx512vbmi" }, + { CPU_FEATURE_AVX512VBMI2, "avx512vbmi2" }, }; unsigned i, n = COUNT_OF(matchtable); if (n != NUM_CPU_FEATURES) { diff --git a/tests/intel/lakes/cannon-lake-i3-u.test b/tests/intel/lakes/cannon-lake-i3-u.test index 5da1c51..e05b70c 100644 --- a/tests/intel/lakes/cannon-lake-i3-u.test +++ b/tests/intel/lakes/cannon-lake-i3-u.test @@ -103,4 +103,4 @@ amd_fn8000001dh[3]=ffffffff ffffffff ffffffff ffffffff -1 128 (non-authoritative) Cannon Lake (Core i3) -fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni pclmul dts64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 xd movbe popcnt aes xsave osxsave avx rdtscp lm lahf_lm abm constant_tsc fma3 f16c rdrand x2apic avx2 bmi1 bmi2 avx512f avx512dq avx512cd sha_ni avx512bw avx512vl rdseed adx avx512_vbmi +fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni pclmul dts64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 xd movbe popcnt aes xsave osxsave avx rdtscp lm lahf_lm abm constant_tsc fma3 f16c rdrand x2apic avx2 bmi1 bmi2 avx512f avx512dq avx512cd sha_ni avx512bw avx512vl rdseed adx avx512vbmi diff --git a/tests/intel/lakes/ice-lake-i3.test b/tests/intel/lakes/ice-lake-i3.test index 5da1c51..e05b70c 100644 --- a/tests/intel/lakes/ice-lake-i3.test +++ b/tests/intel/lakes/ice-lake-i3.test @@ -103,4 +103,4 @@ amd_fn8000001dh[3]=ffffffff ffffffff ffffffff ffffffff -1 128 (non-authoritative) Cannon Lake (Core i3) -fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni pclmul dts64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 xd movbe popcnt aes xsave osxsave avx rdtscp lm lahf_lm abm constant_tsc fma3 f16c rdrand x2apic avx2 bmi1 bmi2 avx512f avx512dq avx512cd sha_ni avx512bw avx512vl rdseed adx avx512_vbmi +fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni pclmul dts64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 xd movbe popcnt aes xsave osxsave avx rdtscp lm lahf_lm abm constant_tsc fma3 f16c rdrand x2apic avx2 bmi1 bmi2 avx512f avx512dq avx512cd sha_ni avx512bw avx512vl rdseed adx avx512vbmi diff --git a/tests/intel/lakes/ice-lake-i5.test b/tests/intel/lakes/ice-lake-i5.test index bd64465..d3f31f4 100644 --- a/tests/intel/lakes/ice-lake-i5.test +++ b/tests/intel/lakes/ice-lake-i5.test @@ -103,4 +103,4 @@ amd_fn8000001dh[3]=ffffffff ffffffff ffffffff ffffffff -1 128 (non-authoritative) Ice Lake (Core i5) -fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni pclmul dts64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 xd movbe popcnt aes xsave osxsave avx rdtscp lm lahf_lm abm constant_tsc fma3 f16c rdrand x2apic avx2 bmi1 bmi2 avx512f avx512dq avx512cd sha_ni avx512bw avx512vl sgx rdseed adx avx512_vnni avx512_vbmi avx512_vbmi2 +fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni pclmul dts64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 xd movbe popcnt aes xsave osxsave avx rdtscp lm lahf_lm abm constant_tsc fma3 f16c rdrand x2apic avx2 bmi1 bmi2 avx512f avx512dq avx512cd sha_ni avx512bw avx512vl sgx rdseed adx avx512vnni avx512vbmi avx512vbmi2 diff --git a/tests/intel/lakes/ice-lake-i7.test b/tests/intel/lakes/ice-lake-i7.test index f6942c0..d5714a1 100644 --- a/tests/intel/lakes/ice-lake-i7.test +++ b/tests/intel/lakes/ice-lake-i7.test @@ -103,4 +103,4 @@ amd_fn8000001dh[3]=ffffffff ffffffff ffffffff ffffffff -1 128 (non-authoritative) Ice Lake (Core i7) -fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni pclmul dts64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 xd movbe popcnt aes xsave osxsave avx rdtscp lm lahf_lm abm constant_tsc fma3 f16c rdrand x2apic avx2 bmi1 bmi2 avx512f avx512dq avx512cd sha_ni avx512bw avx512vl sgx rdseed adx avx512_vnni avx512_vbmi avx512_vbmi2 +fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni pclmul dts64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 xd movbe popcnt aes xsave osxsave avx rdtscp lm lahf_lm abm constant_tsc fma3 f16c rdrand x2apic avx2 bmi1 bmi2 avx512f avx512dq avx512cd sha_ni avx512bw avx512vl sgx rdseed adx avx512vnni avx512vbmi avx512vbmi2 diff --git a/tests/intel/skylake/xeon-clx.test b/tests/intel/skylake/xeon-clx.test index 1715ce1..0e6646f 100644 --- a/tests/intel/skylake/xeon-clx.test +++ b/tests/intel/skylake/xeon-clx.test @@ -99,4 +99,4 @@ intel_fn11[3]=00000000 00000000 00000003 00000056 -1 128 (non-authoritative) Skylake (Xeon Scalable) -fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni pclmul dts64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 sse4_2 syscall xd movbe popcnt aes xsave osxsave avx rdtscp lm lahf_lm abm constant_tsc fma3 f16c rdrand x2apic avx2 bmi1 bmi2 hle rtm avx512f avx512dq avx512cd avx512bw avx512vl rdseed adx avx512_vnni +fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni pclmul dts64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 sse4_2 syscall xd movbe popcnt aes xsave osxsave avx rdtscp lm lahf_lm abm constant_tsc fma3 f16c rdrand x2apic avx2 bmi1 bmi2 hle rtm avx512f avx512dq avx512cd avx512bw avx512vl rdseed adx avx512vnni