From 937f8835c576aaa0bf892608544db7435bde5451 Mon Sep 17 00:00:00 2001 From: cottonvibes Date: Sun, 28 Sep 2008 02:58:22 +0000 Subject: [PATCH] should fix x64 build compilation problems... Note: seems iR5900-64.c is pretty much a copy of iR5900-32.c just with a few x64 specific changes... so any code-change made to iR5900-32.c will have to be mirrored to iR5900-64.c... sigh pretty annoying... git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@155 a6443dda-0b58-4228-96e9-037be469359c --- pcsx2/x86/ix86-64/iR5900-64.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/pcsx2/x86/ix86-64/iR5900-64.c b/pcsx2/x86/ix86-64/iR5900-64.c index d744426509..a412633afd 100644 --- a/pcsx2/x86/ix86-64/iR5900-64.c +++ b/pcsx2/x86/ix86-64/iR5900-64.c @@ -1075,10 +1075,10 @@ int eeRecompileCodeXMM(int xmminfo) #define PROCESS_EE_SETMODET_XMM(mmreg) ((xmmregs[mmreg].mode&MODE_WRITE)?PROCESS_EE_MODEWRITET:0) // rd = rs op rt -void eeFPURecompileCode(R5900FNPTR_INFO xmmcode, R5900FNPTR_INFO fpucode, int xmminfo) +void eeFPURecompileCode(R5900FNPTR_INFO xmmcode, R5900FNPTR fpucode, int xmminfo) { int mmregs=-1, mmregt=-1, mmregd=-1, mmregacc=-1; - if( fpucode == NULL || (EE_FPU_REGCACHING && cpucaps.hasStreamingSIMDExtensions) ) { + if( cpucaps.hasStreamingSIMDExtensions ) { int info = PROCESS_EE_XMM; if( xmminfo & XMMINFO_READS ) _addNeededFPtoXMMreg(_Fs_); @@ -1214,11 +1214,10 @@ void eeFPURecompileCode(R5900FNPTR_INFO xmmcode, R5900FNPTR_INFO fpucode, int xm return; } - if( xmminfo & XMMINFO_READS ) _deleteFPtoXMMreg(_Fs_, 0); - if( xmminfo & XMMINFO_READT ) _deleteFPtoXMMreg(_Ft_, 0); - if( xmminfo & (XMMINFO_READD|XMMINFO_WRITED) ) _deleteFPtoXMMreg(_Fd_, 0); - if( xmminfo & (XMMINFO_READACC|XMMINFO_WRITEACC) ) _deleteFPtoXMMreg(XMMFPU_ACC, 0); - fpucode(0); + MOV32ItoM((uptr)&cpuRegs.code, cpuRegs.code); + MOV32ItoM((uptr)&cpuRegs.pc, pc); + iFlushCall(FLUSH_EVERYTHING); + CALLFunc((uptr)fpucode); } #undef _Ft_