1      ! { dg-do compile { target { { i?86-*-* x86_64-*-* } && ilp32 } } }
2      ! { dg-options "-w -O2 -ffloat-store -fgcse-after-reload" }
3      !
4      ! GCSE after reload made a stack register live across an abnormal
5      ! edges for one of the computed jumps.  This bombed in reg-stack.
6      function foo(n)
7      real(kind=8) foo
8      integer ix, n, next
9      real(kind=8) xmax, absx
10      foo  = 0.0d0
11      assign 20 to next
12      do ix = 1,n
13         go to next,(10, 30)
14   10    assign 40 to next
15         go to 40
16   20    if (absx .gt. 8.232d-11) go to 40
17   30    if (absx .le. xmax) go to 40
18         xmax = absx
19   40    go to next,(10, 30)
20      end do
21      return
22      end
23