1 /* This file contains the definitions and documentation for the
2 CilkPlus builtins used in the GNU compiler.
3 Copyright (C
) 2013-2017 Free Software Foundation
, Inc.
5 This file is part of GCC.
7 GCC is free software
; you can redistribute it and
/or modify it under
8 the terms of the GNU General Public License as published by the Free
9 Software Foundation
; either version
3, or (at your option
) any later
12 GCC is distributed in the hope that it will be useful
, but WITHOUT ANY
13 WARRANTY
; without even the implied warranty of MERCHANTABILITY or
14 FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public License
17 You should have received a copy of the GNU General Public License
18 along with GCC
; see the file COPYING3. If not see
19 <http
://www.gnu.org
/licenses
/>.
*/
21 /* Before including this file
, you should define a macro
:
23 DEF_CILKPLUS_BUILTIN (ENUM
, NAME
, TYPE, ATTRS
)
25 See builtins.def for details.
*/
27 DEF_CILKPLUS_BUILTIN (BUILT_IN_CILKPLUS_SEC_REDUCE_ADD
,
28 "__sec_reduce_add", BT_FN_INT_PTR
, ATTR_NULL
)
29 DEF_CILKPLUS_BUILTIN (BUILT_IN_CILKPLUS_SEC_REDUCE_MUL
,
30 "__sec_reduce_mul", BT_FN_INT_PTR
, ATTR_NULL
)
31 DEF_CILKPLUS_BUILTIN (BUILT_IN_CILKPLUS_SEC_REDUCE_ALL_ZERO
,
32 "__sec_reduce_all_zero", BT_FN_INT_PTR
, ATTR_NULL
)
33 DEF_CILKPLUS_BUILTIN (BUILT_IN_CILKPLUS_SEC_REDUCE_ANY_ZERO
,
34 "__sec_reduce_any_zero", BT_FN_INT_PTR
, ATTR_NULL
)
35 DEF_CILKPLUS_BUILTIN (BUILT_IN_CILKPLUS_SEC_REDUCE_MAX
,
36 "__sec_reduce_max", BT_FN_INT_PTR
, ATTR_NULL
)
37 DEF_CILKPLUS_BUILTIN (BUILT_IN_CILKPLUS_SEC_REDUCE_MIN
,
38 "__sec_reduce_min", BT_FN_INT_PTR
, ATTR_NULL
)
39 DEF_CILKPLUS_BUILTIN (BUILT_IN_CILKPLUS_SEC_REDUCE_MIN_IND
,
40 "__sec_reduce_min_ind", BT_FN_INT_PTR
, ATTR_NULL
)
41 DEF_CILKPLUS_BUILTIN (BUILT_IN_CILKPLUS_SEC_REDUCE_MAX_IND
,
42 "__sec_reduce_max_ind", BT_FN_INT_PTR
, ATTR_NULL
)
43 DEF_CILKPLUS_BUILTIN (BUILT_IN_CILKPLUS_SEC_REDUCE_ANY_NONZERO
,
44 "__sec_reduce_any_nonzero", BT_FN_INT_PTR
, ATTR_NULL
)
45 DEF_CILKPLUS_BUILTIN (BUILT_IN_CILKPLUS_SEC_REDUCE_ALL_NONZERO
,
46 "__sec_reduce_all_nonzero", BT_FN_INT_PTR
, ATTR_NULL
)
47 DEF_CILKPLUS_BUILTIN (BUILT_IN_CILKPLUS_SEC_REDUCE
,
48 "__sec_reduce", BT_FN_INT_PTR_PTR_PTR
, ATTR_NULL
)
49 DEF_CILKPLUS_BUILTIN (BUILT_IN_CILKPLUS_SEC_REDUCE_MUTATING
,
50 "__sec_reduce_mutating", BT_FN_INT_PTR_PTR_PTR
, ATTR_NULL
)
51 // FIXME
: This probably needs to be rewritten as a keyword.
52 DEF_CILKPLUS_BUILTIN (BUILT_IN_CILKPLUS_SEC_IMPLICIT_INDEX
,
53 "__sec_implicit_index", BT_FN_INT_INT
, ATTR_NULL
)