OLD | NEW |
1 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. |
2 // All Rights Reserved. | 2 // All Rights Reserved. |
3 // | 3 // |
4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
5 // modification, are permitted provided that the following conditions are | 5 // modification, are permitted provided that the following conditions are |
6 // met: | 6 // met: |
7 // | 7 // |
8 // - Redistributions of source code must retain the above copyright notice, | 8 // - Redistributions of source code must retain the above copyright notice, |
9 // this list of conditions and the following disclaimer. | 9 // this list of conditions and the following disclaimer. |
10 // | 10 // |
(...skipping 1273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1284 | 1284 |
1285 void frndint(); | 1285 void frndint(); |
1286 | 1286 |
1287 void sahf(); | 1287 void sahf(); |
1288 | 1288 |
1289 // SSE2 instructions | 1289 // SSE2 instructions |
1290 void movd(XMMRegister dst, Register src); | 1290 void movd(XMMRegister dst, Register src); |
1291 void movd(Register dst, XMMRegister src); | 1291 void movd(Register dst, XMMRegister src); |
1292 void movq(XMMRegister dst, Register src); | 1292 void movq(XMMRegister dst, Register src); |
1293 void movq(Register dst, XMMRegister src); | 1293 void movq(Register dst, XMMRegister src); |
| 1294 void movq(XMMRegister dst, XMMRegister src); |
1294 void extractps(Register dst, XMMRegister src, byte imm8); | 1295 void extractps(Register dst, XMMRegister src, byte imm8); |
1295 | 1296 |
| 1297 // Don't use this unless it's important to keep the |
| 1298 // top half of the destination register unchanged. |
| 1299 // Used movaps when moving double values and movq for integer |
| 1300 // values in xmm registers. |
| 1301 void movsd(XMMRegister dst, XMMRegister src); |
| 1302 |
1296 void movsd(const Operand& dst, XMMRegister src); | 1303 void movsd(const Operand& dst, XMMRegister src); |
1297 void movsd(XMMRegister dst, XMMRegister src); | |
1298 void movsd(XMMRegister dst, const Operand& src); | 1304 void movsd(XMMRegister dst, const Operand& src); |
1299 | 1305 |
1300 void movdqa(const Operand& dst, XMMRegister src); | 1306 void movdqa(const Operand& dst, XMMRegister src); |
1301 void movdqa(XMMRegister dst, const Operand& src); | 1307 void movdqa(XMMRegister dst, const Operand& src); |
1302 | 1308 |
| 1309 void movapd(XMMRegister dst, XMMRegister src); |
| 1310 void movaps(XMMRegister dst, XMMRegister src); |
| 1311 |
1303 void movss(XMMRegister dst, const Operand& src); | 1312 void movss(XMMRegister dst, const Operand& src); |
1304 void movss(const Operand& dst, XMMRegister src); | 1313 void movss(const Operand& dst, XMMRegister src); |
1305 | 1314 |
1306 void cvttss2si(Register dst, const Operand& src); | 1315 void cvttss2si(Register dst, const Operand& src); |
1307 void cvttss2si(Register dst, XMMRegister src); | 1316 void cvttss2si(Register dst, XMMRegister src); |
1308 void cvttsd2si(Register dst, const Operand& src); | 1317 void cvttsd2si(Register dst, const Operand& src); |
1309 void cvttsd2si(Register dst, XMMRegister src); | 1318 void cvttsd2si(Register dst, XMMRegister src); |
1310 void cvttsd2siq(Register dst, XMMRegister src); | 1319 void cvttsd2siq(Register dst, XMMRegister src); |
1311 | 1320 |
1312 void cvtlsi2sd(XMMRegister dst, const Operand& src); | 1321 void cvtlsi2sd(XMMRegister dst, const Operand& src); |
(...skipping 11 matching lines...) Expand all Loading... |
1324 void cvtsd2siq(Register dst, XMMRegister src); | 1333 void cvtsd2siq(Register dst, XMMRegister src); |
1325 | 1334 |
1326 void addsd(XMMRegister dst, XMMRegister src); | 1335 void addsd(XMMRegister dst, XMMRegister src); |
1327 void subsd(XMMRegister dst, XMMRegister src); | 1336 void subsd(XMMRegister dst, XMMRegister src); |
1328 void mulsd(XMMRegister dst, XMMRegister src); | 1337 void mulsd(XMMRegister dst, XMMRegister src); |
1329 void divsd(XMMRegister dst, XMMRegister src); | 1338 void divsd(XMMRegister dst, XMMRegister src); |
1330 | 1339 |
1331 void andpd(XMMRegister dst, XMMRegister src); | 1340 void andpd(XMMRegister dst, XMMRegister src); |
1332 void orpd(XMMRegister dst, XMMRegister src); | 1341 void orpd(XMMRegister dst, XMMRegister src); |
1333 void xorpd(XMMRegister dst, XMMRegister src); | 1342 void xorpd(XMMRegister dst, XMMRegister src); |
| 1343 void xorps(XMMRegister dst, XMMRegister src); |
1334 void sqrtsd(XMMRegister dst, XMMRegister src); | 1344 void sqrtsd(XMMRegister dst, XMMRegister src); |
1335 | 1345 |
1336 void ucomisd(XMMRegister dst, XMMRegister src); | 1346 void ucomisd(XMMRegister dst, XMMRegister src); |
1337 void ucomisd(XMMRegister dst, const Operand& src); | 1347 void ucomisd(XMMRegister dst, const Operand& src); |
1338 | 1348 |
1339 enum RoundingMode { | 1349 enum RoundingMode { |
1340 kRoundToNearest = 0x0, | 1350 kRoundToNearest = 0x0, |
1341 kRoundDown = 0x1, | 1351 kRoundDown = 0x1, |
1342 kRoundUp = 0x2, | 1352 kRoundUp = 0x2, |
1343 kRoundToZero = 0x3 | 1353 kRoundToZero = 0x3 |
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1630 private: | 1640 private: |
1631 Assembler* assembler_; | 1641 Assembler* assembler_; |
1632 #ifdef DEBUG | 1642 #ifdef DEBUG |
1633 int space_before_; | 1643 int space_before_; |
1634 #endif | 1644 #endif |
1635 }; | 1645 }; |
1636 | 1646 |
1637 } } // namespace v8::internal | 1647 } } // namespace v8::internal |
1638 | 1648 |
1639 #endif // V8_X64_ASSEMBLER_X64_H_ | 1649 #endif // V8_X64_ASSEMBLER_X64_H_ |
OLD | NEW |