diff --git a/libcpuid/cpuid_main.c b/libcpuid/cpuid_main.c index 1602786..a9f59a5 100644 --- a/libcpuid/cpuid_main.c +++ b/libcpuid/cpuid_main.c @@ -232,6 +232,7 @@ static void load_features_common(struct cpu_raw_data_t* raw, struct cpu_id_t* da }; const struct feature_map_t matchtable_ecx81[] = { { 0, CPU_FEATURE_LAHF_LM }, + { 5, CPU_FEATURE_ABM }, }; const struct feature_map_t matchtable_edx87[] = { { 8, CPU_FEATURE_CONSTANT_TSC }, diff --git a/libcpuid/recog_amd.c b/libcpuid/recog_amd.c index ebe14f0..4bb91d8 100644 --- a/libcpuid/recog_amd.c +++ b/libcpuid/recog_amd.c @@ -317,7 +317,7 @@ static void load_amd_features(struct cpu_raw_data_t* raw, struct cpu_id_t* data) const struct feature_map_t matchtable_ecx81[] = { { 1, CPU_FEATURE_CMP_LEGACY }, { 2, CPU_FEATURE_SVM }, - { 5, CPU_FEATURE_ABM }, + /* id 5 is handled in common */ { 6, CPU_FEATURE_SSE4A }, { 7, CPU_FEATURE_MISALIGNSSE }, { 8, CPU_FEATURE_3DNOWPREFETCH }, diff --git a/tests/intel/broadwell/broadwell-e-i7.test b/tests/intel/broadwell/broadwell-e-i7.test index bd06348..54aa862 100644 --- a/tests/intel/broadwell/broadwell-e-i7.test +++ b/tests/intel/broadwell/broadwell-e-i7.test @@ -99,4 +99,4 @@ intel_fn11[3]=00000000 00000000 00000003 00000004 -1 128 (non-authoritative) Broadwell-E (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 dca sse4_1 sse4_2 syscall xd movbe popcnt aes xsave osxsave avx rdtscp lm lahf_lm constant_tsc fma3 f16c rdrand x2apic avx2 bmi1 bmi2 hle rtm rdseed adx +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 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 rdseed adx diff --git a/tests/intel/haswell/crystalwell-i7.test b/tests/intel/haswell/crystalwell-i7.test index c961a50..88c233a 100644 --- a/tests/intel/haswell/crystalwell-i7.test +++ b/tests/intel/haswell/crystalwell-i7.test @@ -99,4 +99,4 @@ intel_fn11[3]=00000000 00000000 00000003 00000006 64 128 (non-authoritative) Haswell (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 syscall xd movbe popcnt aes xsave osxsave avx rdtscp lm lahf_lm constant_tsc fma3 f16c rdrand x2apic avx2 bmi1 bmi2 +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 syscall xd movbe popcnt aes xsave osxsave avx rdtscp lm lahf_lm abm constant_tsc fma3 f16c rdrand x2apic avx2 bmi1 bmi2 diff --git a/tests/intel/haswell/haswell-i3.test b/tests/intel/haswell/haswell-i3.test index b546753..916c531 100644 --- a/tests/intel/haswell/haswell-i3.test +++ b/tests/intel/haswell/haswell-i3.test @@ -95,4 +95,4 @@ intel_fn11[3]=00000000 00000000 00000003 00000001 -1 128 (non-authoritative) Haswell (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 syscall xd movbe popcnt aes xsave osxsave avx rdtscp lm lahf_lm constant_tsc fma3 f16c rdrand avx2 bmi1 bmi2 +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 syscall xd movbe popcnt aes xsave osxsave avx rdtscp lm lahf_lm abm constant_tsc fma3 f16c rdrand avx2 bmi1 bmi2 diff --git a/tests/intel/haswell/haswell-i5.test b/tests/intel/haswell/haswell-i5.test index e245e35..216f9af 100644 --- a/tests/intel/haswell/haswell-i5.test +++ b/tests/intel/haswell/haswell-i5.test @@ -95,4 +95,4 @@ intel_fn11[3]=00000000 00000000 00000003 00000000 -1 128 (non-authoritative) Haswell (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 syscall xd movbe popcnt aes xsave osxsave avx rdtscp lm lahf_lm constant_tsc fma3 f16c rdrand x2apic avx2 bmi1 bmi2 +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 syscall xd movbe popcnt aes xsave osxsave avx rdtscp lm lahf_lm abm constant_tsc fma3 f16c rdrand x2apic avx2 bmi1 bmi2 diff --git a/tests/intel/haswell/haswell-i7.test b/tests/intel/haswell/haswell-i7.test index ffa7d9c..f6a4d1b 100644 --- a/tests/intel/haswell/haswell-i7.test +++ b/tests/intel/haswell/haswell-i7.test @@ -95,4 +95,4 @@ intel_fn11[3]=00000000 00000000 00000003 00000003 -1 128 (non-authoritative) Haswell (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 constant_tsc fma3 f16c rdrand avx2 bmi1 bmi2 +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 avx2 bmi1 bmi2 diff --git a/tests/intel/lakes/coffee-lake-i5-u.test b/tests/intel/lakes/coffee-lake-i5-u.test index f4f45f6..2574118 100644 --- a/tests/intel/lakes/coffee-lake-i5-u.test +++ b/tests/intel/lakes/coffee-lake-i5-u.test @@ -99,4 +99,4 @@ intel_fn11[3]=00000000 00000000 00000003 00000001 -1 128 (non-authoritative) Coffee Lake-U (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 syscall xd movbe popcnt aes xsave osxsave avx rdtscp lm lahf_lm constant_tsc fma3 f16c rdrand x2apic avx2 bmi1 bmi2 sgx rdseed adx +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 syscall xd movbe popcnt aes xsave osxsave avx rdtscp lm lahf_lm abm constant_tsc fma3 f16c rdrand x2apic avx2 bmi1 bmi2 sgx rdseed adx diff --git a/tests/intel/lakes/coffee-lake-i7.test b/tests/intel/lakes/coffee-lake-i7.test index 124ccc6..58e6fbd 100644 --- a/tests/intel/lakes/coffee-lake-i7.test +++ b/tests/intel/lakes/coffee-lake-i7.test @@ -99,4 +99,4 @@ intel_fn11[3]=00000000 00000000 00000003 00000004 -1 128 (non-authoritative) Coffee 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 smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 syscall xd movbe popcnt aes xsave osxsave avx rdtscp lm lahf_lm constant_tsc fma3 f16c rdrand x2apic avx2 bmi1 bmi2 hle rtm sgx rdseed adx +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 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 sgx rdseed adx diff --git a/tests/intel/lakes/kaby-lake-i7-u.test b/tests/intel/lakes/kaby-lake-i7-u.test index 484b4fa..241ffd7 100644 --- a/tests/intel/lakes/kaby-lake-i7-u.test +++ b/tests/intel/lakes/kaby-lake-i7-u.test @@ -99,4 +99,4 @@ intel_fn11[3]=00000000 00000000 00000003 00000003 -1 128 (non-authoritative) Kaby Lake-U (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 syscall xd movbe popcnt aes xsave osxsave avx rdtscp lm lahf_lm constant_tsc fma3 f16c rdrand x2apic avx2 bmi1 bmi2 sgx rdseed adx +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 syscall xd movbe popcnt aes xsave osxsave avx rdtscp lm lahf_lm abm constant_tsc fma3 f16c rdrand x2apic avx2 bmi1 bmi2 sgx rdseed adx diff --git a/tests/intel/skylake/skylake-i5.test b/tests/intel/skylake/skylake-i5.test index cea6011..4671c34 100644 --- a/tests/intel/skylake/skylake-i5.test +++ b/tests/intel/skylake/skylake-i5.test @@ -95,4 +95,4 @@ intel_fn11[3]=00000000 00000000 00000003 00000000 -1 128 (non-authoritative) Skylake (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 constant_tsc fma3 f16c rdrand x2apic avx2 bmi1 bmi2 hle rtm rdseed adx +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 hle rtm rdseed adx diff --git a/tests/intel/skylake/skylake-pentium.test b/tests/intel/skylake/skylake-pentium.test index 9f9dacb..f84921d 100644 --- a/tests/intel/skylake/skylake-pentium.test +++ b/tests/intel/skylake/skylake-pentium.test @@ -99,4 +99,4 @@ intel_fn11[3]=00000000 00000000 00000003 00000003 -1 128 (non-authoritative) Skylake (Pentium) -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 syscall xd movbe popcnt aes xsave osxsave rdtscp lm lahf_lm constant_tsc rdrand x2apic sgx rdseed +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 syscall xd movbe popcnt aes xsave osxsave rdtscp lm lahf_lm abm constant_tsc rdrand x2apic sgx rdseed diff --git a/tests/intel/skylake/skylake-x-i7.test b/tests/intel/skylake/skylake-x-i7.test index 20e4a57..e46e281 100644 --- a/tests/intel/skylake/skylake-x-i7.test +++ b/tests/intel/skylake/skylake-x-i7.test @@ -99,4 +99,4 @@ intel_fn11[3]=00000000 00000000 00000003 0000000a -1 128 (non-authoritative) Skylake-X (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 dca sse4_1 sse4_2 syscall xd movbe popcnt aes xsave osxsave avx rdtscp lm lahf_lm constant_tsc fma3 f16c rdrand x2apic avx2 bmi1 bmi2 hle rtm avx512f avx512dq avx512cd avx512bw avx512vl rdseed adx +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 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 diff --git a/tests/intel/skylake/xeon-clx.test b/tests/intel/skylake/xeon-clx.test index c2a90cc..1715ce1 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 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 avx512_vnni diff --git a/tests/intel/skylake/xeon-scalable-4114.test b/tests/intel/skylake/xeon-scalable-4114.test index 5382583..5468dcd 100644 --- a/tests/intel/skylake/xeon-scalable-4114.test +++ b/tests/intel/skylake/xeon-scalable-4114.test @@ -99,4 +99,4 @@ intel_fn11[3]=00000000 00000000 00000003 00000000 -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 mmx fxsr sse sse2 ss ht pni pclmul ssse3 cx16 sse4_1 sse4_2 syscall xd movbe popcnt aes xsave osxsave avx rdtscp lm lahf_lm constant_tsc fma3 f16c rdrand x2apic avx2 bmi1 bmi2 hle rtm avx512f avx512dq avx512cd avx512bw avx512vl rdseed adx +fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht pni pclmul ssse3 cx16 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