| Index: src/compiler/arm64/code-generator-arm64.cc | 
| diff --git a/src/compiler/arm64/code-generator-arm64.cc b/src/compiler/arm64/code-generator-arm64.cc | 
| index 31c53d32748bfa8790ede39cbf09f02f1ad7a258..798e5c199c285eddd8a36b341581880fac829adc 100644 | 
| --- a/src/compiler/arm64/code-generator-arm64.cc | 
| +++ b/src/compiler/arm64/code-generator-arm64.cc | 
| @@ -376,6 +376,12 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) { | 
| case kArm64Float64Sqrt: | 
| __ Fsqrt(i.OutputDoubleRegister(), i.InputDoubleRegister(0)); | 
| break; | 
| +    case kArm64Float32ToFloat64: | 
| +      __ Fcvt(i.OutputDoubleRegister(), i.InputDoubleRegister(0).S()); | 
| +      break; | 
| +    case kArm64Float64ToFloat32: | 
| +      __ Fcvt(i.OutputDoubleRegister().S(), i.InputDoubleRegister(0)); | 
| +      break; | 
| case kArm64Float64ToInt32: | 
| __ Fcvtzs(i.OutputRegister32(), i.InputDoubleRegister(0)); | 
| break; | 
| @@ -418,20 +424,12 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) { | 
| case kArm64Str: | 
| __ Str(i.InputRegister(2), i.MemoryOperand()); | 
| break; | 
| -    case kArm64LdrS: { | 
| -      UseScratchRegisterScope scope(masm()); | 
| -      FPRegister scratch = scope.AcquireS(); | 
| -      __ Ldr(scratch, i.MemoryOperand()); | 
| -      __ Fcvt(i.OutputDoubleRegister(), scratch); | 
| +    case kArm64LdrS: | 
| +      __ Ldr(i.OutputDoubleRegister().S(), i.MemoryOperand()); | 
| break; | 
| -    } | 
| -    case kArm64StrS: { | 
| -      UseScratchRegisterScope scope(masm()); | 
| -      FPRegister scratch = scope.AcquireS(); | 
| -      __ Fcvt(scratch, i.InputDoubleRegister(2)); | 
| -      __ Str(scratch, i.MemoryOperand()); | 
| +    case kArm64StrS: | 
| +      __ Str(i.InputDoubleRegister(2).S(), i.MemoryOperand()); | 
| break; | 
| -    } | 
| case kArm64LdrD: | 
| __ Ldr(i.OutputDoubleRegister(), i.MemoryOperand()); | 
| break; | 
|  |