mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2026-04-24 13:29:15 -05: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