From 743a5f092d675ae014f3e1904199c9308b1138bf Mon Sep 17 00:00:00 2001 From: James Zern Date: Wed, 5 Mar 2025 16:56:20 -0800 Subject: [PATCH] enc_neon: enable vld1q_u8_x4 for clang & msvc This restores the use of the function after 980b708e enc_neon: fix build w/aarch64 gcc < 9.4.0 The intrinsic was added to llvm for aarch64 in: 5e4ce1ae9dad Implement the newly added AArch64 ACLE functions for ld1/st1 with 2/3/4 vectors. The functions are like: vst1_s8_x2 ... llvmorg-3.4.0-rc1~101 https://github.com/llvm/llvm-project/commit/5e4ce1ae9dad Visual Studio 2019 and 2022 also support the function (2017 is still disabled for this path due to it relying on arm64_neon.h). Change-Id: I6ff10e22deb3968a48738a4458d2d3d55410b5ec --- src/dsp/enc_neon.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dsp/enc_neon.c b/src/dsp/enc_neon.c index c1c0a696..0a26ee8d 100644 --- a/src/dsp/enc_neon.c +++ b/src/dsp/enc_neon.c @@ -946,7 +946,7 @@ static int Quantize2Blocks_NEON(int16_t in[32], int16_t out[32], } while (0) static WEBP_INLINE uint8x16x4_t Vld1qU8x4(const uint8_t* ptr) { -#if LOCAL_GCC_PREREQ(9, 4) +#if LOCAL_CLANG_PREREQ(3, 4) || LOCAL_GCC_PREREQ(9, 4) || defined(_MSC_VER) return vld1q_u8_x4(ptr); #else uint8x16x4_t res;