x86: float_dsp: fix ff_vector_fmac_scalar_avx() on Win64
authorJustin Ruggles <justin.ruggles@gmail.com>
Fri, 3 Aug 2012 21:38:49 +0000 (17:38 -0400)
committerJustin Ruggles <justin.ruggles@gmail.com>
Fri, 7 Sep 2012 18:49:10 +0000 (14:49 -0400)
The SWAP macro does not work for explicit xmm/ymm usage, so instead just move
the scalar value from xmm2 to xmm0.

libavutil/x86/float_dsp.asm

index 934dac0..5b9b444 100644 (file)
@@ -60,12 +60,12 @@ cglobal vector_fmac_scalar, 3,3,3, dst, src, len
 %else
 cglobal vector_fmac_scalar, 4,4,3, dst, src, mul, len
 %endif
-%if WIN64
-    SWAP 0, 2
-%endif
 %if ARCH_X86_32
     VBROADCASTSS m0, mulm
 %else
+%if WIN64
+    mova       xmm0, xmm2
+%endif
     shufps     xmm0, xmm0, 0
 %if cpuflag(avx)
     vinsertf128  m0, m0, xmm0, 1