On Wed, Jun 27, 2012 at 11:43 AM, Justin Ruggles <[email protected]> wrote: > On 06/27/2012 02:31 PM, Jason Garrett-Glaser wrote: >> On Wed, Jun 27, 2012 at 8:27 AM, Justin Ruggles >> <[email protected]> wrote: >>> On 06/25/2012 05:21 PM, Jason Garrett-Glaser wrote: >>>>> + psrldq m1, 4 ; m1 = 6, 7, 8, 9, 10, 11, x, x >>>>> + psrldq m2, 4 ; m2 = 18, 19, 20, 21, 22, 23, x, x >>>>> + punpcklwd m4, m0, m1 ; m4 = 0, 6, 1, 7, 2, 8, 3, 9 >>>>> + punpckhwd m0, m1 ; m0 = 4, 10, 5, 11, x, x, x, x >>>>> + punpcklwd m1, m3, m2 ; m1 = 12, 18, 13, 19, 14, 20, 15, 21 >>>>> + punpckhwd m3, m2 ; m3 = 16, 22, 17, 23, x, x, x, x >>>>> + punpckldq m2, m4, m1 ; m2 = 0, 6, 12, 18, 1, 7, 13, 19 >>>>> + punpckhdq m4, m1 ; m4 = 2, 8, 14, 20, 3, 9, 15, 21 >>>>> + punpckldq m0, m3 ; m0 = 4, 10, 16, 22, 5, 11, 17, 23 >>>>> + movlpd [dstq ], m2 >>>>> + movhpd [dstq+dst1q], m2 >>>>> + movlpd [dstq+dst2q], m4 >>>>> + movhpd [dstq+dst3q], m4 >>>>> + movlpd [dstq+dst4q], m0 >>>>> + movhpd [dstq+dst5q], m0 >>>> >>>> movhps and movq please. >>> >>> I tried this: >>> >>> movhlps m1, m2 >>> movhlps m3, m4 >>> movhlps m5, m0 >>> movq [dstq ], m2 >>> movq [dstq+dst1q], m1 >>> movq [dstq+dst2q], m4 >>> movq [dstq+dst3q], m3 >>> movq [dstq+dst4q], m0 >>> movq [dstq+dst5q], m5 >>> >>> and it's slightly slower on Athlon64. >> >> I said movhps, not movhlps. > > oh, sorry. so what is the difference between movlps and movq when storing?
movq is for int data, movlps is for float, some CPUs prefer you use the appropriate type on the appropriate type of data. Jason _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
