On Wednesday, 19 October 2016 at 09:34:39 UTC, Manu wrote:
I dunno how it could have not been considered, since it was the
exact
example I've given every time, and the exact case that
motivated my first
(and many subsequent) posts on this forum back when we still
worked at
Krome.. all this time later I *still* just wanna call functions
in games
engines that receive a vector or matrix ;)
Well, it could very well have been the specifics as we laid it
out that weren't considered, ie avoiding temporary variables that
we never use again; and taking by const reference to avoid
copying the struct to the stack (whether just created or already
previously stored on the stack etc).
Win64 also has the __vectorcall calling convention, but that
doesn't help in cases where you pass in several matrices as
inputs for example. And it's not portable to other viable gaming
platforms.
https://msdn.microsoft.com/en-us/library/dn375768.aspx