simd-11.c 474 B

1234567891011121314151617181920212223242526
  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, j, u;
  5. void
  6. foo ()
  7. {
  8. #pragma omp for simd schedule(static, 32) reduction(+:s) lastprivate(u) collapse(2)
  9. for (i = 0; i < 16; i++)
  10. for (j = 0; j < 16; j++)
  11. {
  12. s++;
  13. u = i + j;
  14. }
  15. if (i != 16 || j != 16 || s != 256 || u != 30)
  16. __builtin_abort ();
  17. }
  18. int
  19. main ()
  20. {
  21. foo ();
  22. return 0;
  23. }