From 6791a808b6777a14e4b0ae5ab43248138f04aec1 Mon Sep 17 00:00:00 2001 From: Ryan Houdek Date: Sun, 25 Jan 2015 03:16:57 -0600 Subject: [PATCH] [AArch64] Fix addzex. --- Source/Core/Core/PowerPC/JitArm64/JitArm64_Integer.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Source/Core/Core/PowerPC/JitArm64/JitArm64_Integer.cpp b/Source/Core/Core/PowerPC/JitArm64/JitArm64_Integer.cpp index be74f76f90..44da8822a8 100644 --- a/Source/Core/Core/PowerPC/JitArm64/JitArm64_Integer.cpp +++ b/Source/Core/Core/PowerPC/JitArm64/JitArm64_Integer.cpp @@ -659,11 +659,13 @@ void JitArm64::addzex(UGeckoInstruction inst) gpr.BindToRegister(d, d == a); ARM64Reg WA = gpr.GetReg(); LDRB(INDEX_UNSIGNED, WA, X29, PPCSTATE_OFF(xer_ca)); - CMP(WA, 1); - CSINC(gpr.R(d), gpr.R(a), gpr.R(a), CC_NEQ); + CMP(WA, 0); + CSINC(gpr.R(d), gpr.R(a), gpr.R(a), CC_EQ); CMP(gpr.R(d), 0); gpr.Unlock(WA); ComputeCarry(); + if (inst.Rc) + ComputeRC(gpr.R(d), 0); } void JitArm64::subfx(UGeckoInstruction inst)