1! { dg-do compile }
2! { dg-options "-Ofast" }
3! { dg-additional-options "-mavx2" { target { x86_64-*-* i?86-*-* } } }
4      SUBROUTINE FOO(EF3,CA,ZA,NATA,IC4,NFRGPT)
5      IMPLICIT DOUBLE PRECISION (A-H,O-Z)
6      PARAMETER (MXATM=500)
7      COMMON DE(3,MXATM)
8      DIMENSION CA(3,NATA)
9      DIMENSION ZA(NATA)
10      DIMENSION EF3(3,NFRGPT)
11      DO II = 1,NATA
12         XII = XJ - CA(1,II)
13         YII = YJ - CA(2,II)
14         ZII = ZJ - CA(3,II)
15         RJII = SQRT(XII*XII + YII*YII + ZII*ZII)
16         R3 = RJII*RJII*RJII
17         IF (IC4.EQ.0) THEN
18            DE(1,II) = DE(1,II) - S2*ZA(II)*XII/R3
19            DE(2,II) = DE(2,II) - S2*ZA(II)*YII/R3
20            DE(3,II) = DE(3,II) - S2*ZA(II)*ZII/R3
21         ELSE
22            EF3(1,IC4+II) = EF3(1,IC4+II) - S2*ZA(II)*XII/R3
23            EF3(2,IC4+II) = EF3(2,IC4+II) - S2*ZA(II)*YII/R3
24            EF3(3,IC4+II) = EF3(3,IC4+II) - S2*ZA(II)*ZII/R3
25         END IF
26      END DO
27      RETURN
28      END
29