On Fri Jul 18 21:47:25 2025 +0000, Bernhard Übelacker wrote:
I found following pre-defined macros. Still strange arm64ec has x86_64 ...
$ clang -target arm64ec-windows -dM -E -x c /dev/null | grep -E "__x86_64__|arm.*ec" #define __arm64ec__ 1 #define __x86_64__ 1
It needs to use the x86_64 versions of various data structures, so it can interoperate with actual emulated x86_64 code.
MSVC doesn't permit inline asm outside i386, and most or all intrinsics are available (even the SSE/AVX ones work, though the ones that don't correspond to ARM instructions are slow), so there's little or nothing that'd work as actual x86_64 under MSVC but fail as arm64ec.
But yes, sucks for us. But we're not really Microsoft's target audience, are we?