diff options
author | Mykola Hohsadze <koliagogsadze@gmail.com> | 2023-09-05 15:13:54 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-05 14:13:54 +0200 |
commit | 248aa1b9386ac7b5b36af78c4d8af60d4db8d434 (patch) | |
tree | 1dbb3ac42feae4e225b2b3f55f86531002830145 | |
parent | 199d299ce5291a5740a567f0f91784d9c754215a (diff) | |
download | cpu_features-248aa1b9386ac7b5b36af78c4d8af60d4db8d434.tar.gz |
Add AMD ZEN4 Genoa detection (#329)
-rw-r--r-- | src/impl_x86__base_implementation.inl | 1 | ||||
-rw-r--r-- | test/cpuinfo_x86_test.cc | 14 |
2 files changed, 15 insertions, 0 deletions
diff --git a/src/impl_x86__base_implementation.inl b/src/impl_x86__base_implementation.inl index e7705f3..0cd46bb 100644 --- a/src/impl_x86__base_implementation.inl +++ b/src/impl_x86__base_implementation.inl @@ -833,6 +833,7 @@ X86Microarchitecture GetX86Microarchitecture(const X86Info* info) { // https://en.wikichip.org/wiki/amd/microarchitectures/zen_3 return AMD_ZEN3; case CPUID(0x19, 0x10): + case CPUID(0x19, 0x11): case CPUID(0x19, 0x61): case CPUID(0x19, 0x74): // https://en.wikichip.org/wiki/amd/microarchitectures/zen_4 diff --git a/test/cpuinfo_x86_test.cc b/test/cpuinfo_x86_test.cc index 00f0251..9640f51 100644 --- a/test/cpuinfo_x86_test.cc +++ b/test/cpuinfo_x86_test.cc @@ -959,6 +959,20 @@ TEST_F(CpuidX86Test, AMD_ZEN2_MENDOCINO) { EXPECT_EQ(GetX86Microarchitecture(&info), X86Microarchitecture::AMD_ZEN2); } +// http://users.atw.hu/instlatx64/AuthenticAMD/AuthenticAMD0A10F11_K19_Genoa_02_CPUID.txt +TEST_F(CpuidX86Test, AMD_K19_ZEN4_GENOA) { + cpu().SetLeaves({ + {{0x00000000, 0}, Leaf{0x00000010, 0x68747541, 0x444D4163, 0x69746E65}}, + {{0x00000001, 0}, Leaf{0x00A10F11, 0x00200800, 0x7EFA320B, 0x178BFBFF}}, + }); + const auto info = GetX86Info(); + + EXPECT_EQ(info.model, 0x11); + EXPECT_EQ(info.family, 0x19); + EXPECT_STREQ(info.vendor, CPU_FEATURES_VENDOR_AUTHENTIC_AMD); + EXPECT_EQ(GetX86Microarchitecture(&info), X86Microarchitecture::AMD_ZEN4); +} + // http://users.atw.hu/instlatx64/GenuineIntel/GenuineIntel00906A4_AlderLakeP_00_CPUID.txt TEST_F(CpuidX86Test, INTEL_ALDER_LAKE_AVX_VNNI) { cpu().SetOsBackupsExtendedRegisters(true); |