Save XMM registers in asm functions
authorYunqing Wang <yunqingwang@google.com>
Thu, 28 Oct 2010 20:59:03 +0000 (16:59 -0400)
committerYunqing Wang <yunqingwang@google.com>
Thu, 28 Oct 2010 20:59:03 +0000 (16:59 -0400)
XMM6/7 are used in these functions, and need to be saved.

Change-Id: I3dfaddaf2a69cd4bf8e8735c7064b17bac5a14e5

vp8/encoder/x86/fwalsh_sse2.asm
vp8/encoder/x86/subtract_sse2.asm

index 145b59d..39439f0 100644 (file)
@@ -17,6 +17,7 @@ sym(vp8_short_walsh4x4_sse2):
     push        rbp
     mov         rbp, rsp
     SHADOW_ARGS_TO_STACK 3
+    SAVE_XMM
     GET_GOT     rbx
     push        rsi
     push        rdi
@@ -143,6 +144,7 @@ sym(vp8_short_walsh4x4_sse2):
     pop rdi
     pop rsi
     RESTORE_GOT
+    RESTORE_XMM
     UNSHADOW_ARGS
     pop         rbp
     ret
index 27661e0..3fb23d0 100644 (file)
@@ -77,6 +77,7 @@ sym(vp8_subtract_mby_sse2):
     push        rbp
     mov         rbp, rsp
     SHADOW_ARGS_TO_STACK 4
+    SAVE_XMM
     GET_GOT     rbx
     push rsi
     push rdi
@@ -138,6 +139,7 @@ submby_loop:
     pop rsi
     ; begin epilog
     RESTORE_GOT
+    RESTORE_XMM
     UNSHADOW_ARGS
     pop         rbp
     ret