diff options
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_LoadStore.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_LoadStore.cpp b/Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_LoadStore.cpp index 6687b5a7b2..ffd87f6b08 100644 --- a/Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_LoadStore.cpp +++ b/Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_LoadStore.cpp @@ -597,7 +597,7 @@ void lwarx(UGeckoInstruction _inst) void stwcxd(UGeckoInstruction _inst)
{
- // This instruction, too
+ // This instruction, too
//PanicAlert("stwcxd - suspicious instruction");
// Stores Word Conditional indeXed
@@ -609,13 +609,12 @@ void stwcxd(UGeckoInstruction _inst) if(uAddress == g_reserveAddr) {
Memory::Write_U32(m_GPR[_inst.RS], uAddress);
g_bReserve = false;
-
+ SetCRField(0, 2 | XER.SO);
return;
}
- }
-
- // TODO: Set CR0 to IS_XER_SO
+ }
+ SetCRField(0, XER.SO);
}
void stwux(UGeckoInstruction _inst)
|
