summaryrefslogtreecommitdiff
path: root/trunk/simd
diff options
context:
space:
mode:
authordcommander <dcommander@3789f03b-4d11-0410-bbf8-ca57d06f2519>2010-04-23 15:41:34 +0000
committerdcommander <dcommander@3789f03b-4d11-0410-bbf8-ca57d06f2519>2010-04-23 15:41:34 +0000
commit62372f67d5b1f3de31e8a21d94eb16e9ceffb2f5 (patch)
tree8730d3eb08684a3019d7da164307fee4e1740617 /trunk/simd
parentb2e39b7cd7d9168331969b95ed6468c2a3c73046 (diff)
xmm6-xmm15 must also be preserved by the callee; Win64 should fully work now
git-svn-id: https://libjpeg-turbo.svn.sourceforge.net/svnroot/libjpeg-turbo@179 3789f03b-4d11-0410-bbf8-ca57d06f2519
Diffstat (limited to 'trunk/simd')
-rw-r--r--trunk/simd/jsimdext.inc8
1 files changed, 8 insertions, 0 deletions
diff --git a/trunk/simd/jsimdext.inc b/trunk/simd/jsimdext.inc
index 5beceb3..4ea3d17 100644
--- a/trunk/simd/jsimdext.inc
+++ b/trunk/simd/jsimdext.inc
@@ -313,9 +313,17 @@ const_base:
mov r15, [rax+56]
push rsi
push rdi
+ sub rsp, SIZEOF_XMMWORD
+ movlpd XMMWORD [rsp], xmm6
+ sub rsp, SIZEOF_XMMWORD
+ movlpd XMMWORD [rsp], xmm7
%endmacro
%imacro uncollect_args 0
+ movlpd xmm7, XMMWORD [rsp]
+ add rsp, SIZEOF_XMMWORD
+ movlpd xmm6, XMMWORD [rsp]
+ add rsp, SIZEOF_XMMWORD
pop rdi
pop rsi
pop r15