diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/tree-ssa/pr20742.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/pr20742.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr20742.c b/gcc/testsuite/gcc.dg/tree-ssa/pr20742.c new file mode 100644 index 000000000..21d6eb63c --- /dev/null +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr20742.c @@ -0,0 +1,18 @@ +/* { dg-do compile } */ +/* { dg-options "-O2" } */ + +#define TEN(x) x x x x x x x x x x +#define THOUSAND(x) TEN (TEN (TEN (x))) + +int +foo (int x, int y) +{ + register int a = y + 57; + register int b = y + 31; + + while (x-- > 0) + { + THOUSAND (a += b; b -= a;) + } + return a + b; +} |