drc: don't cull ccreg
authornotaz <notasas@gmail.com>
Sun, 28 Nov 2021 15:23:34 +0000 (17:23 +0200)
committernotaz <notasas@gmail.com>
Sun, 28 Nov 2021 23:33:54 +0000 (01:33 +0200)
It didn't even seem to be written back. What was the point doing so
anyway, other regs were (maybe?) culled to prevent saving/restoring
them in memhandlers, but ccreg is in callee-saved reg anyway?
We also need ccreg more often now for stalls.

libpcsxcore/new_dynarec/new_dynarec.c

index 71fabb8..77fc357 100644 (file)
@@ -8472,7 +8472,8 @@ int new_recompile_block(u_int addr)
             if((regs[i].regmap[hr]&63)!=dops[i].rt1 && (regs[i].regmap[hr]&63)!=dops[i].rt2 &&
                regs[i].regmap[hr]!=dops[i].rs1 && regs[i].regmap[hr]!=dops[i].rs2 &&
                (regs[i].regmap[hr]&63)!=temp && regs[i].regmap[hr]!=map1 && regs[i].regmap[hr]!=map2 &&
-               (dops[i].itype!=SPAN||regs[i].regmap[hr]!=CCREG))
+               //(dops[i].itype!=SPAN||regs[i].regmap[hr]!=CCREG)
+               regs[i].regmap[hr] != CCREG)
             {
               if(i<slen-1&&!dops[i].is_ds) {
                 assert(regs[i].regmap[hr]<64);