r278295 - in /trunk/gcc: ChangeLog tree-vect-st...

rsandifo@gcc.gnu.org rsandifo@gcc.gnu.org
Fri Nov 15 14:37:00 GMT 2019


Author: rsandifo
Date: Fri Nov 15 14:37:57 2019
New Revision: 278295

URL: https://gcc.gnu.org/viewcvs?rev=278295&root=gcc&view=rev
Log:
Fix vector/scalar to vector/vector conversion (PR92515)

r278235 broke conversions of vector/scalar shifts into vector/vector
shifts on targets that only provide the latter.  We need to record
whether a conversion is required in that case too.

Also, the old useless_type_conversion_p condition seemed unnecessarily
strong, since the shift amount can have a different signedness from
the shifted value and its vector type is never assumed to be identical
to vectype.  The patch therefore uses tree_nop_conversion_p instead.

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

gcc/
	PR tree-optimization/92515
	* tree-vect-stmts.c (vectorizable_shift): Record incompatible op1
	types when converting a vector/scalar shift into a vector/vector one,
	using tree_nop_conversion_p instead of useless_type_conversion_p.
	Move the conversion code to the transform block.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/tree-vect-stmts.c



More information about the Gcc-cvs mailing list