From 0f7601bf85fd214b2cc06f9aaaf9cc05d908ec22 Mon Sep 17 00:00:00 2001 From: DRC Date: Fri, 23 Apr 2010 15:41:34 +0000 Subject: [PATCH] xmm6-xmm15 must also be preserved by the callee; Win64 should fully work now --- simd/jsimdext.inc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/simd/jsimdext.inc b/simd/jsimdext.inc index 5beceb34..4ea3d17c 100644 --- a/simd/jsimdext.inc +++ b/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