diff -r 53028d751155 -r e961c11b85fe src/cpu/x86/vm/stubGenerator_x86_32.cpp --- a/src/cpu/x86/vm/stubGenerator_x86_32.cpp Tue Apr 02 09:30:07 2013 +0200 +++ b/src/cpu/x86/vm/stubGenerator_x86_32.cpp Wed Apr 03 11:12:57 2013 -0700 @@ -835,6 +835,11 @@ __ BIND(L_copy_64_bytes); __ subl(qword_count, 8); __ jcc(Assembler::greaterEqual, L_copy_64_bytes_loop); + + if (UseUnalignedLoadStores && (UseAVX >= 2)) { + // clean upper bits of YMM registers + __ vzeroupper(); + } __ addl(qword_count, 8); __ jccb(Assembler::zero, L_exit); //