On Mon, Feb 8, 2016 at 7:22 AM, Andrew Pinski <pins...@gmail.com> wrote: > Hi, > The problem is that even though expand knows how to expand > VEC_COND<a, b, c> when there is no vcond_mask pattern, > expand_vec_cond_expr_p returns false. So this patch allows > expand_vec_cond_expr_p to try the next part of the function if there > is no vcond_mask pattern. > > OK? Bootstrapped and tested on aarch64-linux-gnu with no regressions.
Please combine the two ifs. if (VECTOR_BOOLEAN_TYPE_P (cmp_op_type) && get_vcond_mask_icode (TYPE_MODE (value_type), + TYPE_MODE (cmp_op_type)) != CODE_FOR_nothing) return true; Ok with that change. Thanks, Richard. > Thanks, > Andrew Pinski > > ChangeLog: > * optabs-tree.c (expand_vec_cond_expr_p): Don't early return if > get_vcond_mask_icode returns false. > > Testsuite/ChangeLog: > * gcc.c-torture/compile/20160205-1.c: New testcase.