> + movlpd m0, [srcq ] > + movlpd m1, [srcq+src1q] > + movlpd m2, [srcq+src2q] > + movhpd m0, [srcq+src3q] ; m0 = 0, 6, 12, 18, 3, 9, 15, 21 > + movhpd m1, [srcq+src4q] ; m1 = 1, 7, 13, 19, 4, 10, 16, 22 > + movhpd m2, [srcq+src5q] ; m2 = 2, 8, 14, 20, 5, 11, 17, 23 > + ; unpack words: > + movhlps m3, m0 ; m3 = 3, 9, 15, 21, x, x, x, x
Same comments here as in previous emails. > + punpcklwd m0, m1 ; m0 = 0, 1, 6, 7, 12, 13, 18, 19 > + punpckhwd m1, m2 ; m1 = 4, 5, 10, 11, 16, 17, 22, 23 > + punpcklwd m2, m3 ; m2 = 2, 3, 8, 9, 14, 15, 20, 21 > + ; unpack dwords: > + punpckhdq m3, m0, m2 ; m3 = 12, 13, 14, 15, 18, 19, 20, 21 > + punpckldq m2, m1 ; m2 = 2, 3, 4, 5, 8, 9, 10, 11 > + ; shuffle qwords: > + movhlps m4, m2 ; m4 = 8, 9, 10, 11, x, x, x, x > + movlhps m4, m3 ; m4 = 8, 9, 10, 11, 12, 13, 14, 15 (final) > + movlhps m2, m0 ; m2 = 2, 3, 4, 5, 0, 1, 6, 7 > + movhlps m3, m1 ; m3 = 16, 17, 22, 23, 18, 19, 20, 21 > + ; shuffle dwords: > + pshufd m2, m2, q3102 ; m2 = 0, 1, 2, 3, 4, 5, 6, 7 (final) > + pshufd m3, m3, q1320 ; m3 = 16, 17, 18, 19, 20, 21, 22, 23 (final) Same comments here... etc. > + mova [dstq ], m2 > + mova [dstq+16], m4 > + mova [dstq+32], m3 > + add srcq, mmsize/2 > + add dstq, mmsize*3 > + sub lend, mmsize/4 > + jg .loop > + REP_RET Jason _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
