Home | History | Annotate | Line # | Download | only in gcc
internal-fn.def revision 1.3
      1  1.1  mrg /* Internal functions.
      2  1.3  mrg    Copyright (C) 2011-2015 Free Software Foundation, Inc.
      3  1.1  mrg 
      4  1.1  mrg This file is part of GCC.
      5  1.1  mrg 
      6  1.1  mrg GCC is free software; you can redistribute it and/or modify it under
      7  1.1  mrg the terms of the GNU General Public License as published by the Free
      8  1.1  mrg Software Foundation; either version 3, or (at your option) any later
      9  1.1  mrg version.
     10  1.1  mrg 
     11  1.1  mrg GCC is distributed in the hope that it will be useful, but WITHOUT ANY
     12  1.1  mrg WARRANTY; without even the implied warranty of MERCHANTABILITY or
     13  1.1  mrg FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
     14  1.1  mrg for more details.
     15  1.1  mrg 
     16  1.1  mrg You should have received a copy of the GNU General Public License
     17  1.1  mrg along with GCC; see the file COPYING3.  If not see
     18  1.1  mrg <http://www.gnu.org/licenses/>.  */
     19  1.1  mrg 
     20  1.1  mrg /* This file specifies a list of internal "functions".  These functions
     21  1.1  mrg    differ from built-in functions in that they have no linkage and cannot
     22  1.1  mrg    be called directly by the user.  They represent operations that are only
     23  1.1  mrg    synthesised by GCC itself.
     24  1.1  mrg 
     25  1.1  mrg    Internal functions are used instead of tree codes if the operation
     26  1.1  mrg    and its operands are more naturally represented as a GIMPLE_CALL
     27  1.1  mrg    than a GIMPLE_ASSIGN.
     28  1.1  mrg 
     29  1.1  mrg    Each entry in this file has the form:
     30  1.1  mrg 
     31  1.3  mrg      DEF_INTERNAL_FN (NAME, FLAGS, FNSPEC)
     32  1.1  mrg 
     33  1.3  mrg    where NAME is the name of the function, FLAGS is a set of
     34  1.3  mrg    ECF_* flags and FNSPEC is a string describing functions fnspec.
     35  1.3  mrg 
     36  1.3  mrg    Each entry must have a corresponding expander of the form:
     37  1.1  mrg 
     38  1.3  mrg      void expand_NAME (gimple_call stmt)
     39  1.1  mrg 
     40  1.1  mrg    where STMT is the statement that performs the call.  */
     41  1.1  mrg 
     42  1.3  mrg DEF_INTERNAL_FN (LOAD_LANES, ECF_CONST | ECF_LEAF, NULL)
     43  1.3  mrg DEF_INTERNAL_FN (STORE_LANES, ECF_CONST | ECF_LEAF, NULL)
     44  1.3  mrg DEF_INTERNAL_FN (GOMP_SIMD_LANE, ECF_NOVOPS | ECF_LEAF | ECF_NOTHROW, NULL)
     45  1.3  mrg DEF_INTERNAL_FN (GOMP_SIMD_VF, ECF_CONST | ECF_LEAF | ECF_NOTHROW, NULL)
     46  1.3  mrg DEF_INTERNAL_FN (GOMP_SIMD_LAST_LANE, ECF_CONST | ECF_LEAF | ECF_NOTHROW, NULL)
     47  1.3  mrg DEF_INTERNAL_FN (LOOP_VECTORIZED, ECF_NOVOPS | ECF_LEAF | ECF_NOTHROW, NULL)
     48  1.3  mrg DEF_INTERNAL_FN (MASK_LOAD, ECF_PURE | ECF_LEAF, NULL)
     49  1.3  mrg DEF_INTERNAL_FN (MASK_STORE, ECF_LEAF, NULL)
     50  1.3  mrg DEF_INTERNAL_FN (ANNOTATE,  ECF_CONST | ECF_LEAF | ECF_NOTHROW, NULL)
     51  1.3  mrg DEF_INTERNAL_FN (UBSAN_NULL, ECF_LEAF | ECF_NOTHROW, ".R.")
     52  1.3  mrg DEF_INTERNAL_FN (UBSAN_BOUNDS, ECF_LEAF | ECF_NOTHROW, NULL)
     53  1.3  mrg DEF_INTERNAL_FN (UBSAN_VPTR, ECF_LEAF | ECF_NOTHROW, ".RR..")
     54  1.3  mrg DEF_INTERNAL_FN (UBSAN_CHECK_ADD, ECF_CONST | ECF_LEAF | ECF_NOTHROW, NULL)
     55  1.3  mrg DEF_INTERNAL_FN (UBSAN_CHECK_SUB, ECF_CONST | ECF_LEAF | ECF_NOTHROW, NULL)
     56  1.3  mrg DEF_INTERNAL_FN (UBSAN_CHECK_MUL, ECF_CONST | ECF_LEAF | ECF_NOTHROW, NULL)
     57  1.3  mrg DEF_INTERNAL_FN (UBSAN_OBJECT_SIZE, ECF_LEAF | ECF_NOTHROW, NULL)
     58  1.3  mrg DEF_INTERNAL_FN (ABNORMAL_DISPATCHER, ECF_NORETURN, NULL)
     59  1.3  mrg DEF_INTERNAL_FN (BUILTIN_EXPECT, ECF_CONST | ECF_LEAF | ECF_NOTHROW, NULL)
     60  1.3  mrg DEF_INTERNAL_FN (ASAN_CHECK, ECF_TM_PURE | ECF_LEAF | ECF_NOTHROW, ".R...")
     61  1.3  mrg DEF_INTERNAL_FN (ADD_OVERFLOW, ECF_CONST | ECF_LEAF | ECF_NOTHROW, NULL)
     62  1.3  mrg DEF_INTERNAL_FN (SUB_OVERFLOW, ECF_CONST | ECF_LEAF | ECF_NOTHROW, NULL)
     63  1.3  mrg DEF_INTERNAL_FN (MUL_OVERFLOW, ECF_CONST | ECF_LEAF | ECF_NOTHROW, NULL)
     64  1.3  mrg DEF_INTERNAL_FN (TSAN_FUNC_EXIT, ECF_NOVOPS | ECF_LEAF | ECF_NOTHROW, NULL)
     65