Merged revisions 208012,208018-208019,208021,208023-208030,208033,208037,208040-20804...
[official-gcc.git] / main / gcc / testsuite / gcc.dg / vect / vect-align-3.c
bloba8d3e485e6cc8aa69e6f6f33cfa71aa84f4e8524
1 /* { dg-do compile } */
2 /* { dg-require-effective-target vect_int } */
4 int a[2048];
6 void
7 f1 (int x, int y)
9 int i;
10 x &= -256;
11 y &= -256;
12 for (i = x + 256; i < y; i++)
13 a[i]++;
16 void
17 f2 (int x, int y)
19 int i;
20 if (x & 31)
21 __builtin_unreachable ();
22 if (y & 31)
23 __builtin_unreachable ();
24 for (i = x + 256; i < x + y; i++)
25 a[i]++;
28 void
29 f3 (int x, int y)
31 int i;
32 if (x % 256)
33 __builtin_unreachable ();
34 if (y % 256)
35 __builtin_unreachable ();
36 for (i = x + 256; i < x + y; i++)
37 a[i]++;
40 void
41 f4 (int x, int y)
43 int i;
44 if ((x % 256) != 0)
45 __builtin_unreachable ();
46 if ((y % 256) != 0)
47 __builtin_unreachable ();
48 for (i = x + 256; i < x + y; i++)
49 a[i]++;
52 /* { dg-final { scan-tree-dump-not "vect_do_peeling_for_loop_bound" "vect" } } */
53 /* { dg-final { scan-tree-dump-not "loop peeled for vectorization" "vect" } } */
54 /* { dg-final { cleanup-tree-dump "vect" } } */