Fix push & pop of XMM registers.
Microsoft's x86-64 calling convention ABI requires registers XMM6-15 to
be preserved by the callee:
https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention?view=vs-2017#calling-convention-defaults
Implement a _pop_reg() analog to _push_reg(), so we can specialize
the XMM treatment. Pass the RegNum all the way down to the specialized
class, because we don't know which registers should be 128-bit at the call site.
Bug chromium:931926
Bug swiftshader:22
Change-Id: I57637c852f0f3bb9a374d61a16a7aaa434ac908d
Reviewed-on: https://swiftshader-review.googlesource.com/c/25468Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Tested-by:
Stephen White <senorblanco@chromium.org>
Showing
Please
register
or
sign in
to comment