This should make the codec work on Win64 (but doesn't for unknown reasons)


git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3994 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/common/jpeg/simd/jdsamss2-64.asm b/common/jpeg/simd/jdsamss2-64.asm
index 8521491..f9c61fc 100644
--- a/common/jpeg/simd/jdsamss2-64.asm
+++ b/common/jpeg/simd/jdsamss2-64.asm
@@ -63,6 +63,7 @@
 
 EXTN(jsimd_h2v1_fancy_upsample_sse2):
 	push	rbp
+	mov	rax,rsp
 	mov	rbp,rsp
 	collect_args
 
@@ -210,8 +211,8 @@
 	mov	[rsp],rax
 	mov	rbp,rsp				; rbp = aligned rbp
 	lea	rsp, [wk(0)]
-	push	rbx
 	collect_args
+	push	rbx
 
 	mov	rax, r11  ; colctr
 	test	rax,rax
@@ -472,8 +473,8 @@
 	jg	near .rowloop
 
 .return:
-	uncollect_args
 	pop	rbx
+	uncollect_args
 	mov	rsp,rbp		; rsp <- aligned rbp
 	pop	rsp		; rsp <- original rbp
 	pop	rbp
@@ -501,6 +502,7 @@
 
 EXTN(jsimd_h2v1_upsample_sse2):
 	push	rbp
+	mov	rax,rsp
 	mov	rbp,rsp
 	collect_args
 
@@ -589,9 +591,10 @@
 
 EXTN(jsimd_h2v2_upsample_sse2):
 	push	rbp
+	mov	rax,rsp
 	mov	rbp,rsp
-	push	rbx
 	collect_args
+	push	rbx
 
 	mov	rdx, r11
 	add	rdx, byte (2*SIZEOF_XMMWORD)-1
@@ -658,8 +661,8 @@
 	jg	near .rowloop
 
 .return:
-	uncollect_args
 	pop	rbx
+	uncollect_args
 	pop	rbp
 	ret