diff options
| author | Bram Speeckaert <bram.speeckaert@guardsquare.com> | 2022-09-25 10:04:51 +0200 |
|---|---|---|
| committer | Bram Speeckaert <bram.speeckaert@guardsquare.com> | 2022-09-25 10:04:51 +0200 |
| commit | 9d73583ea307b54d1b8fae1a5d0ec1bd9de8e43a (patch) | |
| tree | 4a2c53f2127805fbb4c6872427851b577c0d687f /Source/Core/DolphinQt/Debugger/BreakpointWidget.cpp | |
| parent | 199d2be9390f64da76131c0d0c64ea550c5bd012 (diff) | |
JitArm64: Skip redundant imm to register writes
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.
Diffstat (limited to 'Source/Core/DolphinQt/Debugger/BreakpointWidget.cpp')
0 files changed, 0 insertions, 0 deletions
