On Fri, 28 Sep 2012, Justin Ruggles wrote:

> --- a/libavutil/x86/x86util.asm
> +++ b/libavutil/x86/x86util.asm
> @@ -626,6 +626,15 @@
>  %endif
>  %endmacro
>
> +%macro VBROADCASTSD 2 ; dst xmm/ymm, src m64
> +%if cpuflag(avx)
> +    vbroadcastsd %1, %2
> +%else ; sse2
> +    movsd        %1, %2
> +    shufpd       %1, %1, 0

movlhps is faster.
movddup can do it in one instruction on sse3.
vbroadcastsd is ymm-only, so you should use movddup under INIT_XMM avx.

> +%endif
> +%endmacro

--Loren Merritt
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to