| void |
| foo (int *p) |
| { |
| int a = -1, b = -1, c = -1, d = -1, e = -1, f = -1, g = -1, h = -1; |
| int i; |
| #pragma omp parallel |
| #pragma omp for lastprivate (conditional: a) |
| for (i = 0; i < 32; i++) |
| if (p[i]) |
| a = i; |
| #pragma omp simd lastprivate (conditional: b) |
| for (i = 0; i < 32; i++) |
| if (p[i]) |
| b = i; |
| #pragma omp parallel |
| #pragma omp for simd lastprivate (conditional: c) |
| for (i = 0; i < 32; i++) |
| if (p[i]) |
| c = i; |
| #pragma omp parallel for lastprivate (conditional: d) |
| for (i = 0; i < 32; i++) |
| if (p[i]) |
| d = i; |
| #pragma omp parallel for simd lastprivate (conditional: e) |
| for (i = 0; i < 32; i++) |
| if (p[i]) |
| e = i; |
| } |