jit-ir: Avoid flushing on a few Vec4 ops.

This commit is contained in:
Unknown W. Brackets 2016-05-12 20:57:10 -07:00
parent a8126ca132
commit 57b3dbff7e
2 changed files with 5 additions and 1 deletions

View File

@ -85,7 +85,7 @@ namespace MIPSComp {
return IsOverlapSafeAllowS(dreg, -1, sn, sregs, tn, tregs);
}
void IRFrontend::Comp_VPFX(MIPSOpcode op) {
void IRFrontend::Comp_VPFX(MIPSOpcode op) {
CONDITIONAL_DISABLE;
int data = op & 0xFFFFF;
int regnum = (op >> 24) & 3;

View File

@ -369,10 +369,12 @@ bool PropagateConstants(const IRWriter &in, IRWriter &out) {
break;
case IROp::Vec4Init:
case IROp::Vec4Mov:
case IROp::Vec4Add:
case IROp::Vec4Sub:
case IROp::Vec4Mul:
case IROp::Vec4Div:
case IROp::Vec4Dot:
case IROp::Vec4Scale:
case IROp::Vec4Shuffle:
out.Write(inst);
@ -392,6 +394,8 @@ bool PropagateConstants(const IRWriter &in, IRWriter &out) {
gpr.MapDirtyIn(inst.dest, IRREG_VFPU_CTRL_BASE + inst.src1);
goto doDefault;
case IROp::CallReplacement:
case IROp::Break:
case IROp::Syscall:
case IROp::Interpret:
case IROp::ExitToConst: