PR target/55146
[official-gcc.git] / gcc / testsuite / gcc.dg / sms-2.c
blob897e5d4b17374195cf5f2e8d07bc7820ae0653c5
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. */
4 /* { dg-do compile } */
5 /* { dg-options "-O2 -fmodulo-sched -fdump-rtl-sms" } */
7 int th, h, em, nlwm, nlwS, nlw, sy;
8 void
9 fun (nb)
10 int nb;
13 while (nb--)
14 while (h--)
16 nlw = nlwm;
17 while (nlw)
19 if (nlwS == 1)
22 else
23 if (nlwS == 1)
26 nlwS--; nlw--;
28 if (em)
29 nlwS--;
30 if (++sy == th)
31 sy = 0;
35 /* { dg-final { scan-rtl-dump-times "SMS loop many exits" 1 "sms" { target spu-*-* powerpc*-*-* } } } */
36 /* { dg-final { cleanup-rtl-dump "sms" } } */