comparison gcc/sync-builtins.def @ 67:f6334be47118

update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
author nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
date Tue, 22 Mar 2011 17:18:12 +0900
parents 77e2b8dfacca
children 04ced10e8804
comparison
equal deleted inserted replaced
65:65488c3d617d 67:f6334be47118
1 /* This file contains the definitions and documentation for the 1 /* This file contains the definitions and documentation for the
2 synchronization builtins used in the GNU compiler. 2 synchronization builtins used in the GNU compiler.
3 Copyright (C) 2005, 2007 Free Software Foundation, Inc. 3 Copyright (C) 2005, 2007, 2010 Free Software Foundation, Inc.
4 4
5 This file is part of GCC. 5 This file is part of GCC.
6 6
7 GCC is free software; you can redistribute it and/or modify it under 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 8 the terms of the GNU General Public License as published by the Free
27 /* Synchronization Primitives. The "_N" version is the one that the user 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 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. */ 29 "_1" through "_16" versions, plus some extra casts. */
30 30
31 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_ADD_N, "__sync_fetch_and_add", 31 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_ADD_N, "__sync_fetch_and_add",
32 BT_FN_VOID_VAR, ATTR_NOTHROW_LIST) 32 BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST)
33 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_ADD_1, "__sync_fetch_and_add_1", 33 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_ADD_1, "__sync_fetch_and_add_1",
34 BT_FN_I1_VPTR_I1, ATTR_NOTHROW_LIST) 34 BT_FN_I1_VPTR_I1, ATTR_NOTHROW_LEAF_LIST)
35 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_ADD_2, "__sync_fetch_and_add_2", 35 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_ADD_2, "__sync_fetch_and_add_2",
36 BT_FN_I2_VPTR_I2, ATTR_NOTHROW_LIST) 36 BT_FN_I2_VPTR_I2, ATTR_NOTHROW_LEAF_LIST)
37 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_ADD_4, "__sync_fetch_and_add_4", 37 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_ADD_4, "__sync_fetch_and_add_4",
38 BT_FN_I4_VPTR_I4, ATTR_NOTHROW_LIST) 38 BT_FN_I4_VPTR_I4, ATTR_NOTHROW_LEAF_LIST)
39 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_ADD_8, "__sync_fetch_and_add_8", 39 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_ADD_8, "__sync_fetch_and_add_8",
40 BT_FN_I8_VPTR_I8, ATTR_NOTHROW_LIST) 40 BT_FN_I8_VPTR_I8, ATTR_NOTHROW_LEAF_LIST)
41 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_ADD_16, "__sync_fetch_and_add_16", 41 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_ADD_16, "__sync_fetch_and_add_16",
42 BT_FN_I16_VPTR_I16, ATTR_NOTHROW_LIST) 42 BT_FN_I16_VPTR_I16, ATTR_NOTHROW_LEAF_LIST)
43 43
44 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_SUB_N, "__sync_fetch_and_sub", 44 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_SUB_N, "__sync_fetch_and_sub",
45 BT_FN_VOID_VAR, ATTR_NOTHROW_LIST) 45 BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST)
46 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_SUB_1, "__sync_fetch_and_sub_1", 46 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_SUB_1, "__sync_fetch_and_sub_1",
47 BT_FN_I1_VPTR_I1, ATTR_NOTHROW_LIST) 47 BT_FN_I1_VPTR_I1, ATTR_NOTHROW_LEAF_LIST)
48 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_SUB_2, "__sync_fetch_and_sub_2", 48 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_SUB_2, "__sync_fetch_and_sub_2",
49 BT_FN_I2_VPTR_I2, ATTR_NOTHROW_LIST) 49 BT_FN_I2_VPTR_I2, ATTR_NOTHROW_LEAF_LIST)
50 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_SUB_4, "__sync_fetch_and_sub_4", 50 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_SUB_4, "__sync_fetch_and_sub_4",
51 BT_FN_I4_VPTR_I4, ATTR_NOTHROW_LIST) 51 BT_FN_I4_VPTR_I4, ATTR_NOTHROW_LEAF_LIST)
52 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_SUB_8, "__sync_fetch_and_sub_8", 52 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_SUB_8, "__sync_fetch_and_sub_8",
53 BT_FN_I8_VPTR_I8, ATTR_NOTHROW_LIST) 53 BT_FN_I8_VPTR_I8, ATTR_NOTHROW_LEAF_LIST)
54 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_SUB_16, "__sync_fetch_and_sub_16", 54 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_SUB_16, "__sync_fetch_and_sub_16",
55 BT_FN_I16_VPTR_I16, ATTR_NOTHROW_LIST) 55 BT_FN_I16_VPTR_I16, ATTR_NOTHROW_LEAF_LIST)
56 56
57 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_OR_N, "__sync_fetch_and_or", 57 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_OR_N, "__sync_fetch_and_or",
58 BT_FN_VOID_VAR, ATTR_NOTHROW_LIST) 58 BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST)
59 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_OR_1, "__sync_fetch_and_or_1", 59 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_OR_1, "__sync_fetch_and_or_1",
60 BT_FN_I1_VPTR_I1, ATTR_NOTHROW_LIST) 60 BT_FN_I1_VPTR_I1, ATTR_NOTHROW_LEAF_LIST)
61 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_OR_2, "__sync_fetch_and_or_2", 61 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_OR_2, "__sync_fetch_and_or_2",
62 BT_FN_I2_VPTR_I2, ATTR_NOTHROW_LIST) 62 BT_FN_I2_VPTR_I2, ATTR_NOTHROW_LEAF_LIST)
63 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_OR_4, "__sync_fetch_and_or_4", 63 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_OR_4, "__sync_fetch_and_or_4",
64 BT_FN_I4_VPTR_I4, ATTR_NOTHROW_LIST) 64 BT_FN_I4_VPTR_I4, ATTR_NOTHROW_LEAF_LIST)
65 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_OR_8, "__sync_fetch_and_or_8", 65 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_OR_8, "__sync_fetch_and_or_8",
66 BT_FN_I8_VPTR_I8, ATTR_NOTHROW_LIST) 66 BT_FN_I8_VPTR_I8, ATTR_NOTHROW_LEAF_LIST)
67 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_OR_16, "__sync_fetch_and_or_16", 67 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_OR_16, "__sync_fetch_and_or_16",
68 BT_FN_I16_VPTR_I16, ATTR_NOTHROW_LIST) 68 BT_FN_I16_VPTR_I16, ATTR_NOTHROW_LEAF_LIST)
69 69
70 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_AND_N, "__sync_fetch_and_and", 70 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_AND_N, "__sync_fetch_and_and",
71 BT_FN_VOID_VAR, ATTR_NOTHROW_LIST) 71 BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST)
72 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_AND_1, "__sync_fetch_and_and_1", 72 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_AND_1, "__sync_fetch_and_and_1",
73 BT_FN_I1_VPTR_I1, ATTR_NOTHROW_LIST) 73 BT_FN_I1_VPTR_I1, ATTR_NOTHROW_LEAF_LIST)
74 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_AND_2, "__sync_fetch_and_and_2", 74 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_AND_2, "__sync_fetch_and_and_2",
75 BT_FN_I2_VPTR_I2, ATTR_NOTHROW_LIST) 75 BT_FN_I2_VPTR_I2, ATTR_NOTHROW_LEAF_LIST)
76 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_AND_4, "__sync_fetch_and_and_4", 76 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_AND_4, "__sync_fetch_and_and_4",
77 BT_FN_I4_VPTR_I4, ATTR_NOTHROW_LIST) 77 BT_FN_I4_VPTR_I4, ATTR_NOTHROW_LEAF_LIST)
78 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_AND_8, "__sync_fetch_and_and_8", 78 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_AND_8, "__sync_fetch_and_and_8",
79 BT_FN_I8_VPTR_I8, ATTR_NOTHROW_LIST) 79 BT_FN_I8_VPTR_I8, ATTR_NOTHROW_LEAF_LIST)
80 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_AND_16, "__sync_fetch_and_and_16", 80 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_AND_16, "__sync_fetch_and_and_16",
81 BT_FN_I16_VPTR_I16, ATTR_NOTHROW_LIST) 81 BT_FN_I16_VPTR_I16, ATTR_NOTHROW_LEAF_LIST)
82 82
83 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_XOR_N, "__sync_fetch_and_xor", 83 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_XOR_N, "__sync_fetch_and_xor",
84 BT_FN_VOID_VAR, ATTR_NOTHROW_LIST) 84 BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST)
85 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_XOR_1, "__sync_fetch_and_xor_1", 85 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_XOR_1, "__sync_fetch_and_xor_1",
86 BT_FN_I1_VPTR_I1, ATTR_NOTHROW_LIST) 86 BT_FN_I1_VPTR_I1, ATTR_NOTHROW_LEAF_LIST)
87 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_XOR_2, "__sync_fetch_and_xor_2", 87 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_XOR_2, "__sync_fetch_and_xor_2",
88 BT_FN_I2_VPTR_I2, ATTR_NOTHROW_LIST) 88 BT_FN_I2_VPTR_I2, ATTR_NOTHROW_LEAF_LIST)
89 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_XOR_4, "__sync_fetch_and_xor_4", 89 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_XOR_4, "__sync_fetch_and_xor_4",
90 BT_FN_I4_VPTR_I4, ATTR_NOTHROW_LIST) 90 BT_FN_I4_VPTR_I4, ATTR_NOTHROW_LEAF_LIST)
91 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_XOR_8, "__sync_fetch_and_xor_8", 91 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_XOR_8, "__sync_fetch_and_xor_8",
92 BT_FN_I8_VPTR_I8, ATTR_NOTHROW_LIST) 92 BT_FN_I8_VPTR_I8, ATTR_NOTHROW_LEAF_LIST)
93 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_XOR_16, "__sync_fetch_and_xor_16", 93 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_XOR_16, "__sync_fetch_and_xor_16",
94 BT_FN_I16_VPTR_I16, ATTR_NOTHROW_LIST) 94 BT_FN_I16_VPTR_I16, ATTR_NOTHROW_LEAF_LIST)
95 95
96 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_NAND_N, "__sync_fetch_and_nand", 96 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_NAND_N, "__sync_fetch_and_nand",
97 BT_FN_VOID_VAR, ATTR_NOTHROW_LIST) 97 BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST)
98 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_NAND_1, "__sync_fetch_and_nand_1", 98 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_NAND_1, "__sync_fetch_and_nand_1",
99 BT_FN_I1_VPTR_I1, ATTR_NOTHROW_LIST) 99 BT_FN_I1_VPTR_I1, ATTR_NOTHROW_LEAF_LIST)
100 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_NAND_2, "__sync_fetch_and_nand_2", 100 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_NAND_2, "__sync_fetch_and_nand_2",
101 BT_FN_I2_VPTR_I2, ATTR_NOTHROW_LIST) 101 BT_FN_I2_VPTR_I2, ATTR_NOTHROW_LEAF_LIST)
102 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_NAND_4, "__sync_fetch_and_nand_4", 102 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_NAND_4, "__sync_fetch_and_nand_4",
103 BT_FN_I4_VPTR_I4, ATTR_NOTHROW_LIST) 103 BT_FN_I4_VPTR_I4, ATTR_NOTHROW_LEAF_LIST)
104 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_NAND_8, "__sync_fetch_and_nand_8", 104 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_NAND_8, "__sync_fetch_and_nand_8",
105 BT_FN_I8_VPTR_I8, ATTR_NOTHROW_LIST) 105 BT_FN_I8_VPTR_I8, ATTR_NOTHROW_LEAF_LIST)
106 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_NAND_16, "__sync_fetch_and_nand_16", 106 DEF_SYNC_BUILTIN (BUILT_IN_FETCH_AND_NAND_16, "__sync_fetch_and_nand_16",
107 BT_FN_I16_VPTR_I16, ATTR_NOTHROW_LIST) 107 BT_FN_I16_VPTR_I16, ATTR_NOTHROW_LEAF_LIST)
108 108
109 DEF_SYNC_BUILTIN (BUILT_IN_ADD_AND_FETCH_N, "__sync_add_and_fetch", 109 DEF_SYNC_BUILTIN (BUILT_IN_ADD_AND_FETCH_N, "__sync_add_and_fetch",
110 BT_FN_VOID_VAR, ATTR_NOTHROW_LIST) 110 BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST)
111 DEF_SYNC_BUILTIN (BUILT_IN_ADD_AND_FETCH_1, "__sync_add_and_fetch_1", 111 DEF_SYNC_BUILTIN (BUILT_IN_ADD_AND_FETCH_1, "__sync_add_and_fetch_1",
112 BT_FN_I1_VPTR_I1, ATTR_NOTHROW_LIST) 112 BT_FN_I1_VPTR_I1, ATTR_NOTHROW_LEAF_LIST)
113 DEF_SYNC_BUILTIN (BUILT_IN_ADD_AND_FETCH_2, "__sync_add_and_fetch_2", 113 DEF_SYNC_BUILTIN (BUILT_IN_ADD_AND_FETCH_2, "__sync_add_and_fetch_2",
114 BT_FN_I2_VPTR_I2, ATTR_NOTHROW_LIST) 114 BT_FN_I2_VPTR_I2, ATTR_NOTHROW_LEAF_LIST)
115 DEF_SYNC_BUILTIN (BUILT_IN_ADD_AND_FETCH_4, "__sync_add_and_fetch_4", 115 DEF_SYNC_BUILTIN (BUILT_IN_ADD_AND_FETCH_4, "__sync_add_and_fetch_4",
116 BT_FN_I4_VPTR_I4, ATTR_NOTHROW_LIST) 116 BT_FN_I4_VPTR_I4, ATTR_NOTHROW_LEAF_LIST)
117 DEF_SYNC_BUILTIN (BUILT_IN_ADD_AND_FETCH_8, "__sync_add_and_fetch_8", 117 DEF_SYNC_BUILTIN (BUILT_IN_ADD_AND_FETCH_8, "__sync_add_and_fetch_8",
118 BT_FN_I8_VPTR_I8, ATTR_NOTHROW_LIST) 118 BT_FN_I8_VPTR_I8, ATTR_NOTHROW_LEAF_LIST)
119 DEF_SYNC_BUILTIN (BUILT_IN_ADD_AND_FETCH_16, "__sync_add_and_fetch_16", 119 DEF_SYNC_BUILTIN (BUILT_IN_ADD_AND_FETCH_16, "__sync_add_and_fetch_16",
120 BT_FN_I16_VPTR_I16, ATTR_NOTHROW_LIST) 120 BT_FN_I16_VPTR_I16, ATTR_NOTHROW_LEAF_LIST)
121 121
122 DEF_SYNC_BUILTIN (BUILT_IN_SUB_AND_FETCH_N, "__sync_sub_and_fetch", 122 DEF_SYNC_BUILTIN (BUILT_IN_SUB_AND_FETCH_N, "__sync_sub_and_fetch",
123 BT_FN_VOID_VAR, ATTR_NOTHROW_LIST) 123 BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST)
124 DEF_SYNC_BUILTIN (BUILT_IN_SUB_AND_FETCH_1, "__sync_sub_and_fetch_1", 124 DEF_SYNC_BUILTIN (BUILT_IN_SUB_AND_FETCH_1, "__sync_sub_and_fetch_1",
125 BT_FN_I1_VPTR_I1, ATTR_NOTHROW_LIST) 125 BT_FN_I1_VPTR_I1, ATTR_NOTHROW_LEAF_LIST)
126 DEF_SYNC_BUILTIN (BUILT_IN_SUB_AND_FETCH_2, "__sync_sub_and_fetch_2", 126 DEF_SYNC_BUILTIN (BUILT_IN_SUB_AND_FETCH_2, "__sync_sub_and_fetch_2",
127 BT_FN_I2_VPTR_I2, ATTR_NOTHROW_LIST) 127 BT_FN_I2_VPTR_I2, ATTR_NOTHROW_LEAF_LIST)
128 DEF_SYNC_BUILTIN (BUILT_IN_SUB_AND_FETCH_4, "__sync_sub_and_fetch_4", 128 DEF_SYNC_BUILTIN (BUILT_IN_SUB_AND_FETCH_4, "__sync_sub_and_fetch_4",
129 BT_FN_I4_VPTR_I4, ATTR_NOTHROW_LIST) 129 BT_FN_I4_VPTR_I4, ATTR_NOTHROW_LEAF_LIST)
130 DEF_SYNC_BUILTIN (BUILT_IN_SUB_AND_FETCH_8, "__sync_sub_and_fetch_8", 130 DEF_SYNC_BUILTIN (BUILT_IN_SUB_AND_FETCH_8, "__sync_sub_and_fetch_8",
131 BT_FN_I8_VPTR_I8, ATTR_NOTHROW_LIST) 131 BT_FN_I8_VPTR_I8, ATTR_NOTHROW_LEAF_LIST)
132 DEF_SYNC_BUILTIN (BUILT_IN_SUB_AND_FETCH_16, "__sync_sub_and_fetch_16", 132 DEF_SYNC_BUILTIN (BUILT_IN_SUB_AND_FETCH_16, "__sync_sub_and_fetch_16",
133 BT_FN_I16_VPTR_I16, ATTR_NOTHROW_LIST) 133 BT_FN_I16_VPTR_I16, ATTR_NOTHROW_LEAF_LIST)
134 134
135 DEF_SYNC_BUILTIN (BUILT_IN_OR_AND_FETCH_N, "__sync_or_and_fetch", 135 DEF_SYNC_BUILTIN (BUILT_IN_OR_AND_FETCH_N, "__sync_or_and_fetch",
136 BT_FN_VOID_VAR, ATTR_NOTHROW_LIST) 136 BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST)
137 DEF_SYNC_BUILTIN (BUILT_IN_OR_AND_FETCH_1, "__sync_or_and_fetch_1", 137 DEF_SYNC_BUILTIN (BUILT_IN_OR_AND_FETCH_1, "__sync_or_and_fetch_1",
138 BT_FN_I1_VPTR_I1, ATTR_NOTHROW_LIST) 138 BT_FN_I1_VPTR_I1, ATTR_NOTHROW_LEAF_LIST)
139 DEF_SYNC_BUILTIN (BUILT_IN_OR_AND_FETCH_2, "__sync_or_and_fetch_2", 139 DEF_SYNC_BUILTIN (BUILT_IN_OR_AND_FETCH_2, "__sync_or_and_fetch_2",
140 BT_FN_I2_VPTR_I2, ATTR_NOTHROW_LIST) 140 BT_FN_I2_VPTR_I2, ATTR_NOTHROW_LEAF_LIST)
141 DEF_SYNC_BUILTIN (BUILT_IN_OR_AND_FETCH_4, "__sync_or_and_fetch_4", 141 DEF_SYNC_BUILTIN (BUILT_IN_OR_AND_FETCH_4, "__sync_or_and_fetch_4",
142 BT_FN_I4_VPTR_I4, ATTR_NOTHROW_LIST) 142 BT_FN_I4_VPTR_I4, ATTR_NOTHROW_LEAF_LIST)
143 DEF_SYNC_BUILTIN (BUILT_IN_OR_AND_FETCH_8, "__sync_or_and_fetch_8", 143 DEF_SYNC_BUILTIN (BUILT_IN_OR_AND_FETCH_8, "__sync_or_and_fetch_8",
144 BT_FN_I8_VPTR_I8, ATTR_NOTHROW_LIST) 144 BT_FN_I8_VPTR_I8, ATTR_NOTHROW_LEAF_LIST)
145 DEF_SYNC_BUILTIN (BUILT_IN_OR_AND_FETCH_16, "__sync_or_and_fetch_16", 145 DEF_SYNC_BUILTIN (BUILT_IN_OR_AND_FETCH_16, "__sync_or_and_fetch_16",
146 BT_FN_I16_VPTR_I16, ATTR_NOTHROW_LIST) 146 BT_FN_I16_VPTR_I16, ATTR_NOTHROW_LEAF_LIST)
147 147
148 DEF_SYNC_BUILTIN (BUILT_IN_AND_AND_FETCH_N, "__sync_and_and_fetch", 148 DEF_SYNC_BUILTIN (BUILT_IN_AND_AND_FETCH_N, "__sync_and_and_fetch",
149 BT_FN_VOID_VAR, ATTR_NOTHROW_LIST) 149 BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST)
150 DEF_SYNC_BUILTIN (BUILT_IN_AND_AND_FETCH_1, "__sync_and_and_fetch_1", 150 DEF_SYNC_BUILTIN (BUILT_IN_AND_AND_FETCH_1, "__sync_and_and_fetch_1",
151 BT_FN_I1_VPTR_I1, ATTR_NOTHROW_LIST) 151 BT_FN_I1_VPTR_I1, ATTR_NOTHROW_LEAF_LIST)
152 DEF_SYNC_BUILTIN (BUILT_IN_AND_AND_FETCH_2, "__sync_and_and_fetch_2", 152 DEF_SYNC_BUILTIN (BUILT_IN_AND_AND_FETCH_2, "__sync_and_and_fetch_2",
153 BT_FN_I2_VPTR_I2, ATTR_NOTHROW_LIST) 153 BT_FN_I2_VPTR_I2, ATTR_NOTHROW_LEAF_LIST)
154 DEF_SYNC_BUILTIN (BUILT_IN_AND_AND_FETCH_4, "__sync_and_and_fetch_4", 154 DEF_SYNC_BUILTIN (BUILT_IN_AND_AND_FETCH_4, "__sync_and_and_fetch_4",
155 BT_FN_I4_VPTR_I4, ATTR_NOTHROW_LIST) 155 BT_FN_I4_VPTR_I4, ATTR_NOTHROW_LEAF_LIST)
156 DEF_SYNC_BUILTIN (BUILT_IN_AND_AND_FETCH_8, "__sync_and_and_fetch_8", 156 DEF_SYNC_BUILTIN (BUILT_IN_AND_AND_FETCH_8, "__sync_and_and_fetch_8",
157 BT_FN_I8_VPTR_I8, ATTR_NOTHROW_LIST) 157 BT_FN_I8_VPTR_I8, ATTR_NOTHROW_LEAF_LIST)
158 DEF_SYNC_BUILTIN (BUILT_IN_AND_AND_FETCH_16, "__sync_and_and_fetch_16", 158 DEF_SYNC_BUILTIN (BUILT_IN_AND_AND_FETCH_16, "__sync_and_and_fetch_16",
159 BT_FN_I16_VPTR_I16, ATTR_NOTHROW_LIST) 159 BT_FN_I16_VPTR_I16, ATTR_NOTHROW_LEAF_LIST)
160 160
161 DEF_SYNC_BUILTIN (BUILT_IN_XOR_AND_FETCH_N, "__sync_xor_and_fetch", 161 DEF_SYNC_BUILTIN (BUILT_IN_XOR_AND_FETCH_N, "__sync_xor_and_fetch",
162 BT_FN_VOID_VAR, ATTR_NOTHROW_LIST) 162 BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST)
163 DEF_SYNC_BUILTIN (BUILT_IN_XOR_AND_FETCH_1, "__sync_xor_and_fetch_1", 163 DEF_SYNC_BUILTIN (BUILT_IN_XOR_AND_FETCH_1, "__sync_xor_and_fetch_1",
164 BT_FN_I1_VPTR_I1, ATTR_NOTHROW_LIST) 164 BT_FN_I1_VPTR_I1, ATTR_NOTHROW_LEAF_LIST)
165 DEF_SYNC_BUILTIN (BUILT_IN_XOR_AND_FETCH_2, "__sync_xor_and_fetch_2", 165 DEF_SYNC_BUILTIN (BUILT_IN_XOR_AND_FETCH_2, "__sync_xor_and_fetch_2",
166 BT_FN_I2_VPTR_I2, ATTR_NOTHROW_LIST) 166 BT_FN_I2_VPTR_I2, ATTR_NOTHROW_LEAF_LIST)
167 DEF_SYNC_BUILTIN (BUILT_IN_XOR_AND_FETCH_4, "__sync_xor_and_fetch_4", 167 DEF_SYNC_BUILTIN (BUILT_IN_XOR_AND_FETCH_4, "__sync_xor_and_fetch_4",
168 BT_FN_I4_VPTR_I4, ATTR_NOTHROW_LIST) 168 BT_FN_I4_VPTR_I4, ATTR_NOTHROW_LEAF_LIST)
169 DEF_SYNC_BUILTIN (BUILT_IN_XOR_AND_FETCH_8, "__sync_xor_and_fetch_8", 169 DEF_SYNC_BUILTIN (BUILT_IN_XOR_AND_FETCH_8, "__sync_xor_and_fetch_8",
170 BT_FN_I8_VPTR_I8, ATTR_NOTHROW_LIST) 170 BT_FN_I8_VPTR_I8, ATTR_NOTHROW_LEAF_LIST)
171 DEF_SYNC_BUILTIN (BUILT_IN_XOR_AND_FETCH_16, "__sync_xor_and_fetch_16", 171 DEF_SYNC_BUILTIN (BUILT_IN_XOR_AND_FETCH_16, "__sync_xor_and_fetch_16",
172 BT_FN_I16_VPTR_I16, ATTR_NOTHROW_LIST) 172 BT_FN_I16_VPTR_I16, ATTR_NOTHROW_LEAF_LIST)
173 173
174 DEF_SYNC_BUILTIN (BUILT_IN_NAND_AND_FETCH_N, "__sync_nand_and_fetch", 174 DEF_SYNC_BUILTIN (BUILT_IN_NAND_AND_FETCH_N, "__sync_nand_and_fetch",
175 BT_FN_VOID_VAR, ATTR_NOTHROW_LIST) 175 BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST)
176 DEF_SYNC_BUILTIN (BUILT_IN_NAND_AND_FETCH_1, "__sync_nand_and_fetch_1", 176 DEF_SYNC_BUILTIN (BUILT_IN_NAND_AND_FETCH_1, "__sync_nand_and_fetch_1",
177 BT_FN_I1_VPTR_I1, ATTR_NOTHROW_LIST) 177 BT_FN_I1_VPTR_I1, ATTR_NOTHROW_LEAF_LIST)
178 DEF_SYNC_BUILTIN (BUILT_IN_NAND_AND_FETCH_2, "__sync_nand_and_fetch_2", 178 DEF_SYNC_BUILTIN (BUILT_IN_NAND_AND_FETCH_2, "__sync_nand_and_fetch_2",
179 BT_FN_I2_VPTR_I2, ATTR_NOTHROW_LIST) 179 BT_FN_I2_VPTR_I2, ATTR_NOTHROW_LEAF_LIST)
180 DEF_SYNC_BUILTIN (BUILT_IN_NAND_AND_FETCH_4, "__sync_nand_and_fetch_4", 180 DEF_SYNC_BUILTIN (BUILT_IN_NAND_AND_FETCH_4, "__sync_nand_and_fetch_4",
181 BT_FN_I4_VPTR_I4, ATTR_NOTHROW_LIST) 181 BT_FN_I4_VPTR_I4, ATTR_NOTHROW_LEAF_LIST)
182 DEF_SYNC_BUILTIN (BUILT_IN_NAND_AND_FETCH_8, "__sync_nand_and_fetch_8", 182 DEF_SYNC_BUILTIN (BUILT_IN_NAND_AND_FETCH_8, "__sync_nand_and_fetch_8",
183 BT_FN_I8_VPTR_I8, ATTR_NOTHROW_LIST) 183 BT_FN_I8_VPTR_I8, ATTR_NOTHROW_LEAF_LIST)
184 DEF_SYNC_BUILTIN (BUILT_IN_NAND_AND_FETCH_16, "__sync_nand_and_fetch_16", 184 DEF_SYNC_BUILTIN (BUILT_IN_NAND_AND_FETCH_16, "__sync_nand_and_fetch_16",
185 BT_FN_I16_VPTR_I16, ATTR_NOTHROW_LIST) 185 BT_FN_I16_VPTR_I16, ATTR_NOTHROW_LEAF_LIST)
186 186
187 DEF_SYNC_BUILTIN (BUILT_IN_BOOL_COMPARE_AND_SWAP_N, 187 DEF_SYNC_BUILTIN (BUILT_IN_BOOL_COMPARE_AND_SWAP_N,
188 "__sync_bool_compare_and_swap", 188 "__sync_bool_compare_and_swap",
189 BT_FN_VOID_VAR, ATTR_NOTHROW_LIST) 189 BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST)
190 DEF_SYNC_BUILTIN (BUILT_IN_BOOL_COMPARE_AND_SWAP_1, 190 DEF_SYNC_BUILTIN (BUILT_IN_BOOL_COMPARE_AND_SWAP_1,
191 "__sync_bool_compare_and_swap_1", 191 "__sync_bool_compare_and_swap_1",
192 BT_FN_BOOL_VPTR_I1_I1, ATTR_NOTHROW_LIST) 192 BT_FN_BOOL_VPTR_I1_I1, ATTR_NOTHROW_LEAF_LIST)
193 DEF_SYNC_BUILTIN (BUILT_IN_BOOL_COMPARE_AND_SWAP_2, 193 DEF_SYNC_BUILTIN (BUILT_IN_BOOL_COMPARE_AND_SWAP_2,
194 "__sync_bool_compare_and_swap_2", 194 "__sync_bool_compare_and_swap_2",
195 BT_FN_BOOL_VPTR_I2_I2, ATTR_NOTHROW_LIST) 195 BT_FN_BOOL_VPTR_I2_I2, ATTR_NOTHROW_LEAF_LIST)
196 DEF_SYNC_BUILTIN (BUILT_IN_BOOL_COMPARE_AND_SWAP_4, 196 DEF_SYNC_BUILTIN (BUILT_IN_BOOL_COMPARE_AND_SWAP_4,
197 "__sync_bool_compare_and_swap_4", 197 "__sync_bool_compare_and_swap_4",
198 BT_FN_BOOL_VPTR_I4_I4, ATTR_NOTHROW_LIST) 198 BT_FN_BOOL_VPTR_I4_I4, ATTR_NOTHROW_LEAF_LIST)
199 DEF_SYNC_BUILTIN (BUILT_IN_BOOL_COMPARE_AND_SWAP_8, 199 DEF_SYNC_BUILTIN (BUILT_IN_BOOL_COMPARE_AND_SWAP_8,
200 "__sync_bool_compare_and_swap_8", 200 "__sync_bool_compare_and_swap_8",
201 BT_FN_BOOL_VPTR_I8_I8, ATTR_NOTHROW_LIST) 201 BT_FN_BOOL_VPTR_I8_I8, ATTR_NOTHROW_LEAF_LIST)
202 DEF_SYNC_BUILTIN (BUILT_IN_BOOL_COMPARE_AND_SWAP_16, 202 DEF_SYNC_BUILTIN (BUILT_IN_BOOL_COMPARE_AND_SWAP_16,
203 "__sync_bool_compare_and_swap_16", 203 "__sync_bool_compare_and_swap_16",
204 BT_FN_BOOL_VPTR_I16_I16, ATTR_NOTHROW_LIST) 204 BT_FN_BOOL_VPTR_I16_I16, ATTR_NOTHROW_LEAF_LIST)
205 205
206 DEF_SYNC_BUILTIN (BUILT_IN_VAL_COMPARE_AND_SWAP_N, 206 DEF_SYNC_BUILTIN (BUILT_IN_VAL_COMPARE_AND_SWAP_N,
207 "__sync_val_compare_and_swap", 207 "__sync_val_compare_and_swap",
208 BT_FN_VOID_VAR, ATTR_NOTHROW_LIST) 208 BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST)
209 DEF_SYNC_BUILTIN (BUILT_IN_VAL_COMPARE_AND_SWAP_1, 209 DEF_SYNC_BUILTIN (BUILT_IN_VAL_COMPARE_AND_SWAP_1,
210 "__sync_val_compare_and_swap_1", 210 "__sync_val_compare_and_swap_1",
211 BT_FN_I1_VPTR_I1_I1, ATTR_NOTHROW_LIST) 211 BT_FN_I1_VPTR_I1_I1, ATTR_NOTHROW_LEAF_LIST)
212 DEF_SYNC_BUILTIN (BUILT_IN_VAL_COMPARE_AND_SWAP_2, 212 DEF_SYNC_BUILTIN (BUILT_IN_VAL_COMPARE_AND_SWAP_2,
213 "__sync_val_compare_and_swap_2", 213 "__sync_val_compare_and_swap_2",
214 BT_FN_I2_VPTR_I2_I2, ATTR_NOTHROW_LIST) 214 BT_FN_I2_VPTR_I2_I2, ATTR_NOTHROW_LEAF_LIST)
215 DEF_SYNC_BUILTIN (BUILT_IN_VAL_COMPARE_AND_SWAP_4, 215 DEF_SYNC_BUILTIN (BUILT_IN_VAL_COMPARE_AND_SWAP_4,
216 "__sync_val_compare_and_swap_4", 216 "__sync_val_compare_and_swap_4",
217 BT_FN_I4_VPTR_I4_I4, ATTR_NOTHROW_LIST) 217 BT_FN_I4_VPTR_I4_I4, ATTR_NOTHROW_LEAF_LIST)
218 DEF_SYNC_BUILTIN (BUILT_IN_VAL_COMPARE_AND_SWAP_8, 218 DEF_SYNC_BUILTIN (BUILT_IN_VAL_COMPARE_AND_SWAP_8,
219 "__sync_val_compare_and_swap_8", 219 "__sync_val_compare_and_swap_8",
220 BT_FN_I8_VPTR_I8_I8, ATTR_NOTHROW_LIST) 220 BT_FN_I8_VPTR_I8_I8, ATTR_NOTHROW_LEAF_LIST)
221 DEF_SYNC_BUILTIN (BUILT_IN_VAL_COMPARE_AND_SWAP_16, 221 DEF_SYNC_BUILTIN (BUILT_IN_VAL_COMPARE_AND_SWAP_16,
222 "__sync_val_compare_and_swap_16", 222 "__sync_val_compare_and_swap_16",
223 BT_FN_I16_VPTR_I16_I16, ATTR_NOTHROW_LIST) 223 BT_FN_I16_VPTR_I16_I16, ATTR_NOTHROW_LEAF_LIST)
224 224
225 DEF_SYNC_BUILTIN (BUILT_IN_LOCK_TEST_AND_SET_N, "__sync_lock_test_and_set", 225 DEF_SYNC_BUILTIN (BUILT_IN_LOCK_TEST_AND_SET_N, "__sync_lock_test_and_set",
226 BT_FN_VOID_VAR, ATTR_NOTHROW_LIST) 226 BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST)
227 DEF_SYNC_BUILTIN (BUILT_IN_LOCK_TEST_AND_SET_1, "__sync_lock_test_and_set_1", 227 DEF_SYNC_BUILTIN (BUILT_IN_LOCK_TEST_AND_SET_1, "__sync_lock_test_and_set_1",
228 BT_FN_I1_VPTR_I1, ATTR_NOTHROW_LIST) 228 BT_FN_I1_VPTR_I1, ATTR_NOTHROW_LEAF_LIST)
229 DEF_SYNC_BUILTIN (BUILT_IN_LOCK_TEST_AND_SET_2, "__sync_lock_test_and_set_2", 229 DEF_SYNC_BUILTIN (BUILT_IN_LOCK_TEST_AND_SET_2, "__sync_lock_test_and_set_2",
230 BT_FN_I2_VPTR_I2, ATTR_NOTHROW_LIST) 230 BT_FN_I2_VPTR_I2, ATTR_NOTHROW_LEAF_LIST)
231 DEF_SYNC_BUILTIN (BUILT_IN_LOCK_TEST_AND_SET_4, "__sync_lock_test_and_set_4", 231 DEF_SYNC_BUILTIN (BUILT_IN_LOCK_TEST_AND_SET_4, "__sync_lock_test_and_set_4",
232 BT_FN_I4_VPTR_I4, ATTR_NOTHROW_LIST) 232 BT_FN_I4_VPTR_I4, ATTR_NOTHROW_LEAF_LIST)
233 DEF_SYNC_BUILTIN (BUILT_IN_LOCK_TEST_AND_SET_8, "__sync_lock_test_and_set_8", 233 DEF_SYNC_BUILTIN (BUILT_IN_LOCK_TEST_AND_SET_8, "__sync_lock_test_and_set_8",
234 BT_FN_I8_VPTR_I8, ATTR_NOTHROW_LIST) 234 BT_FN_I8_VPTR_I8, ATTR_NOTHROW_LEAF_LIST)
235 DEF_SYNC_BUILTIN (BUILT_IN_LOCK_TEST_AND_SET_16, "__sync_lock_test_and_set_16", 235 DEF_SYNC_BUILTIN (BUILT_IN_LOCK_TEST_AND_SET_16, "__sync_lock_test_and_set_16",
236 BT_FN_I16_VPTR_I16, ATTR_NOTHROW_LIST) 236 BT_FN_I16_VPTR_I16, ATTR_NOTHROW_LEAF_LIST)
237 237
238 DEF_SYNC_BUILTIN (BUILT_IN_LOCK_RELEASE_N, "__sync_lock_release", 238 DEF_SYNC_BUILTIN (BUILT_IN_LOCK_RELEASE_N, "__sync_lock_release",
239 BT_FN_VOID_VAR, ATTR_NOTHROW_LIST) 239 BT_FN_VOID_VAR, ATTR_NOTHROW_LEAF_LIST)
240 DEF_SYNC_BUILTIN (BUILT_IN_LOCK_RELEASE_1, "__sync_lock_release_1", 240 DEF_SYNC_BUILTIN (BUILT_IN_LOCK_RELEASE_1, "__sync_lock_release_1",
241 BT_FN_VOID_VPTR, ATTR_NOTHROW_LIST) 241 BT_FN_VOID_VPTR, ATTR_NOTHROW_LEAF_LIST)
242 DEF_SYNC_BUILTIN (BUILT_IN_LOCK_RELEASE_2, "__sync_lock_release_2", 242 DEF_SYNC_BUILTIN (BUILT_IN_LOCK_RELEASE_2, "__sync_lock_release_2",
243 BT_FN_VOID_VPTR, ATTR_NOTHROW_LIST) 243 BT_FN_VOID_VPTR, ATTR_NOTHROW_LEAF_LIST)
244 DEF_SYNC_BUILTIN (BUILT_IN_LOCK_RELEASE_4, "__sync_lock_release_4", 244 DEF_SYNC_BUILTIN (BUILT_IN_LOCK_RELEASE_4, "__sync_lock_release_4",
245 BT_FN_VOID_VPTR, ATTR_NOTHROW_LIST) 245 BT_FN_VOID_VPTR, ATTR_NOTHROW_LEAF_LIST)
246 DEF_SYNC_BUILTIN (BUILT_IN_LOCK_RELEASE_8, "__sync_lock_release_8", 246 DEF_SYNC_BUILTIN (BUILT_IN_LOCK_RELEASE_8, "__sync_lock_release_8",
247 BT_FN_VOID_VPTR, ATTR_NOTHROW_LIST) 247 BT_FN_VOID_VPTR, ATTR_NOTHROW_LEAF_LIST)
248 DEF_SYNC_BUILTIN (BUILT_IN_LOCK_RELEASE_16, "__sync_lock_release_16", 248 DEF_SYNC_BUILTIN (BUILT_IN_LOCK_RELEASE_16, "__sync_lock_release_16",
249 BT_FN_VOID_VPTR, ATTR_NOTHROW_LIST) 249 BT_FN_VOID_VPTR, ATTR_NOTHROW_LEAF_LIST)
250 250
251 DEF_SYNC_BUILTIN (BUILT_IN_SYNCHRONIZE, "__sync_synchronize", 251 DEF_SYNC_BUILTIN (BUILT_IN_SYNCHRONIZE, "__sync_synchronize",
252 BT_FN_VOID, ATTR_NOTHROW_LIST) 252 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST)