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 755 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
766 } | 766 } |
767 | 767 |
768 void cmpw(Register dst, Register src) { | 768 void cmpw(Register dst, Register src) { |
769 arithmetic_op_16(0x3B, dst, src); | 769 arithmetic_op_16(0x3B, dst, src); |
770 } | 770 } |
771 | 771 |
772 void cmpw(const Operand& dst, Register src) { | 772 void cmpw(const Operand& dst, Register src) { |
773 arithmetic_op_16(0x39, src, dst); | 773 arithmetic_op_16(0x39, src, dst); |
774 } | 774 } |
775 | 775 |
| 776 void testb(Register reg, const Operand& op) { testb(op, reg); } |
| 777 |
| 778 void testw(Register reg, const Operand& op) { testw(op, reg); } |
| 779 |
776 void andb(Register dst, Immediate src) { | 780 void andb(Register dst, Immediate src) { |
777 immediate_arithmetic_op_8(0x4, dst, src); | 781 immediate_arithmetic_op_8(0x4, dst, src); |
778 } | 782 } |
779 | 783 |
780 void decb(Register dst); | 784 void decb(Register dst); |
781 void decb(const Operand& dst); | 785 void decb(const Operand& dst); |
782 | 786 |
783 // Sign-extends rax into rdx:rax. | 787 // Sign-extends rax into rdx:rax. |
784 void cqo(); | 788 void cqo(); |
785 // Sign-extends eax into edx:eax. | 789 // Sign-extends eax into edx:eax. |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
841 | 845 |
842 void subb(Register dst, Immediate src) { | 846 void subb(Register dst, Immediate src) { |
843 immediate_arithmetic_op_8(0x5, dst, src); | 847 immediate_arithmetic_op_8(0x5, dst, src); |
844 } | 848 } |
845 | 849 |
846 void testb(Register dst, Register src); | 850 void testb(Register dst, Register src); |
847 void testb(Register reg, Immediate mask); | 851 void testb(Register reg, Immediate mask); |
848 void testb(const Operand& op, Immediate mask); | 852 void testb(const Operand& op, Immediate mask); |
849 void testb(const Operand& op, Register reg); | 853 void testb(const Operand& op, Register reg); |
850 | 854 |
| 855 void testw(Register dst, Register src); |
| 856 void testw(Register reg, Immediate mask); |
| 857 void testw(const Operand& op, Immediate mask); |
| 858 void testw(const Operand& op, Register reg); |
| 859 |
851 // Bit operations. | 860 // Bit operations. |
852 void bt(const Operand& dst, Register src); | 861 void bt(const Operand& dst, Register src); |
853 void bts(const Operand& dst, Register src); | 862 void bts(const Operand& dst, Register src); |
854 void bsrq(Register dst, Register src); | 863 void bsrq(Register dst, Register src); |
855 void bsrq(Register dst, const Operand& src); | 864 void bsrq(Register dst, const Operand& src); |
856 void bsrl(Register dst, Register src); | 865 void bsrl(Register dst, Register src); |
857 void bsrl(Register dst, const Operand& src); | 866 void bsrl(Register dst, const Operand& src); |
858 void bsfq(Register dst, Register src); | 867 void bsfq(Register dst, Register src); |
859 void bsfq(Register dst, const Operand& src); | 868 void bsfq(Register dst, const Operand& src); |
860 void bsfl(Register dst, Register src); | 869 void bsfl(Register dst, Register src); |
(...skipping 1350 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2211 Assembler* assembler_; | 2220 Assembler* assembler_; |
2212 #ifdef DEBUG | 2221 #ifdef DEBUG |
2213 int space_before_; | 2222 int space_before_; |
2214 #endif | 2223 #endif |
2215 }; | 2224 }; |
2216 | 2225 |
2217 } // namespace internal | 2226 } // namespace internal |
2218 } // namespace v8 | 2227 } // namespace v8 |
2219 | 2228 |
2220 #endif // V8_X64_ASSEMBLER_X64_H_ | 2229 #endif // V8_X64_ASSEMBLER_X64_H_ |
OLD | NEW |