loop-15.c 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. /* { dg-do run } */
  2. volatile int ji = 100, ki = 2;
  3. volatile unsigned int ju = 100, ku = 2;
  4. volatile long long int jll = 100, kll = 2;
  5. volatile unsigned long long int jull = 100, kull = 2;
  6. unsigned long long l;
  7. void
  8. f0 (void)
  9. {
  10. int i, j, k;
  11. unsigned int j2, k2;
  12. #pragma omp for reduction(+: l) schedule(runtime)
  13. for (i = ji; i < ki; i++)
  14. l++;
  15. if (l != 0)
  16. __builtin_abort ();
  17. #pragma omp parallel for reduction(+: l) schedule(runtime)
  18. for (i = ji; i < ki; i++)
  19. l++;
  20. if (l != 0)
  21. __builtin_abort ();
  22. #pragma omp for reduction(+: l) collapse(3) schedule(runtime)
  23. for (j = 0; j < 4; j++)
  24. for (i = ji; i < ki; i++)
  25. for (k = 0; k < 5; k += 2)
  26. l++;
  27. if (l != 0)
  28. __builtin_abort ();
  29. #pragma omp parallel for reduction(+: l) collapse(3) schedule(runtime)
  30. for (j = 0; j < 4; j++)
  31. for (i = ji; i < ki; i++)
  32. for (k = 0; k < 5; k += 2)
  33. l++;
  34. if (l != 0)
  35. __builtin_abort ();
  36. #pragma omp for reduction(+: l) collapse(3) schedule(runtime)
  37. for (j2 = 0; j2 < 4; j2++)
  38. for (i = ji; i < ki; i++)
  39. for (k2 = 0; k2 < 5; k2 += 2)
  40. l++;
  41. if (l != 0)
  42. __builtin_abort ();
  43. #pragma omp parallel for reduction(+: l) collapse(3) schedule(runtime)
  44. for (j2 = 0; j2 < 4; j2++)
  45. for (i = ji; i < ki; i++)
  46. for (k2 = 0; k2 < 5; k2 += 2)
  47. l++;
  48. if (l != 0)
  49. __builtin_abort ();
  50. #pragma omp parallel for reduction(+: l) collapse(3) schedule(runtime)
  51. for (j = 0; j < 4; j++)
  52. for (i = ji; i < ki; i++)
  53. for (k = ki + 10; k < ji - 10; k += 2)
  54. l++;
  55. if (l != 0)
  56. __builtin_abort ();
  57. #pragma omp parallel for reduction(+: l) collapse(3) schedule(runtime)
  58. for (j = ki + 10; j < ji - 10; j++)
  59. for (i = ji; i < ki; i++)
  60. for (k = 0; k < 5; k += 2)
  61. l++;
  62. if (l != 0)
  63. __builtin_abort ();
  64. }
  65. void
  66. f1 (void)
  67. {
  68. unsigned int i, j, k;
  69. int j2, k2;
  70. #pragma omp for reduction(+: l) schedule(runtime)
  71. for (i = ju; i < ku; i++)
  72. l++;
  73. if (l != 0)
  74. __builtin_abort ();
  75. #pragma omp parallel for reduction(+: l) schedule(runtime)
  76. for (i = ju; i < ku; i++)
  77. l++;
  78. if (l != 0)
  79. __builtin_abort ();
  80. #pragma omp for reduction(+: l) collapse(3) schedule(runtime)
  81. for (j = 0; j < 4; j++)
  82. for (i = ju; i < ku; i++)
  83. for (k = 0; k < 5; k += 2)
  84. l++;
  85. if (l != 0)
  86. __builtin_abort ();
  87. #pragma omp parallel for reduction(+: l) collapse(3) schedule(runtime)
  88. for (j = 0; j < 4; j++)
  89. for (i = ju; i < ku; i++)
  90. for (k = 0; k < 5; k += 2)
  91. l++;
  92. if (l != 0)
  93. __builtin_abort ();
  94. #pragma omp for reduction(+: l) collapse(3) schedule(runtime)
  95. for (j2 = 0; j2 < 4; j2++)
  96. for (i = ju; i < ku; i++)
  97. for (k2 = 0; k2 < 5; k2 += 2)
  98. l++;
  99. if (l != 0)
  100. __builtin_abort ();
  101. #pragma omp parallel for reduction(+: l) collapse(3) schedule(runtime)
  102. for (j2 = 0; j2 < 4; j2++)
  103. for (i = ju; i < ku; i++)
  104. for (k2 = 0; k2 < 5; k2 += 2)
  105. l++;
  106. if (l != 0)
  107. __builtin_abort ();
  108. #pragma omp parallel for reduction(+: l) collapse(3) schedule(runtime)
  109. for (j = 0; j < 4; j++)
  110. for (i = ju; i < ku; i++)
  111. for (k = ku; k < ju; k += 2)
  112. l++;
  113. if (l != 0)
  114. __builtin_abort ();
  115. #pragma omp parallel for reduction(+: l) collapse(3) schedule(runtime)
  116. for (j = ku; j < ju; j++)
  117. for (i = ju; i < ku; i++)
  118. for (k = 0; k < 5; k += 2)
  119. l++;
  120. if (l != 0)
  121. __builtin_abort ();
  122. }
  123. void
  124. f2 (void)
  125. {
  126. long long int i, j, k;
  127. unsigned long long int j2, k2;
  128. #pragma omp for reduction(+: l) schedule(runtime)
  129. for (i = jll; i < kll; i++)
  130. l++;
  131. if (l != 0)
  132. __builtin_abort ();
  133. #pragma omp parallel for reduction(+: l) schedule(runtime)
  134. for (i = jll; i < kll; i++)
  135. l++;
  136. if (l != 0)
  137. __builtin_abort ();
  138. #pragma omp for reduction(+: l) collapse(3) schedule(runtime)
  139. for (j = 0; j < 4; j++)
  140. for (i = jll; i < kll; i++)
  141. for (k = 0; k < 5; k += 2)
  142. l++;
  143. if (l != 0)
  144. __builtin_abort ();
  145. #pragma omp parallel for reduction(+: l) collapse(3) schedule(runtime)
  146. for (j = 0; j < 4; j++)
  147. for (i = jll; i < kll; i++)
  148. for (k = 0; k < 5; k += 2)
  149. l++;
  150. if (l != 0)
  151. __builtin_abort ();
  152. #pragma omp for reduction(+: l) collapse(3) schedule(runtime)
  153. for (j2 = 0; j2 < 4; j2++)
  154. for (i = jll; i < kll; i++)
  155. for (k2 = 0; k2 < 5; k2 += 2)
  156. l++;
  157. if (l != 0)
  158. __builtin_abort ();
  159. #pragma omp parallel for reduction(+: l) collapse(3) schedule(runtime)
  160. for (j2 = 0; j2 < 4; j2++)
  161. for (i = jll; i < kll; i++)
  162. for (k2 = 0; k2 < 5; k2 += 2)
  163. l++;
  164. if (l != 0)
  165. __builtin_abort ();
  166. #pragma omp parallel for reduction(+: l) collapse(3) schedule(runtime)
  167. for (j = 0; j < 4; j++)
  168. for (i = jll; i < kll; i++)
  169. for (k = kll; k < jll; k += 2)
  170. l++;
  171. if (l != 0)
  172. __builtin_abort ();
  173. #pragma omp parallel for reduction(+: l) collapse(3) schedule(runtime)
  174. for (j = kll; j < jll; j++)
  175. for (i = jll; i < kll; i++)
  176. for (k = 0; k < 5; k += 2)
  177. l++;
  178. if (l != 0)
  179. __builtin_abort ();
  180. }
  181. void
  182. f3 (void)
  183. {
  184. unsigned long long int i, j, k;
  185. long long int j2, k2;
  186. #pragma omp for reduction(+: l) schedule(runtime)
  187. for (i = jull; i < kull; i++)
  188. l++;
  189. if (l != 0)
  190. __builtin_abort ();
  191. #pragma omp parallel for reduction(+: l) schedule(runtime)
  192. for (i = jull; i < kull; i++)
  193. l++;
  194. if (l != 0)
  195. __builtin_abort ();
  196. #pragma omp for reduction(+: l) collapse(3) schedule(runtime)
  197. for (j = 0; j < 4; j++)
  198. for (i = jull; i < kull; i++)
  199. for (k = 0; k < 5; k += 2)
  200. l++;
  201. if (l != 0)
  202. __builtin_abort ();
  203. #pragma omp parallel for reduction(+: l) collapse(3) schedule(runtime)
  204. for (j = 0; j < 4; j++)
  205. for (i = jull; i < kull; i++)
  206. for (k = 0; k < 5; k += 2)
  207. l++;
  208. if (l != 0)
  209. __builtin_abort ();
  210. #pragma omp for reduction(+: l) collapse(3) schedule(runtime)
  211. for (j2 = 0; j2 < 4; j2++)
  212. for (i = jull; i < kull; i++)
  213. for (k2 = 0; k2 < 5; k2 += 2)
  214. l++;
  215. if (l != 0)
  216. __builtin_abort ();
  217. #pragma omp parallel for reduction(+: l) collapse(3) schedule(runtime)
  218. for (j2 = 0; j2 < 4; j2++)
  219. for (i = jull; i < kull; i++)
  220. for (k2 = 0; k2 < 5; k2 += 2)
  221. l++;
  222. if (l != 0)
  223. __builtin_abort ();
  224. #pragma omp parallel for reduction(+: l) collapse(3) schedule(runtime)
  225. for (j = 0; j < 4; j++)
  226. for (i = jull; i < kull; i++)
  227. for (k = kull; k < jull; k += 2)
  228. l++;
  229. if (l != 0)
  230. __builtin_abort ();
  231. #pragma omp parallel for reduction(+: l) collapse(3) schedule(runtime)
  232. for (j = kull; j < jull; j++)
  233. for (i = jull; i < kull; i++)
  234. for (k = 0; k < 5; k += 2)
  235. l++;
  236. if (l != 0)
  237. __builtin_abort ();
  238. }
  239. int
  240. main ()
  241. {
  242. f0 ();
  243. f1 ();
  244. f2 ();
  245. f3 ();
  246. return 0;
  247. }