diff options
| author | Un1q32 <joey.t.reinhart@gmail.com> | 2025-08-03 14:46:52 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-08-03 20:46:52 +0200 |
| commit | 3a52db3d3725be75a098e92a11879f037d6278f9 (patch) | |
| tree | f31c000c4bca842661d5cfe68f8e1ba1c2d7189e | |
| parent | 44f7b759ea7bc28e6863fc7eabc8d04939a5ed9b (diff) | |
| download | Project-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.h | 10 |
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 |
