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.

Reply via email to