summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorRyan Houdek <Sonicadvance1@gmail.com>2014-08-03 18:09:10 -0500
committerRyan Houdek <Sonicadvance1@gmail.com>2014-08-03 18:09:10 -0500
commitee7b861ffc82c7a9e61767bc51618dc2a164fddd (patch)
tree258ec620b99e6114a8b45a046730cb0db8a6395e /Source/Core
parent0bcebd81f67f72784317288c1e1722f148ad64ef (diff)
parentae27d3696112de186491e510ade7f61a1755b04f (diff)
Merge pull request #727 from delroth/flags-opt
Jit64: Fix immediates being zero-extended to cr_val instead of sign-extended.
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp b/Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp
index 0717aac06a..a29d67a674 100644
--- a/Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp
+++ b/Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp
@@ -122,7 +122,7 @@ void Jit64::ComputeRC(const Gen::OpArg & arg)
{
if (arg.IsImm())
{
- MOV(32, R(EAX), Imm32((s32)arg.offset));
+ MOV(64, R(RAX), Imm32((s32)arg.offset));
MOV(64, M(&PowerPC::ppcState.cr_val[0]), R(RAX));
}
else
@@ -394,7 +394,7 @@ void Jit64::cmpXX(UGeckoInstruction inst)
if (signedCompare)
{
if (gpr.R(a).IsImm())
- MOV(64, R(RAX), gpr.R(a));
+ MOV(64, R(RAX), Imm32((s32)gpr.R(a).offset));
else
MOVSX(64, 32, RAX, gpr.R(a));
if (!comparand.IsImm())