1 struct S
2 {
3   int s;
4   #pragma omp declare simd notinbranch
5   int f0 (int x);
6   #pragma omp declare simd notinbranch uniform(this)
7   int f1 (int x);
8   #pragma omp declare simd notinbranch linear(this:sizeof(this)/sizeof(this))
9   int f2 (int x);
10 };
11 
12 struct T
13 {
14   int t[64];
15   #pragma omp declare simd aligned(this:32) uniform(this) linear(x)
16   int f3 (int x);
17 };
18