https://gcc.gnu.org/g:69bcf1d6aa52a531f7bc4976e407325fe9742cf6
commit r16-342-g69bcf1d6aa52a531f7bc4976e407325fe9742cf6 Author: Andrew Pinski <quic_apin...@quicinc.com> Date: Thu May 1 09:05:47 2025 -0700 vect: Use internal storage for converts for call into supportable_indirect_convert_operation [PR118617] 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): Have 2 elements as internal storage for converts. * tree-vect-stmts.cc (vectorizable_conversion): Likewise. Signed-off-by: Andrew Pinski <quic_apin...@quicinc.com> Diff: --- 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 80c2d31776bb..3c68361870bf 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 42b6059520ac..537ae6c2f614 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)