| ! { dg-do compile } |
| ! { dg-options "-O2 -fpeel-loops -ftree-loop-vectorize -fno-tree-scev-cprop --param iv-max-considered-uses=2" } |
| REAL FUNCTION FOO(M, N, A, W) |
| |
| INTEGER M, N |
| |
| REAL W(*) |
| COMPLEX A(*) |
| |
| INTEGER II, JI, JJ, KK, LL, MP |
| |
| EXTERNAL BAR |
| |
| INTEGER QUX |
| EXTERNAL QUX |
| |
| CALL BAR(II) |
| |
| IF (M .EQ. 0) THEN |
| IF (N .EQ. 0) THEN |
| DO 140 KK = II, II + MP |
| W(KK) = 0 |
| 140 CONTINUE |
| ELSE |
| KK = II + MP |
| END IF |
| |
| DO 130 JI = KK, KK + MP |
| DO 120 LL = JJ, JJ + MP |
| DO 110 KK = II, II + MP |
| W(KK) = (A(KK)) |
| 110 CONTINUE |
| 120 CONTINUE |
| 130 CONTINUE |
| |
| IF (W(KK) .EQ. 0) THEN |
| FOO = W(QUX(MP, W, 1)) |
| END IF |
| |
| END IF |
| |
| RETURN |
| |
| END |