Fixed my stupid mistakes in the previous commit.

git-svn-id: http://pcsx2.googlecode.com/svn/trunk@741 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
tmkkmac 2009-03-10 20:16:13 +00:00
parent 03a6406ff0
commit 68ec2f25a8
1 changed files with 38 additions and 86 deletions

View File

@ -1083,17 +1083,11 @@ void recPSUBSB( void )
CPU_SSE2_XMMCACHE_START(XMMINFO_READS|XMMINFO_READT|XMMINFO_WRITED) CPU_SSE2_XMMCACHE_START(XMMINFO_READS|XMMINFO_READT|XMMINFO_WRITED)
if( EEREC_D == EEREC_S ) SSE2_PSUBSB_XMM_to_XMM(EEREC_D, EEREC_T); if( EEREC_D == EEREC_S ) SSE2_PSUBSB_XMM_to_XMM(EEREC_D, EEREC_T);
else if( EEREC_D == EEREC_T ) { else if( EEREC_D == EEREC_T ) {
if ( cpucaps.hasSupplementalStreamingSIMD3Extensions ) { int t0reg = _allocTempXMMreg(XMMT_INT, -1);
SSSE3_PSIGNB_XMM_to_XMM(EEREC_D, EEREC_D); SSEX_MOVDQA_XMM_to_XMM(t0reg, EEREC_T);
SSE2_PADDSB_XMM_to_XMM(EEREC_D, EEREC_S); // -Rt + Rs SSEX_MOVDQA_XMM_to_XMM(EEREC_D, EEREC_S);
} SSE2_PSUBSB_XMM_to_XMM(EEREC_D, t0reg);
else { _freeXMMreg(t0reg);
int t0reg = _allocTempXMMreg(XMMT_INT, -1);
SSEX_MOVDQA_XMM_to_XMM(t0reg, EEREC_T);
SSEX_MOVDQA_XMM_to_XMM(EEREC_D, EEREC_S);
SSE2_PSUBSB_XMM_to_XMM(EEREC_D, t0reg);
_freeXMMreg(t0reg);
}
} }
else { else {
SSEX_MOVDQA_XMM_to_XMM(EEREC_D, EEREC_S); SSEX_MOVDQA_XMM_to_XMM(EEREC_D, EEREC_S);
@ -1125,17 +1119,11 @@ void recPSUBSH( void )
CPU_SSE2_XMMCACHE_START(XMMINFO_READS|XMMINFO_READT|XMMINFO_WRITED) CPU_SSE2_XMMCACHE_START(XMMINFO_READS|XMMINFO_READT|XMMINFO_WRITED)
if( EEREC_D == EEREC_S ) SSE2_PSUBSW_XMM_to_XMM(EEREC_D, EEREC_T); if( EEREC_D == EEREC_S ) SSE2_PSUBSW_XMM_to_XMM(EEREC_D, EEREC_T);
else if( EEREC_D == EEREC_T ) { else if( EEREC_D == EEREC_T ) {
if ( cpucaps.hasSupplementalStreamingSIMD3Extensions ) { int t0reg = _allocTempXMMreg(XMMT_INT, -1);
SSSE3_PSIGNW_XMM_to_XMM(EEREC_D, EEREC_D); SSEX_MOVDQA_XMM_to_XMM(t0reg, EEREC_T);
SSE2_PADDSW_XMM_to_XMM(EEREC_D, EEREC_S); // -Rt + Rs SSEX_MOVDQA_XMM_to_XMM(EEREC_D, EEREC_S);
} SSE2_PSUBSW_XMM_to_XMM(EEREC_D, t0reg);
else { _freeXMMreg(t0reg);
int t0reg = _allocTempXMMreg(XMMT_INT, -1);
SSEX_MOVDQA_XMM_to_XMM(t0reg, EEREC_T);
SSEX_MOVDQA_XMM_to_XMM(EEREC_D, EEREC_S);
SSE2_PSUBSW_XMM_to_XMM(EEREC_D, t0reg);
_freeXMMreg(t0reg);
}
} }
else { else {
SSEX_MOVDQA_XMM_to_XMM(EEREC_D, EEREC_S); SSEX_MOVDQA_XMM_to_XMM(EEREC_D, EEREC_S);
@ -1184,15 +1172,9 @@ CPU_SSE2_XMMCACHE_START(XMMINFO_READS|XMMINFO_READT|XMMINFO_WRITED)
// normal subtraction // normal subtraction
if( EEREC_D == EEREC_S ) SSE2_PSUBD_XMM_to_XMM(EEREC_D, EEREC_T); if( EEREC_D == EEREC_S ) SSE2_PSUBD_XMM_to_XMM(EEREC_D, EEREC_T);
else if( EEREC_D == EEREC_T ) { else if( EEREC_D == EEREC_T ) {
if ( cpucaps.hasSupplementalStreamingSIMD3Extensions ) { SSEX_MOVDQA_XMM_to_XMM(t2reg, EEREC_T);
SSSE3_PSIGND_XMM_to_XMM(EEREC_D, EEREC_D); SSEX_MOVDQA_XMM_to_XMM(EEREC_D, EEREC_S);
SSE2_PADDD_XMM_to_XMM(EEREC_D, EEREC_S); // -Rt + Rs SSE2_PSUBD_XMM_to_XMM(EEREC_D, t2reg);
}
else {
SSEX_MOVDQA_XMM_to_XMM(t2reg, EEREC_T);
SSEX_MOVDQA_XMM_to_XMM(EEREC_D, EEREC_S);
SSE2_PSUBD_XMM_to_XMM(EEREC_D, t2reg);
}
} }
else { else {
SSEX_MOVDQA_XMM_to_XMM(EEREC_D, EEREC_S); SSEX_MOVDQA_XMM_to_XMM(EEREC_D, EEREC_S);
@ -1346,17 +1328,11 @@ void recPSUBB( void )
CPU_SSE2_XMMCACHE_START(XMMINFO_READS|XMMINFO_READT|XMMINFO_WRITED) CPU_SSE2_XMMCACHE_START(XMMINFO_READS|XMMINFO_READT|XMMINFO_WRITED)
if( EEREC_D == EEREC_S ) SSE2_PSUBB_XMM_to_XMM(EEREC_D, EEREC_T); if( EEREC_D == EEREC_S ) SSE2_PSUBB_XMM_to_XMM(EEREC_D, EEREC_T);
else if( EEREC_D == EEREC_T ) { else if( EEREC_D == EEREC_T ) {
if ( cpucaps.hasSupplementalStreamingSIMD3Extensions ) { int t0reg = _allocTempXMMreg(XMMT_INT, -1);
SSSE3_PSIGNB_XMM_to_XMM(EEREC_D, EEREC_D); SSEX_MOVDQA_XMM_to_XMM(t0reg, EEREC_T);
SSE2_PADDB_XMM_to_XMM(EEREC_D, EEREC_S); // -Rt + Rs SSEX_MOVDQA_XMM_to_XMM(EEREC_D, EEREC_S);
} SSE2_PSUBB_XMM_to_XMM(EEREC_D, t0reg);
else { _freeXMMreg(t0reg);
int t0reg = _allocTempXMMreg(XMMT_INT, -1);
SSEX_MOVDQA_XMM_to_XMM(t0reg, EEREC_T);
SSEX_MOVDQA_XMM_to_XMM(EEREC_D, EEREC_S);
SSE2_PSUBB_XMM_to_XMM(EEREC_D, t0reg);
_freeXMMreg(t0reg);
}
} }
else { else {
SSEX_MOVDQA_XMM_to_XMM(EEREC_D, EEREC_S); SSEX_MOVDQA_XMM_to_XMM(EEREC_D, EEREC_S);
@ -1388,17 +1364,11 @@ void recPSUBH( void )
CPU_SSE2_XMMCACHE_START(XMMINFO_READS|XMMINFO_READT|XMMINFO_WRITED) CPU_SSE2_XMMCACHE_START(XMMINFO_READS|XMMINFO_READT|XMMINFO_WRITED)
if( EEREC_D == EEREC_S ) SSE2_PSUBW_XMM_to_XMM(EEREC_D, EEREC_T); if( EEREC_D == EEREC_S ) SSE2_PSUBW_XMM_to_XMM(EEREC_D, EEREC_T);
else if( EEREC_D == EEREC_T ) { else if( EEREC_D == EEREC_T ) {
if ( cpucaps.hasSupplementalStreamingSIMD3Extensions ) { int t0reg = _allocTempXMMreg(XMMT_INT, -1);
SSSE3_PSIGNW_XMM_to_XMM(EEREC_D, EEREC_D); SSEX_MOVDQA_XMM_to_XMM(t0reg, EEREC_T);
SSE2_PADDW_XMM_to_XMM(EEREC_D, EEREC_S); // -Rt + Rs SSEX_MOVDQA_XMM_to_XMM(EEREC_D, EEREC_S);
} SSE2_PSUBW_XMM_to_XMM(EEREC_D, t0reg);
else { _freeXMMreg(t0reg);
int t0reg = _allocTempXMMreg(XMMT_INT, -1);
SSEX_MOVDQA_XMM_to_XMM(t0reg, EEREC_T);
SSEX_MOVDQA_XMM_to_XMM(EEREC_D, EEREC_S);
SSE2_PSUBW_XMM_to_XMM(EEREC_D, t0reg);
_freeXMMreg(t0reg);
}
} }
else { else {
SSEX_MOVDQA_XMM_to_XMM(EEREC_D, EEREC_S); SSEX_MOVDQA_XMM_to_XMM(EEREC_D, EEREC_S);
@ -1430,17 +1400,11 @@ void recPSUBW( void )
CPU_SSE2_XMMCACHE_START(XMMINFO_READS|XMMINFO_READT|XMMINFO_WRITED) CPU_SSE2_XMMCACHE_START(XMMINFO_READS|XMMINFO_READT|XMMINFO_WRITED)
if( EEREC_D == EEREC_S ) SSE2_PSUBD_XMM_to_XMM(EEREC_D, EEREC_T); if( EEREC_D == EEREC_S ) SSE2_PSUBD_XMM_to_XMM(EEREC_D, EEREC_T);
else if( EEREC_D == EEREC_T ) { else if( EEREC_D == EEREC_T ) {
if ( cpucaps.hasSupplementalStreamingSIMD3Extensions ) { int t0reg = _allocTempXMMreg(XMMT_INT, -1);
SSSE3_PSIGND_XMM_to_XMM(EEREC_D, EEREC_D); SSEX_MOVDQA_XMM_to_XMM(t0reg, EEREC_T);
SSE2_PADDD_XMM_to_XMM(EEREC_D, EEREC_S); // -Rt + Rs SSEX_MOVDQA_XMM_to_XMM(EEREC_D, EEREC_S);
} SSE2_PSUBD_XMM_to_XMM(EEREC_D, t0reg);
else { _freeXMMreg(t0reg);
int t0reg = _allocTempXMMreg(XMMT_INT, -1);
SSEX_MOVDQA_XMM_to_XMM(t0reg, EEREC_T);
SSEX_MOVDQA_XMM_to_XMM(EEREC_D, EEREC_S);
SSE2_PSUBD_XMM_to_XMM(EEREC_D, t0reg);
_freeXMMreg(t0reg);
}
} }
else { else {
SSEX_MOVDQA_XMM_to_XMM(EEREC_D, EEREC_S); SSEX_MOVDQA_XMM_to_XMM(EEREC_D, EEREC_S);
@ -1860,17 +1824,11 @@ void recPSUBUB()
CPU_SSE2_XMMCACHE_START(XMMINFO_READS|XMMINFO_READT|XMMINFO_WRITED) CPU_SSE2_XMMCACHE_START(XMMINFO_READS|XMMINFO_READT|XMMINFO_WRITED)
if( EEREC_D == EEREC_S ) SSE2_PSUBUSB_XMM_to_XMM(EEREC_D, EEREC_T); if( EEREC_D == EEREC_S ) SSE2_PSUBUSB_XMM_to_XMM(EEREC_D, EEREC_T);
else if( EEREC_D == EEREC_T ) { else if( EEREC_D == EEREC_T ) {
if ( cpucaps.hasSupplementalStreamingSIMD3Extensions ) { int t0reg = _allocTempXMMreg(XMMT_INT, -1);
SSSE3_PSIGNB_XMM_to_XMM(EEREC_D, EEREC_D); SSEX_MOVDQA_XMM_to_XMM(t0reg, EEREC_T);
SSE2_PADDUSB_XMM_to_XMM(EEREC_D, EEREC_S); // -Rt + Rs SSEX_MOVDQA_XMM_to_XMM(EEREC_D, EEREC_S);
} SSE2_PSUBUSB_XMM_to_XMM(EEREC_D, t0reg);
else { _freeXMMreg(t0reg);
int t0reg = _allocTempXMMreg(XMMT_INT, -1);
SSEX_MOVDQA_XMM_to_XMM(t0reg, EEREC_T);
SSEX_MOVDQA_XMM_to_XMM(EEREC_D, EEREC_S);
SSE2_PSUBUSB_XMM_to_XMM(EEREC_D, t0reg);
_freeXMMreg(t0reg);
}
} }
else { else {
SSEX_MOVDQA_XMM_to_XMM(EEREC_D, EEREC_S); SSEX_MOVDQA_XMM_to_XMM(EEREC_D, EEREC_S);
@ -1889,17 +1847,11 @@ void recPSUBUH()
CPU_SSE2_XMMCACHE_START(XMMINFO_READS|XMMINFO_READT|XMMINFO_WRITED) CPU_SSE2_XMMCACHE_START(XMMINFO_READS|XMMINFO_READT|XMMINFO_WRITED)
if( EEREC_D == EEREC_S ) SSE2_PSUBUSW_XMM_to_XMM(EEREC_D, EEREC_T); if( EEREC_D == EEREC_S ) SSE2_PSUBUSW_XMM_to_XMM(EEREC_D, EEREC_T);
else if( EEREC_D == EEREC_T ) { else if( EEREC_D == EEREC_T ) {
if ( cpucaps.hasSupplementalStreamingSIMD3Extensions ) { int t0reg = _allocTempXMMreg(XMMT_INT, -1);
SSSE3_PSIGNW_XMM_to_XMM(EEREC_D, EEREC_D); SSEX_MOVDQA_XMM_to_XMM(t0reg, EEREC_T);
SSE2_PADDUSW_XMM_to_XMM(EEREC_D, EEREC_S); // -Rt + Rs SSEX_MOVDQA_XMM_to_XMM(EEREC_D, EEREC_S);
} SSE2_PSUBUSW_XMM_to_XMM(EEREC_D, t0reg);
else { _freeXMMreg(t0reg);
int t0reg = _allocTempXMMreg(XMMT_INT, -1);
SSEX_MOVDQA_XMM_to_XMM(t0reg, EEREC_T);
SSEX_MOVDQA_XMM_to_XMM(EEREC_D, EEREC_S);
SSE2_PSUBUSW_XMM_to_XMM(EEREC_D, t0reg);
_freeXMMreg(t0reg);
}
} }
else { else {
SSEX_MOVDQA_XMM_to_XMM(EEREC_D, EEREC_S); SSEX_MOVDQA_XMM_to_XMM(EEREC_D, EEREC_S);