On Mon, Dec 23, 2013 at 04:43:17PM +0000, Bingfeng Mei wrote:
> Here are two vectorization tests for store with negative step. This is
> follow-up to PR59569 fix, which contains two tests for ICE.  These tests
> are for vectorization tests and executable.  OK to commit?

--- testsuite/gcc.dg/vect/vect-neg-store-1.c    (revision 0)
+++ testsuite/gcc.dg/vect/vect-neg-store-1.c    (revision 0)
@@ -0,0 +1,27 @@
+/* { dg-require-effective-target vect_int } */
+#include <stdlib.h>
+
+__attribute__((noinline, noclone))
+void test1(short x[128])
+{
+    int i;
+    for (i=127; i>=0; i--) {
+       x[i] = 1234;
+    }
+}
+
+int main (void)
+{
+  short x[128];
+  int i;
+  test1 (x);
+  
+  for (i = 0; i < 128; i++)
+   if (x[i] != 1234)
+     abort ();

Can you please change both tests so that the x array is say 128+32 elements
long instead of 128, you store some other pattern to the first 16 and last
16 elements in the array before calling test1 (do it say with asm ("");
inside of the loop to avoid vectorization), call test1 on x + 16 and
afterwards verify that test1 didn't write anything before or after the
buffer?  Ok with that change.

        Jakub

Reply via email to