tgsi: Fix a bug with saving/restoring xmm registers upon func call.

This commit is contained in:
Michal Krol 2008-11-12 18:19:20 +01:00
parent 8fee30064e
commit 1bfe7c36ba

View file

@ -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;
}