Set num_threads to 50 on 32-bit hppa in two libgomp loop tests
[official-gcc.git] / libgomp / testsuite / libgomp.c-c++-common / lastprivate-conditional-9.c
blob746b2a74c97ebdf3d50ca62db76e7f6d5bfbc04d
1 /* { dg-do run } */
3 int v, x;
5 __attribute__((noipa)) void
6 foo (int *a)
8 #pragma omp for simd lastprivate (conditional: x) schedule(simd: static) if (simd: 0)
9 for (int i = 0; i < 128; i++)
10 if (a[i])
11 x = a[i];
14 __attribute__((noipa)) void
15 bar (int *a, int *b)
17 #pragma omp for simd lastprivate (conditional: x, v) schedule(static, 16) simdlen(1)
18 for (int i = 16; i < 128; ++i)
20 if (a[i])
21 x = a[i];
22 if (b[i])
23 v = b[i] + 10;
27 __attribute__((noipa)) void
28 baz (int *a)
30 #pragma omp for simd lastprivate (conditional: x) schedule(simd: dynamic, 16) if (0)
31 for (int i = 0; i < 128; i++)
32 if (a[i])
33 x = a[i] + 5;
36 int
37 main ()
39 int a[128], b[128], i;
40 for (i = 0; i < 128; i++)
42 a[i] = ((i % 11) == 2) ? i + 10 : 0;
43 asm volatile ("" : "+g" (i));
44 b[i] = ((i % 13) == 5) ? i * 2 : 0;
46 #pragma omp parallel
47 foo (a);
48 if (x != 133)
49 __builtin_abort ();
50 x = -3;
51 #pragma omp parallel
52 bar (b, a);
53 if (x != 244 || v != 143)
54 __builtin_abort ();
55 #pragma omp parallel
56 baz (b);
57 if (x != 249)
58 __builtin_abort ();
59 return 0;