From 8f777cd8393238fdb411bed85a932d53824baa18 Mon Sep 17 00:00:00 2001 From: Tillmann Karras Date: Sat, 5 Sep 2015 20:17:53 +0200 Subject: [PATCH] Jit64: fix errors in FPRF calculation --- Source/Core/Core/PowerPC/JitCommon/Jit_Util.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Source/Core/Core/PowerPC/JitCommon/Jit_Util.cpp b/Source/Core/Core/PowerPC/JitCommon/Jit_Util.cpp index af6233f0fd..effce333cc 100644 --- a/Source/Core/Core/PowerPC/JitCommon/Jit_Util.cpp +++ b/Source/Core/Core/PowerPC/JitCommon/Jit_Util.cpp @@ -932,7 +932,7 @@ void EmuCodeBlock::SetFPRF(Gen::X64Reg xmm) // Max exponent + no mantissa: sign ? PPC_FPCLASS_NINF : PPC_FPCLASS_PINF; SetJumpTarget(notNAN); - LEA(32, RSCRATCH, MScaled(RSCRATCH, MathUtil::PPC_FPCLASS_NINF - MathUtil::PPC_FPCLASS_PINF, MathUtil::PPC_FPCLASS_NINF)); + LEA(32, RSCRATCH, MScaled(RSCRATCH, MathUtil::PPC_FPCLASS_NINF - MathUtil::PPC_FPCLASS_PINF, MathUtil::PPC_FPCLASS_PINF)); continue3 = J(); SetJumpTarget(zeroExponent); @@ -940,7 +940,7 @@ void EmuCodeBlock::SetFPRF(Gen::X64Reg xmm) FixupBranch zero = J_CC(CC_Z); // No exponent + mantissa: sign ? PPC_FPCLASS_ND : PPC_FPCLASS_PD; - LEA(32, RSCRATCH, MScaled(RSCRATCH, MathUtil::PPC_FPCLASS_ND - MathUtil::PPC_FPCLASS_PD, MathUtil::PPC_FPCLASS_ND)); + LEA(32, RSCRATCH, MScaled(RSCRATCH, MathUtil::PPC_FPCLASS_ND - MathUtil::PPC_FPCLASS_PD, MathUtil::PPC_FPCLASS_PD)); continue4 = J(); // Zero: sign ? PPC_FPCLASS_NZ : PPC_FPCLASS_PZ; @@ -969,13 +969,13 @@ void EmuCodeBlock::SetFPRF(Gen::X64Reg xmm) SetJumpTarget(infinity); MOVQ_xmm(R(RSCRATCH), xmm); SHR(64, R(RSCRATCH), Imm8(63)); - LEA(32, RSCRATCH, MScaled(RSCRATCH, MathUtil::PPC_FPCLASS_NINF - MathUtil::PPC_FPCLASS_PINF, MathUtil::PPC_FPCLASS_NINF)); + LEA(32, RSCRATCH, MScaled(RSCRATCH, MathUtil::PPC_FPCLASS_NINF - MathUtil::PPC_FPCLASS_PINF, MathUtil::PPC_FPCLASS_PINF)); continue3 = J(); SetJumpTarget(zeroExponent); TEST(64, R(RSCRATCH), R(RSCRATCH)); FixupBranch zero = J_CC(CC_Z); SHR(64, R(RSCRATCH), Imm8(63)); - LEA(32, RSCRATCH, MScaled(RSCRATCH, MathUtil::PPC_FPCLASS_ND - MathUtil::PPC_FPCLASS_PD, MathUtil::PPC_FPCLASS_ND)); + LEA(32, RSCRATCH, MScaled(RSCRATCH, MathUtil::PPC_FPCLASS_ND - MathUtil::PPC_FPCLASS_PD, MathUtil::PPC_FPCLASS_PD)); continue4 = J(); SetJumpTarget(zero); SHR(64, R(RSCRATCH), Imm8(63));