From: Mika Lindqvist Date: Sun, 25 Feb 2024 14:42:43 +0000 (+0200) Subject: [ARM] Override Clang x4 NEON intrinsics for Android X-Git-Tag: 2.2.0~46 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=af494fc34f01878133806af7ad52f4e14f61c460;p=thirdparty%2Fzlib-ng.git [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 --- 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