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
|
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.
|
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
|
1.2.0
|
||||||
=====
|
=====
|
||||||
|
|||||||
@@ -322,15 +322,15 @@ const_base:
|
|||||||
push rsi
|
push rsi
|
||||||
push rdi
|
push rdi
|
||||||
sub rsp, SIZEOF_XMMWORD
|
sub rsp, SIZEOF_XMMWORD
|
||||||
movlpd XMMWORD [rsp], xmm6
|
movaps XMMWORD [rsp], xmm6
|
||||||
sub rsp, SIZEOF_XMMWORD
|
sub rsp, SIZEOF_XMMWORD
|
||||||
movlpd XMMWORD [rsp], xmm7
|
movaps XMMWORD [rsp], xmm7
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%imacro uncollect_args 0
|
%imacro uncollect_args 0
|
||||||
movlpd xmm7, XMMWORD [rsp]
|
movaps xmm7, XMMWORD [rsp]
|
||||||
add rsp, SIZEOF_XMMWORD
|
add rsp, SIZEOF_XMMWORD
|
||||||
movlpd xmm6, XMMWORD [rsp]
|
movaps xmm6, XMMWORD [rsp]
|
||||||
add rsp, SIZEOF_XMMWORD
|
add rsp, SIZEOF_XMMWORD
|
||||||
pop rdi
|
pop rdi
|
||||||
pop rsi
|
pop rsi
|
||||||
|
|||||||
Reference in New Issue
Block a user