blob: af40f40da9e158a0efd0dfa6c8ede043c9130306 [file] [log] [blame]
! PR fortran/86421
! { dg-require-effective-target vect_simd_clones }
! { dg-additional-options "-fopenmp-simd" }
! { dg-additional-options "-mavx" { target avx_runtime } }
module mod86421
implicit none
contains
subroutine foo(x, y, z)
real :: x
integer :: y, z
!$omp declare simd linear(ref(x)) linear(val(y)) linear(uval(z))
x = x + y
z = z + 1
end subroutine
end module mod86421
program pr86421
use mod86421
implicit none
integer :: i, j
real :: a(64)
j = 0
do i = 1, 64
a(i) = i
end do
!$omp simd
do i = 1, 64
call foo (a(i), i, j)
end do
do i = 1, 64
if (a(i) .ne. (2 * i)) stop 1
end do
if (j .ne. 64) stop 2
end program pr86421