diff options
author | notaz | 2011-10-23 17:47:38 +0300 |
---|---|---|
committer | notaz | 2011-10-30 23:48:08 +0200 |
commit | eaa11918b84c8486618b597489537043eeaccbe0 (patch) | |
tree | cf17898b4ee6811631d048ce8051030767d85aab | |
parent | 0ff8c62ced8c9a920ac208c6d965b138c5c124dd (diff) | |
download | pcsx_rearmed-eaa11918b84c8486618b597489537043eeaccbe0.tar.gz pcsx_rearmed-eaa11918b84c8486618b597489537043eeaccbe0.tar.bz2 pcsx_rearmed-eaa11918b84c8486618b597489537043eeaccbe0.zip |
drc: detect dead gte reads too
-rw-r--r-- | libpcsxcore/new_dynarec/new_dynarec.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/libpcsxcore/new_dynarec/new_dynarec.c b/libpcsxcore/new_dynarec/new_dynarec.c index b2eb21b..4b70f33 100644 --- a/libpcsxcore/new_dynarec/new_dynarec.c +++ b/libpcsxcore/new_dynarec/new_dynarec.c @@ -7015,6 +7015,8 @@ void unneeded_registers(int istart,int iend,int r) uu&=~(1LL<<us1[i]); uu&=~(1LL<<us2[i]); gte_u&=~gte_rs[i]; + if(gte_rs[i]&&rt1[i]&&(unneeded_reg[i+1]&(1ll<<rt1[i]))) + gte_u|=gte_rs[i]; // MFC2/CFC2 to dead register, unneeded // Source-target dependencies uu&=~(tdep<<dep1[i]); uu&=~(tdep<<dep2[i]); |