MSDN says:
QuoteIn addition to the type aliases, you must also use the XM_CALLCONV annotation to make sure the function uses the appropriate calling convention (__fastcall versus __vectorcall) based on your compiler and architecture. Because of limitations with __vectorcall, we recommend that you not use XM_CALLCONV for C++ constructors.
But what about functions who just return XMVECTOR or XMMATRIX without accepting parameters of these type aliases?
Should one write:
XMVECTOR XM_CALLCONV f();
or
XMVECTOR f();
?