In addition to builtin functions specified in 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 BUILT_IN_SIN
and BUILT_IN_SINF; just a single IFN_SIN.
Internal functions are declared in internal-fn.def.