From 349ef066340648172bd04cc51b102093ff6363c9 Mon Sep 17 00:00:00 2001 From: Andrew Kurushin Date: Tue, 2 Aug 2022 13:39:45 +0300 Subject: add CometLake model 166 --- src/impl_x86__base_implementation.inl | 1 + test/cpuinfo_x86_test.cc | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/src/impl_x86__base_implementation.inl b/src/impl_x86__base_implementation.inl index 77122ca..9ac0a79 100644 --- a/src/impl_x86__base_implementation.inl +++ b/src/impl_x86__base_implementation.inl @@ -558,6 +558,7 @@ X86Microarchitecture GetX86Microarchitecture(const X86Info* info) { // https://en.wikichip.org/wiki/intel/microarchitectures/alder_lake return INTEL_ADL; case CPUID(0x06, 0xA5): + case CPUID(0x06, 0xA6): // https://en.wikichip.org/wiki/intel/microarchitectures/comet_lake return INTEL_CML; case CPUID(0x06, 0xA7): diff --git a/test/cpuinfo_x86_test.cc b/test/cpuinfo_x86_test.cc index 4861314..cf1a77c 100644 --- a/test/cpuinfo_x86_test.cc +++ b/test/cpuinfo_x86_test.cc @@ -1190,6 +1190,21 @@ TEST_F(CpuidX86Test, INTEL_CML_H) { EXPECT_EQ(GetX86Microarchitecture(&info), X86Microarchitecture::INTEL_CML); } +// https://github.com/InstLatx64/InstLatx64/blob/master/GenuineIntel/GenuineIntel00A0660_CometLake_CPUID1.txt +TEST_F(CpuidX86Test, INTEL_CML_U2) { + cpu().SetLeaves({ + {{0x00000000, 0}, Leaf{0x00000016, 0x756E6547, 0x6C65746E, 0x49656E69}}, + {{0x00000001, 0}, Leaf{0x000A0660, 0x00100800, 0x7FFAFBBF, 0xBFEBFBFF}}, + }); + const auto info = GetX86Info(); + + EXPECT_STREQ(info.vendor, CPU_FEATURES_VENDOR_GENUINE_INTEL); + EXPECT_EQ(info.family, 0x06); + EXPECT_EQ(info.model, 0xA6); + EXPECT_EQ(info.stepping, 0x00); + EXPECT_EQ(GetX86Microarchitecture(&info), X86Microarchitecture::INTEL_CML); +} + // http://users.atw.hu/instlatx64/GenuineIntel/GenuineIntel00806A1_Lakefield_CPUID.txt TEST_F(CpuidX86Test, INTEL_ATOM_TMT_LAKEFIELD) { cpu().SetLeaves({ -- cgit v1.2.3