Fix vectorizable_conversion costs
authorRichard Sandiford <richard.sandiford@arm.com>
Wed, 13 Nov 2019 09:00:53 +0000 (09:00 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Wed, 13 Nov 2019 09:00:53 +0000 (09:00 +0000)
commit3f446c27195400aea98ff9c37ed2651ab54f7c03
tree61d44263b006185a9308fc350ad54d532a645f03
parent86194087ce338c8d0073d905eb60dca654d6bba3
Fix vectorizable_conversion costs

This patch makes two tweaks to vectorizable_conversion.  The first
is to use "modifier" to distinguish between promotion, demotion,
and neither promotion nor demotion, rather than using a code for
some cases and "modifier" for others.  The second is to take ncopies
into account for the promotion and demotion costs; previously we gave
multiple copies the same cost as a single copy.

Later patches test this, but it seemed worth splitting out.

2019-11-13  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
* tree-vect-stmts.c (vect_model_promotion_demotion_cost): Take the
number of ncopies as an additional argument.
(vectorizable_conversion): Update call accordingly.  Use "modifier"
to check whether a conversion is between vectors with the same
numbers of units.

From-SVN: r278121
gcc/ChangeLog
gcc/tree-vect-stmts.c