Merge pull request #10451 from JosJuice/skip-redundant-flushes

Jit: Skip redundant flushes
This commit is contained in:
JosJuice 2022-03-12 12:32:02 +01:00 committed by GitHub
commit 905e86d754
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 4 deletions

View File

@ -1184,8 +1184,8 @@ bool Jit64::DoJit(u32 em_address, JitBlock* b, u32 nextPC)
gpr.Discard(op.gprDiscardable); gpr.Discard(op.gprDiscardable);
fpr.Discard(op.fprDiscardable); fpr.Discard(op.fprDiscardable);
} }
gpr.Flush(~op.gprInUse); gpr.Flush(~op.gprInUse & (op.regsIn | op.regsOut));
fpr.Flush(~op.fprInUse); fpr.Flush(~op.fprInUse & (op.fregsIn | op.GetFregsOut()));
if (opinfo->flags & FL_LOADSTORE) if (opinfo->flags & FL_LOADSTORE)
++js.numLoadStoreInst; ++js.numLoadStoreInst;

View File

@ -971,8 +971,8 @@ bool JitArm64::DoJit(u32 em_address, JitBlock* b, u32 nextPC)
gpr.DiscardRegisters(op.gprDiscardable); gpr.DiscardRegisters(op.gprDiscardable);
fpr.DiscardRegisters(op.fprDiscardable); fpr.DiscardRegisters(op.fprDiscardable);
} }
gpr.StoreRegisters(~op.gprInUse); gpr.StoreRegisters(~op.gprInUse & (op.regsIn | op.regsOut));
fpr.StoreRegisters(~op.fprInUse); fpr.StoreRegisters(~op.fprInUse & (op.fregsIn | op.GetFregsOut()));
if (opinfo->flags & FL_LOADSTORE) if (opinfo->flags & FL_LOADSTORE)
++js.numLoadStoreInst; ++js.numLoadStoreInst;