https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101809
--- Comment #1 from H.J. Lu <hjl.tools at gmail dot com> ---
It fails in get_load_store_type:
else if (!TYPE_VECTOR_SUBPARTS (vectype).is_constant ()
|| !known_eq (TYPE_VECTOR_SUBPARTS (vectype),
TYPE_VECTOR_SUBPARTS
(gs_info->offset_vectype)))
{
if (dump_enabled_p ())
dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,
"unsupported vector types for emulated "
"gather.\n");
return false;
}
For V2DF gather, we need V2DI index. But for -m32, index is V4SI.