On Mon, Aug 19, 2019 at 05:15:00PM +0300, Ard Biesheuvel wrote:
> When building the new aegis128 NEON code in big endian mode, Clang
> complains about the const uint8x16_t permute vectors in the following
> way:
>
> crypto/aegis128-neon-inner.c:58:40: warning: vector initializers are not
> compatible with NEON intrinsics in big endian mode
> [-Wnonportable-vector-initialization]
> static const uint8x16_t shift_rows = {
> ^
> crypto/aegis128-neon-inner.c:58:40: note: consider using vld1q_u8() to
> initialize a vector from memory, or vcombine_u8(vcreate_u8(),
> vcreate_u8())
> to initialize from integer constants
>
> Since the same issue applies to the uint8x16x4_t loads of the AES Sbox,
> update those references as well. However, since GCC does not implement
> the vld1q_u8_x4() intrinsic, switch from IS_ENABLED() to a preprocessor
> conditional to conditionally include this code.
>
> Reported-by: Nathan Chancellor <[email protected]>
> Signed-off-by: Ard Biesheuvel <[email protected]>
> ---
> crypto/aegis128-neon-inner.c | 38 ++++++++++----------
> 1 file changed, 19 insertions(+), 19 deletions(-)
Patch applied. Thanks.
--
Email: Herbert Xu <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt