Include phis in SLP unrolling calculation
authorRichard Sandiford <richard.sandiford@linaro.org>
Mon, 18 Sep 2017 15:39:21 +0000 (15:39 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Mon, 18 Sep 2017 15:39:21 +0000 (15:39 +0000)
commitb161f2c927bb7fb70dc0c6d4e9ab22cdba29db6d
tree30eeafa2f81a3088be424e987665fa1e20be71ae
parent7251b0bfbf09fae831bb5d3d2d7a311e9d37b398
Include phis in SLP unrolling calculation

Without this we'd pick an unrolling factor based purely on longs,
ignoring the ints.  It's posssible that vect_get_smallest_scalar_type
should also handle shifts, but I think we'd still want this as a
belt-and-braces fix.

2017-09-18  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
* tree-vect-slp.c (vect_record_max_nunits): New function,
split out from...
(vect_build_slp_tree_1): ...here.
(vect_build_slp_tree_2): Call it for phis too.

gcc/testsuite/
* gcc.dg/vect/slp-multitypes-13.c: New test.

From-SVN: r252933
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/vect/slp-multitypes-13.c [new file with mode: 0644]
gcc/tree-vect-slp.c