diff options
author | notaz | 2010-12-07 18:23:43 +0200 |
---|---|---|
committer | notaz | 2010-12-14 15:25:04 +0200 |
commit | 252c20fc731d772878a62473c09f1688b3cac3dc (patch) | |
tree | 51ccbacd05c082c1ac512839d2f0065e4a12f781 /libpcsxcore | |
parent | 654e8cfb205bebc40b26761a900db354b4920931 (diff) | |
download | pcsx_rearmed-252c20fc731d772878a62473c09f1688b3cac3dc.tar.gz pcsx_rearmed-252c20fc731d772878a62473c09f1688b3cac3dc.tar.bz2 pcsx_rearmed-252c20fc731d772878a62473c09f1688b3cac3dc.zip |
drc: try harder to mark upper regs as unneeded
Diffstat (limited to 'libpcsxcore')
-rw-r--r-- | libpcsxcore/new_dynarec/new_dynarec.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/libpcsxcore/new_dynarec/new_dynarec.c b/libpcsxcore/new_dynarec/new_dynarec.c index 7495875..013af9b 100644 --- a/libpcsxcore/new_dynarec/new_dynarec.c +++ b/libpcsxcore/new_dynarec/new_dynarec.c @@ -6697,9 +6697,6 @@ void unneeded_registers(int istart,int iend,int r) // Save it unneeded_reg[i]=u; unneeded_reg_upper[i]=uu; -#ifdef FORCE32 - unneeded_reg_upper[i]=-1LL; -#endif /* printf("ur (%d,%d) %x: ",istart,iend,start+i*4); printf("U:"); @@ -6721,6 +6718,12 @@ void unneeded_registers(int istart,int iend,int r) } printf("\n");*/ } +#ifdef FORCE32 + for (i=iend;i>=istart;i--) + { + unneeded_reg_upper[i]=branch_unneeded_reg_upper[i]=-1LL; + } +#endif } // Identify registers which are likely to contain 32-bit values |