1! { dg-do compile }
2! { dg-additional-options "-mavx2" { target x86_64-*-* i?86-*-* } }
3       subroutine tranx3 (ibeg,jbeg,jend,kbeg,kend
4     &                   ,dlo,den
5     &                   ,edn)
6      parameter(in =           128+5
7     &        , jn =           128+5
8     &        , kn =           128+5)
9      parameter(ijkn =   128+5)
10      real*8   e (in,jn,kn), dqm, dvl3a  (kn), dvl3ai (kn)
11     &           , dtwid (ijkn,4),  dd    (ijkn,4)
12     &           , etwid (ijkn,4),  deod  (ijkn,4)
13       real*8  dlo  (in,jn,kn), den  (in,jn,kn)
14     &      , edn  (in,jn,kn)
15       do 2100 j=jbeg-1,jend
16           i = ibeg - 1
17               do 1080 k=kbeg,kend
18               den(i  ,j,k) = ( dlo(i  ,j,k) * dvl3a(k)
19     1                      - etwid (k+1,1) + etwid (k,1) ) * dvl3a i(k)
201080           continue
21             do 2030 k=max(kbeg-2,ks-1),kend+1
22               dqm      = (dlo(i+2,j,k  ) - dlo(i+2,j,k-1)) * dx3bi(k  )
23               dd(k,4)  = max ( dqm * dqp, zro )
242030       continue
25               dtwid (k,3) = ( 0.5 + q1 ) * ( dlo(i+2,j,k-1)
26     1                     + ( dx3a(k-1) - xi ) * dd   (k-1,3) )
27     2                     + ( 0.5 - q1 ) * ( dlo(i+2,j,k  )
28     3                     - ( dx3a(k  ) + xi ) * deod (k  ,3) )
29               do 2080 k=kbeg,kend
30               den(i  ,j,k) = ( dlo(i  ,j,k) * dvl3a(k)
31     1                      - dtwid (k+1,3) + dtwid (k,3) ) * dvl3a i(k)
32               e  (i+2,j,k) = ( e  (i+2,j,k) * dvl3a(k)
33     1                      - etwid (k+1,3) + etwid (k,3) ) * dvl3a i(k)
34               edn(i+2,j,k) =         e(i+2,j,k) / den(i+2,j,k)
35               e  (i+3,j,k) = ( e  (i+3,j,k) * dvl3a(k)
36     1                      - etwid (k+1,4) + etwid (k,4) ) * dvl3a i(k)
37               edn(i+3,j,k) =         e(i+3,j,k) / den(i+3,j,k)
382080           continue
392100   continue
40       end
41