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); |