]> git.ipfire.org Git - thirdparty/gcc.git/commit
Support single def-use cycle optimization for SLP reduction vectorization
authorRichard Biener <rguenther@suse.de>
Thu, 13 Jun 2024 12:42:25 +0000 (14:42 +0200)
committerRichard Biener <rguenther@suse.de>
Fri, 14 Jun 2024 09:08:30 +0000 (11:08 +0200)
commitd66b820f392aa9a7c34d3cddaf3d7c73bf23f82d
tree770340806f078c25e8486bbdb7838edbb8542357
parentaa85a5a6792a79c28a8ee19dc5d0f01b2930c33d
Support single def-use cycle optimization for SLP reduction vectorization

We can at least mimic single def-use cycle optimization when doing
single-lane SLP reductions and that's required to avoid regressing
compared to non-SLP.

* tree-vect-loop.cc (vectorizable_reduction): Allow
single-def-use cycles with SLP.
(vect_transform_reduction): Handle SLP single def-use cycles.
(vect_transform_cycle_phi): Likewise.

* gcc.dg/vect/slp-reduc-12.c: New testcase.
gcc/testsuite/gcc.dg/vect/slp-reduc-12.c [new file with mode: 0644]
gcc/tree-vect-loop.cc