* gcc.dg/vect/vect-98.c: New test.
authorIra Rosen <irar@il.ibm.com>
Thu, 17 Feb 2005 11:37:03 +0000 (11:37 +0000)
committerIra Rosen <irar@gcc.gnu.org>
Thu, 17 Feb 2005 11:37:03 +0000 (11:37 +0000)
From-SVN: r95167

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

index 9393ef1..7b678a3 100644 (file)
@@ -1,3 +1,7 @@
+2005-02-17  Ira Rosen  <irar@il.ibm.com>
+
+       * gcc.dg/vect/vect-98.c: New test.
+
 2005-02-16  Kazu Hirata  <kazu@cs.umass.edu>
 
        PR tree-optimization/19967
diff --git a/gcc/testsuite/gcc.dg/vect/vect-98.c b/gcc/testsuite/gcc.dg/vect/vect-98.c
new file mode 100644 (file)
index 0000000..5d54f7a
--- /dev/null
@@ -0,0 +1,40 @@
+/* { dg-require-effective-target vect_int } */
+
+#include <stdarg.h>
+#include "tree-vect.h"
+
+#define N 4
+#define DOT4( a, b )  ( a[0]*b[0] + a[1]*b[1] + a[2]*b[2] + a[3]*b[3] )
+
+int main1 (int ia[][N])
+{
+  int i, j;
+  int ib[N] = {0,3,6,9};
+  int ic[N][N];
+
+  for (i = 0; i < N; i++)
+    {
+       ic[0][i] = DOT4 (ia[i], ib);
+    }
+
+  /* check results: */  
+  for (i = 0; i < N; i++)
+    {
+       if (ic[0][i] != DOT4 (ia[i], ib))
+           abort();
+    }
+
+  return 0;
+}
+
+int main (void)
+{ 
+  int ia[N][N] = {{1,2,3,4},{2,3,5,7},{2,4,6,8},{22,43,55,77}};
+
+  check_vect ();
+
+  return main1 (ia);
+}
+
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail *-*-* } } } */
+/* { dg-final { scan-tree-dump-times "not vectorized: complicated access pattern" 1 "vect" } } */