Add missing conversion in vect_create_epilog_for_reduction
authorRichard Sandiford <richard.sandiford@arm.com>
Tue, 10 Dec 2019 12:20:12 +0000 (12:20 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Tue, 10 Dec 2019 12:20:12 +0000 (12:20 +0000)
commitb78500ecb86ef800509270d2d2f161e4eb9aadd0
treef27664630bf79406ff44ce05815c4f52fbb822c1
parentf1c13d6ddeecc9da5f53643b6b6b715546d670fe
Add missing conversion in vect_create_epilog_for_reduction

The direct_slp_reduc code in vect_create_epilog_for_reduction was
still assuming that all types involved in a reduction are the same
(up to types_compatible_p), whereas we now support differences in
sign.  This was causing an ICE in gcc.dg/vect/pr92324-4.c for SVE.

2019-12-10  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
* tree-vect-loop.c (vect_create_epilog_for_reduction): When
handling direct_slp_reduc, allow the PHI arguments to have
a different type from the vector elements.

From-SVN: r279164
gcc/ChangeLog
gcc/tree-vect-loop.c