OLD | NEW |
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 #ifndef VM_ASSEMBLER_X64_H_ | 5 #ifndef VM_ASSEMBLER_X64_H_ |
6 #define VM_ASSEMBLER_X64_H_ | 6 #define VM_ASSEMBLER_X64_H_ |
7 | 7 |
8 #ifndef VM_ASSEMBLER_H_ | 8 #ifndef VM_ASSEMBLER_H_ |
9 #error Do not include assembler_x64.h directly; use assembler.h instead. | 9 #error Do not include assembler_x64.h directly; use assembler.h instead. |
10 #endif | 10 #endif |
(...skipping 426 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
437 void decq(const Address& address); | 437 void decq(const Address& address); |
438 | 438 |
439 void negl(Register reg); | 439 void negl(Register reg); |
440 void negq(Register reg); | 440 void negq(Register reg); |
441 void notq(Register reg); | 441 void notq(Register reg); |
442 | 442 |
443 void enter(const Immediate& imm); | 443 void enter(const Immediate& imm); |
444 void leave(); | 444 void leave(); |
445 void ret(); | 445 void ret(); |
446 | 446 |
| 447 void movmskpd(Register dst, XmmRegister src); |
| 448 |
447 void sqrtsd(XmmRegister dst, XmmRegister src); | 449 void sqrtsd(XmmRegister dst, XmmRegister src); |
448 | 450 |
449 void xorpd(XmmRegister dst, const Address& src); | 451 void xorpd(XmmRegister dst, const Address& src); |
| 452 void xorpd(XmmRegister dst, XmmRegister src); |
| 453 |
| 454 void fldl(const Address& src); |
| 455 void fstpl(const Address& dst); |
| 456 |
| 457 void fildl(const Address& src); |
| 458 |
| 459 void fincstp(); |
| 460 void ffree(intptr_t value); |
| 461 |
| 462 void fsin(); |
| 463 void fcos(); |
450 | 464 |
451 // 'size' indicates size in bytes and must be in the range 1..8. | 465 // 'size' indicates size in bytes and must be in the range 1..8. |
452 void nop(int size = 1); | 466 void nop(int size = 1); |
453 void int3(); | 467 void int3(); |
454 void hlt(); | 468 void hlt(); |
455 | 469 |
456 void j(Condition condition, Label* label, bool near = kFarJump); | 470 void j(Condition condition, Label* label, bool near = kFarJump); |
457 void j(Condition condition, const ExternalLabel* label); | 471 void j(Condition condition, const ExternalLabel* label); |
458 | 472 |
459 void jmp(Register reg); | 473 void jmp(Register reg); |
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
657 } | 671 } |
658 | 672 |
659 | 673 |
660 inline void Assembler::EmitOperandSizeOverride() { | 674 inline void Assembler::EmitOperandSizeOverride() { |
661 EmitUint8(0x66); | 675 EmitUint8(0x66); |
662 } | 676 } |
663 | 677 |
664 } // namespace dart | 678 } // namespace dart |
665 | 679 |
666 #endif // VM_ASSEMBLER_X64_H_ | 680 #endif // VM_ASSEMBLER_X64_H_ |
OLD | NEW |