Lines Matching refs:mm1
127 "movq (%%"FF_REG_a"), %%mm1 \n\t"
130 PMAXUB(%%mm1, %%mm4)
131 PMINUB(%%mm1, %%mm3, %%mm5)
132 "psubb %%mm1, %%mm0 \n\t" // mm0 = difference
139 "psubb %%mm2, %%mm1 \n\t"
140 "paddb %%mm7, %%mm1 \n\t"
141 "pcmpgtb %%mm6, %%mm1 \n\t"
142 "paddb %%mm1, %%mm0 \n\t"
144 "movq (%%"FF_REG_a", %3, 2), %%mm1 \n\t"
145 PMAXUB(%%mm1, %%mm4)
146 PMINUB(%%mm1, %%mm3, %%mm5)
147 "psubb %%mm1, %%mm2 \n\t"
157 "psubb %%mm2, %%mm1 \n\t"
158 "paddb %%mm7, %%mm1 \n\t"
159 "pcmpgtb %%mm6, %%mm1 \n\t"
160 "paddb %%mm1, %%mm0 \n\t"
162 "movq (%%"FF_REG_a"), %%mm1 \n\t"
163 PMAXUB(%%mm1, %%mm4)
164 PMINUB(%%mm1, %%mm3, %%mm5)
165 "psubb %%mm1, %%mm2 \n\t"
173 "psubb %%mm2, %%mm1 \n\t"
174 "paddb %%mm7, %%mm1 \n\t"
175 "pcmpgtb %%mm6, %%mm1 \n\t"
176 "paddb %%mm1, %%mm0 \n\t"
178 "movq (%%"FF_REG_a", %3, 2), %%mm1 \n\t"
179 PMAXUB(%%mm1, %%mm4)
180 PMINUB(%%mm1, %%mm3, %%mm5)
181 "psubb %%mm1, %%mm2 \n\t"
192 "movq %%mm0, %%mm1 \n\t"
194 "paddb %%mm1, %%mm0 \n\t"
195 "movq %%mm0, %%mm1 \n\t"
197 "paddb %%mm1, %%mm0 \n\t"
198 "movq %%mm0, %%mm1 \n\t"
200 "paddb %%mm1, %%mm0 \n\t"
239 "movq %%mm5, %%mm1 \n\t"
242 "psubusb %%mm1, %%mm2 \n\t"
248 "pandn %%mm1, %%mm2 \n\t"
257 "movq %%mm5, %%mm1 \n\t"
260 "psubusb %%mm1, %%mm2 \n\t"
266 "pandn %%mm1, %%mm2 \n\t"
277 "movq %%mm0, %%mm1 \n\t" // 1
290 // mm1=2 mm2=3(211) mm4=1 mm5=5 mm6=0 mm7=9
291 "movq %%mm1, %%mm0 \n\t" // 1
300 // mm1=2 mm2=3(211) mm4=1 mm5=4(211) mm6=0 mm7=9
305 PAVGB(%%mm1, %%mm0) // 2 11/4
310 // mm1=2 mm2=3 mm3=6(11) mm4=1 mm5=4(211) mm6=0(11) mm7=9
314 PAVGB(%%mm1, %%mm4) // 11 /2
315 PAVGB(%%mm2, %%mm1) // 11 /2
316 PAVGB(%%mm1, %%mm6) //1122 11 /8
320 // mm0=7(11) mm1=2(11) mm2=3 mm3=6(11) mm4=1(11) mm5=4 mm7=9
330 // mm0=7(11) mm1=2(11) mm2=3(112) mm3=6(11) mm4=5 mm5=4 mm7=9
331 PAVGB(%%mm7, %%mm1) // 11 2 /4
335 PAVGB(%%mm6, %%mm1) // 11 4 2 /8
336 PAVGB(%%mm0, %%mm1) // 11224222 /16
337 "movq %%mm1, (%%"FF_REG_a", %1, 2) \n\t" // X
420 "movq (%0, %1, 4), %%mm1 \n\t" // line 4
421 "movq %%mm1, %%mm2 \n\t" // line 4
422 "psubusb %%mm0, %%mm1 \n\t"
424 "por %%mm1, %%mm0 \n\t" // |l2 - l3|
432 "movq %%mm2, %%mm1 \n\t" // line 4
436 "psubusb %%mm1, %%mm5 \n\t"
448 "movq %%mm3, %%mm1 \n\t" // d/2
450 PAVGB(%%mm1, %%mm3) // 3*d/8
464 PAVGB(%%mm7, %%mm1) // d/4
468 "psubusb %%mm1, %%mm0 \n\t"
474 "paddusb %%mm1, %%mm0 \n\t"
478 PAVGB(%%mm7, %%mm1) // d/8
482 "psubusb %%mm1, %%mm0 \n\t"
488 "paddusb %%mm1, %%mm0 \n\t"
565 "movq (%0), %%mm1 \n\t" // l0
568 PAVGB(%%mm1, %%mm0) // ~(l2 + 2l0)/4
571 "movq (%%"FF_REG_a"), %%mm1 \n\t" // l1
573 "movq %%mm1, %%mm4 \n\t" // l1
574 PAVGB(%%mm7, %%mm1) // ~l1/2
575 PAVGB(%%mm3, %%mm1) // ~(l1 + 2l3)/4
576 PAVGB(%%mm4, %%mm1) // ~(5l1 + 2l3)/8
579 "psubusb %%mm1, %%mm0 \n\t"
580 "psubusb %%mm4, %%mm1 \n\t"
581 "por %%mm0, %%mm1 \n\t" // ~|2l0 - 5l1 + 5l2 - 2l3|/8
582 // mm1= |lenergy|, mm2= l2, mm3= l3, mm7=0
601 // mm0= SIGN(menergy), mm1= |lenergy|, mm2= l5, mm3= |menergy|, mm4=l4, mm5= l3, mm7=0
619 // mm0= SIGN(menergy), mm1= |lenergy|/8, mm2= |renergy|/8, mm3= |menergy|/8, mm7=0
622 PMINUB(%%mm2, %%mm1, %%mm4) // MIN(|lenergy|,|renergy|)/8
626 "psubusb %%mm1, %%mm3 \n\t" // d=|menergy|/8-MIN(|lenergy|,|renergy|)/8
629 "movq %%mm3, %%mm1 \n\t"
633 "paddusb %%mm1, %%mm3 \n\t"
669 "movq (%%"FF_REG_a", %1, 2), %%mm1 \n\t" // l3
671 "pxor %%mm6, %%mm1 \n\t" // -l3-1
672 PAVGB(%%mm1, %%mm0) // -q+128 = (l4-l3+256)/2
673 // mm1=-l3-1, mm0=128-q
685 // mm1=-l3-1, mm0=128-q, mm3=l2, mm4=menergy/16 + 128, mm5= -l5-1
690 PAVGB((%0), %%mm1) // (l0-l3+256)/2
693 PAVGB(%%mm1, %%mm3) // ~(l0-l3)/4 +(l2-l1)/8 + 128
698 "movq (%%"FF_REG_c", %1, 2), %%mm1 \n\t" // l7
699 "pxor %%mm6, %%mm1 \n\t" // -l7-1
700 PAVGB((%0, %1, 4), %%mm1) // (l4-l7+256)/2
703 PAVGB(%%mm1, %%mm2) // ~(l4-l7)/4 +(l6-l5)/8 + 128
707 "movq "MANGLE(b00)", %%mm1 \n\t" // 0
709 "psubb %%mm2, %%mm1 \n\t" // 128 - renergy/16
711 PMAXUB(%%mm1, %%mm2) // 128 + |renergy/16|
713 PMINUB(%%mm2, %%mm3, %%mm1) // 128 + MIN(|lenergy|,|renergy|)/16
722 "movq %%mm4, %%mm1 \n\t"
723 "pcmpgtb %%mm7, %%mm1 \n\t" // SIGN(menergy)
724 "pxor %%mm1, %%mm4 \n\t"
725 "psubb %%mm1, %%mm4 \n\t" // 128 + |menergy|/16
728 // mm0=128-q, mm1= SIGN(menergy), mm2= |menergy|/16 < QP/2, mm4= d/16
744 "pxor %%mm1, %%mm7 \n\t" // SIGN(d*q)
749 "pxor %%mm1, %%mm0 \n\t"
750 "pxor %%mm1, %%mm2 \n\t"
753 "pxor %%mm1, %%mm0 \n\t"
754 "pxor %%mm1, %%mm2 \n\t"
829 "movq %%mm0, %%mm1 \n\t"
831 "punpckhbw %%mm7, %%mm1 \n\t" // high part of line 0
845 "paddw %%mm1, %%mm1 \n\t" // 2H0
849 "psubw %%mm3, %%mm1 \n\t" // 2H0 - H1 + H2
854 "psubw %%mm3, %%mm1 \n\t" // 2H0 - 5H1 + 5H2
862 "psubw %%mm3, %%mm1 \n\t" // 2H0 - 5H1 + 5H2 - H3
864 "psubw %%mm3, %%mm1 \n\t" // 2H0 - 5H1 + 5H2 - 2H3
866 "movq %%mm1, 8(%3) \n\t" // 2H0 - 5H1 + 5H2 - 2H3
869 "movq %%mm0, %%mm1 \n\t"
871 "punpckhbw %%mm7, %%mm1 \n\t" // H4
874 "psubw %%mm1, %%mm3 \n\t" // H3 - H4
905 "paddw %%mm1, %%mm1 \n\t" // 2H4
907 "psubw %%mm3, %%mm1 \n\t" // 2H4 - H5 + H6
912 "psubw %%mm3, %%mm1 \n\t" // 2H4 - 5H5 + 5H6
922 "psubw %%mm3, %%mm1 \n\t" // 2H4 - 5H5 + 5H6 - 2H7
932 "psubw %%mm1, %%mm6 \n\t"
933 "pmaxsw %%mm6, %%mm1 \n\t" // |2H4 - 5H5 + 5H6 - 2H7|
946 "pcmpgtw %%mm1, %%mm6 \n\t"
947 "pxor %%mm6, %%mm1 \n\t"
948 "psubw %%mm6, %%mm1 \n\t" // |2H4 - 5H5 + 5H6 - 2H7|
961 "pminsw %%mm3, %%mm1 \n\t"
966 "movq %%mm1, %%mm6 \n\t"
968 "psubw %%mm6, %%mm1 \n\t"
991 "psubusw %%mm1, %%mm5 \n\t" // ld
1004 "movq 24(%3), %%mm1 \n\t" // H3 - H4
1010 "pcmpgtw %%mm1, %%mm3 \n\t" // sign (H3-H4)
1012 "pxor %%mm3, %%mm1 \n\t"
1014 "psubw %%mm3, %%mm1 \n\t" // |H3-H4|
1016 "psrlw $1, %%mm1 \n\t" // |H3 - H4|/2
1025 "pminsw %%mm1, %%mm5 \n\t"
1031 "psubusw %%mm1, %%mm2 \n\t"
1124 "movq %%mm7, %%mm1 \n\t"\
1127 "psubusb %%mm0, %%mm1 \n\t"\
1128 "psubb %%mm1, %%mm7 \n\t"
1150 "movq %%mm7, %%mm1 \n\t"
1151 "psubusb %%mm4, %%mm1 \n\t"
1152 "psubb %%mm1, %%mm7 \n\t"
1155 "movq %%mm7, %%mm1 \n\t"
1156 "psubusb %%mm4, %%mm1 \n\t"
1157 "psubb %%mm1, %%mm7 \n\t"
1160 "movq %%mm7, %%mm1 \n\t"
1161 "psubusb %%mm4, %%mm1 \n\t"
1162 "psubb %%mm1, %%mm7 \n\t"
1200 "movq %%mm0, %%mm1 \n\t" // L10
1202 "psllq $8, %%mm1 \n\t"
1208 "por %%mm3, %%mm1 \n\t" // L00
1210 "movq %%mm1, %%mm3 \n\t" // L00
1211 PAVGB(%%mm2, %%mm1) // (L20 + L00)/2
1212 PAVGB(%%mm0, %%mm1) // (L20 + L00 + 2L10)/4
1309 DERING_CORE((%%FF_REGa) ,(%%FF_REGa, %1) ,%%mm0,%%mm2,%%mm4,%%mm1,%%mm3,%%mm5,%%mm6,%%mm7)
1310 DERING_CORE((%%FF_REGa, %1) ,(%%FF_REGa, %1, 2),%%mm2,%%mm4,%%mm0,%%mm3,%%mm5,%%mm1,%%mm6,%%mm7)
1311 DERING_CORE((%%FF_REGa, %1, 2),(%0, %1, 4) ,%%mm4,%%mm0,%%mm2,%%mm5,%%mm1,%%mm3,%%mm6,%%mm7)
1312 DERING_CORE((%0, %1, 4) ,(%%FF_REGd) ,%%mm0,%%mm2,%%mm4,%%mm1,%%mm3,%%mm5,%%mm6,%%mm7)
1313 DERING_CORE((%%FF_REGd) ,(%%FF_REGd, %1) ,%%mm2,%%mm4,%%mm0,%%mm3,%%mm5,%%mm1,%%mm6,%%mm7)
1314 DERING_CORE((%%FF_REGd, %1) ,(%%FF_REGd, %1, 2),%%mm4,%%mm0,%%mm2,%%mm5,%%mm1,%%mm3,%%mm6,%%mm7)
1315 DERING_CORE((%%FF_REGd, %1, 2),(%0, %1, 8) ,%%mm0,%%mm2,%%mm4,%%mm1,%%mm3,%%mm5,%%mm6,%%mm7)
1316 DERING_CORE((%0, %1, 8) ,(%%FF_REGd, %1, 4),%%mm2,%%mm4,%%mm0,%%mm3,%%mm5,%%mm1,%%mm6,%%mm7)
1462 "movq (%%"FF_REG_a", %1), %%mm1 \n\t"
1463 PAVGB(%%mm1, %%mm0)
1466 PAVGB(%%mm0, %%mm1)
1467 "movq %%mm1, (%%"FF_REG_a", %1, 2) \n\t"
1468 "movq (%%"FF_REG_c", %1), %%mm1 \n\t"
1469 PAVGB(%%mm1, %%mm0)
1472 PAVGB(%%mm0, %%mm1)
1473 "movq %%mm1, (%%"FF_REG_c", %1, 2) \n\t"
1536 "movq " #b ", %%mm1 \n\t"\
1539 PAVGB(%%mm2, %%mm1) /* (b+d) /2 */\
1544 "movq %%mm1, %%mm3 \n\t"\
1545 "punpcklbw %%mm7, %%mm1 \n\t"\
1547 "psubw %%mm1, %%mm0 \n\t" /* L(a+e - (b+d))/2 */\
1551 "psubw %%mm0, %%mm1 \n\t" /* L(9b + 9d - a - e)/16 */\
1553 "packuswb %%mm3, %%mm1 \n\t"\
1554 "movq %%mm1, " #c " \n\t"
1604 "movq " #a ", %%mm1 \n\t"\
1608 PAVGB(%%mm3, %%mm1) \
1613 "movq %%mm1, %%mm4 \n\t"\
1614 "punpcklbw %%mm7, %%mm1 \n\t"\
1616 "psllw $2, %%mm1 \n\t"\
1618 "psubw %%mm0, %%mm1 \n\t"\
1624 "paddw %%mm2, %%mm1 \n\t"\
1626 "psraw $2, %%mm1 \n\t"\
1628 "packuswb %%mm4, %%mm1 \n\t"\
1629 "movq %%mm1, " #b " \n\t"\
1679 "movq (%3), %%mm1 \n\t"
1718 DEINT_L5(%%mm0, %%mm1, (%0) , (%%FF_REGa) , (%%FF_REGa, %1) )
1719 DEINT_L5(%%mm1, %%mm0, (%%FF_REGa) , (%%FF_REGa, %1) , (%%FF_REGa, %1, 2))
1720 DEINT_L5(%%mm0, %%mm1, (%%FF_REGa, %1) , (%%FF_REGa, %1, 2), (%0, %1, 4) )
1721 DEINT_L5(%%mm1, %%mm0, (%%FF_REGa, %1, 2), (%0, %1, 4) , (%%FF_REGd) )
1722 DEINT_L5(%%mm0, %%mm1, (%0, %1, 4) , (%%FF_REGd) , (%%FF_REGd, %1) )
1723 DEINT_L5(%%mm1, %%mm0, (%%FF_REGd) , (%%FF_REGd, %1) , (%%FF_REGd, %1, 2))
1724 DEINT_L5(%%mm0, %%mm1, (%%FF_REGd, %1) , (%%FF_REGd, %1, 2), (%0, %1, 8) )
1725 DEINT_L5(%%mm1, %%mm0, (%%FF_REGd, %1, 2), (%0, %1, 8) , (%%FF_REGd, %1, 4))
1728 "movq %%mm1, (%3) \n\t"
1782 "movq (%%"FF_REG_a"), %%mm1 \n\t" // L2
1783 PAVGB(%%mm1, %%mm0) // L0+L2
1789 PAVGB(%%mm1, %%mm2) // 2L2 + L1 + L3
1792 PAVGB(%%mm2, %%mm1) // L2+L4
1793 PAVGB(%%mm0, %%mm1) // 2L3 + L2 + L4
1794 "movq %%mm1, (%%"FF_REG_a", %1) \n\t"
1795 "movq (%0, %1, 4), %%mm1 \n\t" // L5
1796 PAVGB(%%mm1, %%mm0) // L3+L5
1801 PAVGB(%%mm1, %%mm2) // 2L5 + L4 + L6
1804 PAVGB(%%mm2, %%mm1) // L5+L7
1805 PAVGB(%%mm0, %%mm1) // 2L6 + L5 + L7
1806 "movq %%mm1, (%%"FF_REG_d") \n\t"
1807 "movq (%%"FF_REG_d", %1, 2), %%mm1 \n\t" // L8
1808 PAVGB(%%mm1, %%mm0) // L6+L8
1813 PAVGB(%%mm1, %%mm2) // 2L8 + L7 + L9
1815 "movq %%mm1, (%2) \n\t"
1885 "movq (%%"FF_REG_a"), %%mm1 \n\t"
1887 "pmaxub %%mm1, %%mm0 \n\t"
1888 "pminub %%mm3, %%mm1 \n\t"
1889 "pmaxub %%mm2, %%mm1 \n\t"
1890 "pminub %%mm1, %%mm0 \n\t"
1894 "movq (%%"FF_REG_a", %1, 2), %%mm1 \n\t"
1896 "pmaxub %%mm1, %%mm2 \n\t"
1897 "pminub %%mm3, %%mm1 \n\t"
1898 "pmaxub %%mm0, %%mm1 \n\t"
1899 "pminub %%mm1, %%mm2 \n\t"
1903 "movq (%%"FF_REG_d", %1), %%mm1 \n\t"
1907 "pmaxub %%mm1, %%mm0 \n\t"
1916 "pmaxub %%mm1, %%mm0 \n\t"
1936 "movq " #c ", %%mm1 \n\t"\
1938 "movq %%mm1, %%mm4 \n\t"\
1940 "psubusb %%mm1, %%mm3 \n\t"\
1950 "por %%mm3, %%mm1 \n\t"\
1954 "pand %%mm1, %%mm0 \n\t"\
2000 "movq (%%"FF_REG_a"), %%mm1 \n\t" // abcdefgh
2002 "punpcklbw %%mm1, %%mm0 \n\t" // 1a2b3c4d
2003 "punpckhbw %%mm1, %%mm2 \n\t" // 5e6f7g8h
2005 "movq (%%"FF_REG_a", %1), %%mm1 \n\t"
2007 "movq %%mm1, %%mm4 \n\t"
2008 "punpcklbw %%mm3, %%mm1 \n\t"
2012 "punpcklwd %%mm1, %%mm0 \n\t"
2013 "punpckhwd %%mm1, %%mm3 \n\t"
2014 "movq %%mm2, %%mm1 \n\t"
2016 "punpckhwd %%mm4, %%mm1 \n\t"
2029 "movd %%mm1, 96(%3) \n\t"
2030 "psrlq $32, %%mm1 \n\t"
2031 "movd %%mm1, 112(%3) \n\t"
2036 "movq (%%"FF_REG_a"), %%mm1 \n\t" // abcdefgh
2038 "punpcklbw %%mm1, %%mm0 \n\t" // 1a2b3c4d
2039 "punpckhbw %%mm1, %%mm2 \n\t" // 5e6f7g8h
2041 "movq (%%"FF_REG_a", %1), %%mm1 \n\t"
2043 "movq %%mm1, %%mm4 \n\t"
2044 "punpcklbw %%mm3, %%mm1 \n\t"
2048 "punpcklwd %%mm1, %%mm0 \n\t"
2049 "punpckhwd %%mm1, %%mm3 \n\t"
2050 "movq %%mm2, %%mm1 \n\t"
2052 "punpckhwd %%mm4, %%mm1 \n\t"
2065 "movd %%mm1, 100(%3) \n\t"
2066 "psrlq $32, %%mm1 \n\t"
2067 "movd %%mm1, 116(%3) \n\t"
2086 "movq 16(%2), %%mm1 \n\t" // abcdefgh
2088 "punpcklbw %%mm1, %%mm0 \n\t" // 1a2b3c4d
2089 "punpckhbw %%mm1, %%mm2 \n\t" // 5e6f7g8h
2091 "movq 32(%2), %%mm1 \n\t"
2093 "movq %%mm1, %%mm4 \n\t"
2094 "punpcklbw %%mm3, %%mm1 \n\t"
2098 "punpcklwd %%mm1, %%mm0 \n\t"
2099 "punpckhwd %%mm1, %%mm3 \n\t"
2100 "movq %%mm2, %%mm1 \n\t"
2102 "punpckhwd %%mm4, %%mm1 \n\t"
2113 "movd %%mm1, (%%"FF_REG_d", %1) \n\t"
2114 "psrlq $32, %%mm1 \n\t"
2115 "movd %%mm1, (%%"FF_REG_d", %1, 2) \n\t"
2119 "movq 80(%2), %%mm1 \n\t" // abcdefgh
2121 "punpcklbw %%mm1, %%mm0 \n\t" // 1a2b3c4d
2122 "punpckhbw %%mm1, %%mm2 \n\t" // 5e6f7g8h
2124 "movq 96(%2), %%mm1 \n\t"
2126 "movq %%mm1, %%mm4 \n\t"
2127 "punpcklbw %%mm3, %%mm1 \n\t"
2131 "punpcklwd %%mm1, %%mm0 \n\t"
2132 "punpckhwd %%mm1, %%mm3 \n\t"
2133 "movq %%mm2, %%mm1 \n\t"
2135 "punpckhwd %%mm4, %%mm1 \n\t"
2146 "movd %%mm1, 4(%%"FF_REG_d", %1) \n\t"
2147 "psrlq $32, %%mm1 \n\t"
2148 "movd %%mm1, 4(%%"FF_REG_d", %1, 2) \n\t"
2179 "movq (%0, %2), %%mm1 \n\t" // L1
2180 "psadbw (%1, %2), %%mm1 \n\t" // |L1-R1|
2187 "paddw %%mm1, %%mm0 \n\t"
2226 "movq %%mm5, %%mm1 \n\t"\
2229 "punpckhbw %%mm7, %%mm1 \n\t"\
2233 "psubw %%mm3, %%mm1 \n\t"\
2235 "pmaddwd %%mm1, %%mm1 \n\t"\
2236 "paddd %%mm1, %%mm5 \n\t"\
2279 "movq (%0, %2), %%mm1 \n\t" // L1
2287 "movq %%mm1, (%1, %2) \n\t" // L1
2301 "movq (%0, %2), %%mm1 \n\t" // L1
2302 PAVGB((%1, %2), %%mm1) // L1
2316 "movq %%mm1, (%1, %2) \n\t" // R1
2324 "movq %%mm1, (%0, %2) \n\t" // L1
2340 "movq (%0, %2), %%mm1 \n\t" // L1
2348 PAVGB(%%mm5, %%mm1)
2352 PAVGB(%%mm5, %%mm1)
2356 "movq %%mm1, (%1, %2) \n\t" // R1
2360 "movq %%mm1, (%0, %2) \n\t" // L1
2365 "movq (%0, %%"FF_REG_d"), %%mm1 \n\t" // L5
2373 PAVGB(%%mm5, %%mm1)
2377 PAVGB(%%mm5, %%mm1)
2381 "movq %%mm1, (%1, %%"FF_REG_d") \n\t" // R5
2385 "movq %%mm1, (%0, %%"FF_REG_d") \n\t" // L5
2394 "movq (%0, %2), %%mm1 \n\t" // L1
2402 PAVGB(%%mm5, %%mm1)
2406 PAVGB(%%mm5, %%mm1)
2410 PAVGB(%%mm5, %%mm1)
2414 "movq %%mm1, (%1, %2) \n\t" // R1
2418 "movq %%mm1, (%0, %2) \n\t" // L1
2423 "movq (%0, %%"FF_REG_d"), %%mm1 \n\t" // L5
2431 PAVGB(%%mm5, %%mm1)
2435 PAVGB(%%mm5, %%mm1)
2439 PAVGB(%%mm5, %%mm1)
2443 "movq %%mm1, (%1, %%"FF_REG_d") \n\t" // R5
2447 "movq %%mm1, (%0, %%"FF_REG_d") \n\t" // L5
2565 "movq (%%"FF_REG_a"), %%mm1 \n\t"
2566 "movq %%mm1, %%mm3 \n\t"
2567 "movq %%mm1, %%mm4 \n\t"
2568 "psubb %%mm1, %%mm0 \n\t" // mm0 = difference
2575 "psubb %%mm2, %%mm1 \n\t"
2576 "paddb %%mm7, %%mm1 \n\t"
2577 "pcmpgtb %%mm6, %%mm1 \n\t"
2578 "paddb %%mm1, %%mm0 \n\t"
2580 "movq (%%"FF_REG_a", %3, 2), %%mm1 \n\t"
2581 PMAXUB(%%mm1, %%mm4)
2582 PMINUB(%%mm1, %%mm3, %%mm5)
2583 "psubb %%mm1, %%mm2 \n\t"
2593 "psubb %%mm2, %%mm1 \n\t"
2594 "paddb %%mm7, %%mm1 \n\t"
2595 "pcmpgtb %%mm6, %%mm1 \n\t"
2596 "paddb %%mm1, %%mm0 \n\t"
2598 "movq (%%"FF_REG_a"), %%mm1 \n\t"
2599 PMAXUB(%%mm1, %%mm4)
2600 PMINUB(%%mm1, %%mm3, %%mm5)
2601 "psubb %%mm1, %%mm2 \n\t"
2609 "psubb %%mm2, %%mm1 \n\t"
2610 "paddb %%mm7, %%mm1 \n\t"
2611 "pcmpgtb %%mm6, %%mm1 \n\t"
2612 "paddb %%mm1, %%mm0 \n\t"
2614 "movq (%%"FF_REG_a", %3, 2), %%mm1 \n\t"
2615 PMAXUB(%%mm1, %%mm4)
2616 PMINUB(%%mm1, %%mm3, %%mm5)
2617 "psubb %%mm1, %%mm2 \n\t"
2625 "psubb %%mm2, %%mm1 \n\t"
2626 "paddb %%mm7, %%mm1 \n\t"
2627 "pcmpgtb %%mm6, %%mm1 \n\t"
2628 "paddb %%mm1, %%mm0 \n\t"
2630 "movq (%%"FF_REG_a", %3, 4), %%mm1 \n\t"
2631 "psubb %%mm1, %%mm2 \n\t"
2670 "movq %%mm5, %%mm1 \n\t"
2673 "psubusb %%mm1, %%mm2 \n\t"
2678 "pxor %%mm6, %%mm1 \n\t"
2679 "pand %%mm0, %%mm1 \n\t"
2680 "pxor %%mm1, %%mm6 \n\t"
2686 "movq %%mm5, %%mm1 \n\t"
2689 "psubusb %%mm1, %%mm2 \n\t"
2695 "pxor %%mm7, %%mm1 \n\t"
2696 "pand %%mm0, %%mm1 \n\t"
2697 "pxor %%mm1, %%mm7 \n\t"
2705 "movq %%mm6, %%mm1 \n\t"
2707 "psllw $2, %%mm1 \n\t"
2709 "paddw "MANGLE(w04)", %%mm1 \n\t"
2718 "paddw %%mm3, %%mm1 \n\t"
2727 "psubw %%mm3, %%mm1 \n\t"
2734 "movq %%mm1, 8(%3) \n\t"
2738 "psubw %%mm6, %%mm1 \n\t"
2740 "movq %%mm1, 24(%3) \n\t"
2744 "psubw %%mm6, %%mm1 \n\t"
2746 "movq %%mm1, 40(%3) \n\t"
2750 "psubw %%mm6, %%mm1 \n\t"
2752 "movq %%mm1, 56(%3) \n\t"
2756 "psubw %%mm6, %%mm1 \n\t"
2758 "movq %%mm1, 72(%3) \n\t"
2769 "movq %%mm1, 88(%3) \n\t"
2773 "paddw %%mm7, %%mm1 \n\t"
2775 "movq %%mm1, 104(%3) \n\t"
2779 "paddw %%mm7, %%mm1 \n\t"
2781 "movq %%mm1, 120(%3) \n\t"
2785 "paddw %%mm7, %%mm1 \n\t"
2787 "movq %%mm1, 136(%3) \n\t"
2791 "paddw %%mm7, %%mm1 \n\t"
2793 "movq %%mm1, 152(%3) \n\t"
2812 "movq 8(%1), %%mm1 \n\t"
2814 "paddw 40(%1), %%mm1 \n\t"
2821 "paddw %%mm3, %%mm1 \n\t"
2823 "paddw %%mm3, %%mm1 \n\t"
2825 "psrlw $4, %%mm1 \n\t"
2826 "packuswb %%mm1, %%mm0 \n\t"
2850 "movq %%mm0, %%mm1 \n\t"
2852 "punpckhbw %%mm7, %%mm1 \n\t" // high part of line 0
2866 "paddw %%mm1, %%mm1 \n\t" // 2H0
2870 "psubw %%mm3, %%mm1 \n\t" // 2H0 - H1 + H2
2875 "psubw %%mm3, %%mm1 \n\t" // 2H0 - 5H1 + 5H2
2883 "psubw %%mm3, %%mm1 \n\t" // 2H0 - 5H1 + 5H2 - H3
2885 "psubw %%mm3, %%mm1 \n\t" // 2H0 - 5H1 + 5H2 - 2H3
2887 "movq %%mm1, 8(%4) \n\t" // 2H0 - 5H1 + 5H2 - 2H3
2890 "movq %%mm0, %%mm1 \n\t"
2892 "punpckhbw %%mm7, %%mm1 \n\t" // H4
2895 "psubw %%mm1, %%mm3 \n\t" // H3 - H4
2926 "paddw %%mm1, %%mm1 \n\t" // 2H4
2928 "psubw %%mm3, %%mm1 \n\t" // 2H4 - H5 + H6
2933 "psubw %%mm3, %%mm1 \n\t" // 2H4 - 5H5 + 5H6
2943 "psubw %%mm3, %%mm1 \n\t" // 2H4 - 5H5 + 5H6 - 2H7
2953 "psubw %%mm1, %%mm6 \n\t"
2954 "pmaxsw %%mm6, %%mm1 \n\t" // |2H4 - 5H5 + 5H6 - 2H7|
2967 "pcmpgtw %%mm1, %%mm6 \n\t"
2968 "pxor %%mm6, %%mm1 \n\t"
2969 "psubw %%mm6, %%mm1 \n\t" // |2H4 - 5H5 + 5H6 - 2H7|
2982 "pminsw %%mm3, %%mm1 \n\t"
2987 "movq %%mm1, %%mm6 \n\t"
2989 "psubw %%mm6, %%mm1 \n\t"
3012 "psubusw %%mm1, %%mm5 \n\t" // ld
3025 "movq 24(%4), %%mm1 \n\t" // H3 - H4
3031 "pcmpgtw %%mm1, %%mm3 \n\t" // sign (H3-H4)
3033 "pxor %%mm3, %%mm1 \n\t"
3035 "psubw %%mm3, %%mm1 \n\t" // |H3-H4|
3037 "psrlw $1, %%mm1 \n\t" // |H3 - H4|/2
3046 "pminsw %%mm1, %%mm5 \n\t"
3052 "psubusw %%mm1, %%mm2 \n\t"
3060 "movq %3, %%mm1 \n\t"
3061 "pandn %%mm4, %%mm1 \n\t"
3063 "paddb %%mm1, %%mm0 \n\t"
3066 "psubb %%mm1, %%mm0 \n\t"
3106 "movq " #src2 ", %%mm1 \n\t"\
3110 "punpcklbw %%mm1, %%mm1 \n\t"\
3114 "pmulhuw %%mm3, %%mm1 \n\t"\
3118 "psubw %%mm2, %%mm1 \n\t"\
3121 "packuswb %%mm6, %%mm1 \n\t"\
3123 "movq %%mm1, " #dst2 " \n\t"\
3133 "movq " #src2 ", %%mm1 \n\t"\
3139 "punpcklbw %%mm4, %%mm1 \n\t"\
3141 "psubw %%mm2, %%mm1 \n\t"\
3143 "psllw $6, %%mm1 \n\t"\
3145 "pmulhw %%mm3, %%mm1 \n\t"\
3148 "packuswb %%mm6, %%mm1 \n\t"\
3150 "movq %%mm1, " #dst2 " \n\t"\
3185 "movq " #src2 ", %%mm1 \n\t"\
3187 "movq %%mm1, " #dst2 " \n\t"\