--- /dev/null
+@c Copyright (C) 1988-2026 Free Software Foundation, Inc.
+@c This is part of the GCC manual.
+@c For copying conditions, see the file gcc.texi.
+
+@node Internal Functions
+@chapter Internal Functions in GENERIC and GIMPLE
+@cindex internal functions
+@cindex @file{internal-fn.def}
+
+In addition to builtin functions specified in @file{builtins.def} and
+friends, the GENERIC and GIMPLE intermediate languages use calls with
+pre-defined semantics that are inline expanded to RTL rather than to
+calls or lowered at some point during optimization.
+
+Internal functions work like tree operation codes in that they are
+not strongly typed so there are no variants like @code{BUILT_IN_SIN}
+and @code{BUILT_IN_SINF}; just a single @code{IFN_SIN}.
+
+Internal functions are declared in @file{internal-fn.def}.
+
+@menu
+* Internal Function API:: How to operate on internal functions.
+* Table of Internal Functions::
+@end menu
+
+@node Internal Function API
+@section Internal Function API
+
+Internal functions and builtin functions can be operated on
+transparently via the @code{combined_fn} enumeration type and
+the following set of helper functions.
+
+FIXME: not documented yet.
+
+The following are internal function specific helpers working
+on the @code{internal_fn} enumeration type.
+
+FIXME: not documented yet.
+
+@node Table of Internal Functions
+@section Table of Internal Functions
+
+@menu
+* Direct Internal Functions::
+* Internal Functions Corresponding to Builtins::
+* Other Internal Functions::
+@end menu
+
+@node Direct Internal Functions
+@subsection Direct Internal Functions
+
+@table @asis
+
+@cindex @code{IFN_CRC} internal function
+@item @samp{IFN_CRC}
+The @code{IFN_CRC} internal function directly maps to the @code{crc}
+instruction pattern.
+
+@cindex @code{IFN_CRC_REV} internal function
+@item @samp{IFN_CRC_REV}
+The @code{IFN_CRC_REV} internal function directly maps to the @code{crc_rev}
+instruction pattern.
+
+@cindex @code{IFN_MASK_LOAD} internal function
+@item @samp{IFN_MASK_LOAD}
+The @code{IFN_MASK_LOAD} internal function directly maps to the @code{maskload}
+instruction pattern.
+
+@cindex @code{IFN_LOAD_LANES} internal function
+@item @samp{IFN_LOAD_LANES}
+The @code{IFN_LOAD_LANES} internal function directly maps to the
+@code{vec_load_lanes} instruction pattern.
+
+@cindex @code{IFN_MASK_LOAD_LANES} internal function
+@item @samp{IFN_MASK_LOAD_LANES}
+The @code{IFN_MASK_LOAD_LANES} internal function directly maps to the
+@code{vec_mask_load_lanes} instruction pattern.
+
+@cindex @code{IFN_MASK_LEN_LOAD_LANES} internal function
+@item @samp{IFN_MASK_LEN_LOAD_LANES}
+The @code{IFN_MASK_LEN_LOAD_LANES} internal function directly maps to the
+@code{vec_mask_len_load_lanes} instruction pattern.
+
+@cindex @code{IFN_GATHER_LOAD} internal function
+@item @samp{IFN_GATHER_LOAD}
+The @code{IFN_GATHER_LOAD} internal function directly maps to the
+@code{gather_load} instruction pattern.
+
+@cindex @code{IFN_MASK_GATHER_LOAD} internal function
+@item @samp{IFN_MASK_GATHER_LOAD}
+The @code{IFN_MASK_GATHER_LOAD} internal function directly maps to the
+@code{mask_gather_load} instruction pattern.
+
+@cindex @code{IFN_MASK_LEN_GATHER_LOAD} internal function
+@item @samp{IFN_MASK_LEN_GATHER_LOAD}
+The @code{IFN_MASK_LEN_GATHER_LOAD} internal function directly maps to the
+@code{mask_len_gather_load} instruction pattern.
+
+@cindex @code{IFN_MASK_LEN_STRIDED_LOAD} internal function
+@item @samp{IFN_MASK_LEN_STRIDED_LOAD}
+The @code{IFN_MASK_LEN_STRIDED_LOAD} internal function directly maps to the
+@code{mask_len_strided_load} instruction pattern.
+
+@cindex @code{IFN_LEN_LOAD} internal function
+@item @samp{IFN_LEN_LOAD}
+The @code{IFN_LEN_LOAD} internal function directly maps to the @code{len_load}
+instruction pattern.
+
+@cindex @code{IFN_MASK_LEN_LOAD} internal function
+@item @samp{IFN_MASK_LEN_LOAD}
+The @code{IFN_MASK_LEN_LOAD} internal function directly maps to the
+@code{mask_len_load} instruction pattern.
+
+@cindex @code{IFN_SCATTER_STORE} internal function
+@item @samp{IFN_SCATTER_STORE}
+The @code{IFN_SCATTER_STORE} internal function directly maps to the
+@code{scatter_store} instruction pattern.
+
+@cindex @code{IFN_MASK_SCATTER_STORE} internal function
+@item @samp{IFN_MASK_SCATTER_STORE}
+The @code{IFN_MASK_SCATTER_STORE} internal function directly maps to the
+@code{mask_scatter_store} instruction pattern.
+
+@cindex @code{IFN_MASK_LEN_SCATTER_STORE} internal function
+@item @samp{IFN_MASK_LEN_SCATTER_STORE}
+The @code{IFN_MASK_LEN_SCATTER_STORE} internal function directly maps to the
+@code{mask_len_scatter_store} instruction pattern.
+
+@cindex @code{IFN_MASK_LEN_STRIDED_STORE} internal function
+@item @samp{IFN_MASK_LEN_STRIDED_STORE}
+The @code{IFN_MASK_LEN_STRIDED_STORE} internal function directly maps to the
+@code{mask_len_strided_store} instruction pattern.
+
+@cindex @code{IFN_MASK_STORE} internal function
+@item @samp{IFN_MASK_STORE}
+The @code{IFN_MASK_STORE} internal function directly maps to the
+@code{maskstore} instruction pattern.
+
+@cindex @code{IFN_STORE_LANES} internal function
+@item @samp{IFN_STORE_LANES}
+The @code{IFN_STORE_LANES} internal function directly maps to the
+@code{vec_store_lanes} instruction pattern.
+
+@cindex @code{IFN_MASK_STORE_LANES} internal function
+@item @samp{IFN_MASK_STORE_LANES}
+The @code{IFN_MASK_STORE_LANES} internal function directly maps to the
+@code{vec_mask_store_lanes} instruction pattern.
+
+@cindex @code{IFN_MASK_LEN_STORE_LANES} internal function
+@item @samp{IFN_MASK_LEN_STORE_LANES}
+The @code{IFN_MASK_LEN_STORE_LANES} internal function directly maps to the
+@code{vec_mask_len_store_lanes} instruction pattern.
+
+@cindex @code{IFN_VCOND_MASK} internal function
+@item @samp{IFN_VCOND_MASK}
+The @code{IFN_VCOND_MASK} internal function directly maps to the
+@code{vcond_mask} instruction pattern.
+
+@cindex @code{IFN_VCOND_MASK_LEN} internal function
+@item @samp{IFN_VCOND_MASK_LEN}
+The @code{IFN_VCOND_MASK_LEN} internal function directly maps to the
+@code{vcond_mask_len} instruction pattern.
+
+@cindex @code{IFN_VEC_SET} internal function
+@item @samp{IFN_VEC_SET}
+The @code{IFN_VEC_SET} internal function directly maps to the @code{vec_set}
+instruction pattern.
+
+@cindex @code{IFN_VEC_EXTRACT} internal function
+@item @samp{IFN_VEC_EXTRACT}
+The @code{IFN_VEC_EXTRACT} internal function directly maps to the
+@code{vec_extract} instruction pattern.
+
+@cindex @code{IFN_LEN_STORE} internal function
+@item @samp{IFN_LEN_STORE}
+The @code{IFN_LEN_STORE} internal function directly maps to the
+@code{len_store} instruction pattern.
+
+@cindex @code{IFN_MASK_LEN_STORE} internal function
+@item @samp{IFN_MASK_LEN_STORE}
+The @code{IFN_MASK_LEN_STORE} internal function directly maps to the
+@code{mask_len_store} instruction pattern.
+
+@cindex @code{IFN_WHILE_ULT} internal function
+@item @samp{IFN_WHILE_ULT}
+The @code{IFN_WHILE_ULT} internal function directly maps to the
+@code{while_ult} instruction pattern.
+
+@cindex @code{IFN_SELECT_VL} internal function
+@item @samp{IFN_SELECT_VL}
+The @code{IFN_SELECT_VL} internal function directly maps to the
+@code{select_vl} instruction pattern.
+
+@cindex @code{IFN_CHECK_RAW_PTRS} internal function
+@item @samp{IFN_CHECK_RAW_PTRS}
+The @code{IFN_CHECK_RAW_PTRS} internal function directly maps to the
+@code{check_raw_ptrs} instruction pattern.
+
+@cindex @code{IFN_CHECK_WAR_PTRS} internal function
+@item @samp{IFN_CHECK_WAR_PTRS}
+The @code{IFN_CHECK_WAR_PTRS} internal function directly maps to the
+@code{check_war_ptrs} instruction pattern.
+
+@cindex @code{IFN_VEC_SHL_INSERT} internal function
+@item @samp{IFN_VEC_SHL_INSERT}
+The @code{IFN_VEC_SHL_INSERT} internal function directly maps to the
+@code{vec_shl_insert} instruction pattern.
+
+@cindex @code{IFN_DIV_POW2} internal function
+@item @samp{IFN_DIV_POW2}
+The @code{IFN_DIV_POW2} internal function directly maps to the @code{sdiv_pow2}
+instruction pattern.
+
+@cindex @code{IFN_FMS} internal function
+@item @samp{IFN_FMS}
+The @code{IFN_FMS} internal function directly maps to the @code{fms}
+instruction pattern.
+
+@cindex @code{IFN_FNMA} internal function
+@item @samp{IFN_FNMA}
+The @code{IFN_FNMA} internal function directly maps to the @code{fnma}
+instruction pattern.
+
+@cindex @code{IFN_FNMS} internal function
+@item @samp{IFN_FNMS}
+The @code{IFN_FNMS} internal function directly maps to the @code{fnms}
+instruction pattern.
+
+@cindex @code{IFN_COND_SQRT} internal function
+@item @samp{IFN_COND_SQRT}
+The @code{IFN_COND_SQRT} internal function directly maps to the
+@code{cond_sqrt} instruction pattern.
+
+@cindex @code{IFN_COND_LEN_SQRT} internal function
+@item @samp{IFN_COND_LEN_SQRT}
+The @code{IFN_COND_LEN_SQRT} internal function directly maps to the
+@code{cond_len_sqrt} instruction pattern.
+
+@cindex @code{IFN_COND_CEIL} internal function
+@item @samp{IFN_COND_CEIL}
+The @code{IFN_COND_CEIL} internal function directly maps to the
+@code{cond_ceil} instruction pattern.
+
+@cindex @code{IFN_COND_LEN_CEIL} internal function
+@item @samp{IFN_COND_LEN_CEIL}
+The @code{IFN_COND_LEN_CEIL} internal function directly maps to the
+@code{cond_len_ceil} instruction pattern.
+
+@cindex @code{IFN_COND_FLOOR} internal function
+@item @samp{IFN_COND_FLOOR}
+The @code{IFN_COND_FLOOR} internal function directly maps to the
+@code{cond_floor} instruction pattern.
+
+@cindex @code{IFN_COND_LEN_FLOOR} internal function
+@item @samp{IFN_COND_LEN_FLOOR}
+The @code{IFN_COND_LEN_FLOOR} internal function directly maps to the
+@code{cond_len_floor} instruction pattern.
+
+@cindex @code{IFN_COND_ROUND} internal function
+@item @samp{IFN_COND_ROUND}
+The @code{IFN_COND_ROUND} internal function directly maps to the
+@code{cond_round} instruction pattern.
+
+@cindex @code{IFN_COND_LEN_ROUND} internal function
+@item @samp{IFN_COND_LEN_ROUND}
+The @code{IFN_COND_LEN_ROUND} internal function directly maps to the
+@code{cond_len_round} instruction pattern.
+
+@cindex @code{IFN_COND_RINT} internal function
+@item @samp{IFN_COND_RINT}
+The @code{IFN_COND_RINT} internal function directly maps to the
+@code{cond_rint} instruction pattern.
+
+@cindex @code{IFN_COND_LEN_RINT} internal function
+@item @samp{IFN_COND_LEN_RINT}
+The @code{IFN_COND_LEN_RINT} internal function directly maps to the
+@code{cond_len_rint} instruction pattern.
+
+@cindex @code{IFN_COND_ADD} internal function
+@item @samp{IFN_COND_ADD}
+The @code{IFN_COND_ADD} internal function directly maps to the
+@code{cond_add} instruction pattern.
+
+@cindex @code{IFN_COND_LEN_ADD} internal function
+@item @samp{IFN_COND_LEN_ADD}
+The @code{IFN_COND_LEN_ADD} internal function directly maps to the
+@code{cond_len_add} instruction pattern.
+
+@cindex @code{IFN_COND_SUB} internal function
+@item @samp{IFN_COND_SUB}
+The @code{IFN_COND_SUB} internal function directly maps to the
+@code{cond_sub} instruction pattern.
+
+@cindex @code{IFN_COND_LEN_SUB} internal function
+@item @samp{IFN_COND_LEN_SUB}
+The @code{IFN_COND_LEN_SUB} internal function directly maps to the
+@code{cond_len_sub} instruction pattern.
+
+@cindex @code{IFN_COND_MUL} internal function
+@item @samp{IFN_COND_MUL}
+The @code{IFN_COND_MUL} internal function directly maps to the
+@code{cond_smul} instruction pattern.
+
+@cindex @code{IFN_COND_LEN_MUL} internal function
+@item @samp{IFN_COND_LEN_MUL}
+The @code{IFN_COND_LEN_MUL} internal function directly maps to the
+@code{cond_len_smul} instruction pattern.
+
+@cindex @code{IFN_COND_RDIV} internal function
+@item @samp{IFN_COND_RDIV}
+The @code{IFN_COND_RDIV} internal function directly maps to the
+@code{cond_sdiv} instruction pattern.
+
+@cindex @code{IFN_COND_LEN_RDIV} internal function
+@item @samp{IFN_COND_LEN_RDIV}
+The @code{IFN_COND_LEN_RDIV} internal function directly maps to the
+@code{cond_len_sdiv} instruction pattern.
+
+@cindex @code{IFN_COND_COPYSIGN} internal function
+@item @samp{IFN_COND_COPYSIGN}
+The @code{IFN_COND_COPYSIGN} internal function directly maps to the
+@code{cond_copysign} instruction pattern.
+
+@cindex @code{IFN_COND_LEN_COPYSIGN} internal function
+@item @samp{IFN_COND_LEN_COPYSIGN}
+The @code{IFN_COND_LEN_COPYSIGN} internal function directly maps to the
+@code{cond_len_copysign} instruction pattern.
+
+@cindex @code{IFN_COND_FMIN} internal function
+@item @samp{IFN_COND_FMIN}
+The @code{IFN_COND_FMIN} internal function directly maps to the
+@code{cond_fmin} instruction pattern.
+
+@cindex @code{IFN_COND_LEN_FMIN} internal function
+@item @samp{IFN_COND_LEN_FMIN}
+The @code{IFN_COND_LEN_FMIN} internal function directly maps to the
+@code{cond_len_fmin} instruction pattern.
+
+@cindex @code{IFN_COND_FMAX} internal function
+@item @samp{IFN_COND_FMAX}
+The @code{IFN_COND_FMAX} internal function directly maps to the
+@code{cond_fmax} instruction pattern.
+
+@cindex @code{IFN_COND_LEN_FMAX} internal function
+@item @samp{IFN_COND_LEN_FMAX}
+The @code{IFN_COND_LEN_FMAX} internal function directly maps to the
+@code{cond_len_fmax} instruction pattern.
+
+@cindex @code{IFN_COND_AND} internal function
+@item @samp{IFN_COND_AND}
+The @code{IFN_COND_AND} internal function directly maps to the
+@code{cond_and} instruction pattern.
+
+@cindex @code{IFN_COND_LEN_AND} internal function
+@item @samp{IFN_COND_LEN_AND}
+The @code{IFN_COND_LEN_AND} internal function directly maps to the
+@code{cond_len_and} instruction pattern.
+
+@cindex @code{IFN_COND_IOR} internal function
+@item @samp{IFN_COND_IOR}
+The @code{IFN_COND_IOR} internal function directly maps to the
+@code{cond_ior} instruction pattern.
+
+@cindex @code{IFN_COND_LEN_IOR} internal function
+@item @samp{IFN_COND_LEN_IOR}
+The @code{IFN_COND_LEN_IOR} internal function directly maps to the
+@code{cond_len_ior} instruction pattern.
+
+@cindex @code{IFN_COND_XOR} internal function
+@item @samp{IFN_COND_XOR}
+The @code{IFN_COND_XOR} internal function directly maps to the
+@code{cond_xor} instruction pattern.
+
+@cindex @code{IFN_COND_LEN_XOR} internal function
+@item @samp{IFN_COND_LEN_XOR}
+The @code{IFN_COND_LEN_XOR} internal function directly maps to the
+@code{cond_len_xor} instruction pattern.
+
+@cindex @code{IFN_COND_SHL} internal function
+@item @samp{IFN_COND_SHL}
+The @code{IFN_COND_SHL} internal function directly maps to the
+@code{cond_ashl} instruction pattern.
+
+@cindex @code{IFN_COND_LEN_SHL} internal function
+@item @samp{IFN_COND_LEN_SHL}
+The @code{IFN_COND_LEN_SHL} internal function directly maps to the
+@code{cond_len_ashl} instruction pattern.
+
+@cindex @code{IFN_COND_FMA} internal function
+@item @samp{IFN_COND_FMA}
+The @code{IFN_COND_FMA} internal function directly maps to the
+@code{cond_fma} instruction pattern.
+
+@cindex @code{IFN_COND_LEN_FMA} internal function
+@item @samp{IFN_COND_LEN_FMA}
+The @code{IFN_COND_LEN_FMA} internal function directly maps to the
+@code{cond_len_fma} instruction pattern.
+
+@cindex @code{IFN_COND_FMS} internal function
+@item @samp{IFN_COND_FMS}
+The @code{IFN_COND_FMS} internal function directly maps to the
+@code{cond_fms} instruction pattern.
+
+@cindex @code{IFN_COND_LEN_FMS} internal function
+@item @samp{IFN_COND_LEN_FMS}
+The @code{IFN_COND_LEN_FMS} internal function directly maps to the
+@code{cond_len_fms} instruction pattern.
+
+@cindex @code{IFN_COND_FNMA} internal function
+@item @samp{IFN_COND_FNMA}
+The @code{IFN_COND_FNMA} internal function directly maps to the
+@code{cond_fnma} instruction pattern.
+
+@cindex @code{IFN_COND_LEN_FNMA} internal function
+@item @samp{IFN_COND_LEN_FNMA}
+The @code{IFN_COND_LEN_FNMA} internal function directly maps to the
+@code{cond_len_fnma} instruction pattern.
+
+@cindex @code{IFN_COND_FNMS} internal function
+@item @samp{IFN_COND_FNMS}
+The @code{IFN_COND_FNMS} internal function directly maps to the
+@code{cond_fnms} instruction pattern.
+
+@cindex @code{IFN_COND_LEN_FNMS} internal function
+@item @samp{IFN_COND_LEN_FNMS}
+The @code{IFN_COND_LEN_FNMS} internal function directly maps to the
+@code{cond_len_fnms} instruction pattern.
+
+@cindex @code{IFN_COND_NEG} internal function
+@item @samp{IFN_COND_NEG}
+The @code{IFN_COND_NEG} internal function directly maps to the
+@code{cond_neg} instruction pattern.
+
+@cindex @code{IFN_COND_LEN_NEG} internal function
+@item @samp{IFN_COND_LEN_NEG}
+The @code{IFN_COND_LEN_NEG} internal function directly maps to the
+@code{cond_len_neg} instruction pattern.
+
+@cindex @code{IFN_COND_NOT} internal function
+@item @samp{IFN_COND_NOT}
+The @code{IFN_COND_NOT} internal function directly maps to the
+@code{cond_one_cmpl} instruction pattern.
+
+@cindex @code{IFN_COND_LEN_NOT} internal function
+@item @samp{IFN_COND_LEN_NOT}
+The @code{IFN_COND_LEN_NOT} internal function directly maps to the
+@code{cond_len_one_cmpl} instruction pattern.
+
+@cindex @code{IFN_RSQRT} internal function
+@item @samp{IFN_RSQRT}
+The @code{IFN_RSQRT} internal function directly maps to the @code{rsqrt}
+instruction pattern.
+
+@cindex @code{IFN_REDUC_PLUS} internal function
+@item @samp{IFN_REDUC_PLUS}
+The @code{IFN_REDUC_PLUS} internal function directly maps to the
+@code{reduc_plus_scal} instruction pattern.
+
+@cindex @code{IFN_REDUC_FMAX} internal function
+@item @samp{IFN_REDUC_FMAX}
+The @code{IFN_REDUC_FMAX} internal function directly maps to the
+@code{reduc_fmax_scal} instruction pattern.
+
+@cindex @code{IFN_REDUC_FMIN} internal function
+@item @samp{IFN_REDUC_FMIN}
+The @code{IFN_REDUC_FMIN} internal function directly maps to the
+@code{reduc_fmin_scal} instruction pattern.
+
+@cindex @code{IFN_REDUC_AND} internal function
+@item @samp{IFN_REDUC_AND}
+The @code{IFN_REDUC_AND} internal function directly maps to the
+@code{reduc_and_scal} instruction pattern.
+
+@cindex @code{IFN_REDUC_IOR} internal function
+@item @samp{IFN_REDUC_IOR}
+The @code{IFN_REDUC_IOR} internal function directly maps to the
+@code{reduc_ior_scal} instruction pattern.
+
+@cindex @code{IFN_REDUC_XOR} internal function
+@item @samp{IFN_REDUC_XOR}
+The @code{IFN_REDUC_XOR} internal function directly maps to the
+@code{reduc_xor_scal} instruction pattern.
+
+@cindex @code{IFN_REDUC_SBOOL_AND} internal function
+@item @samp{IFN_REDUC_SBOOL_AND}
+The @code{IFN_REDUC_SBOOL_AND} internal function directly maps to the
+@code{reduc_sbool_and_scal} instruction pattern.
+
+@cindex @code{IFN_REDUC_SBOOL_IOR} internal function
+@item @samp{IFN_REDUC_SBOOL_IOR}
+The @code{IFN_REDUC_SBOOL_IOR} internal function directly maps to the
+@code{reduc_sbool_ior_scal} instruction pattern.
+
+@cindex @code{IFN_REDUC_SBOOL_XOR} internal function
+@item @samp{IFN_REDUC_SBOOL_XOR}
+The @code{IFN_REDUC_SBOOL_XOR} internal function directly maps to the
+@code{reduc_sbool_xor_scal} instruction pattern.
+
+@cindex @code{IFN_EXTRACT_LAST} internal function
+@item @samp{IFN_EXTRACT_LAST}
+The @code{IFN_EXTRACT_LAST} internal function directly maps to the
+@code{extract_last} instruction pattern.
+
+@cindex @code{IFN_FOLD_EXTRACT_LAST} internal function
+@item @samp{IFN_FOLD_EXTRACT_LAST}
+The @code{IFN_FOLD_EXTRACT_LAST} internal function directly maps to the
+@code{fold_extract_last} instruction pattern.
+
+@cindex @code{IFN_LEN_FOLD_EXTRACT_LAST} internal function
+@item @samp{IFN_LEN_FOLD_EXTRACT_LAST}
+The @code{IFN_LEN_FOLD_EXTRACT_LAST} internal function directly maps to the
+@code{len_fold_extract_last} instruction pattern.
+
+@cindex @code{IFN_FOLD_LEFT_PLUS} internal function
+@item @samp{IFN_FOLD_LEFT_PLUS}
+The @code{IFN_FOLD_LEFT_PLUS} internal function directly maps to the
+@code{fold_left_plus} instruction pattern.
+
+@cindex @code{IFN_MASK_FOLD_LEFT_PLUS} internal function
+@item @samp{IFN_MASK_FOLD_LEFT_PLUS}
+The @code{IFN_MASK_FOLD_LEFT_PLUS} internal function directly maps to the
+@code{mask_fold_left_plus} instruction pattern.
+
+@cindex @code{IFN_MASK_LEN_FOLD_LEFT_PLUS} internal function
+@item @samp{IFN_MASK_LEN_FOLD_LEFT_PLUS}
+The @code{IFN_MASK_LEN_FOLD_LEFT_PLUS} internal function directly maps to
+the @code{mask_len_fold_left_plus} instruction pattern.
+
+@cindex @code{IFN_XORSIGN} internal function
+@item @samp{IFN_XORSIGN}
+The @code{IFN_XORSIGN} internal function directly maps to the
+@code{xorsign} instruction pattern.
+
+@cindex @code{IFN_COMPLEX_ADD_ROT90} internal function
+@item @samp{IFN_COMPLEX_ADD_ROT90}
+The @code{IFN_COMPLEX_ADD_ROT90} internal function directly maps to the
+@code{cadd90} instruction pattern.
+
+@cindex @code{IFN_COMPLEX_ADD_ROT270} internal function
+@item @samp{IFN_COMPLEX_ADD_ROT270}
+The @code{IFN_COMPLEX_ADD_ROT270} internal function directly maps to the
+@code{cadd270} instruction pattern.
+
+@cindex @code{IFN_COMPLEX_MUL} internal function
+@item @samp{IFN_COMPLEX_MUL}
+The @code{IFN_COMPLEX_MUL} internal function directly maps to the
+@code{cmul} instruction pattern.
+
+@cindex @code{IFN_COMPLEX_MUL_CONJ} internal function
+@item @samp{IFN_COMPLEX_MUL_CONJ}
+The @code{IFN_COMPLEX_MUL_CONJ} internal function directly maps to the
+@code{cmul_conj} instruction pattern.
+
+@cindex @code{IFN_VEC_ADDSUB} internal function
+@item @samp{IFN_VEC_ADDSUB}
+The @code{IFN_VEC_ADDSUB} internal function directly maps to the
+@code{vec_addsub} instruction pattern.
+
+@cindex @code{IFN_VEC_TRUNC_ADD_HIGH} internal function
+@item @samp{IFN_VEC_TRUNC_ADD_HIGH}
+The @code{IFN_VEC_TRUNC_ADD_HIGH} internal function directly maps to the
+@code{vec_trunc_add_high} instruction pattern.
+
+@cindex @code{IFN_VEC_FMADDSUB} internal function
+@item @samp{IFN_VEC_FMADDSUB}
+The @code{IFN_VEC_FMADDSUB} internal function directly maps to the
+@code{vec_fmaddsub} instruction pattern.
+
+@cindex @code{IFN_VEC_FMSUBADD} internal function
+@item @samp{IFN_VEC_FMSUBADD}
+The @code{IFN_VEC_FMSUBADD} internal function directly maps to the
+@code{vec_fmsubadd} instruction pattern.
+
+@cindex @code{IFN_COMPLEX_FMA} internal function
+@item @samp{IFN_COMPLEX_FMA}
+The @code{IFN_COMPLEX_FMA} internal function directly maps to the
+@code{cmla} instruction pattern.
+
+@cindex @code{IFN_COMPLEX_FMA_CONJ} internal function
+@item @samp{IFN_COMPLEX_FMA_CONJ}
+The @code{IFN_COMPLEX_FMA_CONJ} internal function directly maps to the
+@code{cmla_conj} instruction pattern.
+
+@cindex @code{IFN_COMPLEX_FMS} internal function
+@item @samp{IFN_COMPLEX_FMS}
+The @code{IFN_COMPLEX_FMS} internal function directly maps to the
+@code{cmls} instruction pattern.
+
+@cindex @code{IFN_COMPLEX_FMS_CONJ} internal function
+@item @samp{IFN_COMPLEX_FMS_CONJ}
+The @code{IFN_COMPLEX_FMS_CONJ} internal function directly maps to the
+@code{cmls_conj} instruction pattern.
+
+@cindex @code{IFN_BIT_ANDN} internal function
+@item @samp{IFN_BIT_ANDN}
+The @code{IFN_BIT_ANDN} internal function directly maps to the @code{andn}
+instruction pattern.
+
+@cindex @code{IFN_BIT_IORN} internal function
+@item @samp{IFN_BIT_IORN}
+The @code{IFN_BIT_IORN} internal function directly maps to the @code{iorn}
+instruction pattern.
+
+@cindex @code{IFN_ABD} internal function
+@item @samp{IFN_ABD}
+The @code{IFN_ABD} internal function directly maps to the @code{sabd}
+and @code{uabd} instruction patterns, depending on the sign of the
+first argument.
+
+@cindex @code{IFN_AVG_FLOOR} internal function
+@item @samp{IFN_AVG_FLOOR}
+The @code{IFN_AVG_FLOOR} internal function directly maps to the
+@code{savg_floor} and @code{uavg_floor} instruction patterns,
+depending on the sign of the first argument.
+
+@cindex @code{IFN_AVG_CEIL} internal function
+@item @samp{IFN_AVG_CEIL}
+The @code{IFN_AVG_CEIL} internal function directly maps to the @code{savg_ceil}
+and @code{uavg_ceil} instruction patterns, depending on the sign of
+the first argument.
+
+@cindex @code{IFN_MULH} internal function
+@item @samp{IFN_MULH}
+The @code{IFN_MULH} internal function directly maps to the @code{smul_highpart}
+and @code{umul_highpart} instruction patterns, depending on the sign of the
+first argument.
+
+@cindex @code{IFN_MULHS} internal function
+@item @samp{IFN_MULHS}
+The @code{IFN_MULHS} internal function directly maps to the @code{smulhs}
+and @code{umulhs} instruction patterns, depending on the sign of the
+first argument.
+
+@cindex @code{IFN_MULHRS} internal function
+@item @samp{IFN_MULHRS}
+The @code{IFN_MULHRS} internal function directly maps to the @code{smulhrs}
+and @code{umulhrs} instruction patterns, depending on the sign of the
+first argument.
+
+@cindex @code{IFN_SAT_ADD} internal function
+@item @samp{IFN_SAT_ADD}
+The @code{IFN_SAT_ADD} internal function directly maps to the
+@code{ssadd} and @code{usadd} instruction patterns, depending on the
+sign of the first argument.
+
+@cindex @code{IFN_SAT_SUB} internal function
+@item @samp{IFN_SAT_SUB}
+The @code{IFN_SAT_SUB} internal function directly maps to the
+@code{sssub} and @code{ussub} instruction patterns, depending on the
+sign of the first argument.
+
+@cindex @code{IFN_SAT_MUL} internal function
+@item @samp{IFN_SAT_MUL}
+The @code{IFN_SAT_MUL} internal function directly maps to the @code{ssmul}
+and @code{usmul} instruction patterns, depending on the sign of the first
+argument.
+
+@cindex @code{IFN_SAT_TRUNC} internal function
+@item @samp{IFN_SAT_TRUNC}
+The @code{IFN_SAT_TRUNC} internal function directly maps to the @code{sstrunc}
+and @code{ustrunc} instruction patterns, depending on the sign of the first
+argument.
+
+@cindex @code{IFN_COND_DIV} internal function
+@item @samp{IFN_COND_DIV}
+The @code{IFN_COND_DIV} internal function directly maps to the @code{cond_sdiv}
+and @code{cond_udiv} instruction patterns, depending on the sign of the first
+argument.
+
+@cindex @code{IFN_COND_LEN_DIV} internal function
+@item @samp{IFN_COND_LEN_DIV}
+The @code{IFN_COND_LEN_DIV} internal function directly maps to the
+@code{cond_len_sdiv} and @code{cond_len_udiv} instruction patterns, depending
+on the sign of the first argument.
+
+@cindex @code{IFN_COND_MOD} internal function
+@item @samp{IFN_COND_MOD}
+The @code{IFN_COND_MOD} internal function directly maps to the @code{cond_smod}
+and @code{cond_umod} instruction patterns, depending on the sign of the
+first argument.
+
+@cindex @code{IFN_COND_LEN_MOD} internal function
+@item @samp{IFN_COND_LEN_MOD}
+The @code{IFN_COND_LEN_MOD} internal function directly maps to the
+@code{cond_len_smod} and @code{cond_len_umod} instruction patterns, depending
+on the sign of the first argument.
+
+@cindex @code{IFN_COND_MIN} internal function
+@item @samp{IFN_COND_MIN}
+The @code{IFN_COND_MIN} internal function directly maps to the @code{cond_smin}
+and @code{cond_umin} instruction patterns, depending on the sign of the first
+argument.
+
+@cindex @code{IFN_COND_LEN_MIN} internal function
+@item @samp{IFN_COND_LEN_MIN}
+The @code{IFN_COND_LEN_MIN} internal function directly maps to the
+@code{cond_len_smin} and @code{cond_len_umin} instruction patterns,
+depending on the sign of the first argument.
+
+@cindex @code{IFN_COND_MAX} internal function
+@item @samp{IFN_COND_MAX}
+The @code{IFN_COND_MAX} internal function directly maps to the
+@code{cond_smax} and @code{cond_umax} instruction patterns, depending on
+the sign of the first argument.
+
+@cindex @code{IFN_COND_LEN_MAX} internal function
+@item @samp{IFN_COND_LEN_MAX}
+The @code{IFN_COND_LEN_MAX} internal function directly maps to the
+@code{cond_len_smax} and @code{cond_len_umax} instruction patterns,
+depending on the sign of the first argument.
+
+@cindex @code{IFN_COND_SHR} internal function
+@item @samp{IFN_COND_SHR}
+The @code{IFN_COND_SHR} internal function directly maps to the
+@code{cond_ashr} and @code{cond_lshr} instruction patterns,
+depending on the sign of the first argument.
+
+@cindex @code{IFN_COND_LEN_SHR} internal function
+@item @samp{IFN_COND_LEN_SHR}
+The @code{IFN_COND_LEN_SHR} internal function directly maps to the
+@code{cond_len_ashr} and @code{cond_len_lshr} instruction patterns,
+depending on the sign of the first argument.
+
+@cindex @code{IFN_REDUC_MAX} internal function
+@item @samp{IFN_REDUC_MAX}
+The @code{IFN_REDUC_MAX} internal function directly maps to the
+@code{reduc_smax_scal} and @code{reduc_umax_scal} instruction patterns,
+depending on the sign of the first argument.
+
+@cindex @code{IFN_REDUC_MIN} internal function
+@item @samp{IFN_REDUC_MIN}
+The @code{IFN_REDUC_MIN} internal function directly maps to the
+@code{reduc_smin_scal} and @code{reduc_umin_scal} instruction patterns,
+depending on the sign of the first argument.
+
+@cindex @code{IFN_VEC_WIDEN_PLUS} internal function
+@cindex @code{IFN_VEC_WIDEN_PLUS_LO} internal function
+@cindex @code{IFN_VEC_WIDEN_PLUS_HI} internal function
+@cindex @code{IFN_VEC_WIDEN_PLUS_EVEN} internal function
+@cindex @code{IFN_VEC_WIDEN_PLUS_ODD} internal function
+@item @samp{IFN_VEC_WIDEN_PLUS}
+The @code{IFN_VEC_WIDEN_PLUS} set of internal functions directly map to
+the @code{vec_widen_sadd} and @code{vec_widen_uadd} instruction patterns,
+depending on the sign of the first argument. The @code{IFN_VEC_WIDEN_PLUS_LO}
+and @code{IFN_VEC_WIDEN_PLUS_HI} work on the low and high parts of a vector,
+the @code{IFN_VEC_WIDEN_PLUS_EVEN} and @code {IFN_VEC_WIDEN_PLUS_ODD}
+functions work on the even and odd elements of a vector.
+
+@cindex @code{IFN_VEC_WIDEN_MINUS} internal function
+@cindex @code{IFN_VEC_WIDEN_MINUS_LO} internal function
+@cindex @code{IFN_VEC_WIDEN_MINUS_HI} internal function
+@cindex @code{IFN_VEC_WIDEN_MINUS_EVEN} internal function
+@cindex @code{IFN_VEC_WIDEN_MINUS_ODD} internal function
+@item @samp{IFN_VEC_WIDEN_MINUS}
+The @code{IFN_VEC_WIDEN_MINUS} set of internal functions directly map to the
+@code{vec_widen_ssub} and @code{vec_widen_usub} instruction patterns,
+depending on the sign of the first argument. The @code{IFN_VEC_WIDEN_MINUS_LO}
+and @code{IFN_VEC_WIDEN_MINUS_HI} work on the low and high parts of a vector,
+the @code{IFN_VEC_WIDEN_MINUS_EVEN} and @code {IFN_VEC_WIDEN_MINUS_ODD}
+functions work on the even and odd elements of a vector.
+
+@cindex @code{IFN_VEC_WIDEN_ABD} internal function
+@cindex @code{IFN_VEC_WIDEN_ABD_LO} internal function
+@cindex @code{IFN_VEC_WIDEN_ABD_HI} internal function
+@cindex @code{IFN_VEC_WIDEN_ABD_EVEN} internal function
+@cindex @code{IFN_VEC_WIDEN_ABD_ODD} internal function
+@item @samp{IFN_VEC_WIDEN_ABD}
+The @code{IFN_VEC_WIDEN_ABD} set of internal functions directly map to the
+@code{vec_widen_sabd} and @code{vec_widen_uabd} instruction patterns,
+depending on the sign of the first argument. The @code{IFN_VEC_WIDEN_ABD_LO}
+and @code{IFN_VEC_WIDEN_ABD_HI} work on the low and high parts of a vector,
+the @code{IFN_VEC_WIDEN_ABD_EVEN} and @code {IFN_VEC_WIDEN_ABD_ODD} functions
+work on the even and odd elements of a vector.
+
+@end table
+
+@node Internal Functions Corresponding to Builtins
+@subsection Internal Functions Corresponding to Builtins
+
+These group of internal functions extend the corresponding
+@code{BUILT_IN_@var{X}} builtins to a wider set of types.
+
+@table @asis
+
+@cindex @code{IFN_ACOS} internal function
+@item @samp{IFN_ACOS}
+The @code{IFN_ACOS} internal function directly maps to the @code{acos}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_ACOSH} internal function
+@item @samp{IFN_ACOSH}
+The @code{IFN_ACOSH} internal function directly maps to the @code{acosh}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_ASIN} internal function
+@item @samp{IFN_ASIN}
+The @code{IFN_ASIN} internal function directly maps to the @code{asin}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_ASINH} internal function
+@item @samp{IFN_ASINH}
+The @code{IFN_ASINH} internal function directly maps to the @code{asinh}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_ATAN} internal function
+@item @samp{IFN_ATAN}
+The @code{IFN_ATAN} internal function directly maps to the @code{atan}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_ATANH} internal function
+@item @samp{IFN_ATANH}
+The @code{IFN_ATANH} internal function directly maps to the @code{atanh}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_COS} internal function
+@item @samp{IFN_COS}
+The @code{IFN_COS} internal function directly maps to the @code{cos}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_COSH} internal function
+@item @samp{IFN_COSH}
+The @code{IFN_COSH} internal function directly maps to the @code{cosh}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_EXP} internal function
+@item @samp{IFN_EXP}
+The @code{IFN_EXP} internal function directly maps to the @code{exp}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_EXP10} internal function
+@item @samp{IFN_EXP10}
+The @code{IFN_EXP10} internal function directly maps to the @code{exp10}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_EXP2} internal function
+@item @samp{IFN_EXP2}
+The @code{IFN_EXP2} internal function directly maps to the @code{exp2}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_EXPM1} internal function
+@item @samp{IFN_EXPM1}
+The @code{IFN_EXPM1} internal function directly maps to the @code{expm1}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_LOG} internal function
+@item @samp{IFN_LOG}
+The @code{IFN_LOG} internal function directly maps to the @code{log}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_LOG10} internal function
+@item @samp{IFN_LOG10}
+The @code{IFN_LOG10} internal function directly maps to the @code{log10}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_LOG1P} internal function
+@item @samp{IFN_LOG1P}
+The @code{IFN_LOG1P} internal function directly maps to the @code{log1p}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_LOG2} internal function
+@item @samp{IFN_LOG2}
+The @code{IFN_LOG2} internal function directly maps to the @code{log2}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_LOGB} internal function
+@item @samp{IFN_LOGB}
+The @code{IFN_LOGB} internal function directly maps to the @code{logb}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_SIGNBIT} internal function
+@item @samp{IFN_SIGNBIT}
+The @code{IFN_SIGNBIT} internal function directly maps to the @code{signbit}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_SIGNIFICAND} internal function
+@item @samp{IFN_SIGNIFICAND}
+The @code{IFN_SIGNIFICAND} internal function directly maps to the
+@code{significand} instruction pattern for floating-point modes.
+
+@cindex @code{IFN_SIN} internal function
+@item @samp{IFN_SIN}
+The @code{IFN_SIN} internal function directly maps to the @code{sin}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_SINH} internal function
+@item @samp{IFN_SINH}
+The @code{IFN_SINH} internal function directly maps to the @code{sinh}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_SQRT} internal function
+@item @samp{IFN_SQRT}
+The @code{IFN_SQRT} internal function directly maps to the @code{sqrt}
+instruction pattern for floating-point modes including those for
+@code{_Float@var{n}}
+
+@cindex @code{IFN_TAN} internal function
+@item @samp{IFN_TAN}
+The @code{IFN_TAN} internal function directly maps to the @code{tan}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_TANH} internal function
+@item @samp{IFN_TANH}
+The @code{IFN_TANH} internal function directly maps to the @code{tanh}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_ICEIL} internal function
+@item @samp{IFN_ICEIL}
+The @code{IFN_ICEIL} internal function directly maps to the @code{lceil}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_IFLOOR} internal function
+@item @samp{IFN_IFLOOR}
+The @code{IFN_IFLOOR} internal function directly maps to the @code{lfloor}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_IRINT} internal function
+@item @samp{IFN_IRINT}
+The @code{IFN_IRINT} internal function directly maps to the @code{lrint}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_IROUND} internal function
+@item @samp{IFN_IROUND}
+The @code{IFN_IROUND} internal function directly maps to the @code{lround}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_LCEIL} internal function
+@item @samp{IFN_LCEIL}
+The @code{IFN_LCEIL} internal function directly maps to the @code{lceil}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_LFLOOR} internal function
+@item @samp{IFN_LFLOOR}
+The @code{IFN_LFLOOR} internal function directly maps to the @code{lfloor}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_LRINT} internal function
+@item @samp{IFN_LRINT}
+The @code{IFN_LRINT} internal function directly maps to the @code{lrint}
+instruction pattern for floating-point modes including those for
+@code{_Float@var{n}}
+
+@cindex @code{IFN_LROUND} internal function
+@item @samp{IFN_LROUND}
+The @code{IFN_LROUND} internal function directly maps to the @code{lround}
+instruction pattern for floating-point modes including those for
+@code{_Float@var{n}}
+
+@cindex @code{IFN_LLCEIL} internal function
+@item @samp{IFN_LLCEIL}
+The @code{IFN_LLCEIL} internal function directly maps to the @code{lceil}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_LLFLOOR} internal function
+@item @samp{IFN_LLFLOOR}
+The @code{IFN_LLFLOOR} internal function directly maps to the @code{lfloor}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_LLRINT} internal function
+@item @samp{IFN_LLRINT}
+The @code{IFN_LLRINT} internal function directly maps to the @code{lrint}
+instruction pattern for floating-point modes including those for
+@code{_Float@var{n}}
+
+@cindex @code{IFN_LLROUND} internal function
+@item @samp{IFN_LLROUND}
+The @code{IFN_LLROUND} internal function directly maps to the
+@code{lround} instruction pattern for floating-point modes including
+those for @code{_Float@var{n}}
+
+@cindex @code{IFN_CEIL} internal function
+@item @samp{IFN_CEIL}
+The @code{IFN_CEIL} internal function directly maps to the @code{ceil}
+instruction pattern for floating-point modes including those for
+@code{_Float@var{n}}
+
+@cindex @code{IFN_FLOOR} internal function
+@item @samp{IFN_FLOOR}
+The @code{IFN_FLOOR} internal function directly maps to the @code{floor}
+instruction pattern for floating-point modes including those for
+@code{_Float@var{n}}
+
+@cindex @code{IFN_NEARBYINT} internal function
+@item @samp{IFN_NEARBYINT}
+The @code{IFN_NEARBYINT} internal function directly maps to the
+@code{nearbyint} instruction pattern for floating-point modes including
+those for @code{_Float@var{n}}
+
+@cindex @code{IFN_RINT} internal function
+@item @samp{IFN_RINT}
+The @code{IFN_RINT} internal function directly maps to the @code{rint}
+instruction pattern for floating-point modes including those for
+@code{_Float@var{n}}
+
+@cindex @code{IFN_ROUND} internal function
+@item @samp{IFN_ROUND}
+The @code{IFN_ROUND} internal function directly maps to the @code{round}
+instruction pattern for floating-point modes including those for
+@code{_Float@var{n}}
+
+@cindex @code{IFN_ROUNDEVEN} internal function
+@item @samp{IFN_ROUNDEVEN}
+The @code{IFN_ROUNDEVEN} internal function directly maps to the
+@code{roundeven} instruction pattern for floating-point modes
+including those for @code{_Float@var{n}}
+
+@cindex @code{IFN_TRUNC} internal function
+@item @samp{IFN_TRUNC}
+The @code{IFN_TRUNC} internal function directly maps to the @code{btrunc}
+instruction pattern for floating-point modes including those for
+@code{_Float@var{n}}
+
+@cindex @code{IFN_ATAN2} internal function
+@item @samp{IFN_ATAN2}
+The @code{IFN_ATAN2} internal function directly maps to the @code{atan2}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_COPYSIGN} internal function
+@item @samp{IFN_COPYSIGN}
+The @code{IFN_COPYSIGN} internal function directly maps to the
+@code{copysign} instruction pattern for floating-point modes including
+those for @code{_Float@var{n}}
+
+@cindex @code{IFN_FMOD} internal function
+@item @samp{IFN_FMOD}
+The @code{IFN_FMOD} internal function directly maps to the @code{fmod}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_HYPOT} internal function
+@item @samp{IFN_HYPOT}
+The @code{IFN_HYPOT} internal function directly maps to the @code{hypot}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_POW} internal function
+@item @samp{IFN_POW}
+The @code{IFN_POW} internal function directly maps to the @code{pow}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_REMAINDER} internal function
+@item @samp{IFN_REMAINDER}
+The @code{IFN_REMAINDER} internal function directly maps to the
+@code{remainder} instruction pattern for floating-point modes.
+
+@cindex @code{IFN_SCALB} internal function
+@item @samp{IFN_SCALB}
+The @code{IFN_SCALB} internal function directly maps to the @code{scalb}
+instruction pattern for floating-point modes.
+
+@cindex @code{IFN_FMIN} internal function
+@item @samp{IFN_FMIN}
+The @code{IFN_FMIN} internal function directly maps to the @code{fmin}
+instruction pattern for floating-point modes including those for
+@code{_Float@var{n}}
+
+@cindex @code{IFN_FMAX} internal function
+@item @samp{IFN_FMAX}
+The @code{IFN_FMAX} internal function directly maps to the @code{fmax}
+instruction pattern for floating-point modes including those for
+@code{_Float@var{n}}
+
+@cindex @code{IFN_LDEXP} internal function
+@item @samp{IFN_LDEXP}
+The @code{IFN_LDEXP} internal function directly maps to the @code{ldexp}
+instruction pattern for floating-point modes including those for
+@code{_Float@var{n}}
+
+@cindex @code{IFN_FMA} internal function
+@item @samp{IFN_FMA}
+The @code{IFN_FMA} internal function directly maps to the @code{fma}
+instruction pattern for floating-point modes including those for
+@code{_Float@var{n}}
+
+@cindex @code{IFN_CLRSB} internal function
+@item @samp{IFN_CLRSB}
+The @code{IFN_CLRSB} internal function directly maps to the @code{clrsb}
+instruction pattern for integer and integer vector modes.
+
+@cindex @code{IFN_CLZ} internal function
+@item @samp{IFN_CLZ}
+The @code{IFN_CLZ} internal function directly maps to the @code{clz}
+instruction pattern for integer and integer vector modes.
+
+@cindex @code{IFN_CTZ} internal function
+@item @samp{IFN_CTZ}
+The @code{IFN_CTZ} internal function directly maps to the @code{ctz}
+instruction pattern for integer and integer vector modes.
+
+@cindex @code{IFN_FFS} internal function
+@item @samp{IFN_FFS}
+The @code{IFN_FFS} internal function directly maps to the @code{ffs}
+instruction pattern for integer and integer vector modes.
+
+@cindex @code{IFN_PARITY} internal function
+@item @samp{IFN_PARITY}
+The @code{IFN_PARITY} internal function directly maps to the @code{parity}
+instruction pattern for integer and integer vector modes.
+
+@cindex @code{IFN_POPCOUNT} internal function
+@item @samp{IFN_POPCOUNT}
+The @code{IFN_POPCOUNT} internal function directly maps to the @code{popcount}
+instruction pattern for integer and integer vector modes.
+
+@end table
+
+@node Other Internal Functions
+@subsection Other Internal Functions
+
+@table @asis
+
+@cindex @code{IFN_GOMP_TARGET_REV} internal function
+@item @samp{IFN_GOMP_TARGET_REV}
+The @code{IFN_GOMP_TARGET_REV} internal function is expanded by the
+@code{expand_GOMP_TARGET_REV} function.
+
+@cindex @code{IFN_GOMP_USE_SIMT} internal function
+@item @samp{IFN_GOMP_USE_SIMT}
+The @code{IFN_GOMP_USE_SIMT} internal function is expanded by the
+@code{expand_GOMP_USE_SIMT} function.
+
+@cindex @code{IFN_GOMP_SIMT_ENTER} internal function
+@item @samp{IFN_GOMP_SIMT_ENTER}
+The @code{IFN_GOMP_SIMT_ENTER} internal function is expanded by the
+@code{expand_GOMP_SIMT_ENTER} function.
+
+@cindex @code{IFN_GOMP_SIMT_ENTER_ALLOC} internal function
+@item @samp{IFN_GOMP_SIMT_ENTER_ALLOC}
+The @code{IFN_GOMP_SIMT_ENTER_ALLOC} internal function is expanded by
+the @code{expand_GOMP_SIMT_ENTER_ALLOC} function.
+
+@cindex @code{IFN_GOMP_SIMT_EXIT} internal function
+@item @samp{IFN_GOMP_SIMT_EXIT}
+The @code{IFN_GOMP_SIMT_EXIT} internal function is expanded by the
+@code{expand_GOMP_SIMT_EXIT} function.
+
+@cindex @code{IFN_GOMP_SIMT_LANE} internal function
+@item @samp{IFN_GOMP_SIMT_LANE}
+The @code{IFN_GOMP_SIMT_LANE} internal function is expanded by the
+@code{expand_GOMP_SIMT_LANE} function.
+
+@cindex @code{IFN_GOMP_SIMT_VF} internal function
+@item @samp{IFN_GOMP_SIMT_VF}
+The @code{IFN_GOMP_SIMT_VF} internal function is expanded by the
+@code{expand_GOMP_SIMT_VF} function.
+
+@cindex @code{IFN_GOMP_MAX_VF} internal function
+@item @samp{IFN_GOMP_MAX_VF}
+The @code{IFN_GOMP_MAX_VF} internal function is expanded by the
+@code{expand_GOMP_MAX_VF} function.
+
+@cindex @code{IFN_GOMP_SIMT_LAST_LANE} internal function
+@item @samp{IFN_GOMP_SIMT_LAST_LANE}
+The @code{IFN_GOMP_SIMT_LAST_LANE} internal function is expanded by the
+@code{expand_GOMP_SIMT_LAST_LANE} function.
+
+@cindex @code{IFN_GOMP_SIMT_ORDERED_PRED} internal function
+@item @samp{IFN_GOMP_SIMT_ORDERED_PRED}
+The @code{IFN_GOMP_SIMT_ORDERED_PRED} internal function is expanded by the
+@code{expand_GOMP_SIMT_ORDERED_PRED} function.
+
+@cindex @code{IFN_GOMP_SIMT_VOTE_ANY} internal function
+@item @samp{IFN_GOMP_SIMT_VOTE_ANY}
+The @code{IFN_GOMP_SIMT_VOTE_ANY} internal function is expanded by the
+@code{expand_GOMP_SIMT_VOTE_ANY} function.
+
+@cindex @code{IFN_GOMP_SIMT_XCHG_BFLY} internal function
+@item @samp{IFN_GOMP_SIMT_XCHG_BFLY}
+The @code{IFN_GOMP_SIMT_XCHG_BFLY} internal function is expanded by the
+@code{expand_GOMP_SIMT_XCHG_BFLY} function.
+
+@cindex @code{IFN_GOMP_SIMT_XCHG_IDX} internal function
+@item @samp{IFN_GOMP_SIMT_XCHG_IDX}
+The @code{IFN_GOMP_SIMT_XCHG_IDX} internal function is expanded by the
+@code{expand_GOMP_SIMT_XCHG_IDX} function.
+
+@cindex @code{IFN_GOMP_SIMD_LANE} internal function
+@item @samp{IFN_GOMP_SIMD_LANE}
+The @code{IFN_GOMP_SIMD_LANE} internal function is expanded by the
+@code{expand_GOMP_SIMD_LANE} function.
+
+@cindex @code{IFN_GOMP_SIMD_VF} internal function
+@item @samp{IFN_GOMP_SIMD_VF}
+The @code{IFN_GOMP_SIMD_VF} internal function is expanded by the
+@code{expand_GOMP_SIMD_VF} function.
+
+@cindex @code{IFN_GOMP_SIMD_LAST_LANE} internal function
+@item @samp{IFN_GOMP_SIMD_LAST_LANE}
+The @code{IFN_GOMP_SIMD_LAST_LANE} internal function is expanded by the
+@code{expand_GOMP_SIMD_LAST_LANE} function.
+
+@cindex @code{IFN_GOMP_SIMD_ORDERED_START} internal function
+@item @samp{IFN_GOMP_SIMD_ORDERED_START}
+The @code{IFN_GOMP_SIMD_ORDERED_START} internal function is expanded by the
+@code{expand_GOMP_SIMD_ORDERED_START} function.
+
+@cindex @code{IFN_GOMP_SIMD_ORDERED_END} internal function
+@item @samp{IFN_GOMP_SIMD_ORDERED_END}
+The @code{IFN_GOMP_SIMD_ORDERED_END} internal function is expanded by the
+@code{expand_GOMP_SIMD_ORDERED_END} function.
+
+@cindex @code{IFN_GOMP_DISPATCH} internal function
+@item @samp{IFN_GOMP_DISPATCH}
+The @code{IFN_GOMP_DISPATCH} internal function is expanded by the
+@code{expand_GOMP_DISPATCH} function.
+
+@cindex @code{IFN_LOOP_VECTORIZED} internal function
+@item @samp{IFN_LOOP_VECTORIZED}
+The @code{IFN_LOOP_VECTORIZED} internal function is expanded by the
+@code{expand_LOOP_VECTORIZED} function.
+
+@cindex @code{IFN_LOOP_DIST_ALIAS} internal function
+@item @samp{IFN_LOOP_DIST_ALIAS}
+The @code{IFN_LOOP_DIST_ALIAS} internal function is expanded by the
+@code{expand_LOOP_DIST_ALIAS} function.
+
+@cindex @code{IFN_ANNOTATE} internal function
+@item @samp{IFN_ANNOTATE}
+The @code{IFN_ANNOTATE} internal function is expanded by the
+@code{expand_ANNOTATE} function.
+
+@cindex @code{IFN_UBSAN_NULL} internal function
+@item @samp{IFN_UBSAN_NULL}
+The @code{IFN_UBSAN_NULL} internal function is expanded by the
+@code{expand_UBSAN_NULL} function.
+
+@cindex @code{IFN_UBSAN_BOUNDS} internal function
+@item @samp{IFN_UBSAN_BOUNDS}
+The @code{IFN_UBSAN_BOUNDS} internal function is expanded by the
+@code{expand_UBSAN_BOUNDS} function.
+
+@cindex @code{IFN_UBSAN_VPTR} internal function
+@item @samp{IFN_UBSAN_VPTR}
+The @code{IFN_UBSAN_VPTR} internal function is expanded by the
+@code{expand_UBSAN_VPTR} function.
+
+@cindex @code{IFN_UBSAN_CHECK_ADD} internal function
+@item @samp{IFN_UBSAN_CHECK_ADD}
+The @code{IFN_UBSAN_CHECK_ADD} internal function is expanded by the
+@code{expand_UBSAN_CHECK_ADD} function.
+
+@cindex @code{IFN_UBSAN_CHECK_SUB} internal function
+@item @samp{IFN_UBSAN_CHECK_SUB}
+The @code{IFN_UBSAN_CHECK_SUB} internal function is expanded by the
+@code{expand_UBSAN_CHECK_SUB} function.
+
+@cindex @code{IFN_UBSAN_CHECK_MUL} internal function
+@item @samp{IFN_UBSAN_CHECK_MUL}
+The @code{IFN_UBSAN_CHECK_MUL} internal function is expanded by the
+@code{expand_UBSAN_CHECK_MUL} function.
+
+@cindex @code{IFN_UBSAN_PTR} internal function
+@item @samp{IFN_UBSAN_PTR}
+The @code{IFN_UBSAN_PTR} internal function is expanded by the
+@code{expand_UBSAN_PTR} function.
+
+@cindex @code{IFN_UBSAN_OBJECT_SIZE} internal function
+@item @samp{IFN_UBSAN_OBJECT_SIZE}
+The @code{IFN_UBSAN_OBJECT_SIZE} internal function is expanded by the
+@code{expand_UBSAN_OBJECT_SIZE} function.
+
+@cindex @code{IFN_ABNORMAL_DISPATCHER} internal function
+@item @samp{IFN_ABNORMAL_DISPATCHER}
+The @code{IFN_ABNORMAL_DISPATCHER} internal function is expanded by the
+@code{expand_ABNORMAL_DISPATCHER} function.
+
+@cindex @code{IFN_BUILTIN_EXPECT} internal function
+@item @samp{IFN_BUILTIN_EXPECT}
+The @code{IFN_BUILTIN_EXPECT} internal function is expanded by the
+@code{expand_BUILTIN_EXPECT} function.
+
+@cindex @code{IFN_HWASAN_ALLOCA_POISON} internal function
+@item @samp{IFN_HWASAN_ALLOCA_POISON}
+The @code{IFN_HWASAN_ALLOCA_POISON} internal function is expanded by the
+@code{expand_HWASAN_ALLOCA_POISON} function.
+
+@cindex @code{IFN_HWASAN_ALLOCA_UNPOISON} internal function
+@item @samp{IFN_HWASAN_ALLOCA_UNPOISON}
+The @code{IFN_HWASAN_ALLOCA_UNPOISON} internal function is expanded by the
+@code{expand_HWASAN_ALLOCA_UNPOISON} function.
+
+@cindex @code{IFN_HWASAN_CHOOSE_TAG} internal function
+@item @samp{IFN_HWASAN_CHOOSE_TAG}
+The @code{IFN_HWASAN_CHOOSE_TAG} internal function is expanded by the
+@code{expand_HWASAN_CHOOSE_TAG} function.
+
+@cindex @code{IFN_HWASAN_CHECK} internal function
+@item @samp{IFN_HWASAN_CHECK}
+The @code{IFN_HWASAN_CHECK} internal function is expanded by the
+@code{expand_HWASAN_CHECK} function.
+
+@cindex @code{IFN_HWASAN_MARK} internal function
+@item @samp{IFN_HWASAN_MARK}
+The @code{IFN_HWASAN_MARK} internal function is expanded by the
+@code{expand_HWASAN_MARK} function.
+
+@cindex @code{IFN_HWASAN_SET_TAG} internal function
+@item @samp{IFN_HWASAN_SET_TAG}
+The @code{IFN_HWASAN_SET_TAG} internal function is expanded by the
+@code{expand_HWASAN_SET_TAG} function.
+
+@cindex @code{IFN_ASAN_CHECK} internal function
+@item @samp{IFN_ASAN_CHECK}
+The @code{IFN_ASAN_CHECK} internal function is expanded by the
+@code{expand_ASAN_CHECK} function.
+
+@cindex @code{IFN_ASAN_MARK} internal function
+@item @samp{IFN_ASAN_MARK}
+The @code{IFN_ASAN_MARK} internal function is expanded by the
+@code{expand_ASAN_MARK} function.
+
+@cindex @code{IFN_ASAN_POISON} internal function
+@item @samp{IFN_ASAN_POISON}
+The @code{IFN_ASAN_POISON} internal function is expanded by the
+@code{expand_ASAN_POISON} function.
+
+@cindex @code{IFN_ASAN_POISON_USE} internal function
+@item @samp{IFN_ASAN_POISON_USE}
+The @code{IFN_ASAN_POISON_USE} internal function is expanded by the
+@code{expand_ASAN_POISON_USE} function.
+
+@cindex @code{IFN_ADD_OVERFLOW} internal function
+@item @samp{IFN_ADD_OVERFLOW}
+The @code{IFN_ADD_OVERFLOW} internal function is expanded by the
+@code{expand_ADD_OVERFLOW} function.
+
+@cindex @code{IFN_SUB_OVERFLOW} internal function
+@item @samp{IFN_SUB_OVERFLOW}
+The @code{IFN_SUB_OVERFLOW} internal function is expanded by the
+@code{expand_SUB_OVERFLOW} function.
+
+@cindex @code{IFN_MUL_OVERFLOW} internal function
+@item @samp{IFN_MUL_OVERFLOW}
+The @code{IFN_MUL_OVERFLOW} internal function is expanded by the
+@code{expand_MUL_OVERFLOW} function.
+
+@cindex @code{IFN_UADDC} internal function
+@item @samp{IFN_UADDC}
+The @code{IFN_UADDC} internal function is expanded by the @code{expand_UADDC}
+function.
+
+@cindex @code{IFN_USUBC} internal function
+@item @samp{IFN_USUBC}
+The @code{IFN_USUBC} internal function is expanded by the @code{expand_USUBC} function.
+
+@cindex @code{IFN_TSAN_FUNC_EXIT} internal function
+@item @samp{IFN_TSAN_FUNC_EXIT}
+The @code{IFN_TSAN_FUNC_EXIT} internal function is expanded by the
+@code{expand_TSAN_FUNC_EXIT} function.
+
+@cindex @code{IFN_VA_ARG} internal function
+@item @samp{IFN_VA_ARG}
+The @code{IFN_VA_ARG} internal function is expanded by the
+@code{expand_VA_ARG} function.
+
+@cindex @code{IFN_VEC_CONVERT} internal function
+@item @samp{IFN_VEC_CONVERT}
+The @code{IFN_VEC_CONVERT} internal function is expanded by the
+@code{expand_VEC_CONVERT} function.
+
+@cindex @code{IFN_RAWMEMCHR} internal function
+@item @samp{IFN_RAWMEMCHR}
+The @code{IFN_RAWMEMCHR} internal function is expanded by the
+@code{expand_RAWMEMCHR} function.
+
+@cindex @code{IFN_UNIQUE} internal function
+@item @samp{IFN_UNIQUE}
+The @code{IFN_UNIQUE} internal function is expanded by the
+@code{expand_UNIQUE} function.
+
+@cindex @code{IFN_PHI} internal function
+@item @samp{IFN_PHI}
+The @code{IFN_PHI} internal function is used by the GIMPLE frontend and
+lowered to PHI nodes.
+
+@cindex @code{IFN_DEFERRED_INIT} internal function
+@item @samp{IFN_DEFERRED_INIT}
+The @code{IFN_DEFERRED_INIT} internal function is expanded by the
+@code{expand_DEFERRED_INIT} function.
+
+@cindex @code{IFN_ACCESS_WITH_SIZE} internal function
+@item @samp{IFN_ACCESS_WITH_SIZE}
+The @code{IFN_ACCESS_WITH_SIZE} internal function is expanded by the
+@code{expand_ACCESS_WITH_SIZE} function.
+
+@cindex @code{IFN_GOACC_DIM_SIZE} internal function
+@item @samp{IFN_GOACC_DIM_SIZE}
+The @code{IFN_GOACC_DIM_SIZE} internal function is expanded by the
+@code{expand_GOACC_DIM_SIZE} function.
+
+@cindex @code{IFN_GOACC_DIM_POS} internal function
+@item @samp{IFN_GOACC_DIM_POS}
+The @code{IFN_GOACC_DIM_POS} internal function is expanded by the
+@code{expand_GOACC_DIM_POS} function.
+
+@cindex @code{IFN_GOACC_LOOP} internal function
+@item @samp{IFN_GOACC_LOOP}
+The @code{IFN_GOACC_LOOP} internal function is expanded by the
+@code{expand_GOACC_LOOP} function.
+
+@cindex @code{IFN_GOACC_REDUCTION} internal function
+@item @samp{IFN_GOACC_REDUCTION}
+The @code{IFN_GOACC_REDUCTION} internal function is expanded by the
+@code{expand_GOACC_REDUCTION} function.
+
+@cindex @code{IFN_GOACC_TILE} internal function
+@item @samp{IFN_GOACC_TILE}
+The @code{IFN_GOACC_TILE} internal function is expanded by the
+@code{expand_GOACC_TILE} function.
+
+@cindex @code{IFN_SET_EDOM} internal function
+@item @samp{IFN_SET_EDOM}
+The @code{IFN_SET_EDOM} internal function is expanded by the
+@code{expand_SET_EDOM} function.
+
+@cindex @code{IFN_ATOMIC_BIT_TEST_AND_SET} internal function
+@item @samp{IFN_ATOMIC_BIT_TEST_AND_SET}
+The @code{IFN_ATOMIC_BIT_TEST_AND_SET} internal function is expanded by the
+@code{expand_ATOMIC_BIT_TEST_AND_SET} function.
+
+@cindex @code{IFN_ATOMIC_BIT_TEST_AND_COMPLEMENT} internal function
+@item @samp{IFN_ATOMIC_BIT_TEST_AND_COMPLEMENT}
+The @code{IFN_ATOMIC_BIT_TEST_AND_COMPLEMENT} internal function is expanded by
+the @code{expand_ATOMIC_BIT_TEST_AND_COMPLEMENT} function.
+
+@cindex @code{IFN_ATOMIC_BIT_TEST_AND_RESET} internal function
+@item @samp{IFN_ATOMIC_BIT_TEST_AND_RESET}
+The @code{IFN_ATOMIC_BIT_TEST_AND_RESET} internal function is expanded by
+the @code{expand_ATOMIC_BIT_TEST_AND_RESET} function.
+
+@cindex @code{IFN_ATOMIC_COMPARE_EXCHANGE} internal function
+@item @samp{IFN_ATOMIC_COMPARE_EXCHANGE}
+The @code{IFN_ATOMIC_COMPARE_EXCHANGE} internal function is expanded by the
+@code{expand_ATOMIC_COMPARE_EXCHANGE} function.
+
+@cindex @code{IFN_ATOMIC_ADD_FETCH_CMP_0} internal function
+@item @samp{IFN_ATOMIC_ADD_FETCH_CMP_0}
+The @code{IFN_ATOMIC_ADD_FETCH_CMP_0} internal function is expanded by the
+@code{expand_ATOMIC_ADD_FETCH_CMP_0} function.
+
+@cindex @code{IFN_ATOMIC_SUB_FETCH_CMP_0} internal function
+@item @samp{IFN_ATOMIC_SUB_FETCH_CMP_0}
+The @code{IFN_ATOMIC_SUB_FETCH_CMP_0} internal function is expanded by the
+@code{expand_ATOMIC_SUB_FETCH_CMP_0} function.
+
+@cindex @code{IFN_ATOMIC_AND_FETCH_CMP_0} internal function
+@item @samp{IFN_ATOMIC_AND_FETCH_CMP_0}
+The @code{IFN_ATOMIC_AND_FETCH_CMP_0} internal function is expanded by the
+@code{expand_ATOMIC_AND_FETCH_CMP_0} function.
+
+@cindex @code{IFN_ATOMIC_OR_FETCH_CMP_0} internal function
+@item @samp{IFN_ATOMIC_OR_FETCH_CMP_0}
+The @code{IFN_ATOMIC_OR_FETCH_CMP_0} internal function is expanded by the
+@code{expand_ATOMIC_OR_FETCH_CMP_0} function.
+
+@cindex @code{IFN_ATOMIC_XOR_FETCH_CMP_0} internal function
+@item @samp{IFN_ATOMIC_XOR_FETCH_CMP_0}
+The @code{IFN_ATOMIC_XOR_FETCH_CMP_0} internal function is expanded by the
+@code{expand_ATOMIC_XOR_FETCH_CMP_0} function.
+
+@cindex @code{IFN_FALLTHROUGH} internal function
+@item @samp{IFN_FALLTHROUGH}
+The @code{IFN_FALLTHROUGH} internal function is expanded by the
+@code{expand_FALLTHROUGH} function.
+
+@cindex @code{IFN_LAUNDER} internal function
+@item @samp{IFN_LAUNDER}
+The @code{IFN_LAUNDER} internal function is expanded by the
+@code{expand_LAUNDER} function.
+
+@cindex @code{IFN_DIVMOD} internal function
+@item @samp{IFN_DIVMOD}
+The @code{IFN_DIVMOD} internal function is expanded by the
+@code{expand_DIVMOD} function.
+
+@cindex @code{IFN_CO_ACTOR} internal function
+@item @samp{IFN_CO_ACTOR}
+The @code{IFN_CO_ACTOR} internal function is expanded by the
+@code{expand_CO_ACTOR} function.
+
+@cindex @code{IFN_CO_YIELD} internal function
+@item @samp{IFN_CO_YIELD}
+The @code{IFN_CO_YIELD} internal function is expanded by the
+@code{expand_CO_YIELD} function.
+
+@cindex @code{IFN_CO_SUSPN} internal function
+@item @samp{IFN_CO_SUSPN}
+The @code{IFN_CO_SUSPN} internal function is expanded by the
+@code{expand_CO_SUSPN} function.
+
+@cindex @code{IFN_CO_FRAME} internal function
+@item @samp{IFN_CO_FRAME}
+The @code{IFN_CO_FRAME} internal function is expanded by the
+@code{expand_CO_FRAME} function.
+
+@cindex @code{IFN_NOP} internal function
+@item @samp{IFN_NOP}
+The @code{IFN_NOP} internal function is expanded by the @code{expand_NOP}
+function.
+
+@cindex @code{IFN_SHUFFLEVECTOR} internal function
+@item @samp{IFN_SHUFFLEVECTOR}
+The @code{IFN_SHUFFLEVECTOR} internal function is expanded by the
+@code{expand_SHUFFLEVECTOR} function.
+
+@cindex @code{IFN_SPACESHIP} internal function
+@item @samp{IFN_SPACESHIP}
+The @code{IFN_SPACESHIP} internal function is expanded by the
+@code{expand_SPACESHIP} function.
+
+@cindex @code{IFN_ASSUME} internal function
+@item @samp{IFN_ASSUME}
+The @code{IFN_ASSUME} internal function is expanded by the
+@code{expand_ASSUME} function.
+
+@cindex @code{IFN_MASK_CALL} internal function
+@item @samp{IFN_MASK_CALL}
+The @code{IFN_MASK_CALL} internal function is expanded by the
+@code{expand_MASK_CALL} function.
+
+@cindex @code{IFN_MULBITINT} internal function
+@item @samp{IFN_MULBITINT}
+The @code{IFN_MULBITINT} internal function is expanded by the
+@code{expand_MULBITINT} function.
+
+@cindex @code{IFN_DIVMODBITINT} internal function
+@item @samp{IFN_DIVMODBITINT}
+The @code{IFN_DIVMODBITINT} internal function is expanded by the
+@code{expand_DIVMODBITINT} function.
+
+@cindex @code{IFN_FLOATTOBITINT} internal function
+@item @samp{IFN_FLOATTOBITINT}
+The @code{IFN_FLOATTOBITINT} internal function is expanded by the
+@code{expand_FLOATTOBITINT} function.
+
+@cindex @code{IFN_BITINTTOFLOAT} internal function
+@item @samp{IFN_BITINTTOFLOAT}
+The @code{IFN_BITINTTOFLOAT} internal function is expanded by the
+@code{expand_BITINTTOFLOAT} function.
+
+@end table
+