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); } 994 void mulss(XMMRegister dst, Address src) { Assembler::mulss(dst, src); } 995 void mulss(XMMRegister dst, AddressLiteral src); 996 997 // Carry-Less Multiplication Quadword 998 void pclmulldq(XMMRegister dst, XMMRegister src) { 999 // 0x00 - multiply lower 64 bits [0:63] 1000 Assembler::pclmulqdq(dst, src, 0x00); 1001 } 1002 void pclmulhdq(XMMRegister dst, XMMRegister src) { 1003 // 0x11 - multiply upper 64 bits [64:127] 1004 Assembler::pclmulqdq(dst, src, 0x11); 1005 } 1006 1007 void sqrtsd(XMMRegister dst, XMMRegister src) { Assembler::sqrtsd(dst, src); } 1008 void sqrtsd(XMMRegister dst, Address src) { Assembler::sqrtsd(dst, src); } 1009 void sqrtsd(XMMRegister dst, AddressLiteral src); 1010 1011 void sqrtss(XMMRegister dst, XMMRegister src) { Assembler::sqrtss(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 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); } | 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); } 994 void mulss(XMMRegister dst, Address src) { Assembler::mulss(dst, src); } 995 void mulss(XMMRegister dst, AddressLiteral src); 996 997 // Carry-Less Multiplication Quadword 998 void pclmulldq(XMMRegister dst, XMMRegister src) { 999 // 0x00 - multiply lower 64 bits [0:63] 1000 Assembler::pclmulqdq(dst, src, 0x00); 1001 } 1002 void pclmulhdq(XMMRegister dst, XMMRegister src) { 1003 // 0x11 - multiply upper 64 bits [64:127] 1004 Assembler::pclmulqdq(dst, src, 0x11); 1005 } 1006 1007 void pcmpeqb(XMMRegister dst, XMMRegister src); 1008 void pcmpeqw(XMMRegister dst, XMMRegister src); 1009 1010 void pcmpestri(XMMRegister dst, Address src, int imm8); 1011 void pcmpestri(XMMRegister dst, XMMRegister src, int imm8); 1012 1013 void pmovzxbw(XMMRegister dst, XMMRegister src); 1014 void pmovzxbw(XMMRegister dst, Address src); 1015 1016 void pmovmskb(Register dst, XMMRegister src); 1017 1018 void ptest(XMMRegister dst, XMMRegister src); 1019 1020 void sqrtsd(XMMRegister dst, XMMRegister src) { Assembler::sqrtsd(dst, src); } 1021 void sqrtsd(XMMRegister dst, Address src) { Assembler::sqrtsd(dst, src); } 1022 void sqrtsd(XMMRegister dst, AddressLiteral src); 1023 1024 void sqrtss(XMMRegister dst, XMMRegister src) { Assembler::sqrtss(dst, src); } 1025 void sqrtss(XMMRegister dst, Address src) { Assembler::sqrtss(dst, src); } 1026 void sqrtss(XMMRegister dst, AddressLiteral src); 1027 1028 void subsd(XMMRegister dst, XMMRegister src) { Assembler::subsd(dst, src); } 1029 void subsd(XMMRegister dst, Address src) { Assembler::subsd(dst, src); } 1030 void subsd(XMMRegister dst, AddressLiteral src); 1031 1032 void subss(XMMRegister dst, XMMRegister src) { Assembler::subss(dst, src); } 1033 void subss(XMMRegister dst, Address src) { Assembler::subss(dst, src); } 1034 void subss(XMMRegister dst, AddressLiteral src); 1035 1036 void ucomiss(XMMRegister dst, XMMRegister src) { Assembler::ucomiss(dst, src); } 1037 void ucomiss(XMMRegister dst, Address src) { Assembler::ucomiss(dst, src); } 1038 void ucomiss(XMMRegister dst, AddressLiteral src); 1039 1057 void pshufb(XMMRegister dst, AddressLiteral src); 1058 // AVX 3-operands instructions 1059 1060 void vaddsd(XMMRegister dst, XMMRegister nds, XMMRegister src) { Assembler::vaddsd(dst, nds, src); } 1061 void vaddsd(XMMRegister dst, XMMRegister nds, Address src) { Assembler::vaddsd(dst, nds, src); } 1062 void vaddsd(XMMRegister dst, XMMRegister nds, AddressLiteral src); 1063 1064 void vaddss(XMMRegister dst, XMMRegister nds, XMMRegister src) { Assembler::vaddss(dst, nds, src); } 1065 void vaddss(XMMRegister dst, XMMRegister nds, Address src) { Assembler::vaddss(dst, nds, src); } 1066 void vaddss(XMMRegister dst, XMMRegister nds, AddressLiteral src); 1067 1068 void vabsss(XMMRegister dst, XMMRegister nds, XMMRegister src, AddressLiteral negate_field, int vector_len); 1069 void vabssd(XMMRegister dst, XMMRegister nds, XMMRegister src, AddressLiteral negate_field, int vector_len); 1070 1071 void vpaddb(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len); 1072 void vpaddb(XMMRegister dst, XMMRegister nds, Address src, int vector_len); 1073 1074 void vpaddw(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len); 1075 void vpaddw(XMMRegister dst, XMMRegister nds, Address src, int vector_len); 1076 1077 void vpbroadcastw(XMMRegister dst, XMMRegister src); 1078 1079 void vpcmpeqb(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len); 1080 void vpcmpeqw(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len); 1081 1082 void vpmovzxbw(XMMRegister dst, Address src, int vector_len); 1083 void vpmovmskb(Register dst, XMMRegister src); 1084 1085 void vpmullw(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len); 1086 void vpmullw(XMMRegister dst, XMMRegister nds, Address src, int vector_len); 1087 1088 void vpsubb(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len); 1089 void vpsubb(XMMRegister dst, XMMRegister nds, Address src, int vector_len); 1090 1091 void vpsubw(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len); 1092 void vpsubw(XMMRegister dst, XMMRegister nds, Address src, int vector_len); 1093 1094 void vpsraw(XMMRegister dst, XMMRegister nds, XMMRegister shift, int vector_len); 1095 void vpsraw(XMMRegister dst, XMMRegister nds, int shift, int vector_len); 1096 1097 void vpsrlw(XMMRegister dst, XMMRegister nds, XMMRegister shift, int vector_len); 1098 void vpsrlw(XMMRegister dst, XMMRegister nds, int shift, int vector_len); 1099 1100 void vpsllw(XMMRegister dst, XMMRegister nds, XMMRegister shift, int vector_len); 1101 void vpsllw(XMMRegister dst, XMMRegister nds, int shift, int vector_len); 1102 1103 void vptest(XMMRegister dst, XMMRegister src); 1104 1105 void punpcklbw(XMMRegister dst, XMMRegister src); 1106 void punpcklbw(XMMRegister dst, Address src) { Assembler::punpcklbw(dst, src); } 1107 1108 void pshuflw(XMMRegister dst, XMMRegister src, int mode); 1109 void pshuflw(XMMRegister dst, Address src, int mode) { Assembler::pshuflw(dst, src, mode); } 1110 1111 void vandpd(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len) { Assembler::vandpd(dst, nds, src, vector_len); } 1112 void vandpd(XMMRegister dst, XMMRegister nds, Address src, int vector_len) { Assembler::vandpd(dst, nds, src, vector_len); } 1113 void vandpd(XMMRegister dst, XMMRegister nds, AddressLiteral src, int vector_len); 1114 1115 void vandps(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len) { Assembler::vandps(dst, nds, src, vector_len); } 1116 void vandps(XMMRegister dst, XMMRegister nds, Address src, int vector_len) { Assembler::vandps(dst, nds, src, vector_len); } 1117 void vandps(XMMRegister dst, XMMRegister nds, AddressLiteral src, int vector_len); 1118 1119 void vdivsd(XMMRegister dst, XMMRegister nds, XMMRegister src) { Assembler::vdivsd(dst, nds, src); } 1120 void vdivsd(XMMRegister dst, XMMRegister nds, Address src) { Assembler::vdivsd(dst, nds, src); } 1121 void vdivsd(XMMRegister dst, XMMRegister nds, AddressLiteral src); 1122 1123 void vdivss(XMMRegister dst, XMMRegister nds, XMMRegister src) { Assembler::vdivss(dst, nds, src); } |