Abe wrote:

diff --git a/gcc/testsuite/gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c 
b/gcc/testsuite/gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c
index 71f2db3..2b159d7 100644
--- a/gcc/testsuite/gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c
+++ b/gcc/testsuite/gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c
@@ -65,4 +65,12 @@ main (void)
    return 0;
  }

-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect"  { xfail { { 
vect_no_align && { ! vect_hw_misalign } } || { ! vect_strided2 } } } } } */
+/* "foo()" is not vectorized FOR NOW because gather-load
+   cannot handle conditional gather loads as of June 2015.
+
+   The old way of if-converting loads was unsafe because
+   it resulted in thread-unsafe code where the as-written code was OK.
+   The old if conversion did not contain indirection in the loads,
+   so it was simpler, therefor the vectorizer was able to pick it up.  */
+
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect"  { xfail { { 
vect_no_align && { ! vect_hw_misalign } } || { ! vect_strided2 } } } } } */

Would having a testsuite predicate for the target supporting gathered loads, let you run this test on those architectures? I'd expect one to be useful in a few other places too, in time if it doesn't exist already...

--Alan

Reply via email to