Index: src/compiler/ia32/instruction-selector-ia32.cc |
diff --git a/src/compiler/ia32/instruction-selector-ia32.cc b/src/compiler/ia32/instruction-selector-ia32.cc |
index c242fb431c6f343d99875aea584b7372ffa482c9..dabaa56d17489365953bc218ca89e3d31ac130ce 100644 |
--- a/src/compiler/ia32/instruction-selector-ia32.cc |
+++ b/src/compiler/ia32/instruction-selector-ia32.cc |
@@ -524,13 +524,6 @@ static inline void VisitShift(InstructionSelector* selector, Node* node, |
selector->Emit(opcode, g.DefineSameAsFirst(node), g.UseRegister(left), |
g.UseImmediate(right)); |
} else { |
- Int32BinopMatcher m(node); |
- if (m.right().IsWord32And()) { |
- Int32BinopMatcher mright(right); |
- if (mright.right().Is(0x1F)) { |
- right = mright.left().node(); |
- } |
- } |
selector->Emit(opcode, g.DefineSameAsFirst(node), g.UseRegister(left), |
g.UseFixed(right, ecx)); |
} |
@@ -1096,7 +1089,8 @@ InstructionSelector::SupportedMachineOperatorFlags() { |
if (CpuFeatures::IsSupported(SSE4_1)) { |
return MachineOperatorBuilder::kFloat64Floor | |
MachineOperatorBuilder::kFloat64Ceil | |
- MachineOperatorBuilder::kFloat64RoundTruncate; |
+ MachineOperatorBuilder::kFloat64RoundTruncate | |
+ MachineOperatorBuilder::kWord32ShiftIsSafe; |
} |
return MachineOperatorBuilder::Flag::kNoFlags; |
} |