< prev index next >

src/cpu/x86/vm/macroAssembler_x86.hpp

Print this page




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





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


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

































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




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


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


< prev index next >