annotate gcc/testsuite/c-c++-common/gomp/simd2.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 compile } */
kono
parents:
diff changeset
2 /* { dg-options "-fopenmp" } */
kono
parents:
diff changeset
3 /* { dg-additional-options "-std=c99" { target c } } */
kono
parents:
diff changeset
4
kono
parents:
diff changeset
5 extern int a[13][13][13][13], k, l, m;
kono
parents:
diff changeset
6
kono
parents:
diff changeset
7 void
kono
parents:
diff changeset
8 foo (int *q, float *p)
kono
parents:
diff changeset
9 {
kono
parents:
diff changeset
10 int i, j, n, o;
kono
parents:
diff changeset
11 #pragma omp simd collapse (4) linear(k : m + 1) aligned(p, q)
kono
parents:
diff changeset
12 for (i = 0; i < 13; i++)
kono
parents:
diff changeset
13 for (j = 0; j < 13; j++)
kono
parents:
diff changeset
14 for (n = 0; n < 13; n++)
kono
parents:
diff changeset
15 for (o = 0; o < 13; o += 2)
kono
parents:
diff changeset
16 q[k] *= p[k] + 7 * i + 14 * j + 21 * n + 28 * o, k += m + 1;
kono
parents:
diff changeset
17 }
kono
parents:
diff changeset
18
kono
parents:
diff changeset
19 void
kono
parents:
diff changeset
20 bar (float *p)
kono
parents:
diff changeset
21 {
kono
parents:
diff changeset
22 int i, j, n, o;
kono
parents:
diff changeset
23 #pragma omp simd collapse (4) linear(k : m + 1)
kono
parents:
diff changeset
24 for (i = 0; i < 13; i++)
kono
parents:
diff changeset
25 for (j = 0; j < 13; j++)
kono
parents:
diff changeset
26 for (n = 0; n < 13; n++)
kono
parents:
diff changeset
27 for (o = 0; o < 13; o += 2)
kono
parents:
diff changeset
28 a[i][j][n][o] *= p[k], k += m + 1;
kono
parents:
diff changeset
29 }