[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190228174728.GE226495@arrakis.emea.arm.com>
Date: Thu, 28 Feb 2019 17:47:28 +0000
From: Catalin Marinas <catalin.marinas@....com>
To: ndesaulniers@...gle.com
Cc: will.deacon@....com, ard.biesheuvel@...aro.org, arnd@...db.de,
broonie@...nel.org, linux@...linux.org.uk,
linux-arm-kernel@...ts.infradead.org,
Nathan Chancellor <natechancellor@...il.com>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] lib/raid6: use vdupq_n_u8 to avoid endianness warnings
On Mon, Feb 25, 2019 at 08:03:42PM -0800, ndesaulniers@...gle.com wrote:
> Clang warns: vector initializers are not compatible with NEON intrinsics
> in big endian mode [-Wnonportable-vector-initialization]
>
> While this is usually the case, it's not an issue for this case since
> we're initializing the uint8x16_t (16x uint8_t's) with the same value.
>
> Instead, use vdupq_n_u8 which both compilers lower into a single movi
> instruction: https://godbolt.org/z/vBrgzt
>
> This avoids the static storage for a constant value.
>
> Link: https://github.com/ClangBuiltLinux/linux/issues/214
> Suggested-by: Nathan Chancellor <natechancellor@...il.com>
> Signed-off-by: Nick Desaulniers <ndesaulniers@...gle.com>
> ---
> lib/raid6/neon.uc | 5 ++---
> lib/raid6/recov_neon_inner.c | 7 ++-----
> 2 files changed, 4 insertions(+), 8 deletions(-)
Queued for 5.1. Thanks.
--
Catalin
Powered by blists - more mailing lists