aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDorit Naishlos <dorit@il.ibm.com>2004-11-14 20:44:52 +0000
committerDorit Nuzman <dorit@gcc.gnu.org>2004-11-14 20:44:52 +0000
commitf7f021251dcffa472029790464fc4b6b338454ca (patch)
tree2229fe7ea0dcfcb9e8cf98c1ee39f9c4c340c457
parent594a51febe0e6419db7bf30ca233da8a563301fa (diff)
downloadgcc-f7f021251dcffa472029790464fc4b6b338454ca.zip
gcc-f7f021251dcffa472029790464fc4b6b338454ca.tar.gz
gcc-f7f021251dcffa472029790464fc4b6b338454ca.tar.bz2
re PR tree-optimization/18400 (wrong unrolling after vectorization due to invalid loop->nb_iterations)
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
-rw-r--r--gcc/testsuite/ChangeLog11
-rw-r--r--gcc/testsuite/gcc.dg/vect/pr18400.c39
-rw-r--r--gcc/testsuite/gcc.dg/vect/pr18425.c21
3 files changed, 71 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 52f9df4..a6f765b 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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
index 0000000..674ca48
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/vect/pr18400.c
@@ -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
index 0000000..c000a7a
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/vect/pr18425.c
@@ -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" } } */