hotspot/src/cpu/x86/vm/assembler_x86.hpp
changeset 13883 6979b9850feb
parent 13743 154102966e74
child 13969 d2a189b83b87
equal deleted inserted replaced
13882:80d5d0d21b75 13883:6979b9850feb
  1741 
  1741 
  1742   // Copy low 128bit into high 128bit of YMM registers.
  1742   // Copy low 128bit into high 128bit of YMM registers.
  1743   void vinsertf128h(XMMRegister dst, XMMRegister nds, XMMRegister src);
  1743   void vinsertf128h(XMMRegister dst, XMMRegister nds, XMMRegister src);
  1744   void vinserti128h(XMMRegister dst, XMMRegister nds, XMMRegister src);
  1744   void vinserti128h(XMMRegister dst, XMMRegister nds, XMMRegister src);
  1745 
  1745 
       
  1746   // Load/store high 128bit of YMM registers which does not destroy other half.
       
  1747   void vinsertf128h(XMMRegister dst, Address src);
       
  1748   void vinserti128h(XMMRegister dst, Address src);
       
  1749   void vextractf128h(Address dst, XMMRegister src);
       
  1750   void vextracti128h(Address dst, XMMRegister src);
       
  1751 
  1746   // AVX instruction which is used to clear upper 128 bits of YMM registers and
  1752   // AVX instruction which is used to clear upper 128 bits of YMM registers and
  1747   // to avoid transaction penalty between AVX and SSE states. There is no
  1753   // to avoid transaction penalty between AVX and SSE states. There is no
  1748   // penalty if legacy SSE instructions are encoded using VEX prefix because
  1754   // penalty if legacy SSE instructions are encoded using VEX prefix because
  1749   // they always clear upper 128 bits. It should be used before calling
  1755   // they always clear upper 128 bits. It should be used before calling
  1750   // runtime code and native libraries.
  1756   // runtime code and native libraries.