Hi,
GCC should be able to vectorize gcc.dg/vect/pr56541.c on targets do not support 
vect_cond_mixed.  Problem is jump threading factors comparison out of cond_expr 
and creates mixed-type cond_expr.  As a result, it can only be vectorized with 
vect_cond_mixed.  We don't have a good solution at the moment, this patch xfail 
it on such targets.

Thanks,
bin

gcc/testsuite/ChangeLog
2016-11-04  Bin Cheng  <bin.ch...@arm.com>

        * gcc.dg/vect/pr56541.c: Xfail on !vect_cond_mixed targets.
diff --git a/gcc/testsuite/gcc.dg/vect/pr56541.c 
b/gcc/testsuite/gcc.dg/vect/pr56541.c
index 16b8d7c..d5def68 100644
--- a/gcc/testsuite/gcc.dg/vect/pr56541.c
+++ b/gcc/testsuite/gcc.dg/vect/pr56541.c
@@ -24,4 +24,4 @@ void foo()
     }
 }
 
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail { ! 
vect_cond_mixed } } } } */

Reply via email to