summaryrefslogtreecommitdiff
path: root/absl/crc
diff options
context:
space:
mode:
authorGravatar Derek Mauro <dmauro@google.com>2022-11-10 15:28:48 -0800
committerGravatar Copybara-Service <copybara-worker@google.com>2022-11-10 15:29:42 -0800
commit44bb804570f1efc9d72f503149e512719a8e4441 (patch)
tree418be2c4208fcfe2c80d60b1139c4debc1c0f822 /absl/crc
parent04658377111baab53430755431b2b9b4da925e5c (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/crc')
-rw-r--r--absl/crc/internal/cpu_detect.cc4
-rw-r--r--absl/crc/internal/cpu_detect.h2
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