simd-10.c 424 B

12345678910111213141516171819202122232425
  1. /* { dg-do run } */
  2. /* { dg-additional-options "-msse2" { target sse2_runtime } } */
  3. /* { dg-additional-options "-mavx" { target avx_runtime } } */
  4. int s = 0, i, u;
  5. void
  6. foo ()
  7. {
  8. #pragma omp for simd schedule(static, 32) reduction(+:s) lastprivate(u)
  9. for (i = 0; i < 128; i++)
  10. {
  11. s++;
  12. u = i;
  13. }
  14. if (i != 128 || s != 128 || u != 127)
  15. __builtin_abort ();
  16. }
  17. int
  18. main ()
  19. {
  20. foo ();
  21. return 0;
  22. }