On Fri, May 2, 2025 at 7:28 AM Andrew Pinski <quic_apin...@quicinc.com> wrote:
>
> While looking into PR 118616, I noticed that
> supportable_indirect_convert_operation only pushes up to 2 into its vec.
> And the 2 places which call supportable_indirect_convert_operation,
> use an auto_vec but without an internal storage. In this case an internal
> storage of 2 elements would save both memory and slight compile time 
> performance.
>
> Bootstrapped and tested on x86_64-linux-gnu.
>
>         PR tree-optimization/118617
> gcc/ChangeLog:
>
>         * tree-vect-generic.cc (expand_vector_conversion):
>         * tree-vect-stmts.cc (vectorizable_conversion):

Need more descriptions.

> Signed-off-by: Andrew Pinski <quic_apin...@quicinc.com>
> ---
>  gcc/tree-vect-generic.cc | 2 +-
>  gcc/tree-vect-stmts.cc   | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/gcc/tree-vect-generic.cc b/gcc/tree-vect-generic.cc
> index 80c2d31776b..3c68361870b 100644
> --- a/gcc/tree-vect-generic.cc
> +++ b/gcc/tree-vect-generic.cc
> @@ -1754,7 +1754,7 @@ expand_vector_conversion (gimple_stmt_iterator *gsi)
>    else if (ret_elt_bits > arg_elt_bits)
>      modifier = WIDEN;
>
> -  auto_vec<std::pair<tree, tree_code> > converts;
> +  auto_vec<std::pair<tree, tree_code>, 2> converts;
>    if (supportable_indirect_convert_operation (code, ret_type, arg_type,
>                                               converts))
>      {
> diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc
> index 42b6059520a..537ae6c2f61 100644
> --- a/gcc/tree-vect-stmts.cc
> +++ b/gcc/tree-vect-stmts.cc
> @@ -5706,7 +5706,7 @@ vectorizable_conversion (vec_info *vinfo,
>    scalar_mode lhs_mode = SCALAR_TYPE_MODE (lhs_type);
>    scalar_mode rhs_mode = SCALAR_TYPE_MODE (rhs_type);
>    opt_scalar_mode rhs_mode_iter;
> -  auto_vec<std::pair<tree, tree_code> > converts;
> +  auto_vec<std::pair<tree, tree_code>, 2> converts;
>
>    /* Supportable by target?  */
>    switch (modifier)
> --
> 2.43.0
>


-- 
H.J.

Reply via email to