Index: src/compiler/simplified-lowering.cc |
diff --git a/src/compiler/simplified-lowering.cc b/src/compiler/simplified-lowering.cc |
index d1c56dd886b14a5d2cf967c4b1d18bbe2078e25e..39d473e7a9687b68dcec17eac8a67fdf34284d07 100644 |
--- a/src/compiler/simplified-lowering.cc |
+++ b/src/compiler/simplified-lowering.cc |
@@ -1270,16 +1270,16 @@ class RepresentationSelector { |
case IrOpcode::kNumberLessThan: |
case IrOpcode::kNumberLessThanOrEqual: { |
// Number comparisons reduce to integer comparisons for integer inputs. |
- if (TypeOf(node->InputAt(0))->Is(Type::Signed32()) && |
- TypeOf(node->InputAt(1))->Is(Type::Signed32())) { |
- // => signed Int32Cmp |
- VisitInt32Cmp(node); |
- if (lower()) NodeProperties::ChangeOp(node, Int32Op(node)); |
- } else if (TypeOf(node->InputAt(0))->Is(Type::Unsigned32()) && |
- TypeOf(node->InputAt(1))->Is(Type::Unsigned32())) { |
+ if (TypeOf(node->InputAt(0))->Is(Type::Unsigned32()) && |
+ TypeOf(node->InputAt(1))->Is(Type::Unsigned32())) { |
// => unsigned Int32Cmp |
VisitUint32Cmp(node); |
if (lower()) NodeProperties::ChangeOp(node, Uint32Op(node)); |
+ } else if (TypeOf(node->InputAt(0))->Is(Type::Signed32()) && |
+ TypeOf(node->InputAt(1))->Is(Type::Signed32())) { |
+ // => signed Int32Cmp |
+ VisitInt32Cmp(node); |
+ if (lower()) NodeProperties::ChangeOp(node, Int32Op(node)); |
} else { |
// => Float64Cmp |
VisitFloat64Cmp(node); |
@@ -1296,18 +1296,18 @@ class RepresentationSelector { |
case IrOpcode::kSpeculativeNumberLessThanOrEqual: |
case IrOpcode::kSpeculativeNumberEqual: { |
// Number comparisons reduce to integer comparisons for integer inputs. |
- if (TypeOf(node->InputAt(0))->Is(Type::Signed32()) && |
- TypeOf(node->InputAt(1))->Is(Type::Signed32())) { |
- // => signed Int32Cmp |
- VisitInt32Cmp(node); |
- if (lower()) ChangeToPureOp(node, Int32Op(node)); |
- return; |
- } else if (TypeOf(node->InputAt(0))->Is(Type::Unsigned32()) && |
- TypeOf(node->InputAt(1))->Is(Type::Unsigned32())) { |
+ if (TypeOf(node->InputAt(0))->Is(Type::Unsigned32()) && |
+ TypeOf(node->InputAt(1))->Is(Type::Unsigned32())) { |
// => unsigned Int32Cmp |
VisitUint32Cmp(node); |
if (lower()) ChangeToPureOp(node, Uint32Op(node)); |
return; |
+ } else if (TypeOf(node->InputAt(0))->Is(Type::Signed32()) && |
+ TypeOf(node->InputAt(1))->Is(Type::Signed32())) { |
+ // => signed Int32Cmp |
+ VisitInt32Cmp(node); |
+ if (lower()) ChangeToPureOp(node, Int32Op(node)); |
+ return; |
} |
// Try to use type feedback. |
CompareOperationHints::Hint hint = CompareOperationHintOf(node->op()); |