re PR tree-optimization/36038 (miscompiled loop in perlbmk for -Os)
authorJakub Jelinek <jakub@redhat.com>
Wed, 19 Nov 2008 13:03:43 +0000 (14:03 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Wed, 19 Nov 2008 13:03:43 +0000 (14:03 +0100)
PR tree-optimization/36038
* gcc.c-torture/compile/pr36038.c: Moved to...
* gcc.c-torture/execute/pr36038.c: ... here.

From-SVN: r142000

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/compile/pr36038.c [deleted file]
gcc/testsuite/gcc.c-torture/execute/pr36038.c [new file with mode: 0644]

index 354eda68cc10cd67b55c1e1a72665a31ea73cd0c..6ab4ffaaae1536d209f12508f8cc6755d4f87f3f 100644 (file)
@@ -1,3 +1,9 @@
+2008-11-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/36038
+       * gcc.c-torture/compile/pr36038.c: Moved to...
+       * gcc.c-torture/execute/pr36038.c: ... here.
+
 2008-11-19  Andrew Stubbs  <ams@codesourcery.com>
 
        PR target/36133
diff --git a/gcc/testsuite/gcc.c-torture/compile/pr36038.c b/gcc/testsuite/gcc.c-torture/compile/pr36038.c
deleted file mode 100644 (file)
index de4bef3..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-/* PR tree-optimization/36038 */
-
-long long list[10];
-long long expect[10] = { 0, 1, 2, 3, 4, 4, 5, 6, 7, 9 };
-long long *stack_base;
-int indices[10];
-int *markstack_ptr;
-
-void
-doit (void)
-{
-  long long *src;
-  long long *dst;
-  long long *sp = stack_base + 5;
-  int diff = 2;
-  int shift;
-  int count;
-
-  shift = diff - (markstack_ptr[-1] - markstack_ptr[-2]);
-  count = (sp - stack_base) - markstack_ptr[-1] + 2;
-  src = sp;
-  dst = (sp += shift);
-  while (--count)
-    *dst-- = *src--;
-}
-
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 10; i++)
-    list[i] = i;
-
-  markstack_ptr = indices + 9;
-  markstack_ptr[-1] = 2;
-  markstack_ptr[-2] = 1;
-
-  stack_base = list + 2;
-  doit ();
-  if (__builtin_memcmp (expect, list, sizeof (list)))
-    __builtin_abort ();
-  return 0;
-}
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr36038.c b/gcc/testsuite/gcc.c-torture/execute/pr36038.c
new file mode 100644 (file)
index 0000000..de4bef3
--- /dev/null
@@ -0,0 +1,43 @@
+/* PR tree-optimization/36038 */
+
+long long list[10];
+long long expect[10] = { 0, 1, 2, 3, 4, 4, 5, 6, 7, 9 };
+long long *stack_base;
+int indices[10];
+int *markstack_ptr;
+
+void
+doit (void)
+{
+  long long *src;
+  long long *dst;
+  long long *sp = stack_base + 5;
+  int diff = 2;
+  int shift;
+  int count;
+
+  shift = diff - (markstack_ptr[-1] - markstack_ptr[-2]);
+  count = (sp - stack_base) - markstack_ptr[-1] + 2;
+  src = sp;
+  dst = (sp += shift);
+  while (--count)
+    *dst-- = *src--;
+}
+
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 10; i++)
+    list[i] = i;
+
+  markstack_ptr = indices + 9;
+  markstack_ptr[-1] = 2;
+  markstack_ptr[-2] = 1;
+
+  stack_base = list + 2;
+  doit ();
+  if (__builtin_memcmp (expect, list, sizeof (list)))
+    __builtin_abort ();
+  return 0;
+}