| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #include "vm/globals.h" | 5 #include "vm/globals.h" |
| 6 #if defined(TARGET_ARCH_ARM64) | 6 #if defined(TARGET_ARCH_ARM64) |
| 7 | 7 |
| 8 #include "vm/assembler.h" | 8 #include "vm/assembler.h" |
| 9 #include "vm/cpu.h" | 9 #include "vm/cpu.h" |
| 10 #include "vm/os.h" | 10 #include "vm/os.h" |
| (...skipping 2323 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2334 | 2334 |
| 2335 | 2335 |
| 2336 ASSEMBLER_TEST_GENERATE(FldrdFstrdHeapTag, assembler) { | 2336 ASSEMBLER_TEST_GENERATE(FldrdFstrdHeapTag, assembler) { |
| 2337 __ SetupDartSP(); | 2337 __ SetupDartSP(); |
| 2338 __ LoadDImmediate(V0, 43.0); | 2338 __ LoadDImmediate(V0, 43.0); |
| 2339 __ LoadDImmediate(V1, 42.0); | 2339 __ LoadDImmediate(V1, 42.0); |
| 2340 __ AddImmediate(SP, SP, -1 * kWordSize); | 2340 __ AddImmediate(SP, SP, -1 * kWordSize); |
| 2341 __ add(R2, SP, Operand(1)); | 2341 __ add(R2, SP, Operand(1)); |
| 2342 __ fstrd(V1, Address(R2, -1)); | 2342 __ fstrd(V1, Address(R2, -1)); |
| 2343 __ fldrd(V0, Address(R2, -1)); | 2343 __ fldrd(V0, Address(R2, -1)); |
| 2344 __ AddImmediate(SP, SP, 1 * kWordSize); | 2344 __ AddImmediate(SP, 1 * kWordSize); |
| 2345 __ RestoreCSP(); | 2345 __ RestoreCSP(); |
| 2346 __ ret(); | 2346 __ ret(); |
| 2347 } | 2347 } |
| 2348 | 2348 |
| 2349 | 2349 |
| 2350 ASSEMBLER_TEST_RUN(FldrdFstrdHeapTag, test) { | 2350 ASSEMBLER_TEST_RUN(FldrdFstrdHeapTag, test) { |
| 2351 typedef double (*DoubleReturn)() DART_UNUSED; | 2351 typedef double (*DoubleReturn)() DART_UNUSED; |
| 2352 EXPECT_EQ(42.0, EXECUTE_TEST_CODE_DOUBLE(DoubleReturn, test->entry())); | 2352 EXPECT_EQ(42.0, EXECUTE_TEST_CODE_DOUBLE(DoubleReturn, test->entry())); |
| 2353 } | 2353 } |
| 2354 | 2354 |
| (...skipping 1437 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3792 __ Pop(LR); | 3792 __ Pop(LR); |
| 3793 __ Pop(THR); | 3793 __ Pop(THR); |
| 3794 __ Pop(CODE_REG); | 3794 __ Pop(CODE_REG); |
| 3795 __ RestoreCSP(); | 3795 __ RestoreCSP(); |
| 3796 __ ret(); | 3796 __ ret(); |
| 3797 } | 3797 } |
| 3798 | 3798 |
| 3799 } // namespace dart | 3799 } // namespace dart |
| 3800 | 3800 |
| 3801 #endif // defined(TARGET_ARCH_ARM64) | 3801 #endif // defined(TARGET_ARCH_ARM64) |
| OLD | NEW |