Add qemu 2.4.0
[kvmfornfv.git] / qemu / tests / tcg / cris / check_gcctorture_pr28634.c
diff --git a/qemu/tests/tcg/cris/check_gcctorture_pr28634.c b/qemu/tests/tcg/cris/check_gcctorture_pr28634.c
new file mode 100644 (file)
index 0000000..a0c5254
--- /dev/null
@@ -0,0 +1,15 @@
+/* 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);
+}