1  /* { dg-require-effective-target vect_int } */
       2  
       3  #include <stdarg.h>
       4  #include "tree-vect.h"
       5  
       6  #define N 128
       7  
       8  struct {
       9    char ca[N];
      10  } s;
      11  char cb[N];
      12  
      13  __attribute__ ((noinline))
      14  int main1 ()
      15  {
      16    int i;
      17  
      18    for (i = 0; i < N; i++)
      19      {
      20        cb[i] = i*3;
      21        asm volatile ("" ::: "memory");
      22      }
      23    for (i = 0; i < N; i++)
      24      {
      25        s.ca[i] = cb[i];
      26      }
      27  
      28    /* check results:  */
      29    for (i = 0; i < N; i++)
      30      {
      31        if (s.ca[i] != cb[i])
      32          abort ();
      33      }
      34  
      35    return 0;
      36  }
      37  
      38  int main (void)
      39  {
      40    check_vect ();
      41  
      42    return main1 ();
      43  }
      44  
      45  /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */