OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [sync-builtins.def] - Blame information for rev 801

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 684 jeremybenn
/* This file contains the definitions and documentation for the
2
   synchronization builtins used in the GNU compiler.
3
   Copyright (C) 2005, 2007, 2010 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
.  */
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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_LEAF_LIST)
43
 
44
DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_SUB_N, "__sync_fetch_and_sub",
45
                  BT_FN_VOID_VAR, ATTR_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_LEAF_LIST)
56
 
57
DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_OR_N, "__sync_fetch_and_or",
58
                  BT_FN_VOID_VAR, ATTR_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_LEAF_LIST)
69
 
70
DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_AND_N, "__sync_fetch_and_and",
71
                  BT_FN_VOID_VAR, ATTR_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_LEAF_LIST)
82
 
83
DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_XOR_N, "__sync_fetch_and_xor",
84
                  BT_FN_VOID_VAR, ATTR_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_LEAF_LIST)
95
 
96
DEF_SYNC_BUILTIN (BUILT_IN_SYNC_FETCH_AND_NAND_N, "__sync_fetch_and_nand",
97
                  BT_FN_VOID_VAR, ATTR_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_LEAF_LIST)
108
 
109
DEF_SYNC_BUILTIN (BUILT_IN_SYNC_ADD_AND_FETCH_N, "__sync_add_and_fetch",
110
                  BT_FN_VOID_VAR, ATTR_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_LEAF_LIST)
121
 
122
DEF_SYNC_BUILTIN (BUILT_IN_SYNC_SUB_AND_FETCH_N, "__sync_sub_and_fetch",
123
                  BT_FN_VOID_VAR, ATTR_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_LEAF_LIST)
134
 
135
DEF_SYNC_BUILTIN (BUILT_IN_SYNC_OR_AND_FETCH_N, "__sync_or_and_fetch",
136
                  BT_FN_VOID_VAR, ATTR_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_LEAF_LIST)
147
 
148
DEF_SYNC_BUILTIN (BUILT_IN_SYNC_AND_AND_FETCH_N, "__sync_and_and_fetch",
149
                  BT_FN_VOID_VAR, ATTR_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_LEAF_LIST)
160
 
161
DEF_SYNC_BUILTIN (BUILT_IN_SYNC_XOR_AND_FETCH_N, "__sync_xor_and_fetch",
162
                  BT_FN_VOID_VAR, ATTR_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_LEAF_LIST)
173
 
174
DEF_SYNC_BUILTIN (BUILT_IN_SYNC_NAND_AND_FETCH_N, "__sync_nand_and_fetch",
175
                  BT_FN_VOID_VAR, ATTR_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_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_NOTHROW_LEAF_LIST)
243
 
244
DEF_SYNC_BUILTIN (BUILT_IN_SYNC_LOCK_RELEASE_N, "__sync_lock_release",
245
                  BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST)
246
DEF_SYNC_BUILTIN (BUILT_IN_SYNC_LOCK_RELEASE_1, "__sync_lock_release_1",
247
                  BT_FN_VOID_VPTR, ATTR_NOTHROW_LEAF_LIST)
248
DEF_SYNC_BUILTIN (BUILT_IN_SYNC_LOCK_RELEASE_2, "__sync_lock_release_2",
249
                  BT_FN_VOID_VPTR, ATTR_NOTHROW_LEAF_LIST)
250
DEF_SYNC_BUILTIN (BUILT_IN_SYNC_LOCK_RELEASE_4, "__sync_lock_release_4",
251
                  BT_FN_VOID_VPTR, ATTR_NOTHROW_LEAF_LIST)
252
DEF_SYNC_BUILTIN (BUILT_IN_SYNC_LOCK_RELEASE_8, "__sync_lock_release_8",
253
                  BT_FN_VOID_VPTR, ATTR_NOTHROW_LEAF_LIST)
254
DEF_SYNC_BUILTIN (BUILT_IN_SYNC_LOCK_RELEASE_16, "__sync_lock_release_16",
255
                  BT_FN_VOID_VPTR, ATTR_NOTHROW_LEAF_LIST)
256
 
257
DEF_SYNC_BUILTIN (BUILT_IN_SYNC_SYNCHRONIZE, "__sync_synchronize",
258
                  BT_FN_VOID, ATTR_NOTHROW_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_NOTHROW_LEAF_LIST)
264
 
265
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_CLEAR, "__atomic_clear", BT_FN_VOID_VPTR_INT,
266
                  ATTR_NOTHROW_LEAF_LIST)
267
 
268
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_EXCHANGE,
269
                  "__atomic_exchange",
270
                  BT_FN_VOID_SIZE_VPTR_PTR_PTR_INT, ATTR_NOTHROW_LEAF_LIST)
271
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_EXCHANGE_N,
272
                  "__atomic_exchange_n",
273
                  BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST)
274
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_EXCHANGE_1,
275
                  "__atomic_exchange_1",
276
                  BT_FN_I1_VPTR_I1_INT, ATTR_NOTHROW_LEAF_LIST)
277
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_EXCHANGE_2,
278
                  "__atomic_exchange_2",
279
                  BT_FN_I2_VPTR_I2_INT, ATTR_NOTHROW_LEAF_LIST)
280
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_EXCHANGE_4,
281
                  "__atomic_exchange_4",
282
                  BT_FN_I4_VPTR_I4_INT, ATTR_NOTHROW_LEAF_LIST)
283
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_EXCHANGE_8,
284
                  "__atomic_exchange_8",
285
                  BT_FN_I8_VPTR_I8_INT, ATTR_NOTHROW_LEAF_LIST)
286
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_EXCHANGE_16,
287
                  "__atomic_exchange_16",
288
                  BT_FN_I16_VPTR_I16_INT, ATTR_NOTHROW_LEAF_LIST)
289
 
290
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_LOAD,
291
                  "__atomic_load",
292
                  BT_FN_VOID_SIZE_CONST_VPTR_PTR_INT, ATTR_NOTHROW_LEAF_LIST)
293
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_LOAD_N,
294
                  "__atomic_load_n",
295
                  BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST)
296
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_LOAD_1,
297
                  "__atomic_load_1",
298
                  BT_FN_I1_CONST_VPTR_INT, ATTR_NOTHROW_LEAF_LIST)
299
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_LOAD_2,
300
                  "__atomic_load_2",
301
                  BT_FN_I2_CONST_VPTR_INT, ATTR_NOTHROW_LEAF_LIST)
302
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_LOAD_4,
303
                  "__atomic_load_4",
304
                  BT_FN_I4_CONST_VPTR_INT, ATTR_NOTHROW_LEAF_LIST)
305
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_LOAD_8,
306
                  "__atomic_load_8",
307
                  BT_FN_I8_CONST_VPTR_INT, ATTR_NOTHROW_LEAF_LIST)
308
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_LOAD_16,
309
                  "__atomic_load_16",
310
                  BT_FN_I16_CONST_VPTR_INT, ATTR_NOTHROW_LEAF_LIST)
311
 
312
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_COMPARE_EXCHANGE,
313
                  "__atomic_compare_exchange",
314
                  BT_FN_BOOL_SIZE_VPTR_PTR_PTR_INT_INT,
315
                  ATTR_NOTHROW_LEAF_LIST)
316
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_COMPARE_EXCHANGE_N,
317
                  "__atomic_compare_exchange_n",
318
                  BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST)
319
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_COMPARE_EXCHANGE_1,
320
                  "__atomic_compare_exchange_1",
321
                  BT_FN_BOOL_VPTR_PTR_I1_BOOL_INT_INT, ATTR_NOTHROW_LEAF_LIST)
322
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_COMPARE_EXCHANGE_2,
323
                  "__atomic_compare_exchange_2",
324
                  BT_FN_BOOL_VPTR_PTR_I2_BOOL_INT_INT, ATTR_NOTHROW_LEAF_LIST)
325
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_COMPARE_EXCHANGE_4,
326
                  "__atomic_compare_exchange_4",
327
                  BT_FN_BOOL_VPTR_PTR_I4_BOOL_INT_INT, ATTR_NOTHROW_LEAF_LIST)
328
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_COMPARE_EXCHANGE_8,
329
                  "__atomic_compare_exchange_8",
330
                  BT_FN_BOOL_VPTR_PTR_I8_BOOL_INT_INT, ATTR_NOTHROW_LEAF_LIST)
331
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_COMPARE_EXCHANGE_16,
332
                  "__atomic_compare_exchange_16",
333
                  BT_FN_BOOL_VPTR_PTR_I16_BOOL_INT_INT, ATTR_NOTHROW_LEAF_LIST)
334
 
335
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_STORE,
336
                  "__atomic_store",
337
                  BT_FN_VOID_SIZE_VPTR_PTR_INT, ATTR_NOTHROW_LEAF_LIST)
338
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_STORE_N,
339
                  "__atomic_store_n",
340
                  BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST)
341
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_STORE_1,
342
                  "__atomic_store_1",
343
                  BT_FN_VOID_VPTR_I1_INT, ATTR_NOTHROW_LEAF_LIST)
344
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_STORE_2,
345
                  "__atomic_store_2",
346
                  BT_FN_VOID_VPTR_I2_INT, ATTR_NOTHROW_LEAF_LIST)
347
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_STORE_4,
348
                  "__atomic_store_4",
349
                  BT_FN_VOID_VPTR_I4_INT, ATTR_NOTHROW_LEAF_LIST)
350
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_STORE_8,
351
                  "__atomic_store_8",
352
                  BT_FN_VOID_VPTR_I8_INT, ATTR_NOTHROW_LEAF_LIST)
353
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_STORE_16,
354
                  "__atomic_store_16",
355
                  BT_FN_VOID_VPTR_I16_INT, ATTR_NOTHROW_LEAF_LIST)
356
 
357
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_ADD_FETCH_N,
358
                  "__atomic_add_fetch",
359
                  BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST)
360
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_ADD_FETCH_1,
361
                  "__atomic_add_fetch_1",
362
                  BT_FN_I1_VPTR_I1_INT, ATTR_NOTHROW_LEAF_LIST)
363
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_ADD_FETCH_2,
364
                  "__atomic_add_fetch_2",
365
                  BT_FN_I2_VPTR_I2_INT, ATTR_NOTHROW_LEAF_LIST)
366
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_ADD_FETCH_4,
367
                  "__atomic_add_fetch_4",
368
                  BT_FN_I4_VPTR_I4_INT, ATTR_NOTHROW_LEAF_LIST)
369
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_ADD_FETCH_8,
370
                  "__atomic_add_fetch_8",
371
                  BT_FN_I8_VPTR_I8_INT, ATTR_NOTHROW_LEAF_LIST)
372
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_ADD_FETCH_16,
373
                  "__atomic_add_fetch_16",
374
                  BT_FN_I16_VPTR_I16_INT, ATTR_NOTHROW_LEAF_LIST)
375
 
376
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_SUB_FETCH_N,
377
                  "__atomic_sub_fetch",
378
                  BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST)
379
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_SUB_FETCH_1,
380
                  "__atomic_sub_fetch_1",
381
                  BT_FN_I1_VPTR_I1_INT, ATTR_NOTHROW_LEAF_LIST)
382
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_SUB_FETCH_2,
383
                  "__atomic_sub_fetch_2",
384
                  BT_FN_I2_VPTR_I2_INT, ATTR_NOTHROW_LEAF_LIST)
385
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_SUB_FETCH_4,
386
                  "__atomic_sub_fetch_4",
387
                  BT_FN_I4_VPTR_I4_INT, ATTR_NOTHROW_LEAF_LIST)
388
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_SUB_FETCH_8,
389
                  "__atomic_sub_fetch_8",
390
                  BT_FN_I8_VPTR_I8_INT, ATTR_NOTHROW_LEAF_LIST)
391
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_SUB_FETCH_16,
392
                  "__atomic_sub_fetch_16",
393
                  BT_FN_I16_VPTR_I16_INT, ATTR_NOTHROW_LEAF_LIST)
394
 
395
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_AND_FETCH_N,
396
                  "__atomic_and_fetch",
397
                  BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST)
398
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_AND_FETCH_1,
399
                  "__atomic_and_fetch_1",
400
                  BT_FN_I1_VPTR_I1_INT, ATTR_NOTHROW_LEAF_LIST)
401
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_AND_FETCH_2,
402
                  "__atomic_and_fetch_2",
403
                  BT_FN_I2_VPTR_I2_INT, ATTR_NOTHROW_LEAF_LIST)
404
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_AND_FETCH_4,
405
                  "__atomic_and_fetch_4",
406
                  BT_FN_I4_VPTR_I4_INT, ATTR_NOTHROW_LEAF_LIST)
407
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_AND_FETCH_8,
408
                  "__atomic_and_fetch_8",
409
                  BT_FN_I8_VPTR_I8_INT, ATTR_NOTHROW_LEAF_LIST)
410
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_AND_FETCH_16,
411
                  "__atomic_and_fetch_16",
412
                  BT_FN_I16_VPTR_I16_INT, ATTR_NOTHROW_LEAF_LIST)
413
 
414
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_NAND_FETCH_N,
415
                  "__atomic_nand_fetch",
416
                  BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST)
417
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_NAND_FETCH_1,
418
                  "__atomic_nand_fetch_1",
419
                  BT_FN_I1_VPTR_I1_INT, ATTR_NOTHROW_LEAF_LIST)
420
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_NAND_FETCH_2,
421
                  "__atomic_nand_fetch_2",
422
                  BT_FN_I2_VPTR_I2_INT, ATTR_NOTHROW_LEAF_LIST)
423
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_NAND_FETCH_4,
424
                  "__atomic_nand_fetch_4",
425
                  BT_FN_I4_VPTR_I4_INT, ATTR_NOTHROW_LEAF_LIST)
426
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_NAND_FETCH_8,
427
                  "__atomic_nand_fetch_8",
428
                  BT_FN_I8_VPTR_I8_INT, ATTR_NOTHROW_LEAF_LIST)
429
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_NAND_FETCH_16,
430
                  "__atomic_nand_fetch_16",
431
                  BT_FN_I16_VPTR_I16_INT, ATTR_NOTHROW_LEAF_LIST)
432
 
433
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_XOR_FETCH_N,
434
                  "__atomic_xor_fetch",
435
                  BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST)
436
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_XOR_FETCH_1,
437
                  "__atomic_xor_fetch_1",
438
                  BT_FN_I1_VPTR_I1_INT, ATTR_NOTHROW_LEAF_LIST)
439
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_XOR_FETCH_2,
440
                  "__atomic_xor_fetch_2",
441
                  BT_FN_I2_VPTR_I2_INT, ATTR_NOTHROW_LEAF_LIST)
442
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_XOR_FETCH_4,
443
                  "__atomic_xor_fetch_4",
444
                  BT_FN_I4_VPTR_I4_INT, ATTR_NOTHROW_LEAF_LIST)
445
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_XOR_FETCH_8,
446
                  "__atomic_xor_fetch_8",
447
                  BT_FN_I8_VPTR_I8_INT, ATTR_NOTHROW_LEAF_LIST)
448
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_XOR_FETCH_16,
449
                  "__atomic_xor_fetch_16",
450
                  BT_FN_I16_VPTR_I16_INT, ATTR_NOTHROW_LEAF_LIST)
451
 
452
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_OR_FETCH_N,
453
                  "__atomic_or_fetch",
454
                  BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST)
455
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_OR_FETCH_1,
456
                  "__atomic_or_fetch_1",
457
                  BT_FN_I1_VPTR_I1_INT, ATTR_NOTHROW_LEAF_LIST)
458
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_OR_FETCH_2,
459
                  "__atomic_or_fetch_2",
460
                  BT_FN_I2_VPTR_I2_INT, ATTR_NOTHROW_LEAF_LIST)
461
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_OR_FETCH_4,
462
                  "__atomic_or_fetch_4",
463
                  BT_FN_I4_VPTR_I4_INT, ATTR_NOTHROW_LEAF_LIST)
464
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_OR_FETCH_8,
465
                  "__atomic_or_fetch_8",
466
                  BT_FN_I8_VPTR_I8_INT, ATTR_NOTHROW_LEAF_LIST)
467
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_OR_FETCH_16,
468
                  "__atomic_or_fetch_16",
469
                  BT_FN_I16_VPTR_I16_INT, ATTR_NOTHROW_LEAF_LIST)
470
 
471
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_ADD_N,
472
                  "__atomic_fetch_add",
473
                  BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST)
474
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_ADD_1,
475
                  "__atomic_fetch_add_1",
476
                  BT_FN_I1_VPTR_I1_INT, ATTR_NOTHROW_LEAF_LIST)
477
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_ADD_2,
478
                  "__atomic_fetch_add_2",
479
                  BT_FN_I2_VPTR_I2_INT, ATTR_NOTHROW_LEAF_LIST)
480
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_ADD_4,
481
                  "__atomic_fetch_add_4",
482
                  BT_FN_I4_VPTR_I4_INT, ATTR_NOTHROW_LEAF_LIST)
483
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_ADD_8,
484
                  "__atomic_fetch_add_8",
485
                  BT_FN_I8_VPTR_I8_INT, ATTR_NOTHROW_LEAF_LIST)
486
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_ADD_16,
487
                  "__atomic_fetch_add_16",
488
                  BT_FN_I16_VPTR_I16_INT, ATTR_NOTHROW_LEAF_LIST)
489
 
490
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_SUB_N,
491
                  "__atomic_fetch_sub",
492
                  BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST)
493
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_SUB_1,
494
                  "__atomic_fetch_sub_1",
495
                  BT_FN_I1_VPTR_I1_INT, ATTR_NOTHROW_LEAF_LIST)
496
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_SUB_2,
497
                  "__atomic_fetch_sub_2",
498
                  BT_FN_I2_VPTR_I2_INT, ATTR_NOTHROW_LEAF_LIST)
499
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_SUB_4,
500
                  "__atomic_fetch_sub_4",
501
                  BT_FN_I4_VPTR_I4_INT, ATTR_NOTHROW_LEAF_LIST)
502
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_SUB_8,
503
                  "__atomic_fetch_sub_8",
504
                  BT_FN_I8_VPTR_I8_INT, ATTR_NOTHROW_LEAF_LIST)
505
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_SUB_16,
506
                  "__atomic_fetch_sub_16",
507
                  BT_FN_I16_VPTR_I16_INT, ATTR_NOTHROW_LEAF_LIST)
508
 
509
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_AND_N,
510
                  "__atomic_fetch_and",
511
                  BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST)
512
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_AND_1,
513
                  "__atomic_fetch_and_1",
514
                  BT_FN_I1_VPTR_I1_INT, ATTR_NOTHROW_LEAF_LIST)
515
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_AND_2,
516
                  "__atomic_fetch_and_2",
517
                  BT_FN_I2_VPTR_I2_INT, ATTR_NOTHROW_LEAF_LIST)
518
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_AND_4,
519
                  "__atomic_fetch_and_4",
520
                  BT_FN_I4_VPTR_I4_INT, ATTR_NOTHROW_LEAF_LIST)
521
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_AND_8,
522
                  "__atomic_fetch_and_8",
523
                  BT_FN_I8_VPTR_I8_INT, ATTR_NOTHROW_LEAF_LIST)
524
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_AND_16,
525
                  "__atomic_fetch_and_16",
526
                  BT_FN_I16_VPTR_I16_INT, ATTR_NOTHROW_LEAF_LIST)
527
 
528
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_NAND_N,
529
                  "__atomic_fetch_nand",
530
                  BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST)
531
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_NAND_1,
532
                  "__atomic_fetch_nand_1",
533
                  BT_FN_I1_VPTR_I1_INT, ATTR_NOTHROW_LEAF_LIST)
534
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_NAND_2,
535
                  "__atomic_fetch_nand_2",
536
                  BT_FN_I2_VPTR_I2_INT, ATTR_NOTHROW_LEAF_LIST)
537
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_NAND_4,
538
                  "__atomic_fetch_nand_4",
539
                  BT_FN_I4_VPTR_I4_INT, ATTR_NOTHROW_LEAF_LIST)
540
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_NAND_8,
541
                  "__atomic_fetch_nand_8",
542
                  BT_FN_I8_VPTR_I8_INT, ATTR_NOTHROW_LEAF_LIST)
543
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_NAND_16,
544
                  "__atomic_fetch_nand_16",
545
                  BT_FN_I16_VPTR_I16_INT, ATTR_NOTHROW_LEAF_LIST)
546
 
547
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_XOR_N,
548
                  "__atomic_fetch_xor",
549
                  BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST)
550
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_XOR_1,
551
                  "__atomic_fetch_xor_1",
552
                  BT_FN_I1_VPTR_I1_INT, ATTR_NOTHROW_LEAF_LIST)
553
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_XOR_2,
554
                  "__atomic_fetch_xor_2",
555
                  BT_FN_I2_VPTR_I2_INT, ATTR_NOTHROW_LEAF_LIST)
556
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_XOR_4,
557
                  "__atomic_fetch_xor_4",
558
                  BT_FN_I4_VPTR_I4_INT, ATTR_NOTHROW_LEAF_LIST)
559
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_XOR_8,
560
                  "__atomic_fetch_xor_8",
561
                  BT_FN_I8_VPTR_I8_INT, ATTR_NOTHROW_LEAF_LIST)
562
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_XOR_16,
563
                  "__atomic_fetch_xor_16",
564
                  BT_FN_I16_VPTR_I16_INT, ATTR_NOTHROW_LEAF_LIST)
565
 
566
 
567
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_OR_N,
568
                  "__atomic_fetch_or",
569
                  BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST)
570
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_OR_1,
571
                  "__atomic_fetch_or_1",
572
                  BT_FN_I1_VPTR_I1_INT, ATTR_NOTHROW_LEAF_LIST)
573
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_OR_2,
574
                  "__atomic_fetch_or_2",
575
                  BT_FN_I2_VPTR_I2_INT, ATTR_NOTHROW_LEAF_LIST)
576
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_OR_4,
577
                  "__atomic_fetch_or_4",
578
                  BT_FN_I4_VPTR_I4_INT, ATTR_NOTHROW_LEAF_LIST)
579
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_OR_8,
580
                  "__atomic_fetch_or_8",
581
                  BT_FN_I8_VPTR_I8_INT, ATTR_NOTHROW_LEAF_LIST)
582
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_FETCH_OR_16,
583
                  "__atomic_fetch_or_16",
584
                  BT_FN_I16_VPTR_I16_INT, ATTR_NOTHROW_LEAF_LIST)
585
 
586
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_ALWAYS_LOCK_FREE,
587
                  "__atomic_always_lock_free",
588
                  BT_FN_BOOL_SIZE_CONST_VPTR, ATTR_CONST_NOTHROW_LEAF_LIST)
589
 
590
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_IS_LOCK_FREE,
591
                  "__atomic_is_lock_free",
592
                  BT_FN_BOOL_SIZE_CONST_VPTR, ATTR_CONST_NOTHROW_LEAF_LIST)
593
 
594
 
595
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_THREAD_FENCE,
596
                  "__atomic_thread_fence",
597
                  BT_FN_VOID_INT, ATTR_NOTHROW_LEAF_LIST)
598
 
599
DEF_SYNC_BUILTIN (BUILT_IN_ATOMIC_SIGNAL_FENCE,
600
                  "__atomic_signal_fence",
601
                  BT_FN_VOID_INT, ATTR_NOTHROW_LEAF_LIST)
602
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.