Index: src/compiler/x64/instruction-selector-x64.cc |
diff --git a/src/compiler/x64/instruction-selector-x64.cc b/src/compiler/x64/instruction-selector-x64.cc |
index f10ad06cb07708dfdb2f33b672e340fff80c569b..10637430fdfc35053f72e81a463f0235ce25fbf0 100644 |
--- a/src/compiler/x64/instruction-selector-x64.cc |
+++ b/src/compiler/x64/instruction-selector-x64.cc |
@@ -1068,25 +1068,12 @@ void InstructionSelector::VisitBranch(Node* branch, BasicBlock* tbranch, |
FlagsContinuation cont(kNotEqual, tbranch, fbranch); |
// Try to combine with comparisons against 0 by simply inverting the branch. |
- while (CanCover(user, value)) { |
- if (value->opcode() == IrOpcode::kWord32Equal) { |
- Int32BinopMatcher m(value); |
- if (m.right().Is(0)) { |
- user = value; |
- value = m.left().node(); |
- cont.Negate(); |
- } else { |
- break; |
- } |
- } else if (value->opcode() == IrOpcode::kWord64Equal) { |
- Int64BinopMatcher m(value); |
- if (m.right().Is(0)) { |
- user = value; |
- value = m.left().node(); |
- cont.Negate(); |
- } else { |
- break; |
- } |
+ while (CanCover(user, value) && value->opcode() == IrOpcode::kWord32Equal) { |
+ Int32BinopMatcher m(value); |
+ if (m.right().Is(0)) { |
+ user = value; |
+ value = m.left().node(); |
+ cont.Negate(); |
} else { |
break; |
} |