diff options
Diffstat (limited to 'libpcsxcore')
-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]); |