Preserve all 128 bits of xmm6 and xmm7
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/branches/1.2.x@829 632fc199-4ca6-4c93-a231-07263d6284db
This commit is contained in:
@@ -11,6 +11,10 @@ decompression, the unused byte of the decompressed pixels was not being set to
|
||||
0xFF. This has been fixed. TJUnitTest has also been extended to test for the
|
||||
correct behavior of the colorspace extensions when merged upsampling is used.
|
||||
|
||||
[3] Fixed a bug whereby the libjpeg-turbo SSE2 SIMD code would not preserve the
|
||||
upper 64 bits of xmm6 and xmm7 on Win64 platforms, which violated the Win64
|
||||
calling conventions.
|
||||
|
||||
|
||||
1.2.0
|
||||
=====
|
||||
|
||||
@@ -322,15 +322,15 @@ const_base:
|
||||
push rsi
|
||||
push rdi
|
||||
sub rsp, SIZEOF_XMMWORD
|
||||
movlpd XMMWORD [rsp], xmm6
|
||||
movaps XMMWORD [rsp], xmm6
|
||||
sub rsp, SIZEOF_XMMWORD
|
||||
movlpd XMMWORD [rsp], xmm7
|
||||
movaps XMMWORD [rsp], xmm7
|
||||
%endmacro
|
||||
|
||||
%imacro uncollect_args 0
|
||||
movlpd xmm7, XMMWORD [rsp]
|
||||
movaps xmm7, XMMWORD [rsp]
|
||||
add rsp, SIZEOF_XMMWORD
|
||||
movlpd xmm6, XMMWORD [rsp]
|
||||
movaps xmm6, XMMWORD [rsp]
|
||||
add rsp, SIZEOF_XMMWORD
|
||||
pop rdi
|
||||
pop rsi
|
||||
|
||||
Reference in New Issue
Block a user