| 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(); | 
|  |