mirror of https://github.com/PCSX2/pcsx2.git
More fixes for my own mess
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3059 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
e5bbb0f956
commit
6dd30213c9
|
@ -1472,11 +1472,11 @@ void recQFSRV()
|
||||||
//Console.WriteLn("recQFSRV()");
|
//Console.WriteLn("recQFSRV()");
|
||||||
|
|
||||||
if (_Rs_ == _Rt_ + 1) {
|
if (_Rs_ == _Rt_ + 1) {
|
||||||
|
_flushEEreg(_Rs_);
|
||||||
|
_flushEEreg(_Rt_);
|
||||||
int info = eeRecompileCodeXMM(XMMINFO_WRITED);
|
int info = eeRecompileCodeXMM(XMMINFO_WRITED);
|
||||||
|
|
||||||
xMOV(eax, ptr32[&cpuRegs.sa]);
|
xMOV(eax, ptr32[&cpuRegs.sa]);
|
||||||
_deleteGPRtoXMMreg(_Rs_, 1);
|
|
||||||
_deleteGPRtoXMMreg(_Rt_, 1);
|
|
||||||
xMOVDQU(xRegisterSSE(EEREC_D), ptr32[eax + &cpuRegs.GPR.r[_Rt_]]);
|
xMOVDQU(xRegisterSSE(EEREC_D), ptr32[eax + &cpuRegs.GPR.r[_Rt_]]);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -119,6 +119,8 @@ void _eeOnWriteReg(int reg, int signext);
|
||||||
// if 0, only flushes if not an xmm reg (used when overwriting lower 64bits of reg)
|
// if 0, only flushes if not an xmm reg (used when overwriting lower 64bits of reg)
|
||||||
void _deleteEEreg(int reg, int flush);
|
void _deleteEEreg(int reg, int flush);
|
||||||
|
|
||||||
|
void _flushEEreg(int reg);
|
||||||
|
|
||||||
// allocates memory on the instruction size and returns the pointer
|
// allocates memory on the instruction size and returns the pointer
|
||||||
u32* recGetImm64(u32 hi, u32 lo);
|
u32* recGetImm64(u32 hi, u32 lo);
|
||||||
|
|
||||||
|
|
|
@ -51,6 +51,17 @@ void _deleteEEreg(int reg, int flush)
|
||||||
_deleteMMXreg(MMX_GPR+reg, flush ? 0 : 2);
|
_deleteMMXreg(MMX_GPR+reg, flush ? 0 : 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void _flushEEreg(int reg)
|
||||||
|
{
|
||||||
|
if (!reg) return;
|
||||||
|
if (GPR_IS_CONST1(reg)) {
|
||||||
|
_flushConstReg(reg);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
_deleteGPRtoXMMreg(reg, 1);
|
||||||
|
_deleteMMXreg(MMX_GPR + reg, 1);
|
||||||
|
}
|
||||||
|
|
||||||
// if not mmx, then xmm
|
// if not mmx, then xmm
|
||||||
int eeProcessHILO(int reg, int mode, int mmx)
|
int eeProcessHILO(int reg, int mode, int mmx)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue