Hi,

On Sat, Jul 14, 2012 at 9:29 PM, Justin Ruggles
<justin.rugg...@gmail.com> wrote:
> +%else ; sse
> +    mova      xmm0, [srcq      ]
> +    mova      xmm1, [srcq+src1q]
> +    mova      xmm2, [srcq+src2q]
> +    mova      xmm3, [srcq+src3q]
> +    mova      xmm4, [srcq+src4q]
> +    mova      xmm5, [srcq+src5q]
> +    mulps     xmm0, xmm6
> +    mulps     xmm1, xmm6
> +    mulps     xmm2, xmm6
> +    mulps     xmm3, xmm6
> +    mulps     xmm4, xmm6
> +    mulps     xmm5, xmm6
> +    cvtps2pi    m0, xmm0
> +    cvtps2pi    m1, xmm1
> +    cvtps2pi    m2, xmm2
> +    cvtps2pi    m3, xmm3
> +    cvtps2pi    m4, xmm4
> +    cvtps2pi    m5, xmm5
> +    packssdw    m0, m3          ; m0 =  0,  6,  3,  9
> +    packssdw    m1, m4          ; m1 =  1,  7,  4, 10
> +    packssdw    m2, m5          ; m2 =  2,  8,  5, 11
> +                                ; unpack words
> +    pshufw      m3, m0, q1032   ; m3 =  3,  9,  0,  6
> +    punpcklwd   m0, m1          ; m0 =  0,  1,  6,  7
> +    punpckhwd   m1, m2          ; m1 =  4,  5, 10, 11
> +    punpcklwd   m2, m3          ; m2 =  2,  3,  8,  9
> +                                ; unpack dwords
> +    pshufw      m3, m0, q1032   ; m3 =  6,  7,  0,  1
> +    punpckldq   m0, m2          ; m0 =  0,  1,  2,  3 (final)
> +    punpckhdq   m2, m1          ; m2 =  8,  9, 10, 11 (final)
> +    punpckldq   m1, m3          ; m1 =  4,  5,  6,  7 (final)
> +    mova [dstq   ], m0
> +    mova [dstq+ 8], m1
> +    mova [dstq+16], m2

I'd agree with Loren that the use of "sse" as a function name, but
having "mX" refer to mmx registers, is somewhat confusing. I guess
it's OK since it's obvious from the code what is intended, just wanted
to note that it's confusing.

Ronald
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to