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