https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91114
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> --- Index: gcc/tree-vect-data-refs.c =================================================================== --- gcc/tree-vect-data-refs.c (revision 273294) +++ gcc/tree-vect-data-refs.c (working copy) @@ -4360,6 +4360,8 @@ vect_analyze_data_refs (vec_info *vinfo, STMT_VINFO_VECTORIZABLE (stmt_info) = false; continue; } + if (fatal) + *fatal = false; return opt_result::failure_at (stmt_info->stmt, "not vectorized:" " no vectype for stmt: %G" fixes the ICE. In reality we'd want to see whether there is _any_ vector type we could use here and fail fatally if there isn't any, also recording constraints like a minimum vector size. But then the whole scheme iterating over sizes is not something we'd want to preserve forever (we want to conciously use multiple sizes in the same loop when applicable).