1234567891011121314151617181920212223242526272829 |
- /* PR target/90811 */
- int
- main ()
- {
- long long a[100], b[100];
- int i;
- for (i = 0; i < 100; i++)
- {
- a[i] = i;
- b[i] = i % 10;
- }
- #pragma omp target teams distribute parallel for simd map(tofrom: a[:100], b[:100])
- for (i = 0; i < 100; i++)
- {
- long long c = 0;
- const long long d[] = { 1, 3, 5, 7, 9 };
- for (int j = 4; j >= 0; j--)
- c = d[j] + b[i] * c;
- a[i] += c;
- }
- for (i = 0; i < 100; i++)
- {
- const long long r[] = { 1, 26, 229, 976, 2849, 6646, 13381, 24284, 40801, 64594 };
- if (a[i] != r[i % 10] + (i / 10 * 10))
- __builtin_abort ();
- }
- return 0;
- }
|