diff options
author | Simon Tatham <anakin@pobox.com> | 2022-10-12 14:54:36 +0300 |
---|---|---|
committer | Simon Tatham <anakin@pobox.com> | 2022-10-12 22:01:58 +0300 |
commit | 2222cd104dc5bd424fe025b98c133c91195cf9f3 (patch) | |
tree | 0d28ef5bd5cc23e3b7dfddb4bb6fc376e3e79bec /cmake | |
parent | 0615767224a5a5234b1916d45eca29cec1fe4a59 (diff) |
AES-GCM NEON: cope with missing vaddq_p128.
In some compilers (I'm told clang 10, in particular), the NEON
intrinsic vaddq_p128 is missing, even though its input type poly128_t
is provided.
vaddq_p128 is just an XOR of two vector registers, so that's easy to
work around by casting to a more mundane type and back. Added a
configure-time test for that intrinsic, and a workaround to be used in
its absence.
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/cmake.h.in | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/cmake/cmake.h.in b/cmake/cmake.h.in index 91d52d78..5ad32515 100644 --- a/cmake/cmake.h.in +++ b/cmake/cmake.h.in @@ -54,6 +54,7 @@ #cmakedefine01 HAVE_CLMUL #cmakedefine01 HAVE_NEON_CRYPTO #cmakedefine01 HAVE_NEON_PMULL +#cmakedefine01 HAVE_NEON_VADDQ_P128 #cmakedefine01 HAVE_NEON_SHA512 #cmakedefine01 HAVE_NEON_SHA512_INTRINSICS #cmakedefine01 USE_ARM64_NEON_H |