annotate libgomp/testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* { dg-do run } */
kono
parents:
diff changeset
2 /* { dg-additional-options "-ftree-parallelize-loops=2" } */
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 /* Variable bound, reduction. */
kono
parents:
diff changeset
5
kono
parents:
diff changeset
6 #include <stdlib.h>
kono
parents:
diff changeset
7
kono
parents:
diff changeset
8 #define N 4000
kono
parents:
diff changeset
9
kono
parents:
diff changeset
10 unsigned int *a;
kono
parents:
diff changeset
11
kono
parents:
diff changeset
12 unsigned int __attribute__((noclone,noinline))
kono
parents:
diff changeset
13 f (unsigned int n, unsigned int *__restrict__ a)
kono
parents:
diff changeset
14 {
kono
parents:
diff changeset
15 int i;
kono
parents:
diff changeset
16 unsigned int sum = 1;
kono
parents:
diff changeset
17
kono
parents:
diff changeset
18 for (i = 0; i < n; ++i)
kono
parents:
diff changeset
19 sum += a[i];
kono
parents:
diff changeset
20
kono
parents:
diff changeset
21 return sum;
kono
parents:
diff changeset
22 }
kono
parents:
diff changeset
23
kono
parents:
diff changeset
24 int
kono
parents:
diff changeset
25 main (void)
kono
parents:
diff changeset
26 {
kono
parents:
diff changeset
27 unsigned int res;
kono
parents:
diff changeset
28 unsigned int array[N];
kono
parents:
diff changeset
29 int i;
kono
parents:
diff changeset
30
kono
parents:
diff changeset
31 for (i = 0; i < N; ++i)
kono
parents:
diff changeset
32 array[i] = i % 7;
kono
parents:
diff changeset
33 a = &array[0];
kono
parents:
diff changeset
34
kono
parents:
diff changeset
35 res = f (N, a);
kono
parents:
diff changeset
36 if (res != 11995)
kono
parents:
diff changeset
37 abort ();
kono
parents:
diff changeset
38
kono
parents:
diff changeset
39 /* Test low iteration count case. */
kono
parents:
diff changeset
40 res = f (10, a);
kono
parents:
diff changeset
41 if (res != 25)
kono
parents:
diff changeset
42 abort ();
kono
parents:
diff changeset
43
kono
parents:
diff changeset
44 return 0;
kono
parents:
diff changeset
45 }