From 785154b89fb21f47a217356bfc47f9b5c9dcddc1 Mon Sep 17 00:00:00 2001 From: skidau Date: Tue, 2 Nov 2010 10:27:57 +0000 Subject: [PATCH] JIT fix for the lfs instruction in x64 builds. Fixes Ultimate Spider-man. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6332 8ced0084-cf51-0410-be5f-012b33b47a6e --- .../Core/Core/Src/PowerPC/Jit64/Jit_LoadStoreFloating.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStoreFloating.cpp b/Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStoreFloating.cpp index 55990d6abf..e17d34c097 100644 --- a/Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStoreFloating.cpp +++ b/Source/Core/Core/Src/PowerPC/Jit64/Jit_LoadStoreFloating.cpp @@ -54,6 +54,8 @@ void Jit64::lfs(UGeckoInstruction inst) INSTRUCTION_START JITDISABLE(LoadStoreFloating) + Default(inst); return; + int d = inst.RD; int a = inst.RA; if (!a) @@ -64,7 +66,10 @@ void Jit64::lfs(UGeckoInstruction inst) s32 offset = (s32)(s16)inst.SIMM_16; if (jo.assumeFPLoadFromMem) { - UnsafeLoadToEAX(gpr.R(a), 32, offset, false); + gpr.FlushLockX(ABI_PARAM1); + MOV(32, R(ABI_PARAM1), gpr.R(a)); + UnsafeLoadRegToReg(ABI_PARAM1, EAX, 32, offset, false); + gpr.UnlockAllX(); } else {