https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117484

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
So we're trying to check whether we can generate { 0, ?, 0 } where '?' is
from the gap lane (d[j-1]) mask part, so we don't really care.

I'm going to try the optimistic route here and ignore the gap for the uniform
check but that gets us to

  #1  0x0000000001cbc18a in vect_build_slp_tree_2 (vinfo=0x4647160, 
    node=0x46d7da0, stmts=..., group_size=3, max_nunits=0x7fffffff66f0, 
    matches=0x7fffffff9040, limit=0x7fffffffc330, tree_size=0x7fffffff6b9c, 
    bst_map=0x468d710) at /home/rguenther/src/gcc/gcc/tree-vect-slp.cc:2024
2024                  gcc_assert (!any_permute);

the assert is only considering the unpermuted load we create but not the
SLP sub-graph we build for the mask which could end in a permute even
when there are do-not-care lanes involved.

I'm testing a slight re-org there.

Reply via email to