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