From 145494144ce3a0f1aaa0f073c8411d4fc5d954bf Mon Sep 17 00:00:00 2001 From: Tillmann Karras Date: Sat, 8 Aug 2015 06:17:47 +0200 Subject: [PATCH] Jit64: duplicate fres result into ps1 And since frD is completely overwritten now, avoid loading it at all. --- Source/Core/Core/PowerPC/Jit64/Jit_FloatingPoint.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/Core/Core/PowerPC/Jit64/Jit_FloatingPoint.cpp b/Source/Core/Core/PowerPC/Jit64/Jit_FloatingPoint.cpp index 50769e69e5..e066b16225 100644 --- a/Source/Core/Core/PowerPC/Jit64/Jit_FloatingPoint.cpp +++ b/Source/Core/Core/PowerPC/Jit64/Jit_FloatingPoint.cpp @@ -650,10 +650,10 @@ void Jit64::fresx(UGeckoInstruction inst) gpr.FlushLockX(RSCRATCH_EXTRA); fpr.Lock(b, d); - fpr.BindToRegister(d); MOVAPD(XMM0, fpr.R(b)); + fpr.BindToRegister(d, false); CALL(asm_routines.fres); - MOVSD(fpr.R(d), XMM0); + MOVDDUP(fpr.RX(d), R(XMM0)); SetFPRFIfNeeded(fpr.RX(d)); fpr.UnlockAll(); gpr.UnlockAllX();