simd-12.c 422 B

123456789101112131415161718
  1. /* { dg-do run } */
  2. /* { dg-additional-options "-msse2" { target sse2_runtime } } */
  3. /* { dg-additional-options "-mavx" { target avx_runtime } } */
  4. int
  5. main ()
  6. {
  7. int k = 0, i, s = 0;
  8. #pragma omp parallel
  9. #pragma omp for simd linear(k : 3) reduction(+: s) schedule (static, 16)
  10. for (i = 0; i < 128; i++)
  11. {
  12. k = k + 3;
  13. s = s + k;
  14. }
  15. if (s != 128 * 129 / 2 * 3) __builtin_abort ();
  16. return 0;
  17. }