diff options
author | Michal Krol <michal@tungstengraphics.com> | 2008-11-12 18:19:20 +0100 |
---|---|---|
committer | Michal Krol <michal@tungstengraphics.com> | 2008-11-12 18:19:20 +0100 |
commit | 1bfe7c36bac4b8e5ddfcce537603aa8a5f35529d (patch) | |
tree | 69245db45e764b945a7d8efbf7c2b1a4019d8308 /src/gallium/auxiliary | |
parent | 8fee30064e35488bccf8e6e7478d56ca783ebac1 (diff) |
tgsi: Fix a bug with saving/restoring xmm registers upon func call.
Diffstat (limited to 'src/gallium/auxiliary')
-rw-r--r-- | src/gallium/auxiliary/tgsi/tgsi_sse2.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/gallium/auxiliary/tgsi/tgsi_sse2.c b/src/gallium/auxiliary/tgsi/tgsi_sse2.c index f93db18114..8dfd2ced08 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_sse2.c +++ b/src/gallium/auxiliary/tgsi/tgsi_sse2.c @@ -527,7 +527,7 @@ emit_func_call_dst( void (PIPE_CDECL *code)() ) { struct x86_reg ecx = x86_make_reg( file_REG32, reg_CX ); - unsigned i, n, xmm; + unsigned i, n; unsigned xmm_mask; /* Bitmask of the xmm registers to save */ @@ -563,7 +563,7 @@ emit_func_call_dst( sse_movups( func, x86_make_disp( x86_make_reg( file_REG32, reg_SP ), n*16 ), - make_xmm( xmm ) ); + make_xmm( i ) ); ++n; } @@ -581,7 +581,7 @@ emit_func_call_dst( if(xmm_mask & (1 << i)) { sse_movups( func, - make_xmm( xmm ), + make_xmm( i ), x86_make_disp( x86_make_reg( file_REG32, reg_SP ), n*16 ) ); ++n; } |