diff options
Diffstat (limited to 'src/gallium/auxiliary')
| -rw-r--r-- | src/gallium/auxiliary/draw/draw_vs_aos.c | 9 | 
1 files changed, 5 insertions, 4 deletions
| diff --git a/src/gallium/auxiliary/draw/draw_vs_aos.c b/src/gallium/auxiliary/draw/draw_vs_aos.c index e2e96470f7..1c63677e6e 100644 --- a/src/gallium/auxiliary/draw/draw_vs_aos.c +++ b/src/gallium/auxiliary/draw/draw_vs_aos.c @@ -964,12 +964,13 @@ static boolean emit_ABS( struct aos_compilation *cp, const struct tgsi_full_inst  {     struct x86_reg arg0 = fetch_src(cp, &op->FullSrcRegisters[0]);     struct x86_reg neg = aos_get_internal(cp, IMM_NEGS); -   struct x86_reg dst = get_xmm_writable(cp, arg0); +   struct x86_reg tmp = aos_get_xmm_reg(cp); -   sse_mulps(cp->func, dst, neg); -   sse_maxps(cp->func, dst, arg0); +   sse_movaps(cp->func, tmp, arg0); +   sse_mulps(cp->func, tmp, neg); +   sse_maxps(cp->func, tmp, arg0); -   store_dest(cp, &op->FullDstRegisters[0], dst); +   store_dest(cp, &op->FullDstRegisters[0], tmp);     return TRUE;  } | 
