Lines Matching refs:Register

77 // "initialization". Also, the Register objects cannot be const as this
90 struct Register {
104 static int ToAllocationIndex(Register reg) {
108 static Register FromAllocationIndex(int index) {
110 Register result = { kRegisterCodeByAllocationIndex[index] };
131 static Register from_code(int code) {
132 Register r = { code };
136 bool is(Register reg) const { return code_ == reg.code_; }
185 const Register rax = { kRegister_rax_Code };
186 const Register rcx = { kRegister_rcx_Code };
187 const Register rdx = { kRegister_rdx_Code };
188 const Register rbx = { kRegister_rbx_Code };
189 const Register rsp = { kRegister_rsp_Code };
190 const Register rbp = { kRegister_rbp_Code };
191 const Register rsi = { kRegister_rsi_Code };
192 const Register rdi = { kRegister_rdi_Code };
193 const Register r8 = { kRegister_r8_Code };
194 const Register r9 = { kRegister_r9_Code };
195 const Register r10 = { kRegister_r10_Code };
196 const Register r11 = { kRegister_r11_Code };
197 const Register r12 = { kRegister_r12_Code };
198 const Register r13 = { kRegister_r13_Code };
199 const Register r14 = { kRegister_r14_Code };
200 const Register r15 = { kRegister_r15_Code };
201 const Register no_reg = { kRegister_no_reg_Code };
205 const Register arg_reg_1 = { kRegister_rcx_Code };
206 const Register arg_reg_2 = { kRegister_rdx_Code };
207 const Register arg_reg_3 = { kRegister_r8_Code };
208 const Register arg_reg_4 = { kRegister_r9_Code };
211 const Register arg_reg_1 = { kRegister_rdi_Code };
212 const Register arg_reg_2 = { kRegister_rsi_Code };
213 const Register arg_reg_3 = { kRegister_rdx_Code };
214 const Register arg_reg_4 = { kRegister_rcx_Code };
405 Operand(Register base, int32_t disp);
408 Operand(Register base,
409 Register index,
414 Operand(Register index,
425 bool AddressUsesRegister(Register reg) const;
443 inline void set_modrm(int mod, Register rm);
446 inline void set_sib(ScaleFactor scale, Register index, Register base);
663 void push(Register src);
666 void pop(Register dst);
673 void movb(Register dst, const Operand& src);
674 void movb(Register dst, Immediate imm);
675 void movb(const Operand& dst, Register src);
679 void movw(const Operand& dst, Register src);
681 void movl(Register dst, Register src);
682 void movl(Register dst, const Operand& src);
683 void movl(const Operand& dst, Register src);
686 void movl(Register dst, Immediate imm32);
689 void movq(const Operand& dst, Register src);
691 void movq(Register dst, const Operand& src);
692 void movq(Register dst, Register src);
694 void movq(Register dst, Immediate x);
703 void movq(Register dst, void* ptr, RelocInfo::Mode rmode);
704 void movq(Register dst, int64_t value, RelocInfo::Mode rmode);
705 void movq(Register dst, const char* s, RelocInfo::Mode rmode);
707 void movq(Register dst, ExternalReference ext);
708 void movq(Register dst, Handle<Object> handle, RelocInfo::Mode rmode);
710 void movsxbq(Register dst, const Operand& src);
711 void movsxwq(Register dst, const Operand& src);
712 void movsxlq(Register dst, Register src);
713 void movsxlq(Register dst, const Operand& src);
714 void movzxbq(Register dst, const Operand& src);
715 void movzxbl(Register dst, const Operand& src);
716 void movzxwq(Register dst, const Operand& src);
717 void movzxwl(Register dst, const Operand& src);
718 void movzxwl(Register dst, Register src);
732 void cmovq(Condition cc, Register dst, Register src);
733 void cmovq(Condition cc, Register dst, const Operand& src);
734 void cmovl(Condition cc, Register dst, Register src);
735 void cmovl(Condition cc, Register dst, const Operand& src);
738 void xchg(Register dst, Register src);
741 void addl(Register dst, Register src) {
745 void addl(Register dst, Immediate src) {
749 void addl(Register dst, const Operand& src) {
757 void addl(const Operand& dst, Register src) {
761 void addq(Register dst, Register src) {
765 void addq(Register dst, const Operand& src) {
769 void addq(const Operand& dst, Register src) {
773 void addq(Register dst, Immediate src) {
781 void sbbl(Register dst, Register src) {
785 void sbbq(Register dst, Register src) {
789 void cmpb(Register dst, Immediate src) {
795 void cmpb(Register dst, Register src) {
799 void cmpb(Register dst, const Operand& src) {
803 void cmpb(const Operand& dst, Register src) {
815 void cmpw(Register dst, Immediate src) {
819 void cmpw(Register dst, const Operand& src) {
823 void cmpw(Register dst, Register src) {
827 void cmpw(const Operand& dst, Register src) {
831 void cmpl(Register dst, Register src) {
835 void cmpl(Register dst, const Operand& src) {
839 void cmpl(const Operand& dst, Register src) {
843 void cmpl(Register dst, Immediate src) {
851 void cmpq(Register dst, Register src) {
855 void cmpq(Register dst, const Operand& src) {
859 void cmpq(const Operand& dst, Register src) {
863 void cmpq(Register dst, Immediate src) {
871 void and_(Register dst, Register src) {
875 void and_(Register dst, const Operand& src) {
879 void and_(const Operand& dst, Register src) {
883 void and_(Register dst, Immediate src) {
891 void andl(Register dst, Immediate src) {
895 void andl(Register dst, Register src) {
899 void andl(Register dst, const Operand& src) {
903 void andb(Register dst, Immediate src) {
907 void decq(Register dst);
909 void decl(Register dst);
911 void decb(Register dst);
920 void idivq(Register src);
922 void idivl(Register src);
925 void imul(Register src); // rdx:rax = rax * src.
926 void imul(Register dst, Register src); // dst = dst * src.
927 void imul(Register dst, const Operand& src); // dst = dst * src.
928 void imul(Register dst, Register src, Immediate imm); // dst = src * imm.
930 void imull(Register dst, Register src); // dst = dst * src.
931 void imull(Register dst, const Operand& src); // dst = dst * src.
932 void imull(Register dst, Register src, Immediate imm); // dst = src * imm.
934 void incq(Register dst);
936 void incl(Register dst);
939 void lea(Register dst, const Operand& src);
940 void leal(Register dst, const Operand& src);
943 void mul(Register src);
945 void neg(Register dst);
947 void negl(Register dst);
949 void not_(Register dst);
951 void notl(Register dst);
953 void or_(Register dst, Register src) {
957 void orl(Register dst, Register src) {
961 void or_(Register dst, const Operand& src) {
965 void orl(Register dst, const Operand& src) {
969 void or_(const Operand& dst, Register src) {
973 void or_(Register dst, Immediate src) {
977 void orl(Register dst, Immediate src) {
990 void rcl(Register dst, Immediate imm8) {
994 void rol(Register dst, Immediate imm8) {
998 void rcr(Register dst, Immediate imm8) {
1002 void ror(Register dst, Immediate imm8) {
1006 void rorl(Register dst, Immediate imm8) {
1010 void rorl_cl(Register dst) {
1015 void shld(Register dst, Register src);
1018 void shrd(Register dst, Register src);
1022 void sar(Register dst, Immediate shift_amount) {
1028 void sarl(Register dst, Immediate shift_amount) {
1033 void sar_cl(Register dst) {
1038 void sarl_cl(Register dst) {
1042 void shl(Register dst, Immediate shift_amount) {
1046 void shl_cl(Register dst) {
1050 void shll_cl(Register dst) {
1054 void shll(Register dst, Immediate shift_amount) {
1058 void shr(Register dst, Immediate shift_amount) {
1062 void shr_cl(Register dst) {
1066 void shrl_cl(Register dst) {
1070 void shrl(Register dst, Immediate shift_amount) {
1077 void subq(Register dst, Register src) {
1081 void subq(Register dst, const Operand& src) {
1085 void subq(const Operand& dst, Register src) {
1089 void subq(Register dst, Immediate src) {
1097 void subl(Register dst, Register src) {
1101 void subl(Register dst, const Operand& src) {
1109 void subl(Register dst, Immediate src) {
1113 void subb(Register dst, Immediate src) {
1117 void testb(Register dst, Register src);
1118 void testb(Register reg, Immediate mask);
1120 void testb(const Operand& op, Register reg);
1121 void testl(Register dst, Register src);
1122 void testl(Register reg, Immediate mask);
1124 void testq(const Operand& op, Register reg);
1125 void testq(Register dst, Register src);
1126 void testq(Register dst, Immediate mask);
1128 void xor_(Register dst, Register src) {
1136 void xorl(Register dst, Register src) {
1140 void xorl(Register dst, const Operand& src) {
1144 void xorl(Register dst, Immediate src) {
1152 void xor_(Register dst, const Operand& src) {
1156 void xor_(const Operand& dst, Register src) {
1160 void xor_(Register dst, Immediate src) {
1169 void bt(const Operand& dst, Register src);
1170 void bts(const Operand& dst, Register src);
1181 void setcc(Condition cc, Register reg);
1215 void call(Register adr);
1229 void jmp(Register adr);
1313 void movd(XMMRegister dst, Register src);
1314 void movd(Register dst, XMMRegister src);
1315 void movq(XMMRegister dst, Register src);
1316 void movq(Register dst, XMMRegister src);
1318 void extractps(Register dst, XMMRegister src, byte imm8);
1341 void cvttss2si(Register dst, const Operand& src);
1342 void cvttss2si(Register dst, XMMRegister src);
1343 void cvttsd2si(Register dst, const Operand& src);
1344 void cvttsd2si(Register dst, XMMRegister src);
1345 void cvttsd2siq(Register dst, XMMRegister src);
1348 void cvtlsi2sd(XMMRegister dst, Register src);
1350 void cvtqsi2sd(XMMRegister dst, Register src);
1352 void cvtlsi2ss(XMMRegister dst, Register src);
1358 void cvtsd2si(Register dst, XMMRegister src);
1359 void cvtsd2siq(Register dst, XMMRegister src);
1386 void movmskpd(Register dst, XMMRegister src);
1387 void movmskps(Register dst, XMMRegister src);
1392 void emit_sse_operand(XMMRegister dst, Register src);
1393 void emit_sse_operand(Register dst, XMMRegister src);
1467 inline void emit_rex_64(XMMRegister reg, Register rm_reg);
1468 inline void emit_rex_64(Register reg, XMMRegister rm_reg);
1469 inline void emit_rex_64(Register reg, Register rm_reg);
1476 inline void emit_rex_64(Register reg, const Operand& op);
1483 inline void emit_rex_64(Register rm_reg);
1497 inline void emit_rex_32(Register reg, Register rm_reg);
1502 inline void emit_rex_32(Register reg, const Operand& op);
1506 inline void emit_rex_32(Register rm_reg);
1514 inline void emit_optional_rex_32(Register reg, Register rm_reg);
1520 inline void emit_optional_rex_32(Register reg, const Operand& op);
1522 // As for emit_optional_rex_32(Register, Register), except that
1526 // As for emit_optional_rex_32(Register, Register), except that
1528 inline void emit_optional_rex_32(XMMRegister reg, Register base);
1530 // As for emit_optional_rex_32(Register, Register), except that
1532 inline void emit_optional_rex_32(Register reg, XMMRegister base);
1534 // As for emit_optional_rex_32(Register, const Operand&), except that
1538 // Optionally do as emit_rex_32(Register) if the register number has
1540 inline void emit_optional_rex_32(Register rm_reg);
1551 void emit_operand(Register reg, const Operand& adr) {
1561 void emit_modrm(Register reg, Register rm_reg) {
1567 void emit_modrm(int code, Register rm_reg) {
1579 void arithmetic_op_16(byte opcode, Register reg, Register rm_reg);
1580 void arithmetic_op_16(byte opcode, Register reg, const Operand& rm_reg);
1581 void arithmetic_op_32(byte opcode, Register reg, Register rm_reg);
1582 void arithmetic_op_32(byte opcode, Register reg, const Operand& rm_reg);
1583 void arithmetic_op(byte opcode, Register reg, Register rm_reg);
1584 void arithmetic_op(byte opcode, Register reg, const Operand& rm_reg);
1585 void immediate_arithmetic_op(byte subcode, Register dst, Immediate src);
1589 Register dst,
1596 Register dst,
1603 Register dst,
1610 void shift(Register dst, Immediate shift_amount, int subcode);
1611 void shift_32(Register dst, Immediate shift_amount, int subcode);
1613 void shift(Register dst, int subcode);
1614 void shift_32(Register dst, int subcode);