From e50e52c86212a2348fd77648c5935b41ef4d482a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Heusipp?= Date: Fri, 7 Nov 2025 22:23:48 +0100 Subject: [PATCH] Fix MSVC ARM64EC build. Treat MSVC ARM64EC the same as ARM64. --- minimp3.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/minimp3.h b/minimp3.h index 3220ae1..b64b6f3 100644 --- a/minimp3.h +++ b/minimp3.h @@ -86,7 +86,7 @@ int mp3dec_decode_frame(mp3dec_t *dec, const uint8_t *mp3, int mp3_bytes, mp3d_s #if !defined(MINIMP3_NO_SIMD) -#if !defined(MINIMP3_ONLY_SIMD) && (defined(_M_X64) || defined(__x86_64__) || defined(__aarch64__) || defined(_M_ARM64)) +#if !defined(MINIMP3_ONLY_SIMD) && (defined(_M_X64) || defined(__x86_64__) || defined(__aarch64__) || defined(_M_ARM64) || defined(_M_ARM64EC)) /* x64 always have SSE2, arm64 always have neon, no need for generic code */ #define MINIMP3_ONLY_SIMD #endif /* SIMD checks... */ @@ -161,7 +161,7 @@ static int have_simd(void) return g_have_simd - 1; #endif /* MINIMP3_ONLY_SIMD */ } -#elif defined(__ARM_NEON) || defined(__aarch64__) || defined(_M_ARM64) +#elif defined(__ARM_NEON) || defined(__aarch64__) || defined(_M_ARM64) || defined(_M_ARM64EC) #include #define HAVE_SSE 0 #define HAVE_SIMD 1 @@ -191,7 +191,7 @@ static int have_simd() #define HAVE_SIMD 0 #endif /* !defined(MINIMP3_NO_SIMD) */ -#if defined(__ARM_ARCH) && (__ARM_ARCH >= 6) && !defined(__aarch64__) && !defined(_M_ARM64) +#if defined(__ARM_ARCH) && (__ARM_ARCH >= 6) && !defined(__aarch64__) && !defined(_M_ARM64) && !defined(_M_ARM64EC) #define HAVE_ARMV6 1 static __inline__ __attribute__((always_inline)) int32_t minimp3_clip_int16_arm(int32_t a) {