int pix_abs16x16_xy2_mmx(UINT8 *blk1, UINT8 *blk2, int lx, int h) { const UINT8 *p1, *p2, *p3;  p1 = blk1; p2 = blk2; p3 = blk2 + lx; pxor_r2r(mm7, mm7);  pxor_r2r(mm6, mm6);  movq_m2r(mm_wtwo, mm5);  do { sad_add_xy2(p1, p2, p2 + lx); sad_add_xy2(p1 + 8, p2 + 8, p2 + 8 + lx); p1 += lx; p2 += lx; } while (--h); return sad_end(); }
PIX_SAD(mmx)
int pix_abs16x16_xy2_mmx(UINT8 *blk1, UINT8 *blk2, int lx, int h){    const UINT8 *p1, *p2, *p3;    p1 = blk1;    p2 = blk2;    p3 = blk2 + lx;    pxor_r2r(mm7, mm7); /* mm7 is accumulator */    pxor_r2r(mm6, mm6); /* mm7 is zero constant */    movq_m2r(mm_wtwo, mm5); /* one constant */    do {        sad_add_xy2(p1, p2, p2 + lx);        sad_add_xy2(p1 + 8, p2 + 8, p2 + 8 + lx);        p1 += lx;        p2 += lx;    } while (--h);    return sad_end();}