! { dg-do compile }
! { dg-options "-O2 -fdump-tree-original" }
subroutine testi(a,b)
  integer :: a(20)
  integer :: b(20)
  a = b;
end subroutine

subroutine testr(a,b)
  real :: a(20)
  real :: b(20)
  a = b;
end subroutine

subroutine testz(a,b)
  complex :: a(20)
  complex :: b(20)
  a = b;
end subroutine

subroutine testl(a,b)
  logical :: a(20)
  logical :: b(20)
  a = b;
end subroutine

! { dg-final { scan-tree-dump-times "memcpy" 4 "original" } }
! { dg-final { cleanup-tree-dump "original" } }
