From af494fc34f01878133806af7ad52f4e14f61c460 Mon Sep 17 00:00:00 2001 From: Mika Lindqvist Date: Sun, 25 Feb 2024 16:42:43 +0200 Subject: [PATCH] [ARM] Override Clang x4 NEON intrinsics for Android * Clang for Android requires 256-bit alignment for x4 loads and stores, which can't be guaranteed and is unnecessary --- arch/arm/neon_intrins.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/arch/arm/neon_intrins.h b/arch/arm/neon_intrins.h index 51df77db..a9e99ec8 100644 --- a/arch/arm/neon_intrins.h +++ b/arch/arm/neon_intrins.h @@ -25,6 +25,13 @@ out.val[3] = vqsubq_u16(a.val[3], b); \ } while (0) +# if defined(__clang__) && defined(__arm__) && defined(__ANDROID__) +/* Clang for 32-bit Android has too strict alignment requirement (:256) for x4 NEON intrinsics */ +# undef ARM_NEON_HASLD4 +# undef vld1q_u16_x4 +# undef vld1q_u8_x4 +# undef vst1q_u16_x4 +# endif # ifndef ARM_NEON_HASLD4 -- 2.47.2