blob: 45ecd159b3caf586b3998198ee83ccd14690a94f [file] [log] [blame]
thsdd43edf2007-10-08 13:32:20 +00001/* 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. */
5int x = -1;
6int y = 1;
7int
8main (void)
9{
10 while (y > 0)
11 y += x;
12 if (y != x + 1)
13 abort ();
14 exit (0);
15}