qemu-e2k/tests/tcg/cris/libc/check_gcctorture_pr28634.c

16 lines
377 B
C

/* PR rtl-optimization/28634. On targets with delayed branches,
dbr_schedule could do the next iteration's addition in the
branch delay slot, then subtract the value again if the branch
wasn't taken. This can lead to rounding errors. */
double x = -0x1.0p53;
double y = 1;
int
main (void)
{
while (y > 0)
y += x;
if (y != x + 1)
abort ();
exit (0);
}