From 62484141f2e9a26d0885b18c9e8e909437049aa4 Mon Sep 17 00:00:00 2001 From: MerryMage Date: Mon, 15 Oct 2018 21:02:14 +0100 Subject: [PATCH] Jit_SystemRegisters: mtfsfx --- Source/Core/Core/PowerPC/Jit64/Jit_SystemRegisters.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Source/Core/Core/PowerPC/Jit64/Jit_SystemRegisters.cpp b/Source/Core/Core/PowerPC/Jit64/Jit_SystemRegisters.cpp index e8a20f0243..35fc7c2b1b 100644 --- a/Source/Core/Core/PowerPC/Jit64/Jit_SystemRegisters.cpp +++ b/Source/Core/Core/PowerPC/Jit64/Jit_SystemRegisters.cpp @@ -753,10 +753,14 @@ void Jit64::mtfsfx(UGeckoInstruction inst) } int b = inst.FB; - if (fpr.R(b).IsSimpleReg()) - MOVQ_xmm(R(RSCRATCH), fpr.RX(b)); + + RCOpArg Rb = fpr.Use(b, RCMode::Read); + RegCache::Realize(Rb); + + if (Rb.IsSimpleReg()) + MOVQ_xmm(R(RSCRATCH), Rb.GetSimpleReg()); else - MOV(32, R(RSCRATCH), fpr.R(b)); + MOV(32, R(RSCRATCH), Rb); MOV(32, R(RSCRATCH2), PPCSTATE(fpscr)); AND(32, R(RSCRATCH), Imm32(mask));