x86/vf_fspp: move pxor in store slice functions out of the loop
authorJames Almer <jamrial@gmail.com>
Fri, 26 Dec 2014 20:09:02 +0000 (17:09 -0300)
committerJames Almer <jamrial@gmail.com>
Fri, 26 Dec 2014 20:15:34 +0000 (17:15 -0300)
m7 is not overwritten, so we only need to clear it once.
Found by Christophe Gisquet.

Signed-off-by: James Almer <jamrial@gmail.com>
libavfilter/x86/vf_fspp.asm

index 5ad4275..fbf531b 100644 (file)
@@ -77,11 +77,11 @@ cglobal store_slice, 2, 7, 0, dst, src, width, dither_height, dither, tmp, tmp2
     mov       src_strideq, tmp2q
     shl       tmpq, 4
     lea       dither_heightq, [ditherq+dither_heightq*8]
+    pxor      m7, m7
 
 .loop_height:
     movq      m3, [ditherq]
     movq      m4, m3
-    pxor      m7, m7
     punpcklbw m3, m7
     punpckhbw m4, m7
     mov       tmp2q, widthq
@@ -143,11 +143,11 @@ cglobal store_slice2, 0, 7, 0, dst, src, width, dither_height, dither, tmp, tmp2
     mov       src_strideq, tmp2q
     shl       tmpq, 5
     lea       dither_heightq, [ditherq+dither_heightq*8]
+    pxor      m7, m7
 
 .loop_height:
     movq      m3, [ditherq]
     movq      m4, m3
-    pxor      m7, m7
     punpcklbw m3, m7
     punpckhbw m4, m7
     mov       tmp2q,widthq