]> gcc.gnu.org Git - gcc.git/commit
Add double reduction support for SLP vectorization
authorRichard Biener <rguenther@suse.de>
Tue, 5 Mar 2024 14:28:58 +0000 (15:28 +0100)
committerRichard Biener <rguenther@suse.de>
Mon, 13 May 2024 13:42:10 +0000 (15:42 +0200)
commit5bdcb5f182a6472a66cc5d7842a64ec7ad0fd7e5
treecd3f8cb21b7a9cb891e80826f17e63b51ece9c5f
parent27affc29b9de2cc35ec53c7263b23027d9932191
Add double reduction support for SLP vectorization

The following makes double reduction vectorization work when
using (single-lane) SLP vectorization.

* tree-vect-loop.cc (vect_analyze_scalar_cycles_1): Queue
double reductions in LOOP_VINFO_REDUCTIONS.
(vect_create_epilog_for_reduction): Remove asserts disabling
SLP for double reductions.
(vectorizable_reduction): Analyze SLP double reductions
only once and start off the correct places.
* tree-vect-slp.cc (vect_get_and_check_slp_defs): Allow
vect_double_reduction_def.
(vect_build_slp_tree_2): Fix condition for the ignored
reduction initial values.
* tree-vect-stmts.cc (vect_analyze_stmt): Allow
vect_double_reduction_def.
gcc/tree-vect-loop.cc
gcc/tree-vect-slp.cc
gcc/tree-vect-stmts.cc
This page took 0.067767 seconds and 6 git commands to generate.