You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#else // ^^^ __vectorcall supported / __vectorcall not supported vvv
#define _EMIT_VECTORCALL(FUNC, OPT1, OPT2, OPT3)
#endif // ^^^ __vectorcall not supported ^^^
I'm not sure what effect this has. For all I know the compiler specifically doesn't reject our usage of __vectorcall just to support the STL. Removal is simple enough - see the patch below - but before simply yanking it I think we should investigate with the compiler team and ensure nothing actually useful is happening here. Thanks to llvm/llvm-project#87725 (comment) for bringing this to my attention.
We got confirmation from the compiler devs: __vectorcall is currently not supported for ARM64EC, and our usage should be guarded. Support for it is expected at some point in the future but it's low priority and there's no ETA.
The documentation says "On ARM64EC, `__vectorcall` is unsupported and rejected by the compiler." I'm not sure why our usage isn't being rejected, but we have confirmation from the compiler team that ARM64 doesn't currently accept `__vectorcall` so we should avoid it.
Fixesmicrosoft#4596
Per https://learn.microsoft.com/en-us/cpp/cpp/vectorcall?view=msvc-170:
but we use
__vectorcall
on ARM64EC:STL/stl/inc/type_traits
Lines 398 to 402 in 9aca224
I'm not sure what effect this has. For all I know the compiler specifically doesn't reject our usage of
__vectorcall
just to support the STL. Removal is simple enough - see the patch below - but before simply yanking it I think we should investigate with the compiler team and ensure nothing actually useful is happening here. Thanks to llvm/llvm-project#87725 (comment) for bringing this to my attention.The text was updated successfully, but these errors were encountered: