https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85412
--- Comment #10 from Andrey Belevantsev <abel at gcc dot gnu.org> --- (In reply to Arseny Solokha from comment #9) > (In reply to Andrey Belevantsev from comment #8) > > trunk doesn't > > ICE for me. > > I don't have a good testcase at hand (it's just a matter of time, though), > but at least the following snippet makes the current trunk ICE: > > subroutine kc (IX, L4, PQ) > > integer VT, DK, L4, IX, F0 > real PQ (L4, L4) > > F0 = VT > > 0010 do VT = 1, 2 > end do > > if (IX .eq. 0) go to 0020 > > do VT = 1, L4 > end do > > go to 0010 > > 0020 do VT = 1, L4 > if (VT .ge. 0 .and. VT .le. F0) go to 0030 > > do DK = VT, L4 > PQ (VT, DK) = 0.0 > end do > 0030 end do > > return > end > > % powerpc-e300c3-linux-gnu-gfortran-9.0.0-alpha20190317 -m32 -mcpu=970 -O1 > -fschedule-insns2 -fsel-sched-pipelining -fsel-sched-pipelining-outer-loops > -fselective-scheduling2 -ftree-parallelize-loops=2 --param > selsched-max-sched-times=3 -c eowqbvfn.f Is it easy for you to check that the above patch fixes also your testcase?