diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/sms-2.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/sms-2.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/sms-2.c b/gcc/testsuite/gcc.dg/sms-2.c new file mode 100644 index 000000000..9ea63bd0f --- /dev/null +++ b/gcc/testsuite/gcc.dg/sms-2.c @@ -0,0 +1,37 @@ +/* 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" } */ + + +void +fun (nb) + int nb; +{ + int th, h, em, nlwm, nlwS, nlw, sy; + + 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 succeeded" 1 "sms" { target spu-*-* powerpc*-*-* } } } */ +/* { dg-final { cleanup-rtl-dump "sms" } } */ |