/* Helper routine for the x86.asm PUSH_DR_MCONTEXT, to fill in the xmm0-5 values * (or all for linux) (or ymm) only if necessary. */ void get_xmm_vals(priv_mcontext_t *mc) { if (preserve_xmm_caller_saved()) { ASSERT(proc_has_feature(FEATURE_SSE)); if (YMM_ENABLED()) get_ymm_caller_saved(&mc->ymm[0]); else get_xmm_caller_saved(&mc->ymm[0]); } }
/* Helper routine for the x86.asm PUSH_DR_MCONTEXT, to fill in the xmm0-5 values * (or all for linux) (or ymm) only if necessary. */ void get_xmm_vals(priv_mcontext_t *mc) { #ifdef X86 if (preserve_xmm_caller_saved()) { ASSERT(proc_has_feature(FEATURE_SSE)); if (YMM_ENABLED()) get_ymm_caller_saved(&mc->ymm[0]); else get_xmm_caller_saved(&mc->ymm[0]); } #elif defined(ARM) /* FIXME i#1551: no xmm but SIMD regs on ARM */ ASSERT_NOT_REACHED(); #endif }