ref: 6614563b8f851adebdb25cc9ffca28b871e34616
parent: f57fc7bcc6c0584b7ecc3af18a66d723b8a86016
author: Yunqing Wang <yunqingwang@google.com>
date: Thu Oct 28 12:59:03 EDT 2010
Save XMM registers in asm functions XMM6/7 are used in these functions, and need to be saved. Change-Id: I3dfaddaf2a69cd4bf8e8735c7064b17bac5a14e5
--- a/vp8/encoder/x86/fwalsh_sse2.asm
+++ b/vp8/encoder/x86/fwalsh_sse2.asm
@@ -17,6 +17,7 @@
push rbp
mov rbp, rsp
SHADOW_ARGS_TO_STACK 3
+ SAVE_XMM
GET_GOT rbx
push rsi
push rdi
@@ -143,6 +144,7 @@
pop rdi
pop rsi
RESTORE_GOT
+ RESTORE_XMM
UNSHADOW_ARGS
pop rbp
ret
--- a/vp8/encoder/x86/subtract_sse2.asm
+++ b/vp8/encoder/x86/subtract_sse2.asm
@@ -77,6 +77,7 @@
push rbp
mov rbp, rsp
SHADOW_ARGS_TO_STACK 4
+ SAVE_XMM
GET_GOT rbx
push rsi
push rdi
@@ -138,6 +139,7 @@
pop rsi
; begin epilog
RESTORE_GOT
+ RESTORE_XMM
UNSHADOW_ARGS
pop rbp
ret
--
⑨