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