Index: src/compiler/arm64/instruction-selector-arm64.cc |
diff --git a/src/compiler/arm64/instruction-selector-arm64.cc b/src/compiler/arm64/instruction-selector-arm64.cc |
index e15324f6e69091c94090c25c9b3e57d1f779d0b7..1ccce0ae203675173a2a90667088bf4cc87882b3 100644 |
--- a/src/compiler/arm64/instruction-selector-arm64.cc |
+++ b/src/compiler/arm64/instruction-selector-arm64.cc |
@@ -1066,6 +1066,7 @@ bool TryEmitBitfieldExtract32(InstructionSelector* selector, Node* node) { |
// OP is >>> or >> and (K & 0x1f) != 0. |
Int32BinopMatcher mleft(m.left().node()); |
if (mleft.right().HasValue() && m.right().HasValue() && |
+ (mleft.right().Value() & 0x1f) != 0 && |
(mleft.right().Value() & 0x1f) == (m.right().Value() & 0x1f)) { |
DCHECK(m.IsWord32Shr() || m.IsWord32Sar()); |
ArchOpcode opcode = m.IsWord32Sar() ? kArm64Sbfx32 : kArm64Ubfx32; |