summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUn1q32 <joey.t.reinhart@gmail.com>2025-08-03 14:46:52 -0400
committerGitHub <noreply@github.com>2025-08-03 20:46:52 +0200
commit3a52db3d3725be75a098e92a11879f037d6278f9 (patch)
treef31c000c4bca842661d5cfe68f8e1ba1c2d7189e
parent44f7b759ea7bc28e6863fc7eabc8d04939a5ed9b (diff)
downloadProject-Tick-3a52db3d3725be75a098e92a11879f037d6278f9.tar.gz
Project-Tick-3a52db3d3725be75a098e92a11879f037d6278f9.zip
Disable NEON workaround on Clang 20 and above, and enable it for non-mobile platforms (#1942)
-rw-r--r--arch/arm/neon_intrins.h10
1 files changed, 4 insertions, 6 deletions
diff --git a/arch/arm/neon_intrins.h b/arch/arm/neon_intrins.h
index 39ce8b681f..a24887ce52 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