summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_LoadStore.cpp9
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)