Fixed probably unused SSE code for the BGTZ/BLTZ instruction family. If it was used, this was a serious bug and will probably have caused infinite loops or other major emulation errors.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@3175 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
sudonim1 2010-06-05 22:53:01 +00:00
parent 275a923911
commit 6632f857bd
1 changed files with 2 additions and 31 deletions

View File

@ -190,40 +190,11 @@ void recSetBranchEQ(int info, int bne, int process)
void recSetBranchL(int ltz)
{
// Fixme: MMX problem
int regs;/* = _checkMMXreg(MMX_GPR+_Rs_, MODE_READ);*/
/*if( regs >= 0 ) {
int t0reg = _allocMMXreg(-1, MMX_TEMP, 0);
SetMMXstate();
PXORRtoR(t0reg, t0reg);
PCMPGTDRtoR(t0reg, regs);
PMOVMSKBMMXtoR(EAX, t0reg);
_freeMMXreg(t0reg);
_eeFlushAllUnused();
TEST8ItoR( EAX, 0x80 );
if( ltz ) j32Ptr[ 0 ] = JZ32( 0 );
else j32Ptr[ 0 ] = JNZ32( 0 );
return;
}*/
regs = _checkXMMreg(XMMTYPE_GPRREG, _Rs_, MODE_READ);
int regs = _checkXMMreg(XMMTYPE_GPRREG, _Rs_, MODE_READ);
if( regs >= 0 ) {
SSE_MOVMSKPS_XMM_to_R32(EAX, regs);
int t0reg = _allocTempXMMreg(XMMT_INT, -1);
SSE_XORPS_XMM_to_XMM(t0reg, t0reg);
SSE2_PCMPGTD_XMM_to_XMM(t0reg, regs);
SSE_MOVMSKPS_XMM_to_R32(EAX, t0reg);
_freeXMMreg(t0reg);
_eeFlushAllUnused();
TEST8ItoR( EAX, 2 );