linux/arch
Ard Biesheuvel a69cb445f7 crypto: arm/xor - make vectorized C code Clang-friendly
The ARM version of the accelerated XOR routines are simply the 8-way C
routines passed through the auto-vectorizer with SIMD codegen enabled.
This used to require GCC version 4.6 at least, but given that 5.1 is now
the baseline, this check is no longer necessary, and actually
misidentifies Clang as GCC < 4.6 as Clang defines the GCC major/minor as
well, but makes no attempt at doing this in a way that conveys feature
parity with a certain version of GCC (which would not be a great idea in
the first place).

So let's drop the version check, and make the auto-vectorize pragma
(which is based on a GCC-specific command line option) GCC-only. Since
Clang performs SIMD auto-vectorization by default at -O2, no pragma is
necessary here.

Tested-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Link: https://github.com/ClangBuiltLinux/linux/issues/496
Link: https://github.com/ClangBuiltLinux/linux/issues/503
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2022-02-11 20:39:39 +11:00
..
alpha lib/xor: make xor prototypes more friendly to compiler vectorization 2022-02-11 20:39:39 +11:00
arc bitmap patches for 5.17-rc1 2022-01-23 06:20:44 +02:00
arm crypto: arm/xor - make vectorized C code Clang-friendly 2022-02-11 20:39:39 +11:00
arm64 lib/xor: make xor prototypes more friendly to compiler vectorization 2022-02-11 20:39:39 +11:00
csky bitmap patches for 5.17-rc1 2022-01-23 06:20:44 +02:00
h8300 bitmap patches for 5.17-rc1 2022-01-23 06:20:44 +02:00
hexagon bitmap patches for 5.17-rc1 2022-01-23 06:20:44 +02:00
ia64 lib/xor: make xor prototypes more friendly to compiler vectorization 2022-02-11 20:39:39 +11:00
m68k bitmap patches for 5.17-rc1 2022-01-23 06:20:44 +02:00
microblaze Kbuild updates for v5.17 2022-01-19 11:15:19 +02:00
mips bitmap patches for 5.17-rc1 2022-01-23 06:20:44 +02:00
nds32 Kbuild updates for v5.17 2022-01-19 11:15:19 +02:00
nios2 Kbuild updates for v5.17 2022-01-19 11:15:19 +02:00
openrisc bitmap patches for 5.17-rc1 2022-01-23 06:20:44 +02:00
parisc bitmap patches for 5.17-rc1 2022-01-23 06:20:44 +02:00
powerpc lib/xor: make xor prototypes more friendly to compiler vectorization 2022-02-11 20:39:39 +11:00
riscv bitmap patches for 5.17-rc1 2022-01-23 06:20:44 +02:00
s390 lib/xor: make xor prototypes more friendly to compiler vectorization 2022-02-11 20:39:39 +11:00
sh bitmap patches for 5.17-rc1 2022-01-23 06:20:44 +02:00
sparc lib/xor: make xor prototypes more friendly to compiler vectorization 2022-02-11 20:39:39 +11:00
um virtio,vdpa,qemu_fw_cfg: features, cleanups, fixes 2022-01-18 10:05:48 +02:00
x86 lib/xor: make xor prototypes more friendly to compiler vectorization 2022-02-11 20:39:39 +11:00
xtensa bitmap patches for 5.17-rc1 2022-01-23 06:20:44 +02:00
.gitignore
Kconfig Merge branch 'akpm' (patches from Andrew) 2022-01-20 10:41:01 +02:00