public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r14-2096] vect: Cost intermediate conversions
@ 2023-06-26 12:48 Richard Sandiford
  0 siblings, 0 replies; only message in thread
From: Richard Sandiford @ 2023-06-26 12:48 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:9302b0743b366037379af0568534c23ab597b4d4

commit r14-2096-g9302b0743b366037379af0568534c23ab597b4d4
Author: Richard Sandiford <richard.sandiford@arm.com>
Date:   Mon Jun 26 13:48:35 2023 +0100

    vect: Cost intermediate conversions
    
    g:6f19cf7526168f8 extended N-vector to N-vector conversions
    to handle cases where an intermediate integer extension or
    truncation is needed.  This patch adjusts the cost to account
    for these intermediate conversions.
    
    gcc/
            * tree-vect-stmts.cc (vectorizable_conversion): Take multi_step_cvt
            into account when costing non-widening/truncating conversions.

Diff:
---
 gcc/tree-vect-stmts.cc | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc
index bf61461939b..b31971e99a4 100644
--- a/gcc/tree-vect-stmts.cc
+++ b/gcc/tree-vect-stmts.cc
@@ -5478,8 +5478,9 @@ vectorizable_conversion (vec_info *vinfo,
       if (modifier == NONE)
         {
 	  STMT_VINFO_TYPE (stmt_info) = type_conversion_vec_info_type;
-	  vect_model_simple_cost (vinfo, stmt_info, ncopies, dt, ndts, slp_node,
-				  cost_vec);
+	  vect_model_simple_cost (vinfo, stmt_info,
+				  ncopies * (1 + multi_step_cvt),
+				  dt, ndts, slp_node, cost_vec);
 	}
       else if (modifier == NARROW_SRC || modifier == NARROW_DST)
 	{

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-06-26 12:48 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-26 12:48 [gcc r14-2096] vect: Cost intermediate conversions Richard Sandiford

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).