Skip to content

Commit 6d5ae6c

Browse files
degasusserge-sans-paille
authored andcommitted
MSVC/arm64ec: Deassert XSIMD_WITH_SSE2.
The ARM64EC ABI is designed to provide native ARM64 code into emulated x64 applications. Long blog article about ARM64EC: http://www.emulators.com/docs/abc_arm64ec_explained.htm For this goal, it *on purpose* needs to define both `_M_AMD64` and `_M_X64`, however it does not define `__SSE2__`. SSE *should* be supported, but it fails to compile our constant setting methods: ``` xsimd_sse2.hpp(1479): warning C4003: not enough arguments for function-like macro invocation '_mm_setr_ps' xsimd_sse2.hpp(1479): error C2760: syntax error: '...' was unexpected here; expected ')' ``` I think this is likely a bug within their intrinsics, however not enabling SSE might still be better on an emulated platform anyways.
1 parent 7e3a09c commit 6d5ae6c

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

include/xsimd/config/xsimd_config.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -470,7 +470,7 @@
470470

471471
#endif
472472

473-
#if XSIMD_WITH_SSE3 || defined(_M_AMD64) || defined(_M_X64) || (defined(_M_IX86_FP) && _M_IX86_FP >= 2)
473+
#if XSIMD_WITH_SSE3 || ((defined(_M_AMD64) || defined(_M_X64)) && !defined(_M_ARM64EC)) || (defined(_M_IX86_FP) && _M_IX86_FP >= 2)
474474
#undef XSIMD_WITH_SSE2
475475
#define XSIMD_WITH_SSE2 1
476476
#endif

0 commit comments

Comments
 (0)