https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109029
--- Comment #8 from Hongtao.liu <crazylht at gmail dot com> --- > > One solution is handling it in ix86_builtin_vectorized_function just like > other math functions which has different input/output sizes. Or extend vectorizable_call to handle NARROW/WIDEN cases when output of ifn is same-sized vector integer of vectype_in, and do NARROW/WIDEN between ifn_output and vectype_out. 3472 /* For now, we only vectorize functions if a target specific builtin 3473 is available. TODO -- in some cases, it might be profitable to 3474 insert the calls for pieces of the vector, in order to be able 3475 to vectorize other operations in the loop. */ 3476 fndecl = NULL_TREE; 3477 internal_fn ifn = IFN_LAST; 3478 tree callee = gimple_call_fndecl (stmt); 3479 3480 /* First try using an internal function. */ 3481 tree_code convert_code = ERROR_MARK;