| /* The same test as 921011-1.c. It can fails on gcc 4.1 due to a dfs |
| traversal of the loops after versioning. */ |
| |
| /* { dg-do compile } */ |
| /* { dg-options "-O2 -fmodulo-sched -fdump-rtl-sms" } */ |
| |
| int th, h, em, nlwm, nlwS, nlw, sy; |
| void |
| fun (nb) |
| int nb; |
| { |
| |
| while (nb--) |
| while (h--) |
| { |
| nlw = nlwm; |
| while (nlw) |
| { |
| if (nlwS == 1) |
| { |
| } |
| else |
| if (nlwS == 1) |
| { |
| } |
| nlwS--; nlw--; |
| } |
| if (em) |
| nlwS--; |
| if (++sy == th) |
| sy = 0; |
| } |
| } |
| |
| /* { dg-final { scan-rtl-dump-times "SMS loop many exits" 1 "sms" { target spu-*-* powerpc*-*-* } } } */ |
| /* { dg-final { cleanup-rtl-dump "sms" } } */ |