This commit was manufactured by cvs2svn to create branch
[official-gcc.git] / gcc / testsuite / gcc.dg / vect / vect-97.c
blob661b482a658cd1f6ae7fad327647033585f4f2e9
1 /* { dg-require-effective-target vect_int } */
3 #include <stdarg.h>
4 #include "tree-vect.h"
6 typedef char achar __attribute__ ((__aligned__(16)));
8 #define N 16
10 int main1 ()
12 struct {
13 achar *p;
14 achar *q;
15 } s;
16 int i;
17 achar x[N];
18 achar cb[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
20 s.p = x;
21 for (i = 0; i < N; i++)
23 s.p[i] = cb[i];
26 /* check results: */
27 for (i = 0; i < N; i++)
29 if (s.p[i] != cb[i])
30 abort ();
33 s.q = cb;
34 for (i = 0; i < N; i++)
36 s.p[i] = s.q[i];
39 /* check results: */
40 for (i = 0; i < N; i++)
42 if (s.p[i] != s.q[i])
43 abort ();
46 return 0;
49 int main (void)
51 check_vect ();
53 return main1 ();
57 /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" } } */
58 /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" } } */