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)