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 baacc854c0dde758833bfb2be8190f8fd99d9d73..edd023dc1838d8cf87af8c08b1cf1c9f15a0255a 100644 |
--- a/src/compiler/arm64/code-generator-arm64.cc |
+++ b/src/compiler/arm64/code-generator-arm64.cc |
@@ -426,6 +426,20 @@ 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); |
+ break; |
+ } |
+ case kArm64StrS: { |
+ UseScratchRegisterScope scope(masm()); |
+ FPRegister scratch = scope.AcquireS(); |
+ __ Fcvt(scratch, i.InputDoubleRegister(2)); |
+ __ Str(scratch, i.MemoryOperand()); |
+ break; |
+ } |
case kArm64LdrD: |
__ Ldr(i.OutputDoubleRegister(), i.MemoryOperand()); |
break; |