mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
jit: Add IN_RT to lwl/lwr and re-enable clobbering.
This commit is contained in:
parent
363b4fd9f8
commit
afc779a824
3 changed files with 4 additions and 4 deletions
|
@ -296,7 +296,7 @@ allocate:
|
|||
if (bestToSpill != INVALID_REG) {
|
||||
// ERROR_LOG(JIT, "Out of registers at PC %08x - spills register %i.", mips_->pc, bestToSpill);
|
||||
// TODO: Broken somehow in Dante's Inferno, but most games work. Bad flags in MIPSTables somewhere?
|
||||
if (clobbered && false) {
|
||||
if (clobbered) {
|
||||
DiscardR(ar[bestToSpill].mipsReg);
|
||||
} else {
|
||||
FlushArmReg(bestToSpill);
|
||||
|
|
|
@ -147,11 +147,11 @@ const MIPSInstruction tableImmediate[64] = // xxxxxx ..... ..... ...............
|
|||
//32
|
||||
INSTR("lb", JITFUNC(Comp_ITypeMem), Dis_ITypeMem, Int_ITypeMem, IN_MEM|IN_IMM16|IN_RS_ADDR|OUT_RT|MEMTYPE_BYTE),
|
||||
INSTR("lh", JITFUNC(Comp_ITypeMem), Dis_ITypeMem, Int_ITypeMem, IN_MEM|IN_IMM16|IN_RS_ADDR|OUT_RT|MEMTYPE_HWORD),
|
||||
INSTR("lwl", JITFUNC(Comp_ITypeMem), Dis_ITypeMem, Int_ITypeMem, IN_MEM|IN_IMM16|IN_RS_ADDR|OUT_RT|MEMTYPE_WORD),
|
||||
INSTR("lwl", JITFUNC(Comp_ITypeMem), Dis_ITypeMem, Int_ITypeMem, IN_MEM|IN_IMM16|IN_RS_ADDR|IN_RT|OUT_RT|MEMTYPE_WORD),
|
||||
INSTR("lw", JITFUNC(Comp_ITypeMem), Dis_ITypeMem, Int_ITypeMem, IN_MEM|IN_IMM16|IN_RS_ADDR|OUT_RT|MEMTYPE_WORD),
|
||||
INSTR("lbu", JITFUNC(Comp_ITypeMem), Dis_ITypeMem, Int_ITypeMem, IN_MEM|IN_IMM16|IN_RS_ADDR|OUT_RT|MEMTYPE_BYTE),
|
||||
INSTR("lhu", JITFUNC(Comp_ITypeMem), Dis_ITypeMem, Int_ITypeMem, IN_MEM|IN_IMM16|IN_RS_ADDR|OUT_RT|MEMTYPE_HWORD),
|
||||
INSTR("lwr", JITFUNC(Comp_ITypeMem), Dis_ITypeMem, Int_ITypeMem, IN_MEM|IN_IMM16|IN_RS_ADDR|OUT_RT|MEMTYPE_WORD),
|
||||
INSTR("lwr", JITFUNC(Comp_ITypeMem), Dis_ITypeMem, Int_ITypeMem, IN_MEM|IN_IMM16|IN_RS_ADDR|IN_RT|OUT_RT|MEMTYPE_WORD),
|
||||
INVALID,
|
||||
//40
|
||||
INSTR("sb", JITFUNC(Comp_ITypeMem), Dis_ITypeMem, Int_ITypeMem, IN_IMM16|IN_RS_ADDR|IN_RT|OUT_MEM|MEMTYPE_BYTE),
|
||||
|
|
|
@ -175,7 +175,7 @@ X64Reg GPRRegCache::GetFreeXReg()
|
|||
|
||||
if (bestToSpill != INVALID_REG) {
|
||||
// TODO: Broken somehow in Dante's Inferno, but most games work. Bad flags in MIPSTables somewhere?
|
||||
if (clobbered && false) {
|
||||
if (clobbered) {
|
||||
DiscardRegContentsIfCached(xregs[bestToSpill].mipsReg);
|
||||
} else {
|
||||
StoreFromRegister(xregs[bestToSpill].mipsReg);
|
||||
|
|
Loading…
Add table
Reference in a new issue