Richard Biener via Gcc-patches <gcc-patches@gcc.gnu.org> writes:
> Currently we diagnose vector lowering of V1mode operations that
> are not natively supported into V_C_E, scalar op plus CTOR with
> -Wvector-operation-performance but that's hardly useful behavior
> even though the way we lower things can be improved.
>
> The following disables the diagnostics for the cases the vect.exp
> testsuite runs into, on x86 that are vect-cond-11.c and
> vect-singleton_1.c.
>
> Bootstrap / regtest pending on x86_64-unknown-linux-gnu.
>
> Comments?

Makes sense to me FWIW.

Thanks,
Richard

> Thanks,
> Richard.
>
> 2022-01-19  Richard Biener  <rguent...@suse.de>
>
>       PR tree-optimization/104114
>       * tree-vect-generic.c (expand_vector_piecewise): Do not diagnose
>       single element vector decomposition.
> ---
>  gcc/tree-vect-generic.cc | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/gcc/tree-vect-generic.cc b/gcc/tree-vect-generic.cc
> index 5814a71a5bb..f4fc7d16119 100644
> --- a/gcc/tree-vect-generic.cc
> +++ b/gcc/tree-vect-generic.cc
> @@ -317,7 +317,10 @@ expand_vector_piecewise (gimple_stmt_iterator *gsi, 
> elem_op_func f,
>    int i;
>    location_t loc = gimple_location (gsi_stmt (*gsi));
>  
> -  if (ret_type || !parallel_p)
> +  if (nunits == 1)
> +    /* Do not diagnose decomposing single element vectors.  */
> +    ;
> +  else if (ret_type || !parallel_p)
>      warning_at (loc, OPT_Wvector_operation_performance,
>               "vector operation will be expanded piecewise");
>    else

Reply via email to