mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2026-01-03 11:14:49 +00:00
When a guest register is an immediate, it may be necessary to move this value into a register. This is handled by gpr.R(), which lacks context on how the register will be used. This leads to cases where the immediate is written to a register, only for it to be overwritten. Take for example this code generated by srwx: 0x5280031b mov w27, #0x18 0x53187edb lsr w27, w22, #24 gpr.BindToRegister() does have this context through the do_load parameter, but didn't handle immediates. By adding this logic, we can intelligently skip the write when do_load is false. |
||
|---|---|---|
| .. | ||
| AudioCommon | ||
| Common | ||
| Core | ||
| DiscIO | ||
| DolphinNoGUI | ||
| DolphinQt | ||
| DolphinTool | ||
| InputCommon | ||
| MacUpdater | ||
| UICommon | ||
| UpdaterCommon | ||
| VideoBackends | ||
| VideoCommon | ||
| WinUpdater | ||
| CMakeLists.txt | ||
| DolphinLib.ARM64.props | ||
| DolphinLib.props | ||
| DolphinLib.vcxproj | ||
| DolphinLib.vcxproj.user | ||
| DolphinLib.x64.props | ||