1C PR rtl-optimization/44691
2C { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } }
3C { dg-options "-O2 -fselective-scheduling2" }
4
5      SUBROUTINE ORIEN(IW,NATOT,NTOTORB,NATORB,P,T)
6      IMPLICIT DOUBLE PRECISION(A-H,O-Z)
7      DIMENSION NATORB(NATOT),P(NTOTORB*(NTOTORB+1)/2)
8      DIMENSION T(NTOTORB,NTOTORB)
9      DO 9000 IATOM=1,NATOT
10         ILAST = NTOTORB
11         IF (IATOM.NE.NATOT) ILAST=NATORB(IATOM+1)-1
12         DO 8000 IAOI=NATORB(IATOM),ILAST
13            DO 7000 IAOJ = IAOI+1,ILAST
14               R2 = 0.0D+00
15               R3 = 0.0D+00
16               DO 6000 INOTA=1,NATOT
17                  DO 5000 IK=NATORB(INOTA),NTOTORB
18                     IMAI=MAX(IK,IAOI)
19                     IMII=MIN(IK,IAOI)
20                     IMAJ=MAX(IK,IAOJ)
21                     IMIJ=MIN(IK,IAOJ)
22                     IKI=(IMAI*(IMAI-1))/2 + IMII
23                     IKJ=(IMAJ*(IMAJ-1))/2 + IMIJ
24                     PIKI=P(IKI)
25                     PIKJ=P(IKJ)
26                     R2 = R2 + (PIKI**4)-6*(PIKI*PIKI*PIKJ*PIKJ)+(PIKJ)
27 5000             CONTINUE
28 6000          CONTINUE
29               R2 = (R2/4.0D+00)
30               Q = SQRT(R2*R2 + R3*R3)
31               IF (Q.LT.1.0D-08) GO TO 7000
32               A = COS(THETA)
33               B = -SIN(THETA)
34               CALL ROT1INT(NTOTORB,IAOI,IAOJ,A,B,P)
35 7000       CONTINUE
36 8000    CONTINUE
37 9000 CONTINUE
38      RETURN
39      END
40
41
42