| ! { dg-do compile } |
| ! { dg-additional-options "-fdump-tree-original" } |
| ! PR fortran/113305 |
| |
| program dc |
| implicit none |
| real :: a(12), b(12), c(16,8), d(16,8) |
| integer :: i, j |
| call random_number(b) |
| !GCC$ ivdep |
| !GCC$ vector |
| do concurrent (i=1:12) |
| a(i) = 2*b(i) |
| end do |
| c = b(1) |
| d = a(2) |
| !GCC$ novector |
| !GCC$ unroll 4 |
| do concurrent (i=1:16:2,j=1:8:2) |
| d(i,j) = 3*c(i,j) |
| end do |
| end program |
| |
| ! { dg-final { scan-tree-dump "ANNOTATE_EXPR .* ivdep>, vector" "original" } } |
| ! { dg-final { scan-tree-dump "ANNOTATE_EXPR .* ivdep>, no-vector" "original" } } |
| ! { dg-final { scan-tree-dump "ANNOTATE_EXPR .* ivdep>, unroll 4>, no-vector" "original" } } |