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 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
655 } | 669 } |
656 | 670 |
657 | 671 |
658 inline void Assembler::EmitOperandSizeOverride() { | 672 inline void Assembler::EmitOperandSizeOverride() { |
659 EmitUint8(0x66); | 673 EmitUint8(0x66); |
660 } | 674 } |
661 | 675 |
662 } // namespace dart | 676 } // namespace dart |
663 | 677 |
664 #endif // VM_ASSEMBLER_X64_H_ | 678 #endif // VM_ASSEMBLER_X64_H_ |
OLD | NEW |