1 /* { dg-do compile } */ 2 3 typedef short DCTELEM; 4 typedef unsigned char uint8_t; 5 diff_pixels_c(DCTELEM * __restrict__ block,const uint8_t * s1,const uint8_t * s2,int stride)6void diff_pixels_c(DCTELEM *__restrict__ block, const uint8_t *s1, 7 const uint8_t *s2, int stride) 8 { 9 int i; 10 11 for(i=0;i<8;i++) 12 { 13 block[0] = s1[0] - s2[0]; 14 block[1] = s1[1] - s2[1]; 15 block[2] = s1[2] - s2[2]; 16 block[3] = s1[3] - s2[3]; 17 block[4] = s1[4] - s2[4]; 18 block[5] = s1[5] - s2[5]; 19 block[6] = s1[6] - s2[6]; 20 block[7] = s1[7] - s2[7]; 21 s1 += stride; 22 s2 += stride; 23 block += 8; 24 } 25 } 26 27 /* { dg-final { scan-tree-dump "vectorized 1 loops" "vect" { target { vect_int && { vect_unpack && vect_hw_misalign } } } } } */ 28