re PR tree-optimization/33291 (a+=2; a+=2 not simplified to a+=4; with -O3 ...
[gcc.git] / gcc / testsuite / gcc.dg / tree-ssa / gen-vect-2.c
1 /* { dg-do run { target vect_cmdline_needed } } */
2 /* { dg-options "-O2 -ftree-vectorize -ftree-vectorizer-verbose=3 -fdump-tree-vect-stats" } */
3
4 #include <stdlib.h>
5
6 #define N 16
7
8 #if __INT_MAX__ == 32767
9 typedef char half_word;
10 #elif __LONG_MAX__ == 2147483647
11 typedef short half_word;
12 #else
13 typedef int half_word;
14 #endif
15
16 int main ()
17 {
18 half_word cb[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
19 half_word ca[N];
20 int i;
21
22 for (i = 0; i < N; i++)
23 {
24 ca[i] = cb[i];
25 }
26
27 /* check results: */
28 for (i = 0; i < N; i++)
29 {
30 if (ca[i] != cb[i])
31 abort ();
32 }
33
34 return 0;
35 }
36
37 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
38 /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" } } */
39 /* { dg-final { cleanup-tree-dump "vect" } } */