diff options
author | Derek Mauro <dmauro@google.com> | 2022-11-10 15:28:48 -0800 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2022-11-10 15:29:42 -0800 |
commit | 44bb804570f1efc9d72f503149e512719a8e4441 (patch) | |
tree | 418be2c4208fcfe2c80d60b1139c4debc1c0f822 /absl | |
parent | 04658377111baab53430755431b2b9b4da925e5c (diff) |
CRC: Ensure SupportsArmCRC32PMULL() is defined
This fixes the build on arm64 macOS.
Note that hardware acceleration is not yet enabled on arm64 when not
running under Linux.
Addresses the report from https://github.com/abseil/abseil-cpp/commit/1687dbf814eceb93de2d93f91b31acaab404091c#commitcomment-89529264
PiperOrigin-RevId: 487655295
Change-Id: I168dfc863c960d0b694b26dfcb85ff0fd0e95a1e
Diffstat (limited to 'absl')
-rw-r--r-- | absl/crc/internal/cpu_detect.cc | 4 | ||||
-rw-r--r-- | absl/crc/internal/cpu_detect.h | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/absl/crc/internal/cpu_detect.cc b/absl/crc/internal/cpu_detect.cc index e10c7ac0..339b7cc7 100644 --- a/absl/crc/internal/cpu_detect.cc +++ b/absl/crc/internal/cpu_detect.cc @@ -206,6 +206,8 @@ CpuType GetCpuType() { } } +bool SupportsArmCRC32PMULL() { return false; } + #elif defined(__aarch64__) && defined(__linux__) #define ABSL_INTERNAL_AARCH64_ID_REG_READ(id, val) \ @@ -240,6 +242,8 @@ bool SupportsArmCRC32PMULL() { CpuType GetCpuType() { return CpuType::kUnknown; } +bool SupportsArmCRC32PMULL() { return false; } + #endif } // namespace crc_internal diff --git a/absl/crc/internal/cpu_detect.h b/absl/crc/internal/cpu_detect.h index 54cb328a..6054f696 100644 --- a/absl/crc/internal/cpu_detect.h +++ b/absl/crc/internal/cpu_detect.h @@ -43,14 +43,12 @@ enum class CpuType { // the host CPU is of unknown type, or if detection otherwise fails. CpuType GetCpuType(); -#if defined(__aarch64__) // Returns whether the host CPU supports the CPU features needed for our // accelerated implementations. The CpuTypes enumerated above apart from // kUnknown support the required features. On unknown CPUs, we can use // this to see if it's safe to use hardware acceleration, though without any // tuning. bool SupportsArmCRC32PMULL(); -#endif } // namespace crc_internal ABSL_NAMESPACE_END |