annotate libgomp/testsuite/libgomp.c/pr46032.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-options "-O2 -ftree-vectorize -std=c99 -fipa-pta" } */
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4
kono
parents:
diff changeset
5 extern void abort (void);
kono
parents:
diff changeset
6
kono
parents:
diff changeset
7 #define nEvents 1000
kono
parents:
diff changeset
8
kono
parents:
diff changeset
9 static void __attribute__((noinline, noclone, optimize("-fno-tree-vectorize")))
kono
parents:
diff changeset
10 init (unsigned *results, unsigned *pData)
kono
parents:
diff changeset
11 {
kono
parents:
diff changeset
12 unsigned int i;
kono
parents:
diff changeset
13 for (i = 0; i < nEvents; ++i)
kono
parents:
diff changeset
14 pData[i] = i % 3;
kono
parents:
diff changeset
15 }
kono
parents:
diff changeset
16
kono
parents:
diff changeset
17 static void __attribute__((noinline, noclone, optimize("-fno-tree-vectorize")))
kono
parents:
diff changeset
18 check (unsigned *results)
kono
parents:
diff changeset
19 {
kono
parents:
diff changeset
20 unsigned sum = 0;
kono
parents:
diff changeset
21 for (int idx = 0; idx < (int)nEvents; idx++)
kono
parents:
diff changeset
22 sum += results[idx];
kono
parents:
diff changeset
23
kono
parents:
diff changeset
24 if (sum != 1998)
kono
parents:
diff changeset
25 abort ();
kono
parents:
diff changeset
26 }
kono
parents:
diff changeset
27
kono
parents:
diff changeset
28 int
kono
parents:
diff changeset
29 main (void)
kono
parents:
diff changeset
30 {
kono
parents:
diff changeset
31 unsigned results[nEvents];
kono
parents:
diff changeset
32 unsigned pData[nEvents];
kono
parents:
diff changeset
33 unsigned coeff = 2;
kono
parents:
diff changeset
34
kono
parents:
diff changeset
35 init (&results[0], &pData[0]);
kono
parents:
diff changeset
36
kono
parents:
diff changeset
37 #pragma omp parallel for
kono
parents:
diff changeset
38 for (int idx = 0; idx < (int)nEvents; idx++)
kono
parents:
diff changeset
39 results[idx] = coeff * pData[idx];
kono
parents:
diff changeset
40
kono
parents:
diff changeset
41 check (&results[0]);
kono
parents:
diff changeset
42
kono
parents:
diff changeset
43 return 0;
kono
parents:
diff changeset
44 }