| Index: src/compiler/x64/code-generator-x64.cc
|
| diff --git a/src/compiler/x64/code-generator-x64.cc b/src/compiler/x64/code-generator-x64.cc
|
| index b684bdf7434dba23c0667812236068fc61954874..bb02441ff5c373a55a36754772a766165395cfaa 100644
|
| --- a/src/compiler/x64/code-generator-x64.cc
|
| +++ b/src/compiler/x64/code-generator-x64.cc
|
| @@ -289,7 +289,18 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) {
|
| ASSEMBLE_MULT(imulq);
|
| break;
|
| case kX64ImulHigh32:
|
| - __ imull(i.InputRegister(1));
|
| + if (instr->InputAt(1)->IsRegister()) {
|
| + __ imull(i.InputRegister(1));
|
| + } else {
|
| + __ imull(i.InputOperand(1));
|
| + }
|
| + break;
|
| + case kX64UmulHigh32:
|
| + if (instr->InputAt(1)->IsRegister()) {
|
| + __ mull(i.InputRegister(1));
|
| + } else {
|
| + __ mull(i.InputOperand(1));
|
| + }
|
| break;
|
| case kX64Idiv32:
|
| __ cdq();
|
|
|