~ubuntu-branches/ubuntu/trusty/llvm-toolchain-snapshot/trusty-201310232150

« back to all changes in this revision

Viewing changes to clang/include/clang/Basic/BuiltinsNVPTX.def

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2013-05-27 15:01:57 UTC
  • mfrom: (0.10.1) (0.9.1) (0.8.1) (0.7.1) (0.6.1) (0.5.2)
  • Revision ID: package-import@ubuntu.com-20130527150157-tdkrsjpuvht7v0qx
Tags: 1:3.4~svn182733-1~exp1
* New snapshot release (3.4 release)
* Add a symlink of libLLVM-3.4.so.1 to usr/lib/llvm-3.4/lib/libLLVM-3.4.so
    to fix make the llvm-config-3.4 --libdir work (Closes: #708677)
  * Various packages rename to allow co installations:
    * libclang1 => libclang1-3.4
    * libclang1-dbg => libclang1-3.4-dbg
    * libclang-dev => libclang-3.4-dev
    * libclang-common-dev => libclang-common-3.4-dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
61
61
 
62
62
 
63
63
// Builtins exposed as part of NVVM
64
 
BUILTIN(__syncthreads, "v", "n")
65
 
BUILTIN(__nvvm_bar0, "v", "n")
66
 
BUILTIN(__nvvm_bar0_popc, "ii", "n")
67
 
BUILTIN(__nvvm_bar0_and, "ii", "n")
68
 
BUILTIN(__nvvm_bar0_or, "ii", "n")
69
 
BUILTIN(__nvvm_membar_cta, "v", "n")
70
 
BUILTIN(__nvvm_membar_gl, "v", "n")
71
 
BUILTIN(__nvvm_membar_sys, "v", "n")
72
 
BUILTIN(__nvvm_popc_i, "ii", "nc")
73
 
BUILTIN(__nvvm_popc_ll, "LiLi", "nc")
74
 
BUILTIN(__nvvm_prmt, "UiUiUiUi", "nc")
75
 
BUILTIN(__nvvm_min_i, "iii", "nc")
76
 
BUILTIN(__nvvm_min_ui, "UiUiUi", "nc")
77
 
BUILTIN(__nvvm_min_ll, "LLiLLiLLi", "nc")
78
 
BUILTIN(__nvvm_min_ull, "ULLiULLiULLi", "nc")
79
 
BUILTIN(__nvvm_max_i, "iii", "nc")
80
 
BUILTIN(__nvvm_max_ui, "UiUiUi", "nc")
81
 
BUILTIN(__nvvm_max_ll, "LLiLLiLLi", "nc")
82
 
BUILTIN(__nvvm_max_ull, "ULLiULLiULLi", "nc")
83
 
BUILTIN(__nvvm_mulhi_i, "iii", "nc")
84
 
BUILTIN(__nvvm_mulhi_ui, "UiUiUi", "nc")
85
 
BUILTIN(__nvvm_mulhi_ll, "LLiLLiLLi", "nc")
86
 
BUILTIN(__nvvm_mulhi_ull, "ULLiULLiULLi", "nc")
87
 
BUILTIN(__nvvm_mul24_i, "iii", "nc")
88
 
BUILTIN(__nvvm_mul24_ui, "UiUiUi", "nc")
89
 
BUILTIN(__nvvm_brev32, "UiUi", "nc")
90
 
BUILTIN(__nvvm_brev64, "ULLiULLi", "nc")
91
 
BUILTIN(__nvvm_sad_i, "iiii", "nc")
92
 
BUILTIN(__nvvm_sad_ui, "UiUiUiUi", "nc")
93
 
BUILTIN(__nvvm_abs_i, "ii", "nc")
94
 
BUILTIN(__nvvm_abs_ll, "LiLi", "nc")
95
 
BUILTIN(__nvvm_floor_ftz_f, "ff", "nc")
96
 
BUILTIN(__nvvm_floor_f, "ff", "nc")
97
 
BUILTIN(__nvvm_floor_d, "dd", "nc")
98
 
BUILTIN(__nvvm_fabs_ftz_f, "ff", "nc")
99
 
BUILTIN(__nvvm_fabs_f, "ff", "nc")
100
 
BUILTIN(__nvvm_fabs_d, "dd", "nc")
101
 
BUILTIN(__nvvm_rcp_approx_ftz_d, "dd", "nc")
102
 
BUILTIN(__nvvm_fmin_ftz_f, "fff", "nc")
103
 
BUILTIN(__nvvm_fmin_f, "fff", "nc")
104
 
BUILTIN(__nvvm_fmax_ftz_f, "fff", "nc")
105
 
BUILTIN(__nvvm_fmax_f, "fff", "nc")
106
 
BUILTIN(__nvvm_rsqrt_approx_ftz_f, "ff", "nc")
107
 
BUILTIN(__nvvm_rsqrt_approx_f, "ff", "nc")
108
 
BUILTIN(__nvvm_fmin_d, "ddd", "nc")
109
 
BUILTIN(__nvvm_fmax_d, "ddd", "nc")
110
 
BUILTIN(__nvvm_rsqrt_approx_d, "dd", "nc")
111
 
BUILTIN(__nvvm_ceil_d, "dd", "nc")
112
 
BUILTIN(__nvvm_trunc_d, "dd", "nc")
113
 
BUILTIN(__nvvm_round_d, "dd", "nc")
114
 
BUILTIN(__nvvm_ex2_approx_d, "dd", "nc")
115
 
BUILTIN(__nvvm_lg2_approx_d, "dd", "nc")
116
 
BUILTIN(__nvvm_round_ftz_f, "ff", "nc")
117
 
BUILTIN(__nvvm_round_f, "ff", "nc")
118
 
BUILTIN(__nvvm_ex2_approx_ftz_f, "ff", "nc")
119
 
BUILTIN(__nvvm_ex2_approx_f, "ff", "nc")
120
 
BUILTIN(__nvvm_lg2_approx_ftz_f, "ff", "nc")
121
 
BUILTIN(__nvvm_lg2_approx_f, "ff", "nc")
122
 
BUILTIN(__nvvm_sin_approx_ftz_f, "ff", "nc")
123
 
BUILTIN(__nvvm_sin_approx_f, "ff", "nc")
124
 
BUILTIN(__nvvm_cos_approx_ftz_f, "ff", "nc")
125
 
BUILTIN(__nvvm_cos_approx_f, "ff", "nc")
126
 
BUILTIN(__nvvm_trunc_ftz_f, "ff", "nc")
127
 
BUILTIN(__nvvm_trunc_f, "ff", "nc")
128
 
BUILTIN(__nvvm_ceil_ftz_f, "ff", "nc")
129
 
BUILTIN(__nvvm_ceil_f, "ff", "nc")
130
 
BUILTIN(__nvvm_saturate_d, "dd", "nc")
131
 
BUILTIN(__nvvm_saturate_ftz_f, "ff", "nc")
132
 
BUILTIN(__nvvm_saturate_f, "ff", "nc")
133
 
BUILTIN(__nvvm_fma_rn_ftz_f, "ffff", "nc")
134
 
BUILTIN(__nvvm_fma_rn_f, "ffff", "nc")
135
 
BUILTIN(__nvvm_fma_rz_ftz_f, "ffff", "nc")
136
 
BUILTIN(__nvvm_fma_rz_f, "ffff", "nc")
137
 
BUILTIN(__nvvm_fma_rm_ftz_f, "ffff", "nc")
138
 
BUILTIN(__nvvm_fma_rm_f, "ffff", "nc")
139
 
BUILTIN(__nvvm_fma_rp_ftz_f, "ffff", "nc")
140
 
BUILTIN(__nvvm_fma_rp_f, "ffff", "nc")
141
 
BUILTIN(__nvvm_fma_rn_d, "dddd", "nc")
142
 
BUILTIN(__nvvm_fma_rz_d, "dddd", "nc")
143
 
BUILTIN(__nvvm_fma_rm_d, "dddd", "nc")
144
 
BUILTIN(__nvvm_fma_rp_d, "dddd", "nc")
145
 
BUILTIN(__nvvm_div_approx_ftz_f, "fff", "nc")
146
 
BUILTIN(__nvvm_div_approx_f, "fff", "nc")
147
 
BUILTIN(__nvvm_div_rn_ftz_f, "fff", "nc")
148
 
BUILTIN(__nvvm_div_rn_f, "fff", "nc")
149
 
BUILTIN(__nvvm_div_rz_ftz_f, "fff", "nc")
150
 
BUILTIN(__nvvm_div_rz_f, "fff", "nc")
151
 
BUILTIN(__nvvm_div_rm_ftz_f, "fff", "nc")
152
 
BUILTIN(__nvvm_div_rm_f, "fff", "nc")
153
 
BUILTIN(__nvvm_div_rp_ftz_f, "fff", "nc")
154
 
BUILTIN(__nvvm_div_rp_f, "fff", "nc")
155
 
BUILTIN(__nvvm_rcp_rn_ftz_f, "ff", "nc")
156
 
BUILTIN(__nvvm_rcp_rn_f, "ff", "nc")
157
 
BUILTIN(__nvvm_rcp_rz_ftz_f, "ff", "nc")
158
 
BUILTIN(__nvvm_rcp_rz_f, "ff", "nc")
159
 
BUILTIN(__nvvm_rcp_rm_ftz_f, "ff", "nc")
160
 
BUILTIN(__nvvm_rcp_rm_f, "ff", "nc")
161
 
BUILTIN(__nvvm_rcp_rp_ftz_f, "ff", "nc")
162
 
BUILTIN(__nvvm_rcp_rp_f, "ff", "nc")
163
 
BUILTIN(__nvvm_sqrt_rn_ftz_f, "ff", "nc")
164
 
BUILTIN(__nvvm_sqrt_rn_f, "ff", "nc")
165
 
BUILTIN(__nvvm_sqrt_rz_ftz_f, "ff", "nc")
166
 
BUILTIN(__nvvm_sqrt_rz_f, "ff", "nc")
167
 
BUILTIN(__nvvm_sqrt_rm_ftz_f, "ff", "nc")
168
 
BUILTIN(__nvvm_sqrt_rm_f, "ff", "nc")
169
 
BUILTIN(__nvvm_sqrt_rp_ftz_f, "ff", "nc")
170
 
BUILTIN(__nvvm_sqrt_rp_f, "ff", "nc")
171
 
BUILTIN(__nvvm_div_rn_d, "ddd", "nc")
172
 
BUILTIN(__nvvm_div_rz_d, "ddd", "nc")
173
 
BUILTIN(__nvvm_div_rm_d, "ddd", "nc")
174
 
BUILTIN(__nvvm_div_rp_d, "ddd", "nc")
175
 
BUILTIN(__nvvm_rcp_rn_d, "dd", "nc")
176
 
BUILTIN(__nvvm_rcp_rz_d, "dd", "nc")
177
 
BUILTIN(__nvvm_rcp_rm_d, "dd", "nc")
178
 
BUILTIN(__nvvm_rcp_rp_d, "dd", "nc")
179
 
BUILTIN(__nvvm_sqrt_rn_d, "dd", "nc")
180
 
BUILTIN(__nvvm_sqrt_rz_d, "dd", "nc")
181
 
BUILTIN(__nvvm_sqrt_rm_d, "dd", "nc")
182
 
BUILTIN(__nvvm_sqrt_rp_d, "dd", "nc")
183
 
BUILTIN(__nvvm_sqrt_approx_ftz_f, "ff", "nc")
184
 
BUILTIN(__nvvm_sqrt_approx_f, "ff", "nc")
185
 
BUILTIN(__nvvm_add_rn_d, "ddd", "nc")
186
 
BUILTIN(__nvvm_add_rz_d, "ddd", "nc")
187
 
BUILTIN(__nvvm_add_rm_d, "ddd", "nc")
188
 
BUILTIN(__nvvm_add_rp_d, "ddd", "nc")
189
 
BUILTIN(__nvvm_mul_rn_d, "ddd", "nc")
190
 
BUILTIN(__nvvm_mul_rz_d, "ddd", "nc")
191
 
BUILTIN(__nvvm_mul_rm_d, "ddd", "nc")
192
 
BUILTIN(__nvvm_mul_rp_d, "ddd", "nc")
193
 
BUILTIN(__nvvm_add_rm_ftz_f, "fff", "nc")
194
 
BUILTIN(__nvvm_add_rm_f, "fff", "nc")
195
 
BUILTIN(__nvvm_add_rp_ftz_f, "fff", "nc")
196
 
BUILTIN(__nvvm_add_rp_f, "fff", "nc")
197
 
BUILTIN(__nvvm_mul_rm_ftz_f, "fff", "nc")
198
 
BUILTIN(__nvvm_mul_rm_f, "fff", "nc")
199
 
BUILTIN(__nvvm_mul_rp_ftz_f, "fff", "nc")
200
 
BUILTIN(__nvvm_mul_rp_f, "fff", "nc")
201
 
BUILTIN(__nvvm_add_rn_ftz_f, "fff", "nc")
202
 
BUILTIN(__nvvm_add_rn_f, "fff", "nc")
203
 
BUILTIN(__nvvm_add_rz_ftz_f, "fff", "nc")
204
 
BUILTIN(__nvvm_add_rz_f, "fff", "nc")
205
 
BUILTIN(__nvvm_mul_rn_ftz_f, "fff", "nc")
206
 
BUILTIN(__nvvm_mul_rn_f, "fff", "nc")
207
 
BUILTIN(__nvvm_mul_rz_ftz_f, "fff", "nc")
208
 
BUILTIN(__nvvm_mul_rz_f, "fff", "nc")
209
 
BUILTIN(__nvvm_d2f_rn_ftz, "fd", "nc")
210
 
BUILTIN(__nvvm_d2f_rn, "fd", "nc")
211
 
BUILTIN(__nvvm_d2f_rz_ftz, "fd", "nc")
212
 
BUILTIN(__nvvm_d2f_rz, "fd", "nc")
213
 
BUILTIN(__nvvm_d2f_rm_ftz, "fd", "nc")
214
 
BUILTIN(__nvvm_d2f_rm, "fd", "nc")
215
 
BUILTIN(__nvvm_d2f_rp_ftz, "fd", "nc")
216
 
BUILTIN(__nvvm_d2f_rp, "fd", "nc")
217
 
BUILTIN(__nvvm_d2i_rn, "id", "nc")
218
 
BUILTIN(__nvvm_d2i_rz, "id", "nc")
219
 
BUILTIN(__nvvm_d2i_rm, "id", "nc")
220
 
BUILTIN(__nvvm_d2i_rp, "id", "nc")
221
 
BUILTIN(__nvvm_d2ui_rn, "Uid", "nc")
222
 
BUILTIN(__nvvm_d2ui_rz, "Uid", "nc")
223
 
BUILTIN(__nvvm_d2ui_rm, "Uid", "nc")
224
 
BUILTIN(__nvvm_d2ui_rp, "Uid", "nc")
225
 
BUILTIN(__nvvm_i2d_rn, "di", "nc")
226
 
BUILTIN(__nvvm_i2d_rz, "di", "nc")
227
 
BUILTIN(__nvvm_i2d_rm, "di", "nc")
228
 
BUILTIN(__nvvm_i2d_rp, "di", "nc")
229
 
BUILTIN(__nvvm_ui2d_rn, "dUi", "nc")
230
 
BUILTIN(__nvvm_ui2d_rz, "dUi", "nc")
231
 
BUILTIN(__nvvm_ui2d_rm, "dUi", "nc")
232
 
BUILTIN(__nvvm_ui2d_rp, "dUi", "nc")
233
 
BUILTIN(__nvvm_f2i_rn_ftz, "if", "nc")
234
 
BUILTIN(__nvvm_f2i_rn, "if", "nc")
235
 
BUILTIN(__nvvm_f2i_rz_ftz, "if", "nc")
236
 
BUILTIN(__nvvm_f2i_rz, "if", "nc")
237
 
BUILTIN(__nvvm_f2i_rm_ftz, "if", "nc")
238
 
BUILTIN(__nvvm_f2i_rm, "if", "nc")
239
 
BUILTIN(__nvvm_f2i_rp_ftz, "if", "nc")
240
 
BUILTIN(__nvvm_f2i_rp, "if", "nc")
241
 
BUILTIN(__nvvm_f2ui_rn_ftz, "Uif", "nc")
242
 
BUILTIN(__nvvm_f2ui_rn, "Uif", "nc")
243
 
BUILTIN(__nvvm_f2ui_rz_ftz, "Uif", "nc")
244
 
BUILTIN(__nvvm_f2ui_rz, "Uif", "nc")
245
 
BUILTIN(__nvvm_f2ui_rm_ftz, "Uif", "nc")
246
 
BUILTIN(__nvvm_f2ui_rm, "Uif", "nc")
247
 
BUILTIN(__nvvm_f2ui_rp_ftz, "Uif", "nc")
248
 
BUILTIN(__nvvm_f2ui_rp, "Uif", "nc")
249
 
BUILTIN(__nvvm_i2f_rn, "fi", "nc")
250
 
BUILTIN(__nvvm_i2f_rz, "fi", "nc")
251
 
BUILTIN(__nvvm_i2f_rm, "fi", "nc")
252
 
BUILTIN(__nvvm_i2f_rp, "fi", "nc")
253
 
BUILTIN(__nvvm_ui2f_rn, "fUi", "nc")
254
 
BUILTIN(__nvvm_ui2f_rz, "fUi", "nc")
255
 
BUILTIN(__nvvm_ui2f_rm, "fUi", "nc")
256
 
BUILTIN(__nvvm_ui2f_rp, "fUi", "nc")
257
 
BUILTIN(__nvvm_lohi_i2d, "dii", "nc")
258
 
BUILTIN(__nvvm_d2i_lo, "id", "nc")
259
 
BUILTIN(__nvvm_d2i_hi, "id", "nc")
260
 
BUILTIN(__nvvm_f2ll_rn_ftz, "LLif", "nc")
261
 
BUILTIN(__nvvm_f2ll_rn, "LLif", "nc")
262
 
BUILTIN(__nvvm_f2ll_rz_ftz, "LLif", "nc")
263
 
BUILTIN(__nvvm_f2ll_rz, "LLif", "nc")
264
 
BUILTIN(__nvvm_f2ll_rm_ftz, "LLif", "nc")
265
 
BUILTIN(__nvvm_f2ll_rm, "LLif", "nc")
266
 
BUILTIN(__nvvm_f2ll_rp_ftz, "LLif", "nc")
267
 
BUILTIN(__nvvm_f2ll_rp, "LLif", "nc")
268
 
BUILTIN(__nvvm_f2ull_rn_ftz, "ULLif", "nc")
269
 
BUILTIN(__nvvm_f2ull_rn, "ULLif", "nc")
270
 
BUILTIN(__nvvm_f2ull_rz_ftz, "ULLif", "nc")
271
 
BUILTIN(__nvvm_f2ull_rz, "ULLif", "nc")
272
 
BUILTIN(__nvvm_f2ull_rm_ftz, "ULLif", "nc")
273
 
BUILTIN(__nvvm_f2ull_rm, "ULLif", "nc")
274
 
BUILTIN(__nvvm_f2ull_rp_ftz, "ULLif", "nc")
275
 
BUILTIN(__nvvm_f2ull_rp, "ULLif", "nc")
276
 
BUILTIN(__nvvm_d2ll_rn, "LLid", "nc")
277
 
BUILTIN(__nvvm_d2ll_rz, "LLid", "nc")
278
 
BUILTIN(__nvvm_d2ll_rm, "LLid", "nc")
279
 
BUILTIN(__nvvm_d2ll_rp, "LLid", "nc")
280
 
BUILTIN(__nvvm_d2ull_rn, "ULLid", "nc")
281
 
BUILTIN(__nvvm_d2ull_rz, "ULLid", "nc")
282
 
BUILTIN(__nvvm_d2ull_rm, "ULLid", "nc")
283
 
BUILTIN(__nvvm_d2ull_rp, "ULLid", "nc")
284
 
BUILTIN(__nvvm_ll2f_rn, "fLLi", "nc")
285
 
BUILTIN(__nvvm_ll2f_rz, "fLLi", "nc")
286
 
BUILTIN(__nvvm_ll2f_rm, "fLLi", "nc")
287
 
BUILTIN(__nvvm_ll2f_rp, "fLLi", "nc")
288
 
BUILTIN(__nvvm_ull2f_rn, "fULLi", "nc")
289
 
BUILTIN(__nvvm_ull2f_rz, "fULLi", "nc")
290
 
BUILTIN(__nvvm_ull2f_rm, "fULLi", "nc")
291
 
BUILTIN(__nvvm_ull2f_rp, "fULLi", "nc")
292
 
BUILTIN(__nvvm_ll2d_rn, "dLLi", "nc")
293
 
BUILTIN(__nvvm_ll2d_rz, "dLLi", "nc")
294
 
BUILTIN(__nvvm_ll2d_rm, "dLLi", "nc")
295
 
BUILTIN(__nvvm_ll2d_rp, "dLLi", "nc")
296
 
BUILTIN(__nvvm_ull2d_rn, "dULLi", "nc")
297
 
BUILTIN(__nvvm_ull2d_rz, "dULLi", "nc")
298
 
BUILTIN(__nvvm_ull2d_rm, "dULLi", "nc")
299
 
BUILTIN(__nvvm_ull2d_rp, "dULLi", "nc")
300
 
BUILTIN(__nvvm_f2h_rn_ftz, "Usf", "nc")
301
 
BUILTIN(__nvvm_f2h_rn, "Usf", "nc")
302
 
BUILTIN(__nvvm_h2f, "fUs", "nc")
303
 
BUILTIN(__nvvm_bitcast_i2f, "fi", "nc")
304
 
BUILTIN(__nvvm_bitcast_f2i, "if", "nc")
305
 
BUILTIN(__nvvm_bitcast_ll2d, "dLLi", "nc")
306
 
BUILTIN(__nvvm_bitcast_d2ll, "LLid", "nc")
 
64
// MISC
 
65
 
 
66
BUILTIN(__nvvm_clz_i, "ii", "")
 
67
BUILTIN(__nvvm_clz_ll, "iLLi", "")
 
68
BUILTIN(__nvvm_popc_i, "ii", "")
 
69
BUILTIN(__nvvm_popc_ll, "iLLi", "")
 
70
BUILTIN(__nvvm_prmt, "UiUiUiUi", "")
 
71
 
 
72
// Min Max
 
73
 
 
74
BUILTIN(__nvvm_min_i, "iii", "")
 
75
BUILTIN(__nvvm_min_ui, "UiUiUi", "")
 
76
BUILTIN(__nvvm_min_ll, "LLiLLiLLi", "")
 
77
BUILTIN(__nvvm_min_ull, "ULLiULLiULLi", "")
 
78
 
 
79
BUILTIN(__nvvm_max_i, "iii", "")
 
80
BUILTIN(__nvvm_max_ui, "UiUiUi", "")
 
81
BUILTIN(__nvvm_max_ll, "LLiLLiLLi", "")
 
82
BUILTIN(__nvvm_max_ull, "ULLiULLiULLi", "")
 
83
 
 
84
BUILTIN(__nvvm_fmax_ftz_f, "fff",  "")
 
85
BUILTIN(__nvvm_fmax_f, "fff",  "")
 
86
BUILTIN(__nvvm_fmin_ftz_f, "fff",  "")
 
87
BUILTIN(__nvvm_fmin_f, "fff",  "")
 
88
 
 
89
BUILTIN(__nvvm_fmax_d, "ddd", "")
 
90
BUILTIN(__nvvm_fmin_d, "ddd", "")
 
91
 
 
92
// Multiplication
 
93
 
 
94
BUILTIN(__nvvm_mulhi_i, "iii", "")
 
95
BUILTIN(__nvvm_mulhi_ui, "UiUiUi", "")
 
96
BUILTIN(__nvvm_mulhi_ll, "LLiLLiLLi", "")
 
97
BUILTIN(__nvvm_mulhi_ull, "ULLiULLiULLi", "")
 
98
 
 
99
BUILTIN(__nvvm_mul_rn_ftz_f,  "fff", "")
 
100
BUILTIN(__nvvm_mul_rn_f,  "fff", "")
 
101
BUILTIN(__nvvm_mul_rz_ftz_f,  "fff", "")
 
102
BUILTIN(__nvvm_mul_rz_f,  "fff", "")
 
103
BUILTIN(__nvvm_mul_rm_ftz_f,  "fff", "")
 
104
BUILTIN(__nvvm_mul_rm_f,  "fff", "")
 
105
BUILTIN(__nvvm_mul_rp_ftz_f,  "fff", "")
 
106
BUILTIN(__nvvm_mul_rp_f,  "fff", "")
 
107
 
 
108
BUILTIN(__nvvm_mul_rn_d,  "ddd", "")
 
109
BUILTIN(__nvvm_mul_rz_d,  "ddd", "")
 
110
BUILTIN(__nvvm_mul_rm_d,  "ddd", "")
 
111
BUILTIN(__nvvm_mul_rp_d,  "ddd", "")
 
112
 
 
113
BUILTIN(__nvvm_mul24_i,  "iii", "")
 
114
BUILTIN(__nvvm_mul24_ui,  "UiUiUi", "")
 
115
 
 
116
// Div
 
117
 
 
118
BUILTIN(__nvvm_div_approx_ftz_f,  "fff", "")
 
119
BUILTIN(__nvvm_div_approx_f,  "fff", "")
 
120
 
 
121
BUILTIN(__nvvm_div_rn_ftz_f,  "fff", "")
 
122
BUILTIN(__nvvm_div_rn_f,  "fff", "")
 
123
BUILTIN(__nvvm_div_rz_ftz_f,  "fff", "")
 
124
BUILTIN(__nvvm_div_rz_f,  "fff", "")
 
125
BUILTIN(__nvvm_div_rm_ftz_f,  "fff", "")
 
126
BUILTIN(__nvvm_div_rm_f,  "fff", "")
 
127
BUILTIN(__nvvm_div_rp_ftz_f,  "fff", "")
 
128
BUILTIN(__nvvm_div_rp_f,  "fff", "")
 
129
 
 
130
BUILTIN(__nvvm_div_rn_d,  "ddd", "")
 
131
BUILTIN(__nvvm_div_rz_d,  "ddd", "")
 
132
BUILTIN(__nvvm_div_rm_d,  "ddd", "")
 
133
BUILTIN(__nvvm_div_rp_d,  "ddd", "")
 
134
 
 
135
// Brev
 
136
 
 
137
BUILTIN(__nvvm_brev32, "UiUi", "")
 
138
BUILTIN(__nvvm_brev64, "ULLiULLi", "")
 
139
 
 
140
// Sad
 
141
 
 
142
BUILTIN(__nvvm_sad_i, "iii", "")
 
143
BUILTIN(__nvvm_sad_ui, "UiUiUi", "")
 
144
 
 
145
// Floor, Ceil
 
146
 
 
147
BUILTIN(__nvvm_floor_ftz_f, "ff", "")
 
148
BUILTIN(__nvvm_floor_f, "ff", "")
 
149
BUILTIN(__nvvm_floor_d, "dd", "")
 
150
 
 
151
BUILTIN(__nvvm_ceil_ftz_f, "ff", "")
 
152
BUILTIN(__nvvm_ceil_f, "ff", "")
 
153
BUILTIN(__nvvm_ceil_d, "dd", "")
 
154
 
 
155
// Abs
 
156
 
 
157
BUILTIN(__nvvm_abs_i, "ii", "")
 
158
BUILTIN(__nvvm_abs_ll, "LLiLLi", "")
 
159
 
 
160
BUILTIN(__nvvm_fabs_ftz_f, "ff", "")
 
161
BUILTIN(__nvvm_fabs_f, "ff", "")
 
162
BUILTIN(__nvvm_fabs_d, "dd", "")
 
163
 
 
164
// Round
 
165
 
 
166
BUILTIN(__nvvm_round_ftz_f, "ff", "")
 
167
BUILTIN(__nvvm_round_f, "ff", "")
 
168
BUILTIN(__nvvm_round_d, "dd", "")
 
169
 
 
170
// Trunc
 
171
 
 
172
BUILTIN(__nvvm_trunc_ftz_f, "ff", "")
 
173
BUILTIN(__nvvm_trunc_f, "ff", "")
 
174
BUILTIN(__nvvm_trunc_d, "dd", "")
 
175
 
 
176
// Saturate
 
177
 
 
178
BUILTIN(__nvvm_saturate_ftz_f, "ff", "")
 
179
BUILTIN(__nvvm_saturate_f, "ff", "")
 
180
BUILTIN(__nvvm_saturate_d, "dd", "")
 
181
 
 
182
// Exp2, Log2
 
183
 
 
184
BUILTIN(__nvvm_ex2_approx_ftz_f, "ff", "")
 
185
BUILTIN(__nvvm_ex2_approx_f, "ff", "")
 
186
BUILTIN(__nvvm_ex2_approx_d, "dd", "")
 
187
 
 
188
BUILTIN(__nvvm_lg2_approx_ftz_f, "ff", "")
 
189
BUILTIN(__nvvm_lg2_approx_f, "ff", "")
 
190
BUILTIN(__nvvm_lg2_approx_d, "dd", "")
 
191
 
 
192
// Sin, Cos
 
193
 
 
194
BUILTIN(__nvvm_sin_approx_ftz_f, "ff", "")
 
195
BUILTIN(__nvvm_sin_approx_f, "ff", "")
 
196
 
 
197
BUILTIN(__nvvm_cos_approx_ftz_f, "ff", "")
 
198
BUILTIN(__nvvm_cos_approx_f, "ff", "")
 
199
 
 
200
// Fma
 
201
 
 
202
BUILTIN(__nvvm_fma_rn_ftz_f, "ffff", "")
 
203
BUILTIN(__nvvm_fma_rn_f, "ffff", "")
 
204
BUILTIN(__nvvm_fma_rz_ftz_f, "ffff", "")
 
205
BUILTIN(__nvvm_fma_rz_f, "ffff", "")
 
206
BUILTIN(__nvvm_fma_rm_ftz_f, "ffff", "")
 
207
BUILTIN(__nvvm_fma_rm_f, "ffff", "")
 
208
BUILTIN(__nvvm_fma_rp_ftz_f, "ffff", "")
 
209
BUILTIN(__nvvm_fma_rp_f, "ffff", "")
 
210
BUILTIN(__nvvm_fma_rn_d, "dddd", "")
 
211
BUILTIN(__nvvm_fma_rz_d, "dddd", "")
 
212
BUILTIN(__nvvm_fma_rm_d, "dddd", "")
 
213
BUILTIN(__nvvm_fma_rp_d, "dddd", "")
 
214
 
 
215
// Rcp
 
216
 
 
217
BUILTIN(__nvvm_rcp_rn_ftz_f, "ff", "")
 
218
BUILTIN(__nvvm_rcp_rn_f, "ff", "")
 
219
BUILTIN(__nvvm_rcp_rz_ftz_f, "ff", "")
 
220
BUILTIN(__nvvm_rcp_rz_f, "ff", "")
 
221
BUILTIN(__nvvm_rcp_rm_ftz_f, "ff", "")
 
222
BUILTIN(__nvvm_rcp_rm_f, "ff", "")
 
223
BUILTIN(__nvvm_rcp_rp_ftz_f, "ff", "")
 
224
BUILTIN(__nvvm_rcp_rp_f, "ff", "")
 
225
 
 
226
BUILTIN(__nvvm_rcp_rn_d, "dd", "")
 
227
BUILTIN(__nvvm_rcp_rz_d, "dd", "")
 
228
BUILTIN(__nvvm_rcp_rm_d, "dd", "")
 
229
BUILTIN(__nvvm_rcp_rp_d, "dd", "")
 
230
BUILTIN(__nvvm_rcp_approx_ftz_d, "dd", "")
 
231
 
 
232
// Sqrt
 
233
 
 
234
BUILTIN(__nvvm_sqrt_rn_ftz_f, "ff", "")
 
235
BUILTIN(__nvvm_sqrt_rn_f, "ff", "")
 
236
BUILTIN(__nvvm_sqrt_rz_ftz_f, "ff", "")
 
237
BUILTIN(__nvvm_sqrt_rz_f, "ff", "")
 
238
BUILTIN(__nvvm_sqrt_rm_ftz_f, "ff", "")
 
239
BUILTIN(__nvvm_sqrt_rm_f, "ff", "")
 
240
BUILTIN(__nvvm_sqrt_rp_ftz_f, "ff", "")
 
241
BUILTIN(__nvvm_sqrt_rp_f, "ff", "")
 
242
BUILTIN(__nvvm_sqrt_approx_ftz_f, "ff", "")
 
243
BUILTIN(__nvvm_sqrt_approx_f, "ff", "")
 
244
 
 
245
BUILTIN(__nvvm_sqrt_rn_d, "dd", "")
 
246
BUILTIN(__nvvm_sqrt_rz_d, "dd", "")
 
247
BUILTIN(__nvvm_sqrt_rm_d, "dd", "")
 
248
BUILTIN(__nvvm_sqrt_rp_d, "dd", "")
 
249
 
 
250
// Rsqrt
 
251
 
 
252
BUILTIN(__nvvm_rsqrt_approx_ftz_f, "ff", "")
 
253
BUILTIN(__nvvm_rsqrt_approx_f, "ff", "")
 
254
BUILTIN(__nvvm_rsqrt_approx_d, "dd", "")
 
255
 
 
256
// Add
 
257
 
 
258
BUILTIN(__nvvm_add_rn_ftz_f, "ff", "")
 
259
BUILTIN(__nvvm_add_rn_f, "ff", "")
 
260
BUILTIN(__nvvm_add_rz_ftz_f, "ff", "")
 
261
BUILTIN(__nvvm_add_rz_f, "ff", "")
 
262
BUILTIN(__nvvm_add_rm_ftz_f, "ff", "")
 
263
BUILTIN(__nvvm_add_rm_f, "ff", "")
 
264
BUILTIN(__nvvm_add_rp_ftz_f, "ff", "")
 
265
BUILTIN(__nvvm_add_rp_f, "ff", "")
 
266
 
 
267
BUILTIN(__nvvm_add_rn_d, "dd", "")
 
268
BUILTIN(__nvvm_add_rz_d, "dd", "")
 
269
BUILTIN(__nvvm_add_rm_d, "dd", "")
 
270
BUILTIN(__nvvm_add_rp_d, "dd", "")
 
271
 
 
272
// Convert
 
273
 
 
274
BUILTIN(__nvvm_d2f_rn_ftz, "fd", "")
 
275
BUILTIN(__nvvm_d2f_rn, "fd", "")
 
276
BUILTIN(__nvvm_d2f_rz_ftz, "fd", "")
 
277
BUILTIN(__nvvm_d2f_rz, "fd", "")
 
278
BUILTIN(__nvvm_d2f_rm_ftz, "fd", "")
 
279
BUILTIN(__nvvm_d2f_rm, "fd", "")
 
280
BUILTIN(__nvvm_d2f_rp_ftz, "fd", "")
 
281
BUILTIN(__nvvm_d2f_rp, "fd", "")
 
282
 
 
283
BUILTIN(__nvvm_d2i_rn, "id", "")
 
284
BUILTIN(__nvvm_d2i_rz, "id", "")
 
285
BUILTIN(__nvvm_d2i_rm, "id", "")
 
286
BUILTIN(__nvvm_d2i_rp, "id", "")
 
287
 
 
288
BUILTIN(__nvvm_d2ui_rn, "Uid", "")
 
289
BUILTIN(__nvvm_d2ui_rz, "Uid", "")
 
290
BUILTIN(__nvvm_d2ui_rm, "Uid", "")
 
291
BUILTIN(__nvvm_d2ui_rp, "Uid", "")
 
292
 
 
293
BUILTIN(__nvvm_i2d_rn, "di", "")
 
294
BUILTIN(__nvvm_i2d_rz, "di", "")
 
295
BUILTIN(__nvvm_i2d_rm, "di", "")
 
296
BUILTIN(__nvvm_i2d_rp, "di", "")
 
297
 
 
298
BUILTIN(__nvvm_ui2d_rn, "dUi", "")
 
299
BUILTIN(__nvvm_ui2d_rz, "dUi", "")
 
300
BUILTIN(__nvvm_ui2d_rm, "dUi", "")
 
301
BUILTIN(__nvvm_ui2d_rp, "dUi", "")
 
302
 
 
303
BUILTIN(__nvvm_f2i_rn_ftz, "if", "")
 
304
BUILTIN(__nvvm_f2i_rn, "if", "")
 
305
BUILTIN(__nvvm_f2i_rz_ftz, "if", "")
 
306
BUILTIN(__nvvm_f2i_rz, "if", "")
 
307
BUILTIN(__nvvm_f2i_rm_ftz, "if", "")
 
308
BUILTIN(__nvvm_f2i_rm, "if", "")
 
309
BUILTIN(__nvvm_f2i_rp_ftz, "if", "")
 
310
BUILTIN(__nvvm_f2i_rp, "if", "")
 
311
 
 
312
BUILTIN(__nvvm_f2ui_rn_ftz, "Uif", "")
 
313
BUILTIN(__nvvm_f2ui_rn, "Uif", "")
 
314
BUILTIN(__nvvm_f2ui_rz_ftz, "Uif", "")
 
315
BUILTIN(__nvvm_f2ui_rz, "Uif", "")
 
316
BUILTIN(__nvvm_f2ui_rm_ftz, "Uif", "")
 
317
BUILTIN(__nvvm_f2ui_rm, "Uif", "")
 
318
BUILTIN(__nvvm_f2ui_rp_ftz, "Uif", "")
 
319
BUILTIN(__nvvm_f2ui_rp, "Uif", "")
 
320
 
 
321
BUILTIN(__nvvm_i2f_rn, "fi", "")
 
322
BUILTIN(__nvvm_i2f_rz, "fi", "")
 
323
BUILTIN(__nvvm_i2f_rm, "fi", "")
 
324
BUILTIN(__nvvm_i2f_rp, "fi", "")
 
325
 
 
326
BUILTIN(__nvvm_ui2f_rn, "fUi", "")
 
327
BUILTIN(__nvvm_ui2f_rz, "fUi", "")
 
328
BUILTIN(__nvvm_ui2f_rm, "fUi", "")
 
329
BUILTIN(__nvvm_ui2f_rp, "fUi", "")
 
330
 
 
331
BUILTIN(__nvvm_lohi_i2d, "dii", "")
 
332
 
 
333
BUILTIN(__nvvm_d2i_lo, "id", "")
 
334
BUILTIN(__nvvm_d2i_hi, "id", "")
 
335
 
 
336
BUILTIN(__nvvm_f2ll_rn_ftz, "LLif", "")
 
337
BUILTIN(__nvvm_f2ll_rn, "LLif", "")
 
338
BUILTIN(__nvvm_f2ll_rz_ftz, "LLif", "")
 
339
BUILTIN(__nvvm_f2ll_rz, "LLif", "")
 
340
BUILTIN(__nvvm_f2ll_rm_ftz, "LLif", "")
 
341
BUILTIN(__nvvm_f2ll_rm, "LLif", "")
 
342
BUILTIN(__nvvm_f2ll_rp_ftz, "LLif", "")
 
343
BUILTIN(__nvvm_f2ll_rp, "LLif", "")
 
344
 
 
345
BUILTIN(__nvvm_f2ull_rn_ftz, "ULLif", "")
 
346
BUILTIN(__nvvm_f2ull_rn, "ULLif", "")
 
347
BUILTIN(__nvvm_f2ull_rz_ftz, "ULLif", "")
 
348
BUILTIN(__nvvm_f2ull_rz, "ULLif", "")
 
349
BUILTIN(__nvvm_f2ull_rm_ftz, "ULLif", "")
 
350
BUILTIN(__nvvm_f2ull_rm, "ULLif", "")
 
351
BUILTIN(__nvvm_f2ull_rp_ftz, "ULLif", "")
 
352
BUILTIN(__nvvm_f2ull_rp, "ULLif", "")
 
353
 
 
354
BUILTIN(__nvvm_d2ll_rn, "LLid", "")
 
355
BUILTIN(__nvvm_d2ll_rz, "LLid", "")
 
356
BUILTIN(__nvvm_d2ll_rm, "LLid", "")
 
357
BUILTIN(__nvvm_d2ll_rp, "LLid", "")
 
358
 
 
359
BUILTIN(__nvvm_d2ull_rn, "ULLid", "")
 
360
BUILTIN(__nvvm_d2ull_rz, "ULLid", "")
 
361
BUILTIN(__nvvm_d2ull_rm, "ULLid", "")
 
362
BUILTIN(__nvvm_d2ull_rp, "ULLid", "")
 
363
 
 
364
BUILTIN(__nvvm_ll2f_rn, "fLLi", "")
 
365
BUILTIN(__nvvm_ll2f_rz, "fLLi", "")
 
366
BUILTIN(__nvvm_ll2f_rm, "fLLi", "")
 
367
BUILTIN(__nvvm_ll2f_rp, "fLLi", "")
 
368
 
 
369
BUILTIN(__nvvm_ull2f_rn, "fULLi", "")
 
370
BUILTIN(__nvvm_ull2f_rz, "fULLi", "")
 
371
BUILTIN(__nvvm_ull2f_rm, "fULLi", "")
 
372
BUILTIN(__nvvm_ull2f_rp, "fULLi", "")
 
373
 
 
374
BUILTIN(__nvvm_ll2d_rn, "dLLi", "")
 
375
BUILTIN(__nvvm_ll2d_rz, "dLLi", "")
 
376
BUILTIN(__nvvm_ll2d_rm, "dLLi", "")
 
377
BUILTIN(__nvvm_ll2d_rp, "dLLi", "")
 
378
 
 
379
BUILTIN(__nvvm_ull2d_rn, "dULLi", "")
 
380
BUILTIN(__nvvm_ull2d_rz, "dULLi", "")
 
381
BUILTIN(__nvvm_ull2d_rm, "dULLi", "")
 
382
BUILTIN(__nvvm_ull2d_rp, "dULLi", "")
 
383
 
 
384
BUILTIN(__nvvm_f2h_rn_ftz, "Usf", "")
 
385
BUILTIN(__nvvm_f2h_rn, "Usf", "")
 
386
 
 
387
BUILTIN(__nvvm_h2f, "fUs", "")
 
388
 
 
389
// Bitcast
 
390
 
 
391
BUILTIN(__nvvm_bitcast_f2i, "if", "")
 
392
BUILTIN(__nvvm_bitcast_i2f, "fi", "")
 
393
 
 
394
BUILTIN(__nvvm_bitcast_ll2d, "dLLi", "")
 
395
BUILTIN(__nvvm_bitcast_d2ll, "LLid", "")
 
396
 
 
397
// Sync
 
398
 
 
399
BUILTIN(__syncthreads, "v", "")
 
400
BUILTIN(__nvvm_bar0, "v", "")
 
401
BUILTIN(__nvvm_bar0_popc, "ii", "")
 
402
BUILTIN(__nvvm_bar0_and, "ii", "")
 
403
BUILTIN(__nvvm_bar0_or, "ii", "")
 
404
 
 
405
// Membar
 
406
 
 
407
BUILTIN(__nvvm_membar_cta, "v", "")
 
408
BUILTIN(__nvvm_membar_gl, "v", "")
 
409
BUILTIN(__nvvm_membar_sys, "v", "")
 
410
 
 
411
// Memcpy, Memset
 
412
 
 
413
BUILTIN(__nvvm_memcpy, "vUc*Uc*zi","")
 
414
BUILTIN(__nvvm_memset, "vUc*Uczi","")
 
415
 
 
416
// Image
 
417
 
 
418
BUILTIN(__builtin_ptx_read_image2Dfi_, "V4fiiii", "")
 
419
BUILTIN(__builtin_ptx_read_image2Dff_, "V4fiiff", "")
 
420
BUILTIN(__builtin_ptx_read_image2Dii_, "V4iiiii", "")
 
421
BUILTIN(__builtin_ptx_read_image2Dif_, "V4iiiff", "")
 
422
 
 
423
BUILTIN(__builtin_ptx_read_image3Dfi_, "V4fiiiiii", "")
 
424
BUILTIN(__builtin_ptx_read_image3Dff_, "V4fiiffff", "")
 
425
BUILTIN(__builtin_ptx_read_image3Dii_, "V4iiiiiii", "")
 
426
BUILTIN(__builtin_ptx_read_image3Dif_, "V4iiiffff", "")
 
427
 
 
428
BUILTIN(__builtin_ptx_write_image2Df_, "viiiffff", "")
 
429
BUILTIN(__builtin_ptx_write_image2Di_, "viiiiiii", "")
 
430
BUILTIN(__builtin_ptx_write_image2Dui_, "viiiUiUiUiUi", "")
 
431
BUILTIN(__builtin_ptx_get_image_depthi_, "ii", "")
 
432
BUILTIN(__builtin_ptx_get_image_heighti_, "ii", "")
 
433
BUILTIN(__builtin_ptx_get_image_widthi_, "ii", "")
 
434
BUILTIN(__builtin_ptx_get_image_channel_data_typei_, "ii", "")
 
435
BUILTIN(__builtin_ptx_get_image_channel_orderi_, "ii", "")
 
436
 
 
437
// Atomic
 
438
//
 
439
// We need the atom intrinsics because
 
440
// - they are used in converging analysis
 
441
// - they are used in address space analysis and optimization
 
442
// So it does not hurt to expose them as builtins.
 
443
//
 
444
BUILTIN(__nvvm_atom_add_g_i, "iiD*1i", "n")
 
445
BUILTIN(__nvvm_atom_add_s_i, "iiD*3i", "n")
 
446
BUILTIN(__nvvm_atom_add_gen_i, "iiD*i", "n")
 
447
BUILTIN(__nvvm_atom_add_g_l, "LiLiD*1Li", "n")
 
448
BUILTIN(__nvvm_atom_add_s_l, "LiLiD*3Li", "n")
 
449
BUILTIN(__nvvm_atom_add_gen_l, "LiLiD*Li", "n")
 
450
BUILTIN(__nvvm_atom_add_g_ll, "LLiLLiD*1LLi", "n")
 
451
BUILTIN(__nvvm_atom_add_s_ll, "LLiLLiD*3LLi", "n")
 
452
BUILTIN(__nvvm_atom_add_gen_ll, "LLiLLiD*LLi", "n")
 
453
BUILTIN(__nvvm_atom_add_g_f, "ffD*1f", "n")
 
454
BUILTIN(__nvvm_atom_add_s_f, "ffD*3f", "n")
 
455
BUILTIN(__nvvm_atom_add_gen_f, "ffD*f", "n")
 
456
 
 
457
BUILTIN(__nvvm_atom_sub_g_i, "iiD*1i", "n")
 
458
BUILTIN(__nvvm_atom_sub_s_i, "iiD*3i", "n")
 
459
BUILTIN(__nvvm_atom_sub_gen_i, "iiD*i", "n")
 
460
BUILTIN(__nvvm_atom_sub_g_l, "LiLiD*1Li", "n")
 
461
BUILTIN(__nvvm_atom_sub_s_l, "LiLiD*3Li", "n")
 
462
BUILTIN(__nvvm_atom_sub_gen_l, "LiLiD*Li", "n")
 
463
BUILTIN(__nvvm_atom_sub_g_ll, "LLiLLiD*1LLi", "n")
 
464
BUILTIN(__nvvm_atom_sub_s_ll, "LLiLLiD*3LLi", "n")
 
465
BUILTIN(__nvvm_atom_sub_gen_ll, "LLiLLiD*LLi", "n")
 
466
 
 
467
BUILTIN(__nvvm_atom_xchg_g_i, "iiD*1i", "n")
 
468
BUILTIN(__nvvm_atom_xchg_s_i, "iiD*3i", "n")
 
469
BUILTIN(__nvvm_atom_xchg_gen_i, "iiD*i", "n")
 
470
BUILTIN(__nvvm_atom_xchg_g_l, "LiLiD*1Li", "n")
 
471
BUILTIN(__nvvm_atom_xchg_s_l, "LiLiD*3Li", "n")
 
472
BUILTIN(__nvvm_atom_xchg_gen_l, "LiLiD*Li", "n")
 
473
BUILTIN(__nvvm_atom_xchg_g_ll, "LLiLLiD*1LLi", "n")
 
474
BUILTIN(__nvvm_atom_xchg_s_ll, "LLiLLiD*3LLi", "n")
 
475
BUILTIN(__nvvm_atom_xchg_gen_ll, "LLiLLiD*LLi", "n")
 
476
 
 
477
BUILTIN(__nvvm_atom_max_g_i, "iiD*1i", "n")
 
478
BUILTIN(__nvvm_atom_max_s_i, "iiD*3i", "n")
 
479
BUILTIN(__nvvm_atom_max_gen_i, "iiD*i", "n")
 
480
BUILTIN(__nvvm_atom_max_g_ui, "UiUiD*1Ui", "n")
 
481
BUILTIN(__nvvm_atom_max_s_ui, "UiUiD*3Ui", "n")
 
482
BUILTIN(__nvvm_atom_max_gen_ui, "UiUiD*Ui", "n")
 
483
BUILTIN(__nvvm_atom_max_g_l, "LiLiD*1Li", "n")
 
484
BUILTIN(__nvvm_atom_max_s_l, "LiLiD*3Li", "n")
 
485
BUILTIN(__nvvm_atom_max_gen_l, "LiLiD*Li", "n")
 
486
BUILTIN(__nvvm_atom_max_g_ul, "ULiULiD*1ULi", "n")
 
487
BUILTIN(__nvvm_atom_max_s_ul, "ULiULiD*3ULi", "n")
 
488
BUILTIN(__nvvm_atom_max_gen_ul, "ULiULiD*ULi", "n")
 
489
BUILTIN(__nvvm_atom_max_g_ll, "LLiLLiD*1LLi", "n")
 
490
BUILTIN(__nvvm_atom_max_s_ll, "LLiLLiD*3LLi", "n")
 
491
BUILTIN(__nvvm_atom_max_gen_ll, "LLiLLiD*LLi", "n")
 
492
BUILTIN(__nvvm_atom_max_g_ull, "ULLiULLiD*1ULLi", "n")
 
493
BUILTIN(__nvvm_atom_max_s_ull, "ULLiULLiD*3ULLi", "n")
 
494
BUILTIN(__nvvm_atom_max_gen_ull, "ULLiULLiD*ULLi", "n")
 
495
 
 
496
BUILTIN(__nvvm_atom_min_g_i, "iiD*1i", "n")
 
497
BUILTIN(__nvvm_atom_min_s_i, "iiD*3i", "n")
 
498
BUILTIN(__nvvm_atom_min_gen_i, "iiD*i", "n")
 
499
BUILTIN(__nvvm_atom_min_g_ui, "UiUiD*1Ui", "n")
 
500
BUILTIN(__nvvm_atom_min_s_ui, "UiUiD*3Ui", "n")
 
501
BUILTIN(__nvvm_atom_min_gen_ui, "UiUiD*Ui", "n")
 
502
BUILTIN(__nvvm_atom_min_g_l, "LiLiD*1Li", "n")
 
503
BUILTIN(__nvvm_atom_min_s_l, "LiLiD*3Li", "n")
 
504
BUILTIN(__nvvm_atom_min_gen_l, "LiLi10D*Li", "n")
 
505
BUILTIN(__nvvm_atom_min_g_ul, "ULiULiD*1ULi", "n")
 
506
BUILTIN(__nvvm_atom_min_s_ul, "ULiULiD*3ULi", "n")
 
507
BUILTIN(__nvvm_atom_min_gen_ul, "ULiULiD*ULi", "n")
 
508
BUILTIN(__nvvm_atom_min_g_ll, "LLiLLiD*1LLi", "n")
 
509
BUILTIN(__nvvm_atom_min_s_ll, "LLiLLiD*3LLi", "n")
 
510
BUILTIN(__nvvm_atom_min_gen_ll, "LLiLLiD*LLi", "n")
 
511
BUILTIN(__nvvm_atom_min_g_ull, "ULLiULLiD*1ULLi", "n")
 
512
BUILTIN(__nvvm_atom_min_s_ull, "ULLiULLiD*3ULLi", "n")
 
513
BUILTIN(__nvvm_atom_min_gen_ull, "ULLiULLiD*ULLi", "n")
 
514
 
 
515
BUILTIN(__nvvm_atom_inc_g_ui, "UiUiD*1Ui", "n")
 
516
BUILTIN(__nvvm_atom_inc_s_ui, "UiUiD*3Ui", "n")
 
517
BUILTIN(__nvvm_atom_inc_gen_ui, "UiUiD*Ui", "n")
 
518
BUILTIN(__nvvm_atom_dec_g_ui, "UiUiD*1Ui", "n")
 
519
BUILTIN(__nvvm_atom_dec_s_ui, "UiUiD*3Ui", "n")
 
520
BUILTIN(__nvvm_atom_dec_gen_ui, "UiUiD*Ui", "n")
 
521
 
 
522
BUILTIN(__nvvm_atom_and_g_i, "iiD*1i", "n")
 
523
BUILTIN(__nvvm_atom_and_s_i, "iiD*3i", "n")
 
524
BUILTIN(__nvvm_atom_and_gen_i, "iiD*i", "n")
 
525
BUILTIN(__nvvm_atom_and_g_l, "LiLiD*1Li", "n")
 
526
BUILTIN(__nvvm_atom_and_s_l, "LiLiD*3Li", "n")
 
527
BUILTIN(__nvvm_atom_and_gen_l, "LiLiD*Li", "n")
 
528
BUILTIN(__nvvm_atom_and_g_ll, "LLiLLiD*1LLi", "n")
 
529
BUILTIN(__nvvm_atom_and_s_ll, "LLiLLiD*3LLi", "n")
 
530
BUILTIN(__nvvm_atom_and_gen_ll, "LLiLLiD*LLi", "n")
 
531
 
 
532
BUILTIN(__nvvm_atom_or_g_i, "iiD*1i", "n")
 
533
BUILTIN(__nvvm_atom_or_s_i, "iiD*3i", "n")
 
534
BUILTIN(__nvvm_atom_or_gen_i, "iiD*i", "n")
 
535
BUILTIN(__nvvm_atom_or_g_l, "LiLiD*1Li", "n")
 
536
BUILTIN(__nvvm_atom_or_s_l, "LiLiD*3Li", "n")
 
537
BUILTIN(__nvvm_atom_or_gen_l, "LiLiD*Li", "n")
 
538
BUILTIN(__nvvm_atom_or_g_ll, "LLiLLiD*1LLi", "n")
 
539
BUILTIN(__nvvm_atom_or_s_ll, "LLiLLiD*3LLi", "n")
 
540
BUILTIN(__nvvm_atom_or_gen_ll, "LLiLLiD*LLi", "n")
 
541
 
 
542
BUILTIN(__nvvm_atom_xor_g_i, "iiD*1i", "n")
 
543
BUILTIN(__nvvm_atom_xor_s_i, "iiD*3i", "n")
 
544
BUILTIN(__nvvm_atom_xor_gen_i, "iiD*i", "n")
 
545
BUILTIN(__nvvm_atom_xor_g_l, "LiLiD*1Li", "n")
 
546
BUILTIN(__nvvm_atom_xor_s_l, "LiLiD*3Li", "n")
 
547
BUILTIN(__nvvm_atom_xor_gen_l, "LiLiD*Li", "n")
 
548
BUILTIN(__nvvm_atom_xor_g_ll, "LLiLLiD*1LLi", "n")
 
549
BUILTIN(__nvvm_atom_xor_s_ll, "LLiLLiD*3LLi", "n")
 
550
BUILTIN(__nvvm_atom_xor_gen_ll, "LLiLLiD*LLi", "n")
 
551
 
 
552
BUILTIN(__nvvm_atom_cas_g_i, "iiD*1ii", "n")
 
553
BUILTIN(__nvvm_atom_cas_s_i, "iiD*3ii", "n")
 
554
BUILTIN(__nvvm_atom_cas_gen_i, "iiD*ii", "n")
 
555
BUILTIN(__nvvm_atom_cas_g_l, "LiLiD*1LiLi", "n")
 
556
BUILTIN(__nvvm_atom_cas_s_l, "LiLiD*3LiLi", "n")
 
557
BUILTIN(__nvvm_atom_cas_gen_l, "LiLiD*LiLi", "n")
 
558
BUILTIN(__nvvm_atom_cas_g_ll, "LLiLLiD*1LLiLLi", "n")
 
559
BUILTIN(__nvvm_atom_cas_s_ll, "LLiLLiD*3LLiLLi", "n")
 
560
BUILTIN(__nvvm_atom_cas_gen_ll, "LLiLLiD*LLiLLi", "n")
 
561
 
 
562
// Compiler Error Warn
 
563
BUILTIN(__nvvm_compiler_error, "vcC*4", "n")
 
564
BUILTIN(__nvvm_compiler_warn, "vcC*4", "n")
307
565
 
308
566
#undef BUILTIN