Lines Matching refs:Operand
291 friend class Operand;
312 class Operand BASE_EMBEDDED {
315 INLINE(explicit Operand(Register reg));
318 INLINE(explicit Operand(XMMRegister xmm_reg));
321 INLINE(explicit Operand(int32_t disp, RelocInfo::Mode rmode));
324 INLINE(explicit Operand(Immediate imm));
327 explicit Operand(Register base, int32_t disp,
331 explicit Operand(Register base,
338 explicit Operand(Register index,
343 static Operand JumpTable(Register index, ScaleFactor scale, Label* table) {
344 return Operand(index, scale, reinterpret_cast<int32_t>(table),
348 static Operand StaticVariable(const ExternalReference& ext) {
349 return Operand(reinterpret_cast<int32_t>(ext.address()),
353 static Operand StaticArray(Register index,
356 return Operand(index, scale, reinterpret_cast<int32_t>(arr.address()),
360 static Operand ForCell(Handle<Cell> cell) {
362 return Operand(reinterpret_cast<int32_t>(cell.location()),
366 static Operand ForRegisterPlusImmediate(Register base, Immediate imm) {
367 return Operand(base, imm.x_, imm.rmode_);
370 // Returns true if this Operand is a wrapper for the specified register.
373 // Returns true if this Operand is a wrapper for one register.
376 // Asserts that this Operand is a wrapper for one register and returns the
561 // can in some cases be replaced with an Operand(Register) argument.
564 // Operand is possible, or should we have a Register (overloaded) form
590 void push(const Operand& src);
593 void pop(const Operand& dst);
599 void mov_b(Register dst, Register src) { mov_b(dst, Operand(src)); }
600 void mov_b(Register dst, const Operand& src);
601 void mov_b(Register dst, int8_t imm8) { mov_b(Operand(dst), imm8); }
602 void mov_b(const Operand& dst, int8_t src) { mov_b(dst, Immediate(src)); }
603 void mov_b(const Operand& dst, const Immediate& src);
604 void mov_b(const Operand& dst, Register src);
606 void mov_w(Register dst, const Operand& src);
607 void mov_w(const Operand& dst, int16_t src) { mov_w(dst, Immediate(src)); }
608 void mov_w(const Operand& dst, const Immediate& src);
609 void mov_w(const Operand& dst, Register src);
614 void mov(Register dst, const Operand& src);
616 void mov(const Operand& dst, const Immediate& x);
617 void mov(const Operand& dst, Handle<Object> handle);
618 void mov(const Operand& dst, Register src);
620 void movsx_b(Register dst, Register src) { movsx_b(dst, Operand(src)); }
621 void movsx_b(Register dst, const Operand& src);
623 void movsx_w(Register dst, Register src) { movsx_w(dst, Operand(src)); }
624 void movsx_w(Register dst, const Operand& src);
626 void movzx_b(Register dst, Register src) { movzx_b(dst, Operand(src)); }
627 void movzx_b(Register dst, const Operand& src);
629 void movzx_w(Register dst, Register src) { movzx_w(dst, Operand(src)); }
630 void movzx_w(Register dst, const Operand& src);
634 cmov(cc, dst, Operand(src));
636 void cmov(Condition cc, Register dst, const Operand& src);
648 void xchg(Register dst, const Operand& src);
652 void adc(Register dst, const Operand& src);
654 void add(Register dst, Register src) { add(dst, Operand(src)); }
655 void add(Register dst, const Operand& src);
656 void add(const Operand& dst, Register src);
657 void add(Register dst, const Immediate& imm) { add(Operand(dst), imm); }
658 void add(const Operand& dst, const Immediate& x);
662 void and_(Register dst, Register src) { and_(dst, Operand(src)); }
663 void and_(Register dst, const Operand& src);
664 void and_(const Operand& dst, Register src);
665 void and_(const Operand& dst, const Immediate& x);
667 void cmpb(Register reg, int8_t imm8) { cmpb(Operand(reg), imm8); }
668 void cmpb(const Operand& op, int8_t imm8);
669 void cmpb(Register reg, const Operand& op);
670 void cmpb(const Operand& op, Register reg);
671 void cmpb_al(const Operand& op);
672 void cmpw_ax(const Operand& op);
673 void cmpw(const Operand& op, Immediate imm16);
676 void cmp(Register reg0, Register reg1) { cmp(reg0, Operand(reg1)); }
677 void cmp(Register reg, const Operand& op);
678 void cmp(Register reg, const Immediate& imm) { cmp(Operand(reg), imm); }
679 void cmp(const Operand& op, const Immediate& imm);
680 void cmp(const Operand& op, Handle<Object> handle);
683 void dec_b(const Operand& dst);
686 void dec(const Operand& dst);
690 void idiv(Register src) { idiv(Operand(src)); }
691 void idiv(const Operand& src);
692 void div(Register src) { div(Operand(src)); }
693 void div(const Operand& src);
697 void imul(Register dst, Register src) { imul(dst, Operand(src)); }
698 void imul(Register dst, const Operand& src); // dst = dst * src.
700 void imul(Register dst, const Operand& src, int32_t imm32);
703 void inc(const Operand& dst);
705 void lea(Register dst, const Operand& src);
711 void neg(const Operand& dst);
714 void not_(const Operand& dst);
717 void or_(Register dst, Register src) { or_(dst, Operand(src)); }
718 void or_(Register dst, const Operand& src);
719 void or_(const Operand& dst, Register src);
720 void or_(Register dst, const Immediate& imm) { or_(Operand(dst), imm); }
721 void or_(const Operand& dst, const Immediate& x);
726 void ror(Register dst, uint8_t imm8) { ror(Operand(dst), imm8); }
727 void ror(const Operand& dst, uint8_t imm8);
728 void ror_cl(Register dst) { ror_cl(Operand(dst)); }
729 void ror_cl(const Operand& dst);
731 void sar(Register dst, uint8_t imm8) { sar(Operand(dst), imm8); }
732 void sar(const Operand& dst, uint8_t imm8);
733 void sar_cl(Register dst) { sar_cl(Operand(dst)); }
734 void sar_cl(const Operand& dst);
736 void sbb(Register dst, const Operand& src);
738 void shld(Register dst, Register src) { shld(dst, Operand(src)); }
739 void shld(Register dst, const Operand& src);
741 void shl(Register dst, uint8_t imm8) { shl(Operand(dst), imm8); }
742 void shl(const Operand& dst, uint8_t imm8);
743 void shl_cl(Register dst) { shl_cl(Operand(dst)); }
744 void shl_cl(const Operand& dst);
746 void shrd(Register dst, Register src) { shrd(dst, Operand(src)); }
747 void shrd(Register dst, const Operand& src);
749 void shr(Register dst, uint8_t imm8) { shr(Operand(dst), imm8); }
750 void shr(const Operand& dst, uint8_t imm8);
751 void shr_cl(Register dst) { shr_cl(Operand(dst)); }
752 void shr_cl(const Operand& dst);
754 void sub(Register dst, const Immediate& imm) { sub(Operand(dst), imm); }
755 void sub(const Operand& dst, const Immediate& x);
756 void sub(Register dst, Register src) { sub(dst, Operand(src)); }
757 void sub(Register dst, const Operand& src);
758 void sub(const Operand& dst, Register src);
761 void test(Register reg0, Register reg1) { test(reg0, Operand(reg1)); }
762 void test(Register reg, const Operand& op);
763 void test_b(Register reg, const Operand& op);
764 void test(const Operand& op, const Immediate& imm);
766 void test_b(const Operand& op, uint8_t imm8);
769 void xor_(Register dst, Register src) { xor_(dst, Operand(src)); }
770 void xor_(Register dst, const Operand& src);
771 void xor_(const Operand& dst, Register src);
772 void xor_(Register dst, const Immediate& imm) { xor_(Operand(dst), imm); }
773 void xor_(const Operand& dst, const Immediate& x);
776 void bt(const Operand& dst, Register src);
777 void bts(Register dst, Register src) { bts(Operand(dst), src); }
778 void bts(const Operand& dst, Register src);
779 void bsr(Register dst, Register src) { bsr(dst, Operand(src)); }
780 void bsr(Register dst, const Operand& src);
781 void bsf(Register dst, Register src) { bsf(dst, Operand(src)); }
782 void bsf(Register dst, const Operand& src);
811 int CallSize(const Operand& adr);
812 void call(Register reg) { call(Operand(reg)); }
813 void call(const Operand& adr);
823 void jmp(Register reg) { jmp(Operand(reg)); }
824 void jmp(const Operand& adr);
844 void fld_s(const Operand& adr);
845 void fld_d(const Operand& adr);
847 void fstp_s(const Operand& adr);
848 void fst_s(const Operand& adr);
849 void fstp_d(const Operand& adr);
850 void fst_d(const Operand& adr);
852 void fild_s(const Operand& adr);
853 void fild_d(const Operand& adr);
855 void fist_s(const Operand& adr);
857 void fistp_s(const Operand& adr);
858 void fistp_d(const Operand& adr);
861 void fisttp_s(const Operand& adr);
862 void fisttp_d(const Operand& adr);
883 void fisub_s(const Operand& adr);
915 void addss(XMMRegister dst, XMMRegister src) { addss(dst, Operand(src)); }
916 void addss(XMMRegister dst, const Operand& src);
917 void subss(XMMRegister dst, XMMRegister src) { subss(dst, Operand(src)); }
918 void subss(XMMRegister dst, const Operand& src);
919 void mulss(XMMRegister dst, XMMRegister src) { mulss(dst, Operand(src)); }
920 void mulss(XMMRegister dst, const Operand& src);
921 void divss(XMMRegister dst, XMMRegister src) { divss(dst, Operand(src)); }
922 void divss(XMMRegister dst, const Operand& src);
923 void sqrtss(XMMRegister dst, XMMRegister src) { sqrtss(dst, Operand(src)); }
924 void sqrtss(XMMRegister dst, const Operand& src);
926 void ucomiss(XMMRegister dst, XMMRegister src) { ucomiss(dst, Operand(src)); }
927 void ucomiss(XMMRegister dst, const Operand& src);
931 void maxss(XMMRegister dst, XMMRegister src) { maxss(dst, Operand(src)); }
932 void maxss(XMMRegister dst, const Operand& src);
933 void minss(XMMRegister dst, XMMRegister src) { minss(dst, Operand(src)); }
934 void minss(XMMRegister dst, const Operand& src);
936 void andps(XMMRegister dst, const Operand& src);
937 void andps(XMMRegister dst, XMMRegister src) { andps(dst, Operand(src)); }
938 void xorps(XMMRegister dst, const Operand& src);
939 void xorps(XMMRegister dst, XMMRegister src) { xorps(dst, Operand(src)); }
940 void orps(XMMRegister dst, const Operand& src);
941 void orps(XMMRegister dst, XMMRegister src) { orps(dst, Operand(src)); }
943 void addps(XMMRegister dst, const Operand& src);
944 void addps(XMMRegister dst, XMMRegister src) { addps(dst, Operand(src)); }
945 void subps(XMMRegister dst, const Operand& src);
946 void subps(XMMRegister dst, XMMRegister src) { subps(dst, Operand(src)); }
947 void mulps(XMMRegister dst, const Operand& src);
948 void mulps(XMMRegister dst, XMMRegister src) { mulps(dst, Operand(src)); }
949 void divps(XMMRegister dst, const Operand& src);
950 void divps(XMMRegister dst, XMMRegister src) { divps(dst, Operand(src)); }
953 void cvttss2si(Register dst, const Operand& src);
955 cvttss2si(dst, Operand(src));
957 void cvttsd2si(Register dst, const Operand& src);
959 cvttsd2si(dst, Operand(src));
963 void cvtsi2sd(XMMRegister dst, Register src) { cvtsi2sd(dst, Operand(src)); }
964 void cvtsi2sd(XMMRegister dst, const Operand& src);
965 void cvtss2sd(XMMRegister dst, const Operand& src);
967 cvtss2sd(dst, Operand(src));
969 void cvtsd2ss(XMMRegister dst, const Operand& src);
971 cvtsd2ss(dst, Operand(src));
973 void addsd(XMMRegister dst, XMMRegister src) { addsd(dst, Operand(src)); }
974 void addsd(XMMRegister dst, const Operand& src);
975 void subsd(XMMRegister dst, XMMRegister src) { subsd(dst, Operand(src)); }
976 void subsd(XMMRegister dst, const Operand& src);
977 void mulsd(XMMRegister dst, XMMRegister src) { mulsd(dst, Operand(src)); }
978 void mulsd(XMMRegister dst, const Operand& src);
979 void divsd(XMMRegister dst, XMMRegister src) { divsd(dst, Operand(src)); }
980 void divsd(XMMRegister dst, const Operand& src);
982 void sqrtsd(XMMRegister dst, XMMRegister src) { sqrtsd(dst, Operand(src)); }
983 void sqrtsd(XMMRegister dst, const Operand& src);
988 void ucomisd(XMMRegister dst, XMMRegister src) { ucomisd(dst, Operand(src)); }
989 void ucomisd(XMMRegister dst, const Operand& src);
1003 void maxsd(XMMRegister dst, XMMRegister src) { maxsd(dst, Operand(src)); }
1004 void maxsd(XMMRegister dst, const Operand& src);
1005 void minsd(XMMRegister dst, XMMRegister src) { minsd(dst, Operand(src)); }
1006 void minsd(XMMRegister dst, const Operand& src);
1008 void movdqa(XMMRegister dst, const Operand& src);
1009 void movdqa(const Operand& dst, XMMRegister src);
1010 void movdqu(XMMRegister dst, const Operand& src);
1011 void movdqu(const Operand& dst, XMMRegister src);
1012 void movdq(bool aligned, XMMRegister dst, const Operand& src) {
1020 void movd(XMMRegister dst, Register src) { movd(dst, Operand(src)); }
1021 void movd(XMMRegister dst, const Operand& src);
1022 void movd(Register dst, XMMRegister src) { movd(Operand(dst), src); }
1023 void movd(const Operand& dst, XMMRegister src);
1024 void movsd(XMMRegister dst, XMMRegister src) { movsd(dst, Operand(src)); }
1025 void movsd(XMMRegister dst, const Operand& src);
1026 void movsd(const Operand& dst, XMMRegister src);
1029 void movss(XMMRegister dst, const Operand& src);
1030 void movss(const Operand& dst, XMMRegister src);
1031 void movss(XMMRegister dst, XMMRegister src) { movss(dst, Operand(src)); }
1047 pextrd(Operand(dst), src, offset);
1049 void pextrd(const Operand& dst, XMMRegister src, int8_t offset);
1051 pinsrd(dst, Operand(src), offset);
1053 void pinsrd(XMMRegister dst, const Operand& src, int8_t offset);
1057 vfmadd132sd(dst, src1, Operand(src2));
1060 vfmadd213sd(dst, src1, Operand(src2));
1063 vfmadd231sd(dst, src1, Operand(src2));
1065 void vfmadd132sd(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1068 void vfmadd213sd(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1071 void vfmadd231sd(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1075 vfmsub132sd(dst, src1, Operand(src2));
1078 vfmsub213sd(dst, src1, Operand(src2));
1081 vfmsub231sd(dst, src1, Operand(src2));
1083 void vfmsub132sd(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1086 void vfmsub213sd(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1089 void vfmsub231sd(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1093 vfnmadd132sd(dst, src1, Operand(src2));
1096 vfnmadd213sd(dst, src1, Operand(src2));
1099 vfnmadd231sd(dst, src1, Operand(src2));
1101 void vfnmadd132sd(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1104 void vfnmadd213sd(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1107 void vfnmadd231sd(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1111 vfnmsub132sd(dst, src1, Operand(src2));
1114 vfnmsub213sd(dst, src1, Operand(src2));
1117 vfnmsub231sd(dst, src1, Operand(src2));
1119 void vfnmsub132sd(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1122 void vfnmsub213sd(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1125 void vfnmsub231sd(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1128 void vfmasd(byte op, XMMRegister dst, XMMRegister src1, const Operand& src2);
1131 vfmadd132ss(dst, src1, Operand(src2));
1134 vfmadd213ss(dst, src1, Operand(src2));
1137 vfmadd231ss(dst, src1, Operand(src2));
1139 void vfmadd132ss(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1142 void vfmadd213ss(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1145 void vfmadd231ss(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1149 vfmsub132ss(dst, src1, Operand(src2));
1152 vfmsub213ss(dst, src1, Operand(src2));
1155 vfmsub231ss(dst, src1, Operand(src2));
1157 void vfmsub132ss(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1160 void vfmsub213ss(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1163 void vfmsub231ss(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1167 vfnmadd132ss(dst, src1, Operand(src2));
1170 vfnmadd213ss(dst, src1, Operand(src2));
1173 vfnmadd231ss(dst, src1, Operand(src2));
1175 void vfnmadd132ss(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1178 void vfnmadd213ss(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1181 void vfnmadd231ss(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1185 vfnmsub132ss(dst, src1, Operand(src2));
1188 vfnmsub213ss(dst, src1, Operand(src2));
1191 vfnmsub231ss(dst, src1, Operand(src2));
1193 void vfnmsub132ss(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1196 void vfnmsub213ss(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1199 void vfnmsub231ss(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1202 void vfmass(byte op, XMMRegister dst, XMMRegister src1, const Operand& src2);
1205 vaddsd(dst, src1, Operand(src2));
1207 void vaddsd(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1211 vsubsd(dst, src1, Operand(src2));
1213 void vsubsd(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1217 vmulsd(dst, src1, Operand(src2));
1219 void vmulsd(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1223 vdivsd(dst, src1, Operand(src2));
1225 void vdivsd(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1229 vmaxsd(dst, src1, Operand(src2));
1231 void vmaxsd(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1235 vminsd(dst, src1, Operand(src2));
1237 void vminsd(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1240 void vsd(byte op, XMMRegister dst, XMMRegister src1, const Operand& src2);
1243 vaddss(dst, src1, Operand(src2));
1245 void vaddss(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1249 vsubss(dst, src1, Operand(src2));
1251 void vsubss(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1255 vmulss(dst, src1, Operand(src2));
1257 void vmulss(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1261 vdivss(dst, src1, Operand(src2));
1263 void vdivss(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1267 vmaxss(dst, src1, Operand(src2));
1269 void vmaxss(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1273 vminss(dst, src1, Operand(src2));
1275 void vminss(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1278 void vss(byte op, XMMRegister dst, XMMRegister src1, const Operand& src2);
1282 andn(dst, src1, Operand(src2));
1284 void andn(Register dst, Register src1, const Operand& src2) {
1288 bextr(dst, Operand(src1), src2);
1290 void bextr(Register dst, const Operand& src1, Register src2) {
1293 void blsi(Register dst, Register src) { blsi(dst, Operand(src)); }
1294 void blsi(Register dst, const Operand& src) {
1298 void blsmsk(Register dst, Register src) { blsmsk(dst, Operand(src)); }
1299 void blsmsk(Register dst, const Operand& src) {
1303 void blsr(Register dst, Register src) { blsr(dst, Operand(src)); }
1304 void blsr(Register dst, const Operand& src) {
1308 void tzcnt(Register dst, Register src) { tzcnt(dst, Operand(src)); }
1309 void tzcnt(Register dst, const Operand& src);
1311 void lzcnt(Register dst, Register src) { lzcnt(dst, Operand(src)); }
1312 void lzcnt(Register dst, const Operand& src);
1314 void popcnt(Register dst, Register src) { popcnt(dst, Operand(src)); }
1315 void popcnt(Register dst, const Operand& src);
1318 bzhi(dst, Operand(src1), src2);
1320 void bzhi(Register dst, const Operand& src1, Register src2) {
1324 mulx(dst1, dst2, Operand(src));
1326 void mulx(Register dst1, Register dst2, const Operand& src) {
1330 pdep(dst, src1, Operand(src2));
1332 void pdep(Register dst, Register src1, const Operand& src2) {
1336 pext(dst, src1, Operand(src2));
1338 void pext(Register dst, Register src1, const Operand& src2) {
1342 sarx(dst, Operand(src1), src2);
1344 void sarx(Register dst, const Operand& src1, Register src2) {
1348 shlx(dst, Operand(src1), src2);
1350 void shlx(Register dst, const Operand& src1, Register src2) {
1354 shrx(dst, Operand(src1), src2);
1356 void shrx(Register dst, const Operand& src1, Register src2) {
1360 rorx(dst, Operand(src), imm8);
1362 void rorx(Register dst, const Operand& src, byte imm8);
1370 vps(opcode, dst, src1, Operand(src2)); \
1372 void v##name##ps(XMMRegister dst, XMMRegister src1, const Operand& src2) { \
1376 vpd(opcode, dst, src1, Operand(src2)); \
1378 void v##name##pd(XMMRegister dst, XMMRegister src1, const Operand& src2) { \
1384 void vps(byte op, XMMRegister dst, XMMRegister src1, const Operand& src2);
1386 void vpd(byte op, XMMRegister dst, XMMRegister src1, const Operand& src2);
1391 void prefetch(const Operand& src, int level);
1453 void emit_sse_operand(XMMRegister reg, const Operand& adr);
1493 void emit_arith(int sel, Operand dst, const Immediate& x);
1495 void emit_operand(Register reg, const Operand& adr);
1522 void bmi1(byte op, Register reg, Register vreg, const Operand& rm);
1524 const Operand& rm);