JitArm64: Keep carry in the host flag for all integer instructions.

This commit is contained in:
degasus 2016-10-27 21:29:05 +02:00
parent f449541e65
commit 0d78f5926f
2 changed files with 3 additions and 1 deletions

View File

@ -606,6 +606,8 @@ const u8* JitArm64::DoJit(u32 em_address, PPCAnalyst::CodeBuffer* code_buf, JitB
}
JitArm64Tables::CompileInstruction(ops[i]);
if (!MergeAllowedNextInstructions(1) || js.op[1].opinfo->type != OPTYPE_INTEGER)
FlushCarry();
// If we have a register that will never be used again, flush it.
gpr.StoreRegisters(~ops[i].gprInUse);

View File

@ -74,7 +74,7 @@ void JitArm64::ComputeCarry()
return;
js.carryFlagSet = true;
if (MergeAllowedNextInstructions(1) && js.op[1].wantsCAInFlags)
if (MergeAllowedNextInstructions(1) && js.op[1].opinfo->type == OPTYPE_INTEGER)
{
return;
}