1! { dg-do compile }
2! { dg-additional-options "-O2 -fdump-tree-original" }
3
4module m
5  integer :: a(:), b(1024), c(1024), d(1024)
6  allocatable :: a
7end module m
8
9subroutine foo
10  use m
11  implicit none
12  integer :: i
13  !$omp simd nontemporal (a, b)
14  do i = 1, 1024
15    a(i) = b(i) + c(i)
16  end do
17
18  !$omp simd nontemporal (d)
19  do i = 1, 1024
20    d(i) = 2 * c(i)
21  end do
22end subroutine foo
23
24! { dg-final { scan-tree-dump-times "#pragma omp simd linear\\(i:1\\) nontemporal\\(a\\) nontemporal\\(b\\)" 1 "original" } }
25! { dg-final { scan-tree-dump-times "#pragma omp simd linear\\(i:1\\) nontemporal\\(d\\)" 1 "original" } }
26