]> git.ipfire.org Git - thirdparty/zlib-ng.git/commitdiff
[ARM] Override Clang x4 NEON intrinsics for Android
authorMika Lindqvist <postmaster@raasu.org>
Sun, 25 Feb 2024 14:42:43 +0000 (16:42 +0200)
committerHans Kristian Rosbach <hk-github@circlestorm.org>
Tue, 5 Mar 2024 12:34:11 +0000 (13:34 +0100)
* 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

index 51df77dbe6855dc565f94a5520f8aaaf3b7d87ef..a9e99ec88a9ce968abdcf0cc7a12ad77af31fe48 100644 (file)
     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