aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/pr101121.f
blob: b623ac1079405d0deb7e40b9159234df9f39af8f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
! { dg-do compile }
! { dg-options "-Ofast -std=legacy" }
! { dg-additional-options "-march=haswell" { target x86_64-*-* i?86-*-* } }
      COMMON /JMSG80/ PI4,PIF,P120,R12,P340,R34,FCS(4,3),E34MAX,
     7                IJSAME,KLSAME,IKSMJL
      DIMENSION P1(3),FQ(0:5),F1(0:4),F2(0:4),WS(8),WP(8)
      DIMENSION VEA(12),VES(9),WES(6)
      DIMENSION T(0:20),U(0:20)
      DIMENSION T3R(6,3,3,3),T9B(0:20,3,3,3)
      DIMENSION F5X(0:12,3,3,3),F6X(0: 6,3,3,3,3)
      DIMENSION A31(0:3,0:3),C31(2,0:3),A32(0:3,0:3),C32(2,0:3)
      DIMENSION A41(0:3,0:3),C41(2,0:3),A42(0:3,0:3),C42(2,0:3)
      DIMENSION A33(16),FIJ00(2),A43(16),FI0K0(2)
      DIMENSION SEJJK0(  3),A54(16,  3),C54(2,  3)
      DIMENSION A56(0:22,3,0:3),C56(2,0:3)
      DIMENSION A60(0:3,0:3),C60(2,0:3),A61(0:3,0:3),C61(2,0:3)
      DIMENSION A62(16),FI00L(2),A63(16),F0J0L(2)
      DIMENSION A64(0:3,0:3),C64(2,  3),A65(0:3,0:3),C65(2,  3)
      DIMENSION A69(0:3,  3),C69(2,0:3),A70(0:3,  3),C70(2,0:3)
      DIMENSION A71(18,  3),C71(2,  3)
      DIMENSION A72(18,  3),C72(2,  3)
      DIMENSION A73(18,0:3),C73(2,0:3)
      DIMENSION SE0LKL(  3),A75(16,3),C75(2,0:3)
      DIMENSION SE0JLL(  3),A76(16,3),C76(2,0:3)
      DIMENSION A77(0:25,3,0:3),C77(2,0:3),A78(0:31,3,0:3),C78(2,0:3)
      DIMENSION A79(0:31,3,0:3),C79(2,0:3)
      DIMENSION A80(0: 2,2),A81(0:24,3),A82(0:31,2),A83(0:22,2)
      DIMENSION A84(0:13,2),A85(0:13,2),A86(0: 6)
      DIMENSION S4(0:14),Q4(0:4),FIJKL(2)
                  IF(XVA.LT.CUG) THEN
                  ENDIF
                     F1(M)= FQ0*TMP
                     F2(M)= FQ0*TMP
                  XX1=-X12*X43
      IF(JI.EQ.1) THEN
            DO 255 J=1,3
  255    CONTINUE
         DO 268 K=1,3
            SEJJK00= E0+E(2,2,K,0)+E(3,3,K,0)
            A54( 5,K)= A540
  268    CONTINUE
  297       F5X(3+M,I,I,I)=-R3(M,I,I,I)
            DO 299 J=1,3
                     F5X(3+M,I,I,J)=-R3(M,J,I,I)
  299    CONTINUE
         DO 300 L=0,M56
            DO 300 M=1,3
  300    A56(N,M,L)= ZER
               A60(2,L)= A600+P34(I,3)*E(I,0,0,L)
               A61(0,L)= A610+D1I     *E(L,0,0,I)
               A61(1,L)= A610+P12(I,3)*E(L,0,0,I)
         SEL00L= E(1,0,0,1)+E(2,0,0,2)+E(3,0,0,3)
               IF(I.NE.J) THEN
                  K=6-I-J
                  F6X(0,J,I,I,I)= ZER
                  F6X(0,I,J,I,I)= ZER
                  F6X(0,I,I,J,I)= ZER
                  F6X(0,I,I,I,J)= ZER
                     F6X(M,I,I,K,J)= R2(M,K,J)
               ENDIF
  391       A82( M,N)= ZER
  392       A83( M,N)= ZER
               A84(M,N)= ZER
               A85(M,N)= ZER
  397    A86( M)= ZER
         DO 399 K=1,3
            DO 399 J=1,3
                  DO 398 M=1,6
                     T9B(M+ 2,I,J,K)= T3R0
                     T9B(M+ 8,I,J,K)= T1R(M,I,J,K)
                     T9B(M+14,I,J,K)= T3R0
  398             CONTINUE
  399    CONTINUE
  417                A77( M,3,K)= A770+F5X0*GEIJKL
  445                A81( M,3) = A81( M,3)+T( M)*TMP
                     IF(K.EQ.L)A81( 5,3)=A81( 5,3)+TMP
                     IF(I.EQ.J) THEN
                        DO 447 M=6,11
  447                   A81( M,3) = A81( M,3)+T( M)*GEIJKL
                     ENDIF
      ENDIF
      IF(LK.EQ.1) THEN
         IF(JTYPE.NE.4) THEN
            DO 510 J=0,3
               A31(3,J)= A310+ A310*Y02
               A32(3,J)= A320+ A320*Y02
  510       CONTINUE
            A33( 6)=-AEIJ00*Y1Y+T01
            A33( 7)= A330-0*Y01+T01
            A33( 8)= A330- A330*Y01
            A33(15)= A330+0*Y02
            A33(16)= A330+ A330*Y02
         ENDIF
            A84(12,N)= A84( 7,N)+ A84( 8,N)*Y02
            A84(13,N)= A84( 9,N)
         A85(10,2)= A85(10,2)- A85(10,1)+ A850
         A85(11,2)= A85(11,2)- A85(11,1)+ A850
         A85(12,2)= A85(12,2)- A85(12,1)+ A850
         A85(13,2)= A85(13,2)- A85(13,1)
         Q4(0)= S4( 0)+(S4( 1)+(S4( 2)+(S4( 3)+S4( 4)*Y02)*Y02)*Y02)*Y02
         Q4(1)= S4( 5)+(S4( 6)+(S4( 7)+ S4( 8)*Y02)*Y02)*Y02
         Q4(2)= S4( 9)+(S4(10)+ S4(11)*Y02)*Y02
         Q4(3)= S4(12)+ S4(13)*Y02
         Q4(4)= S4(14)
      ENDIF
      IF(JTYPE.NE.4) THEN
      ENDIF
         C42(1,M)= T0*F10-T0*F10
         C42(2,M)= T0*F20-T0*F20
      T(1)= T01+(A43( 4)- A43( 5)*Y04)*Y04
      F0J0L(2)= T(0)*F20-T0*F20+T(2)*F20
      DO 660 N=1,3
         T(0)= A64(3,N)- A64(0,N)- A64(1,N)
         T(1)= A640- A640*Y04
         C64(1,N)= T0*F10-T0*F10
         C64(2,N)= T0*F20-T0*F2(1)
         C65(1,N)= T0*F10-T0*F10
         C65(2,N)= T0*F20-T0*F2(1)
         C70(2,N)= T0*F20-T0*F20
         T(2)=(A71(17,N)-(A71(18,N)- A71(16,N)*Y04)*Y04)*XX1
         C71(1,N)= T0*F10-T0*F10+T0*F10
         C71(2,N)= T0*F20-T0*F20+T0*F20
         T(1)=(A720+ A720- A720-T0)*XX1
         C72(1,N)= T0*F10-T0*F10+T0*F10
         C75(1,N)= T(0)*F10-T0*F1(1)+T(2)*F1(2)
         C75(2,N)= T(0)*F20-T0*F2(1)+T(2)*F2(2)
         T01 = A76( 6,N)*XX1
         T(1)=(T01- A760-(A760- A76( 7,N)- A76( 8,N)
     2                       -(A760+ A76( 3,N))*Y04)*Y04)*XX1
  660 CONTINUE
         C73(2,M)= T0*F20+T0*F20+T(2)*F20
     2       +(A77(23,1,M)+ A77(24,1,M)*Y04)*Y03
         T(2)=(A77(21,2,M)+(A77(22,2,M)+ A77(23,2,M)*Y04)*Y04)*XX1
     2       -(A77(24,2,M)-(A77(25,2,M)+ A77(20,2,M)*Y04)*Y04)*Y03
         T(3)=(A77(21,3,M)+(A77(22,3,M)+(A77(23,3,M)
     2                                 + A77(24,3,M)*Y04)*Y04)*Y04)*XX1
         C77(1,M)= T0*F10-T0*F10-T0*F10+T0*F10
         C77(2,M)= T(0)*F20-T(1)*F20-T(2)*F20+T(3)*F20
         T(0)=(A780+ A78(24,1,M))*Y3Y+ A780*XX1
         T(1)=(A78(23,1,M)+(A78(21,1,M)+A78(22,1,M)*Y04)*Y04)*XX1
     2       +(A78(25,1,M)+ A78(26,1,M)*Y04)*Y3Y- A78(27,1,M)*XX2
         T(2)=(A78(21,2,M)+(A78(22,2,M)+ A78(28,2,M)*Y04)*Y04)*XX2
     2       +(A78(23,2,M)-(A78(24,2,M)+ A78(25,2,M)*Y04)*Y04)*XX1
     3       -(A78(29,2,M)-(A78(30,2,M)+ A78(31,2,M)*Y04)*Y04)*Y41
         T(3)=(A78(21,3,M)+(A78(22,3,M)+(A78(23,3,M)
     2                                 + A78(24,3,M)*Y04)*Y04)*Y04)*XX2
         C78(1,M)= T0*F10-T0*F1(1)-T(2)*F1(2)+T(3)*F1(3)
         C78(2,M)= T(0)*F2(0)-T(1)*F2(1)-T(2)*F2(2)+T(3)*F2(3)
         T(0)=-A79(24,1,M)*Y3Y+ A79(30,1,M)*H43
         T(1)=(A79(21,1,M)-(A79(23,1,M)+ A79(22,1,M)*Y04)*Y04)*XX1
     2       +(A79(25,1,M)+ A79(26,1,M)*Y04)*Y3Y- A79(29,1,M)*XX2
         T(2)=(A79(21,2,M)+(A79(22,2,M)- A79(28,2,M)*Y04)*Y04)*XX2
     2       +(A79(23,2,M)-(A79(24,2,M)+ A79(25,2,M)*Y04)*Y04)*XX1
     3       -(A79(29,2,M)-(A79(30,2,M)+ A79(31,2,M)*Y04)*Y04)*Y41
         T(3)=(A79(21,3,M)+(A79(22,3,M)+(A79(23,3,M)
     2                                 + A79(24,3,M)*Y04)*Y04)*Y04)*XX2
         C79(1,M)= T(0)*F1(0)-T(1)*F1(1)-T(2)*F1(2)+T(3)*F1(3)
         C79(2,M)= T(0)*F2(0)-T(1)*F2(1)-T(2)*F2(2)+T(3)*F2(3)
      T(0)= A80( 2,1)*Y3Y+ A80( 2,2)*H43
      T(1)=(A81(16,1)+(A81(14,1)+A81(15,1)*Y04)*Y04)*XX1
     2    +(A81(18,1)+ A81(19,1)*Y04)*Y3Y- A81(20,1)*XX2
      T(2)=(A82(21,1)+(A82(22,1)+ A82(28,1)*Y04)*Y04)*XX2
     2    +(A82(23,1)-(A82(24,1)+ A82(25,1)*Y04)*Y04)*XX1
     3    +(A83(15,2)+(A83(16,2)+ A82(31,1)*Y04)*Y04)*Y41
     4    -(A83(17,2)-(A83(18,2)- A83(19,2)*Y04)*Y04)*Y3Y
      T(3)=(A84(10,1)+(A84(11,1)+(A84(12,1)+A84(13,1)*Y04)*Y04)*Y04)*XX2
     2    +(A85(10,1)+(A85(10,2)+(A85(11,2)+(A85(12,2)
     3                          + A85(13,2)*Y04)*Y04)*Y04)*Y04)*XX1
      T(4)=(Q4(0)+(Q4(1)+(Q4(2)+(Q4(3)+Q4(4)*Y04)*Y04)*Y04)*Y04)*XX2
      FIJKL(1)= T(0)*F1(0)-T(1)*F1(1)-T(2)*F1(2)+T(3)*F1(3)+T(4)*F1(4)
      FIJKL(2)= T(0)*F2(0)-T(1)*F2(1)-T(2)*F2(2)+T(3)*F2(3)+T(4)*F2(4)
                  DO 800 ICP=1,2
                     VE0= VE0+C61(ICP,0)*WP(1)+FI00L(ICP)*WP(2)
     2                       +F0J0L(ICP)*WP(3)+C77(ICP,0)*WP(4)
     3                       +C73(ICP,0)*WP(5)+C78(ICP,0)*WP(6)
     4                       +C79(ICP,0)*WP(7)+FIJKL(ICP)*WP(8)
                     IF(ICP.EQ.1) THEN
                        DO 720 M=1,3
                           VES(  M)= VES(  M)+VEA(  M)
                           VES(3+M)= VES(3+M)+VEA(3+M)
                           T01 = VEA(6+M)
                           T02 = VEA(9+M)
                           WES(  M)=-T01+(T01+T02)*Y03
  720                   CONTINUE
                        FE1= X24*VE0
                        DO 730 M=1,3
                           T01 = VEA(  M)+VEA(3+M)
                           T02 = VEA(6+M)+VEA(9+M)
                           WES(3+M)=-T01+(T01+T02)*Z02
  730                   CONTINUE
                     ENDIF
  800             CONTINUE
                     WES(  M)= WES(  M)+P34(M,3)*FE0
                     WES(3+M)= WES(3+M)-P1(M)*FE1
                     VES(6+M)= VES(6+M)+WES(3+M)
                     FCS(3,M)= FCS(3,M)-WES(3+M)*Y03+WES(  M)
            DO 925 M=1,3
               T01= VES(  M)
               T02= VES(3+M)+VES(6+M)
               T01=-T01+(T01+T02)*Y01+P12(M,3)*TMP
               FCS(2,M)= FCS(2,M)-T01+VES(6+M)
  925       CONTINUE
      END