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

Reply via email to