Lines Matching refs:mm4
128 "movq %%mm0, %%mm4 \n\t"
129 PMAXUB(%%mm1, %%mm4)
136 PMAXUB(%%mm2, %%mm4)
144 PMAXUB(%%mm1, %%mm4)
154 PMAXUB(%%mm2, %%mm4)
162 PMAXUB(%%mm1, %%mm4)
170 PMAXUB(%%mm2, %%mm4)
178 PMAXUB(%%mm1, %%mm4)
184 "psubusb %%mm3, %%mm4 \n\t"
203 "psubusb %%mm7, %%mm4 \n\t" // Diff <= 2QP -> 0
204 "packssdw %%mm4, %%mm4 \n\t"
206 "movd %%mm4, %1 \n\t"
234 "pxor %%mm4, %%mm4 \n\t"
244 "pcmpeqb %%mm4, %%mm2 \n\t" // diff <= QP -> FF
262 "pcmpeqb %%mm4, %%mm2 \n\t" // diff <= QP -> FF
285 "movq (%0), %%mm4 \n\t" // 1
286 PAVGB(%%mm4, %%mm3) // 4 211 /8
289 // mm1=2 mm2=3(211) mm4=1 mm5=5 mm6=0 mm7=9
292 "movq %%mm4, %%mm3 \n\t" // 1
299 // mm1=2 mm2=3(211) mm4=1 mm5=4(211) mm6=0 mm7=9
300 PAVGB(%%mm4, %%mm6) //11 /2
309 // mm1=2 mm2=3 mm3=6(11) mm4=1 mm5=4(211) mm6=0(11) mm7=9
313 PAVGB(%%mm1, %%mm4) // 11 /2
319 // mm0=7(11) mm1=2(11) mm2=3 mm3=6(11) mm4=1(11) mm5=4 mm7=9
322 PAVGB(%%mm4, %%mm6) // 11 11 /4
325 "movq (%0, %1, 4), %%mm4 \n\t" // 1
326 PAVGB(%%mm4, %%mm2) // 112 /4
329 // mm0=7(11) mm1=2(11) mm2=3(112) mm3=6(11) mm4=5 mm5=4 mm7=9
331 PAVGB(%%mm4, %%mm5) // 11 /2
337 // mm2=3(112) mm3=6(11) mm4=5 mm5=4(11) mm6=6 mm7=9
344 // mm0=8 mm3=6(11) mm4=5 mm5=4(11) mm7=9
425 "movq (%%"REG_c", %1), %%mm4 \n\t" // line 6
427 "psubusb %%mm4, %%mm3 \n\t"
428 "psubusb %%mm5, %%mm4 \n\t"
429 "por %%mm4, %%mm3 \n\t" // |l5 - l6|
433 "movq %%mm2, %%mm4 \n\t"
436 "por %%mm5, %%mm4 \n\t" // |l4 - l5|
437 "psubusb %%mm0, %%mm4 \n\t" //d = MAX(0, |l4-l5| - (|l2-l3| + |l5-l6|)/2)
438 "movq %%mm4, %%mm3 \n\t" // d
441 "psubusb %%mm0, %%mm4 \n\t"
442 "pcmpeqb %%mm7, %%mm4 \n\t" // d <= QP ? -1 : 0
444 "pand %%mm4, %%mm3 \n\t" // d <= QP ? d : 0
572 "movq %%mm1, %%mm4 \n\t" // l1
575 PAVGB(%%mm4, %%mm1) // ~(5l1 + 2l3)/8
577 "movq %%mm0, %%mm4 \n\t" // ~(5l2 + 2l0)/8
579 "psubusb %%mm4, %%mm1 \n\t"
584 "movq %%mm0, %%mm4 \n\t" // l4
587 PAVGB(%%mm4, %%mm0) // ~(5l4 + 2l2)/8
600 // mm0= SIGN(menergy), mm1= |lenergy|, mm2= l5, mm3= |menergy|, mm4=l4, mm5= l3, mm7=0
605 PAVGB(%%mm4, %%mm6) // ~(l6 + 2l4)/4
609 "movq %%mm2, %%mm4 \n\t" // l5
612 PAVGB(%%mm4, %%mm2) // ~(5l5 + 2l7)/8
614 "movq %%mm6, %%mm4 \n\t" // ~(5l6 + 2l4)/8
616 "psubusb %%mm4, %%mm2 \n\t"
621 PMINUB(%%mm2, %%mm1, %%mm4) // MIN(|lenergy|,|renergy|)/8
622 "movq %2, %%mm4 \n\t" // QP //FIXME QP+1 ?
623 "paddusb "MANGLE(b01)", %%mm4 \n\t"
624 "pcmpgtb %%mm3, %%mm4 \n\t" // |menergy|/8 < QP
626 "pand %%mm4, %%mm3 \n\t"
637 "movq (%0, %1, 4), %%mm4 \n\t" //l4
639 "psubusb %%mm4, %%mm6 \n\t"
678 "movq "MANGLE(b80)", %%mm4 \n\t" // 128
681 PAVGB(%%mm0, %%mm4) // ~(l4-l3)/4 + 128
682 PAVGB(%%mm2, %%mm4) // ~(l2-l5)/4 +(l4-l3)/8 + 128
683 PAVGB(%%mm0, %%mm4) // ~(l2-l5)/8 +5(l4-l3)/16 + 128
684 // mm1=-l3-1, mm0=128-q, mm3=l2, mm4=menergy/16 + 128, mm5= -l5-1
694 // mm0=128-q, mm3=lenergy/16 + 128, mm4= menergy/16 + 128, mm5= -l5-1
704 // mm0=128-q, mm2=renergy/16 + 128, mm3=lenergy/16 + 128, mm4= menergy/16 + 128
714 // mm0=128-q, mm3=128 + MIN(|lenergy|,|renergy|)/16, mm4= menergy/16 + 128
721 "movq %%mm4, %%mm1 \n\t"
723 "pxor %%mm1, %%mm4 \n\t"
724 "psubb %%mm1, %%mm4 \n\t" // 128 + |menergy|/16
725 "pcmpgtb %%mm4, %%mm2 \n\t" // |menergy|/16 < QP/2
726 "psubusb %%mm3, %%mm4 \n\t" //d=|menergy|/16 - MIN(|lenergy|,|renergy|)/16
727 // mm0=128-q, mm1= SIGN(menergy), mm2= |menergy|/16 < QP/2, mm4= d/16
729 "movq %%mm4, %%mm3 \n\t" // d
730 "psubusb "MANGLE(b01)", %%mm4 \n\t"
731 PAVGB(%%mm7, %%mm4) // d/32
732 PAVGB(%%mm7, %%mm4) // (d + 32)/64
733 "paddb %%mm3, %%mm4 \n\t" // 5d/64
734 "pand %%mm2, %%mm4 \n\t"
742 PMINUB(%%mm5, %%mm4, %%mm3) // MIN(|q|, 5d/64)
745 "pand %%mm7, %%mm4 \n\t"
750 "paddb %%mm4, %%mm0 \n\t"
751 "psubb %%mm4, %%mm2 \n\t"
838 "movq (%%"REG_a"), %%mm4 \n\t"
839 "movq %%mm4, %%mm5 \n\t"
840 "punpcklbw %%mm7, %%mm4 \n\t" // low part of line 2
845 "psubw %%mm4, %%mm2 \n\t" // L1 - L2
876 "paddw %%mm4, %%mm4 \n\t" // 2L2
878 "psubw %%mm2, %%mm4 \n\t" // 2L2 - L3 + L4
884 "psubw %%mm2, %%mm4 \n\t" // 2L2 - 5L3 + 5L4
891 "psubw %%mm2, %%mm4 \n\t" // 2L2 - 5L3 + 5L4 - L5
893 "psubw %%mm2, %%mm4 \n\t" // 2L2 - 5L3 + 5L4 - 2L5
974 "pcmpgtw %%mm4, %%mm6 \n\t" // sign(2L2 - 5L3 + 5L4 - 2L5)
975 "pxor %%mm6, %%mm4 \n\t"
976 "psubw %%mm6, %%mm4 \n\t" // |2L2 - 5L3 + 5L4 - 2L5|
983 "pcmpgtw %%mm4, %%mm2 \n\t"
985 "pand %%mm2, %%mm4 \n\t"
989 "psubusw %%mm0, %%mm4 \n\t" // hd
994 "pmullw %%mm2, %%mm4 \n\t"
997 "paddw %%mm2, %%mm4 \n\t"
999 "psrlw $6, %%mm4 \n\t"
1019 "pand %%mm2, %%mm4 \n\t"
1023 "pminsw %%mm0, %%mm4 \n\t"
1026 "movq %%mm4, %%mm2 \n\t"
1028 "psubw %%mm2, %%mm4 \n\t"
1033 "pxor %%mm6, %%mm4 \n\t"
1035 "psubw %%mm6, %%mm4 \n\t"
1037 "packsswb %%mm5, %%mm4 \n\t"
1039 "paddb %%mm4, %%mm0 \n\t"
1042 "psubb %%mm4, %%mm0 \n\t"
1140 "movq %%mm7, %%mm4 \n\t"
1143 "pminub %%mm4, %%mm7 \n\t" // min of pixels
1144 "pshufw $0xF9, %%mm7, %%mm4 \n\t"
1145 "pminub %%mm4, %%mm7 \n\t" // min of pixels
1146 "pshufw $0xFE, %%mm7, %%mm4 \n\t"
1147 "pminub %%mm4, %%mm7 \n\t"
1150 "psubusb %%mm4, %%mm1 \n\t"
1152 "movq %%mm7, %%mm4 \n\t"
1155 "psubusb %%mm4, %%mm1 \n\t"
1157 "movq %%mm7, %%mm4 \n\t"
1160 "psubusb %%mm4, %%mm1 \n\t"
1165 "movq %%mm6, %%mm4 \n\t"
1168 "pmaxub %%mm4, %%mm6 \n\t" // max of pixels
1169 "pshufw $0xF9, %%mm6, %%mm4 \n\t"
1170 "pmaxub %%mm4, %%mm6 \n\t"
1171 "pshufw $0xFE, %%mm6, %%mm4 \n\t"
1172 "pmaxub %%mm4, %%mm6 \n\t"
1174 "psubusb %%mm4, %%mm6 \n\t"
1175 "paddb %%mm4, %%mm6 \n\t"
1176 "movq %%mm6, %%mm4 \n\t"
1178 "psubusb %%mm4, %%mm6 \n\t"
1179 "paddb %%mm4, %%mm6 \n\t"
1180 "movq %%mm6, %%mm4 \n\t"
1182 "psubusb %%mm4, %%mm6 \n\t"
1183 "paddb %%mm4, %%mm6 \n\t"
1204 "movd 8(%0), %%mm4 \n\t"
1206 "psllq $56, %%mm4 \n\t"
1208 "por %%mm4, %%mm2 \n\t" // L20
1223 "movq %%mm2, %%mm4 \n\t" // L11
1225 "psrlq $8, %%mm4 \n\t"
1231 "por %%mm6, %%mm4 \n\t" // L21
1233 PAVGB(%%mm4, %%mm3) // (L21 + L01)/2
1236 "psubusb %%mm7, %%mm4 \n\t"
1239 "pcmpeqb "MANGLE(b00)", %%mm4 \n\t" // L21 > a ? 0 : -1
1241 "paddb %%mm4, %%mm2 \n\t"
1308 DERING_CORE((%%REGa) ,(%%REGa, %1) ,%%mm0,%%mm2,%%mm4,%%mm1,%%mm3,%%mm5,%%mm6,%%mm7)
1309 DERING_CORE((%%REGa, %1) ,(%%REGa, %1, 2),%%mm2,%%mm4,%%mm0,%%mm3,%%mm5,%%mm1,%%mm6,%%mm7)
1310 DERING_CORE((%%REGa, %1, 2),(%0, %1, 4) ,%%mm4,%%mm0,%%mm2,%%mm5,%%mm1,%%mm3,%%mm6,%%mm7)
1311 DERING_CORE((%0, %1, 4) ,(%%REGd) ,%%mm0,%%mm2,%%mm4,%%mm1,%%mm3,%%mm5,%%mm6,%%mm7)
1312 DERING_CORE((%%REGd) ,(%%REGd, %1) ,%%mm2,%%mm4,%%mm0,%%mm3,%%mm5,%%mm1,%%mm6,%%mm7)
1313 DERING_CORE((%%REGd, %1) ,(%%REGd, %1, 2),%%mm4,%%mm0,%%mm2,%%mm5,%%mm1,%%mm3,%%mm6,%%mm7)
1314 DERING_CORE((%%REGd, %1, 2),(%0, %1, 8) ,%%mm0,%%mm2,%%mm4,%%mm1,%%mm3,%%mm5,%%mm6,%%mm7)
1315 DERING_CORE((%0, %1, 8) ,(%%REGd, %1, 4),%%mm2,%%mm4,%%mm0,%%mm3,%%mm5,%%mm1,%%mm6,%%mm7)
1606 "movq " #d ", %%mm4 \n\t"\
1608 PAVGB(%%mm4, %%mm0) \
1612 "movq %%mm1, %%mm4 \n\t"\
1614 "punpckhbw %%mm7, %%mm4 \n\t"\
1616 "psllw $2, %%mm4 \n\t"\
1618 "psubw %%mm3, %%mm4 \n\t"\
1624 "paddw %%mm5, %%mm4 \n\t"\
1626 "psraw $2, %%mm4 \n\t"\
1627 "packuswb %%mm4, %%mm1 \n\t"\
1685 "movq " #c ", %%mm4 \n\t"\
1687 PAVGB(t1, %%mm4) \
1705 "movq %%mm4, %%mm6 \n\t"\
1706 "punpcklbw %%mm7, %%mm4 \n\t"\
1708 "psubw %%mm4, %%mm2 \n\t"\
1937 "movq %%mm1, %%mm4 \n\t"\
1940 "psubusb %%mm2, %%mm4 \n\t"\
1943 "pcmpeqb %%mm7, %%mm4 \n\t"\
1946 "pxor %%mm4, %%mm3 \n\t"\
1947 "pxor %%mm5, %%mm4 \n\t"\
1950 "por %%mm4, %%mm2 \n\t"\
2006 "movq %%mm1, %%mm4 \n\t"
2008 "punpckhbw %%mm3, %%mm4 \n\t"
2014 "punpcklwd %%mm4, %%mm2 \n\t"
2015 "punpckhwd %%mm4, %%mm1 \n\t"
2042 "movq %%mm1, %%mm4 \n\t"
2044 "punpckhbw %%mm3, %%mm4 \n\t"
2050 "punpcklwd %%mm4, %%mm2 \n\t"
2051 "punpckhwd %%mm4, %%mm1 \n\t"
2092 "movq %%mm1, %%mm4 \n\t"
2094 "punpckhbw %%mm3, %%mm4 \n\t"
2100 "punpcklwd %%mm4, %%mm2 \n\t"
2101 "punpckhwd %%mm4, %%mm1 \n\t"
2125 "movq %%mm1, %%mm4 \n\t"
2127 "punpckhbw %%mm3, %%mm4 \n\t"
2133 "punpcklwd %%mm4, %%mm2 \n\t"
2134 "punpckhwd %%mm4, %%mm1 \n\t"
2185 "movq (%0, %2, 4), %%mm4 \n\t" // L4
2187 "psadbw (%1, %2, 4), %%mm4 \n\t" // |L4-R4|
2195 "paddw %%mm4, %%mm0 \n\t"
2253 "movq %%mm0, %%mm4 \n\t"
2255 "paddd %%mm0, %%mm4 \n\t"
2256 "movd %%mm4, %%ecx \n\t"
2281 "movq (%0, %2, 4), %%mm4 \n\t" // L4
2289 "movq %%mm4, (%1, %2, 4) \n\t" // L4
2306 "movq (%0, %2, 4), %%mm4 \n\t" // L4
2307 PAVGB((%1, %2, 4), %%mm4) // L4
2318 "movq %%mm4, (%1, %2, 4) \n\t" // R4
2326 "movq %%mm4, (%0, %2, 4) \n\t" // L4
2342 "movq (%1), %%mm4 \n\t" // R0
2346 PAVGB(%%mm4, %%mm0)
2350 PAVGB(%%mm4, %%mm0)
2367 "movq (%1, %2, 4), %%mm4 \n\t" // R4
2371 PAVGB(%%mm4, %%mm0)
2375 PAVGB(%%mm4, %%mm0)
2396 "movq (%1), %%mm4 \n\t" // R0
2400 PAVGB(%%mm4, %%mm0)
2404 PAVGB(%%mm4, %%mm0)
2408 PAVGB(%%mm4, %%mm0)
2425 "movq (%1, %2, 4), %%mm4 \n\t" // R4
2429 PAVGB(%%mm4, %%mm0)
2433 PAVGB(%%mm4, %%mm0)
2437 PAVGB(%%mm4, %%mm0)
2566 "movq %%mm1, %%mm4 \n\t"
2572 PMAXUB(%%mm2, %%mm4)
2580 PMAXUB(%%mm1, %%mm4)
2590 PMAXUB(%%mm2, %%mm4)
2598 PMAXUB(%%mm1, %%mm4)
2606 PMAXUB(%%mm2, %%mm4)
2614 PMAXUB(%%mm1, %%mm4)
2622 PMAXUB(%%mm2, %%mm4)
2634 "psubusb %%mm3, %%mm4 \n\t"
2639 "psubusb %%mm4, %%mm7 \n\t" // Diff >=2QP -> 0
2665 "pxor %%mm4, %%mm4 \n\t"
2675 "pcmpeqb %%mm4, %%mm0 \n\t" // diff >= QP -> FF
2692 "pcmpeqb %%mm4, %%mm0 \n\t" // diff >= QP -> FF
2699 "punpckhbw %%mm4, %%mm6 \n\t"
2700 "punpcklbw %%mm4, %%mm5 \n\t"
2714 "punpcklbw %%mm4, %%mm2 \n\t"\
2715 "punpckhbw %%mm4, %%mm3 \n\t"\
2723 "punpcklbw %%mm4, %%mm2 \n\t"\
2724 "punpckhbw %%mm4, %%mm3 \n\t"\
2760 "punpckhbw %%mm4, %%mm7 \n\t"
2761 "punpcklbw %%mm4, %%mm6 \n\t"
2816 "movq %%mm2, %%mm4 \n\t"
2827 "pand %%mm5, %%mm4 \n\t"
2828 "por %%mm4, %%mm0 \n\t"
2859 "movq (%%"REG_a"), %%mm4 \n\t"
2860 "movq %%mm4, %%mm5 \n\t"
2861 "punpcklbw %%mm7, %%mm4 \n\t" // low part of line 2
2866 "psubw %%mm4, %%mm2 \n\t" // L1 - L2
2897 "paddw %%mm4, %%mm4 \n\t" // 2L2
2899 "psubw %%mm2, %%mm4 \n\t" // 2L2 - L3 + L4
2905 "psubw %%mm2, %%mm4 \n\t" // 2L2 - 5L3 + 5L4
2912 "psubw %%mm2, %%mm4 \n\t" // 2L2 - 5L3 + 5L4 - L5
2914 "psubw %%mm2, %%mm4 \n\t" // 2L2 - 5L3 + 5L4 - 2L5
2995 "pcmpgtw %%mm4, %%mm6 \n\t" // sign(2L2 - 5L3 + 5L4 - 2L5)
2996 "pxor %%mm6, %%mm4 \n\t"
2997 "psubw %%mm6, %%mm4 \n\t" // |2L2 - 5L3 + 5L4 - 2L5|
3004 "pcmpgtw %%mm4, %%mm2 \n\t"
3006 "pand %%mm2, %%mm4 \n\t"
3010 "psubusw %%mm0, %%mm4 \n\t" // hd
3015 "pmullw %%mm2, %%mm4 \n\t"
3018 "paddw %%mm2, %%mm4 \n\t"
3020 "psrlw $6, %%mm4 \n\t"
3040 "pand %%mm2, %%mm4 \n\t"
3044 "pminsw %%mm0, %%mm4 \n\t"
3047 "movq %%mm4, %%mm2 \n\t"
3049 "psubw %%mm2, %%mm4 \n\t"
3054 "pxor %%mm6, %%mm4 \n\t"
3056 "psubw %%mm6, %%mm4 \n\t"
3058 "packsswb %%mm5, %%mm4 \n\t"
3060 "pandn %%mm4, %%mm1 \n\t"
3106 "pxor %%mm4, %%mm4 \n\t"
3134 "punpcklbw %%mm4, %%mm0 \n\t"\
3135 "punpckhbw %%mm4, %%mm5 \n\t"\
3144 "punpcklbw %%mm4, %%mm1 \n\t"\
3145 "punpckhbw %%mm4, %%mm6 \n\t"\