SIMD should now work on 64-bit Windows


git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4048 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/common/jpeg/simd/jsimdext.inc b/common/jpeg/simd/jsimdext.inc
index d0b47e6..4ea3d17 100644
--- a/common/jpeg/simd/jsimdext.inc
+++ b/common/jpeg/simd/jsimdext.inc
@@ -2,6 +2,7 @@
 ; jsimdext.inc - common declarations
 ;
 ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
+; Copyright 2010 D. R. Commander
 ;
 ; Based on
 ; x86 SIMD extension for IJG JPEG library - version 1.02
@@ -310,6 +311,27 @@
 	mov r13, r9
 	mov r14, [rax+48]
 	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
+	pop r14
+	pop r13
+	pop r12
+	pop r11
+	pop r10
 %endmacro
 
 %else
@@ -329,8 +351,6 @@
 	mov r15, r9
 %endmacro
 
-%endif
-
 %imacro uncollect_args 0
 	pop r15
 	pop r14
@@ -342,6 +362,8 @@
 
 %endif
 
+%endif
+
 ; --------------------------------------------------------------------------
 ;  Defines picked up from the C headers
 ;