cp->xmm[idx].idx);
assert(cp->xmm[idx].dirty);
- sse_movups(cp->func, oldval, x86_make_reg(file_XMM, idx));
+ sse_movaps(cp->func, oldval, x86_make_reg(file_XMM, idx));
cp->xmm[idx].dirty = 0;
}
}
{
if (!is_xmm_tmp(cp, reg)) {
struct x86_reg tmp = aos_get_xmm_reg(cp);
- sse_movups(cp->func, tmp, reg);
+ sse_movaps(cp->func, tmp, reg);
reg = tmp;
}
if (reg.file != file_XMM) {
struct x86_reg tmp = aos_get_xmm_reg(cp);
- sse_movups(cp->func, tmp, reg);
+ sse_movaps(cp->func, tmp, reg);
aos_adopt_xmm_reg( cp, tmp, file, idx, FALSE );
reg = tmp;
}
}
else {
if (!eq(dst, arg0))
- sse_movups(cp->func, dst, arg0);
+ sse_movaps(cp->func, dst, arg0);
sse_shufps(cp->func, dst, dst, shuf);
}
struct x86_reg neg = aos_get_internal(cp, IMM_NEGS);
struct x86_reg tmp = aos_get_xmm_reg(cp);
- sse_movups(cp->func, tmp, arg0);
+ sse_movaps(cp->func, tmp, arg0);
sse_mulps(cp->func, tmp, neg);
sse_maxps(cp->func, dst, arg0);