Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(145)

Side by Side Diff: runtime/vm/assembler_x64_test.cc

Issue 10875030: Add support for XMM registers in SSA code generation pipeline. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: fix a bug pointed out by Florian Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « runtime/vm/assembler_x64.cc ('k') | runtime/vm/compiler.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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_X64) 6 #if defined(TARGET_ARCH_X64)
7 7
8 #include "vm/assembler.h" 8 #include "vm/assembler.h"
9 #include "vm/os.h" 9 #include "vm/os.h"
10 #include "vm/unit_test.h" 10 #include "vm/unit_test.h"
(...skipping 1302 matching lines...) Expand 10 before | Expand all | Expand 10 after
1313 __ movsd(XMM1, Address(RSP, 0)); 1313 __ movsd(XMM1, Address(RSP, 0));
1314 __ movq(R10, RSP); 1314 __ movq(R10, RSP);
1315 __ movsd(Address(R10, 0), XMM1); 1315 __ movsd(Address(R10, 0), XMM1);
1316 __ movsd(XMM2, Address(R10, 0)); 1316 __ movsd(XMM2, Address(R10, 0));
1317 __ movq(R15, RSP); 1317 __ movq(R15, RSP);
1318 __ movsd(Address(R15, 0), XMM2); 1318 __ movsd(Address(R15, 0), XMM2);
1319 __ movsd(XMM3, Address(R15, 0)); 1319 __ movsd(XMM3, Address(R15, 0));
1320 __ movq(RAX, RSP); 1320 __ movq(RAX, RSP);
1321 __ movsd(Address(RAX, 0), XMM3); 1321 __ movsd(Address(RAX, 0), XMM3);
1322 __ movsd(XMM4, Address(RAX, 0)); 1322 __ movsd(XMM4, Address(RAX, 0));
1323 __ movsd(XMM0, Address(RSP, 0)); 1323 __ movsd(XMM7, Address(RSP, 0));
1324 __ movaps(XMM6, XMM7);
1325 __ movaps(XMM5, XMM6);
1326 __ movaps(XMM4, XMM5);
1327 __ movaps(XMM3, XMM4);
1328 __ movaps(XMM2, XMM3);
1329 __ movaps(XMM1, XMM2);
1330 __ movaps(XMM0, XMM1);
1324 __ popq(RAX); 1331 __ popq(RAX);
1325 __ popq(R15); // Callee saved. 1332 __ popq(R15); // Callee saved.
1326 __ ret(); 1333 __ ret();
1327 } 1334 }
1328 1335
1329 1336
1330 ASSEMBLER_TEST_RUN(DoubleFPMoves, entry) { 1337 ASSEMBLER_TEST_RUN(DoubleFPMoves, entry) {
1331 typedef double (*DoubleFPMovesCode)(); 1338 typedef double (*DoubleFPMovesCode)();
1332 EXPECT_FLOAT_EQ(1024.67, reinterpret_cast<DoubleFPMovesCode>(entry)(), 0.001); 1339 EXPECT_FLOAT_EQ(1024.67, reinterpret_cast<DoubleFPMovesCode>(entry)(), 0.001);
1333 } 1340 }
(...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after
1699 EXPECT_EQ(0, res); 1706 EXPECT_EQ(0, res);
1700 res = reinterpret_cast<ExtractSignBits>(entry)(-1.0); 1707 res = reinterpret_cast<ExtractSignBits>(entry)(-1.0);
1701 EXPECT_EQ(1, res); 1708 EXPECT_EQ(1, res);
1702 res = reinterpret_cast<ExtractSignBits>(entry)(-0.0); 1709 res = reinterpret_cast<ExtractSignBits>(entry)(-0.0);
1703 EXPECT_EQ(1, res); 1710 EXPECT_EQ(1, res);
1704 } 1711 }
1705 1712
1706 } // namespace dart 1713 } // namespace dart
1707 1714
1708 #endif // defined TARGET_ARCH_X64 1715 #endif // defined TARGET_ARCH_X64
OLDNEW
« no previous file with comments | « runtime/vm/assembler_x64.cc ('k') | runtime/vm/compiler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698