1 /* { dg-do compile } */ 2 /* { dg-options "-O2" } */ 3 4 #define TEN(x) x x x x x x x x x x 5 #define THOUSAND(x) TEN (TEN (TEN (x))) 6 7 int foo(int x,int y)8foo (int x, int y) 9 { 10 register int a = y + 57; 11 register int b = y + 31; 12 13 while (x-- > 0) 14 { 15 THOUSAND (a += b; b -= a;) 16 } 17 return a + b; 18 } 19