> +cglobal conv_fltp_to_flt_2ch, 3,4,5, dst, src, len, src1
> +    mov  src1q, [srcq+gprsize]
> +    mov   srcq, [srcq        ]
> +    sub  src1q, srcq
> +    ALIGN 16
> +.loop
> +    mova    m0, [srcq             ]
> +    mova    m1, [srcq+src1q       ]
> +    mova    m2, [srcq      +mmsize]
> +    mova    m3, [srcq+src1q+mmsize]
> +    SBUTTERFLYPS2 0, 1, 4
> +    SBUTTERFLYPS2 2, 3, 4
> +%if cpuflag(avx)
> +    vextractf128 [dstq    ], m0, 0
> +    vextractf128 [dstq+ 16], m1, 0
> +    vextractf128 [dstq+ 32], m0, 1
> +    vextractf128 [dstq+ 48], m1, 1
> +    vextractf128 [dstq+ 64], m2, 0
> +    vextractf128 [dstq+ 80], m3, 0
> +    vextractf128 [dstq+ 96], m2, 1
> +    vextractf128 [dstq+112], m3, 1
> +%else
> +    mova  [dstq         ], m0
> +    mova  [dstq+1*mmsize], m1
> +    mova  [dstq+2*mmsize], m2
> +    mova  [dstq+3*mmsize], m3
> +%endif

Is the AVX version any faster?  This function looks load/store bound,
and no CPU in existence has 32-byte store units, so I doubt it gets
any boost.

Otherwise, looks okay.

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

Reply via email to