|
#define | DEF_BUILTIN(ENUM, N, C, T, LT, B, F, NA, AT, IM, COND) |
|
#define | DEF_GCC_BUILTIN(ENUM, NAME, TYPE, ATTRS) |
|
#define | DEF_SYNC_BUILTIN(ENUM, NAME, TYPE, ATTRS) |
|
#define | DEF_GCC_FLOATN_NX_BUILTINS(ENUM, NAME, TYPE_MACRO, ATTRS) |
|
#define | DEF_LIB_BUILTIN(ENUM, NAME, TYPE, ATTRS) |
|
#define | DEF_EXT_LIB_BUILTIN(ENUM, NAME, TYPE, ATTRS) |
|
#define | DEF_FLOATN_BUILTIN(ENUM, NAME, TYPE, ATTRS) |
|
#define | DEF_EXT_LIB_FLOATN_NX_BUILTINS(ENUM, NAME, TYPE_MACRO, ATTRS) |
|
#define | DEF_C94_BUILTIN(ENUM, NAME, TYPE, ATTRS) |
|
#define | DEF_C99_BUILTIN(ENUM, NAME, TYPE, ATTRS) |
|
#define | DEF_C11_BUILTIN(ENUM, NAME, TYPE, ATTRS) |
|
#define | DEF_C23_BUILTIN(ENUM, NAME, TYPE, ATTRS) |
|
#define | DEF_C2Y_BUILTIN(ENUM, NAME, TYPE, ATTRS) |
|
#define | DEF_C99_COMPL_BUILTIN(ENUM, NAME, TYPE, ATTRS) |
|
#define | DEF_C99_C90RES_BUILTIN(ENUM, NAME, TYPE, ATTRS) |
|
#define | DEF_EXT_C99RES_BUILTIN(ENUM, NAME, TYPE, ATTRS) |
|
#define | DEF_BUILTIN_STUB(ENUM, NAME) |
|
#define | DEF_COROUTINE_BUILTIN(ENUM, NAME, TYPE, ATTRS) |
|
#define | DEF_GOACC_BUILTIN(ENUM, NAME, TYPE, ATTRS) |
|
#define | DEF_GOACC_BUILTIN_COMPILER(ENUM, NAME, TYPE, ATTRS) |
|
#define | DEF_GOACC_BUILTIN_ONLY(ENUM, NAME, TYPE, ATTRS) |
|
#define | DEF_GOMP_BUILTIN(ENUM, NAME, TYPE, ATTRS) |
|
#define | DEF_GOMP_BUILTIN_COMPILER(ENUM, NAME, TYPE, ATTRS) |
|
#define | DEF_TM_BUILTIN(ENUM, NAME, TYPE, ATTRS) |
|
#define | DEF_SANITIZER_BUILTIN(ENUM, NAME, TYPE, ATTRS) |
|
#define | ATTR_MATHFN_ERRNO |
|
#define | ATTR_MATHFN_FPROUNDING |
|
#define | ATTR_MATHFN_FPROUNDING_ERRNO |
|
#define | ATTR_MATHFN_FPROUNDING_STORE ATTR_NOTHROW_LEAF_LIST |
|
#define | ATTR_NOTHROWCALL_LEAF_LIST |
|
#define | ACOSH_TYPE(F) |
|
#define | ATAN2_TYPE(F) |
|
#define | ATANH_TYPE(F) |
|
#define | CEIL_TYPE(F) |
|
#define | COPYSIGN_TYPE(F) |
|
#define | COSH_TYPE(F) |
|
#define | FABS_TYPE(F) |
|
#define | FDIM_TYPE(F) |
|
#define | FLOOR_TYPE(F) |
|
#define | FMA_TYPE(F) |
|
#define | FMAX_TYPE(F) |
|
#define | FMIN_TYPE(F) |
|
#define | FREXP_TYPE(F) |
|
#define | HUGE_VAL_TYPE(F) |
|
#define | HYPOT_TYPE(F) |
|
#define | ILOGB_TYPE(F) |
|
#define | INF_TYPE(F) |
|
#define | LDEXP_TYPE(F) |
|
#define | LGAMMA_TYPE(F) |
|
#define | LLRINT_TYPE(F) |
|
#define | LOG10_TYPE(F) |
|
#define | LRINT_TYPE(F) |
|
#define | MODF_TYPE(F) |
|
#define | NAN_TYPE(F) |
|
#define | NEARBYINT_TYPE(F) |
|
#define | NEXTAFTER_TYPE(F) |
|
#define | REMQUO_TYPE(F) |
|
#define | RINT_TYPE(F) |
|
#define | ROUND_TYPE(F) |
|
#define | ROUNDEVEN_TYPE(F) |
|
#define | SCALBLN_TYPE(F) |
|
#define | SCALBN_TYPE(F) |
|
#define | SINH_TYPE(F) |
|
#define | SQRT_TYPE(F) |
|
#define | TRUNC_TYPE(F) |
|
#define | CABS_TYPE(F) |
|
#define | CACOSH_TYPE(F) |
|
#define | CARG_TYPE(F) |
|
#define | CASINH_TYPE(F) |
|
#define | CPOW_TYPE(F) |
|
#define | CPROJ_TYPE(F) |
|
#define | DEF_INTERNAL_FLT_FN(NAME, FLAGS, OPTAB, TYPE) |
|
#define | DEF_INTERNAL_FN(CODE, FLAGS, FNSPEC) |
|
#define | DEF_INTERNAL_OPTAB_FN(NAME, FLAGS, OPTAB, TYPE) |
|
#define | DEF_INTERNAL_SIGNED_OPTAB_FN(NAME, FLAGS, SELECTOR, SIGNED_OPTAB, UNSIGNED_OPTAB, TYPE) |
|
#define | DEF_INTERNAL_FLT_FLOATN_FN(NAME, FLAGS, OPTAB, TYPE) |
|
#define | DEF_INTERNAL_INT_FN(NAME, FLAGS, OPTAB, TYPE) |
|
#define | DEF_INTERNAL_INT_EXT_FN(NAME, FLAGS, OPTAB, TYPE) |
|
#define | DEF_INTERNAL_WIDENING_OPTAB_FN(NAME, FLAGS, SELECTOR, SOPTAB, UOPTAB, TYPE) |
|
#define | DEF_INTERNAL_COND_FN(NAME, FLAGS, OPTAB, TYPE) |
|
#define | DEF_INTERNAL_SIGNED_COND_FN(NAME, FLAGS, SELECTOR, SIGNED_OPTAB, UNSIGNED_OPTAB, TYPE) |
|
#define | DEF_INTERNAL_INT_FN(NAME, FLAGS, OPTAB, TYPE) |
|
#define | DEF_INTERNAL_FN(CODE, FLAGS, FNSPEC) |
|
#define | DEF_INTERNAL_OPTAB_FN(NAME, FLAGS, OPTAB, TYPE) |
|
#define | DEF_INTERNAL_SIGNED_OPTAB_FN(NAME, FLAGS, SELECTOR, SIGNED_OPTAB, UNSIGNED_OPTAB, TYPE) |
|
#define | DEF_INTERNAL_FLT_FN(NAME, FLAGS, OPTAB, TYPE) |
|
#define | DEF_INTERNAL_FLT_FLOATN_FN(NAME, FLAGS, OPTAB, TYPE) |
|
#define | DEF_INTERNAL_INT_EXT_FN(NAME, FLAGS, OPTAB, TYPE) |
|
#define | DEF_INTERNAL_WIDENING_OPTAB_FN(NAME, FLAGS, SELECTOR, SOPTAB, UOPTAB, TYPE) |
|
#define | DEF_INTERNAL_COND_FN(NAME, FLAGS, OPTAB, TYPE) |
|
#define | DEF_INTERNAL_SIGNED_COND_FN(NAME, FLAGS, SELECTOR, SIGNED_OPTAB, UNSIGNED_OPTAB, TYPE) |
|
Generate macros based on the combined_fn enum.
Copyright (C) 2015-2024 Free Software Foundation, Inc.
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 3, or (at your option) any later
version.
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>.
Automatically generate code fragments related to combined_fn.
The program looks for math built-in functions that have float, double
and long double variants, such as {sqrtf, sqrt, sqrtl}, and that may
or may not have an associated internal function as well. It also looks
for integer built-in functions that have int, long, long long and
intmax_t variants, such as {clz, clzl, clzll, clzimax}, and that
again may or may not have an associated internal function as well.
When run with -c, the generator prints a list of macros such as:
CASE_CFN_SQRT
for each group of functions described above, with 'case CFN_*'
statements for each built-in and internal function in the group.
For example, there are both built-in and internal implementations
of SQRT, so "CASE_CFN_SQRT:" is equivalent to:
case CFN_BUILT_IN_SQRTF:
case CFN_BUILT_IN_SQRT:
case CFN_BUILT_IN_SQRTL:
case CFN_SQRT:
The macros for groups with no internal function drop the last line.
When run with -o, the generator prints a similar list of
define_operator_list directives, for use by match.pd. Each operator
list starts with the built-in functions, in order of ascending type width.
This is followed by an entry for the internal function, or "null" if there
is no internal function for the group. For example:
(define_operator_list SQRT
BUILT_IN_SQRTF
BUILT_IN_SQRT
BUILT_IN_SQRTL
IFN_SQRT)
and:
(define_operator_list CABS
BUILT_IN_CABSF
BUILT_IN_CABS
BUILT_IN_CABSL
null)