diff options
author | 2025-04-17 05:39:07 +1000 | |
---|---|---|
committer | 2025-04-17 05:40:59 +1000 | |
commit | 1f6f0197df571e0604650295129712275840fb2b (patch) | |
tree | d683c79dd30eec055dbf1c1e63f90fc454f4d98f /src/osd/modules/lib/osdlib_unix.cpp | |
parent | c6313f80497d187e36636fc29653f398fe5a9b5e (diff) |
cpu/drcbex64.cpp: Always keep UML floating point registers in memory for SysV ABI.
This was changed in 822c3b4232b0a66ce92bba7a24084678004af444 but it
never worked for multiple reasons:
* The comment mentions saving around CALLC, but there is no code to save
and restore around CALLC, DEBUG and RECOVER, all of which can clobber
callee-saved registers.
* Numerous opcode handlers assume XMM0 and XMM1 can be used as scratch
registers, but this change mapped them to UML F0 and F1. This
resulted in F0 and F1 getting clobbered by many UML instructions.
Diffstat (limited to 'src/osd/modules/lib/osdlib_unix.cpp')
0 files changed, 0 insertions, 0 deletions