summaryrefslogtreecommitdiff
path: root/vp8/common/x86/subpixel_sse2.asm
diff options
context:
space:
mode:
authorYunqing Wang <yunqingwang@google.com>2010-06-15 09:11:26 -0400
committerYunqing Wang <yunqingwang@google.com>2010-06-15 09:11:26 -0400
commit397aad3ec28020a9b766e362e061701783c9633e (patch)
tree7c79379c0d5f137e1652933ce4c959d9b5107bcc /vp8/common/x86/subpixel_sse2.asm
parent55d86c488bd90fd474af51e2d90272c7ab4eedbf (diff)
downloadlibvpx-397aad3ec28020a9b766e362e061701783c9633e.tar
libvpx-397aad3ec28020a9b766e362e061701783c9633e.tar.gz
libvpx-397aad3ec28020a9b766e362e061701783c9633e.tar.bz2
libvpx-397aad3ec28020a9b766e362e061701783c9633e.zip
More on "some XMM registers are non-volatile on windows x64 ABI"
Add same fix in subpixel_sse2.asm. Change-Id: Icfda6103cbf74ec43308e96961dd738aa823c14d
Diffstat (limited to 'vp8/common/x86/subpixel_sse2.asm')
-rw-r--r--vp8/common/x86/subpixel_sse2.asm12
1 files changed, 10 insertions, 2 deletions
diff --git a/vp8/common/x86/subpixel_sse2.asm b/vp8/common/x86/subpixel_sse2.asm
index b71a2f9d1..ee383ad47 100644
--- a/vp8/common/x86/subpixel_sse2.asm
+++ b/vp8/common/x86/subpixel_sse2.asm
@@ -428,6 +428,7 @@ sym(vp8_filter_block1d16_v6_sse2):
push rbp
mov rbp, rsp
SHADOW_ARGS_TO_STACK 8
+ SAVE_XMM
GET_GOT rbx
push rsi
push rdi
@@ -537,6 +538,7 @@ sym(vp8_filter_block1d8_h6_only_sse2):
push rbp
mov rbp, rsp
SHADOW_ARGS_TO_STACK 6
+ SAVE_XMM
GET_GOT rbx
push rsi
push rdi
@@ -628,6 +630,7 @@ filter_block1d8_h6_only_rowloop:
pop rdi
pop rsi
RESTORE_GOT
+ RESTORE_XMM
UNSHADOW_ARGS
pop rbp
ret
@@ -792,6 +795,7 @@ filter_block1d16_h6_only_sse2_rowloop:
pop rdi
pop rsi
RESTORE_GOT
+ RESTORE_XMM
UNSHADOW_ARGS
pop rbp
ret
@@ -812,6 +816,7 @@ sym(vp8_filter_block1d8_v6_only_sse2):
push rbp
mov rbp, rsp
SHADOW_ARGS_TO_STACK 6
+ SAVE_XMM
GET_GOT rbx
push rsi
push rdi
@@ -903,7 +908,7 @@ sym(vp8_unpack_block1d16_h6_sse2):
push rbp
mov rbp, rsp
SHADOW_ARGS_TO_STACK 5
- SAVE_XMM
+ ;SAVE_XMM ;xmm6, xmm7 are not used here.
GET_GOT rbx
push rsi
push rdi
@@ -943,7 +948,7 @@ unpack_block1d16_h6_sse2_rowloop:
pop rdi
pop rsi
RESTORE_GOT
- RESTORE_XMM
+ ;RESTORE_XMM
UNSHADOW_ARGS
pop rbp
ret
@@ -1212,6 +1217,7 @@ done:
pop rdi
pop rsi
RESTORE_GOT
+ RESTORE_XMM
UNSHADOW_ARGS
pop rbp
ret
@@ -1232,6 +1238,7 @@ sym(vp8_bilinear_predict8x8_sse2):
push rbp
mov rbp, rsp
SHADOW_ARGS_TO_STACK 6
+ SAVE_XMM
GET_GOT rbx
push rsi
push rdi
@@ -1355,6 +1362,7 @@ next_row8x8:
pop rdi
pop rsi
RESTORE_GOT
+ RESTORE_XMM
UNSHADOW_ARGS
pop rbp
ret