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

--- Comment #11 from Richard Sandiford <rsandifo at gcc dot gnu.org> ---
>           if (masked_loop_p
>               && code == BIT_AND_EXPR
>               && VECTOR_BOOLEAN_TYPE_P (vectype))
>             {
>               if (loop_vinfo->scalar_cond_masked_set.contains ({ op0, 1 }))
>                 {
>                   mask = vect_get_loop_mask (loop_vinfo, gsi, masks,
>                                              vec_num, vectype, i);
I think the bug is the hard-coded 1 for SLP.  It should be vec_num instead, to
match the vect_get_loop_len argument.  The ICE occurs in a 4-vector operation
rather than a 1-vector operation.

Reply via email to