41 int *bounding_values);
43 int *bounding_values);
47 #define MOVQ_BFE(regd) \
49 "pcmpeqd %%"#regd", %%"#regd" \n\t" \
50 "paddb %%"#regd", %%"#regd" \n\t" ::)
52 #define PAVGBP_MMX_NO_RND(rega, regb, regr, regc, regd, regp) \
53 "movq "#rega", "#regr" \n\t" \
54 "movq "#regc", "#regp" \n\t" \
55 "pand "#regb", "#regr" \n\t" \
56 "pand "#regd", "#regp" \n\t" \
57 "pxor "#rega", "#regb" \n\t" \
58 "pxor "#regc", "#regd" \n\t" \
59 "pand %%mm6, "#regb" \n\t" \
60 "pand %%mm6, "#regd" \n\t" \
61 "psrlq $1, "#regb" \n\t" \
62 "psrlq $1, "#regd" \n\t" \
63 "paddb "#regb", "#regr" \n\t" \
64 "paddb "#regd", "#regp" \n\t"
73 "movq (%1), %%mm0 \n\t"
74 "movq (%2), %%mm1 \n\t"
75 "movq (%1,%4), %%mm2 \n\t"
76 "movq (%2,%4), %%mm3 \n\t"
78 "movq %%mm4, (%3) \n\t"
79 "movq %%mm5, (%3,%4) \n\t"
81 "movq (%1,%4,2), %%mm0 \n\t"
82 "movq (%2,%4,2), %%mm1 \n\t"
83 "movq (%1,%5), %%mm2 \n\t"
84 "movq (%2,%5), %%mm3 \n\t"
85 "lea (%1,%4,4), %1 \n\t"
86 "lea (%2,%4,4), %2 \n\t"
88 "movq %%mm4, (%3,%4,2) \n\t"
89 "movq %%mm5, (%3,%5) \n\t"
90 "lea (%3,%4,4), %3 \n\t"
93 :
"+r"(h),
"+r"(a),
"+r"(
b),
"+r"(dst)
105 #if HAVE_6REGS && HAVE_MMX_INLINE