https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112432
Bug ID: 112432 Summary: Internal-fn: The [i|l|ll]rint family don't support FLOATN Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: pan2.li at intel dot com Target Milestone: --- The [i|l|ll]rint family are defined as DEF_INTERNAL_FLT_FN instead of DEF_INTERNAL_FLT_FLOATN_FN in the internal-fn.def. Thus, the standard name like lrint<m><n> cannot be expanded when _Float16 type is given. Is there any reason/background that [i|l|ll]rint can honor FLOATN or not? List all related fn definition as below. DEF_INTERNAL_FLT_FN (ICEIL, ECF_CONST, lceil, unary_convert) DEF_INTERNAL_FLT_FN (IFLOOR, ECF_CONST, lfloor, unary_convert) DEF_INTERNAL_FLT_FN (IRINT, ECF_CONST, lrint, unary_convert) DEF_INTERNAL_FLT_FN (IROUND, ECF_CONST, lround, unary_convert) DEF_INTERNAL_FLT_FN (LCEIL, ECF_CONST, lceil, unary_convert) DEF_INTERNAL_FLT_FN (LFLOOR, ECF_CONST, lfloor, unary_convert) DEF_INTERNAL_FLT_FN (LRINT, ECF_CONST, lrint, unary_convert) DEF_INTERNAL_FLT_FN (LROUND, ECF_CONST, lround, unary_convert) DEF_INTERNAL_FLT_FN (LLCEIL, ECF_CONST, lceil, unary_convert) DEF_INTERNAL_FLT_FN (LLFLOOR, ECF_CONST, lfloor, unary_convert) DEF_INTERNAL_FLT_FN (LLRINT, ECF_CONST, lrint, unary_convert) DEF_INTERNAL_FLT_FN (LLROUND, ECF_CONST, lround, unary_convert)