1  /* { dg-do compile } */
       2  
       3  #define TYPE int
       4  
       5  TYPE fun1(TYPE *x, TYPE *y, unsigned int n)
       6  {
       7    int i, j;
       8    TYPE dot = 0;
       9  
      10    for (i = 0; i < n; i++)
      11      dot += *(x++) * *(y++);
      12  
      13    return dot;
      14  }
      15  
      16  TYPE fun2(TYPE *x, TYPE *y, unsigned int n)
      17  {
      18    int i, j;
      19    TYPE dot = 0;
      20  
      21    for (i = 0; i < n / 8; i++)
      22      for (j = 0; j < 8; j++)
      23        dot += *(x++) * *(y++);
      24  
      25    return dot;
      26  }
      27  
      28  /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { target { vect_int_mult && {! vect_no_align } } } } } */
      29