Index: src/mips/lithium-codegen-mips.cc |
diff --git a/src/mips/lithium-codegen-mips.cc b/src/mips/lithium-codegen-mips.cc |
index 044b9c7c6d70c77903c9f2f3388145744db9a34f..ccf633b3a77fa84a455c0627a9483630847a23a6 100644 |
--- a/src/mips/lithium-codegen-mips.cc |
+++ b/src/mips/lithium-codegen-mips.cc |
@@ -3627,6 +3627,7 @@ void LCodeGen::EmitIntegerMathAbs(LMathAbs* instr) { |
Label done; |
__ Branch(USE_DELAY_SLOT, &done, ge, input, Operand(zero_reg)); |
__ mov(result, input); |
+ __ subu(result, zero_reg, input); |
// Overflow if result is still negative, i.e. 0x80000000. |
DeoptimizeIf(lt, instr->environment(), result, Operand(zero_reg)); |
__ bind(&done); |