]> granicus.if.org Git - libjpeg-turbo/commitdiff
Fix Win64 ABI conformance issue in AVX2 ISLOW IDCT
authormayeut <mayeut@users.noreply.github.com>
Sat, 24 Feb 2018 11:07:34 +0000 (12:07 +0100)
committerDRC <information@libjpeg-turbo.org>
Mon, 26 Feb 2018 18:00:56 +0000 (12:00 -0600)
xmm8-xmm11 must be saved and restored, since the function uses
ymm8-ymm11.

Closes #211

simd/x86_64/jidctint-avx2.asm

index c009b45e9981442f7d72a5c405f1c6a3216bb948..b00151bbe9e51f1cbf6ed247e726d96cd17b9298 100644 (file)
@@ -286,6 +286,7 @@ EXTN(jsimd_idct_islow_avx2):
     push        rbp
     mov         rax, rsp                     ; rax = original rbp
     mov         rbp, rsp                     ; rbp = aligned rbp
+    push_xmm    4
     collect_args 4
 
     ; ---- Pass 1: process columns.
@@ -409,6 +410,7 @@ EXTN(jsimd_idct_islow_avx2):
     movq        XMM_MMWORD [rsi+rax*SIZEOF_JSAMPLE], xmm7
 
     uncollect_args 4
+    pop_xmm     4
     pop         rbp
     ret