tree-optimization/115741 - ICE with VMAT_CONTIGUOUS_REVERSE and gap

When we determine overrun we have to consider VMAT_CONTIGUOUS_REVERSE
the same as VMAT_CONTIGUOUS.

	PR tree-optimization/115741
	* tree-vect-stmts.cc (get_group_load_store_type): Also
	handle VMAT_CONTIGUOUS_REVERSE when determining overrun.
This commit is contained in:
Richard Biener 2024-07-02 09:33:29 +02:00 committed by Richard Biener
parent 4996c5ff65
commit 9bd51351c1

View file

@ -2099,7 +2099,8 @@ get_group_load_store_type (vec_info *vinfo, stmt_vec_info stmt_info,
If there is a combination of the access not covering the full
vector and a gap recorded then we may need to peel twice. */
if (loop_vinfo
&& *memory_access_type == VMAT_CONTIGUOUS
&& (*memory_access_type == VMAT_CONTIGUOUS
|| *memory_access_type == VMAT_CONTIGUOUS_REVERSE)
&& SLP_TREE_LOAD_PERMUTATION (slp_node).exists ()
&& !multiple_p (group_size * LOOP_VINFO_VECT_FACTOR (loop_vinfo),
nunits))