https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68964
--- Comment #4 from Richard Henderson <rth at gcc dot gnu.org> --- Oh, yes, duh. These vector types are (at least partially) target-specific, and so the function definitions are left for the target to fill in at startup time. See config/i386/i386.c bdesc_tm for MMX/SSE/AVX wonkiness. I expect it's possible to find a target-independent default for these function definitions, if the target hook has failed to fill them in. Perhaps check for target support of N-bit wide vector of SImode, then N-bit wide vector of SFmode, before failing?