Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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.
- Loading branch information