Index: src/arm64/lithium-arm64.cc |
diff --git a/src/arm64/lithium-arm64.cc b/src/arm64/lithium-arm64.cc |
index ff224182601d97c4d883f286411a27e26aafe770..de54093074e6d5022aa732c45d551c8024c1c33a 100644 |
--- a/src/arm64/lithium-arm64.cc |
+++ b/src/arm64/lithium-arm64.cc |
@@ -1856,7 +1856,8 @@ LInstruction* LChunkBuilder::DoModByPowerOf2I(HMod* instr) { |
int32_t divisor = instr->right()->GetInteger32Constant(); |
LInstruction* result = DefineSameAsFirst(new(zone()) LModByPowerOf2I( |
dividend, divisor)); |
- if (instr->CheckFlag(HValue::kBailoutOnMinusZero)) { |
+ if (instr->CheckFlag(HValue::kLeftCanBeNegative) && |
+ instr->CheckFlag(HValue::kBailoutOnMinusZero)) { |
result = AssignEnvironment(result); |
} |
return result; |