> +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
