Insert new bound in try_transform_to_exit_first_loop_alt
[official-gcc.git] / libgomp / testsuite / libgomp.fortran / parloops-exit-first-loop-alt-2.f95
blob56add651026b76469f6c980cff3b18b748c08563
1 ! { dg-do run }
2 ! { dg-additional-options "-O2" }
3 ! { dg-additional-options "-ftree-parallelize-loops=2" }
5 ! Constant bound, vector addition.
7 subroutine foo ()
8 integer, parameter :: n = 1000
9 integer, dimension (0:n-1) :: a, b, c
10 common a, b, c
11 integer :: ii
13 do ii = 0, n - 1
14 c(ii) = a(ii) + b(ii)
15 end do
16 end subroutine foo
18 program main
19 integer, parameter :: n = 1000
20 integer, parameter :: distrib = 10
21 integer, dimension (0:n-1) :: a, b, c
22 common a, b, c
23 integer :: i, j, k
25 do j = 0, ((n / distrib) -1)
26 do i = 0, distrib - 1
27 k = i + (distrib * j)
28 a(k) = k
29 b(k) = MODULO ((k * 3), 7)
30 c(k) = k * 2;
31 end do
32 end do
34 call foo ()
36 do i = 0, n - 1
37 if (c(i) .ne. (i + MODULO ((i * 3), 7))) call abort
38 end do
40 end program