From 837f715eec60b09afd3586eca999d8c645650594 Mon Sep 17 00:00:00 2001 From: Pratham Kumar Date: Wed, 17 Jun 2026 14:20:58 +0530 Subject: [PATCH] Merge pull request #29283 from pratham-mcw:exp-neon-opt Restricting the condition with _M_IX86/_M_X64 so it only applies to x86/x64 MSVC builds. MSVC ARM64 now falls through to the existing `#else` branch, which already has a portable CV_SIMD-based exp32f/exp64f implementation **Performance Benchmarks:** image - [x] I agree to contribute to the project under Apache 2 License. - [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV - [x] The PR is proposed to the proper branch --- modules/core/src/mathfuncs_core.simd.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/core/src/mathfuncs_core.simd.hpp b/modules/core/src/mathfuncs_core.simd.hpp index d9289ecb4e..8c4dbffe1d 100644 --- a/modules/core/src/mathfuncs_core.simd.hpp +++ b/modules/core/src/mathfuncs_core.simd.hpp @@ -595,7 +595,7 @@ void sqrt64f(const double* src, double* dst, int len) // Workaround for ICE in MSVS 2015 update 3 (issue #7795) // CV_AVX is not used here, because generated code is faster in non-AVX mode. // (tested with disabled IPP on i5-6300U) -#if (defined _MSC_VER && _MSC_VER >= 1900) || defined(__EMSCRIPTEN__) +#if (defined _MSC_VER && _MSC_VER >= 1900 && (defined(_M_IX86) || defined(_M_X64))) || defined(__EMSCRIPTEN__) void exp32f(const float *src, float *dst, int n) { CV_INSTRUMENT_REGION();