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