diff options
author | Benjamin Barenblat <bbaren@google.com> | 2024-05-08 10:59:21 -0400 |
---|---|---|
committer | Benjamin Barenblat <bbaren@google.com> | 2024-05-08 10:59:21 -0400 |
commit | d8e2b896d5e3c1ebf2d6d0d37bd9e7a1b59e0b99 (patch) | |
tree | 33d0793fcdd3615f21e5b4f0e50ae20811a5bde5 /absl/crc/internal/cpu_detect.cc | |
parent | 57fc09f12cfb9642e7ebd4ca3c64d07154d2de9a (diff) | |
parent | d7aaad83b488fd62bd51c81ecf16cd938532cc0a (diff) | |
download | abseil-d8e2b896d5e3c1ebf2d6d0d37bd9e7a1b59e0b99.tar.gz abseil-d8e2b896d5e3c1ebf2d6d0d37bd9e7a1b59e0b99.tar.bz2 abseil-d8e2b896d5e3c1ebf2d6d0d37bd9e7a1b59e0b99.zip |
Merge new upstream LTS 20240116.2
Diffstat (limited to 'absl/crc/internal/cpu_detect.cc')
-rw-r--r-- | absl/crc/internal/cpu_detect.cc | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/absl/crc/internal/cpu_detect.cc b/absl/crc/internal/cpu_detect.cc index 83838085..d7eedd1c 100644 --- a/absl/crc/internal/cpu_detect.cc +++ b/absl/crc/internal/cpu_detect.cc @@ -189,8 +189,14 @@ CpuType GetAmdCpuType() { break; case 0x19: switch (model_num) { + case 0x0: // Stepping Ax case 0x1: // Stepping B0 return CpuType::kAmdMilan; + case 0x10: // Stepping A0 + case 0x11: // Stepping B0 + return CpuType::kAmdGenoa; + case 0x44: // Stepping A0 + return CpuType::kAmdRyzenV3000; default: return CpuType::kUnknown; } @@ -237,8 +243,26 @@ CpuType GetCpuType() { ABSL_INTERNAL_AARCH64_ID_REG_READ(MIDR_EL1, midr); uint32_t implementer = (midr >> 24) & 0xff; uint32_t part_number = (midr >> 4) & 0xfff; - if (implementer == 0x41 && part_number == 0xd0c) { - return CpuType::kArmNeoverseN1; + switch (implementer) { + case 0x41: + switch (part_number) { + case 0xd0c: return CpuType::kArmNeoverseN1; + case 0xd40: return CpuType::kArmNeoverseV1; + case 0xd49: return CpuType::kArmNeoverseN2; + case 0xd4f: return CpuType::kArmNeoverseV2; + default: + return CpuType::kUnknown; + } + break; + case 0xc0: + switch (part_number) { + case 0xac3: return CpuType::kAmpereSiryn; + default: + return CpuType::kUnknown; + } + break; + default: + return CpuType::kUnknown; } } return CpuType::kUnknown; |