From d42305aba07efaf6b258effa22d0cdfdf2e8620a Mon Sep 17 00:00:00 2001 From: Fiora Date: Fri, 28 Nov 2014 16:11:04 -0800 Subject: [PATCH] JIT: fix fcmp+cror merging bug Destination CR bit needs to be cleared if it's not one of the sources. --- Source/Core/Core/PowerPC/Jit64/Jit_FloatingPoint.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/Source/Core/Core/PowerPC/Jit64/Jit_FloatingPoint.cpp b/Source/Core/Core/PowerPC/Jit64/Jit_FloatingPoint.cpp index 72f278434c..44992dc7fa 100644 --- a/Source/Core/Core/PowerPC/Jit64/Jit_FloatingPoint.cpp +++ b/Source/Core/Core/PowerPC/Jit64/Jit_FloatingPoint.cpp @@ -285,6 +285,7 @@ void Jit64::FloatCompare(UGeckoInstruction inst, bool upper) js.skipnext = true; js.downcountAmount++; int dst = 3 - (next.CRBD & 3); + output[3 - (next.CRBD & 3)] &= ~(1 << dst); output[3 - (next.CRBA & 3)] |= 1 << dst; output[3 - (next.CRBB & 3)] |= 1 << dst; }