https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92566
--- Comment #5 from Segher Boessenkool <segher at gcc dot gnu.org> --- The whole function can be something as simple as mode = mode_for_vector (mode, 16 / GET_MODE_SIZE (mode)); if (this is actually an existing mode && !VECTOR_UNIT_NONE (mode)) return mode; return word_mode; Or, why not?