OSDN Git Service

* tree-loop-linear.c (try_interchange_loops): Compare memory access
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / tree-ssa / gen-vect-26.c
1 /* { dg-do run { target vect_cmdline_needed } } */
2 /* { dg-options "-O2 -ftree-vectorize -ftree-vectorizer-verbose=4 -fdump-tree-vect-stats" } */
3 /* { dg-options "-O2 -ftree-vectorize -ftree-vectorizer-verbose=4 -fdump-tree-vect-stats -mno-sse" { target { i?86-*-* x86_64-*-* } } } */
4
5 #include <stdlib.h>
6
7 #define N 128
8
9 /* unaligned store.  */
10
11 int main ()
12 {
13   int i;
14   char ia[N+1];
15
16   for (i = 1; i <= N; i++)
17     {
18       ia[i] = 5;
19     }
20
21   /* check results:  */
22   for (i = 1; i <= N; i++)
23     {
24       if (ia[i] != 5)
25         abort ();
26     }
27
28   return 0;
29 }
30
31
32 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect"  } } */
33 /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" } } */
34 /* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" } } */
35 /* { dg-final { cleanup-tree-dump "vect" } } */