re PR tree-optimization/18400 (wrong unrolling after vectorization due to invalid...
authorDorit Naishlos <dorit@il.ibm.com>
Sun, 14 Nov 2004 20:44:52 +0000 (20:44 +0000)
committerDorit Nuzman <dorit@gcc.gnu.org>
Sun, 14 Nov 2004 20:44:52 +0000 (20:44 +0000)
2004-11-14  Dorit Naishlos  <dorit@il.ibm.com>

        PR tree-opt/18400
        * gcc.dg/vect/pr18400.c: New test.

2004-11-14  Dorit Naishlos  <dorit@il.ibm.com>
            Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/18425
        * gcc.dg/vect/pr18425.c: New test.

Co-Authored-By: Andrew Pinski <pinskia@physics.uc.edu>
From-SVN: r90631

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/vect/pr18400.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/pr18425.c [new file with mode: 0644]

index 52f9df43e9cbdfb4719a7e5575e49c49daed84af..a6f765b2559bc919dd7b354fd4b74d86c413d7d8 100644 (file)
@@ -1,3 +1,14 @@
+2004-11-14  Dorit Naishlos  <dorit@il.ibm.com>
+
+       PR tree-opt/18400
+       * gcc.dg/vect/pr18400.c: New test.
+
+2004-11-14  Dorit Naishlos  <dorit@il.ibm.com>
+            Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR tree-opt/18425
+       * gcc.dg/vect/pr18425.c: New test.
+
 2004-11-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
 
        * gcc.dg/tls/alias-1.c: Remove dg-warning on the SPARC.
diff --git a/gcc/testsuite/gcc.dg/vect/pr18400.c b/gcc/testsuite/gcc.dg/vect/pr18400.c
new file mode 100644 (file)
index 0000000..674ca48
--- /dev/null
@@ -0,0 +1,39 @@
+/* { dg-do run { target powerpc*-*-* } } */
+/* { dg-do run { target i?86-*-* x86_64-*-* } } */
+/* { dg-options "-funroll-loops -O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */
+/* { dg-options "-funroll-loops -O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */
+
+#include <stdarg.h>
+#include "tree-vect.h"
+
+#define N 8
+int main1 ()
+{  
+  int b[N] = {0,3,6,9,12,15,18,21};
+  int a[N];
+  int i;
+
+  for (i = 0; i < N; i++)
+    {
+      a[i] = b[i];
+    }
+
+  /* check results:  */
+  for (i = 0; i < N; i++)
+    {
+      if (a[i] != b[i])
+        abort ();
+    }
+
+  return 0;
+}
+
+int main (void)
+{ 
+  check_vect ();
+  
+  return main1 ();
+} 
+
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
diff --git a/gcc/testsuite/gcc.dg/vect/pr18425.c b/gcc/testsuite/gcc.dg/vect/pr18425.c
new file mode 100644 (file)
index 0000000..c000a7a
--- /dev/null
@@ -0,0 +1,21 @@
+/* { dg-do compile { target powerpc*-*-* i?86-*-* x86_64-*-* } } */
+/* { dg-options "-S -O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */
+/* { dg-options "-S -O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */
+
+#include <stdarg.h>
+#include "tree-vect.h"
+
+#define N 16
+
+char **      _M_allocate();
+void
+_M_fill_insert(unsigned int __n)
+{
+   char **__new_start = _M_allocate();
+   char *__tmp = 0;
+   for (; __n > 0; --__n, ++__new_start)
+     *__new_start = __tmp;
+}
+
+
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */