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:
MerryMage 2018-11-10 10:57:15 +00:00
parent 0e1cca54da
commit df08a77812
1 changed files with 1 additions and 1 deletions

View File

@ -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();