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 // Modified by the Subzero authors. | 5 // Modified by the Subzero authors. |
6 // | 6 // |
7 //===- subzero/src/assembler_ia32.h - Assembler for x86-32 ----------------===// | 7 //===- subzero/src/assembler_ia32.h - Assembler for x86-32 ----------------===// |
8 // | 8 // |
9 // The Subzero Code Generator | 9 // The Subzero Code Generator |
10 // | 10 // |
(...skipping 517 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
528 void xorps(XmmRegister dst, const Address &src); | 528 void xorps(XmmRegister dst, const Address &src); |
529 void xorps(XmmRegister dst, XmmRegister src); | 529 void xorps(XmmRegister dst, XmmRegister src); |
530 | 530 |
531 void andpd(XmmRegister dst, const Address &src); | 531 void andpd(XmmRegister dst, const Address &src); |
532 void andpd(XmmRegister dst, XmmRegister src); | 532 void andpd(XmmRegister dst, XmmRegister src); |
533 | 533 |
534 void orpd(XmmRegister dst, XmmRegister src); | 534 void orpd(XmmRegister dst, XmmRegister src); |
535 | 535 |
536 void pextrd(GPRRegister dst, XmmRegister src, const Immediate &imm); | 536 void pextrd(GPRRegister dst, XmmRegister src, const Immediate &imm); |
537 void pmovsxdq(XmmRegister dst, XmmRegister src); | 537 void pmovsxdq(XmmRegister dst, XmmRegister src); |
538 void pcmpeqq(XmmRegister dst, XmmRegister src); | 538 |
| 539 void pcmpeq(Type Ty, XmmRegister dst, XmmRegister src); |
| 540 void pcmpeq(Type Ty, XmmRegister dst, const Address &src); |
| 541 void pcmpgt(Type Ty, XmmRegister dst, XmmRegister src); |
| 542 void pcmpgt(Type Ty, XmmRegister dst, const Address &src); |
539 | 543 |
540 enum RoundingMode { | 544 enum RoundingMode { |
541 kRoundToNearest = 0x0, | 545 kRoundToNearest = 0x0, |
542 kRoundDown = 0x1, | 546 kRoundDown = 0x1, |
543 kRoundUp = 0x2, | 547 kRoundUp = 0x2, |
544 kRoundToZero = 0x3 | 548 kRoundToZero = 0x3 |
545 }; | 549 }; |
546 void roundsd(XmmRegister dst, XmmRegister src, RoundingMode mode); | 550 void roundsd(XmmRegister dst, XmmRegister src, RoundingMode mode); |
547 | 551 |
548 void flds(const Address &src); | 552 void flds(const Address &src); |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
602 void cbw(); | 606 void cbw(); |
603 void cwd(); | 607 void cwd(); |
604 void cdq(); | 608 void cdq(); |
605 | 609 |
606 void div(Type Ty, GPRRegister reg); | 610 void div(Type Ty, GPRRegister reg); |
607 void div(Type Ty, const Address &address); | 611 void div(Type Ty, const Address &address); |
608 | 612 |
609 void idiv(Type Ty, GPRRegister reg); | 613 void idiv(Type Ty, GPRRegister reg); |
610 void idiv(Type Ty, const Address &address); | 614 void idiv(Type Ty, const Address &address); |
611 | 615 |
612 void imull(GPRRegister dst, GPRRegister src); | 616 void imul(Type Ty, GPRRegister dst, GPRRegister src); |
613 void imull(GPRRegister reg, const Immediate &imm); | 617 void imul(Type Ty, GPRRegister reg, const Immediate &imm); |
614 void imull(GPRRegister reg, const Address &address); | 618 void imul(Type Ty, GPRRegister reg, const Address &address); |
615 | 619 |
616 void imull(GPRRegister reg); | 620 void imul(Type Ty, GPRRegister reg); |
617 void imull(const Address &address); | 621 void imul(Type Ty, const Address &address); |
618 | 622 |
619 void mul(Type Ty, GPRRegister reg); | 623 void mul(Type Ty, GPRRegister reg); |
620 void mul(Type Ty, const Address &address); | 624 void mul(Type Ty, const Address &address); |
621 | 625 |
622 void incl(GPRRegister reg); | 626 void incl(GPRRegister reg); |
623 void incl(const Address &address); | 627 void incl(const Address &address); |
624 | 628 |
625 void decl(GPRRegister reg); | 629 void decl(GPRRegister reg); |
626 void decl(const Address &address); | 630 void decl(const Address &address); |
627 | 631 |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
750 inline void AssemblerX86::EmitFixup(AssemblerFixup *fixup) { | 754 inline void AssemblerX86::EmitFixup(AssemblerFixup *fixup) { |
751 buffer_.EmitFixup(fixup); | 755 buffer_.EmitFixup(fixup); |
752 } | 756 } |
753 | 757 |
754 inline void AssemblerX86::EmitOperandSizeOverride() { EmitUint8(0x66); } | 758 inline void AssemblerX86::EmitOperandSizeOverride() { EmitUint8(0x66); } |
755 | 759 |
756 } // end of namespace x86 | 760 } // end of namespace x86 |
757 } // end of namespace Ice | 761 } // end of namespace Ice |
758 | 762 |
759 #endif // SUBZERO_SRC_ASSEMBLER_IA32_H_ | 763 #endif // SUBZERO_SRC_ASSEMBLER_IA32_H_ |
OLD | NEW |