diff options
author | Andrew Pinski <quic_apinski@quicinc.com> | 2025-05-01 09:05:47 -0700 |
---|---|---|
committer | Andrew Pinski <quic_apinski@quicinc.com> | 2025-05-01 23:49:36 -0700 |
commit | 69bcf1d6aa52a531f7bc4976e407325fe9742cf6 (patch) | |
tree | dc35ff23a286153956596d9375ced9713db61b63 /gcc | |
parent | adefadda3e87f693f20f0b2b34bced00aa525207 (diff) | |
download | gcc-69bcf1d6aa52a531f7bc4976e407325fe9742cf6.zip gcc-69bcf1d6aa52a531f7bc4976e407325fe9742cf6.tar.gz gcc-69bcf1d6aa52a531f7bc4976e407325fe9742cf6.tar.bz2 |
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_apinski@quicinc.com>
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/tree-vect-generic.cc | 2 | ||||
-rw-r--r-- | 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 80c2d31..3c68361 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 42b6059..537ae6c 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) |