On 06/25/2012 05:24 PM, Jason Garrett-Glaser wrote: >> +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.
Yes. Sandy Bridge: C - 2992 SSE - 205 AVX - 178 _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
