| [8d6155e9] | 1 | /* This file contains the definitions and documentation for the | 
|---|
|  | 2 | synchronization builtins used in the GNU compiler. | 
|---|
|  | 3 | Copyright (C) 2005-2016 Free Software Foundation, Inc. | 
|---|
|  | 4 |  | 
|---|
|  | 5 | This file is part of GCC. | 
|---|
|  | 6 |  | 
|---|
|  | 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 | 
|---|
|  | 10 | version. | 
|---|
|  | 11 |  | 
|---|
|  | 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 | 
|---|
|  | 15 | for more details. | 
|---|
|  | 16 |  | 
|---|
|  | 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/>.  */ | 
|---|
|  | 20 |  | 
|---|
|  | 21 | /* Before including this file, you should define a macro: | 
|---|
|  | 22 |  | 
|---|
|  | 23 | DEF_SYNC_BUILTIN (ENUM, NAME, TYPE, ATTRS) | 
|---|
|  | 24 |  | 
|---|
|  | 25 | See builtins.def for details.  */ | 
|---|
|  | 26 |  | 
|---|
|  | 27 | /* Synchronization Primitives.  The "_N" version is the one that the user | 
|---|
|  | 28 | is supposed to be using.  It's overloaded, and is resolved to one of the | 
|---|
|  | 29 | "_1" through "_16" versions, plus some extra casts.  */ | 
|---|
|  | 30 |  | 
|---|
|  | 31 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_ADD_N, "__sync_fetch_and_add", | 
|---|
|  | 32 | BT_FN_VOID_VAR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 33 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_ADD_1, "__sync_fetch_and_add_1", | 
|---|
|  | 34 | BT_FN_I1_VPTR_I1, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 35 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_ADD_2, "__sync_fetch_and_add_2", | 
|---|
|  | 36 | BT_FN_I2_VPTR_I2, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 37 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_ADD_4, "__sync_fetch_and_add_4", | 
|---|
|  | 38 | BT_FN_I4_VPTR_I4, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 39 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_ADD_8, "__sync_fetch_and_add_8", | 
|---|
|  | 40 | BT_FN_I8_VPTR_I8, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 41 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_ADD_16, "__sync_fetch_and_add_16", | 
|---|
|  | 42 | BT_FN_I16_VPTR_I16, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 43 |  | 
|---|
|  | 44 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_SUB_N, "__sync_fetch_and_sub", | 
|---|
|  | 45 | BT_FN_VOID_VAR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 46 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_SUB_1, "__sync_fetch_and_sub_1", | 
|---|
|  | 47 | BT_FN_I1_VPTR_I1, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 48 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_SUB_2, "__sync_fetch_and_sub_2", | 
|---|
|  | 49 | BT_FN_I2_VPTR_I2, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 50 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_SUB_4, "__sync_fetch_and_sub_4", | 
|---|
|  | 51 | BT_FN_I4_VPTR_I4, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 52 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_SUB_8, "__sync_fetch_and_sub_8", | 
|---|
|  | 53 | BT_FN_I8_VPTR_I8, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 54 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_SUB_16, "__sync_fetch_and_sub_16", | 
|---|
|  | 55 | BT_FN_I16_VPTR_I16, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 56 |  | 
|---|
|  | 57 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_OR_N, "__sync_fetch_and_or", | 
|---|
|  | 58 | BT_FN_VOID_VAR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 59 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_OR_1, "__sync_fetch_and_or_1", | 
|---|
|  | 60 | BT_FN_I1_VPTR_I1, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 61 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_OR_2, "__sync_fetch_and_or_2", | 
|---|
|  | 62 | BT_FN_I2_VPTR_I2, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 63 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_OR_4, "__sync_fetch_and_or_4", | 
|---|
|  | 64 | BT_FN_I4_VPTR_I4, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 65 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_OR_8, "__sync_fetch_and_or_8", | 
|---|
|  | 66 | BT_FN_I8_VPTR_I8, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 67 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_OR_16, "__sync_fetch_and_or_16", | 
|---|
|  | 68 | BT_FN_I16_VPTR_I16, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 69 |  | 
|---|
|  | 70 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_AND_N, "__sync_fetch_and_and", | 
|---|
|  | 71 | BT_FN_VOID_VAR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 72 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_AND_1, "__sync_fetch_and_and_1", | 
|---|
|  | 73 | BT_FN_I1_VPTR_I1, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 74 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_AND_2, "__sync_fetch_and_and_2", | 
|---|
|  | 75 | BT_FN_I2_VPTR_I2, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 76 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_AND_4, "__sync_fetch_and_and_4", | 
|---|
|  | 77 | BT_FN_I4_VPTR_I4, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 78 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_AND_8, "__sync_fetch_and_and_8", | 
|---|
|  | 79 | BT_FN_I8_VPTR_I8, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 80 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_AND_16, "__sync_fetch_and_and_16", | 
|---|
|  | 81 | BT_FN_I16_VPTR_I16, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 82 |  | 
|---|
|  | 83 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_XOR_N, "__sync_fetch_and_xor", | 
|---|
|  | 84 | BT_FN_VOID_VAR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 85 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_XOR_1, "__sync_fetch_and_xor_1", | 
|---|
|  | 86 | BT_FN_I1_VPTR_I1, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 87 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_XOR_2, "__sync_fetch_and_xor_2", | 
|---|
|  | 88 | BT_FN_I2_VPTR_I2, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 89 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_XOR_4, "__sync_fetch_and_xor_4", | 
|---|
|  | 90 | BT_FN_I4_VPTR_I4, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 91 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_XOR_8, "__sync_fetch_and_xor_8", | 
|---|
|  | 92 | BT_FN_I8_VPTR_I8, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 93 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_XOR_16, "__sync_fetch_and_xor_16", | 
|---|
|  | 94 | BT_FN_I16_VPTR_I16, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 95 |  | 
|---|
|  | 96 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_NAND_N, "__sync_fetch_and_nand", | 
|---|
|  | 97 | BT_FN_VOID_VAR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 98 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_NAND_1, "__sync_fetch_and_nand_1", | 
|---|
|  | 99 | BT_FN_I1_VPTR_I1, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 100 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_NAND_2, "__sync_fetch_and_nand_2", | 
|---|
|  | 101 | BT_FN_I2_VPTR_I2, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 102 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_NAND_4, "__sync_fetch_and_nand_4", | 
|---|
|  | 103 | BT_FN_I4_VPTR_I4, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 104 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_NAND_8, "__sync_fetch_and_nand_8", | 
|---|
|  | 105 | BT_FN_I8_VPTR_I8, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 106 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_NAND_16, "__sync_fetch_and_nand_16", | 
|---|
|  | 107 | BT_FN_I16_VPTR_I16, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 108 |  | 
|---|
|  | 109 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_ADD_AND_FETCH_N, "__sync_add_and_fetch", | 
|---|
|  | 110 | BT_FN_VOID_VAR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 111 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_ADD_AND_FETCH_1, "__sync_add_and_fetch_1", | 
|---|
|  | 112 | BT_FN_I1_VPTR_I1, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 113 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_ADD_AND_FETCH_2, "__sync_add_and_fetch_2", | 
|---|
|  | 114 | BT_FN_I2_VPTR_I2, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 115 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_ADD_AND_FETCH_4, "__sync_add_and_fetch_4", | 
|---|
|  | 116 | BT_FN_I4_VPTR_I4, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 117 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_ADD_AND_FETCH_8, "__sync_add_and_fetch_8", | 
|---|
|  | 118 | BT_FN_I8_VPTR_I8, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 119 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_ADD_AND_FETCH_16, "__sync_add_and_fetch_16", | 
|---|
|  | 120 | BT_FN_I16_VPTR_I16, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 121 |  | 
|---|
|  | 122 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_SUB_AND_FETCH_N, "__sync_sub_and_fetch", | 
|---|
|  | 123 | BT_FN_VOID_VAR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 124 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_SUB_AND_FETCH_1, "__sync_sub_and_fetch_1", | 
|---|
|  | 125 | BT_FN_I1_VPTR_I1, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 126 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_SUB_AND_FETCH_2, "__sync_sub_and_fetch_2", | 
|---|
|  | 127 | BT_FN_I2_VPTR_I2, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 128 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_SUB_AND_FETCH_4, "__sync_sub_and_fetch_4", | 
|---|
|  | 129 | BT_FN_I4_VPTR_I4, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 130 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_SUB_AND_FETCH_8, "__sync_sub_and_fetch_8", | 
|---|
|  | 131 | BT_FN_I8_VPTR_I8, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 132 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_SUB_AND_FETCH_16, "__sync_sub_and_fetch_16", | 
|---|
|  | 133 | BT_FN_I16_VPTR_I16, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 134 |  | 
|---|
|  | 135 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_OR_AND_FETCH_N, "__sync_or_and_fetch", | 
|---|
|  | 136 | BT_FN_VOID_VAR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 137 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_OR_AND_FETCH_1, "__sync_or_and_fetch_1", | 
|---|
|  | 138 | BT_FN_I1_VPTR_I1, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 139 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_OR_AND_FETCH_2, "__sync_or_and_fetch_2", | 
|---|
|  | 140 | BT_FN_I2_VPTR_I2, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 141 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_OR_AND_FETCH_4, "__sync_or_and_fetch_4", | 
|---|
|  | 142 | BT_FN_I4_VPTR_I4, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 143 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_OR_AND_FETCH_8, "__sync_or_and_fetch_8", | 
|---|
|  | 144 | BT_FN_I8_VPTR_I8, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 145 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_OR_AND_FETCH_16, "__sync_or_and_fetch_16", | 
|---|
|  | 146 | BT_FN_I16_VPTR_I16, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 147 |  | 
|---|
|  | 148 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_AND_AND_FETCH_N, "__sync_and_and_fetch", | 
|---|
|  | 149 | BT_FN_VOID_VAR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 150 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_AND_AND_FETCH_1, "__sync_and_and_fetch_1", | 
|---|
|  | 151 | BT_FN_I1_VPTR_I1, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 152 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_AND_AND_FETCH_2, "__sync_and_and_fetch_2", | 
|---|
|  | 153 | BT_FN_I2_VPTR_I2, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 154 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_AND_AND_FETCH_4, "__sync_and_and_fetch_4", | 
|---|
|  | 155 | BT_FN_I4_VPTR_I4, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 156 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_AND_AND_FETCH_8, "__sync_and_and_fetch_8", | 
|---|
|  | 157 | BT_FN_I8_VPTR_I8, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 158 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_AND_AND_FETCH_16, "__sync_and_and_fetch_16", | 
|---|
|  | 159 | BT_FN_I16_VPTR_I16, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 160 |  | 
|---|
|  | 161 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_XOR_AND_FETCH_N, "__sync_xor_and_fetch", | 
|---|
|  | 162 | BT_FN_VOID_VAR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 163 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_XOR_AND_FETCH_1, "__sync_xor_and_fetch_1", | 
|---|
|  | 164 | BT_FN_I1_VPTR_I1, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 165 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_XOR_AND_FETCH_2, "__sync_xor_and_fetch_2", | 
|---|
|  | 166 | BT_FN_I2_VPTR_I2, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 167 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_XOR_AND_FETCH_4, "__sync_xor_and_fetch_4", | 
|---|
|  | 168 | BT_FN_I4_VPTR_I4, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 169 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_XOR_AND_FETCH_8, "__sync_xor_and_fetch_8", | 
|---|
|  | 170 | BT_FN_I8_VPTR_I8, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 171 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_XOR_AND_FETCH_16, "__sync_xor_and_fetch_16", | 
|---|
|  | 172 | BT_FN_I16_VPTR_I16, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 173 |  | 
|---|
|  | 174 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_NAND_AND_FETCH_N, "__sync_nand_and_fetch", | 
|---|
|  | 175 | BT_FN_VOID_VAR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 176 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_NAND_AND_FETCH_1, "__sync_nand_and_fetch_1", | 
|---|
|  | 177 | BT_FN_I1_VPTR_I1, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 178 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_NAND_AND_FETCH_2, "__sync_nand_and_fetch_2", | 
|---|
|  | 179 | BT_FN_I2_VPTR_I2, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 180 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_NAND_AND_FETCH_4, "__sync_nand_and_fetch_4", | 
|---|
|  | 181 | BT_FN_I4_VPTR_I4, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 182 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_NAND_AND_FETCH_8, "__sync_nand_and_fetch_8", | 
|---|
|  | 183 | BT_FN_I8_VPTR_I8, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 184 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_NAND_AND_FETCH_16, "__sync_nand_and_fetch_16", | 
|---|
|  | 185 | BT_FN_I16_VPTR_I16, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 186 |  | 
|---|
|  | 187 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_BOOL_COMPARE_AND_SWAP_N, | 
|---|
|  | 188 | "__sync_bool_compare_and_swap", | 
|---|
|  | 189 | BT_FN_VOID_VAR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 190 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_BOOL_COMPARE_AND_SWAP_1, | 
|---|
|  | 191 | "__sync_bool_compare_and_swap_1", | 
|---|
|  | 192 | BT_FN_BOOL_VPTR_I1_I1, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 193 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_BOOL_COMPARE_AND_SWAP_2, | 
|---|
|  | 194 | "__sync_bool_compare_and_swap_2", | 
|---|
|  | 195 | BT_FN_BOOL_VPTR_I2_I2, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 196 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_BOOL_COMPARE_AND_SWAP_4, | 
|---|
|  | 197 | "__sync_bool_compare_and_swap_4", | 
|---|
|  | 198 | BT_FN_BOOL_VPTR_I4_I4, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 199 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_BOOL_COMPARE_AND_SWAP_8, | 
|---|
|  | 200 | "__sync_bool_compare_and_swap_8", | 
|---|
|  | 201 | BT_FN_BOOL_VPTR_I8_I8, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 202 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_BOOL_COMPARE_AND_SWAP_16, | 
|---|
|  | 203 | "__sync_bool_compare_and_swap_16", | 
|---|
|  | 204 | BT_FN_BOOL_VPTR_I16_I16, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 205 |  | 
|---|
|  | 206 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_VAL_COMPARE_AND_SWAP_N, | 
|---|
|  | 207 | "__sync_val_compare_and_swap", | 
|---|
|  | 208 | BT_FN_VOID_VAR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 209 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_VAL_COMPARE_AND_SWAP_1, | 
|---|
|  | 210 | "__sync_val_compare_and_swap_1", | 
|---|
|  | 211 | BT_FN_I1_VPTR_I1_I1, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 212 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_VAL_COMPARE_AND_SWAP_2, | 
|---|
|  | 213 | "__sync_val_compare_and_swap_2", | 
|---|
|  | 214 | BT_FN_I2_VPTR_I2_I2, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 215 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_VAL_COMPARE_AND_SWAP_4, | 
|---|
|  | 216 | "__sync_val_compare_and_swap_4", | 
|---|
|  | 217 | BT_FN_I4_VPTR_I4_I4, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 218 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_VAL_COMPARE_AND_SWAP_8, | 
|---|
|  | 219 | "__sync_val_compare_and_swap_8", | 
|---|
|  | 220 | BT_FN_I8_VPTR_I8_I8, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 221 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_VAL_COMPARE_AND_SWAP_16, | 
|---|
|  | 222 | "__sync_val_compare_and_swap_16", | 
|---|
|  | 223 | BT_FN_I16_VPTR_I16_I16, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 224 |  | 
|---|
|  | 225 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_LOCK_TEST_AND_SET_N, | 
|---|
|  | 226 | "__sync_lock_test_and_set", | 
|---|
|  | 227 | BT_FN_VOID_VAR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 228 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_LOCK_TEST_AND_SET_1, | 
|---|
|  | 229 | "__sync_lock_test_and_set_1", | 
|---|
|  | 230 | BT_FN_I1_VPTR_I1, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 231 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_LOCK_TEST_AND_SET_2, | 
|---|
|  | 232 | "__sync_lock_test_and_set_2", | 
|---|
|  | 233 | BT_FN_I2_VPTR_I2, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 234 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_LOCK_TEST_AND_SET_4, | 
|---|
|  | 235 | "__sync_lock_test_and_set_4", | 
|---|
|  | 236 | BT_FN_I4_VPTR_I4, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 237 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_LOCK_TEST_AND_SET_8, | 
|---|
|  | 238 | "__sync_lock_test_and_set_8", | 
|---|
|  | 239 | BT_FN_I8_VPTR_I8, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 240 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_LOCK_TEST_AND_SET_16, | 
|---|
|  | 241 | "__sync_lock_test_and_set_16", | 
|---|
|  | 242 | BT_FN_I16_VPTR_I16, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 243 |  | 
|---|
|  | 244 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_LOCK_RELEASE_N, "__sync_lock_release", | 
|---|
|  | 245 | BT_FN_VOID_VAR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 246 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_LOCK_RELEASE_1, "__sync_lock_release_1", | 
|---|
|  | 247 | BT_FN_VOID_VPTR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 248 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_LOCK_RELEASE_2, "__sync_lock_release_2", | 
|---|
|  | 249 | BT_FN_VOID_VPTR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 250 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_LOCK_RELEASE_4, "__sync_lock_release_4", | 
|---|
|  | 251 | BT_FN_VOID_VPTR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 252 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_LOCK_RELEASE_8, "__sync_lock_release_8", | 
|---|
|  | 253 | BT_FN_VOID_VPTR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 254 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_LOCK_RELEASE_16, "__sync_lock_release_16", | 
|---|
|  | 255 | BT_FN_VOID_VPTR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 256 |  | 
|---|
|  | 257 | DEF_SYNC_BUILTIN (BUILT_IN_SYNC_SYNCHRONIZE, "__sync_synchronize", | 
|---|
|  | 258 | BT_FN_VOID, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 259 |  | 
|---|
|  | 260 | /* __sync* builtins for the C++ memory model.  */ | 
|---|
|  | 261 |  | 
|---|
|  | 262 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_TEST_AND_SET, "__atomic_test_and_set", | 
|---|
|  | 263 | BT_FN_BOOL_VPTR_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 264 |  | 
|---|
|  | 265 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_CLEAR, "__atomic_clear", BT_FN_VOID_VPTR_INT, | 
|---|
|  | 266 | ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 267 |  | 
|---|
|  | 268 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_EXCHANGE, | 
|---|
|  | 269 | "__atomic_exchange", | 
|---|
|  | 270 | BT_FN_VOID_SIZE_VPTR_PTR_PTR_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 271 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_EXCHANGE_N, | 
|---|
|  | 272 | "__atomic_exchange_n", | 
|---|
|  | 273 | BT_FN_VOID_VAR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 274 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_EXCHANGE_1, | 
|---|
|  | 275 | "__atomic_exchange_1", | 
|---|
|  | 276 | BT_FN_I1_VPTR_I1_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 277 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_EXCHANGE_2, | 
|---|
|  | 278 | "__atomic_exchange_2", | 
|---|
|  | 279 | BT_FN_I2_VPTR_I2_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 280 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_EXCHANGE_4, | 
|---|
|  | 281 | "__atomic_exchange_4", | 
|---|
|  | 282 | BT_FN_I4_VPTR_I4_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 283 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_EXCHANGE_8, | 
|---|
|  | 284 | "__atomic_exchange_8", | 
|---|
|  | 285 | BT_FN_I8_VPTR_I8_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 286 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_EXCHANGE_16, | 
|---|
|  | 287 | "__atomic_exchange_16", | 
|---|
|  | 288 | BT_FN_I16_VPTR_I16_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 289 |  | 
|---|
|  | 290 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_LOAD, | 
|---|
|  | 291 | "__atomic_load", | 
|---|
|  | 292 | BT_FN_VOID_SIZE_CONST_VPTR_PTR_INT, | 
|---|
|  | 293 | ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 294 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_LOAD_N, | 
|---|
|  | 295 | "__atomic_load_n", | 
|---|
|  | 296 | BT_FN_VOID_VAR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 297 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_LOAD_1, | 
|---|
|  | 298 | "__atomic_load_1", | 
|---|
|  | 299 | BT_FN_I1_CONST_VPTR_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 300 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_LOAD_2, | 
|---|
|  | 301 | "__atomic_load_2", | 
|---|
|  | 302 | BT_FN_I2_CONST_VPTR_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 303 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_LOAD_4, | 
|---|
|  | 304 | "__atomic_load_4", | 
|---|
|  | 305 | BT_FN_I4_CONST_VPTR_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 306 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_LOAD_8, | 
|---|
|  | 307 | "__atomic_load_8", | 
|---|
|  | 308 | BT_FN_I8_CONST_VPTR_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 309 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_LOAD_16, | 
|---|
|  | 310 | "__atomic_load_16", | 
|---|
|  | 311 | BT_FN_I16_CONST_VPTR_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 312 |  | 
|---|
|  | 313 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_COMPARE_EXCHANGE, | 
|---|
|  | 314 | "__atomic_compare_exchange", | 
|---|
|  | 315 | BT_FN_BOOL_SIZE_VPTR_PTR_PTR_INT_INT, | 
|---|
|  | 316 | ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 317 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_COMPARE_EXCHANGE_N, | 
|---|
|  | 318 | "__atomic_compare_exchange_n", | 
|---|
|  | 319 | BT_FN_VOID_VAR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 320 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_COMPARE_EXCHANGE_1, | 
|---|
|  | 321 | "__atomic_compare_exchange_1", | 
|---|
|  | 322 | BT_FN_BOOL_VPTR_PTR_I1_BOOL_INT_INT, | 
|---|
|  | 323 | ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 324 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_COMPARE_EXCHANGE_2, | 
|---|
|  | 325 | "__atomic_compare_exchange_2", | 
|---|
|  | 326 | BT_FN_BOOL_VPTR_PTR_I2_BOOL_INT_INT, | 
|---|
|  | 327 | ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 328 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_COMPARE_EXCHANGE_4, | 
|---|
|  | 329 | "__atomic_compare_exchange_4", | 
|---|
|  | 330 | BT_FN_BOOL_VPTR_PTR_I4_BOOL_INT_INT, | 
|---|
|  | 331 | ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 332 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_COMPARE_EXCHANGE_8, | 
|---|
|  | 333 | "__atomic_compare_exchange_8", | 
|---|
|  | 334 | BT_FN_BOOL_VPTR_PTR_I8_BOOL_INT_INT, | 
|---|
|  | 335 | ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 336 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_COMPARE_EXCHANGE_16, | 
|---|
|  | 337 | "__atomic_compare_exchange_16", | 
|---|
|  | 338 | BT_FN_BOOL_VPTR_PTR_I16_BOOL_INT_INT, | 
|---|
|  | 339 | ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 340 |  | 
|---|
|  | 341 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_STORE, | 
|---|
|  | 342 | "__atomic_store", | 
|---|
|  | 343 | BT_FN_VOID_SIZE_VPTR_PTR_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 344 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_STORE_N, | 
|---|
|  | 345 | "__atomic_store_n", | 
|---|
|  | 346 | BT_FN_VOID_VAR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 347 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_STORE_1, | 
|---|
|  | 348 | "__atomic_store_1", | 
|---|
|  | 349 | BT_FN_VOID_VPTR_I1_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 350 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_STORE_2, | 
|---|
|  | 351 | "__atomic_store_2", | 
|---|
|  | 352 | BT_FN_VOID_VPTR_I2_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 353 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_STORE_4, | 
|---|
|  | 354 | "__atomic_store_4", | 
|---|
|  | 355 | BT_FN_VOID_VPTR_I4_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 356 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_STORE_8, | 
|---|
|  | 357 | "__atomic_store_8", | 
|---|
|  | 358 | BT_FN_VOID_VPTR_I8_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 359 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_STORE_16, | 
|---|
|  | 360 | "__atomic_store_16", | 
|---|
|  | 361 | BT_FN_VOID_VPTR_I16_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 362 |  | 
|---|
|  | 363 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_ADD_FETCH_N, | 
|---|
|  | 364 | "__atomic_add_fetch", | 
|---|
|  | 365 | BT_FN_VOID_VAR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 366 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_ADD_FETCH_1, | 
|---|
|  | 367 | "__atomic_add_fetch_1", | 
|---|
|  | 368 | BT_FN_I1_VPTR_I1_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 369 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_ADD_FETCH_2, | 
|---|
|  | 370 | "__atomic_add_fetch_2", | 
|---|
|  | 371 | BT_FN_I2_VPTR_I2_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 372 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_ADD_FETCH_4, | 
|---|
|  | 373 | "__atomic_add_fetch_4", | 
|---|
|  | 374 | BT_FN_I4_VPTR_I4_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 375 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_ADD_FETCH_8, | 
|---|
|  | 376 | "__atomic_add_fetch_8", | 
|---|
|  | 377 | BT_FN_I8_VPTR_I8_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 378 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_ADD_FETCH_16, | 
|---|
|  | 379 | "__atomic_add_fetch_16", | 
|---|
|  | 380 | BT_FN_I16_VPTR_I16_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 381 |  | 
|---|
|  | 382 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_SUB_FETCH_N, | 
|---|
|  | 383 | "__atomic_sub_fetch", | 
|---|
|  | 384 | BT_FN_VOID_VAR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 385 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_SUB_FETCH_1, | 
|---|
|  | 386 | "__atomic_sub_fetch_1", | 
|---|
|  | 387 | BT_FN_I1_VPTR_I1_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 388 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_SUB_FETCH_2, | 
|---|
|  | 389 | "__atomic_sub_fetch_2", | 
|---|
|  | 390 | BT_FN_I2_VPTR_I2_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 391 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_SUB_FETCH_4, | 
|---|
|  | 392 | "__atomic_sub_fetch_4", | 
|---|
|  | 393 | BT_FN_I4_VPTR_I4_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 394 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_SUB_FETCH_8, | 
|---|
|  | 395 | "__atomic_sub_fetch_8", | 
|---|
|  | 396 | BT_FN_I8_VPTR_I8_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 397 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_SUB_FETCH_16, | 
|---|
|  | 398 | "__atomic_sub_fetch_16", | 
|---|
|  | 399 | BT_FN_I16_VPTR_I16_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 400 |  | 
|---|
|  | 401 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_AND_FETCH_N, | 
|---|
|  | 402 | "__atomic_and_fetch", | 
|---|
|  | 403 | BT_FN_VOID_VAR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 404 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_AND_FETCH_1, | 
|---|
|  | 405 | "__atomic_and_fetch_1", | 
|---|
|  | 406 | BT_FN_I1_VPTR_I1_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 407 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_AND_FETCH_2, | 
|---|
|  | 408 | "__atomic_and_fetch_2", | 
|---|
|  | 409 | BT_FN_I2_VPTR_I2_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 410 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_AND_FETCH_4, | 
|---|
|  | 411 | "__atomic_and_fetch_4", | 
|---|
|  | 412 | BT_FN_I4_VPTR_I4_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 413 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_AND_FETCH_8, | 
|---|
|  | 414 | "__atomic_and_fetch_8", | 
|---|
|  | 415 | BT_FN_I8_VPTR_I8_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 416 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_AND_FETCH_16, | 
|---|
|  | 417 | "__atomic_and_fetch_16", | 
|---|
|  | 418 | BT_FN_I16_VPTR_I16_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 419 |  | 
|---|
|  | 420 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_NAND_FETCH_N, | 
|---|
|  | 421 | "__atomic_nand_fetch", | 
|---|
|  | 422 | BT_FN_VOID_VAR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 423 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_NAND_FETCH_1, | 
|---|
|  | 424 | "__atomic_nand_fetch_1", | 
|---|
|  | 425 | BT_FN_I1_VPTR_I1_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 426 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_NAND_FETCH_2, | 
|---|
|  | 427 | "__atomic_nand_fetch_2", | 
|---|
|  | 428 | BT_FN_I2_VPTR_I2_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 429 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_NAND_FETCH_4, | 
|---|
|  | 430 | "__atomic_nand_fetch_4", | 
|---|
|  | 431 | BT_FN_I4_VPTR_I4_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 432 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_NAND_FETCH_8, | 
|---|
|  | 433 | "__atomic_nand_fetch_8", | 
|---|
|  | 434 | BT_FN_I8_VPTR_I8_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 435 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_NAND_FETCH_16, | 
|---|
|  | 436 | "__atomic_nand_fetch_16", | 
|---|
|  | 437 | BT_FN_I16_VPTR_I16_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 438 |  | 
|---|
|  | 439 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_XOR_FETCH_N, | 
|---|
|  | 440 | "__atomic_xor_fetch", | 
|---|
|  | 441 | BT_FN_VOID_VAR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 442 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_XOR_FETCH_1, | 
|---|
|  | 443 | "__atomic_xor_fetch_1", | 
|---|
|  | 444 | BT_FN_I1_VPTR_I1_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 445 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_XOR_FETCH_2, | 
|---|
|  | 446 | "__atomic_xor_fetch_2", | 
|---|
|  | 447 | BT_FN_I2_VPTR_I2_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 448 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_XOR_FETCH_4, | 
|---|
|  | 449 | "__atomic_xor_fetch_4", | 
|---|
|  | 450 | BT_FN_I4_VPTR_I4_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 451 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_XOR_FETCH_8, | 
|---|
|  | 452 | "__atomic_xor_fetch_8", | 
|---|
|  | 453 | BT_FN_I8_VPTR_I8_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 454 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_XOR_FETCH_16, | 
|---|
|  | 455 | "__atomic_xor_fetch_16", | 
|---|
|  | 456 | BT_FN_I16_VPTR_I16_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 457 |  | 
|---|
|  | 458 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_OR_FETCH_N, | 
|---|
|  | 459 | "__atomic_or_fetch", | 
|---|
|  | 460 | BT_FN_VOID_VAR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 461 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_OR_FETCH_1, | 
|---|
|  | 462 | "__atomic_or_fetch_1", | 
|---|
|  | 463 | BT_FN_I1_VPTR_I1_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 464 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_OR_FETCH_2, | 
|---|
|  | 465 | "__atomic_or_fetch_2", | 
|---|
|  | 466 | BT_FN_I2_VPTR_I2_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 467 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_OR_FETCH_4, | 
|---|
|  | 468 | "__atomic_or_fetch_4", | 
|---|
|  | 469 | BT_FN_I4_VPTR_I4_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 470 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_OR_FETCH_8, | 
|---|
|  | 471 | "__atomic_or_fetch_8", | 
|---|
|  | 472 | BT_FN_I8_VPTR_I8_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 473 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_OR_FETCH_16, | 
|---|
|  | 474 | "__atomic_or_fetch_16", | 
|---|
|  | 475 | BT_FN_I16_VPTR_I16_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 476 |  | 
|---|
|  | 477 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_ADD_N, | 
|---|
|  | 478 | "__atomic_fetch_add", | 
|---|
|  | 479 | BT_FN_VOID_VAR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 480 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_ADD_1, | 
|---|
|  | 481 | "__atomic_fetch_add_1", | 
|---|
|  | 482 | BT_FN_I1_VPTR_I1_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 483 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_ADD_2, | 
|---|
|  | 484 | "__atomic_fetch_add_2", | 
|---|
|  | 485 | BT_FN_I2_VPTR_I2_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 486 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_ADD_4, | 
|---|
|  | 487 | "__atomic_fetch_add_4", | 
|---|
|  | 488 | BT_FN_I4_VPTR_I4_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 489 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_ADD_8, | 
|---|
|  | 490 | "__atomic_fetch_add_8", | 
|---|
|  | 491 | BT_FN_I8_VPTR_I8_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 492 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_ADD_16, | 
|---|
|  | 493 | "__atomic_fetch_add_16", | 
|---|
|  | 494 | BT_FN_I16_VPTR_I16_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 495 |  | 
|---|
|  | 496 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_SUB_N, | 
|---|
|  | 497 | "__atomic_fetch_sub", | 
|---|
|  | 498 | BT_FN_VOID_VAR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 499 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_SUB_1, | 
|---|
|  | 500 | "__atomic_fetch_sub_1", | 
|---|
|  | 501 | BT_FN_I1_VPTR_I1_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 502 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_SUB_2, | 
|---|
|  | 503 | "__atomic_fetch_sub_2", | 
|---|
|  | 504 | BT_FN_I2_VPTR_I2_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 505 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_SUB_4, | 
|---|
|  | 506 | "__atomic_fetch_sub_4", | 
|---|
|  | 507 | BT_FN_I4_VPTR_I4_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 508 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_SUB_8, | 
|---|
|  | 509 | "__atomic_fetch_sub_8", | 
|---|
|  | 510 | BT_FN_I8_VPTR_I8_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 511 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_SUB_16, | 
|---|
|  | 512 | "__atomic_fetch_sub_16", | 
|---|
|  | 513 | BT_FN_I16_VPTR_I16_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 514 |  | 
|---|
|  | 515 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_AND_N, | 
|---|
|  | 516 | "__atomic_fetch_and", | 
|---|
|  | 517 | BT_FN_VOID_VAR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 518 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_AND_1, | 
|---|
|  | 519 | "__atomic_fetch_and_1", | 
|---|
|  | 520 | BT_FN_I1_VPTR_I1_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 521 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_AND_2, | 
|---|
|  | 522 | "__atomic_fetch_and_2", | 
|---|
|  | 523 | BT_FN_I2_VPTR_I2_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 524 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_AND_4, | 
|---|
|  | 525 | "__atomic_fetch_and_4", | 
|---|
|  | 526 | BT_FN_I4_VPTR_I4_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 527 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_AND_8, | 
|---|
|  | 528 | "__atomic_fetch_and_8", | 
|---|
|  | 529 | BT_FN_I8_VPTR_I8_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 530 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_AND_16, | 
|---|
|  | 531 | "__atomic_fetch_and_16", | 
|---|
|  | 532 | BT_FN_I16_VPTR_I16_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 533 |  | 
|---|
|  | 534 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_NAND_N, | 
|---|
|  | 535 | "__atomic_fetch_nand", | 
|---|
|  | 536 | BT_FN_VOID_VAR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 537 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_NAND_1, | 
|---|
|  | 538 | "__atomic_fetch_nand_1", | 
|---|
|  | 539 | BT_FN_I1_VPTR_I1_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 540 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_NAND_2, | 
|---|
|  | 541 | "__atomic_fetch_nand_2", | 
|---|
|  | 542 | BT_FN_I2_VPTR_I2_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 543 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_NAND_4, | 
|---|
|  | 544 | "__atomic_fetch_nand_4", | 
|---|
|  | 545 | BT_FN_I4_VPTR_I4_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 546 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_NAND_8, | 
|---|
|  | 547 | "__atomic_fetch_nand_8", | 
|---|
|  | 548 | BT_FN_I8_VPTR_I8_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 549 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_NAND_16, | 
|---|
|  | 550 | "__atomic_fetch_nand_16", | 
|---|
|  | 551 | BT_FN_I16_VPTR_I16_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 552 |  | 
|---|
|  | 553 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_XOR_N, | 
|---|
|  | 554 | "__atomic_fetch_xor", | 
|---|
|  | 555 | BT_FN_VOID_VAR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 556 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_XOR_1, | 
|---|
|  | 557 | "__atomic_fetch_xor_1", | 
|---|
|  | 558 | BT_FN_I1_VPTR_I1_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 559 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_XOR_2, | 
|---|
|  | 560 | "__atomic_fetch_xor_2", | 
|---|
|  | 561 | BT_FN_I2_VPTR_I2_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 562 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_XOR_4, | 
|---|
|  | 563 | "__atomic_fetch_xor_4", | 
|---|
|  | 564 | BT_FN_I4_VPTR_I4_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 565 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_XOR_8, | 
|---|
|  | 566 | "__atomic_fetch_xor_8", | 
|---|
|  | 567 | BT_FN_I8_VPTR_I8_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 568 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_XOR_16, | 
|---|
|  | 569 | "__atomic_fetch_xor_16", | 
|---|
|  | 570 | BT_FN_I16_VPTR_I16_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 571 |  | 
|---|
|  | 572 |  | 
|---|
|  | 573 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_OR_N, | 
|---|
|  | 574 | "__atomic_fetch_or", | 
|---|
|  | 575 | BT_FN_VOID_VAR, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 576 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_OR_1, | 
|---|
|  | 577 | "__atomic_fetch_or_1", | 
|---|
|  | 578 | BT_FN_I1_VPTR_I1_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 579 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_OR_2, | 
|---|
|  | 580 | "__atomic_fetch_or_2", | 
|---|
|  | 581 | BT_FN_I2_VPTR_I2_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 582 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_OR_4, | 
|---|
|  | 583 | "__atomic_fetch_or_4", | 
|---|
|  | 584 | BT_FN_I4_VPTR_I4_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 585 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_OR_8, | 
|---|
|  | 586 | "__atomic_fetch_or_8", | 
|---|
|  | 587 | BT_FN_I8_VPTR_I8_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 588 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_OR_16, | 
|---|
|  | 589 | "__atomic_fetch_or_16", | 
|---|
|  | 590 | BT_FN_I16_VPTR_I16_INT, ATTR_NOTHROWCALL_LEAF_LIST) | 
|---|
|  | 591 |  | 
|---|
|  | 592 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_ALWAYS_LOCK_FREE, | 
|---|
|  | 593 | "__atomic_always_lock_free", | 
|---|
|  | 594 | BT_FN_BOOL_SIZE_CONST_VPTR, ATTR_CONST_NOTHROW_LEAF_LIST) | 
|---|
|  | 595 |  | 
|---|
|  | 596 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_IS_LOCK_FREE, | 
|---|
|  | 597 | "__atomic_is_lock_free", | 
|---|
|  | 598 | BT_FN_BOOL_SIZE_CONST_VPTR, ATTR_CONST_NOTHROW_LEAF_LIST) | 
|---|
|  | 599 |  | 
|---|
|  | 600 |  | 
|---|
|  | 601 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_THREAD_FENCE, | 
|---|
|  | 602 | "__atomic_thread_fence", | 
|---|
|  | 603 | BT_FN_VOID_INT, ATTR_NOTHROW_LEAF_LIST) | 
|---|
|  | 604 |  | 
|---|
|  | 605 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_SIGNAL_FENCE, | 
|---|
|  | 606 | "__atomic_signal_fence", | 
|---|
|  | 607 | BT_FN_VOID_INT, ATTR_NOTHROW_LEAF_LIST) | 
|---|
|  | 608 |  | 
|---|
|  | 609 | /* This one is actually a function in libatomic and not expected to be | 
|---|
|  | 610 | inlined, declared here for convenience of targets generating calls | 
|---|
|  | 611 | to it.  */ | 
|---|
|  | 612 | DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FERAISEEXCEPT, | 
|---|
|  | 613 | "__atomic_feraiseexcept", | 
|---|
|  | 614 | BT_FN_VOID_INT, ATTR_LEAF_LIST) | 
|---|