diff --git a/Source/Core/Core/PowerPC/Jit64/Jit_LoadStoreFloating.cpp b/Source/Core/Core/PowerPC/Jit64/Jit_LoadStoreFloating.cpp index 0af85a9f26..fd41ff0404 100644 --- a/Source/Core/Core/PowerPC/Jit64/Jit_LoadStoreFloating.cpp +++ b/Source/Core/Core/PowerPC/Jit64/Jit_LoadStoreFloating.cpp @@ -22,7 +22,7 @@ void Jit64::lfXXX(UGeckoInstruction inst) bool indexed = inst.OPCD == 31; bool update = indexed ? !!(inst.SUBOP10 & 0x20) : !!(inst.OPCD & 1); bool single = indexed ? !(inst.SUBOP10 & 0x40) : !(inst.OPCD & 2); - update &= indexed || inst.SIMM_16; + update &= indexed || (inst.SIMM_16 != 0); int d = inst.RD; int a = inst.RA; @@ -93,7 +93,7 @@ void Jit64::stfXXX(UGeckoInstruction inst) bool indexed = inst.OPCD == 31; bool update = indexed ? !!(inst.SUBOP10 & 0x20) : !!(inst.OPCD & 1); bool single = indexed ? !(inst.SUBOP10 & 0x40) : !(inst.OPCD & 2); - update &= indexed || inst.SIMM_16; + update &= indexed || (inst.SIMM_16 != 0); int s = inst.RS; int a = inst.RA; @@ -101,7 +101,7 @@ void Jit64::stfXXX(UGeckoInstruction inst) s32 imm = (s16)inst.SIMM_16; int accessSize = single ? 32 : 64; - FALLBACK_IF(update && jo.memcheck && a == b); + FALLBACK_IF(update && jo.memcheck && indexed && a == b); if (single) {