Move the alignment specifier on fe1305x2 to the type The assembly uses aligned loads for all these. Change-Id: I76e955861c998b2acc0f176363fed04d8f30ecdd Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/98447 Commit-Queue: David Benjamin <davidben@google.com> Auto-Submit: David Benjamin <davidben@google.com> Reviewed-by: Adam Langley <agl@google.com>
diff --git a/crypto/poly1305/poly1305_arm.cc b/crypto/poly1305/poly1305_arm.cc index 6620d70..2011000 100644 --- a/crypto/poly1305/poly1305_arm.cc +++ b/crypto/poly1305/poly1305_arm.cc
@@ -28,9 +28,9 @@ #if defined(OPENSSL_POLY1305_NEON) -typedef struct { +struct alignas(16) fe1305x2 { uint32_t v[12]; // for alignment; only using 10 -} fe1305x2; +}; #define addmulmod openssl_poly1305_neon2_addmulmod #define blocks openssl_poly1305_neon2_blocks @@ -169,7 +169,7 @@ } } -static const fe1305x2 zero alignas(16) = {0}; +static const fe1305x2 zero = {0}; struct poly1305_state_st { fe1305x2 r, h, c, precomp[2];