Chromium Code Reviews| Index: src/compiler/int64-lowering.cc |
| diff --git a/src/compiler/int64-lowering.cc b/src/compiler/int64-lowering.cc |
| index 1b0ead5049c689dd61f20402548ca22d3065b387..b83ab2634521c5625047b12cd76f55defa49e8ee 100644 |
| --- a/src/compiler/int64-lowering.cc |
| +++ b/src/compiler/int64-lowering.cc |
| @@ -293,6 +293,24 @@ void Int64Lowering::LowerNode(Node* node) { |
| // kExprI64ShrU: |
| // kExprI64ShrS: |
| // kExprI64Eq: |
| + case IrOpcode::kWord64Equal: { |
| + DCHECK(node->InputCount() == 2); |
| + Node* left = node->InputAt(0); |
| + Node* right = node->InputAt(1); |
| + |
| + Node* replacement = graph()->NewNode( |
|
titzer
2016/02/23 15:49:30
Can you add a
TODO(wasm): Use explicit compariso
|
| + machine()->Word32Equal(), |
| + graph()->NewNode( |
| + machine()->Word32Or(), |
| + graph()->NewNode(machine()->Word32Xor(), GetReplacementLow(left), |
| + GetReplacementLow(right)), |
| + graph()->NewNode(machine()->Word32Xor(), GetReplacementHigh(left), |
| + GetReplacementHigh(right))), |
| + graph()->NewNode(common()->Int32Constant(0))); |
| + |
| + ReplaceNode(node, replacement, nullptr); |
| + break; |
| + } |
| // kExprI64Ne: |
| // kExprI64LtS: |
| // kExprI64LeS: |