< prev index next >
src/hotspot/cpu/x86/assembler_x86.hpp
Print this page
@@ -1100,10 +1100,19 @@
void cvttss2sil(Register dst, XMMRegister src);
void cvttss2siq(Register dst, XMMRegister src);
void cvttpd2dq(XMMRegister dst, XMMRegister src);
+ //Abs of packed Integer values
+ void pabsb(XMMRegister dst, XMMRegister src);
+ void pabsw(XMMRegister dst, XMMRegister src);
+ void pabsd(XMMRegister dst, XMMRegister src);
+ void vpabsb(XMMRegister dst, XMMRegister src, int vector_len);
+ void vpabsw(XMMRegister dst, XMMRegister src, int vector_len);
+ void vpabsd(XMMRegister dst, XMMRegister src, int vector_len);
+ void evpabsq(XMMRegister dst, XMMRegister src, int vector_len);
+
// Divide Scalar Double-Precision Floating-Point Values
void divsd(XMMRegister dst, Address src);
void divsd(XMMRegister dst, XMMRegister src);
// Divide Scalar Single-Precision Floating-Point Values
@@ -1587,10 +1596,11 @@
void vpackuswb(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
// Pemutation of 64bit words
void vpermq(XMMRegister dst, XMMRegister src, int imm8, int vector_len);
void vpermq(XMMRegister dst, XMMRegister src, int imm8);
+ void vpermq(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
void vperm2i128(XMMRegister dst, XMMRegister nds, XMMRegister src, int imm8);
void vperm2f128(XMMRegister dst, XMMRegister nds, XMMRegister src, int imm8);
void evpermi2q(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
void pause();
@@ -1666,10 +1676,14 @@
void vpmovzxwd(XMMRegister dst, XMMRegister src, int vector_len);
void evpmovdb(Address dst, XMMRegister src, int vector_len);
+ // Sign extend moves
+ void pmovsxbw(XMMRegister dst, XMMRegister src);
+ void vpmovsxbw(XMMRegister dst, XMMRegister src, int vector_len);
+
// Multiply add
void pmaddwd(XMMRegister dst, XMMRegister src);
void vpmaddwd(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
// Multiply add accumulate
void evpdpwssd(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
@@ -2092,10 +2106,12 @@
void psrad(XMMRegister dst, XMMRegister shift);
void vpsraw(XMMRegister dst, XMMRegister src, int shift, int vector_len);
void vpsrad(XMMRegister dst, XMMRegister src, int shift, int vector_len);
void vpsraw(XMMRegister dst, XMMRegister src, XMMRegister shift, int vector_len);
void vpsrad(XMMRegister dst, XMMRegister src, XMMRegister shift, int vector_len);
+ void evpsraq(XMMRegister dst, XMMRegister src, int shift, int vector_len);
+ void evpsraq(XMMRegister dst, XMMRegister src, XMMRegister shift, int vector_len);
// And packed integers
void pand(XMMRegister dst, XMMRegister src);
void vpand(XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
void vpand(XMMRegister dst, XMMRegister nds, Address src, int vector_len);
< prev index next >