Bug 1424978 - IonMonkey: MIPS: Fix ma_addTestCarry

Tag: #1542
This commit is contained in:
Jiaxun Yang 2020-05-12 12:40:10 +08:00 committed by Roy Tam
commit ac720c2a42

View file

@ -236,8 +236,14 @@ template <typename L>
void
MacroAssemblerMIPSShared::ma_addTestCarry(Register rd, Register rs, Register rt, L overflow)
{
as_addu(rd, rs, rt);
as_sltu(SecondScratchReg, rd, rs);
if (rd != rs) {
as_addu(rd, rs, rt);
as_sltu(SecondScratchReg, rd, rs);
} else {
ma_move(SecondScratchReg, rs);
as_addu(rd, rs, rt);
as_sltu(SecondScratchReg, rd, SecondScratchReg);
}
ma_b(SecondScratchReg, SecondScratchReg, overflow, Assembler::NonZero);
}