summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorFiora <fioraaeterna@gmail.com>2014-11-28 16:11:04 -0800
committerFiora <fioraaeterna@gmail.com>2014-11-28 16:11:04 -0800
commitd42305aba07efaf6b258effa22d0cdfdf2e8620a (patch)
treee2c0a9e7bdaf1df4656cf8bae161a3b771b0be75 /Source
parentce059769f6bf13118366f77fea926727efcf4510 (diff)
JIT: fix fcmp+cror merging bug
Destination CR bit needs to be cleared if it's not one of the sources.
Diffstat (limited to 'Source')
-rw-r--r--Source/Core/Core/PowerPC/Jit64/Jit_FloatingPoint.cpp1
1 files changed, 1 insertions, 0 deletions
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;
}