< prev index next >
src/cpu/x86/vm/stubGenerator_x86_64.cpp
Print this page
*** 380,392 ****
}
#endif
// restore regs belonging to calling function
#ifdef _WIN64
! for (int i = 15; i >= 6; i--) {
__ movdqu(as_XMMRegister(i), xmm_save(i));
}
#endif
__ movptr(r15, r15_save);
__ movptr(r14, r14_save);
__ movptr(r13, r13_save);
__ movptr(r12, r12_save);
--- 380,399 ----
}
#endif
// restore regs belonging to calling function
#ifdef _WIN64
! 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);
__ movptr(r14, r14_save);
__ movptr(r13, r13_save);
__ movptr(r12, r12_save);
< prev index next >