Messages in this thread | | | From | Adrian Ratiu <> | Subject | [PATCH 0/2] arm: lib: xor-neon: Remove warn & disble neon vect | Date | Fri, 6 Nov 2020 07:14:34 +0200 |
| |
Dear all,
This is my attempt to close the loop on a relatively old discussion [1] caused by a compiler bug [2]. In a nutshell, the Clang build issues a bogus warning about GCC while it silently botches the neon auto-loop vectorization. :)
Many thanks to all who have investigated this issue before me. Arnd posted a workaround for xor.h [3], but I very much like his first suggestion of disabling the broken feature until the compiler is fixed.
Tested on latest linux next-20201105 using bcm2835 & versatile configs and Clang 10.0.1
P.S: While testing aarch64/imx8m I also noticed vectorization is broke there as well, but that deserves its own patch because it's a separate xor-neon implementation (if this approach is deemed sensible).
[1] https://patchwork.kernel.org/project/linux-arm-kernel/patch/20190528235742.105510-1-natechancellor@gmail.com/ [2] https://bugs.llvm.org/show_bug.cgi?id=40976 [3] https://bugs.llvm.org/show_bug.cgi?id=40976#c6
Kind regards, Adrian
Adrian Ratiu (1): arm: lib: xor-neon: disable clang vectorization
Nathan Chancellor (1): arm: lib: xor-neon: remove unnecessary GCC < 4.6 warning
arch/arm/include/asm/xor.h | 3 ++- arch/arm/lib/Makefile | 3 +++ arch/arm/lib/xor-neon.c | 13 +++++-------- 3 files changed, 10 insertions(+), 9 deletions(-)
-- 2.29.0
| |