| 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 1808 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1819 __ ret(); | 1819 __ ret(); |
| 1820 } | 1820 } |
| 1821 | 1821 |
| 1822 | 1822 |
| 1823 ASSEMBLER_TEST_RUN(Fcvtzds, test) { | 1823 ASSEMBLER_TEST_RUN(Fcvtzds, test) { |
| 1824 typedef int64_t (*Int64Return)() DART_UNUSED; | 1824 typedef int64_t (*Int64Return)() DART_UNUSED; |
| 1825 EXPECT_EQ(42, EXECUTE_TEST_CODE_INT64(Int64Return, test->entry())); | 1825 EXPECT_EQ(42, EXECUTE_TEST_CODE_INT64(Int64Return, test->entry())); |
| 1826 } | 1826 } |
| 1827 | 1827 |
| 1828 | 1828 |
| 1829 ASSEMBLER_TEST_GENERATE(Scvtfd, assembler) { | 1829 ASSEMBLER_TEST_GENERATE(Scvtfdx, assembler) { |
| 1830 __ LoadImmediate(R0, 42, kNoPP); | 1830 __ LoadImmediate(R0, 42, kNoPP); |
| 1831 __ scvtfd(V0, R0); | 1831 __ scvtfdx(V0, R0); |
| 1832 __ ret(); | 1832 __ ret(); |
| 1833 } | 1833 } |
| 1834 | 1834 |
| 1835 | 1835 |
| 1836 ASSEMBLER_TEST_RUN(Scvtfd, test) { | 1836 ASSEMBLER_TEST_RUN(Scvtfdx, test) { |
| 1837 typedef double (*DoubleReturn)() DART_UNUSED; | 1837 typedef double (*DoubleReturn)() DART_UNUSED; |
| 1838 EXPECT_EQ(42.0, EXECUTE_TEST_CODE_DOUBLE(DoubleReturn, test->entry())); | 1838 EXPECT_EQ(42.0, EXECUTE_TEST_CODE_DOUBLE(DoubleReturn, test->entry())); |
| 1839 } | 1839 } |
| 1840 |
| 1841 |
| 1842 ASSEMBLER_TEST_GENERATE(Scvtfdw, assembler) { |
| 1843 // Fill upper 32-bits with garbage. |
| 1844 __ LoadImmediate(R0, 0x111111110000002A, kNoPP); |
| 1845 __ scvtfdw(V0, R0); |
| 1846 __ ret(); |
| 1847 } |
| 1848 |
| 1849 |
| 1850 ASSEMBLER_TEST_RUN(Scvtfdw, test) { |
| 1851 typedef double (*DoubleReturn)() DART_UNUSED; |
| 1852 EXPECT_EQ(42.0, EXECUTE_TEST_CODE_DOUBLE(DoubleReturn, test->entry())); |
| 1853 } |
| 1840 | 1854 |
| 1841 | 1855 |
| 1842 ASSEMBLER_TEST_GENERATE(FabsdPos, assembler) { | 1856 ASSEMBLER_TEST_GENERATE(FabsdPos, assembler) { |
| 1843 __ LoadDImmediate(V1, 42.0, kNoPP); | 1857 __ LoadDImmediate(V1, 42.0, kNoPP); |
| 1844 __ fabsd(V0, V1); | 1858 __ fabsd(V0, V1); |
| 1845 __ ret(); | 1859 __ ret(); |
| 1846 } | 1860 } |
| 1847 | 1861 |
| 1848 | 1862 |
| 1849 ASSEMBLER_TEST_RUN(FabsdPos, test) { | 1863 ASSEMBLER_TEST_RUN(FabsdPos, test) { |
| (...skipping 1564 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3414 __ Pop(LR); | 3428 __ Pop(LR); |
| 3415 __ Pop(CTX); | 3429 __ Pop(CTX); |
| 3416 __ PopAndUntagPP(); | 3430 __ PopAndUntagPP(); |
| 3417 __ mov(CSP, SP); | 3431 __ mov(CSP, SP); |
| 3418 __ ret(); | 3432 __ ret(); |
| 3419 } | 3433 } |
| 3420 | 3434 |
| 3421 } // namespace dart | 3435 } // namespace dart |
| 3422 | 3436 |
| 3423 #endif // defined(TARGET_ARCH_ARM64) | 3437 #endif // defined(TARGET_ARCH_ARM64) |
| OLD | NEW |