On Mon, Jul 30, 2012 at 01:48:09PM -0400, Justin Ruggles wrote: > > --- a/libavcodec/x86/fmtconvert.asm > +++ b/libavcodec/x86/fmtconvert.asm > @@ -27,18 +27,20 @@ SECTION_TEXT > -%if WIN64 > +%if ARCH_X86_32 > + SPLATD m0, mulm > +%else > + %if WIN64 > SWAP 0, 2 > -%elif ARCH_X86_32 > - movss m0, mulm > + %endif > + SPLATD m0 > %endif > - SPLATD m0
%elif WIN64 > --- a/libavutil/x86/x86util.asm > +++ b/libavutil/x86/x86util.asm > @@ -559,24 +559,34 @@ > > +; splat low dword or m32 to all dwords > +; %1 = dst/src mmreg, %2 = src m32 (optional) > +%macro SPLATD 1-2 > +%if %0 > 1 && notcpuflag(avx) > + %if mmsize == 8 || cpuflag(sse2) > + movd %1, %2 > + %else > + movss %1, %2 > + %endif > %endif > +%if mmsize == 8 > punpckldq %1, %1 > +%elif mmsize == 16 > + %if %0 > 1 && cpuflag(avx) > + vbroadcastss %1, %2 > + %elif cpuflag(sse2) > pshufd %1, %1, 0 > + %else ; sse > + shufps %1, %1, 0 > + %endif > +%elif mmsize == 32 > + %if %0 > 1 > + vbroadcastss %1, %2 > + %else > + vperm2f128 %1, %1, %1, 0 > + shufps %1, %1, 0 > + %endif > +%endif > %endmacro ifdefs are not indented anywhere else, so I'd suggest maintaining the current style. Diego _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
