From: Un1q32 Date: Sun, 3 Aug 2025 18:46:52 +0000 (-0400) Subject: Disable NEON workaround on Clang 20 and above, and enable it for non-mobile platforms... X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;ds=sidebyside;p=thirdparty%2Fzlib-ng.git Disable NEON workaround on Clang 20 and above, and enable it for non-mobile platforms (#1942) --- diff --git a/arch/arm/neon_intrins.h b/arch/arm/neon_intrins.h index 39ce8b68..a24887ce 100644 --- a/arch/arm/neon_intrins.h +++ b/arch/arm/neon_intrins.h @@ -25,12 +25,10 @@ out.val[3] = vqsubq_u16(a.val[3], b); \ } while (0) -#if defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE == 1 -# define IS_IOS -#endif - -# if defined(__arm__) && (defined(__ANDROID__) || defined(IS_IOS)) -/* Android & iOS have too strict alignment requirement (:256) for x4 NEON intrinsics */ +# if defined(__arm__) && defined(__clang__) && \ + (!defined(__clang_major__) || __clang_major__ < 20) +/* Clang versions before 20 have too strict of an + * alignment requirement (:256) for x4 NEON intrinsics */ # undef ARM_NEON_HASLD4 # undef vld1q_u16_x4 # undef vld1q_u8_x4