| Index: src/compiler/s390/instruction-selector-s390.cc
|
| diff --git a/src/compiler/s390/instruction-selector-s390.cc b/src/compiler/s390/instruction-selector-s390.cc
|
| index dbffdeccf0c3711134ff87b4559d4c3c01294575..d3fa86149dfdd29e1819f62b240340002837193f 100644
|
| --- a/src/compiler/s390/instruction-selector-s390.cc
|
| +++ b/src/compiler/s390/instruction-selector-s390.cc
|
| @@ -754,8 +754,9 @@ void InstructionSelector::VisitWord32Sar(Node* node) {
|
| }
|
|
|
| #if !V8_TARGET_ARCH_S390X
|
| -void InstructionSelector::VisitInt32PairAdd(Node* node) {
|
| - S390OperandGenerator g(this);
|
| +void VisitPairBinop(InstructionSelector* selector, ArchOpcode opcode,
|
| + Node* node) {
|
| + S390OperandGenerator g(selector);
|
|
|
| // We use UseUniqueRegister here to avoid register sharing with the output
|
| // registers.
|
| @@ -767,7 +768,15 @@ void InstructionSelector::VisitInt32PairAdd(Node* node) {
|
| g.DefineAsRegister(node),
|
| g.DefineAsRegister(NodeProperties::FindProjection(node, 1))};
|
|
|
| - Emit(kS390_AddPair, 2, outputs, 4, inputs);
|
| + selector->Emit(opcode, 2, outputs, 4, inputs);
|
| +}
|
| +
|
| +void InstructionSelector::VisitInt32PairAdd(Node* node) {
|
| + VisitPairBinop(this, kS390_AddPair, node);
|
| +}
|
| +
|
| +void InstructionSelector::VisitInt32PairSub(Node* node) {
|
| + VisitPairBinop(this, kS390_SubPair, node);
|
| }
|
|
|
| void VisitPairShift(InstructionSelector* selector, ArchOpcode opcode,
|
|
|