| Index: src/compiler/arm/code-generator-arm.cc
|
| diff --git a/src/compiler/arm/code-generator-arm.cc b/src/compiler/arm/code-generator-arm.cc
|
| index 474e41dc99c07d6e488bc3edff25a573b56176fe..b6b9e20ac57845f819330d23673d414d7df7f766 100644
|
| --- a/src/compiler/arm/code-generator-arm.cc
|
| +++ b/src/compiler/arm/code-generator-arm.cc
|
| @@ -809,6 +809,18 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) {
|
| Operand(i.InputRegister(3)));
|
| DCHECK_EQ(LeaveCC, i.OutputSBit());
|
| break;
|
| + case kArmMulPair:
|
| + // i.InputRegister(0) ... left low word.
|
| + // i.InputRegister(1) ... left high word.
|
| + // i.InputRegister(2) ... right low word.
|
| + // i.InputRegister(3) ... right high word.
|
| + __ umull(i.OutputRegister(0), i.OutputRegister(1), i.InputRegister(0),
|
| + i.InputRegister(2));
|
| + __ mla(i.OutputRegister(1), i.InputRegister(0), i.InputRegister(3),
|
| + i.OutputRegister(1));
|
| + __ mla(i.OutputRegister(1), i.InputRegister(2), i.InputRegister(1),
|
| + i.OutputRegister(1));
|
| + break;
|
| case kArmLslPair:
|
| if (instr->InputAt(2)->IsImmediate()) {
|
| __ LslPair(i.OutputRegister(0), i.OutputRegister(1), i.InputRegister(0),
|
|
|