blob: 06e712e16e9791d03d89736b70c1db4edb827cb2 [file] [log] [blame]
! { dg-do run }
! { dg-options "-O2 -fopenmp-simd -fdump-tree-original -fdump-tree-gimple" }
module test_functions
contains
integer function compute_sum() result(sum)
implicit none
integer :: i,j
!$omp simd
do i = 1,10,3
!$omp unroll full
do j = 1,10,3
sum = sum + 1
end do
end do
end function
integer function compute_sum2() result(sum)
implicit none
integer :: i,j
!$omp simd
!$omp unroll partial(2)
do i = 1,10,3
do j = 1,10,3
sum = sum + 1
end do
end do
end function
end module test_functions
program test
use test_functions
implicit none
integer :: result
result = compute_sum ()
write (*,*) result
if (result .ne. 16) then
call abort
end if
result = compute_sum2 ()
write (*,*) result
if (result .ne. 16) then
call abort
end if
end program
! { dg-final { scan-tree-dump "omp unroll full" "original" } }
! { dg-final { scan-tree-dump "omp unroll partial\\\(2\\\)" "original" } }
! { dg-final { scan-tree-dump-not "omp unroll" "gimple" } }