static inline void mmxext_row_head (int16_t * row, int offset, int16_t * table)
static inline void mmxext_row_head (int16_t * row, int offset, const int16_t * table)
static inline void mmxext_row_head (int16_t * row, int offset, int16_t * table){    movq_m2r (*(row+offset), mm2);	// mm2 = x6 x4 x2 x0    movq_m2r (*(row+offset+4), mm5);	// mm5 = x7 x5 x3 x1    movq_r2r (mm2, mm0);		// mm0 = x6 x4 x2 x0    movq_m2r (*table, mm3);		// mm3 = -C2 -C4 C2 C4    movq_r2r (mm5, mm6);		// mm6 = x7 x5 x3 x1    movq_m2r (*(table+4), mm4);		// mm4 = C6 C4 C6 C4    pmaddwd_r2r (mm0, mm3);		// mm3 = -C4*x4-C2*x6 C4*x0+C2*x2    pshufw_r2r (mm2, mm2, 0x4e);	// mm2 = x2 x0 x6 x4}