On Thu, May 1, 2025 at 4:28 PM 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):
Whoops I messed up the changelog: * tree-vect-generic.cc (expand_vector_conversion): Have 2 elements as internal storage for converts. * tree-vect-stmts.cc (vectorizable_conversion): Likewise. > > 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 >