| Index: src/compiler/int64-lowering.cc
|
| diff --git a/src/compiler/int64-lowering.cc b/src/compiler/int64-lowering.cc
|
| index ff61aa765d244abbc2c34ad569c609cb1e8739f0..ae5672df32f0eb38cc9b58ba9e86216345d7f03e 100644
|
| --- a/src/compiler/int64-lowering.cc
|
| +++ b/src/compiler/int64-lowering.cc
|
| @@ -237,7 +237,7 @@ void Int64Lowering::LowerNode(Node* node) {
|
| NodeProperties::ChangeOp(node, store_op);
|
| ReplaceNode(node, node, high_node);
|
| } else {
|
| - DefaultLowering(node);
|
| + DefaultLowering(node, true);
|
| }
|
| break;
|
| }
|
| @@ -826,7 +826,7 @@ void Int64Lowering::LowerComparison(Node* node, const Operator* high_word_op,
|
| ReplaceNode(node, replacement, nullptr);
|
| }
|
|
|
| -bool Int64Lowering::DefaultLowering(Node* node) {
|
| +bool Int64Lowering::DefaultLowering(Node* node, bool low_word_only) {
|
| bool something_changed = false;
|
| for (int i = NodeProperties::PastValueIndex(node) - 1; i >= 0; i--) {
|
| Node* input = node->InputAt(i);
|
| @@ -834,7 +834,7 @@ bool Int64Lowering::DefaultLowering(Node* node) {
|
| something_changed = true;
|
| node->ReplaceInput(i, GetReplacementLow(input));
|
| }
|
| - if (HasReplacementHigh(input)) {
|
| + if (!low_word_only && HasReplacementHigh(input)) {
|
| something_changed = true;
|
| node->InsertInput(zone(), i + 1, GetReplacementHigh(input));
|
| }
|
|
|