1 /* { dg-do compile } */
2 /* { dg-options "-O -fcaller-saves -fschedule-insns2 -fselective-scheduling2 -mtune=core2" } */
3 
4 union double_union
5 {
6   double d;
7   int i[2];
8 };
9 
10 void bar (int, ...);
11 
12 void
foo(double d)13 foo (double d)
14 {
15   union double_union du = { d };
16   while (1)
17     {
18       du.i[1] -= 0x100000L;
19       bar (0, du.d);
20       du.d += d;
21     }
22 }
23