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):
Signed-off-by: Andrew Pinski <[email protected]>
---
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