minor fixes

git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@55 a6443dda-0b58-4228-96e9-037be469359c
This commit is contained in:
cottonvibes 2008-08-24 21:29:18 +00:00 committed by Gregory Hainaut
parent 8e9c52a688
commit d307bd6275
4 changed files with 10 additions and 14 deletions

View File

@ -316,12 +316,10 @@ void LoadCW( void ) {
void recCOP1_S( void )
{
#ifndef __x86_64__
#ifndef EE_FPU_REGCACHING
if( !cpucaps.hasStreamingSIMD2Extensions) {
if( !EE_FPU_REGCACHING || !cpucaps.hasStreamingSIMD2Extensions ) {
_freeMMXreg(6);
_freeMMXreg(7);
}
#endif
#endif
recCP1S[ _Funct_ ]( );
}
@ -330,10 +328,10 @@ void recCOP1_S( void )
void recCOP1_W( void )
{
#ifndef __x86_64__
#ifndef EE_FPU_REGCACHING
if( !EE_FPU_REGCACHING ) {
_freeMMXreg(6);
_freeMMXreg(7);
#endif
}
#endif
recCP1W[ _Funct_ ]( );
}

View File

@ -41,7 +41,7 @@
#define CP2_RECOMPILE
#define EE_CONST_PROP // rec2 - enables constant propagation (faster)
#define EE_FPU_REGCACHING
#define EE_FPU_REGCACHING 1
#define PC_GETBLOCK(x) PC_GETBLOCK_(x, recLUT)

View File

@ -2857,13 +2857,11 @@ void VuBaseBlock::Recompile()
MOV32RtoM((uptr)&VU->VI[REG_CLIP_FLAG], EAX);
}
if( s_PrevStatusWrite != (uptr)&VU->VI[REG_STATUS_FLAG] ) {
// only lower 8 bits valid!
MOVZX32M8toR(EAX, s_PrevStatusWrite);
MOV32MtoR(EAX, s_PrevStatusWrite);
MOV32RtoM((uptr)&VU->VI[REG_STATUS_FLAG], EAX);
}
if( s_PrevMACWrite != (uptr)&VU->VI[REG_MAC_FLAG] ) {
// only lower 8 bits valid!
MOVZX32M8toR(EAX, s_PrevMACWrite);
MOV32MtoR(EAX, s_PrevMACWrite);
MOV32RtoM((uptr)&VU->VI[REG_MAC_FLAG], EAX);
}
// if( s_StatusRead != (uptr)&VU->VI[REG_STATUS_FLAG] ) {
@ -3213,6 +3211,7 @@ void VuInstruction::Recompile(list<VuInstruction>::iterator& itinst, u32 vuxyz)
s_ClipRead = (uptr)&VU->VI[REG_CLIP_FLAG];
else {
s_ClipRead = s_pCurBlock->GetInstIterAtPc(nParentPc)->pClipWrite;
if (s_ClipRead == NULL) SysPrintf("super ClipRead allocation error! \n");
}
}
@ -3274,6 +3273,7 @@ void VuInstruction::Recompile(list<VuInstruction>::iterator& itinst, u32 vuxyz)
}
else {
s_StatusRead = s_pCurBlock->GetInstIterAtPc(nParentPc)->pStatusWrite;
if (s_StatusRead == NULL) SysPrintf("super StatusRead allocation error! \n");
// if( pc >= (u32)s_pCurBlock->endpc-8 ) {
// // towards the end, so variable might be leaded to another block (silent hill 4)
// uptr tempstatus = (uptr)SuperVUStaticAlloc(4);
@ -3409,7 +3409,7 @@ void VuInstruction::Recompile(list<VuInstruction>::iterator& itinst, u32 vuxyz)
}
}
if( pClipWrite == 0 && ((regs[0].VIwrite|regs[1].VIwrite) & (1<<REG_CLIP_FLAG)) ) {
if( pClipWrite == NULL && ((regs[0].VIwrite|regs[1].VIwrite) & (1<<REG_CLIP_FLAG)) ) {
pClipWrite = (uptr)SuperVUStaticAlloc(4);
//MOV32ItoM(pClipWrite, 0);
}

View File

@ -1294,8 +1294,7 @@ void eeFPURecompileCode(R5900FNPTR_INFO xmmcode, R5900FNPTR_INFO fpucode, int xm
{
int mmregs=-1, mmregt=-1, mmregd=-1, mmregacc=-1;
#ifdef EE_FPU_REGCACHING
if( cpucaps.hasStreamingSIMDExtensions ) {
if( EE_FPU_REGCACHING && cpucaps.hasStreamingSIMDExtensions ) {
int info = PROCESS_EE_XMM;
if( xmminfo & XMMINFO_READS ) _addNeededFPtoXMMreg(_Fs_);
@ -1435,7 +1434,6 @@ void eeFPURecompileCode(R5900FNPTR_INFO xmmcode, R5900FNPTR_INFO fpucode, int xm
_clearNeededXMMregs();
return;
}
#endif //EE_FPU_REGCACHING
if( xmminfo & XMMINFO_READS ) _deleteFPtoXMMreg(_Fs_, 0);
if( xmminfo & XMMINFO_READT ) _deleteFPtoXMMreg(_Ft_, 0);