1/* The same test as 921011-1.c.  It can fails on gcc 4.1 due to a dfs
2   traversal of the loops after versioning.  */
3
4/* { dg-do compile } */
5/* { dg-options "-O2 -fmodulo-sched -fdump-rtl-sms" } */
6
7int th, h, em, nlwm, nlwS, nlw, sy;
8void
9fun (nb)
10     int nb;
11{
12
13  while (nb--)
14    while (h--)
15      {
16	nlw = nlwm;
17	while (nlw)
18	  {
19	    if (nlwS == 1)
20	      {
21	      }
22	    else
23	      if (nlwS == 1)
24		{
25		}
26	    nlwS--; nlw--;
27	  }
28	if (em)
29	  nlwS--;
30	if (++sy == th)
31	  sy = 0;
32      }
33}
34
35/* { dg-final { scan-rtl-dump-times "SMS loop many exits" 1 "sms" { target spu-*-* powerpc*-*-* } } } */
36/* { dg-final { cleanup-rtl-dump "sms" } } */
37