diff --git a/libcpuid/cpuid_main.c b/libcpuid/cpuid_main.c index 8470412..1602786 100644 --- a/libcpuid/cpuid_main.c +++ b/libcpuid/cpuid_main.c @@ -221,6 +221,9 @@ static void load_features_common(struct cpu_raw_data_t* raw, struct cpu_id_t* da { 3, CPU_FEATURE_BMI1 }, { 5, CPU_FEATURE_AVX2 }, { 8, CPU_FEATURE_BMI2 }, + { 18, CPU_FEATURE_RDSEED }, + { 19, CPU_FEATURE_ADX }, + { 29, CPU_FEATURE_SHA_NI }, }; const struct feature_map_t matchtable_edx81[] = { { 11, CPU_FEATURE_SYSCALL }, diff --git a/libcpuid/recog_intel.c b/libcpuid/recog_intel.c index cf2b181..122f2cb 100644 --- a/libcpuid/recog_intel.c +++ b/libcpuid/recog_intel.c @@ -423,12 +423,11 @@ static void load_intel_features(struct cpu_raw_data_t* raw, struct cpu_id_t* dat { 11, CPU_FEATURE_RTM }, { 16, CPU_FEATURE_AVX512F }, { 17, CPU_FEATURE_AVX512DQ }, - { 18, CPU_FEATURE_RDSEED }, - { 19, CPU_FEATURE_ADX }, + /* id 18 and 19 are handled in common */ { 26, CPU_FEATURE_AVX512PF }, { 27, CPU_FEATURE_AVX512ER }, { 28, CPU_FEATURE_AVX512CD }, - { 29, CPU_FEATURE_SHA_NI }, + /* id 29 is handled in common */ { 30, CPU_FEATURE_AVX512BW }, { 31, CPU_FEATURE_AVX512VL }, }; diff --git a/tests/amd/zen+/ryzen5-picasso.test b/tests/amd/zen+/ryzen5-picasso.test index bec875b..8d1ff18 100644 --- a/tests/amd/zen+/ryzen5-picasso.test +++ b/tests/amd/zen+/ryzen5-picasso.test @@ -67,4 +67,4 @@ ext_cpuid[31]=0000000f 0000016f 0000000f 00000000 -1 128 (authoritative) Ryzen 5 (Picasso) -fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni pclmul monitor ssse3 cx16 sse4_1 sse4_2 syscall movbe popcnt aes xsave osxsave avx mmxext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw skinit wdt ts ttp tm_amd hwpstate constant_tsc fma3 f16c rdrand aperfmperf avx2 bmi1 bmi2 +fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni pclmul monitor ssse3 cx16 sse4_1 sse4_2 syscall movbe popcnt aes xsave osxsave avx mmxext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw skinit wdt ts ttp tm_amd hwpstate constant_tsc fma3 f16c rdrand aperfmperf avx2 bmi1 bmi2 sha_ni rdseed adx diff --git a/tests/amd/zen+/ryzen7-pinnacle-ridge.test b/tests/amd/zen+/ryzen7-pinnacle-ridge.test index edcf511..ef4013d 100644 --- a/tests/amd/zen+/ryzen7-pinnacle-ridge.test +++ b/tests/amd/zen+/ryzen7-pinnacle-ridge.test @@ -67,4 +67,4 @@ ext_cpuid[31]=0000000f 0000016f 0000000f 00000000 -1 128 (authoritative) Ryzen 7 (Pinnacle Ridge) -fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni pclmul monitor ssse3 cx16 sse4_1 sse4_2 syscall movbe popcnt aes xsave osxsave avx mmxext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw skinit wdt ts ttp tm_amd hwpstate constant_tsc fma3 f16c rdrand cpb aperfmperf avx2 bmi1 bmi2 +fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni pclmul monitor ssse3 cx16 sse4_1 sse4_2 syscall movbe popcnt aes xsave osxsave avx mmxext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw skinit wdt ts ttp tm_amd hwpstate constant_tsc fma3 f16c rdrand cpb aperfmperf avx2 bmi1 bmi2 sha_ni rdseed adx diff --git a/tests/amd/zen+/threadripper-colfax.test b/tests/amd/zen+/threadripper-colfax.test index 3b9258f..750f613 100644 --- a/tests/amd/zen+/threadripper-colfax.test +++ b/tests/amd/zen+/threadripper-colfax.test @@ -67,4 +67,4 @@ ext_cpuid[31]=0000000f 0000016f 0000000f 00000001 -1 128 (authoritative) Threadripper (Colfax) -fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni pclmul monitor ssse3 cx16 sse4_1 sse4_2 syscall movbe popcnt aes xsave osxsave avx mmxext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw skinit wdt ts ttp tm_amd hwpstate constant_tsc fma3 f16c rdrand cpb aperfmperf avx2 bmi1 bmi2 +fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni pclmul monitor ssse3 cx16 sse4_1 sse4_2 syscall movbe popcnt aes xsave osxsave avx mmxext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw skinit wdt ts ttp tm_amd hwpstate constant_tsc fma3 f16c rdrand cpb aperfmperf avx2 bmi1 bmi2 sha_ni rdseed adx diff --git a/tests/amd/zen/epyc-naples.test b/tests/amd/zen/epyc-naples.test index d00db48..6cb573f 100644 --- a/tests/amd/zen/epyc-naples.test +++ b/tests/amd/zen/epyc-naples.test @@ -67,4 +67,4 @@ ext_cpuid[31]=0000000f 0000016f 0000000f 00000001 -1 128 (authoritative) EPYC (Naples) -fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni pclmul monitor ssse3 cx16 sse4_1 sse4_2 syscall movbe popcnt aes xsave osxsave avx mmxext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw skinit wdt ts ttp tm_amd hwpstate constant_tsc fma3 f16c rdrand cpb aperfmperf avx2 bmi1 bmi2 +fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni pclmul monitor ssse3 cx16 sse4_1 sse4_2 syscall movbe popcnt aes xsave osxsave avx mmxext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw skinit wdt ts ttp tm_amd hwpstate constant_tsc fma3 f16c rdrand cpb aperfmperf avx2 bmi1 bmi2 sha_ni rdseed adx diff --git a/tests/amd/zen/ryzen3-raven-ridge.test b/tests/amd/zen/ryzen3-raven-ridge.test index 6eb7c10..e338008 100644 --- a/tests/amd/zen/ryzen3-raven-ridge.test +++ b/tests/amd/zen/ryzen3-raven-ridge.test @@ -99,4 +99,4 @@ intel_fn11[3]=00000000 00000000 00000000 00000000 -1 128 (authoritative) Ryzen 3 (Raven Ridge) -fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni pclmul monitor ssse3 cx16 sse4_1 sse4_2 syscall movbe popcnt aes xsave osxsave avx mmxext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw skinit wdt ts ttp tm_amd hwpstate constant_tsc fma3 f16c rdrand aperfmperf avx2 bmi1 bmi2 +fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni pclmul monitor ssse3 cx16 sse4_1 sse4_2 syscall movbe popcnt aes xsave osxsave avx mmxext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw skinit wdt ts ttp tm_amd hwpstate constant_tsc fma3 f16c rdrand aperfmperf avx2 bmi1 bmi2 sha_ni rdseed adx diff --git a/tests/amd/zen/ryzen5-raven-ridge.test b/tests/amd/zen/ryzen5-raven-ridge.test index f2a40e0..92246ce 100644 --- a/tests/amd/zen/ryzen5-raven-ridge.test +++ b/tests/amd/zen/ryzen5-raven-ridge.test @@ -67,4 +67,4 @@ ext_cpuid[31]=0000000f 0000016f 0000000f 00000000 -1 128 (authoritative) Ryzen 5 (Raven Ridge) -fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni pclmul monitor ssse3 cx16 sse4_1 sse4_2 syscall movbe popcnt aes xsave osxsave avx mmxext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw skinit wdt ts ttp tm_amd hwpstate constant_tsc fma3 f16c rdrand aperfmperf avx2 bmi1 bmi2 +fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni pclmul monitor ssse3 cx16 sse4_1 sse4_2 syscall movbe popcnt aes xsave osxsave avx mmxext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw skinit wdt ts ttp tm_amd hwpstate constant_tsc fma3 f16c rdrand aperfmperf avx2 bmi1 bmi2 sha_ni rdseed adx diff --git a/tests/amd/zen/ryzen5-summit-ridge.test b/tests/amd/zen/ryzen5-summit-ridge.test index bd3dc2a..ebe8bf6 100644 --- a/tests/amd/zen/ryzen5-summit-ridge.test +++ b/tests/amd/zen/ryzen5-summit-ridge.test @@ -67,4 +67,4 @@ ext_cpuid[31]=00000007 0000016f 0000000f 00000000 -1 128 (authoritative) Ryzen 5 (Summit Ridge) -fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni pclmul monitor ssse3 cx16 sse4_1 sse4_2 syscall movbe popcnt aes xsave osxsave avx mmxext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw skinit wdt ts ttp tm_amd hwpstate constant_tsc fma3 f16c rdrand aperfmperf avx2 bmi1 bmi2 +fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni pclmul monitor ssse3 cx16 sse4_1 sse4_2 syscall movbe popcnt aes xsave osxsave avx mmxext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw skinit wdt ts ttp tm_amd hwpstate constant_tsc fma3 f16c rdrand aperfmperf avx2 bmi1 bmi2 sha_ni rdseed adx diff --git a/tests/amd/zen/ryzen7-summit-ridge.test b/tests/amd/zen/ryzen7-summit-ridge.test index 5454d61..a25b933 100644 --- a/tests/amd/zen/ryzen7-summit-ridge.test +++ b/tests/amd/zen/ryzen7-summit-ridge.test @@ -95,4 +95,4 @@ intel_fn11[3]=00000000 00000000 00000000 00000000 -1 128 (authoritative) Ryzen 7 (Summit Ridge) -fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni pclmul monitor ssse3 cx16 sse4_1 sse4_2 syscall movbe popcnt aes xsave osxsave avx mmxext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw skinit wdt ts ttp tm_amd hwpstate constant_tsc fma3 f16c rdrand aperfmperf avx2 bmi1 bmi2 +fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni pclmul monitor ssse3 cx16 sse4_1 sse4_2 syscall movbe popcnt aes xsave osxsave avx mmxext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw skinit wdt ts ttp tm_amd hwpstate constant_tsc fma3 f16c rdrand aperfmperf avx2 bmi1 bmi2 sha_ni rdseed adx diff --git a/tests/amd/zen/threadripper-whitehaven.test b/tests/amd/zen/threadripper-whitehaven.test index 9b68e94..27bfd91 100644 --- a/tests/amd/zen/threadripper-whitehaven.test +++ b/tests/amd/zen/threadripper-whitehaven.test @@ -67,4 +67,4 @@ ext_cpuid[31]=00000007 0000016f 0000000f 00000001 -1 128 (authoritative) Threadripper (Whitehaven) -fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni pclmul monitor ssse3 cx16 sse4_1 sse4_2 syscall movbe popcnt aes xsave osxsave avx mmxext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw skinit wdt ts ttp tm_amd hwpstate constant_tsc fma3 f16c rdrand aperfmperf avx2 bmi1 bmi2 +fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni pclmul monitor ssse3 cx16 sse4_1 sse4_2 syscall movbe popcnt aes xsave osxsave avx mmxext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw skinit wdt ts ttp tm_amd hwpstate constant_tsc fma3 f16c rdrand aperfmperf avx2 bmi1 bmi2 sha_ni rdseed adx diff --git a/tests/amd/zen2/ryzen5-matisse.test b/tests/amd/zen2/ryzen5-matisse.test index d9383fe..18dfaad 100644 --- a/tests/amd/zen2/ryzen5-matisse.test +++ b/tests/amd/zen2/ryzen5-matisse.test @@ -103,4 +103,4 @@ amd_fn8000001dh[3]=00014163 03c0003f 00003fff 00000001 -1 256 (authoritative) Ryzen 5 (Matisse) -fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni pclmul monitor ssse3 cx16 sse4_1 sse4_2 syscall movbe popcnt aes xsave osxsave avx mmxext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw ibs skinit wdt ts ttp tm_amd hwpstate constant_tsc fma3 f16c rdrand cpb aperfmperf avx2 bmi1 bmi2 +fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni pclmul monitor ssse3 cx16 sse4_1 sse4_2 syscall movbe popcnt aes xsave osxsave avx mmxext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw ibs skinit wdt ts ttp tm_amd hwpstate constant_tsc fma3 f16c rdrand cpb aperfmperf avx2 bmi1 bmi2 sha_ni rdseed adx diff --git a/tests/amd/zen2/ryzen7-matisse.test b/tests/amd/zen2/ryzen7-matisse.test index caec0d7..77c7309 100644 --- a/tests/amd/zen2/ryzen7-matisse.test +++ b/tests/amd/zen2/ryzen7-matisse.test @@ -103,4 +103,4 @@ amd_fn8000001dh[3]=0001c163 03c0003f 00003fff 00000001 -1 256 (authoritative) Ryzen 7 (Matisse) -fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni pclmul monitor ssse3 cx16 sse4_1 sse4_2 syscall movbe popcnt aes xsave osxsave avx mmxext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw ibs skinit wdt ts ttp tm_amd hwpstate constant_tsc fma3 f16c rdrand cpb aperfmperf avx2 bmi1 bmi2 +fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni pclmul monitor ssse3 cx16 sse4_1 sse4_2 syscall movbe popcnt aes xsave osxsave avx mmxext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw ibs skinit wdt ts ttp tm_amd hwpstate constant_tsc fma3 f16c rdrand cpb aperfmperf avx2 bmi1 bmi2 sha_ni rdseed adx diff --git a/tests/amd/zen2/ryzen9-matisse.test b/tests/amd/zen2/ryzen9-matisse.test index 3962f85..7b9744f 100644 --- a/tests/amd/zen2/ryzen9-matisse.test +++ b/tests/amd/zen2/ryzen9-matisse.test @@ -103,4 +103,4 @@ amd_fn8000001dh[3]=00014163 03c0003f 00003fff 00000001 -1 256 (authoritative) Ryzen 9 (Matisse) -fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni pclmul monitor ssse3 cx16 sse4_1 sse4_2 syscall movbe popcnt aes xsave osxsave avx mmxext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw ibs skinit wdt ts ttp tm_amd hwpstate constant_tsc fma3 f16c rdrand cpb aperfmperf avx2 bmi1 bmi2 +fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni pclmul monitor ssse3 cx16 sse4_1 sse4_2 syscall movbe popcnt aes xsave osxsave avx mmxext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw ibs skinit wdt ts ttp tm_amd hwpstate constant_tsc fma3 f16c rdrand cpb aperfmperf avx2 bmi1 bmi2 sha_ni rdseed adx diff --git a/tests/amd/zen2/threadripper-castle-peak.test b/tests/amd/zen2/threadripper-castle-peak.test index efad890..a833269 100644 --- a/tests/amd/zen2/threadripper-castle-peak.test +++ b/tests/amd/zen2/threadripper-castle-peak.test @@ -103,4 +103,4 @@ amd_fn8000001dh[3]=0001c163 03c0003f 00003fff 00000001 -1 256 (authoritative) Threadripper (Castle Peak) -fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni pclmul monitor ssse3 cx16 sse4_1 sse4_2 syscall movbe popcnt aes xsave osxsave avx mmxext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw ibs skinit wdt ts ttp tm_amd hwpstate constant_tsc fma3 f16c rdrand cpb aperfmperf avx2 bmi1 bmi2 +fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni pclmul monitor ssse3 cx16 sse4_1 sse4_2 syscall movbe popcnt aes xsave osxsave avx mmxext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw ibs skinit wdt ts ttp tm_amd hwpstate constant_tsc fma3 f16c rdrand cpb aperfmperf avx2 bmi1 bmi2 sha_ni rdseed adx diff --git a/tests/hygon/dhyana/dhyana_7.test b/tests/hygon/dhyana/dhyana_7.test index f7ef7d0..679ef24 100644 --- a/tests/hygon/dhyana/dhyana_7.test +++ b/tests/hygon/dhyana/dhyana_7.test @@ -99,4 +99,4 @@ intel_fn11[3]=00000000 00000000 00000000 00000000 -1 128 (authoritative) C86 7 (Dhyana) -fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni monitor ssse3 cx16 sse4_1 sse4_2 syscall movbe popcnt xsave osxsave avx mmxext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw skinit wdt ts ttp tm_amd hwpstate constant_tsc fma3 f16c rdrand aperfmperf avx2 bmi1 bmi2 +fpu vme de pse tsc msr pae mce cx8 apic mtrr sep pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht pni monitor ssse3 cx16 sse4_1 sse4_2 syscall movbe popcnt xsave osxsave avx mmxext nx fxsr_opt rdtscp lm lahf_lm cmp_legacy svm abm misalignsse sse4a 3dnowprefetch osvw skinit wdt ts ttp tm_amd hwpstate constant_tsc fma3 f16c rdrand aperfmperf avx2 bmi1 bmi2 rdseed adx