< prev index next >
src/hotspot/cpu/x86/assembler_x86.hpp
Print this page
*** 1100,1109 ****
--- 1100,1118 ----
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,1596 ****
--- 1596,1606 ----
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,1675 ****
--- 1676,1689 ----
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,2101 ****
--- 2106,2117 ----
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 >