Re: [PATCH v4 1/2] arm: lib: xor-neon: remove unnecessary GCC < 4.6 warning
From: Arnd Bergmann <arnd@kernel.org>
Date: 2021-01-19 21:37:34
Also in:
lkml
On Tue, Jan 19, 2021 at 10:18 PM 'Nick Desaulniers' via Clang Built Linux [off-list ref] wrote:
On Tue, Jan 19, 2021 at 5:17 AM Adrian Ratiu [off-list ref] wrote:quoted
diff --git a/arch/arm/lib/xor-neon.c b/arch/arm/lib/xor-neon.c index b99dd8e1c93f..f9f3601cc2d1 100644 --- a/arch/arm/lib/xor-neon.c +++ b/arch/arm/lib/xor-neon.c@@ -14,20 +14,22 @@ MODULE_LICENSE("GPL"); #error You should compile this file with '-march=armv7-a -mfloat-abi=softfp -mfpu=neon' #endif +/* + * TODO: Even though -ftree-vectorize is enabled by default in Clang, the + * compiler does not produce vectorized code due to its cost model. + * See: https://github.com/ClangBuiltLinux/linux/issues/503 + */ +#ifdef CONFIG_CC_IS_CLANG +#warning Clang does not vectorize code in this file. +#endifArnd, remind me again why it's a bug that the compiler's cost model says it's faster to not produce a vectorized version of these loops? I stand by my previous comment: https://bugs.llvm.org/show_bug.cgi?id=40976#c8
The point is that without vectorizing the code, there is no point in building
both the default xor code and a "neon" version that has to save/restore
the neon registers but doesn't actually use them.
Arnd
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel