1/* { dg-require-effective-target vect_int } */
2
3#include <stdarg.h>
4#include "../../tree-vect.h"
5
6#define N 5
7
8struct t{
9  int k[N];
10  int l;
11};
12
13struct 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
21int main1 ()
22{
23  int i;
24  struct s tmp;
25
26  /* unaligned */
27  for (i = 0; i < N; i++)
28    {
29      tmp.e.k[i] = 8;
30    }
31
32  /* check results:  */
33  for (i = 0; i < N; i++)
34    {
35      if (tmp.e.k[i] != 8)
36        abort ();
37    }
38
39  return 0;
40}
41
42int main (void)
43{
44  check_vect ();
45
46  return main1 ();
47}
48
49/* { dg-final { scan-tree-dump-times "vectorization not profitable" 1 "vect" } } */
50/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" } } */
51/* { dg-final { cleanup-tree-dump "vect" } } */
52