https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109029

--- Comment #6 from Hongtao.liu <crazylht at gmail dot com> ---
(In reply to Hongtao.liu from comment #5)
> We need to support signbit<mode>2 for vector double/_Float16. Also similar
> like popcnt, there's a mismatch of input and output between builtin and
> signbit_optab, it could be handled in vectorizer pattern match.

After support signbit{v2df,v4df,v8df}2, vectorizer still failed, currently, we
only support simple integer narrowing, but not for v4df->v8si.

 3480  /* First try using an internal function.  */
 3481  tree_code convert_code = ERROR_MARK;
 3482  if (cfn != CFN_LAST
 3483      && (modifier == NONE
 3484          || (modifier == NARROW
 3485              && simple_integer_narrowing (vectype_out, vectype_in,
 3486                                           &convert_code))))
 3487    ifn = vectorizable_internal_function (cfn, callee, vectype_out,
 3488                                          vectype_in);
 3489

Reply via email to