--- old/src/cpu/x86/vm/stubGenerator_x86_64.cpp 2015-06-02 20:17:34.225963600 -0700 +++ new/src/cpu/x86/vm/stubGenerator_x86_64.cpp 2015-06-02 20:17:33.928577500 -0700 @@ -382,8 +382,15 @@ // restore regs belonging to calling function #ifdef _WIN64 - for (int i = 15; i >= 6; i--) { - __ movdqu(as_XMMRegister(i), xmm_save(i)); + if (UseAVX > 2) { + for (int i = 6; i <= 31; i++) { + __ movdqu(as_XMMRegister(i), xmm_save(i)); + } + } + else { + for (int i = 6; i <= 15; i++) { + __ movdqu(as_XMMRegister(i), xmm_save(i)); + } } #endif __ movptr(r15, r15_save);