1  /* { dg-require-effective-target vect_int } */
       2  
       3  #include <stdarg.h>
       4  #include "../../tree-vect.h"
       5  
       6  #define N 32
       7  
       8  struct t{
       9    int k[N];
      10    int l; 
      11  };
      12    
      13  struct s{
      14    char a;	/* aligned */
      15    char b[N-1];  /* unaligned (offset 1B) */
      16    char c[N];    /* aligned (offset NB) */
      17    struct t d;   /* aligned (offset 2NB) */
      18    struct t e;   /* unaligned (offset 2N+4N+4 B) */
      19  };
      20   
      21  int main1 ()
      22  {  
      23    int i;
      24    struct s tmp;
      25  
      26    /* aligned */
      27    for (i = 0; i < N/2; i++)
      28      {
      29        tmp.d.k[i] = 7;
      30      }
      31  
      32    /* check results:  */
      33    for (i = 0; i <N/2; i++)
      34      {
      35        if (tmp.d.k[i] != 7)
      36          abort ();
      37      }
      38  
      39    return 0;
      40  }
      41  
      42  int main (void)
      43  { 
      44    check_vect ();
      45    
      46    return main1 ();
      47  } 
      48  
      49  /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */