summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/tgsi/tgsi_sse2.c
diff options
context:
space:
mode:
authorMichal Krol <michal@tungstengraphics.com>2008-11-12 18:19:20 +0100
committerMichal Krol <michal@tungstengraphics.com>2008-11-12 18:19:20 +0100
commit1bfe7c36bac4b8e5ddfcce537603aa8a5f35529d (patch)
tree69245db45e764b945a7d8efbf7c2b1a4019d8308 /src/gallium/auxiliary/tgsi/tgsi_sse2.c
parent8fee30064e35488bccf8e6e7478d56ca783ebac1 (diff)
tgsi: Fix a bug with saving/restoring xmm registers upon func call.
Diffstat (limited to 'src/gallium/auxiliary/tgsi/tgsi_sse2.c')
-rw-r--r--src/gallium/auxiliary/tgsi/tgsi_sse2.c6
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;
}