diff -r 8d3cc6612bd1 -r 137868b7aa6f src/cpu/x86/vm/assembler_x86.hpp --- a/src/cpu/x86/vm/assembler_x86.hpp Mon Sep 17 17:02:10 2012 -0700 +++ b/src/cpu/x86/vm/assembler_x86.hpp Mon Sep 17 19:39:07 2012 -0700 @@ -1743,6 +1743,12 @@ void vinsertf128h(XMMRegister dst, XMMRegister nds, XMMRegister src); void vinserti128h(XMMRegister dst, XMMRegister nds, XMMRegister src); + // Load/store high 128bit of YMM registers which does not destroy other half. + void vinsertf128h(XMMRegister dst, Address src); + void vinserti128h(XMMRegister dst, Address src); + void vextractf128h(Address dst, XMMRegister src); + void vextracti128h(Address dst, XMMRegister src); + // AVX instruction which is used to clear upper 128 bits of YMM registers and // to avoid transaction penalty between AVX and SSE states. There is no // penalty if legacy SSE instructions are encoded using VEX prefix because