Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x86emitter: Backup and restore non-volatile SSE registers #12183

Merged
merged 1 commit into from
Jan 13, 2025

Conversation

TheLastRar
Copy link
Contributor

XMM6-XMM15 are non-volatile on Windows

Description of Changes

On windows, backup and restore XMM5-XMM15 when using xScopedStackFrame

Rationale behind Changes

These registers can be clobbered by recompiled code, while the calling code will expect these registers preserved.
This appears to be the cause behind #11549, at least with Jak X when testing with MTVU disabled.

Suggested Testing Steps

Test to make sure I didn't blow up the core

XMM6-XMM15 are non-volatile on Windows
@F0bes F0bes merged commit f33064a into PCSX2:master Jan 13, 2025
12 checks passed
@TheLastRar TheLastRar deleted the win-backup-nv-xmm branch January 13, 2025 16:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants