Internal Functions Corresponding to Builtins (GNU Compiler Collection (GCC) Internals)

#### 13.2.2 Internal Functions Corresponding to Builtins ¶

These group of internal functions extend the corresponding `BUILT_IN_X` builtins to a wider set of types.

‘`IFN_ACOS`’ ¶

  The `IFN_ACOS` internal function directly maps to the `acos` instruction pattern for floating-point modes.

‘`IFN_ACOSH`’ ¶

  The `IFN_ACOSH` internal function directly maps to the `acosh` instruction pattern for floating-point modes.

‘`IFN_ASIN`’ ¶

  The `IFN_ASIN` internal function directly maps to the `asin` instruction pattern for floating-point modes.

‘`IFN_ASINH`’ ¶

  The `IFN_ASINH` internal function directly maps to the `asinh` instruction pattern for floating-point modes.

‘`IFN_ATAN`’ ¶

  The `IFN_ATAN` internal function directly maps to the `atan` instruction pattern for floating-point modes.

‘`IFN_ATANH`’ ¶

  The `IFN_ATANH` internal function directly maps to the `atanh` instruction pattern for floating-point modes.

‘`IFN_COS`’ ¶

  The `IFN_COS` internal function directly maps to the `cos` instruction pattern for floating-point modes.

‘`IFN_COSH`’ ¶

  The `IFN_COSH` internal function directly maps to the `cosh` instruction pattern for floating-point modes.

‘`IFN_EXP`’ ¶

  The `IFN_EXP` internal function directly maps to the `exp` instruction pattern for floating-point modes.

‘`IFN_EXP10`’ ¶

  The `IFN_EXP10` internal function directly maps to the `exp10` instruction pattern for floating-point modes.

‘`IFN_EXP2`’ ¶

  The `IFN_EXP2` internal function directly maps to the `exp2` instruction pattern for floating-point modes.

‘`IFN_EXPM1`’ ¶

  The `IFN_EXPM1` internal function directly maps to the `expm1` instruction pattern for floating-point modes.

‘`IFN_LOG`’ ¶

  The `IFN_LOG` internal function directly maps to the `log` instruction pattern for floating-point modes.

‘`IFN_LOG10`’ ¶

  The `IFN_LOG10` internal function directly maps to the `log10` instruction pattern for floating-point modes.

‘`IFN_LOG1P`’ ¶

  The `IFN_LOG1P` internal function directly maps to the `log1p` instruction pattern for floating-point modes.

‘`IFN_LOG2`’ ¶

  The `IFN_LOG2` internal function directly maps to the `log2` instruction pattern for floating-point modes.

‘`IFN_LOGB`’ ¶

  The `IFN_LOGB` internal function directly maps to the `logb` instruction pattern for floating-point modes.

‘`IFN_SIGNBIT`’ ¶

  The `IFN_SIGNBIT` internal function directly maps to the `signbit` instruction pattern for floating-point modes.

‘`IFN_SIGNIFICAND`’ ¶

  The `IFN_SIGNIFICAND` internal function directly maps to the `significand` instruction pattern for floating-point modes.

‘`IFN_SIN`’ ¶

  The `IFN_SIN` internal function directly maps to the `sin` instruction pattern for floating-point modes.

‘`IFN_SINH`’ ¶

  The `IFN_SINH` internal function directly maps to the `sinh` instruction pattern for floating-point modes.

‘`IFN_SQRT`’ ¶

  The `IFN_SQRT` internal function directly maps to the `sqrt` instruction pattern for floating-point modes including those for `_Floatn`

‘`IFN_TAN`’ ¶

  The `IFN_TAN` internal function directly maps to the `tan` instruction pattern for floating-point modes.

‘`IFN_TANH`’ ¶

  The `IFN_TANH` internal function directly maps to the `tanh` instruction pattern for floating-point modes.

‘`IFN_ICEIL`’ ¶

  The `IFN_ICEIL` internal function directly maps to the `lceil` instruction pattern for floating-point modes.

‘`IFN_IFLOOR`’ ¶

  The `IFN_IFLOOR` internal function directly maps to the `lfloor` instruction pattern for floating-point modes.

‘`IFN_IRINT`’ ¶

  The `IFN_IRINT` internal function directly maps to the `lrint` instruction pattern for floating-point modes.

‘`IFN_IROUND`’ ¶

  The `IFN_IROUND` internal function directly maps to the `lround` instruction pattern for floating-point modes.

‘`IFN_LCEIL`’ ¶

  The `IFN_LCEIL` internal function directly maps to the `lceil` instruction pattern for floating-point modes.

‘`IFN_LFLOOR`’ ¶

  The `IFN_LFLOOR` internal function directly maps to the `lfloor` instruction pattern for floating-point modes.

‘`IFN_LRINT`’ ¶

  The `IFN_LRINT` internal function directly maps to the `lrint` instruction pattern for floating-point modes including those for `_Floatn`

‘`IFN_LROUND`’ ¶

  The `IFN_LROUND` internal function directly maps to the `lround` instruction pattern for floating-point modes including those for `_Floatn`

‘`IFN_LLCEIL`’ ¶

  The `IFN_LLCEIL` internal function directly maps to the `lceil` instruction pattern for floating-point modes.

‘`IFN_LLFLOOR`’ ¶

  The `IFN_LLFLOOR` internal function directly maps to the `lfloor` instruction pattern for floating-point modes.

‘`IFN_LLRINT`’ ¶

  The `IFN_LLRINT` internal function directly maps to the `lrint` instruction pattern for floating-point modes including those for `_Floatn`

‘`IFN_LLROUND`’ ¶

  The `IFN_LLROUND` internal function directly maps to the `lround` instruction pattern for floating-point modes including those for `_Floatn`

‘`IFN_CEIL`’ ¶

  The `IFN_CEIL` internal function directly maps to the `ceil` instruction pattern for floating-point modes including those for `_Floatn`

‘`IFN_FLOOR`’ ¶

  The `IFN_FLOOR` internal function directly maps to the `floor` instruction pattern for floating-point modes including those for `_Floatn`

‘`IFN_NEARBYINT`’ ¶

  The `IFN_NEARBYINT` internal function directly maps to the `nearbyint` instruction pattern for floating-point modes including those for `_Floatn`

‘`IFN_RINT`’ ¶

  The `IFN_RINT` internal function directly maps to the `rint` instruction pattern for floating-point modes including those for `_Floatn`

‘`IFN_ROUND`’ ¶

  The `IFN_ROUND` internal function directly maps to the `round` instruction pattern for floating-point modes including those for `_Floatn`

‘`IFN_ROUNDEVEN`’ ¶

  The `IFN_ROUNDEVEN` internal function directly maps to the `roundeven` instruction pattern for floating-point modes including those for `_Floatn`

‘`IFN_TRUNC`’ ¶

  The `IFN_TRUNC` internal function directly maps to the `btrunc` instruction pattern for floating-point modes including those for `_Floatn`

‘`IFN_ATAN2`’ ¶

  The `IFN_ATAN2` internal function directly maps to the `atan2` instruction pattern for floating-point modes.

‘`IFN_COPYSIGN`’ ¶

  The `IFN_COPYSIGN` internal function directly maps to the `copysign` instruction pattern for floating-point modes including those for `_Floatn`

‘`IFN_FMOD`’ ¶

  The `IFN_FMOD` internal function directly maps to the `fmod` instruction pattern for floating-point modes.

‘`IFN_HYPOT`’ ¶

  The `IFN_HYPOT` internal function directly maps to the `hypot` instruction pattern for floating-point modes.

‘`IFN_POW`’ ¶

  The `IFN_POW` internal function directly maps to the `pow` instruction pattern for floating-point modes.

‘`IFN_REMAINDER`’ ¶

  The `IFN_REMAINDER` internal function directly maps to the `remainder` instruction pattern for floating-point modes.

‘`IFN_SCALB`’ ¶

  The `IFN_SCALB` internal function directly maps to the `scalb` instruction pattern for floating-point modes.

‘`IFN_FMIN`’ ¶

  The `IFN_FMIN` internal function directly maps to the `fmin` instruction pattern for floating-point modes including those for `_Floatn`

‘`IFN_FMAX`’ ¶

  The `IFN_FMAX` internal function directly maps to the `fmax` instruction pattern for floating-point modes including those for `_Floatn`

‘`IFN_LDEXP`’ ¶

  The `IFN_LDEXP` internal function directly maps to the `ldexp` instruction pattern for floating-point modes including those for `_Floatn`

‘`IFN_FMA`’ ¶

  The `IFN_FMA` internal function directly maps to the `fma` instruction pattern for floating-point modes including those for `_Floatn`

‘`IFN_CLRSB`’ ¶

  The `IFN_CLRSB` internal function directly maps to the `clrsb` instruction pattern for integer and integer vector modes.

‘`IFN_CLZ`’ ¶

  The `IFN_CLZ` internal function directly maps to the `clz` instruction pattern for integer and integer vector modes.

‘`IFN_CTZ`’ ¶

  The `IFN_CTZ` internal function directly maps to the `ctz` instruction pattern for integer and integer vector modes.

‘`IFN_FFS`’ ¶

  The `IFN_FFS` internal function directly maps to the `ffs` instruction pattern for integer and integer vector modes.

‘`IFN_PARITY`’ ¶

  The `IFN_PARITY` internal function directly maps to the `parity` instruction pattern for integer and integer vector modes.

‘`IFN_POPCOUNT`’ ¶

  The `IFN_POPCOUNT` internal function directly maps to the `popcount` instruction pattern for integer and integer vector modes.