-
Work around x86-64 calling convention bug · 2ff3639dNicolas Capens authored
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 Currently only the System V calling convention's behavior is supported, which does not have any callee-saved XMM registers. Fixing this properly is non-trivial and this bug is blocking other projects, so a temporary workaround is to limit Subzero to use only scratch registers XMM0-XMM5. Bug chromium:931926 Bug swiftshader:22 Change-Id: If3fde2295fc65fc52042124afe7dfc46873cce3f Reviewed-on: https://swiftshader-review.googlesource.com/c/25568Tested-by:
Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
2ff3639d
×