| 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 c501b5cd20adba6ae28200f19d20e628592d29c8..2b539c8057dc3b720bb3bd5f9cebf30081786a89 100644
|
| --- a/src/compiler/x64/code-generator-x64.cc
|
| +++ b/src/compiler/x64/code-generator-x64.cc
|
| @@ -388,6 +388,24 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) {
|
| case kX64PushI:
|
| __ pushq(i.InputImmediate(0));
|
| break;
|
| + case kX64Movl: {
|
| + RegisterOrOperand input = i.InputRegisterOrOperand(0);
|
| + if (input.type == kRegister) {
|
| + __ movl(i.OutputRegister(), input.reg);
|
| + } else {
|
| + __ movl(i.OutputRegister(), input.operand);
|
| + }
|
| + break;
|
| + }
|
| + case kX64Movsxlq: {
|
| + RegisterOrOperand input = i.InputRegisterOrOperand(0);
|
| + if (input.type == kRegister) {
|
| + __ movsxlq(i.OutputRegister(), input.reg);
|
| + } else {
|
| + __ movsxlq(i.OutputRegister(), input.operand);
|
| + }
|
| + break;
|
| + }
|
| case kX64CallCodeObject: {
|
| if (HasImmediateInput(instr, 0)) {
|
| Handle<Code> code = Handle<Code>::cast(i.InputHeapObject(0));
|
| @@ -484,12 +502,6 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) {
|
| __ addq(rsp, Immediate(kDoubleSize));
|
| break;
|
| }
|
| - case kX64Int32ToInt64:
|
| - __ movzxwq(i.OutputRegister(), i.InputRegister(0));
|
| - break;
|
| - case kX64Int64ToInt32:
|
| - __ Move(i.OutputRegister(), i.InputRegister(0));
|
| - break;
|
| case kSSEFloat64ToInt32: {
|
| RegisterOrOperand input = i.InputRegisterOrOperand(0);
|
| if (input.type == kDoubleRegister) {
|
|
|