< prev index next >

src/cpu/x86/vm/macroAssembler_x86.hpp

Print this page




 946 
 947 public:
 948 
 949   void addsd(XMMRegister dst, XMMRegister src)    { Assembler::addsd(dst, src); }
 950   void addsd(XMMRegister dst, Address src)        { Assembler::addsd(dst, src); }
 951   void addsd(XMMRegister dst, AddressLiteral src);
 952 
 953   void addss(XMMRegister dst, XMMRegister src)    { Assembler::addss(dst, src); }
 954   void addss(XMMRegister dst, Address src)        { Assembler::addss(dst, src); }
 955   void addss(XMMRegister dst, AddressLiteral src);
 956 
 957   void divsd(XMMRegister dst, XMMRegister src)    { Assembler::divsd(dst, src); }
 958   void divsd(XMMRegister dst, Address src)        { Assembler::divsd(dst, src); }
 959   void divsd(XMMRegister dst, AddressLiteral src);
 960 
 961   void divss(XMMRegister dst, XMMRegister src)    { Assembler::divss(dst, src); }
 962   void divss(XMMRegister dst, Address src)        { Assembler::divss(dst, src); }
 963   void divss(XMMRegister dst, AddressLiteral src);
 964 
 965   // Move Unaligned Double Quadword
 966   void movdqu(Address     dst, XMMRegister src)   { Assembler::movdqu(dst, src); }
 967   void movdqu(XMMRegister dst, Address src)       { Assembler::movdqu(dst, src); }
 968   void movdqu(XMMRegister dst, XMMRegister src)   { Assembler::movdqu(dst, src); }
 969   void movdqu(XMMRegister dst, AddressLiteral src);





 970 
 971   // Move Aligned Double Quadword
 972   void movdqa(XMMRegister dst, Address src)       { Assembler::movdqa(dst, src); }
 973   void movdqa(XMMRegister dst, XMMRegister src)   { Assembler::movdqa(dst, src); }
 974   void movdqa(XMMRegister dst, AddressLiteral src);
 975 
 976   void movsd(XMMRegister dst, XMMRegister src) { Assembler::movsd(dst, src); }
 977   void movsd(Address dst, XMMRegister src)     { Assembler::movsd(dst, src); }
 978   void movsd(XMMRegister dst, Address src)     { Assembler::movsd(dst, src); }
 979   void movsd(XMMRegister dst, AddressLiteral src);
 980 
 981   void mulpd(XMMRegister dst, XMMRegister src)    { Assembler::mulpd(dst, src); }
 982   void mulpd(XMMRegister dst, Address src)        { Assembler::mulpd(dst, src); }
 983   void mulpd(XMMRegister dst, AddressLiteral src);
 984 
 985   void mulsd(XMMRegister dst, XMMRegister src)    { Assembler::mulsd(dst, src); }
 986   void mulsd(XMMRegister dst, Address src)        { Assembler::mulsd(dst, src); }
 987   void mulsd(XMMRegister dst, AddressLiteral src);
 988 
 989   void mulss(XMMRegister dst, XMMRegister src)    { Assembler::mulss(dst, src); }


1008   void sqrtss(XMMRegister dst, Address src)        { Assembler::sqrtss(dst, src); }
1009   void sqrtss(XMMRegister dst, AddressLiteral src);
1010 
1011   void subsd(XMMRegister dst, XMMRegister src)    { Assembler::subsd(dst, src); }
1012   void subsd(XMMRegister dst, Address src)        { Assembler::subsd(dst, src); }
1013   void subsd(XMMRegister dst, AddressLiteral src);
1014 
1015   void subss(XMMRegister dst, XMMRegister src)    { Assembler::subss(dst, src); }
1016   void subss(XMMRegister dst, Address src)        { Assembler::subss(dst, src); }
1017   void subss(XMMRegister dst, AddressLiteral src);
1018 
1019   void ucomiss(XMMRegister dst, XMMRegister src) { Assembler::ucomiss(dst, src); }
1020   void ucomiss(XMMRegister dst, Address src)     { Assembler::ucomiss(dst, src); }
1021   void ucomiss(XMMRegister dst, AddressLiteral src);
1022 
1023   void ucomisd(XMMRegister dst, XMMRegister src) { Assembler::ucomisd(dst, src); }
1024   void ucomisd(XMMRegister dst, Address src)     { Assembler::ucomisd(dst, src); }
1025   void ucomisd(XMMRegister dst, AddressLiteral src);
1026 
1027   // Bitwise Logical XOR of Packed Double-Precision Floating-Point Values
1028   void xorpd(XMMRegister dst, XMMRegister src) { Assembler::xorpd(dst, src); }
1029   void xorpd(XMMRegister dst, Address src)     { Assembler::xorpd(dst, src); }
1030   void xorpd(XMMRegister dst, AddressLiteral src);
1031 
1032   // Bitwise Logical XOR of Packed Single-Precision Floating-Point Values
1033   void xorps(XMMRegister dst, XMMRegister src) { Assembler::xorps(dst, src); }
1034   void xorps(XMMRegister dst, Address src)     { Assembler::xorps(dst, src); }
1035   void xorps(XMMRegister dst, AddressLiteral src);
1036 
1037   // Shuffle Bytes
1038   void pshufb(XMMRegister dst, XMMRegister src) { Assembler::pshufb(dst, src); }
1039   void pshufb(XMMRegister dst, Address src)     { Assembler::pshufb(dst, src); }
1040   void pshufb(XMMRegister dst, AddressLiteral src);
1041   // AVX 3-operands instructions
1042 
1043   void vaddsd(XMMRegister dst, XMMRegister nds, XMMRegister src) { Assembler::vaddsd(dst, nds, src); }
1044   void vaddsd(XMMRegister dst, XMMRegister nds, Address src)     { Assembler::vaddsd(dst, nds, src); }
1045   void vaddsd(XMMRegister dst, XMMRegister nds, AddressLiteral src);
1046 
1047   void vaddss(XMMRegister dst, XMMRegister nds, XMMRegister src) { Assembler::vaddss(dst, nds, src); }
1048   void vaddss(XMMRegister dst, XMMRegister nds, Address src)     { Assembler::vaddss(dst, nds, src); }
1049   void vaddss(XMMRegister dst, XMMRegister nds, AddressLiteral src);

































1050 
1051   void vandpd(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len) { Assembler::vandpd(dst, nds, src, vector_len); }
1052   void vandpd(XMMRegister dst, XMMRegister nds, Address src, int vector_len)     { Assembler::vandpd(dst, nds, src, vector_len); }
1053   void vandpd(XMMRegister dst, XMMRegister nds, AddressLiteral src, int vector_len);
1054 
1055   void vandps(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len) { Assembler::vandps(dst, nds, src, vector_len); }
1056   void vandps(XMMRegister dst, XMMRegister nds, Address src, int vector_len)     { Assembler::vandps(dst, nds, src, vector_len); }
1057   void vandps(XMMRegister dst, XMMRegister nds, AddressLiteral src, int vector_len);
1058 
1059   void vdivsd(XMMRegister dst, XMMRegister nds, XMMRegister src) { Assembler::vdivsd(dst, nds, src); }
1060   void vdivsd(XMMRegister dst, XMMRegister nds, Address src)     { Assembler::vdivsd(dst, nds, src); }
1061   void vdivsd(XMMRegister dst, XMMRegister nds, AddressLiteral src);
1062 
1063   void vdivss(XMMRegister dst, XMMRegister nds, XMMRegister src) { Assembler::vdivss(dst, nds, src); }
1064   void vdivss(XMMRegister dst, XMMRegister nds, Address src)     { Assembler::vdivss(dst, nds, src); }
1065   void vdivss(XMMRegister dst, XMMRegister nds, AddressLiteral src);
1066 
1067   void vmulsd(XMMRegister dst, XMMRegister nds, XMMRegister src) { Assembler::vmulsd(dst, nds, src); }
1068   void vmulsd(XMMRegister dst, XMMRegister nds, Address src)     { Assembler::vmulsd(dst, nds, src); }
1069   void vmulsd(XMMRegister dst, XMMRegister nds, AddressLiteral src);




 946 
 947 public:
 948 
 949   void addsd(XMMRegister dst, XMMRegister src)    { Assembler::addsd(dst, src); }
 950   void addsd(XMMRegister dst, Address src)        { Assembler::addsd(dst, src); }
 951   void addsd(XMMRegister dst, AddressLiteral src);
 952 
 953   void addss(XMMRegister dst, XMMRegister src)    { Assembler::addss(dst, src); }
 954   void addss(XMMRegister dst, Address src)        { Assembler::addss(dst, src); }
 955   void addss(XMMRegister dst, AddressLiteral src);
 956 
 957   void divsd(XMMRegister dst, XMMRegister src)    { Assembler::divsd(dst, src); }
 958   void divsd(XMMRegister dst, Address src)        { Assembler::divsd(dst, src); }
 959   void divsd(XMMRegister dst, AddressLiteral src);
 960 
 961   void divss(XMMRegister dst, XMMRegister src)    { Assembler::divss(dst, src); }
 962   void divss(XMMRegister dst, Address src)        { Assembler::divss(dst, src); }
 963   void divss(XMMRegister dst, AddressLiteral src);
 964 
 965   // Move Unaligned Double Quadword
 966   void movdqu(Address     dst, XMMRegister src);
 967   void movdqu(XMMRegister dst, Address src);
 968   void movdqu(XMMRegister dst, XMMRegister src);
 969   void movdqu(XMMRegister dst, AddressLiteral src);
 970   // AVX Unaligned forms
 971   void vmovdqu(Address     dst, XMMRegister src);
 972   void vmovdqu(XMMRegister dst, Address src);
 973   void vmovdqu(XMMRegister dst, XMMRegister src);
 974   void vmovdqu(XMMRegister dst, AddressLiteral src);
 975 
 976   // Move Aligned Double Quadword
 977   void movdqa(XMMRegister dst, Address src)       { Assembler::movdqa(dst, src); }
 978   void movdqa(XMMRegister dst, XMMRegister src)   { Assembler::movdqa(dst, src); }
 979   void movdqa(XMMRegister dst, AddressLiteral src);
 980 
 981   void movsd(XMMRegister dst, XMMRegister src) { Assembler::movsd(dst, src); }
 982   void movsd(Address dst, XMMRegister src)     { Assembler::movsd(dst, src); }
 983   void movsd(XMMRegister dst, Address src)     { Assembler::movsd(dst, src); }
 984   void movsd(XMMRegister dst, AddressLiteral src);
 985 
 986   void mulpd(XMMRegister dst, XMMRegister src)    { Assembler::mulpd(dst, src); }
 987   void mulpd(XMMRegister dst, Address src)        { Assembler::mulpd(dst, src); }
 988   void mulpd(XMMRegister dst, AddressLiteral src);
 989 
 990   void mulsd(XMMRegister dst, XMMRegister src)    { Assembler::mulsd(dst, src); }
 991   void mulsd(XMMRegister dst, Address src)        { Assembler::mulsd(dst, src); }
 992   void mulsd(XMMRegister dst, AddressLiteral src);
 993 
 994   void mulss(XMMRegister dst, XMMRegister src)    { Assembler::mulss(dst, src); }


1013   void sqrtss(XMMRegister dst, Address src)        { Assembler::sqrtss(dst, src); }
1014   void sqrtss(XMMRegister dst, AddressLiteral src);
1015 
1016   void subsd(XMMRegister dst, XMMRegister src)    { Assembler::subsd(dst, src); }
1017   void subsd(XMMRegister dst, Address src)        { Assembler::subsd(dst, src); }
1018   void subsd(XMMRegister dst, AddressLiteral src);
1019 
1020   void subss(XMMRegister dst, XMMRegister src)    { Assembler::subss(dst, src); }
1021   void subss(XMMRegister dst, Address src)        { Assembler::subss(dst, src); }
1022   void subss(XMMRegister dst, AddressLiteral src);
1023 
1024   void ucomiss(XMMRegister dst, XMMRegister src) { Assembler::ucomiss(dst, src); }
1025   void ucomiss(XMMRegister dst, Address src)     { Assembler::ucomiss(dst, src); }
1026   void ucomiss(XMMRegister dst, AddressLiteral src);
1027 
1028   void ucomisd(XMMRegister dst, XMMRegister src) { Assembler::ucomisd(dst, src); }
1029   void ucomisd(XMMRegister dst, Address src)     { Assembler::ucomisd(dst, src); }
1030   void ucomisd(XMMRegister dst, AddressLiteral src);
1031 
1032   // Bitwise Logical XOR of Packed Double-Precision Floating-Point Values
1033   void xorpd(XMMRegister dst, XMMRegister src);
1034   void xorpd(XMMRegister dst, Address src)     { Assembler::xorpd(dst, src); }
1035   void xorpd(XMMRegister dst, AddressLiteral src);
1036 
1037   // Bitwise Logical XOR of Packed Single-Precision Floating-Point Values
1038   void xorps(XMMRegister dst, XMMRegister src);
1039   void xorps(XMMRegister dst, Address src)     { Assembler::xorps(dst, src); }
1040   void xorps(XMMRegister dst, AddressLiteral src);
1041 
1042   // Shuffle Bytes
1043   void pshufb(XMMRegister dst, XMMRegister src) { Assembler::pshufb(dst, src); }
1044   void pshufb(XMMRegister dst, Address src)     { Assembler::pshufb(dst, src); }
1045   void pshufb(XMMRegister dst, AddressLiteral src);
1046   // AVX 3-operands instructions
1047 
1048   void vaddsd(XMMRegister dst, XMMRegister nds, XMMRegister src) { Assembler::vaddsd(dst, nds, src); }
1049   void vaddsd(XMMRegister dst, XMMRegister nds, Address src)     { Assembler::vaddsd(dst, nds, src); }
1050   void vaddsd(XMMRegister dst, XMMRegister nds, AddressLiteral src);
1051 
1052   void vaddss(XMMRegister dst, XMMRegister nds, XMMRegister src) { Assembler::vaddss(dst, nds, src); }
1053   void vaddss(XMMRegister dst, XMMRegister nds, Address src)     { Assembler::vaddss(dst, nds, src); }
1054   void vaddss(XMMRegister dst, XMMRegister nds, AddressLiteral src);
1055 
1056   void vabsss(XMMRegister dst, XMMRegister nds, XMMRegister src, AddressLiteral negate_field, int vector_len);
1057   void vabssd(XMMRegister dst, XMMRegister nds, XMMRegister src, AddressLiteral negate_field, int vector_len);
1058 
1059   void vpaddb(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1060   void vpaddb(XMMRegister dst, XMMRegister nds, Address src, int vector_len);
1061 
1062   void vpaddw(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1063   void vpaddw(XMMRegister dst, XMMRegister nds, Address src, int vector_len);
1064 
1065   void vpsubb(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1066   void vpsubb(XMMRegister dst, XMMRegister nds, Address src, int vector_len);
1067 
1068   void vpsubw(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1069   void vpsubw(XMMRegister dst, XMMRegister nds, Address src, int vector_len);
1070 
1071   void vpmullw(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1072   void vpmullw(XMMRegister dst, XMMRegister nds, Address src, int vector_len);
1073 
1074   void vpsraw(XMMRegister dst, XMMRegister nds, XMMRegister shift, int vector_len);
1075   void vpsraw(XMMRegister dst, XMMRegister nds, int shift, int vector_len);
1076 
1077   void vpsrlw(XMMRegister dst, XMMRegister nds, XMMRegister shift, int vector_len);
1078   void vpsrlw(XMMRegister dst, XMMRegister nds, int shift, int vector_len);
1079 
1080   void vpsllw(XMMRegister dst, XMMRegister nds, XMMRegister shift, int vector_len);
1081   void vpsllw(XMMRegister dst, XMMRegister nds, int shift, int vector_len);
1082 
1083   void punpcklbw(XMMRegister dst, XMMRegister src);
1084   void punpcklbw(XMMRegister dst, Address src) { Assembler::punpcklbw(dst, src); }
1085 
1086   void pshuflw(XMMRegister dst, XMMRegister src, int mode);
1087   void pshuflw(XMMRegister dst, Address src, int mode) { Assembler::pshuflw(dst, src, mode); }
1088 
1089   void vandpd(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len) { Assembler::vandpd(dst, nds, src, vector_len); }
1090   void vandpd(XMMRegister dst, XMMRegister nds, Address src, int vector_len)     { Assembler::vandpd(dst, nds, src, vector_len); }
1091   void vandpd(XMMRegister dst, XMMRegister nds, AddressLiteral src, int vector_len);
1092 
1093   void vandps(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len) { Assembler::vandps(dst, nds, src, vector_len); }
1094   void vandps(XMMRegister dst, XMMRegister nds, Address src, int vector_len)     { Assembler::vandps(dst, nds, src, vector_len); }
1095   void vandps(XMMRegister dst, XMMRegister nds, AddressLiteral src, int vector_len);
1096 
1097   void vdivsd(XMMRegister dst, XMMRegister nds, XMMRegister src) { Assembler::vdivsd(dst, nds, src); }
1098   void vdivsd(XMMRegister dst, XMMRegister nds, Address src)     { Assembler::vdivsd(dst, nds, src); }
1099   void vdivsd(XMMRegister dst, XMMRegister nds, AddressLiteral src);
1100 
1101   void vdivss(XMMRegister dst, XMMRegister nds, XMMRegister src) { Assembler::vdivss(dst, nds, src); }
1102   void vdivss(XMMRegister dst, XMMRegister nds, Address src)     { Assembler::vdivss(dst, nds, src); }
1103   void vdivss(XMMRegister dst, XMMRegister nds, AddressLiteral src);
1104 
1105   void vmulsd(XMMRegister dst, XMMRegister nds, XMMRegister src) { Assembler::vmulsd(dst, nds, src); }
1106   void vmulsd(XMMRegister dst, XMMRegister nds, Address src)     { Assembler::vmulsd(dst, nds, src); }
1107   void vmulsd(XMMRegister dst, XMMRegister nds, AddressLiteral src);


< prev index next >