| 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 a8678bd37ef8a856834b94b1fb54de25a325a036..169d7005b21ce57e03a3f1413282b432f9cb236e 100644
|
| --- a/src/compiler/arm/code-generator-arm.cc
|
| +++ b/src/compiler/arm/code-generator-arm.cc
|
| @@ -415,6 +415,22 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) {
|
| DCHECK_EQ(LeaveCC, i.OutputSBit());
|
| break;
|
| }
|
| + case kArmVldr32: {
|
| + SwVfpRegister scratch = kScratchDoubleReg.low();
|
| + __ vldr(scratch, i.InputOffset());
|
| + __ vcvt_f64_f32(i.OutputDoubleRegister(), scratch);
|
| + DCHECK_EQ(LeaveCC, i.OutputSBit());
|
| + break;
|
| + }
|
| + case kArmVstr32: {
|
| + int index = 0;
|
| + SwVfpRegister scratch = kScratchDoubleReg.low();
|
| + MemOperand operand = i.InputOffset(&index);
|
| + __ vcvt_f32_f64(scratch, i.InputDoubleRegister(index));
|
| + __ vstr(scratch, operand);
|
| + DCHECK_EQ(LeaveCC, i.OutputSBit());
|
| + break;
|
| + }
|
| case kArmVldr64:
|
| __ vldr(i.OutputDoubleRegister(), i.InputOffset());
|
| DCHECK_EQ(LeaveCC, i.OutputSBit());
|
|
|