These group of internal functions extend the corresponding
BUILT_IN_X builtins to a wider set of types.
The IFN_ACOS internal function directly maps to the acos
instruction pattern for floating-point modes.
The IFN_ACOSH internal function directly maps to the acosh
instruction pattern for floating-point modes.
The IFN_ASIN internal function directly maps to the asin
instruction pattern for floating-point modes.
The IFN_ASINH internal function directly maps to the asinh
instruction pattern for floating-point modes.
The IFN_ATAN internal function directly maps to the atan
instruction pattern for floating-point modes.
The IFN_ATANH internal function directly maps to the atanh
instruction pattern for floating-point modes.
The IFN_COS internal function directly maps to the cos
instruction pattern for floating-point modes.
The IFN_COSH internal function directly maps to the cosh
instruction pattern for floating-point modes.
The IFN_EXP internal function directly maps to the exp
instruction pattern for floating-point modes.
The IFN_EXP10 internal function directly maps to the exp10
instruction pattern for floating-point modes.
The IFN_EXP2 internal function directly maps to the exp2
instruction pattern for floating-point modes.
The IFN_EXPM1 internal function directly maps to the expm1
instruction pattern for floating-point modes.
The IFN_LOG internal function directly maps to the log
instruction pattern for floating-point modes.
The IFN_LOG10 internal function directly maps to the log10
instruction pattern for floating-point modes.
The IFN_LOG1P internal function directly maps to the log1p
instruction pattern for floating-point modes.
The IFN_LOG2 internal function directly maps to the log2
instruction pattern for floating-point modes.
The IFN_LOGB internal function directly maps to the logb
instruction pattern for floating-point modes.
The IFN_SIGNBIT internal function directly maps to the signbit
instruction pattern for floating-point modes.
The IFN_SIGNIFICAND internal function directly maps to the
significand instruction pattern for floating-point modes.
The IFN_SIN internal function directly maps to the sin
instruction pattern for floating-point modes.
The IFN_SINH internal function directly maps to the sinh
instruction pattern for floating-point modes.
The IFN_SQRT internal function directly maps to the sqrt
instruction pattern for floating-point modes including those for
_Floatn
The IFN_TAN internal function directly maps to the tan
instruction pattern for floating-point modes.
The IFN_TANH internal function directly maps to the tanh
instruction pattern for floating-point modes.
The IFN_ICEIL internal function directly maps to the lceil
instruction pattern for floating-point modes.
The IFN_IFLOOR internal function directly maps to the lfloor
instruction pattern for floating-point modes.
The IFN_IRINT internal function directly maps to the lrint
instruction pattern for floating-point modes.
The IFN_IROUND internal function directly maps to the lround
instruction pattern for floating-point modes.
The IFN_LCEIL internal function directly maps to the lceil
instruction pattern for floating-point modes.
The IFN_LFLOOR internal function directly maps to the lfloor
instruction pattern for floating-point modes.
The IFN_LRINT internal function directly maps to the lrint
instruction pattern for floating-point modes including those for
_Floatn
The IFN_LROUND internal function directly maps to the lround
instruction pattern for floating-point modes including those for
_Floatn
The IFN_LLCEIL internal function directly maps to the lceil
instruction pattern for floating-point modes.
The IFN_LLFLOOR internal function directly maps to the lfloor
instruction pattern for floating-point modes.
The IFN_LLRINT internal function directly maps to the lrint
instruction pattern for floating-point modes including those for
_Floatn
The IFN_LLROUND internal function directly maps to the
lround instruction pattern for floating-point modes including
those for _Floatn
The IFN_CEIL internal function directly maps to the ceil
instruction pattern for floating-point modes including those for
_Floatn
The IFN_FLOOR internal function directly maps to the floor
instruction pattern for floating-point modes including those for
_Floatn
The IFN_NEARBYINT internal function directly maps to the
nearbyint instruction pattern for floating-point modes including
those for _Floatn
The IFN_RINT internal function directly maps to the rint
instruction pattern for floating-point modes including those for
_Floatn
The IFN_ROUND internal function directly maps to the round
instruction pattern for floating-point modes including those for
_Floatn
The IFN_ROUNDEVEN internal function directly maps to the
roundeven instruction pattern for floating-point modes
including those for _Floatn
The IFN_TRUNC internal function directly maps to the btrunc
instruction pattern for floating-point modes including those for
_Floatn
The IFN_ATAN2 internal function directly maps to the atan2
instruction pattern for floating-point modes.
The IFN_COPYSIGN internal function directly maps to the
copysign instruction pattern for floating-point modes including
those for _Floatn
The IFN_FMOD internal function directly maps to the fmod
instruction pattern for floating-point modes.
The IFN_HYPOT internal function directly maps to the hypot
instruction pattern for floating-point modes.
The IFN_POW internal function directly maps to the pow
instruction pattern for floating-point modes.
The IFN_REMAINDER internal function directly maps to the
remainder instruction pattern for floating-point modes.
The IFN_SCALB internal function directly maps to the scalb
instruction pattern for floating-point modes.
The IFN_FMIN internal function directly maps to the fmin
instruction pattern for floating-point modes including those for
_Floatn
The IFN_FMAX internal function directly maps to the fmax
instruction pattern for floating-point modes including those for
_Floatn
The IFN_LDEXP internal function directly maps to the ldexp
instruction pattern for floating-point modes including those for
_Floatn
The IFN_FMA internal function directly maps to the fma
instruction pattern for floating-point modes including those for
_Floatn
The IFN_CLRSB internal function directly maps to the clrsb
instruction pattern for integer and integer vector modes.
The IFN_CLZ internal function directly maps to the clz
instruction pattern for integer and integer vector modes. The optional
second argument is an int constant that gives the result for zero.
Note, this is always a scalar value even for vector modes where it represents
the scalar value of a lane. For a scalar call it can be any value. If the
instruction gives another value for zero, the expansion compares the first
argument with zero. For a vector call it must be the value for which
CLZ_DEFINED_VALUE_AT_ZERO returns 2 for the vector mode. Without
the second argument the result for zero is undefined.
The IFN_CTZ internal function directly maps to the ctz
instruction pattern for integer and integer vector modes. The optional
second argument is an int constant that gives the result for zero.
Note, this is always a scalar value even for vector modes where it represents
the scalar value of a lane. For a scalar call it can be any value. If the
instruction gives another value for zero, the expansion compares the first
argument with zero. For a vector call it must be the value for which
CTZ_DEFINED_VALUE_AT_ZERO returns 2 for the vector mode. Without
the second argument the result for zero is undefined.
The IFN_FFS internal function directly maps to the ffs
instruction pattern for integer and integer vector modes.
The IFN_PARITY internal function directly maps to the parity
instruction pattern for integer and integer vector modes.
The IFN_POPCOUNT internal function directly maps to the popcount
instruction pattern for integer and integer vector modes.