| Index: src/compiler/s390/code-generator-s390.cc
|
| diff --git a/src/compiler/s390/code-generator-s390.cc b/src/compiler/s390/code-generator-s390.cc
|
| index 2759c50dbdd649e2a85b132a4796385c9569a03a..b6b8c2e328610f22b340350861f457d4956474ff 100644
|
| --- a/src/compiler/s390/code-generator-s390.cc
|
| +++ b/src/compiler/s390/code-generator-s390.cc
|
| @@ -882,6 +882,19 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) {
|
| __ SubLogicalWithBorrow32(i.OutputRegister(1), i.InputRegister(1),
|
| i.InputRegister(3));
|
| break;
|
| + case kS390_MulPair:
|
| + // i.InputRegister(0) ... left low word.
|
| + // i.InputRegister(1) ... left high word.
|
| + // i.InputRegister(2) ... right low word.
|
| + // i.InputRegister(3) ... right high word.
|
| + __ sllg(r0, i.InputRegister(1), Operand(32));
|
| + __ sllg(r1, i.InputRegister(3), Operand(32));
|
| + __ lr(r0, i.InputRegister(0));
|
| + __ lr(r1, i.InputRegister(2));
|
| + __ msgr(r1, r0);
|
| + __ lr(i.OutputRegister(0), r1);
|
| + __ srag(i.OutputRegister(1), r1, Operand(32));
|
| + break;
|
| case kS390_ShiftLeftPair:
|
| if (instr->InputAt(2)->IsImmediate()) {
|
| __ ShiftLeftPair(i.OutputRegister(0), i.OutputRegister(1),
|
|
|