qemu/tests/tcg/cris/libc/check_gcctorture_pr28634-1.c
<<
>>
Prefs
   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.  */
   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}
  16