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