source: libcfa/prelude/sync-builtins.cf @ ff2a33e

ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationjenkins-sandboxnew-astnew-ast-unique-exprpthread-emulationqualifiedEnum
Last change on this file since ff2a33e was c64e979, checked in by Thierry Delisle <tdelisle@…>, 5 years ago

Added atomic operations on pointers and fixed some mistakes

  • Property mode set to 100644
File size: 65.9 KB
Line 
1char __sync_fetch_and_add(volatile char *, char,...);
2char __sync_fetch_and_add_1(volatile char *, char,...);
3signed char __sync_fetch_and_add(volatile signed char *, signed char,...);
4signed char __sync_fetch_and_add_1(volatile signed char *, signed char,...);
5unsigned char __sync_fetch_and_add(volatile unsigned char *, unsigned char,...);
6unsigned char __sync_fetch_and_add_1(volatile unsigned char *, unsigned char,...);
7signed short __sync_fetch_and_add(volatile signed short *, signed short,...);
8signed short __sync_fetch_and_add_2(volatile signed short *, signed short,...);
9unsigned short __sync_fetch_and_add(volatile unsigned short *, unsigned short,...);
10unsigned short __sync_fetch_and_add_2(volatile unsigned short *, unsigned short,...);
11signed int __sync_fetch_and_add(volatile signed int *, signed int,...);
12signed int __sync_fetch_and_add_4(volatile signed int *, signed int,...);
13unsigned int __sync_fetch_and_add(volatile unsigned int *, unsigned int,...);
14unsigned int __sync_fetch_and_add_4(volatile unsigned int *, unsigned int,...);
15signed long long int __sync_fetch_and_add(volatile signed long long int *, signed long long int,...);
16signed long long int __sync_fetch_and_add_8(volatile signed long long int *, signed long long int,...);
17unsigned long long int __sync_fetch_and_add(volatile unsigned long long int *, unsigned long long int,...);
18unsigned long long int __sync_fetch_and_add_8(volatile unsigned long long int *, unsigned long long int,...);
19#if defined(__SIZEOF_INT128__)
20signed __int128 __sync_fetch_and_add(volatile signed __int128 *, signed __int128,...);
21signed __int128 __sync_fetch_and_add_16(volatile signed __int128 *, signed __int128,...);
22unsigned __int128 __sync_fetch_and_add(volatile unsigned __int128 *, unsigned __int128,...);
23unsigned __int128 __sync_fetch_and_add_16(volatile unsigned __int128 *, unsigned __int128,...);
24#endif
25
26char __sync_fetch_and_sub(volatile char *, char,...);
27char __sync_fetch_and_sub_1(volatile char *, char,...);
28signed char __sync_fetch_and_sub(volatile signed char *, signed char,...);
29signed char __sync_fetch_and_sub_1(volatile signed char *, signed char,...);
30unsigned char __sync_fetch_and_sub(volatile unsigned char *, unsigned char,...);
31unsigned char __sync_fetch_and_sub_1(volatile unsigned char *, unsigned char,...);
32signed short __sync_fetch_and_sub(volatile signed short *, signed short,...);
33signed short __sync_fetch_and_sub_2(volatile signed short *, signed short,...);
34unsigned short __sync_fetch_and_sub(volatile unsigned short *, unsigned short,...);
35unsigned short __sync_fetch_and_sub_2(volatile unsigned short *, unsigned short,...);
36signed int __sync_fetch_and_sub(volatile signed int *, signed int,...);
37signed int __sync_fetch_and_sub_4(volatile signed int *, signed int,...);
38unsigned int __sync_fetch_and_sub(volatile unsigned int *, unsigned int,...);
39unsigned int __sync_fetch_and_sub_4(volatile unsigned int *, unsigned int,...);
40signed long long int __sync_fetch_and_sub(volatile signed long long int *, signed long long int,...);
41signed long long int __sync_fetch_and_sub_8(volatile signed long long int *, signed long long int,...);
42unsigned long long int __sync_fetch_and_sub(volatile unsigned long long int *, unsigned long long int,...);
43unsigned long long int __sync_fetch_and_sub_8(volatile unsigned long long int *, unsigned long long int,...);
44#if defined(__SIZEOF_INT128__)
45signed __int128 __sync_fetch_and_sub(volatile signed __int128 *, signed __int128,...);
46signed __int128 __sync_fetch_and_sub_16(volatile signed __int128 *, signed __int128,...);
47unsigned __int128 __sync_fetch_and_sub(volatile unsigned __int128 *, unsigned __int128,...);
48unsigned __int128 __sync_fetch_and_sub_16(volatile unsigned __int128 *, unsigned __int128,...);
49#endif
50
51char __sync_fetch_and_or(volatile char *, char,...);
52char __sync_fetch_and_or_1(volatile char *, char,...);
53signed char __sync_fetch_and_or(volatile signed char *, signed char,...);
54signed char __sync_fetch_and_or_1(volatile signed char *, signed char,...);
55unsigned char __sync_fetch_and_or(volatile unsigned char *, unsigned char,...);
56unsigned char __sync_fetch_and_or_1(volatile unsigned char *, unsigned char,...);
57signed short __sync_fetch_and_or(volatile signed short *, signed short,...);
58signed short __sync_fetch_and_or_2(volatile signed short *, signed short,...);
59unsigned short __sync_fetch_and_or(volatile unsigned short *, unsigned short,...);
60unsigned short __sync_fetch_and_or_2(volatile unsigned short *, unsigned short,...);
61signed int __sync_fetch_and_or(volatile signed int *, signed int,...);
62signed int __sync_fetch_and_or_4(volatile signed int *, signed int,...);
63unsigned int __sync_fetch_and_or(volatile unsigned int *, unsigned int,...);
64unsigned int __sync_fetch_and_or_4(volatile unsigned int *, unsigned int,...);
65signed long long int __sync_fetch_and_or(volatile signed long long int *, signed long long int,...);
66signed long long int __sync_fetch_and_or_8(volatile signed long long int *, signed long long int,...);
67unsigned long long int __sync_fetch_and_or(volatile unsigned long long int *, unsigned long long int,...);
68unsigned long long int __sync_fetch_and_or_8(volatile unsigned long long int *, unsigned long long int,...);
69#if defined(__SIZEOF_INT128__)
70signed __int128 __sync_fetch_and_or(volatile signed __int128 *, signed __int128,...);
71signed __int128 __sync_fetch_and_or_16(volatile signed __int128 *, signed __int128,...);
72unsigned __int128 __sync_fetch_and_or(volatile unsigned __int128 *, unsigned __int128,...);
73unsigned __int128 __sync_fetch_and_or_16(volatile unsigned __int128 *, unsigned __int128,...);
74#endif
75
76char __sync_fetch_and_and(volatile char *, char,...);
77char __sync_fetch_and_and_1(volatile char *, char,...);
78signed char __sync_fetch_and_and(volatile signed char *, signed char,...);
79signed char __sync_fetch_and_and_1(volatile signed char *, signed char,...);
80unsigned char __sync_fetch_and_and(volatile unsigned char *, unsigned char,...);
81unsigned char __sync_fetch_and_and_1(volatile unsigned char *, unsigned char,...);
82signed short __sync_fetch_and_and(volatile signed short *, signed short,...);
83signed short __sync_fetch_and_and_2(volatile signed short *, signed short,...);
84unsigned short __sync_fetch_and_and(volatile unsigned short *, unsigned short,...);
85unsigned short __sync_fetch_and_and_2(volatile unsigned short *, unsigned short,...);
86signed int __sync_fetch_and_and(volatile signed int *, signed int,...);
87signed int __sync_fetch_and_and_4(volatile signed int *, signed int,...);
88unsigned int __sync_fetch_and_and(volatile unsigned int *, unsigned int,...);
89unsigned int __sync_fetch_and_and_4(volatile unsigned int *, unsigned int,...);
90signed long long int __sync_fetch_and_and(volatile signed long long int *, signed long long int,...);
91signed long long int __sync_fetch_and_and_8(volatile signed long long int *, signed long long int,...);
92unsigned long long int __sync_fetch_and_and(volatile unsigned long long int *, unsigned long long int,...);
93unsigned long long int __sync_fetch_and_and_8(volatile unsigned long long int *, unsigned long long int,...);
94#if defined(__SIZEOF_INT128__)
95signed __int128 __sync_fetch_and_and(volatile signed __int128 *, signed __int128,...);
96signed __int128 __sync_fetch_and_and_16(volatile signed __int128 *, signed __int128,...);
97unsigned __int128 __sync_fetch_and_and(volatile unsigned __int128 *, unsigned __int128,...);
98unsigned __int128 __sync_fetch_and_and_16(volatile unsigned __int128 *, unsigned __int128,...);
99#endif
100
101char __sync_fetch_and_xor(volatile char *, char,...);
102char __sync_fetch_and_xor_1(volatile char *, char,...);
103signed char __sync_fetch_and_xor(volatile signed char *, signed char,...);
104signed char __sync_fetch_and_xor_1(volatile signed char *, signed char,...);
105unsigned char __sync_fetch_and_xor(volatile unsigned char *, unsigned char,...);
106unsigned char __sync_fetch_and_xor_1(volatile unsigned char *, unsigned char,...);
107signed short __sync_fetch_and_xor(volatile signed short *, signed short,...);
108signed short __sync_fetch_and_xor_2(volatile signed short *, signed short,...);
109unsigned short __sync_fetch_and_xor(volatile unsigned short *, unsigned short,...);
110unsigned short __sync_fetch_and_xor_2(volatile unsigned short *, unsigned short,...);
111signed int __sync_fetch_and_xor(volatile signed int *, signed int,...);
112signed int __sync_fetch_and_xor_4(volatile signed int *, signed int,...);
113unsigned int __sync_fetch_and_xor(volatile unsigned int *, unsigned int,...);
114unsigned int __sync_fetch_and_xor_4(volatile unsigned int *, unsigned int,...);
115signed long long int __sync_fetch_and_xor(volatile signed long long int *, signed long long int,...);
116signed long long int __sync_fetch_and_xor_8(volatile signed long long int *, signed long long int,...);
117unsigned long long int __sync_fetch_and_xor(volatile unsigned long long int *, unsigned long long int,...);
118unsigned long long int __sync_fetch_and_xor_8(volatile unsigned long long int *, unsigned long long int,...);
119#if defined(__SIZEOF_INT128__)
120signed __int128 __sync_fetch_and_xor(volatile signed __int128 *, signed __int128,...);
121signed __int128 __sync_fetch_and_xor_16(volatile signed __int128 *, signed __int128,...);
122unsigned __int128 __sync_fetch_and_xor(volatile unsigned __int128 *, unsigned __int128,...);
123unsigned __int128 __sync_fetch_and_xor_16(volatile unsigned __int128 *, unsigned __int128,...);
124#endif
125
126char __sync_fetch_and_nand(volatile char *, char,...);
127char __sync_fetch_and_nand_1(volatile char *, char,...);
128signed char __sync_fetch_and_nand(volatile signed char *, signed char,...);
129signed char __sync_fetch_and_nand_1(volatile signed char *, signed char,...);
130unsigned char __sync_fetch_and_nand(volatile unsigned char *, unsigned char,...);
131unsigned char __sync_fetch_and_nand_1(volatile unsigned char *, unsigned char,...);
132signed short __sync_fetch_and_nand(volatile signed short *, signed short,...);
133signed short __sync_fetch_and_nand_2(volatile signed short *, signed short,...);
134unsigned short __sync_fetch_and_nand(volatile unsigned short *, unsigned short,...);
135unsigned short __sync_fetch_and_nand_2(volatile unsigned short *, unsigned short,...);
136signed int __sync_fetch_and_nand(volatile signed int *, signed int,...);
137signed int __sync_fetch_and_nand_4(volatile signed int *, signed int,...);
138unsigned int __sync_fetch_and_nand(volatile unsigned int *, unsigned int,...);
139unsigned int __sync_fetch_and_nand_4(volatile unsigned int *, unsigned int,...);
140signed long long int __sync_fetch_and_nand(volatile signed long long int *, signed long long int,...);
141signed long long int __sync_fetch_and_nand_8(volatile signed long long int *, signed long long int,...);
142unsigned long long int __sync_fetch_and_nand(volatile unsigned long long int *, unsigned long long int,...);
143unsigned long long int __sync_fetch_and_nand_8(volatile unsigned long long int *, unsigned long long int,...);
144#if defined(__SIZEOF_INT128__)
145signed __int128 __sync_fetch_and_nand(volatile signed __int128 *, signed __int128,...);
146signed __int128 __sync_fetch_and_nand_16(volatile signed __int128 *, signed __int128,...);
147unsigned __int128 __sync_fetch_and_nand(volatile unsigned __int128 *, unsigned __int128,...);
148unsigned __int128 __sync_fetch_and_nand_16(volatile unsigned __int128 *, unsigned __int128,...);
149#endif
150
151char __sync_add_and_fetch(volatile char *, char,...);
152char __sync_add_and_fetch_1(volatile char *, char,...);
153signed char __sync_add_and_fetch(volatile signed char *, signed char,...);
154signed char __sync_add_and_fetch_1(volatile signed char *, signed char,...);
155unsigned char __sync_add_and_fetch(volatile unsigned char *, unsigned char,...);
156unsigned char __sync_add_and_fetch_1(volatile unsigned char *, unsigned char,...);
157signed short __sync_add_and_fetch(volatile signed short *, signed short,...);
158signed short __sync_add_and_fetch_2(volatile signed short *, signed short,...);
159unsigned short __sync_add_and_fetch(volatile unsigned short *, unsigned short,...);
160unsigned short __sync_add_and_fetch_2(volatile unsigned short *, unsigned short,...);
161signed int __sync_add_and_fetch(volatile signed int *, signed int,...);
162signed int __sync_add_and_fetch_4(volatile signed int *, signed int,...);
163signed int __sync_add_and_fetch(volatile signed int *, signed int,...);
164signed int __sync_add_and_fetch_4(volatile signed int *, signed int,...);
165signed long long int __sync_add_and_fetch(volatile signed long long int *, signed long long int,...);
166signed long long int __sync_add_and_fetch_8(volatile signed long long int *, signed long long int,...);
167unsigned long long int __sync_add_and_fetch(volatile unsigned long long int *, unsigned long long int,...);
168unsigned long long int __sync_add_and_fetch_8(volatile unsigned long long int *, unsigned long long int,...);
169#if defined(__SIZEOF_INT128__)
170signed __int128 __sync_add_and_fetch(volatile signed __int128 *, signed __int128,...);
171signed __int128 __sync_add_and_fetch_16(volatile signed __int128 *, signed __int128,...);
172unsigned __int128 __sync_add_and_fetch(volatile unsigned __int128 *, unsigned __int128,...);
173unsigned __int128 __sync_add_and_fetch_16(volatile unsigned __int128 *, unsigned __int128,...);
174#endif
175
176char __sync_sub_and_fetch(volatile char *, char,...);
177char __sync_sub_and_fetch_1(volatile char *, char,...);
178signed char __sync_sub_and_fetch(volatile signed char *, signed char,...);
179signed char __sync_sub_and_fetch_1(volatile signed char *, signed char,...);
180unsigned char __sync_sub_and_fetch(volatile unsigned char *, unsigned char,...);
181unsigned char __sync_sub_and_fetch_1(volatile unsigned char *, unsigned char,...);
182signed short __sync_sub_and_fetch(volatile signed short *, signed short,...);
183signed short __sync_sub_and_fetch_2(volatile signed short *, signed short,...);
184unsigned short __sync_sub_and_fetch(volatile unsigned short *, unsigned short,...);
185unsigned short __sync_sub_and_fetch_2(volatile unsigned short *, unsigned short,...);
186signed int __sync_sub_and_fetch(volatile signed int *, signed int,...);
187signed int __sync_sub_and_fetch_4(volatile signed int *, signed int,...);
188unsigned int __sync_sub_and_fetch(volatile unsigned int *, unsigned int,...);
189unsigned int __sync_sub_and_fetch_4(volatile unsigned int *, unsigned int,...);
190signed long long int __sync_sub_and_fetch(volatile signed long long int *, signed long long int,...);
191signed long long int __sync_sub_and_fetch_8(volatile signed long long int *, signed long long int,...);
192unsigned long long int __sync_sub_and_fetch(volatile unsigned long long int *, unsigned long long int,...);
193unsigned long long int __sync_sub_and_fetch_8(volatile unsigned long long int *, unsigned long long int,...);
194#if defined(__SIZEOF_INT128__)
195signed __int128 __sync_sub_and_fetch(volatile signed __int128 *, signed __int128,...);
196signed __int128 __sync_sub_and_fetch_16(volatile signed __int128 *, signed __int128,...);
197unsigned __int128 __sync_sub_and_fetch(volatile unsigned __int128 *, unsigned __int128,...);
198unsigned __int128 __sync_sub_and_fetch_16(volatile unsigned __int128 *, unsigned __int128,...);
199#endif
200
201char __sync_or_and_fetch(volatile char *, char,...);
202char __sync_or_and_fetch_1(volatile char *, char,...);
203signed char __sync_or_and_fetch(volatile signed char *, signed char,...);
204signed char __sync_or_and_fetch_1(volatile signed char *, signed char,...);
205unsigned char __sync_or_and_fetch(volatile unsigned char *, unsigned char,...);
206unsigned char __sync_or_and_fetch_1(volatile unsigned char *, unsigned char,...);
207signed short __sync_or_and_fetch(volatile signed short *, signed short,...);
208signed short __sync_or_and_fetch_2(volatile signed short *, signed short,...);
209unsigned short __sync_or_and_fetch(volatile unsigned short *, unsigned short,...);
210unsigned short __sync_or_and_fetch_2(volatile unsigned short *, unsigned short,...);
211signed int __sync_or_and_fetch(volatile signed int *, signed int,...);
212signed int __sync_or_and_fetch_4(volatile signed int *, signed int,...);
213unsigned int __sync_or_and_fetch(volatile unsigned int *, unsigned int,...);
214unsigned int __sync_or_and_fetch_4(volatile unsigned int *, unsigned int,...);
215signed long long int __sync_or_and_fetch(volatile signed long long int *, signed long long int,...);
216signed long long int __sync_or_and_fetch_8(volatile signed long long int *, signed long long int,...);
217unsigned long long int __sync_or_and_fetch(volatile unsigned long long int *, unsigned long long int,...);
218unsigned long long int __sync_or_and_fetch_8(volatile unsigned long long int *, unsigned long long int,...);
219#if defined(__SIZEOF_INT128__)
220signed __int128 __sync_or_and_fetch(volatile signed __int128 *, signed __int128,...);
221signed __int128 __sync_or_and_fetch_16(volatile signed __int128 *, signed __int128,...);
222unsigned __int128 __sync_or_and_fetch(volatile unsigned __int128 *, unsigned __int128,...);
223unsigned __int128 __sync_or_and_fetch_16(volatile unsigned __int128 *, unsigned __int128,...);
224#endif
225
226char __sync_and_and_fetch(volatile char *, char,...);
227char __sync_and_and_fetch_1(volatile char *, char,...);
228signed char __sync_and_and_fetch(volatile signed char *, signed char,...);
229signed char __sync_and_and_fetch_1(volatile signed char *, signed char,...);
230unsigned char __sync_and_and_fetch(volatile unsigned char *, unsigned char,...);
231unsigned char __sync_and_and_fetch_1(volatile unsigned char *, unsigned char,...);
232signed short __sync_and_and_fetch(volatile signed short *, signed short,...);
233signed short __sync_and_and_fetch_2(volatile signed short *, signed short,...);
234unsigned short __sync_and_and_fetch(volatile unsigned short *, unsigned short,...);
235unsigned short __sync_and_and_fetch_2(volatile unsigned short *, unsigned short,...);
236signed int __sync_and_and_fetch(volatile signed int *, signed int,...);
237signed int __sync_and_and_fetch_4(volatile signed int *, signed int,...);
238unsigned int __sync_and_and_fetch(volatile unsigned int *, unsigned int,...);
239unsigned int __sync_and_and_fetch_4(volatile unsigned int *, unsigned int,...);
240signed long long int __sync_and_and_fetch(volatile signed long long int *, signed long long int,...);
241signed long long int __sync_and_and_fetch_8(volatile signed long long int *, signed long long int,...);
242unsigned long long int __sync_and_and_fetch(volatile unsigned long long int *, unsigned long long int,...);
243unsigned long long int __sync_and_and_fetch_8(volatile unsigned long long int *, unsigned long long int,...);
244#if defined(__SIZEOF_INT128__)
245signed __int128 __sync_and_and_fetch(volatile signed __int128 *, signed __int128,...);
246signed __int128 __sync_and_and_fetch_16(volatile signed __int128 *, signed __int128,...);
247unsigned __int128 __sync_and_and_fetch(volatile unsigned __int128 *, unsigned __int128,...);
248unsigned __int128 __sync_and_and_fetch_16(volatile unsigned __int128 *, unsigned __int128,...);
249#endif
250
251char __sync_xor_and_fetch(volatile char *, char,...);
252char __sync_xor_and_fetch_1(volatile char *, char,...);
253signed char __sync_xor_and_fetch(volatile signed char *, signed char,...);
254signed char __sync_xor_and_fetch_1(volatile signed char *, signed char,...);
255unsigned char __sync_xor_and_fetch(volatile unsigned char *, unsigned char,...);
256unsigned char __sync_xor_and_fetch_1(volatile unsigned char *, unsigned char,...);
257signed short __sync_xor_and_fetch(volatile signed short *, signed short,...);
258signed short __sync_xor_and_fetch_2(volatile signed short *, signed short,...);
259unsigned short __sync_xor_and_fetch(volatile unsigned short *, unsigned short,...);
260unsigned short __sync_xor_and_fetch_2(volatile unsigned short *, unsigned short,...);
261signed int __sync_xor_and_fetch(volatile signed int *, signed int,...);
262signed int __sync_xor_and_fetch_4(volatile signed int *, signed int,...);
263unsigned int __sync_xor_and_fetch(volatile unsigned int *, unsigned int,...);
264unsigned int __sync_xor_and_fetch_4(volatile unsigned int *, unsigned int,...);
265signed long long int __sync_xor_and_fetch(volatile signed long long int *, signed long long int,...);
266signed long long int __sync_xor_and_fetch_8(volatile signed long long int *, signed long long int,...);
267unsigned long long int __sync_xor_and_fetch(volatile unsigned long long int *, unsigned long long int,...);
268unsigned long long int __sync_xor_and_fetch_8(volatile unsigned long long int *, unsigned long long int,...);
269#if defined(__SIZEOF_INT128__)
270signed __int128 __sync_xor_and_fetch(volatile signed __int128 *, signed __int128,...);
271signed __int128 __sync_xor_and_fetch_16(volatile signed __int128 *, signed __int128,...);
272unsigned __int128 __sync_xor_and_fetch(volatile unsigned __int128 *, unsigned __int128,...);
273unsigned __int128 __sync_xor_and_fetch_16(volatile unsigned __int128 *, unsigned __int128,...);
274#endif
275
276char __sync_nand_and_fetch(volatile char *, char,...);
277char __sync_nand_and_fetch_1(volatile char *, char,...);
278signed char __sync_nand_and_fetch(volatile signed char *, signed char,...);
279signed char __sync_nand_and_fetch_1(volatile signed char *, signed char,...);
280unsigned char __sync_nand_and_fetch(volatile unsigned char *, unsigned char,...);
281unsigned char __sync_nand_and_fetch_1(volatile unsigned char *, unsigned char,...);
282signed short __sync_nand_and_fetch(volatile signed short *, signed short,...);
283signed short __sync_nand_and_fetch_2(volatile signed short *, signed short,...);
284unsigned short __sync_nand_and_fetch(volatile unsigned short *, unsigned short,...);
285unsigned short __sync_nand_and_fetch_2(volatile unsigned short *, unsigned short,...);
286signed int __sync_nand_and_fetch(volatile signed int *, signed int,...);
287signed int __sync_nand_and_fetch_4(volatile signed int *, signed int,...);
288unsigned int __sync_nand_and_fetch(volatile unsigned int *, unsigned int,...);
289unsigned int __sync_nand_and_fetch_4(volatile unsigned int *, unsigned int,...);
290signed long long int __sync_nand_and_fetch(volatile signed long long int *, signed long long int,...);
291signed long long int __sync_nand_and_fetch_8(volatile signed long long int *, signed long long int,...);
292unsigned long long int __sync_nand_and_fetch(volatile unsigned long long int *, unsigned long long int,...);
293unsigned long long int __sync_nand_and_fetch_8(volatile unsigned long long int *, unsigned long long int,...);
294#if defined(__SIZEOF_INT128__)
295signed __int128 __sync_nand_and_fetch(volatile signed __int128 *, signed __int128,...);
296signed __int128 __sync_nand_and_fetch_16(volatile signed __int128 *, signed __int128,...);
297unsigned __int128 __sync_nand_and_fetch(volatile unsigned __int128 *, unsigned __int128,...);
298unsigned __int128 __sync_nand_and_fetch_16(volatile unsigned __int128 *, unsigned __int128,...);
299#endif
300
301_Bool __sync_bool_compare_and_swap(volatile char *, char, char,...);
302_Bool __sync_bool_compare_and_swap_1(volatile char *, char, char,...);
303_Bool __sync_bool_compare_and_swap(volatile signed char *, signed char, signed char,...);
304_Bool __sync_bool_compare_and_swap_1(volatile signed char *, signed char, signed char,...);
305_Bool __sync_bool_compare_and_swap(volatile unsigned char *, unsigned char, unsigned char,...);
306_Bool __sync_bool_compare_and_swap_1(volatile unsigned char *, unsigned char, unsigned char,...);
307_Bool __sync_bool_compare_and_swap(volatile short *, signed short, signed short,...);
308_Bool __sync_bool_compare_and_swap_2(volatile short *, signed short, signed short,...);
309_Bool __sync_bool_compare_and_swap(volatile short *, unsigned short, unsigned short,...);
310_Bool __sync_bool_compare_and_swap_2(volatile short *, unsigned short, unsigned short,...);
311_Bool __sync_bool_compare_and_swap(volatile signed int *, signed int, signed int,...);
312_Bool __sync_bool_compare_and_swap_4(volatile signed int *, signed int, signed int,...);
313_Bool __sync_bool_compare_and_swap(volatile unsigned int *, unsigned int, unsigned int,...);
314_Bool __sync_bool_compare_and_swap_4(volatile unsigned int *, unsigned int, unsigned int,...);
315_Bool __sync_bool_compare_and_swap(volatile signed long long int *, signed long long int, signed long long int,...);
316_Bool __sync_bool_compare_and_swap_8(volatile signed long long int *, signed long long int, signed long long int,...);
317_Bool __sync_bool_compare_and_swap(volatile unsigned long long int *, unsigned long long int, unsigned long long int,...);
318_Bool __sync_bool_compare_and_swap_8(volatile unsigned long long int *, unsigned long long int, unsigned long long int,...);
319#if defined(__SIZEOF_INT128__)
320_Bool __sync_bool_compare_and_swap(volatile signed __int128 *, signed __int128, signed __int128,...);
321_Bool __sync_bool_compare_and_swap_16(volatile signed __int128 *, signed __int128, signed __int128,...);
322_Bool __sync_bool_compare_and_swap(volatile unsigned __int128 *, unsigned __int128, unsigned __int128,...);
323_Bool __sync_bool_compare_and_swap_16(volatile unsigned __int128 *, unsigned __int128, unsigned __int128,...);
324#endif
325forall(dtype T) _Bool __sync_bool_compare_and_swap(T * volatile *, T *, T*, ...);
326
327char __sync_val_compare_and_swap(volatile char *, char, char,...);
328char __sync_val_compare_and_swap_1(volatile char *, char, char,...);
329signed char __sync_val_compare_and_swap(volatile signed char *, signed char, signed char,...);
330signed char __sync_val_compare_and_swap_1(volatile signed char *, signed char, signed char,...);
331unsigned char __sync_val_compare_and_swap(volatile unsigned char *, unsigned char, unsigned char,...);
332unsigned char __sync_val_compare_and_swap_1(volatile unsigned char *, unsigned char, unsigned char,...);
333signed short __sync_val_compare_and_swap(volatile signed short *, signed short, signed short,...);
334signed short __sync_val_compare_and_swap_2(volatile signed short *, signed short, signed short,...);
335unsigned short __sync_val_compare_and_swap(volatile unsigned short *, unsigned short, unsigned short,...);
336unsigned short __sync_val_compare_and_swap_2(volatile unsigned short *, unsigned short, unsigned short,...);
337signed int __sync_val_compare_and_swap(volatile signed int *, signed int, signed int,...);
338signed int __sync_val_compare_and_swap_4(volatile signed int *, signed int, signed int,...);
339unsigned int __sync_val_compare_and_swap(volatile unsigned int *, unsigned int, unsigned int,...);
340unsigned int __sync_val_compare_and_swap_4(volatile unsigned int *, unsigned int, unsigned int,...);
341signed long long int __sync_val_compare_and_swap(volatile signed long long int *, signed long long int, signed long long int,...);
342signed long long int __sync_val_compare_and_swap_8(volatile signed long long int *, signed long long int, signed long long int,...);
343unsigned long long int __sync_val_compare_and_swap(volatile unsigned long long int *, unsigned long long int, unsigned long long int,...);
344unsigned long long int __sync_val_compare_and_swap_8(volatile unsigned long long int *, unsigned long long int, unsigned long long int,...);
345#if defined(__SIZEOF_INT128__)
346signed __int128 __sync_val_compare_and_swap(volatile signed __int128 *, signed __int128, signed __int128,...);
347signed __int128 __sync_val_compare_and_swap_16(volatile signed __int128 *, signed __int128, signed __int128,...);
348unsigned __int128 __sync_val_compare_and_swap(volatile unsigned __int128 *, unsigned __int128, unsigned __int128,...);
349unsigned __int128 __sync_val_compare_and_swap_16(volatile unsigned __int128 *, unsigned __int128, unsigned __int128,...);
350#endif
351forall(dtype T) T * __sync_val_compare_and_swap(T * volatile *, T *, T*,...);
352
353char __sync_lock_test_and_set(volatile char *, char,...);
354char __sync_lock_test_and_set_1(volatile char *, char,...);
355signed char __sync_lock_test_and_set(volatile signed char *, signed char,...);
356signed char __sync_lock_test_and_set_1(volatile signed char *, signed char,...);
357unsigned char __sync_lock_test_and_set(volatile unsigned char *, unsigned char,...);
358unsigned char __sync_lock_test_and_set_1(volatile unsigned char *, unsigned char,...);
359signed short __sync_lock_test_and_set(volatile signed short *, signed short,...);
360signed short __sync_lock_test_and_set_2(volatile signed short *, signed short,...);
361unsigned short __sync_lock_test_and_set(volatile unsigned short *, unsigned short,...);
362unsigned short __sync_lock_test_and_set_2(volatile unsigned short *, unsigned short,...);
363signed int __sync_lock_test_and_set(volatile signed int *, signed int,...);
364signed int __sync_lock_test_and_set_4(volatile signed int *, signed int,...);
365unsigned int __sync_lock_test_and_set(volatile unsigned int *, unsigned int,...);
366unsigned int __sync_lock_test_and_set_4(volatile unsigned int *, unsigned int,...);
367signed long long int __sync_lock_test_and_set(volatile signed long long int *, signed long long int,...);
368signed long long int __sync_lock_test_and_set_8(volatile signed long long int *, signed long long int,...);
369unsigned long long int __sync_lock_test_and_set(volatile unsigned long long int *, unsigned long long int,...);
370unsigned long long int __sync_lock_test_and_set_8(volatile unsigned long long int *, unsigned long long int,...);
371#if defined(__SIZEOF_INT128__)
372signed __int128 __sync_lock_test_and_set(volatile signed __int128 *, signed __int128,...);
373signed __int128 __sync_lock_test_and_set_16(volatile signed __int128 *, signed __int128,...);
374unsigned __int128 __sync_lock_test_and_set(volatile unsigned __int128 *, unsigned __int128,...);
375unsigned __int128 __sync_lock_test_and_set_16(volatile unsigned __int128 *, unsigned __int128,...);
376#endif
377
378void __sync_lock_release(volatile char *,...);
379void __sync_lock_release_1(volatile char *,...);
380void __sync_lock_release(volatile signed char *,...);
381void __sync_lock_release_1(volatile signed char *,...);
382void __sync_lock_release(volatile unsigned char *,...);
383void __sync_lock_release_1(volatile unsigned char *,...);
384void __sync_lock_release(volatile signed short *,...);
385void __sync_lock_release_2(volatile signed short *,...);
386void __sync_lock_release(volatile unsigned short *,...);
387void __sync_lock_release_2(volatile unsigned short *,...);
388void __sync_lock_release(volatile signed int *,...);
389void __sync_lock_release_4(volatile signed int *,...);
390void __sync_lock_release(volatile unsigned int *,...);
391void __sync_lock_release_4(volatile unsigned int *,...);
392void __sync_lock_release(volatile signed long long int *,...);
393void __sync_lock_release_8(volatile signed long long int *,...);
394void __sync_lock_release(volatile unsigned long long int *,...);
395void __sync_lock_release_8(volatile unsigned long long int *,...);
396#if defined(__SIZEOF_INT128__)
397void __sync_lock_release(volatile signed __int128 *,...);
398void __sync_lock_release_16(volatile signed __int128 *,...);
399void __sync_lock_release(volatile unsigned __int128 *,...);
400void __sync_lock_release_16(volatile unsigned __int128 *,...);
401#endif
402
403void __sync_synchronize();
404
405
406
407
408_Bool __atomic_test_and_set(volatile _Bool *, int);
409_Bool __atomic_test_and_set(volatile char *, int);
410_Bool __atomic_test_and_set(volatile signed char *, int);
411_Bool __atomic_test_and_set(volatile unsigned char *, int);
412_Bool __atomic_test_and_set(volatile signed short *, int);
413_Bool __atomic_test_and_set(volatile unsigned short *, int);
414_Bool __atomic_test_and_set(volatile signed int *, int);
415_Bool __atomic_test_and_set(volatile unsigned int *, int);
416_Bool __atomic_test_and_set(volatile signed long long int *, int);
417_Bool __atomic_test_and_set(volatile unsigned long long int *, int);
418#if defined(__SIZEOF_INT128__)
419_Bool __atomic_test_and_set(volatile signed __int128 *, int);
420_Bool __atomic_test_and_set(volatile unsigned __int128 *, int);
421#endif
422
423void __atomic_clear(volatile _Bool *, int);
424void __atomic_clear(volatile char *, int);
425void __atomic_clear(volatile signed char *, int);
426void __atomic_clear(volatile unsigned char *, int);
427void __atomic_clear(volatile signed short *, int);
428void __atomic_clear(volatile unsigned short *, int);
429void __atomic_clear(volatile signed int *, int);
430void __atomic_clear(volatile unsigned int *, int);
431void __atomic_clear(volatile signed long long int *, int);
432void __atomic_clear(volatile unsigned long long int *, int);
433#if defined(__SIZEOF_INT128__)
434void __atomic_clear(volatile signed __int128 *, int);
435void __atomic_clear(volatile unsigned __int128 *, int);
436#endif
437
438char __atomic_exchange_n(volatile char *, char, int);
439char __atomic_exchange_1(volatile char *, char, int);
440void __atomic_exchange(volatile char *, volatile char *, volatile char *, int);
441signed char __atomic_exchange_n(volatile signed char *, signed char, int);
442signed char __atomic_exchange_1(volatile signed char *, signed char, int);
443void __atomic_exchange(volatile signed char *, volatile signed char *, volatile signed char *, int);
444unsigned char __atomic_exchange_n(volatile unsigned char *, unsigned char, int);
445unsigned char __atomic_exchange_1(volatile unsigned char *, unsigned char, int);
446void __atomic_exchange(volatile unsigned char *, volatile unsigned char *, volatile unsigned char *, int);
447signed short __atomic_exchange_n(volatile signed short *, signed short, int);
448signed short __atomic_exchange_2(volatile signed short *, signed short, int);
449void __atomic_exchange(volatile signed short *, volatile signed short *, volatile signed short *, int);
450unsigned short __atomic_exchange_n(volatile unsigned short *, unsigned short, int);
451unsigned short __atomic_exchange_2(volatile unsigned short *, unsigned short, int);
452void __atomic_exchange(volatile unsigned short *, volatile unsigned short *, volatile unsigned short *, int);
453signed int __atomic_exchange_n(volatile signed int *, signed int, int);
454signed int __atomic_exchange_4(volatile signed int *, signed int, int);
455void __atomic_exchange(volatile signed int *, volatile signed int *, volatile signed int *, int);
456unsigned int __atomic_exchange_n(volatile unsigned int *, unsigned int, int);
457unsigned int __atomic_exchange_4(volatile unsigned int *, unsigned int, int);
458void __atomic_exchange(volatile unsigned int *, volatile unsigned int *, volatile unsigned int *, int);
459signed long long int __atomic_exchange_n(volatile signed long long int *, signed long long int, int);
460signed long long int __atomic_exchange_8(volatile signed long long int *, signed long long int, int);
461void __atomic_exchange(volatile signed long long int *, volatile signed long long int *, volatile signed long long int *, int);
462unsigned long long int __atomic_exchange_n(volatile unsigned long long int *, unsigned long long int, int);
463unsigned long long int __atomic_exchange_8(volatile unsigned long long int *, unsigned long long int, int);
464void __atomic_exchange(volatile unsigned long long int *, volatile unsigned long long int *, volatile unsigned long long int *, int);
465#if defined(__SIZEOF_INT128__)
466signed __int128 __atomic_exchange_n(volatile signed __int128 *, signed __int128, int);
467signed __int128 __atomic_exchange_16(volatile signed __int128 *, signed __int128, int);
468void __atomic_exchange(volatile signed __int128 *, volatile signed __int128 *, volatile signed __int128 *, int);
469unsigned __int128 __atomic_exchange_n(volatile unsigned __int128 *, unsigned __int128, int);
470unsigned __int128 __atomic_exchange_16(volatile unsigned __int128 *, unsigned __int128, int);
471void __atomic_exchange(volatile unsigned __int128 *, volatile unsigned __int128 *, volatile unsigned __int128 *, int);
472#endif
473forall(dtype T) T * __atomic_exchange_n(T * volatile *, T *, int);
474forall(dtype T) void __atomic_exchange(T * volatile *, T * volatile *, T * volatile *, int);
475
476_Bool __atomic_load_n(const volatile _Bool *, int);
477void __atomic_load(const volatile _Bool *, volatile _Bool *, int);
478char __atomic_load_n(const volatile char *, int);
479char __atomic_load_1(const volatile char *, int);
480void __atomic_load(const volatile char *, volatile char *, int);
481signed char __atomic_load_n(const volatile signed char *, int);
482signed char __atomic_load_1(const volatile signed char *, int);
483void __atomic_load(const volatile signed char *, volatile signed char *, int);
484unsigned char __atomic_load_n(const volatile unsigned char *, int);
485unsigned char __atomic_load_1(const volatile unsigned char *, int);
486void __atomic_load(const volatile unsigned char *, volatile unsigned char *, int);
487signed short __atomic_load_n(const volatile signed short *, int);
488signed short __atomic_load_2(const volatile signed short *, int);
489void __atomic_load(const volatile signed short *, volatile signed short *, int);
490unsigned short __atomic_load_n(const volatile unsigned short *, int);
491unsigned short __atomic_load_2(const volatile unsigned short *, int);
492void __atomic_load(const volatile unsigned short *, volatile unsigned short *, int);
493signed int __atomic_load_n(const volatile signed int *, int);
494signed int __atomic_load_4(const volatile signed int *, int);
495void __atomic_load(const volatile signed int *, volatile signed int *, int);
496unsigned int __atomic_load_n(const volatile unsigned int *, int);
497unsigned int __atomic_load_4(const volatile unsigned int *, int);
498void __atomic_load(const volatile unsigned int *, volatile unsigned int *, int);
499signed long long int __atomic_load_n(const volatile signed long long int *, int);
500signed long long int __atomic_load_8(const volatile signed long long int *, int);
501void __atomic_load(const volatile signed long long int *, volatile signed long long int *, int);
502unsigned long long int __atomic_load_n(const volatile unsigned long long int *, int);
503unsigned long long int __atomic_load_8(const volatile unsigned long long int *, int);
504void __atomic_load(const volatile unsigned long long int *, volatile unsigned long long int *, int);
505#if defined(__SIZEOF_INT128__)
506signed __int128 __atomic_load_n(const volatile signed __int128 *, int);
507signed __int128 __atomic_load_16(const volatile signed __int128 *, int);
508void __atomic_load(const volatile signed __int128 *, volatile signed __int128 *, int);
509unsigned __int128 __atomic_load_n(const volatile unsigned __int128 *, int);
510unsigned __int128 __atomic_load_16(const volatile unsigned __int128 *, int);
511void __atomic_load(const volatile unsigned __int128 *, volatile unsigned __int128 *, int);
512#endif
513forall(dtype T) T * __atomic_load_n(T * const volatile *, int);
514forall(dtype T) void __atomic_load(T * const volatile *, T **, int);
515
516_Bool __atomic_compare_exchange_n(volatile char *, char *, char, _Bool, int, int);
517_Bool __atomic_compare_exchange_1(volatile char *, char *, char, _Bool, int, int);
518_Bool __atomic_compare_exchange  (volatile char *, char *, char *, _Bool, int, int);
519_Bool __atomic_compare_exchange_n(volatile signed char *, signed char *, signed char, _Bool, int, int);
520_Bool __atomic_compare_exchange_1(volatile signed char *, signed char *, signed char, _Bool, int, int);
521_Bool __atomic_compare_exchange  (volatile signed char *, signed char *, signed char *, _Bool, int, int);
522_Bool __atomic_compare_exchange_n(volatile unsigned char *, unsigned char *, unsigned char, _Bool, int, int);
523_Bool __atomic_compare_exchange_1(volatile unsigned char *, unsigned char *, unsigned char, _Bool, int, int);
524_Bool __atomic_compare_exchange  (volatile unsigned char *, unsigned char *, unsigned char *, _Bool, int, int);
525_Bool __atomic_compare_exchange_n(volatile signed short *, signed short *, signed short, _Bool, int, int);
526_Bool __atomic_compare_exchange_2(volatile signed short *, signed short *, signed short, _Bool, int, int);
527_Bool __atomic_compare_exchange  (volatile signed short *, signed short *, signed short *, _Bool, int, int);
528_Bool __atomic_compare_exchange_n(volatile unsigned short *, unsigned short *, unsigned short, _Bool, int, int);
529_Bool __atomic_compare_exchange_2(volatile unsigned short *, unsigned short *, unsigned short, _Bool, int, int);
530_Bool __atomic_compare_exchange  (volatile unsigned short *, unsigned short *, unsigned short *, _Bool, int, int);
531_Bool __atomic_compare_exchange_n(volatile signed int *, signed int *, signed int, _Bool, int, int);
532_Bool __atomic_compare_exchange_4(volatile signed int *, signed int *, signed int, _Bool, int, int);
533_Bool __atomic_compare_exchange  (volatile signed int *, signed int *, signed int *, _Bool, int, int);
534_Bool __atomic_compare_exchange_n(volatile unsigned int *, unsigned int *, unsigned int, _Bool, int, int);
535_Bool __atomic_compare_exchange_4(volatile unsigned int *, unsigned int *, unsigned int, _Bool, int, int);
536_Bool __atomic_compare_exchange  (volatile unsigned int *, unsigned int *, unsigned int *, _Bool, int, int);
537_Bool __atomic_compare_exchange_n(volatile signed long long int *, signed long long int *, signed long long int, _Bool, int, int);
538_Bool __atomic_compare_exchange_8(volatile signed long long int *, signed long long int *, signed long long int, _Bool, int, int);
539_Bool __atomic_compare_exchange  (volatile signed long long int *, signed long long int *, signed long long int *, _Bool, int, int);
540_Bool __atomic_compare_exchange_n(volatile unsigned long long int *, unsigned long long int *, unsigned long long int, _Bool, int, int);
541_Bool __atomic_compare_exchange_8(volatile unsigned long long int *, unsigned long long int *, unsigned long long int, _Bool, int, int);
542_Bool __atomic_compare_exchange  (volatile unsigned long long int *, unsigned long long int *, unsigned long long int *, _Bool, int, int);
543#if defined(__SIZEOF_INT128__)
544_Bool __atomic_compare_exchange_n (volatile signed __int128 *, signed __int128 *, signed __int128, _Bool, int, int);
545_Bool __atomic_compare_exchange_16(volatile signed __int128 *, signed __int128 *, signed __int128, _Bool, int, int);
546_Bool __atomic_compare_exchange   (volatile signed __int128 *, signed __int128 *, signed __int128 *, _Bool, int, int);
547_Bool __atomic_compare_exchange_n (volatile unsigned __int128 *, unsigned __int128 *, unsigned __int128, _Bool, int, int);
548_Bool __atomic_compare_exchange_16(volatile unsigned __int128 *, unsigned __int128 *, unsigned __int128, _Bool, int, int);
549_Bool __atomic_compare_exchange   (volatile unsigned __int128 *, unsigned __int128 *, unsigned __int128 *, _Bool, int, int);
550#endif
551forall(dtype T) _Bool __atomic_compare_exchange_n (T * volatile *, T **, T*, _Bool, int, int);
552forall(dtype T) _Bool __atomic_compare_exchange   (T * volatile *, T **, T**, _Bool, int, int);
553
554void __atomic_store_n(volatile _Bool *, _Bool, int);
555void __atomic_store(volatile _Bool *, _Bool *, int);
556void __atomic_store_n(volatile char *, char, int);
557void __atomic_store_1(volatile char *, char, int);
558void __atomic_store(volatile char *, char *, int);
559void __atomic_store_n(volatile signed char *, signed char, int);
560void __atomic_store_1(volatile signed char *, signed char, int);
561void __atomic_store(volatile signed char *, signed char *, int);
562void __atomic_store_n(volatile unsigned char *, unsigned char, int);
563void __atomic_store_1(volatile unsigned char *, unsigned char, int);
564void __atomic_store(volatile unsigned char *, unsigned char *, int);
565void __atomic_store_n(volatile signed short *, signed short, int);
566void __atomic_store_2(volatile signed short *, signed short, int);
567void __atomic_store(volatile signed short *, signed short *, int);
568void __atomic_store_n(volatile unsigned short *, unsigned short, int);
569void __atomic_store_2(volatile unsigned short *, unsigned short, int);
570void __atomic_store(volatile unsigned short *, unsigned short *, int);
571void __atomic_store_n(volatile signed int *, signed int, int);
572void __atomic_store_4(volatile signed int *, signed int, int);
573void __atomic_store(volatile signed int *, signed int *, int);
574void __atomic_store_n(volatile unsigned int *, unsigned int, int);
575void __atomic_store_4(volatile unsigned int *, unsigned int, int);
576void __atomic_store(volatile unsigned int *, unsigned int *, int);
577void __atomic_store_n(volatile signed long long int *, signed long long int, int);
578void __atomic_store_8(volatile signed long long int *, signed long long int, int);
579void __atomic_store(volatile signed long long int *, signed long long int *, int);
580void __atomic_store_n(volatile unsigned long long int *, unsigned long long int, int);
581void __atomic_store_8(volatile unsigned long long int *, unsigned long long int, int);
582void __atomic_store(volatile unsigned long long int *, unsigned long long int *, int);
583#if defined(__SIZEOF_INT128__)
584void __atomic_store_n(volatile signed __int128 *, signed __int128, int);
585void __atomic_store_16(volatile signed __int128 *, signed __int128, int);
586void __atomic_store(volatile signed __int128 *, signed __int128 *, int);
587void __atomic_store_n(volatile unsigned __int128 *, unsigned __int128, int);
588void __atomic_store_16(volatile unsigned __int128 *, unsigned __int128, int);
589void __atomic_store(volatile unsigned __int128 *, unsigned __int128 *, int);
590#endif
591forall(dtype T) void __atomic_store_n(T * volatile *, T *, int);
592forall(dtype T) void __atomic_store(T * volatile *, T **, int);
593
594char __atomic_add_fetch  (volatile char *, char, int);
595char __atomic_add_fetch_1(volatile char *, char, int);
596signed char __atomic_add_fetch  (volatile signed char *, signed char, int);
597signed char __atomic_add_fetch_1(volatile signed char *, signed char, int);
598unsigned char __atomic_add_fetch  (volatile unsigned char *, unsigned char, int);
599unsigned char __atomic_add_fetch_1(volatile unsigned char *, unsigned char, int);
600signed short __atomic_add_fetch  (volatile signed short *, signed short, int);
601signed short __atomic_add_fetch_2(volatile signed short *, signed short, int);
602unsigned short __atomic_add_fetch  (volatile unsigned short *, unsigned short, int);
603unsigned short __atomic_add_fetch_2(volatile unsigned short *, unsigned short, int);
604signed int __atomic_add_fetch  (volatile signed int *, signed int, int);
605signed int __atomic_add_fetch_4(volatile signed int *, signed int, int);
606unsigned int __atomic_add_fetch  (volatile unsigned int *, unsigned int, int);
607unsigned int __atomic_add_fetch_4(volatile unsigned int *, unsigned int, int);
608signed long long int __atomic_add_fetch  (volatile signed long long int *, signed long long int, int);
609signed long long int __atomic_add_fetch_8(volatile signed long long int *, signed long long int, int);
610unsigned long long int __atomic_add_fetch  (volatile unsigned long long int *, unsigned long long int, int);
611unsigned long long int __atomic_add_fetch_8(volatile unsigned long long int *, unsigned long long int, int);
612#if defined(__SIZEOF_INT128__)
613signed __int128 __atomic_add_fetch   (volatile signed __int128 *, signed __int128, int);
614signed __int128 __atomic_add_fetch_16(volatile signed __int128 *, signed __int128, int);
615unsigned __int128 __atomic_add_fetch   (volatile unsigned __int128 *, unsigned __int128, int);
616unsigned __int128 __atomic_add_fetch_16(volatile unsigned __int128 *, unsigned __int128, int);
617#endif
618
619char __atomic_sub_fetch  (volatile char *, char, int);
620char __atomic_sub_fetch_1(volatile char *, char, int);
621signed char __atomic_sub_fetch  (volatile signed char *, signed char, int);
622signed char __atomic_sub_fetch_1(volatile signed char *, signed char, int);
623unsigned char __atomic_sub_fetch  (volatile unsigned char *, unsigned char, int);
624unsigned char __atomic_sub_fetch_1(volatile unsigned char *, unsigned char, int);
625signed short __atomic_sub_fetch  (volatile signed short *, signed short, int);
626signed short __atomic_sub_fetch_2(volatile signed short *, signed short, int);
627unsigned short __atomic_sub_fetch  (volatile unsigned short *, unsigned short, int);
628unsigned short __atomic_sub_fetch_2(volatile unsigned short *, unsigned short, int);
629signed int __atomic_sub_fetch  (volatile signed int *, signed int, int);
630signed int __atomic_sub_fetch_4(volatile signed int *, signed int, int);
631unsigned int __atomic_sub_fetch  (volatile unsigned int *, unsigned int, int);
632unsigned int __atomic_sub_fetch_4(volatile unsigned int *, unsigned int, int);
633signed long long int __atomic_sub_fetch  (volatile signed long long int *, signed long long int, int);
634signed long long int __atomic_sub_fetch_8(volatile signed long long int *, signed long long int, int);
635unsigned long long int __atomic_sub_fetch  (volatile unsigned long long int *, unsigned long long int, int);
636unsigned long long int __atomic_sub_fetch_8(volatile unsigned long long int *, unsigned long long int, int);
637#if defined(__SIZEOF_INT128__)
638signed __int128 __atomic_sub_fetch   (volatile signed __int128 *, signed __int128, int);
639signed __int128 __atomic_sub_fetch_16(volatile signed __int128 *, signed __int128, int);
640unsigned __int128 __atomic_sub_fetch   (volatile unsigned __int128 *, unsigned __int128, int);
641unsigned __int128 __atomic_sub_fetch_16(volatile unsigned __int128 *, unsigned __int128, int);
642#endif
643
644char __atomic_and_fetch  (volatile char *, char, int);
645char __atomic_and_fetch_1(volatile char *, char, int);
646signed char __atomic_and_fetch  (volatile signed char *, signed char, int);
647signed char __atomic_and_fetch_1(volatile signed char *, signed char, int);
648unsigned char __atomic_and_fetch  (volatile unsigned char *, unsigned char, int);
649unsigned char __atomic_and_fetch_1(volatile unsigned char *, unsigned char, int);
650signed short __atomic_and_fetch  (volatile signed short *, signed short, int);
651signed short __atomic_and_fetch_2(volatile signed short *, signed short, int);
652unsigned short __atomic_and_fetch  (volatile unsigned short *, unsigned short, int);
653unsigned short __atomic_and_fetch_2(volatile unsigned short *, unsigned short, int);
654signed int __atomic_and_fetch  (volatile signed int *, signed int, int);
655signed int __atomic_and_fetch_4(volatile signed int *, signed int, int);
656unsigned int __atomic_and_fetch  (volatile unsigned int *, unsigned int, int);
657unsigned int __atomic_and_fetch_4(volatile unsigned int *, unsigned int, int);
658signed long long int __atomic_and_fetch  (volatile signed long long int *, signed long long int, int);
659signed long long int __atomic_and_fetch_8(volatile signed long long int *, signed long long int, int);
660unsigned long long int __atomic_and_fetch  (volatile unsigned long long int *, unsigned long long int, int);
661unsigned long long int __atomic_and_fetch_8(volatile unsigned long long int *, unsigned long long int, int);
662#if defined(__SIZEOF_INT128__)
663signed __int128 __atomic_and_fetch   (volatile signed __int128 *, signed __int128, int);
664signed __int128 __atomic_and_fetch_16(volatile signed __int128 *, signed __int128, int);
665unsigned __int128 __atomic_and_fetch   (volatile unsigned __int128 *, unsigned __int128, int);
666unsigned __int128 __atomic_and_fetch_16(volatile unsigned __int128 *, unsigned __int128, int);
667#endif
668
669char __atomic_nand_fetch  (volatile char *, char, int);
670char __atomic_nand_fetch_1(volatile char *, char, int);
671signed char __atomic_nand_fetch  (volatile signed char *, signed char, int);
672signed char __atomic_nand_fetch_1(volatile signed char *, signed char, int);
673unsigned char __atomic_nand_fetch  (volatile unsigned char *, unsigned char, int);
674unsigned char __atomic_nand_fetch_1(volatile unsigned char *, unsigned char, int);
675signed short __atomic_nand_fetch  (volatile signed short *, signed short, int);
676signed short __atomic_nand_fetch_2(volatile signed short *, signed short, int);
677unsigned short __atomic_nand_fetch  (volatile unsigned short *, unsigned short, int);
678unsigned short __atomic_nand_fetch_2(volatile unsigned short *, unsigned short, int);
679signed int __atomic_nand_fetch  (volatile signed int *, signed int, int);
680signed int __atomic_nand_fetch_4(volatile signed int *, signed int, int);
681unsigned int __atomic_nand_fetch  (volatile unsigned int *, unsigned int, int);
682unsigned int __atomic_nand_fetch_4(volatile unsigned int *, unsigned int, int);
683signed long long int __atomic_nand_fetch  (volatile signed long long int *, signed long long int, int);
684signed long long int __atomic_nand_fetch_8(volatile signed long long int *, signed long long int, int);
685unsigned long long int __atomic_nand_fetch  (volatile unsigned long long int *, unsigned long long int, int);
686unsigned long long int __atomic_nand_fetch_8(volatile unsigned long long int *, unsigned long long int, int);
687#if defined(__SIZEOF_INT128__)
688signed __int128 __atomic_nand_fetch   (volatile signed __int128 *, signed __int128, int);
689signed __int128 __atomic_nand_fetch_16(volatile signed __int128 *, signed __int128, int);
690unsigned __int128 __atomic_nand_fetch   (volatile unsigned __int128 *, unsigned __int128, int);
691unsigned __int128 __atomic_nand_fetch_16(volatile unsigned __int128 *, unsigned __int128, int);
692#endif
693
694char __atomic_xor_fetch  (volatile char *, char, int);
695char __atomic_xor_fetch_1(volatile char *, char, int);
696signed char __atomic_xor_fetch  (volatile signed char *, signed char, int);
697signed char __atomic_xor_fetch_1(volatile signed char *, signed char, int);
698unsigned char __atomic_xor_fetch  (volatile unsigned char *, unsigned char, int);
699unsigned char __atomic_xor_fetch_1(volatile unsigned char *, unsigned char, int);
700signed short __atomic_xor_fetch  (volatile signed short *, signed short, int);
701signed short __atomic_xor_fetch_2(volatile signed short *, signed short, int);
702unsigned short __atomic_xor_fetch  (volatile unsigned short *, unsigned short, int);
703unsigned short __atomic_xor_fetch_2(volatile unsigned short *, unsigned short, int);
704signed int __atomic_xor_fetch  (volatile signed int *, signed int, int);
705signed int __atomic_xor_fetch_4(volatile signed int *, signed int, int);
706unsigned int __atomic_xor_fetch  (volatile unsigned int *, unsigned int, int);
707unsigned int __atomic_xor_fetch_4(volatile unsigned int *, unsigned int, int);
708signed long long int __atomic_xor_fetch  (volatile signed long long int *, signed long long int, int);
709signed long long int __atomic_xor_fetch_8(volatile signed long long int *, signed long long int, int);
710unsigned long long int __atomic_xor_fetch  (volatile unsigned long long int *, unsigned long long int, int);
711unsigned long long int __atomic_xor_fetch_8(volatile unsigned long long int *, unsigned long long int, int);
712#if defined(__SIZEOF_INT128__)
713signed __int128 __atomic_xor_fetch   (volatile signed __int128 *, signed __int128, int);
714signed __int128 __atomic_xor_fetch_16(volatile signed __int128 *, signed __int128, int);
715unsigned __int128 __atomic_xor_fetch   (volatile unsigned __int128 *, unsigned __int128, int);
716unsigned __int128 __atomic_xor_fetch_16(volatile unsigned __int128 *, unsigned __int128, int);
717#endif
718
719char __atomic_or_fetch  (volatile char *, char, int);
720char __atomic_or_fetch_1(volatile char *, char, int);
721signed char __atomic_or_fetch  (volatile signed char *, signed char, int);
722signed char __atomic_or_fetch_1(volatile signed char *, signed char, int);
723unsigned char __atomic_or_fetch  (volatile unsigned char *, unsigned char, int);
724unsigned char __atomic_or_fetch_1(volatile unsigned char *, unsigned char, int);
725signed short __atomic_or_fetch  (volatile signed short *, signed short, int);
726signed short __atomic_or_fetch_2(volatile signed short *, signed short, int);
727unsigned short __atomic_or_fetch  (volatile unsigned short *, unsigned short, int);
728unsigned short __atomic_or_fetch_2(volatile unsigned short *, unsigned short, int);
729signed int __atomic_or_fetch  (volatile signed int *, signed int, int);
730signed int __atomic_or_fetch_4(volatile signed int *, signed int, int);
731unsigned int __atomic_or_fetch  (volatile unsigned int *, unsigned int, int);
732unsigned int __atomic_or_fetch_4(volatile unsigned int *, unsigned int, int);
733signed long long int __atomic_or_fetch  (volatile signed long long int *, signed long long int, int);
734signed long long int __atomic_or_fetch_8(volatile signed long long int *, signed long long int, int);
735unsigned long long int __atomic_or_fetch  (volatile unsigned long long int *, unsigned long long int, int);
736unsigned long long int __atomic_or_fetch_8(volatile unsigned long long int *, unsigned long long int, int);
737#if defined(__SIZEOF_INT128__)
738signed __int128 __atomic_or_fetch   (volatile signed __int128 *, signed __int128, int);
739signed __int128 __atomic_or_fetch_16(volatile signed __int128 *, signed __int128, int);
740unsigned __int128 __atomic_or_fetch   (volatile unsigned __int128 *, unsigned __int128, int);
741unsigned __int128 __atomic_or_fetch_16(volatile unsigned __int128 *, unsigned __int128, int);
742#endif
743
744char __atomic_fetch_add  (volatile char *, char, int);
745char __atomic_fetch_add_1(volatile char *, char, int);
746signed char __atomic_fetch_add  (volatile signed char *, signed char, int);
747signed char __atomic_fetch_add_1(volatile signed char *, signed char, int);
748unsigned char __atomic_fetch_add  (volatile unsigned char *, unsigned char, int);
749unsigned char __atomic_fetch_add_1(volatile unsigned char *, unsigned char, int);
750signed short __atomic_fetch_add  (volatile signed short *, signed short, int);
751signed short __atomic_fetch_add_2(volatile signed short *, signed short, int);
752unsigned short __atomic_fetch_add  (volatile unsigned short *, unsigned short, int);
753unsigned short __atomic_fetch_add_2(volatile unsigned short *, unsigned short, int);
754signed int __atomic_fetch_add  (volatile signed int *, signed int, int);
755signed int __atomic_fetch_add_4(volatile signed int *, signed int, int);
756unsigned int __atomic_fetch_add  (volatile unsigned int *, unsigned int, int);
757unsigned int __atomic_fetch_add_4(volatile unsigned int *, unsigned int, int);
758signed long long int __atomic_fetch_add  (volatile signed long long int *, signed long long int, int);
759signed long long int __atomic_fetch_add_8(volatile signed long long int *, signed long long int, int);
760unsigned long long int __atomic_fetch_add  (volatile unsigned long long int *, unsigned long long int, int);
761unsigned long long int __atomic_fetch_add_8(volatile unsigned long long int *, unsigned long long int, int);
762#if defined(__SIZEOF_INT128__)
763signed __int128 __atomic_fetch_add   (volatile signed __int128 *, signed __int128, int);
764signed __int128 __atomic_fetch_add_16(volatile signed __int128 *, signed __int128, int);
765unsigned __int128 __atomic_fetch_add   (volatile unsigned __int128 *, unsigned __int128, int);
766unsigned __int128 __atomic_fetch_add_16(volatile unsigned __int128 *, unsigned __int128, int);
767#endif
768
769char __atomic_fetch_sub  (volatile char *, char, int);
770char __atomic_fetch_sub_1(volatile char *, char, int);
771signed char __atomic_fetch_sub  (volatile signed char *, signed char, int);
772signed char __atomic_fetch_sub_1(volatile signed char *, signed char, int);
773unsigned char __atomic_fetch_sub  (volatile unsigned char *, unsigned char, int);
774unsigned char __atomic_fetch_sub_1(volatile unsigned char *, unsigned char, int);
775signed short __atomic_fetch_sub  (volatile signed short *, signed short, int);
776signed short __atomic_fetch_sub_2(volatile signed short *, signed short, int);
777unsigned short __atomic_fetch_sub  (volatile unsigned short *, unsigned short, int);
778unsigned short __atomic_fetch_sub_2(volatile unsigned short *, unsigned short, int);
779signed int __atomic_fetch_sub  (volatile signed int *, signed int, int);
780signed int __atomic_fetch_sub_4(volatile signed int *, signed int, int);
781unsigned int __atomic_fetch_sub  (volatile unsigned int *, unsigned int, int);
782unsigned int __atomic_fetch_sub_4(volatile unsigned int *, unsigned int, int);
783signed long long int __atomic_fetch_sub  (volatile signed long long int *, signed long long int, int);
784signed long long int __atomic_fetch_sub_8(volatile signed long long int *, signed long long int, int);
785unsigned long long int __atomic_fetch_sub  (volatile unsigned long long int *, unsigned long long int, int);
786unsigned long long int __atomic_fetch_sub_8(volatile unsigned long long int *, unsigned long long int, int);
787#if defined(__SIZEOF_INT128__)
788signed __int128 __atomic_fetch_sub   (volatile signed  __int128 *, signed __int128, int);
789signed __int128 __atomic_fetch_sub_16(volatile signed  __int128 *, signed __int128, int);
790unsigned __int128 __atomic_fetch_sub   (volatile unsigned  __int128 *, unsigned __int128, int);
791unsigned __int128 __atomic_fetch_sub_16(volatile unsigned  __int128 *, unsigned __int128, int);
792#endif
793
794char __atomic_fetch_and  (volatile char *, char, int);
795char __atomic_fetch_and_1(volatile char *, char, int);
796signed char __atomic_fetch_and  (volatile signed char *, signed char, int);
797signed char __atomic_fetch_and_1(volatile signed char *, signed char, int);
798unsigned char __atomic_fetch_and  (volatile unsigned char *, unsigned char, int);
799unsigned char __atomic_fetch_and_1(volatile unsigned char *, unsigned char, int);
800signed short __atomic_fetch_and  (volatile signed short *, signed short, int);
801signed short __atomic_fetch_and_2(volatile signed short *, signed short, int);
802unsigned short __atomic_fetch_and  (volatile unsigned short *, unsigned short, int);
803unsigned short __atomic_fetch_and_2(volatile unsigned short *, unsigned short, int);
804signed int __atomic_fetch_and  (volatile signed int *, signed int, int);
805signed int __atomic_fetch_and_4(volatile signed int *, signed int, int);
806unsigned int __atomic_fetch_and  (volatile unsigned int *, unsigned int, int);
807unsigned int __atomic_fetch_and_4(volatile unsigned int *, unsigned int, int);
808signed long long int __atomic_fetch_and  (volatile signed long long int *, signed long long int, int);
809signed long long int __atomic_fetch_and_8(volatile signed long long int *, signed long long int, int);
810unsigned long long int __atomic_fetch_and  (volatile unsigned long long int *, unsigned long long int, int);
811unsigned long long int __atomic_fetch_and_8(volatile unsigned long long int *, unsigned long long int, int);
812#if defined(__SIZEOF_INT128__)
813signed __int128 __atomic_fetch_and   (volatile signed __int128 *, signed __int128, int);
814signed __int128 __atomic_fetch_and_16(volatile signed __int128 *, signed __int128, int);
815unsigned __int128 __atomic_fetch_and   (volatile unsigned __int128 *, unsigned __int128, int);
816unsigned __int128 __atomic_fetch_and_16(volatile unsigned __int128 *, unsigned __int128, int);
817#endif
818
819char __atomic_fetch_nand  (volatile char *, char, int);
820char __atomic_fetch_nand_1(volatile char *, char, int);
821signed char __atomic_fetch_nand  (volatile signed char *, signed char, int);
822signed char __atomic_fetch_nand_1(volatile signed char *, signed char, int);
823unsigned char __atomic_fetch_nand  (volatile unsigned char *, unsigned char, int);
824unsigned char __atomic_fetch_nand_1(volatile unsigned char *, unsigned char, int);
825signed short __atomic_fetch_nand  (volatile signed short *, signed short, int);
826signed short __atomic_fetch_nand_2(volatile signed short *, signed short, int);
827unsigned short __atomic_fetch_nand  (volatile unsigned short *, unsigned short, int);
828unsigned short __atomic_fetch_nand_2(volatile unsigned short *, unsigned short, int);
829signed int __atomic_fetch_nand  (volatile signed int *, signed int, int);
830signed int __atomic_fetch_nand_4(volatile signed int *, signed int, int);
831unsigned int __atomic_fetch_nand  (volatile unsigned int *, unsigned int, int);
832unsigned int __atomic_fetch_nand_4(volatile unsigned int *, unsigned int, int);
833signed long long int __atomic_fetch_nand  (volatile signed long long int *, signed long long int, int);
834signed long long int __atomic_fetch_nand_8(volatile signed long long int *, signed long long int, int);
835unsigned long long int __atomic_fetch_nand  (volatile unsigned long long int *, unsigned long long int, int);
836unsigned long long int __atomic_fetch_nand_8(volatile unsigned long long int *, unsigned long long int, int);
837#if defined(__SIZEOF_INT128__)
838signed __int128 __atomic_fetch_nand   (volatile signed __int128 *, signed __int128, int);
839signed __int128 __atomic_fetch_nand_16(volatile signed __int128 *, signed __int128, int);
840unsigned __int128 __atomic_fetch_nand   (volatile unsigned __int128 *, unsigned __int128, int);
841unsigned __int128 __atomic_fetch_nand_16(volatile unsigned __int128 *, unsigned __int128, int);
842#endif
843
844char __atomic_fetch_xor  (volatile char *, char, int);
845char __atomic_fetch_xor_1(volatile char *, char, int);
846signed char __atomic_fetch_xor  (volatile signed char *, signed char, int);
847signed char __atomic_fetch_xor_1(volatile signed char *, signed char, int);
848unsigned char __atomic_fetch_xor  (volatile unsigned char *, unsigned char, int);
849unsigned char __atomic_fetch_xor_1(volatile unsigned char *, unsigned char, int);
850signed short __atomic_fetch_xor  (volatile signed short *, signed short, int);
851signed short __atomic_fetch_xor_2(volatile signed short *, signed short, int);
852unsigned short __atomic_fetch_xor  (volatile unsigned short *, unsigned short, int);
853unsigned short __atomic_fetch_xor_2(volatile unsigned short *, unsigned short, int);
854signed int __atomic_fetch_xor  (volatile signed int *, signed int, int);
855signed int __atomic_fetch_xor_4(volatile signed int *, signed int, int);
856unsigned int __atomic_fetch_xor  (volatile unsigned int *, unsigned int, int);
857unsigned int __atomic_fetch_xor_4(volatile unsigned int *, unsigned int, int);
858signed long long int __atomic_fetch_xor  (volatile signed long long int *, signed long long int, int);
859signed long long int __atomic_fetch_xor_8(volatile signed long long int *, signed long long int, int);
860unsigned long long int __atomic_fetch_xor  (volatile unsigned long long int *, unsigned long long int, int);
861unsigned long long int __atomic_fetch_xor_8(volatile unsigned long long int *, unsigned long long int, int);
862#if defined(__SIZEOF_INT128__)
863signed __int128 __atomic_fetch_xor   (volatile signed __int128 *, signed __int128, int);
864signed __int128 __atomic_fetch_xor_16(volatile signed __int128 *, signed __int128, int);
865unsigned __int128 __atomic_fetch_xor   (volatile unsigned __int128 *, unsigned __int128, int);
866unsigned __int128 __atomic_fetch_xor_16(volatile unsigned __int128 *, unsigned __int128, int);
867#endif
868
869char __atomic_fetch_or  (volatile char *, char, int);
870char __atomic_fetch_or_1(volatile char *, char, int);
871signed char __atomic_fetch_or  (volatile signed char *, signed char, int);
872signed char __atomic_fetch_or_1(volatile signed char *, signed char, int);
873unsigned char __atomic_fetch_or  (volatile unsigned char *, unsigned char, int);
874unsigned char __atomic_fetch_or_1(volatile unsigned char *, unsigned char, int);
875signed short __atomic_fetch_or  (volatile signed short *, signed short, int);
876signed short __atomic_fetch_or_2(volatile signed short *, signed short, int);
877unsigned short __atomic_fetch_or  (volatile unsigned short *, unsigned short, int);
878unsigned short __atomic_fetch_or_2(volatile unsigned short *, unsigned short, int);
879signed int __atomic_fetch_or  (volatile signed int *, signed int, int);
880signed int __atomic_fetch_or_4(volatile signed int *, signed int, int);
881unsigned int __atomic_fetch_or  (volatile unsigned int *, unsigned int, int);
882unsigned int __atomic_fetch_or_4(volatile unsigned int *, unsigned int, int);
883signed long long int __atomic_fetch_or  (volatile signed long long int *, signed long long int, int);
884signed long long int __atomic_fetch_or_8(volatile signed long long int *, signed long long int, int);
885unsigned long long int __atomic_fetch_or  (volatile unsigned long long int *, unsigned long long int, int);
886unsigned long long int __atomic_fetch_or_8(volatile unsigned long long int *, unsigned long long int, int);
887#if defined(__SIZEOF_INT128__)
888signed __int128 __atomic_fetch_or   (volatile signed __int128 *, signed __int128, int);
889signed __int128 __atomic_fetch_or_16(volatile signed __int128 *, signed __int128, int);
890unsigned __int128 __atomic_fetch_or   (volatile unsigned __int128 *, unsigned __int128, int);
891unsigned __int128 __atomic_fetch_or_16(volatile unsigned __int128 *, unsigned __int128, int);
892#endif
893
894_Bool __atomic_always_lock_free(unsigned long, const volatile void *);
895_Bool __atomic_is_lock_free(unsigned long, const volatile void *);
896
897void __atomic_thread_fence (int);
898void __atomic_signal_fence (int);
899void __atomic_feraiseexcept(int);
Note: See TracBrowser for help on using the repository browser.