summaryrefslogtreecommitdiff
path: root/absl/crc/internal/crc32_x86_arm_combined_simd.h
diff options
context:
space:
mode:
Diffstat (limited to 'absl/crc/internal/crc32_x86_arm_combined_simd.h')
-rw-r--r--absl/crc/internal/crc32_x86_arm_combined_simd.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/absl/crc/internal/crc32_x86_arm_combined_simd.h b/absl/crc/internal/crc32_x86_arm_combined_simd.h
index f6c2a21c..f23cd75e 100644
--- a/absl/crc/internal/crc32_x86_arm_combined_simd.h
+++ b/absl/crc/internal/crc32_x86_arm_combined_simd.h
@@ -38,7 +38,8 @@
#define ABSL_CRC_INTERNAL_HAVE_X86_SIMD
#elif defined(__aarch64__) && defined(__LITTLE_ENDIAN__) && \
- defined(__ARM_FEATURE_CRC32) && defined(__ARM_NEON)
+ defined(__ARM_FEATURE_CRC32) && defined(__ARM_NEON) && \
+ defined(__ARM_FEATURE_CRYPTO)
#include <arm_acle.h>
#include <arm_neon.h>
@@ -254,7 +255,7 @@ inline int64_t V128_Low64(const V128 l) {
}
inline V128 V128_ShiftLeft64(const V128 l, const V128 r) {
- return vshlq_u64(l, r);
+ return vshlq_u64(l, vreinterpretq_s64_u64(r));
}
#endif