anrieff / libcpuid

a small C library for x86 CPU detection and feature extraction
Other
451 stars 106 forks source link

More test files for AMD Zen CPUs #125

Closed TheTumultuousUnicornOfDarkness closed 5 years ago

TheTumultuousUnicornOfDarkness commented 5 years ago

Ryzen 3000 are here (note that CPUs are based on Zen 2 micro-architecture while APUs are based on Zen+).

Special thank to @ocerman who introduced me http://instlatx64.atw.hu/ website!

Testing...
Test [./tests/intel/skylake/xeon-scalable-4114]: OK
Test [./tests/intel/skylake/skylake-pentium]: OK
Test [./tests/intel/skylake/skylake-x-i7]: OK
Test [./tests/intel/skylake/skylake-i5]: OK
Test [./tests/intel/ivy/i3]: OK
Test [./tests/intel/haswell/haswell-i5]: OK
Test [./tests/intel/haswell/haswell-i7]: OK
Test [./tests/intel/haswell/haswell-i3]: OK
Test [./tests/intel/haswell/crystalwell-i7]: OK
Test [./tests/intel/netburst/p4-northwood]: OK
Test [./tests/intel/netburst/celeron-willamette]: OK
Test [./tests/intel/netburst/celeron-northwood.test]: OK
Test [./tests/intel/netburst/xeon-prestonia]: OK
Test [./tests/intel/netburst/celeron-prescott]: OK
Test [./tests/intel/netburst/mobile-p4-northwood]: OK
Test [./tests/intel/netburst/p4-prescott-ht]: OK
Test [./tests/intel/sandy/celeron-sandy]: OK
Test [./tests/intel/sandy/ivy-bridge-i5]: OK
Test [./tests/intel/sandy/xeon-sandy]: OK
Test [./tests/intel/sandy/sandy-bridge-i7]: OK
Test [./tests/intel/sandy/sandy-bridge-e-i7]: OK
Test [./tests/intel/qemu/qemu]: OK
Test [./tests/intel/nehalem/xeon-bloomfield]: OK
Test [./tests/intel/nehalem/xeon-gulftown]: OK
Test [./tests/intel/nehalem/gulftown-i7]: OK
Test [./tests/intel/nehalem/arrandale-mobile]: OK
Test [./tests/intel/nehalem/xeon-gainestown]: OK
Test [./tests/intel/nehalem/arrandale-i7]: OK
Test [./tests/intel/nehalem/lynnfield-i7]: OK
Test [./tests/intel/nehalem/arrandale-i5]: OK
Test [./tests/intel/nehalem/bloomfield]: OK
Test [./tests/intel/lakes/coffee-lake-i7]: OK
Test [./tests/intel/lakes/kaby-lake-i7-u]: OK
Test [./tests/intel/atom/atom-pineview-2]: OK
Test [./tests/intel/atom/atom-diamondville-dualcore]: OK
Test [./tests/intel/atom/atom-pineview-3]: OK
Test [./tests/intel/atom/atom-diamondville]: OK
Test [./tests/intel/atom/atom-pineview]: OK
Test [./tests/intel/broadwell/broadwell-e-i7]: OK
Test [./tests/intel/p2/pentium-dixon]: OK
Test [./tests/intel/p2/petium-m-dothan]: OK
Test [./tests/intel/p2/pentium-coppermine]: OK
Test [./tests/intel/p2/celeron-coppermine]: OK
Test [./tests/intel/core2/conroe-1m]: OK
Test [./tests/intel/core2/conroe-l-celeron]: OK
Test [./tests/intel/core2/allendale]: OK
Test [./tests/intel/core2/merom-2m]: OK
Test [./tests/intel/core2/kentsfield]: OK
Test [./tests/intel/core2/yorkfield-2m]: OK
Test [./tests/intel/core2/conroe]: OK
Test [./tests/intel/core2/penryn-3m]: OK
Test [./tests/intel/core2/conroe-l]: OK
Test [./tests/intel/core2/celeron-wolfdale]: OK
Test [./tests/intel/core2/merom]: OK
Test [./tests/intel/core2/xeon-wolfdale]: OK
Test [./tests/intel/core2/penryn-mobile]: OK
Test [./tests/intel/core2/yonah-2]: OK
Test [./tests/intel/core2/xeon-harpertown]: OK
Test [./tests/intel/core2/yorkfield]: OK
Test [./tests/intel/core2/xeon-clovertown]: OK
Test [./tests/intel/core2/wolfdale]: OK
Test [./tests/intel/core2/yonah-3]: OK
Test [./tests/intel/core2/yonah]: OK
Test [./tests/amd/k10/athlon-2-champlain-mobile]: OK
Test [./tests/amd/k10/athlon-2-propus-3]: OK
Test [./tests/amd/k10/sempron-sargas]: OK
Test [./tests/amd/k10/athlon-2-propus-2]: OK
Test [./tests/amd/k10/athlon-2-propus]: OK
Test [./tests/amd/k10/phenom-2-deneb]: OK
Test [./tests/amd/k10/phenom-2-thuban]: OK
Test [./tests/amd/k10/athlon-2-kuma]: OK
Test [./tests/amd/k10/phenom-2-heka]: OK
Test [./tests/amd/k10/athlon-2-regor]: OK
Test [./tests/amd/k10/phenom-agena]: OK
Test [./tests/amd/k10/magny-cours]: OK
Test [./tests/amd/zen/epyc-naples]: OK
Test [./tests/amd/zen/threadripper-whitehaven]: OK
Test [./tests/amd/zen/ryzen7-summit-ridge]: OK
Test [./tests/amd/zen/ryzen3-raven-ridge]: OK
Test [./tests/amd/zen/ryzen5-summit-ridge]: OK
Test [./tests/amd/zen/ryzen5-raven-ridge]: OK
Test [./tests/amd/bulldozer/vishera-x4]: OK
Test [./tests/amd/bulldozer/bulldozer-x4]: OK
Test [./tests/amd/bobcat/brazos-zacate]: OK
Test [./tests/amd/zen2/ryzen5-matisse]: OK
Test [./tests/amd/k8/sempron-64-sparta]: OK
Test [./tests/amd/k8/athlon-64-brisbane]: OK
Test [./tests/amd/k8/athlon-64-venice]: OK
Test [./tests/amd/k8/opteron-denmark]: OK
Test [./tests/amd/k8/mobile-sempron-64-sonora]: OK
Test [./tests/amd/k8/mobile-sempron-64-keene]: OK
Test [./tests/amd/k8/turion-64-lancaster]: OK
Test [./tests/amd/k7/athlon-thoroughbred]: OK
Test [./tests/amd/k7/duron-applebred]: OK
Test [./tests/amd/k7/sempron-barton]: OK
Test [./tests/amd/zen+/ryzen5-picasso]: OK
Test [./tests/amd/zen+/threadripper-colfax]: OK
Test [./tests/amd/zen+/ryzen7-pinnacle-ridge]: OK
All successfull!
anrieff commented 5 years ago

I'm accepting it in order to move things smootly, but I noticed that the tests/amd/zen2/ryzen5-matisse.test has detected the SSE unit size as "64 (authoritative)". It strikes me as very odd if a Year 2019 processor will have SSE execution unit size less than 128 bits. Could this be an error, where did the CPUID data for Ryzen 5 (Matisse) come from?

TheTumultuousUnicornOfDarkness commented 5 years ago

From here: http://instlatx64.atw.hu/

00870F10   CPUID Dump   C&M_Panel   GPGPU_Panel   NewMemLat   InstLatX86   MemLatX86  
InstLatX64   MemLatX64   HexaCore AMD Ryzen 5 3600

I see Ryzen 7 3700X and Ryzen 9 3900X dumps has been added yesterday, so I will add these new tests soon.

TheTumultuousUnicornOfDarkness commented 5 years ago

You are right: 64 bits is wrong. Since family 15h, from models 30h (BKDG Revision 3.03), CPUID Fn8000_001A_EAX has been updated to add size of 256 bits. I open a new PR to fix that.