[PATCH 0/4] Get rid of all NEON intrinsics stdint.h type hacks
Ard Biesheuvel
ardb+git at google.com
Thu Oct 29 06:50:20 PDT 2026
From: Ard Biesheuvel <ardb at kernel.org>
Recent Clang has become more finicky when it comes to overriding the
type macros that the freestanding stdint.h consumes when defining the
uintXX_t types, and so it is time to finally get rid of this entirely.
So instead of making stdint.h (which comes from the compiler when
-ffreestanding is set on the command line) agree with the kernel's
linux/types.h header, avoid the latter entirely in the compilation units
that actually use the NEON intrinsics (which are always leaf functions
that are not tightly coupled to kernel APIs).
Note that the disagreements are about long vs. long long on arm64, and
long vs. int on 32-bit ARM, so never about types that actually have
conflicting representations.
Cc: Christoph Hellwig <hch at lst.de>
Cc: Eric Biggers <ebiggers at kernel.org>
Cc: Nathan Chancellor <nathan at kernel.org>
Ard Biesheuvel (4):
lib/crc: Don't include <linux/types.h> in NEON intrinsics code
xor: arm/arm64: Move NEON xor_gen() dispatch into the glue code
arm64: Drop stdint.h type overrides from asm/neon-intrinsics.h
ARM: Drop stdint.h type overrides from asm/neon-intrinsics.h
Documentation/arch/arm/kernel_mode_neon.rst | 10 +++--
arch/arm/include/asm/neon-intrinsics.h | 43 +++-----------------
arch/arm64/include/asm/neon-intrinsics.h | 24 +++--------
lib/crc/crc64-neon.c | 10 ++---
lib/raid/xor/arm/xor-neon-glue.c | 3 ++
lib/raid/xor/arm/xor-neon.h | 16 +++++++-
lib/raid/xor/arm64/xor-eor3.c | 15 ++-----
lib/raid/xor/arm64/xor-neon-glue.c | 5 +++
lib/raid/xor/arm64/xor-neon.h | 31 ++++++++++++--
lib/raid/xor/xor-neon.c | 16 ++------
10 files changed, 78 insertions(+), 95 deletions(-)
--
2.56.0.313.g2479322e68-goog
More information about the linux-arm-kernel
mailing list