1 C PR rtl-optimization/58968.f
2 C { dg-do compile { target powerpc*-*-*} }
3 C { dg-options "-mcpu=power7 -O3 -w -ffast-math -funroll-loops" }
4 SUBROUTINE MAKTABS
(IW
,SOME
,LBOX1
,LBOX2
,LBOX3
,NSPACE
,NA
,NB
,
6 * NX
,IAMA
,IAMI
,IBMA
,IBMI
,MNUM
,IDIM
,MSTA
,IBO
,
8 * NACT
,LWRK
,KTAB
,LGMUL
,
10 * LANDET
,LBNDET
,NAST
,NBST
,LSYMA
,LSYMB
,LGCOM
,
11 * MINI
,MAXI
,LSPA
,LSPB
,LDISB
,
12 * LSAS
,LSBS
,LSAC
,LSBC
,
13 * ITGA
,ITGB
,IAST
,IBST
,NCI
,NA1EX
,NB1EX
,FDIRCT
)
14 IMPLICIT DOUBLE PRECISION(A
-H
,O
-Z
)
16 DIMENSION LBOX1
(NSPACE
),LBOX2
(NSPACE
),LBOX3
(NSPACE
),LBST
(NSPACE
)
18 DIMENSION IAMA
(NSPACE
),IAMI
(NSPACE
),IBMA
(NSPACE
),IBMI
(NSPACE
)
19 DIMENSION MNUM
(NSPACE
),IDIM
(NSPACE
),MSTA
(NSPACE
+1),IBO
(NACT
)
20 DIMENSION LWRK
(43),KTAB
(NSYM
),LGMUL
(NSYM
,NSYM
)
22 DIMENSION LCOA
(NSYM
,ITGA
),LCOB
(NSYM
,ITGB
)
23 DIMENSION LANDET
(NSPACE
,ITGA
),LBNDET
(NSPACE
,ITGB
)
24 DIMENSION NAST
(ITGA
+1),NBST
(ITGB
+1)
25 DIMENSION LSYMA
(IAST
),LSYMB
(IBST
)
26 DIMENSION LGCOM
(ITGB
,ITGA
)
27 DIMENSION MINI
(NSPACE
),MAXI
(NSPACE
)
28 DIMENSION LSPA
(IAST
),LSPB
(IBST
)
29 DIMENSION LDISB
(NSYM
,ITGB
,ITGA
)
30 DIMENSION LSAS
(NSYM
+1,ITGA
),LSBS
(NSYM
+1,ITGB
)
31 DIMENSION LSAC
(IAST
),LSBC
(IBST
)
36 CALL RESETCO
(LBOX1
,NSPACE
,NB
,IBMA
,IBMI
,LBOX2
)
42 ITOT
= ITOT
* LANDET
(JJ
,II
)
44 NAST
(II
+1) = NAST
(II
) + ITOT
49 ITOT
= ITOT
* LBNDET
(JJ
,II
)
51 NBST
(II
+1) = NBST
(II
) + ITOT
54 CALL RESETCO
(LBOX1
,NSPACE
,NA
,IAMA
,IAMI
,LBOX3
)
57 CALL RESETCO
(LBOX1
,NSPACE
,NB
,IBMA
,IBMI
,LBOX3
)
59 CALL RESETDE
(LBOX1
,NSPACE
,NB
,MSTA
,LCON
)
60 DO KKB
=NBST
(IIB
)+1,NBST
(IIB
+1)
69 LBOX2
(ISPB1
) = LBOX2
(ISPB1
)-1
72 IGBE
= IEBE
- LBOX1
(ISPB1
)
75 IGBE
= IGBE
+ LBOX1
(ISPB2
)
76 LBOX2
(ISPB2
) = LBOX2
(ISPB2
) + 1
77 IGBA
= MAX
(IB1
+1,IGBS
)
84 IF (IGAP
.EQ
.IGBE
) IEND
=MSTA
(ISPB2
+1)-1
86 LBOX2
(ISPB2
) = LBOX2
(ISPB2
) - 1
89 LBOX2
(ISPB1
) = LBOX2
(ISPB1
) + 1
91 CALL MOVEUP2
(LBOX1
,NSPACE
,NB
,MSTA
,LCON
)
93 CALL PUSHCO
(LBOX1
,NSPACE
,NB
,IBMA
,IBMI
,LBOX3
,IEND
)