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
