linux/arch/arm
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
..
boot Kbuild updates for v5.17 2022-01-19 11:15:19 +02:00
common Merge branches 'devel-stable' and 'misc' into for-linus 2021-11-02 09:04:22 +00:00
configs mm: remove cleancache 2022-01-22 08:33:38 +02:00
crypto crypto: arm/aes-neonbs-ctr - deal with non-multiples of AES block size 2022-02-05 15:10:51 +11:00
include lib/xor: make xor prototypes more friendly to compiler vectorization 2022-02-11 20:39:39 +11:00
kernel proc: remove PDE_DATA() completely 2022-01-22 08:33:37 +02:00
lib crypto: arm/xor - make vectorized C code Clang-friendly 2022-02-11 20:39:39 +11:00
mach-actions
mach-alpine
mach-artpec
mach-asm9260
mach-aspeed
mach-at91 ARM: at91: pm: Add of_node_put() before goto 2021-12-08 14:01:16 +01:00
mach-axxia
mach-bcm Devicetree updates for v5.16: 2021-11-02 22:22:13 -07:00
mach-berlin
mach-clps711x
mach-cns3xxx
mach-davinci
mach-digicolor
mach-dove arm: ioremap: Replace pci_ioremap_io() usage by pci_remap_iospace() 2021-12-07 17:36:16 +00:00
mach-ep93xx ep93xx: clock: convert in-place to COMMON_CLK 2021-10-20 17:46:36 +02:00
mach-exynos ARM: samsung: Remove HAVE_S3C2410_I2C and use direct dependencies 2021-11-21 17:46:18 +01:00
mach-footbridge
mach-gemini
mach-highbank
mach-hisi memblock: rename memblock_free to memblock_phys_free 2021-11-06 13:30:41 -07:00
mach-imx ARM: imx: remove dead left-over from i.MX{27,31,35} removal 2021-11-21 16:38:41 +08:00
mach-integrator clk: versatile: Rename ICST to CLK_ICST 2021-10-14 18:00:25 -07:00
mach-iop32x arm: ioremap: Replace pci_ioremap_io() usage by pci_remap_iospace() 2021-12-07 17:36:16 +00:00
mach-ixp4xx ARM: ixp4xx: remove dead configs CPU_IXP43X and CPU_IXP46X 2021-12-06 02:18:25 +01:00
mach-keystone
mach-lpc18xx
mach-lpc32xx
mach-mediatek
mach-meson
mach-milbeaut
mach-mmp
mach-moxart
mach-mstar
mach-mv78xx0 arm: ioremap: Replace pci_ioremap_io() usage by pci_remap_iospace() 2021-12-07 17:36:16 +00:00
mach-mvebu
mach-mxs
mach-nomadik
mach-npcm
mach-nspire
mach-omap1 Updates for the interrupt subsystem: 2021-11-01 13:09:10 -07:00
mach-omap2 ARM: SoC updates for v5.16 2021-11-03 16:48:32 -07:00
mach-orion5x arm: ioremap: Replace pci_ioremap_io() usage by pci_remap_iospace() 2021-12-07 17:36:16 +00:00
mach-oxnas
mach-pxa spi: pxa2xx: Get rid of unused ->cs_control() 2021-11-29 12:19:59 +00:00
mach-qcom ARM: SoC drivers for 5.16 2021-11-03 17:00:52 -07:00
mach-rda
mach-realtek
mach-realview clk: versatile: Rename ICST to CLK_ICST 2021-10-14 18:00:25 -07:00
mach-rockchip ARM: rockchip: Use memcpy_toio instead of memcpy on smp bring-up 2021-11-21 18:24:31 +01:00
mach-rpc printk changes for 5.15 2021-09-01 18:41:13 -07:00
mach-s3c ARM: samsung: Remove HAVE_S3C2410_I2C and use direct dependencies 2021-11-21 17:46:18 +01:00
mach-s5pv210 ARM: samsung: Remove HAVE_S3C2410_I2C and use direct dependencies 2021-11-21 17:46:18 +01:00
mach-sa1100 ARM: 9101/1: sa1100/assabet: convert LEDs to gpiod APIs 2021-10-25 13:11:54 +01:00
mach-shmobile ARM: shmobile: rcar-gen2: Add missing of_node_put() 2021-11-15 09:58:53 +01:00
mach-socfpga ARM: socfpga: Fix crash with CONFIG_FORTIRY_SOURCE 2021-11-18 16:19:40 -06:00
mach-spear
mach-sti
mach-stm32 ARM: stm32: add initial support for STM32MP13 family 2021-09-20 08:54:42 +02:00
mach-sunxi ARM: sunxi: Add a missing SPDX license header 2021-09-13 09:03:47 +02:00
mach-tegra ARM: SoC drivers for 5.15 2021-09-01 15:25:28 -07:00
mach-uniphier
mach-ux500 clk: ux500: Add driver for the reset portions of PRCC 2021-10-26 18:06:05 -07:00
mach-versatile clk: versatile: Rename ICST to CLK_ICST 2021-10-14 18:00:25 -07:00
mach-vexpress clk: versatile: Rename ICST to CLK_ICST 2021-10-14 18:00:25 -07:00
mach-vt8500
mach-zynq
mm kernel/sysctl.c: rename sysctl_init() to sysctl_init_bases() 2022-01-22 08:33:36 +02:00
net bpf, docs: Prune all references to "internal BPF" 2021-11-30 10:52:11 -08:00
nwfpe
plat-omap
plat-orion
plat-pxa
plat-versatile
probes ARM development for 5.16: 2021-11-02 11:33:15 -07:00
tools mm/mempolicy: wire up syscall set_mempolicy_home_node 2022-01-15 16:30:30 +02:00
vdso
vfp
xen arm/xen: Read extended regions from DT and init Xen resource 2022-01-06 09:53:41 +01:00
Kbuild kbuild: use more subdir- for visiting subdirectories while cleaning 2021-10-24 13:49:46 +09:00
Kconfig Peter Zijlstra says: 2022-01-11 17:24:45 -08:00
Kconfig-nommu
Kconfig.assembler
Kconfig.debug Kbuild updates for v5.17 2022-01-19 11:15:19 +02:00
Makefile ARM fixes for 5.16-rc1: 2021-11-14 11:30:50 -08:00