Mesa (gallium-0.2): tgsi: Fix a bug with saving/ restoring xmm registers upon func call.

Michał Król michal at kemper.freedesktop.org
Wed Nov 12 17:20:52 UTC 2008


Module: Mesa
Branch: gallium-0.2
Commit: 1bfe7c36bac4b8e5ddfcce537603aa8a5f35529d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1bfe7c36bac4b8e5ddfcce537603aa8a5f35529d

Author: Michal Krol <michal at tungstengraphics.com>
Date:   Wed Nov 12 18:19:20 2008 +0100

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

---

 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 f93db18..8dfd2ce 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;
       }




More information about the mesa-commit mailing list