const vector unsigned int zero = (const vector unsigned int)vec_splat_u32(0);
const_vector unsigned int zero = (const_vector unsigned int)vec_splat_u32(0);
int pix_sum_altivec(uint8_t * pix, int line_size){    const vector unsigned int zero = (const vector unsigned int)vec_splat_u32(0);    vector unsigned char perm, *pixv;    vector unsigned char t1;    vector unsigned int sad;    vector signed int sumdiffs;    int i;    int s __attribute__((aligned(16)));        sad = (vector unsigned int)vec_splat_u32(0);        for (i = 0; i < 16; i++) {	/* Read the potentially unaligned 16 pixels into t1 */        perm = vec_lvsl(0, pix);        pixv = (vector unsigned char *) pix;        t1 = vec_perm(pixv[0], pixv[1], perm);	/* Add each 4 pixel group together and put 4 results into sad */        sad = vec_sum4s(t1, sad);                pix += line_size;    }        /* Sum up the four partial sums, and put the result into s */    sumdiffs = vec_sums((vector signed int) sad, (vector signed int) zero);    sumdiffs = vec_splat(sumdiffs, 3);    vec_ste(sumdiffs, 0, &s);        return s;}