https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107432
--- Comment #4 from Hongtao.liu <crazylht at gmail dot com> --- (In reply to Hongtao.liu from comment #3) > typedef int v4si __attribute__((vector_size(16))); > typedef long long v4di __attribute__((vector_size(32))); > > v4si > foo (v4di a) > { > return __builtin_convertvector (a, v4si); > } > > hmm, we actually support truncv4div4si2, but some how gcc failed to generate > .VEC_CONVERT with truncmn2. > /* IFN_VEC_CONVERT is supposed to be expanded at pass_lower_vector. So this dummy function should never be called. */ static void expand_VEC_CONVERT (internal_fn, gcall *) { gcc_unreachable (); } It's lowered by pass_lower_vector, ideally, can we use truncmn2 in expand_VEC_CONVERT if src is bigger integer mode than dest.