diff --git a/Core/MIPS/ARM/ArmRegCache.cpp b/Core/MIPS/ARM/ArmRegCache.cpp index f1334edee..c037134dd 100644 --- a/Core/MIPS/ARM/ArmRegCache.cpp +++ b/Core/MIPS/ARM/ArmRegCache.cpp @@ -295,7 +295,8 @@ allocate: if (bestToSpill != INVALID_REG) { // ERROR_LOG(JIT, "Out of registers at PC %08x - spills register %i.", mips_->pc, bestToSpill); - if (clobbered) { + // TODO: Broken somehow in Dante's Inferno, but most games work. Bad flags in MIPSTables somewhere? + if (clobbered && false) { DiscardR(ar[bestToSpill].mipsReg); } else { FlushArmReg(bestToSpill); diff --git a/Core/MIPS/x86/RegCache.cpp b/Core/MIPS/x86/RegCache.cpp index c8cef7ccb..f69c9305a 100644 --- a/Core/MIPS/x86/RegCache.cpp +++ b/Core/MIPS/x86/RegCache.cpp @@ -174,7 +174,8 @@ X64Reg GPRRegCache::GetFreeXReg() } if (bestToSpill != INVALID_REG) { - if (clobbered) { + // TODO: Broken somehow in Dante's Inferno, but most games work. Bad flags in MIPSTables somewhere? + if (clobbered && false) { DiscardRegContentsIfCached(xregs[bestToSpill].mipsReg); } else { StoreFromRegister(xregs[bestToSpill].mipsReg);