Index: src/compiler/arm/instruction-selector-arm.cc |
diff --git a/src/compiler/arm/instruction-selector-arm.cc b/src/compiler/arm/instruction-selector-arm.cc |
index 03b0565487017a836ab5495016d06971ba1184f9..6f8c22fb9076a0771d193d13c67b9c149b3361ed 100644 |
--- a/src/compiler/arm/instruction-selector-arm.cc |
+++ b/src/compiler/arm/instruction-selector-arm.cc |
@@ -418,7 +418,7 @@ void InstructionSelector::VisitWord32And(Node* node) { |
uint32_t value = m.right().Value(); |
uint32_t width = CompilerIntrinsics::CountSetBits(value); |
uint32_t msb = CompilerIntrinsics::CountLeadingZeros(value); |
- if (msb + width == 32) { |
+ if (width != 0 && msb + width == 32) { |
ASSERT_EQ(0, CompilerIntrinsics::CountTrailingZeros(value)); |
if (m.left().IsWord32Shr()) { |
Int32BinopMatcher mleft(m.left().node()); |