Index: src/mips/lithium-codegen-mips.cc |
diff --git a/src/mips/lithium-codegen-mips.cc b/src/mips/lithium-codegen-mips.cc |
index 8db5f00fbffc9ad801d389ec6e2c32c8cf958051..4fa0ac44553d69e4a2781d41fa1dce281cbc8d74 100644 |
--- a/src/mips/lithium-codegen-mips.cc |
+++ b/src/mips/lithium-codegen-mips.cc |
@@ -1583,7 +1583,9 @@ void LCodeGen::DoShiftI(LShiftI* instr) { |
if (shift_count != 0) { |
if (instr->hydrogen_value()->representation().IsSmi() && |
instr->can_deopt()) { |
- __ sll(result, left, shift_count - 1); |
+ if (shift_count != 1) { |
+ __ sll(result, left, shift_count - 1); |
+ } |
__ SmiTagCheckOverflow(result, result, scratch); |
DeoptimizeIf(lt, instr->environment(), scratch, Operand(zero_reg)); |
} else { |