diff options
author | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2019-08-19 17:15:00 +0300 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2019-08-30 18:05:27 +1000 |
commit | af774e14399ab5e75c52469246310e457da4d657 (patch) | |
tree | 25e8f9a2d66c15ba5a1f66d42615de9631b3cdf3 /crypto/testmgr.c | |
parent | 736f76fe5199d7338e00785481d59bbe88d86eda (diff) | |
download | linux-crypto-af774e14399ab5e75c52469246310e457da4d657.tar.gz linux-crypto-af774e14399ab5e75c52469246310e457da4d657.zip |
crypto: arm64/aegis128 - use explicit vector load for permute vectors
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 <natechancellor@gmail.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Tested-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto/testmgr.c')
0 files changed, 0 insertions, 0 deletions