! { dg-require-effective-target vect_int }

        Subroutine foo (N, M)
        Integer N
        Integer M
        integer A(8,16)
        integer B(8)

        B = (/ 2, 3, 5, 7, 11, 13, 17, 23 /)

        ! Unknown loop bound. J depends on I.

        do I = 1, N
          do J = I, M
            A(J,2) = B(J)
          end do
        end do

        do I = 1, N
          do J = I, M
            if (A(J,2) /= B(J)) then
              call abort ()
              endif
          end do
        end do

        Return
        end


        program main

        Call foo (16, 8)

        stop
        end

! { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect"  } }
! { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" { xfail { vect_no_align } } } }
! { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 2 "vect" { xfail { vect_no_align } } } }
! { dg-final { scan-tree-dump-times "Alignment of access forced using versioning." 3 "vect" { target { ilp32 && vect_no_align } } } }

! We also expect to vectorize one loop for lp64 targets that support 
! misaligned access:
!   scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { lp64 && !vect_no_align } }
!   scan-tree-dump-times "Alignment of access forced using peeling" 1 "vect" { target { lp64 && !vect_no_align } }
!   scan-tree-dump-times "Vectorizing an unaligned access" 1 "vect" { target { lp64 && !vect_no_align } }
! but we currently can't combine logical operators. (Could define 
! a keyword for "not_vect_no_align" if desired). 

! { dg-final { cleanup-tree-dump "vect" } }
