https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104112
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- So the issue is we hit vect_create_partial_epilog (tree vec_def, tree vectype, code_helper code, gimple_seq *seq) { unsigned nunits = TYPE_VECTOR_SUBPARTS (TREE_TYPE (vec_def)).to_constant (); unsigned nunits1 = TYPE_VECTOR_SUBPARTS (vectype).to_constant (); tree stype = TREE_TYPE (vectype); tree new_temp = vec_def; while (nunits > nunits1) { nunits /= 2; tree vectype1 = get_related_vectype_for_scalar_type (TYPE_MODE (vectype), stype, nunits); unsigned int bitsize = tree_to_uhwi (TYPE_SIZE (vectype1)); with (gdb) p debug_generic_expr (vectype) vector(2) double $3 = void (gdb) p debug_generic_expr (vec_def->typed.type) vector(8) double but when looking for a nunits == 4 vectype we end up with no valid vector type. returned from get_related_vectype_for_scalar_type. The code that checks whether we can vectorize doesn't verify that such modes exist, that would need to be added. But maybe the above isn't exactly the correct way to get at it? Do the command-line options really disable V4DFmode support?