mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-23 14:19:46 -06:00
Jit_LoadStore: Ra needs to be ReadWrite when writeback is required
This was an erronous change in 534db3b
, Ra was previously loaded but was changed to not being loaded.
Why is loading necessary? Loading is necessary because when a memory exception occurs, the current
register values are flushed. This occurs before a new value is loaded into Ra, so the previous value
is required in Ra.
This commit is contained in:
@ -244,7 +244,7 @@ void Jit64::lXXx(UGeckoInstruction inst)
|
||||
}
|
||||
}
|
||||
|
||||
RCX64Reg Ra = (update && storeAddress) ? gpr.Bind(a, RCMode::Write) : RCX64Reg{};
|
||||
RCX64Reg Ra = (update && storeAddress) ? gpr.Bind(a, RCMode::ReadWrite) : RCX64Reg{};
|
||||
RegCache::Realize(opAddress, Ra, Rd);
|
||||
|
||||
BitSet32 registersInUse = CallerSavedRegistersInUse();
|
||||
|
Reference in New Issue
Block a user