Index: src/arm/lithium-codegen-arm.cc |
diff --git a/src/arm/lithium-codegen-arm.cc b/src/arm/lithium-codegen-arm.cc |
index 8d9efbf31eb2a9aa61a67935ccb75e1815165be8..6dae6db6be9459d82e310df1cb3a43a11b4128da 100644 |
--- a/src/arm/lithium-codegen-arm.cc |
+++ b/src/arm/lithium-codegen-arm.cc |
@@ -1398,6 +1398,7 @@ void LCodeGen::DoDivI(LDivI* instr) { |
__ rsb(dividend, dividend, Operand(0), LeaveCC, lt); |
__ mov(dividend, Operand(dividend, ASR, power)); |
if (divisor > 0) __ rsb(dividend, dividend, Operand(0), LeaveCC, lt); |
+ if (divisor < 0) __ rsb(dividend, dividend, Operand(0), LeaveCC, gt); |
return; // Don't fall through to "__ rsb" below. |
} else { |
// Deoptimize if remainder is not 0. |