Save XMM registers in asm functions
XMM6/7 are used in these functions, and need to be saved.
Change-Id: I7270ef95b479acf29698d34c8d14bf5600a02d64
diff --git a/vp8/encoder/x86/fwalsh_sse2.asm b/vp8/encoder/x86/fwalsh_sse2.asm
index 145b59d..39439f0 100644
--- 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
diff --git a/vp8/encoder/x86/subtract_sse2.asm b/vp8/encoder/x86/subtract_sse2.asm
index 27661e0..3fb23d0 100644
--- 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