Index: src/assembler.cc |
diff --git a/src/assembler.cc b/src/assembler.cc |
index 535b4befa4ce632cf99ebb0789e6497d7672832d..0117fc5734d43b7eac8229a3dcfccb86341f4d57 100644 |
--- a/src/assembler.cc |
+++ b/src/assembler.cc |
@@ -1622,7 +1622,8 @@ MultiplierAndShift::MultiplierAndShift(int32_t d) { |
} |
delta = ad - r2; |
} while (q1 < delta || (q1 == delta && r1 == 0)); |
- multiplier_ = (d < 0) ? -(q2 + 1) : (q2 + 1); |
+ int32_t mul = static_cast<int32_t>(q2 + 1); |
+ multiplier_ = (d < 0) ? -mul : mul; |
shift_ = p - 32; |
} |