static inline void mmxext_row (int16_t * table, int32_t * rounder)
static inline void mmxext_row (const int16_t * table, const int32_t * rounder)
static inline void mmxext_row (int16_t * table, int32_t * rounder){    movq_m2r (*(table+8), mm1);		// mm1 = -C5 -C1 C3 C1    pmaddwd_r2r (mm2, mm4);		// mm4 = C4*x0+C6*x2 C4*x4+C6*x6    pmaddwd_m2r (*(table+16), mm0);	// mm0 = C4*x4-C6*x6 C4*x0-C6*x2    pshufw_r2r (mm6, mm6, 0x4e);	// mm6 = x3 x1 x7 x5    movq_m2r (*(table+12), mm7);	// mm7 = -C7 C3 C7 C5    pmaddwd_r2r (mm5, mm1);		// mm1 = -C1*x5-C5*x7 C1*x1+C3*x3    paddd_m2r (*rounder, mm3);		// mm3 += rounder    pmaddwd_r2r (mm6, mm7);		// mm7 = C3*x1-C7*x3 C5*x5+C7*x7    pmaddwd_m2r (*(table+20), mm2);	// mm2 = C4*x0-C2*x2 -C4*x4+C2*x6    paddd_r2r (mm4, mm3);		// mm3 = a1 a0 + rounder    pmaddwd_m2r (*(table+24), mm5);	// mm5 = C3*x5-C1*x7 C5*x1-C1*x3    movq_r2r (mm3, mm4);		// mm4 = a1 a0 + rounder    pmaddwd_m2r (*(table+28), mm6);	// mm6 = C7*x1-C5*x3 C7*x5+C3*x7    paddd_r2r (mm7, mm1);		// mm1 = b1 b0    paddd_m2r (*rounder, mm0);		// mm0 += rounder    psubd_r2r (mm1, mm3);		// mm3 = a1-b1 a0-b0 + rounder    psrad_i2r (ROW_SHIFT, mm3);		// mm3 = y6 y7    paddd_r2r (mm4, mm1);		// mm1 = a1+b1 a0+b0 + rounder    paddd_r2r (mm2, mm0);		// mm0 = a3 a2 + rounder    psrad_i2r (ROW_SHIFT, mm1);		// mm1 = y1 y0    paddd_r2r (mm6, mm5);		// mm5 = b3 b2    movq_r2r (mm0, mm4);		// mm4 = a3 a2 + rounder    paddd_r2r (mm5, mm0);		// mm0 = a3+b3 a2+b2 + rounder    psubd_r2r (mm5, mm4);		// mm4 = a3-b3 a2-b2 + rounder}