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?

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

Reply via email to