| ! { dg-do compile } |
| ! { dg-additional-options "-fdump-tree-gimple" } |
| ! |
| ! PR fortran/106566 |
| ! |
| ! { dg-final { scan-tree-dump-times "__attribute__\\(\\(omp declare simd \\(linear\\(0:ref,step\\(4\\)\\) simdlen\\(8\\)\\)\\)\\)" 2 "gimple" } } |
| ! { dg-final { scan-tree-dump-times "__attribute__\\(\\(omp declare simd \\(linear\\(0:ref,step\\(8\\)\\) simdlen\\(8\\)\\)\\)\\)" 2 "gimple" } } |
| |
| subroutine add_one2(p) |
| implicit none |
| !$omp declare simd(add_one2) linear(p: ref) simdlen(8) |
| integer(kind=4) :: p |
| |
| p = p + 1 |
| end subroutine |
| |
| subroutine linear_add_one2(p) |
| implicit none |
| !$omp declare simd(linear_add_one2) linear(p: ref, step(2)) simdlen(8) |
| integer(kind=4) :: p |
| |
| p = p + 1 |
| end subroutine |
| |
| module m |
| integer, parameter :: NN = 1023 |
| integer(kind=4) :: a(NN) |
| contains |
| subroutine module_add_one2(q) |
| implicit none |
| !$omp declare simd(module_add_one2) linear(q: ref) simdlen(8) |
| integer(kind=4) :: q |
| q = q + 1 |
| end subroutine |
| |
| subroutine linear_add_one2(q) |
| implicit none |
| !$omp declare simd(linear_add_one2) linear(q: ref, step(2)) simdlen(8) |
| integer(kind=4) :: q |
| q = q + 1 |
| end subroutine |
| end module |