1 /* PR rtl-optimization/28634.  On targets with delayed branches,
2    dbr_schedule could do the next iteration's addition in the
3    branch delay slot, then subtract the value again if the branch
4    wasn't taken.  This can lead to rounding errors.  */
5 int x = -1;
6 int y = 1;
7 int
8 main (void)
9 {
10   while (y > 0)
11     y += x;
12   if (y != x + 1)
13     abort ();
14   exit (0);
15 }
16