1 // Test parsing of #pragma omp declare simd
4 #pragma omp declare simd uniform (a) aligned (b : 8 * sizeof (int)) \
5 linear (c : 4) simdlen (8) notinbranch
6 #pragma omp declare simd uniform (c) aligned (b : 4 * sizeof (int)) linear (a \
7 : 4) simdlen (4) inbranch
8 int f1 (int a, int *b, int c);
10 #pragma omp declare simd uniform (a) aligned (b : 8 * sizeof (int)) linear (c : 4) simdlen (8)
11 int f2 (int a, int *b, int c)
16 #pragma omp declare simd uniform (c) aligned (b : 4 * sizeof (int)) linear (a : 4) simdlen (4)
18 T f3 (int a, int *b, T c);
21 int f3 (int, int *, int);
23 #pragma omp declare simd uniform (c) aligned (b : 4 * sizeof (int)) linear (a : 4) notinbranch simdlen (4)
25 int f4 (int a, int *b, T c)
31 int f4 (int, int *, int);
34 int f5 (int a, int *b, T c);
36 #pragma omp declare simd uniform (c) aligned (b : 4 * sizeof (int)) linear (a : 4) simdlen (4)
38 int f5 (int a, int *b, int c);
41 int f6 (int a, int *b, int c);
43 #pragma omp declare simd uniform (c) aligned (b : 4 * sizeof (int)) linear (a : 4) inbranch simdlen (4)
45 int f6<3> (int a, int *b, int c);
47 #pragma omp declare simd uniform (a) aligned (b : 8 * sizeof (long long)) linear (c : 4) simdlen (8)
49 long long f7 (long long a, long long *b, long long c);
51 #pragma omp declare simd uniform (a) aligned (b : 8 * sizeof (int)) linear (c : 4) notinbranch simdlen (8)
53 int f8 (int a, int *b, int c);
57 #pragma omp declare simd
58 int f9 (int a, int *b, int c);
65 #pragma omp declare simd simdlen (2) aligned (b : sizeof (long long) * 2)
66 __extension__ long long
76 #pragma omp declare simd uniform (a) aligned (b : 8 * sizeof (int)) linear (c : 4) simdlen (8)
77 #pragma omp declare simd uniform (c) aligned (b : 4 * sizeof (int)) linear (a : 4) simdlen (4)
78 int f11 (int a, int *b, int c);
80 #pragma omp declare simd
82 int f12 (int a, int *b, int c);
84 #pragma omp declare simd uniform (a) aligned (b : 8 * sizeof (int)) linear (c : 4) notinbranch simdlen (8)
85 #pragma omp declare simd uniform (c) aligned (b : 4 * sizeof (int)) linear (a : 4) simdlen (4) inbranch
86 static int f13 (int a, int *b, int c);
88 #pragma omp declare simd uniform (a) aligned (b : 8 * sizeof (int)) linear (c : 4) simdlen (8)
89 #pragma omp declare simd uniform (c) aligned (b : 4 * sizeof (int)) linear (a : 4) simdlen (4)
90 int f14 (int a, int *b, int c) { return a + *b + c; }
92 #pragma omp declare simd
94 int f15 (int a, int *b, int c) { return a + *b + c; }
96 #pragma omp declare simd uniform (a) aligned (b : 8 * sizeof (int)) linear (c : 4) simdlen (8)
97 #pragma omp declare simd uniform (c) aligned (b : 4 * sizeof (int)) linear (a : 4) simdlen (4)
98 static int f16 (int a, int *b, int c) { return a + *b + c; }
102 int A::f12<2> (int, int *, int);
105 int A::f15<2> (int, int *, int);
107 template <typename T>
110 #pragma omp declare simd uniform (a) aligned (b : 8 * sizeof (int)) linear (c : 4) simdlen (8) notinbranch
111 #pragma omp declare simd uniform (c) aligned (b : 4 * sizeof (int)) linear (a : 4) simdlen (4) inbranch
112 int f17 (int a, int *b, int c);
114 #pragma omp declare simd
116 int f18 (int a, int *b, int c);
118 #pragma omp declare simd uniform (a) aligned (b : 8 * sizeof (int)) linear (c : 4) simdlen (8)
119 #pragma omp declare simd uniform (c) aligned (b : 4 * sizeof (int)) linear (a : 4) simdlen (4)
120 static int f19 (int a, int *b, int c);
122 #pragma omp declare simd uniform (a) aligned (b : 8 * sizeof (int)) linear (c : 4) simdlen (8)
123 #pragma omp declare simd uniform (c) aligned (b : 4 * sizeof (int)) linear (a : 4) simdlen (4)
124 int f20 (int a, int *b, int c) { return a + *b + c; }
126 #pragma omp declare simd
128 int f21 (int a, int *b, int c) { return a + *b + c; }
130 #pragma omp declare simd uniform (a) aligned (b : 8 * sizeof (int)) linear (c : 4) simdlen (8)
131 #pragma omp declare simd uniform (c) aligned (b : 4 * sizeof (int)) linear (a : 4) simdlen (4)
132 static int f22 (int a, int *b, int c) { return a + *b + c; }
135 int f23 (int, int *, int);
138 static int f24 (int, int *, int);
141 int f25 (int, int *, int);
144 static int f26 (int, int *, int);
151 int B<int>::f18<0> (int, int *, int);
155 int B<int>::f21<9> (int, int *, int);
157 #pragma omp declare simd simdlen (8) aligned (b : 8 * sizeof (int)) uniform (a, c)
160 int B<int>::f23<7> (int a, int *b, int c);
162 #pragma omp declare simd simdlen (4) aligned (b : 8 * sizeof (int)) linear (a, c : 2)
165 int B<int>::f24<-1> (int a, int *b, int c);
167 #pragma omp declare simd simdlen (8) aligned (b : 8 * sizeof (int)) uniform (a, c)
170 int B<int>::f25<7> (int a, int *b, int c)
175 #pragma omp declare simd simdlen (4) aligned (b : 8 * sizeof (int)) linear (a, c : 2)
178 int B<int>::f26<-1> (int a, int *b, int c)
186 #pragma omp declare simd simdlen (8) aligned (b : 8 * sizeof (int))
187 extern int f28 (int a, int *b, int c);
190 #pragma omp declare simd simdlen (4) linear (c)
191 extern int f29 (int a, int *b, int c);
196 #pragma omp declare simd simdlen (16)
200 #pragma omp declare simd simdlen (8) aligned (b : 8 * sizeof (int))
201 extern int f31 (int a, int *b, int c);
208 #pragma omp declare simd simdlen (N) aligned (b : N * sizeof (int)) linear (c : N) notinbranch
209 int f32 (int a, int *b, int c);
218 #pragma omp declare simd simdlen (8) aligned (b : 8 * sizeof (int))
219 extern int f34 (int a, int *b, int c);
221 #pragma omp declare simd simdlen (8) aligned (b : 8 * sizeof (int))
222 extern int f35 (int a, int *b, int c);
226 #pragma omp declare simd simdlen (N)
233 #pragma omp declare simd simdlen (N) linear (a : sizeof (a) + sizeof (d) + sizeof (this) + sizeof (this->d))