DPC++ Runtime
Runtime libraries for oneAPI DPC++
builtins.hpp
Go to the documentation of this file.
1 //==----------- builtins.hpp - SYCL built-in functions ---------------------==//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #pragma once
10 
12 
14 
15 #ifdef __SYCL_DEVICE_ONLY__
16 extern "C" {
17 
18 extern __DPCPP_SYCL_EXTERNAL void *memcpy(void *dest, const void *src,
19  size_t n);
20 extern __DPCPP_SYCL_EXTERNAL void *memset(void *dest, int c, size_t n);
21 extern __DPCPP_SYCL_EXTERNAL int memcmp(const void *s1, const void *s2,
22  size_t n);
23 extern __DPCPP_SYCL_EXTERNAL long long int __imf_llmax(long long int x,
24  long long int y);
25 extern __DPCPP_SYCL_EXTERNAL long long int __imf_llmin(long long int x,
26  long long int y);
27 extern __DPCPP_SYCL_EXTERNAL int __imf_max(int x, int y);
28 extern __DPCPP_SYCL_EXTERNAL int __imf_min(int x, int y);
29 extern __DPCPP_SYCL_EXTERNAL unsigned long long int
30 __imf_ullmax(unsigned long long int x, unsigned long long int y);
31 extern __DPCPP_SYCL_EXTERNAL unsigned long long int
32 __imf_ullmin(unsigned long long int x, unsigned long long int y);
33 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_umax(unsigned int x,
34  unsigned int y);
35 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_umin(unsigned int x,
36  unsigned int y);
37 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_brev(unsigned int x);
38 extern __DPCPP_SYCL_EXTERNAL unsigned long long int
39 __imf_brevll(unsigned long long int x);
40 extern __DPCPP_SYCL_EXTERNAL unsigned int
41 __imf_byte_perm(unsigned int x, unsigned int y, unsigned int s);
42 extern __DPCPP_SYCL_EXTERNAL int __imf_ffs(int x);
43 extern __DPCPP_SYCL_EXTERNAL int __imf_ffsll(long long int x);
44 extern __DPCPP_SYCL_EXTERNAL int __imf_clz(int x);
45 extern __DPCPP_SYCL_EXTERNAL int __imf_clzll(long long int x);
46 extern __DPCPP_SYCL_EXTERNAL int __imf_popc(unsigned int x);
47 extern __DPCPP_SYCL_EXTERNAL int __imf_popcll(unsigned long long int x);
48 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_sad(int x, int y,
49  unsigned int z);
50 extern __DPCPP_SYCL_EXTERNAL unsigned int
51 __imf_usad(unsigned int x, unsigned int y, unsigned int z);
52 extern __DPCPP_SYCL_EXTERNAL int __imf_rhadd(int x, int y);
53 extern __DPCPP_SYCL_EXTERNAL int __imf_hadd(int x, int y);
54 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_urhadd(unsigned int x,
55  unsigned int y);
56 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_uhadd(unsigned int x,
57  unsigned int y);
58 extern __DPCPP_SYCL_EXTERNAL int __imf_mul24(int x, int y);
59 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_umul24(unsigned int x,
60  unsigned int y);
61 extern __DPCPP_SYCL_EXTERNAL int __imf_mulhi(int x, int y);
62 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_umulhi(unsigned int x,
63  unsigned int y);
64 extern __DPCPP_SYCL_EXTERNAL long long int __imf_mul64hi(long long int x,
65  long long int y);
66 extern __DPCPP_SYCL_EXTERNAL unsigned long long int
67 __imf_umul64hi(unsigned long long int x, unsigned long long int y);
68 extern __DPCPP_SYCL_EXTERNAL int __imf_abs(int x);
69 extern __DPCPP_SYCL_EXTERNAL long long int __imf_llabs(long long int x);
70 extern __DPCPP_SYCL_EXTERNAL float __imf_saturatef(float x);
71 extern __DPCPP_SYCL_EXTERNAL float __imf_fmaf(float x, float y, float z);
72 extern __DPCPP_SYCL_EXTERNAL float __imf_fabsf(float x);
73 extern __DPCPP_SYCL_EXTERNAL float __imf_floorf(float x);
74 extern __DPCPP_SYCL_EXTERNAL float __imf_ceilf(float x);
75 extern __DPCPP_SYCL_EXTERNAL float __imf_truncf(float x);
76 extern __DPCPP_SYCL_EXTERNAL float __imf_rintf(float x);
77 extern __DPCPP_SYCL_EXTERNAL float __imf_nearbyintf(float x);
78 extern __DPCPP_SYCL_EXTERNAL float __imf_sqrtf(float x);
79 extern __DPCPP_SYCL_EXTERNAL float __imf_rsqrtf(float x);
80 extern __DPCPP_SYCL_EXTERNAL float __imf_invf(float x);
81 extern __DPCPP_SYCL_EXTERNAL float __imf_fmaxf(float x, float y);
82 extern __DPCPP_SYCL_EXTERNAL float __imf_fminf(float x, float y);
83 extern __DPCPP_SYCL_EXTERNAL float __imf_copysignf(float x, float y);
84 extern __DPCPP_SYCL_EXTERNAL float __imf_fast_exp10f(float x);
85 extern __DPCPP_SYCL_EXTERNAL float __imf_fast_expf(float x);
86 extern __DPCPP_SYCL_EXTERNAL float __imf_fast_logf(float x);
87 extern __DPCPP_SYCL_EXTERNAL float __imf_fast_log2f(float x);
88 extern __DPCPP_SYCL_EXTERNAL float __imf_fast_log10f(float x);
89 extern __DPCPP_SYCL_EXTERNAL float __imf_fast_powf(float x, float y);
90 extern __DPCPP_SYCL_EXTERNAL float __imf_fast_fdividef(float x, float y);
91 extern __DPCPP_SYCL_EXTERNAL float __imf_fadd_rd(float x, float y);
92 extern __DPCPP_SYCL_EXTERNAL float __imf_fadd_rn(float x, float y);
93 extern __DPCPP_SYCL_EXTERNAL float __imf_fadd_ru(float x, float y);
94 extern __DPCPP_SYCL_EXTERNAL float __imf_fadd_rz(float x, float y);
95 extern __DPCPP_SYCL_EXTERNAL float __imf_fsub_rd(float x, float y);
96 extern __DPCPP_SYCL_EXTERNAL float __imf_fsub_rn(float x, float y);
97 extern __DPCPP_SYCL_EXTERNAL float __imf_fsub_ru(float x, float y);
98 extern __DPCPP_SYCL_EXTERNAL float __imf_fsub_rz(float x, float y);
99 extern __DPCPP_SYCL_EXTERNAL float __imf_fmul_rd(float x, float y);
100 extern __DPCPP_SYCL_EXTERNAL float __imf_fmul_rn(float x, float y);
101 extern __DPCPP_SYCL_EXTERNAL float __imf_fmul_ru(float x, float y);
102 extern __DPCPP_SYCL_EXTERNAL float __imf_fmul_rz(float x, float y);
103 extern __DPCPP_SYCL_EXTERNAL float __imf_fdiv_rd(float x, float y);
104 extern __DPCPP_SYCL_EXTERNAL float __imf_fdiv_rn(float x, float y);
105 extern __DPCPP_SYCL_EXTERNAL float __imf_fdiv_ru(float x, float y);
106 extern __DPCPP_SYCL_EXTERNAL float __imf_fdiv_rz(float x, float y);
107 extern __DPCPP_SYCL_EXTERNAL float __imf_frcp_rd(float x);
108 extern __DPCPP_SYCL_EXTERNAL float __imf_frcp_rn(float x);
109 extern __DPCPP_SYCL_EXTERNAL float __imf_frcp_ru(float x);
110 extern __DPCPP_SYCL_EXTERNAL float __imf_frcp_rz(float x);
111 extern __DPCPP_SYCL_EXTERNAL float __imf_fmaf_rd(float x, float y, float z);
112 extern __DPCPP_SYCL_EXTERNAL float __imf_fmaf_rn(float x, float y, float z);
113 extern __DPCPP_SYCL_EXTERNAL float __imf_fmaf_ru(float x, float y, float z);
114 extern __DPCPP_SYCL_EXTERNAL float __imf_fmaf_rz(float x, float y, float z);
115 extern __DPCPP_SYCL_EXTERNAL float __imf_sqrtf_rd(float x);
116 extern __DPCPP_SYCL_EXTERNAL float __imf_sqrtf_rn(float x);
117 extern __DPCPP_SYCL_EXTERNAL float __imf_sqrtf_ru(float x);
118 extern __DPCPP_SYCL_EXTERNAL float __imf_sqrtf_rz(float x);
119 extern __DPCPP_SYCL_EXTERNAL int __imf_float2int_rd(float x);
120 extern __DPCPP_SYCL_EXTERNAL int __imf_float2int_rn(float x);
121 extern __DPCPP_SYCL_EXTERNAL int __imf_float2int_ru(float x);
122 extern __DPCPP_SYCL_EXTERNAL int __imf_float2int_rz(float x);
123 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_float2uint_rd(float x);
124 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_float2uint_rn(float x);
125 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_float2uint_ru(float x);
126 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_float2uint_rz(float x);
127 extern __DPCPP_SYCL_EXTERNAL long long int __imf_float2ll_rd(float x);
128 extern __DPCPP_SYCL_EXTERNAL long long int __imf_float2ll_rn(float x);
129 extern __DPCPP_SYCL_EXTERNAL long long int __imf_float2ll_ru(float x);
130 extern __DPCPP_SYCL_EXTERNAL long long int __imf_float2ll_rz(float x);
131 extern __DPCPP_SYCL_EXTERNAL unsigned long long int __imf_float2ull_rd(float x);
132 extern __DPCPP_SYCL_EXTERNAL unsigned long long int __imf_float2ull_rn(float x);
133 extern __DPCPP_SYCL_EXTERNAL unsigned long long int __imf_float2ull_ru(float x);
134 extern __DPCPP_SYCL_EXTERNAL unsigned long long int __imf_float2ull_rz(float x);
135 extern __DPCPP_SYCL_EXTERNAL int __imf_float_as_int(float x);
136 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_float_as_uint(float x);
137 extern __DPCPP_SYCL_EXTERNAL float __imf_int2float_rd(int x);
138 extern __DPCPP_SYCL_EXTERNAL float __imf_int2float_rn(int x);
139 extern __DPCPP_SYCL_EXTERNAL float __imf_int2float_ru(int x);
140 extern __DPCPP_SYCL_EXTERNAL float __imf_int2float_rz(int x);
141 extern __DPCPP_SYCL_EXTERNAL float __imf_int_as_float(int x);
142 extern __DPCPP_SYCL_EXTERNAL float __imf_ll2float_rd(long long int x);
143 extern __DPCPP_SYCL_EXTERNAL float __imf_ll2float_rn(long long int x);
144 extern __DPCPP_SYCL_EXTERNAL float __imf_ll2float_ru(long long int x);
145 extern __DPCPP_SYCL_EXTERNAL float __imf_ll2float_rz(long long int x);
146 extern __DPCPP_SYCL_EXTERNAL float __imf_uint2float_rd(unsigned int x);
147 extern __DPCPP_SYCL_EXTERNAL float __imf_uint2float_rn(unsigned int x);
148 extern __DPCPP_SYCL_EXTERNAL float __imf_uint2float_ru(unsigned int x);
149 extern __DPCPP_SYCL_EXTERNAL float __imf_uint2float_rz(unsigned int x);
150 extern __DPCPP_SYCL_EXTERNAL float __imf_uint_as_float(unsigned int x);
151 extern __DPCPP_SYCL_EXTERNAL float __imf_ull2float_rd(unsigned long long int x);
152 extern __DPCPP_SYCL_EXTERNAL float __imf_ull2float_rn(unsigned long long int x);
153 extern __DPCPP_SYCL_EXTERNAL float __imf_ull2float_ru(unsigned long long int x);
154 extern __DPCPP_SYCL_EXTERNAL float __imf_ull2float_rz(unsigned long long int x);
155 extern __DPCPP_SYCL_EXTERNAL float __imf_half2float(_Float16 x);
156 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_float2half_rd(float x);
157 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_float2half_rn(float x);
158 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_float2half_ru(float x);
159 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_float2half_rz(float x);
160 extern __DPCPP_SYCL_EXTERNAL int __imf_half2int_rd(_Float16 x);
161 extern __DPCPP_SYCL_EXTERNAL int __imf_half2int_rn(_Float16 x);
162 extern __DPCPP_SYCL_EXTERNAL int __imf_half2int_ru(_Float16 x);
163 extern __DPCPP_SYCL_EXTERNAL int __imf_half2int_rz(_Float16 x);
164 extern __DPCPP_SYCL_EXTERNAL long long __imf_half2ll_rd(_Float16 x);
165 extern __DPCPP_SYCL_EXTERNAL long long __imf_half2ll_rn(_Float16 x);
166 extern __DPCPP_SYCL_EXTERNAL long long __imf_half2ll_ru(_Float16 x);
167 extern __DPCPP_SYCL_EXTERNAL long long __imf_half2ll_rz(_Float16 x);
168 extern __DPCPP_SYCL_EXTERNAL short __imf_half2short_rd(_Float16 x);
169 extern __DPCPP_SYCL_EXTERNAL short __imf_half2short_rn(_Float16 x);
170 extern __DPCPP_SYCL_EXTERNAL short __imf_half2short_ru(_Float16 x);
171 extern __DPCPP_SYCL_EXTERNAL short __imf_half2short_rz(_Float16 x);
172 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_half2uint_rd(_Float16 x);
173 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_half2uint_rn(_Float16 x);
174 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_half2uint_ru(_Float16 x);
175 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_half2uint_rz(_Float16 x);
176 extern __DPCPP_SYCL_EXTERNAL unsigned long long __imf_half2ull_rd(_Float16 x);
177 extern __DPCPP_SYCL_EXTERNAL unsigned long long __imf_half2ull_rn(_Float16 x);
178 extern __DPCPP_SYCL_EXTERNAL unsigned long long __imf_half2ull_ru(_Float16 x);
179 extern __DPCPP_SYCL_EXTERNAL unsigned long long __imf_half2ull_rz(_Float16 x);
180 extern __DPCPP_SYCL_EXTERNAL unsigned short __imf_half2ushort_rd(_Float16 x);
181 extern __DPCPP_SYCL_EXTERNAL unsigned short __imf_half2ushort_rn(_Float16 x);
182 extern __DPCPP_SYCL_EXTERNAL unsigned short __imf_half2ushort_ru(_Float16 x);
183 extern __DPCPP_SYCL_EXTERNAL unsigned short __imf_half2ushort_rz(_Float16 x);
184 extern __DPCPP_SYCL_EXTERNAL short __imf_half_as_short(_Float16 x);
185 extern __DPCPP_SYCL_EXTERNAL unsigned short __imf_half_as_ushort(_Float16 x);
186 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_int2half_rd(int x);
187 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_int2half_rn(int x);
188 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_int2half_ru(int x);
189 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_int2half_rz(int x);
190 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_ll2half_rd(long long x);
191 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_ll2half_rn(long long x);
192 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_ll2half_ru(long long x);
193 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_ll2half_rz(long long x);
194 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_short2half_rd(short x);
195 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_short2half_rn(short x);
196 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_short2half_ru(short x);
197 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_short2half_rz(short x);
198 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_short_as_half(short x);
199 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_uint2half_rd(unsigned int x);
200 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_uint2half_rn(unsigned int x);
201 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_uint2half_ru(unsigned int x);
202 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_uint2half_rz(unsigned int x);
203 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_ull2half_rd(unsigned long long x);
204 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_ull2half_rn(unsigned long long x);
205 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_ull2half_ru(unsigned long long x);
206 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_ull2half_rz(unsigned long long x);
207 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_ushort2half_rd(unsigned short x);
208 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_ushort2half_rn(unsigned short x);
209 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_ushort2half_ru(unsigned short x);
210 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_ushort2half_rz(unsigned short x);
211 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_ushort_as_half(unsigned short x);
212 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_double2half(double x);
213 
214 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_fmaf16(_Float16 x, _Float16 y,
215  _Float16 z);
216 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_fabsf16(_Float16 x);
217 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_floorf16(_Float16 x);
218 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_ceilf16(_Float16 x);
219 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_truncf16(_Float16 x);
220 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_rintf16(_Float16 x);
221 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_nearbyintf16(_Float16 x);
222 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_sqrtf16(_Float16 x);
223 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_rsqrtf16(_Float16 x);
224 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_invf16(_Float16 x);
225 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_fmaxf16(_Float16 x, _Float16 y);
226 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_fminf16(_Float16 x, _Float16 y);
227 extern __DPCPP_SYCL_EXTERNAL _Float16 __imf_copysignf16(_Float16 x, _Float16 y);
228 extern __DPCPP_SYCL_EXTERNAL float __imf_half2float(_Float16 x);
229 extern __DPCPP_SYCL_EXTERNAL float __imf_bfloat162float(uint16_t x);
230 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_bfloat162uint_rd(uint16_t x);
231 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_bfloat162uint_rn(uint16_t x);
232 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_bfloat162uint_ru(uint16_t x);
233 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_bfloat162uint_rz(uint16_t x);
234 extern __DPCPP_SYCL_EXTERNAL unsigned short
235 __imf_bfloat162ushort_rd(uint16_t x);
236 extern __DPCPP_SYCL_EXTERNAL unsigned short
237 __imf_bfloat162ushort_rn(uint16_t x);
238 extern __DPCPP_SYCL_EXTERNAL unsigned short
239 __imf_bfloat162ushort_ru(uint16_t x);
240 extern __DPCPP_SYCL_EXTERNAL unsigned short
241 __imf_bfloat162ushort_rz(uint16_t x);
242 extern __DPCPP_SYCL_EXTERNAL unsigned long long
243 __imf_bfloat162ull_rd(uint16_t x);
244 extern __DPCPP_SYCL_EXTERNAL unsigned long long
245 __imf_bfloat162ull_rn(uint16_t x);
246 extern __DPCPP_SYCL_EXTERNAL unsigned long long
247 __imf_bfloat162ull_ru(uint16_t x);
248 extern __DPCPP_SYCL_EXTERNAL unsigned long long
249 __imf_bfloat162ull_rz(uint16_t x);
250 extern __DPCPP_SYCL_EXTERNAL int __imf_bfloat162int_rd(uint16_t x);
251 extern __DPCPP_SYCL_EXTERNAL int __imf_bfloat162int_rn(uint16_t x);
252 extern __DPCPP_SYCL_EXTERNAL int __imf_bfloat162int_ru(uint16_t x);
253 extern __DPCPP_SYCL_EXTERNAL int __imf_bfloat162int_rz(uint16_t x);
254 extern __DPCPP_SYCL_EXTERNAL short __imf_bfloat162short_rd(uint16_t x);
255 extern __DPCPP_SYCL_EXTERNAL short __imf_bfloat162short_rn(uint16_t x);
256 extern __DPCPP_SYCL_EXTERNAL short __imf_bfloat162short_ru(uint16_t x);
257 extern __DPCPP_SYCL_EXTERNAL short __imf_bfloat162short_rz(uint16_t x);
258 extern __DPCPP_SYCL_EXTERNAL long long __imf_bfloat162ll_rd(uint16_t x);
259 extern __DPCPP_SYCL_EXTERNAL long long __imf_bfloat162ll_rn(uint16_t x);
260 extern __DPCPP_SYCL_EXTERNAL long long __imf_bfloat162ll_ru(uint16_t x);
261 extern __DPCPP_SYCL_EXTERNAL long long __imf_bfloat162ll_rz(uint16_t x);
262 extern __DPCPP_SYCL_EXTERNAL uint16_t __imf_float2bfloat16(float x);
263 extern __DPCPP_SYCL_EXTERNAL uint16_t __imf_float2bfloat16_rd(float x);
264 extern __DPCPP_SYCL_EXTERNAL uint16_t __imf_float2bfloat16_rn(float x);
265 extern __DPCPP_SYCL_EXTERNAL uint16_t __imf_float2bfloat16_ru(float x);
266 extern __DPCPP_SYCL_EXTERNAL uint16_t __imf_float2bfloat16_rz(float x);
267 extern __DPCPP_SYCL_EXTERNAL uint16_t
268 __imf_ushort2bfloat16_rd(unsigned short x);
269 extern __DPCPP_SYCL_EXTERNAL uint16_t
270 __imf_ushort2bfloat16_rn(unsigned short x);
271 extern __DPCPP_SYCL_EXTERNAL uint16_t
272 __imf_ushort2bfloat16_ru(unsigned short x);
273 extern __DPCPP_SYCL_EXTERNAL uint16_t
274 __imf_ushort2bfloat16_rz(unsigned short x);
275 extern __DPCPP_SYCL_EXTERNAL uint16_t __imf_uint2bfloat16_rd(unsigned int x);
276 extern __DPCPP_SYCL_EXTERNAL uint16_t __imf_uint2bfloat16_rn(unsigned int x);
277 extern __DPCPP_SYCL_EXTERNAL uint16_t __imf_uint2bfloat16_ru(unsigned int x);
278 extern __DPCPP_SYCL_EXTERNAL uint16_t __imf_uint2bfloat16_rz(unsigned int x);
279 extern __DPCPP_SYCL_EXTERNAL uint16_t
280 __imf_ull2bfloat16_rd(unsigned long long x);
281 extern __DPCPP_SYCL_EXTERNAL uint16_t
282 __imf_ull2bfloat16_rn(unsigned long long x);
283 extern __DPCPP_SYCL_EXTERNAL uint16_t
284 __imf_ull2bfloat16_ru(unsigned long long x);
285 extern __DPCPP_SYCL_EXTERNAL uint16_t
286 __imf_ull2bfloat16_rz(unsigned long long x);
287 extern __DPCPP_SYCL_EXTERNAL uint16_t __imf_short2bfloat16_rd(short x);
288 extern __DPCPP_SYCL_EXTERNAL uint16_t __imf_short2bfloat16_rn(short x);
289 extern __DPCPP_SYCL_EXTERNAL uint16_t __imf_short2bfloat16_ru(short x);
290 extern __DPCPP_SYCL_EXTERNAL uint16_t __imf_short2bfloat16_rz(short x);
291 extern __DPCPP_SYCL_EXTERNAL uint16_t __imf_int2bfloat16_rd(int x);
292 extern __DPCPP_SYCL_EXTERNAL uint16_t __imf_int2bfloat16_rn(int x);
293 extern __DPCPP_SYCL_EXTERNAL uint16_t __imf_int2bfloat16_ru(int x);
294 extern __DPCPP_SYCL_EXTERNAL uint16_t __imf_int2bfloat16_rz(int x);
295 extern __DPCPP_SYCL_EXTERNAL uint16_t __imf_ll2bfloat16_rd(long long x);
296 extern __DPCPP_SYCL_EXTERNAL uint16_t __imf_ll2bfloat16_rn(long long x);
297 extern __DPCPP_SYCL_EXTERNAL uint16_t __imf_ll2bfloat16_ru(long long x);
298 extern __DPCPP_SYCL_EXTERNAL uint16_t __imf_ll2bfloat16_rz(long long x);
299 extern __DPCPP_SYCL_EXTERNAL uint16_t __imf_double2bfloat16(double x);
300 extern __DPCPP_SYCL_EXTERNAL short __imf_bfloat16_as_short(uint16_t x);
301 extern __DPCPP_SYCL_EXTERNAL unsigned short
302 __imf_bfloat16_as_ushort(uint16_t x);
303 extern __DPCPP_SYCL_EXTERNAL uint16_t __imf_short_as_bfloat16(short x);
304 extern __DPCPP_SYCL_EXTERNAL uint16_t
305 __imf_ushort_as_bfloat16(unsigned short x);
306 extern __DPCPP_SYCL_EXTERNAL uint16_t __imf_fmabf16(uint16_t x, uint16_t y,
307  uint16_t z);
308 extern __DPCPP_SYCL_EXTERNAL uint16_t __imf_fmaxbf16(uint16_t x, uint16_t y);
309 extern __DPCPP_SYCL_EXTERNAL uint16_t __imf_fminbf16(uint16_t x, uint16_t y);
310 extern __DPCPP_SYCL_EXTERNAL uint16_t __imf_fabsbf16(uint16_t x);
311 extern __DPCPP_SYCL_EXTERNAL uint16_t __imf_rintbf16(uint16_t x);
312 extern __DPCPP_SYCL_EXTERNAL uint16_t __imf_floorbf16(uint16_t x);
313 extern __DPCPP_SYCL_EXTERNAL uint16_t __imf_ceilbf16(uint16_t x);
314 extern __DPCPP_SYCL_EXTERNAL uint16_t __imf_truncbf16(uint16_t x);
315 extern __DPCPP_SYCL_EXTERNAL uint16_t __imf_copysignbf16(uint16_t x,
316  uint16_t y);
317 extern __DPCPP_SYCL_EXTERNAL uint16_t __imf_sqrtbf16(uint16_t x);
318 extern __DPCPP_SYCL_EXTERNAL uint16_t __imf_rsqrtbf16(uint16_t x);
319 extern __DPCPP_SYCL_EXTERNAL double __imf_fma(double x, double y, double z);
320 extern __DPCPP_SYCL_EXTERNAL double __imf_fma_rd(double x, double y, double z);
321 extern __DPCPP_SYCL_EXTERNAL double __imf_fma_rn(double x, double y, double z);
322 extern __DPCPP_SYCL_EXTERNAL double __imf_fma_ru(double x, double y, double z);
323 extern __DPCPP_SYCL_EXTERNAL double __imf_fma_rz(double x, double y, double z);
324 extern __DPCPP_SYCL_EXTERNAL double __imf_fabs(double x);
325 extern __DPCPP_SYCL_EXTERNAL double __imf_floor(double x);
326 extern __DPCPP_SYCL_EXTERNAL double __imf_ceil(double x);
327 extern __DPCPP_SYCL_EXTERNAL double __imf_trunc(double x);
328 extern __DPCPP_SYCL_EXTERNAL double __imf_rint(double x);
329 extern __DPCPP_SYCL_EXTERNAL double __imf_rcp64h(double x);
330 extern __DPCPP_SYCL_EXTERNAL double __imf_nearbyint(double x);
331 extern __DPCPP_SYCL_EXTERNAL double __imf_sqrt(double x);
332 extern __DPCPP_SYCL_EXTERNAL double __imf_rsqrt(double x);
333 extern __DPCPP_SYCL_EXTERNAL double __imf_inv(double x);
334 extern __DPCPP_SYCL_EXTERNAL double __imf_fmax(double x, double y);
335 extern __DPCPP_SYCL_EXTERNAL double __imf_fmin(double x, double y);
336 extern __DPCPP_SYCL_EXTERNAL double __imf_copysign(double x, double y);
337 extern __DPCPP_SYCL_EXTERNAL double __imf_dadd_rd(double x, double y);
338 extern __DPCPP_SYCL_EXTERNAL double __imf_dadd_rn(double x, double y);
339 extern __DPCPP_SYCL_EXTERNAL double __imf_dadd_ru(double x, double y);
340 extern __DPCPP_SYCL_EXTERNAL double __imf_dadd_rz(double x, double y);
341 extern __DPCPP_SYCL_EXTERNAL double __imf_dsub_rd(double x, double y);
342 extern __DPCPP_SYCL_EXTERNAL double __imf_dsub_rn(double x, double y);
343 extern __DPCPP_SYCL_EXTERNAL double __imf_dsub_ru(double x, double y);
344 extern __DPCPP_SYCL_EXTERNAL double __imf_dsub_rz(double x, double y);
345 extern __DPCPP_SYCL_EXTERNAL double __imf_dmul_rd(double x, double y);
346 extern __DPCPP_SYCL_EXTERNAL double __imf_dmul_rn(double x, double y);
347 extern __DPCPP_SYCL_EXTERNAL double __imf_dmul_ru(double x, double y);
348 extern __DPCPP_SYCL_EXTERNAL double __imf_dmul_rz(double x, double y);
349 extern __DPCPP_SYCL_EXTERNAL double __imf_ddiv_rd(double x, double y);
350 extern __DPCPP_SYCL_EXTERNAL double __imf_ddiv_rn(double x, double y);
351 extern __DPCPP_SYCL_EXTERNAL double __imf_ddiv_ru(double x, double y);
352 extern __DPCPP_SYCL_EXTERNAL double __imf_ddiv_rz(double x, double y);
353 extern __DPCPP_SYCL_EXTERNAL double __imf_drcp_rd(double x);
354 extern __DPCPP_SYCL_EXTERNAL double __imf_drcp_rn(double x);
355 extern __DPCPP_SYCL_EXTERNAL double __imf_drcp_ru(double x);
356 extern __DPCPP_SYCL_EXTERNAL double __imf_drcp_rz(double x);
357 extern __DPCPP_SYCL_EXTERNAL double __imf_sqrt_rd(double x);
358 extern __DPCPP_SYCL_EXTERNAL double __imf_sqrt_rn(double x);
359 extern __DPCPP_SYCL_EXTERNAL double __imf_sqrt_ru(double x);
360 extern __DPCPP_SYCL_EXTERNAL double __imf_sqrt_rz(double x);
361 extern __DPCPP_SYCL_EXTERNAL float __imf_double2float_rd(double x);
362 extern __DPCPP_SYCL_EXTERNAL float __imf_double2float_rn(double x);
363 extern __DPCPP_SYCL_EXTERNAL float __imf_double2float_ru(double x);
364 extern __DPCPP_SYCL_EXTERNAL float __imf_double2float_rz(double x);
365 extern __DPCPP_SYCL_EXTERNAL int __imf_double2hiint(double x);
366 extern __DPCPP_SYCL_EXTERNAL int __imf_double2loint(double x);
367 extern __DPCPP_SYCL_EXTERNAL int __imf_double2int_rd(double x);
368 extern __DPCPP_SYCL_EXTERNAL int __imf_double2int_rn(double x);
369 extern __DPCPP_SYCL_EXTERNAL int __imf_double2int_ru(double x);
370 extern __DPCPP_SYCL_EXTERNAL int __imf_double2int_rz(double x);
371 extern __DPCPP_SYCL_EXTERNAL double __imf_int2double_rn(int x);
372 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_double2uint_rd(double x);
373 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_double2uint_rn(double x);
374 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_double2uint_ru(double x);
375 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_double2uint_rz(double x);
376 extern __DPCPP_SYCL_EXTERNAL long long int __imf_double2ll_rd(double x);
377 extern __DPCPP_SYCL_EXTERNAL long long int __imf_double2ll_rn(double x);
378 extern __DPCPP_SYCL_EXTERNAL long long int __imf_double2ll_ru(double x);
379 extern __DPCPP_SYCL_EXTERNAL long long int __imf_double2ll_rz(double x);
380 extern __DPCPP_SYCL_EXTERNAL double __imf_ll2double_rd(long long int x);
381 extern __DPCPP_SYCL_EXTERNAL double __imf_ll2double_rn(long long int x);
382 extern __DPCPP_SYCL_EXTERNAL double __imf_ll2double_ru(long long int x);
383 extern __DPCPP_SYCL_EXTERNAL double __imf_ll2double_rz(long long int x);
384 extern __DPCPP_SYCL_EXTERNAL double
385 __imf_ull2double_rd(unsigned long long int x);
386 extern __DPCPP_SYCL_EXTERNAL double
387 __imf_ull2double_rn(unsigned long long int x);
388 extern __DPCPP_SYCL_EXTERNAL double
389 __imf_ull2double_ru(unsigned long long int x);
390 extern __DPCPP_SYCL_EXTERNAL double
391 __imf_ull2double_rz(unsigned long long int x);
392 extern __DPCPP_SYCL_EXTERNAL unsigned long long int
393 __imf_double2ull_rd(double x);
394 extern __DPCPP_SYCL_EXTERNAL unsigned long long int
395 __imf_double2ull_rn(double x);
396 extern __DPCPP_SYCL_EXTERNAL unsigned long long int
397 __imf_double2ull_ru(double x);
398 extern __DPCPP_SYCL_EXTERNAL unsigned long long int
399 __imf_double2ull_rz(double x);
400 extern __DPCPP_SYCL_EXTERNAL long long int __imf_double_as_longlong(double x);
401 extern __DPCPP_SYCL_EXTERNAL double __imf_longlong_as_double(long long int x);
402 extern __DPCPP_SYCL_EXTERNAL double __imf_uint2double_rd(unsigned int x);
403 extern __DPCPP_SYCL_EXTERNAL double __imf_uint2double_rn(unsigned int x);
404 extern __DPCPP_SYCL_EXTERNAL double __imf_uint2double_ru(unsigned int x);
405 extern __DPCPP_SYCL_EXTERNAL double __imf_uint2double_rz(unsigned int x);
406 extern __DPCPP_SYCL_EXTERNAL double __imf_hiloint2double(int hi, int lo);
407 
408 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vabs2(unsigned int x);
409 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vabs4(unsigned int x);
410 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vabsss2(unsigned int x);
411 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vabsss4(unsigned int x);
412 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vneg2(unsigned int x);
413 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vneg4(unsigned int x);
414 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vnegss2(unsigned int x);
415 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vnegss4(unsigned int x);
416 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vabsdiffs2(unsigned int x,
417  unsigned int y);
418 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vabsdiffs4(unsigned int x,
419  unsigned int y);
420 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vabsdiffu2(unsigned int x,
421  unsigned int y);
422 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vabsdiffu4(unsigned int x,
423  unsigned int y);
424 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vadd2(unsigned int x,
425  unsigned int y);
426 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vadd4(unsigned int x,
427  unsigned int y);
428 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vaddss2(unsigned int x,
429  unsigned int y);
430 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vaddss4(unsigned int x,
431  unsigned int y);
432 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vaddus2(unsigned int x,
433  unsigned int y);
434 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vaddus4(unsigned int x,
435  unsigned int y);
436 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vsub2(unsigned int x,
437  unsigned int y);
438 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vsub4(unsigned int x,
439  unsigned int y);
440 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vsubss2(unsigned int x,
441  unsigned int y);
442 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vsubss4(unsigned int x,
443  unsigned int y);
444 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vsubus2(unsigned int x,
445  unsigned int y);
446 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vsubus4(unsigned int x,
447  unsigned int y);
448 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vavgs2(unsigned int x,
449  unsigned int y);
450 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vavgs4(unsigned int x,
451  unsigned int y);
452 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vavgu2(unsigned int x,
453  unsigned int y);
454 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vavgu4(unsigned int x,
455  unsigned int y);
456 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vhaddu2(unsigned int x,
457  unsigned int y);
458 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vhaddu4(unsigned int x,
459  unsigned int y);
460 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vcmpeq2(unsigned int x,
461  unsigned int y);
462 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vcmpeq4(unsigned int x,
463  unsigned int y);
464 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vcmpne2(unsigned int x,
465  unsigned int y);
466 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vcmpne4(unsigned int x,
467  unsigned int y);
468 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vcmpges2(unsigned int x,
469  unsigned int y);
470 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vcmpges4(unsigned int x,
471  unsigned int y);
472 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vcmpgeu2(unsigned int x,
473  unsigned int y);
474 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vcmpgeu4(unsigned int x,
475  unsigned int y);
476 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vcmpgts2(unsigned int x,
477  unsigned int y);
478 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vcmpgts4(unsigned int x,
479  unsigned int y);
480 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vcmpgtu2(unsigned int x,
481  unsigned int y);
482 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vcmpgtu4(unsigned int x,
483  unsigned int y);
484 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vcmples2(unsigned int x,
485  unsigned int y);
486 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vcmples4(unsigned int x,
487  unsigned int y);
488 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vcmpleu2(unsigned int x,
489  unsigned int y);
490 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vcmpleu4(unsigned int x,
491  unsigned int y);
492 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vcmplts2(unsigned int x,
493  unsigned int y);
494 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vcmplts4(unsigned int x,
495  unsigned int y);
496 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vcmpltu2(unsigned int x,
497  unsigned int y);
498 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vcmpltu4(unsigned int x,
499  unsigned int y);
500 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vmaxs2(unsigned int x,
501  unsigned int y);
502 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vmaxs4(unsigned int x,
503  unsigned int y);
504 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vmaxu2(unsigned int x,
505  unsigned int y);
506 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vmaxu4(unsigned int x,
507  unsigned int y);
508 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vmins2(unsigned int x,
509  unsigned int y);
510 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vmins4(unsigned int x,
511  unsigned int y);
512 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vminu2(unsigned int x,
513  unsigned int y);
514 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vminu4(unsigned int x,
515  unsigned int y);
516 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vseteq2(unsigned int x,
517  unsigned int y);
518 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vseteq4(unsigned int x,
519  unsigned int y);
520 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vsetne2(unsigned int x,
521  unsigned int y);
522 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vsetne4(unsigned int x,
523  unsigned int y);
524 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vsetges2(unsigned int x,
525  unsigned int y);
526 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vsetges4(unsigned int x,
527  unsigned int y);
528 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vsetgeu2(unsigned int x,
529  unsigned int y);
530 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vsetgeu4(unsigned int x,
531  unsigned int y);
532 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vsetgts2(unsigned int x,
533  unsigned int y);
534 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vsetgts4(unsigned int x,
535  unsigned int y);
536 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vsetgtu2(unsigned int x,
537  unsigned int y);
538 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vsetgtu4(unsigned int x,
539  unsigned int y);
540 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vsetles2(unsigned int x,
541  unsigned int y);
542 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vsetles4(unsigned int x,
543  unsigned int y);
544 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vsetleu2(unsigned int x,
545  unsigned int y);
546 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vsetleu4(unsigned int x,
547  unsigned int y);
548 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vsetlts2(unsigned int x,
549  unsigned int y);
550 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vsetlts4(unsigned int x,
551  unsigned int y);
552 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vsetltu2(unsigned int x,
553  unsigned int y);
554 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vsetltu4(unsigned int x,
555  unsigned int y);
556 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vsads2(unsigned int x,
557  unsigned int y);
558 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vsads4(unsigned int x,
559  unsigned int y);
560 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vsadu2(unsigned int x,
561  unsigned int y);
562 extern __DPCPP_SYCL_EXTERNAL unsigned int __imf_vsadu4(unsigned int x,
563  unsigned int y);
564 }
565 #ifdef __GLIBC__
566 extern "C" {
567 extern __DPCPP_SYCL_EXTERNAL void __assert_fail(const char *expr,
568  const char *file,
569  unsigned int line,
570  const char *func);
571 }
572 #elif defined(_WIN32)
573 extern "C" {
574 // TODO: documented C runtime library APIs must be recognized as
575 // builtins by FE. This includes _dpcomp, _dsign, _dtest,
576 // _fdpcomp, _fdsign, _fdtest, _hypotf, _wassert.
577 // APIs used by STL, such as _Cosh, are undocumented, even though
578 // they are open-sourced. Recognizing them as builtins is not
579 // straightforward currently.
580 extern __DPCPP_SYCL_EXTERNAL void _wassert(const wchar_t *wexpr,
581  const wchar_t *wfile, unsigned line);
582 }
583 #endif
584 #endif // __SYCL_DEVICE_ONLY__
#define __DPCPP_SYCL_EXTERNAL
float __imf_truncf(float)
float __imf_saturatef(float)
float __imf_rsqrtf(float)
double __imf_rint(double)
double __imf_ceil(double)
_iml_half_internal __imf_invf16(_iml_half_internal)
double __imf_sqrt(double)
float __imf_sqrtf(float)
double __imf_trunc(double)
_iml_half_internal __imf_rintf16(_iml_half_internal)
float __imf_ceilf(float)
double __imf_rsqrt(double)
float __imf_copysignf(float, float)
_iml_half_internal __imf_floorf16(_iml_half_internal)
double __imf_floor(double)
_iml_half_internal __imf_sqrtf16(_iml_half_internal)
double __imf_inv(double)
float __imf_invf(float)
_iml_half_internal __imf_truncf16(_iml_half_internal)
double __imf_rcp64h(double)
float __imf_floorf(float)
double __imf_copysign(double, double)
float __imf_rintf(float)
_iml_half_internal __imf_copysignf16(_iml_half_internal, _iml_half_internal)
_iml_half_internal __imf_rsqrtf16(_iml_half_internal)
_iml_half_internal __imf_ceilf16(_iml_half_internal)
__ESIMD_API std::enable_if_t< __ESIMD_DNS::is_fp_or_dword_type< T >::value &&std::is_floating_point< T >::value, sycl::ext::intel::esimd::simd< T, SZ > > line(sycl::ext::intel::esimd::simd< T, 4 > src0, sycl::ext::intel::esimd::simd< T, SZ > src1, Sat sat={})
Linear equation.
Definition: math.hpp:1013
_iml_half_internal __imf_int2half_rn(int)
_iml_half_internal __imf_double2half(double)
float __imf_uint_as_float(unsigned int)
_iml_half_internal __imf_float2half_rd(float)
uint16_t __imf_short_as_bfloat16(short)
_iml_half_internal __imf_ull2half_ru(unsigned long long)
float __imf_ull2float_rn(unsigned long long int)
unsigned long long __imf_bfloat162ull_rz(uint16_t)
float __imf_ll2float_ru(long long int)
unsigned int __imf_half2uint_rz(_iml_half_internal)
float __imf_ull2float_rd(unsigned long long int)
unsigned short __imf_bfloat162ushort_rz(uint16_t)
uint16_t __imf_float2bfloat16_rd(float)
_iml_half_internal __imf_ushort_as_half(unsigned short)
_iml_half_internal __imf_ushort2half_rn(unsigned short)
unsigned short __imf_half2ushort_rn(_iml_half_internal)
uint16_t __imf_ull2bfloat16_rz(unsigned long long)
uint16_t __imf_ushort2bfloat16_rz(unsigned short)
short __imf_bfloat162short_rn(uint16_t)
uint16_t __imf_int2bfloat16_ru(int)
float __imf_int_as_float(int)
int __imf_float2int_rd(float)
uint16_t __imf_ushort2bfloat16_rn(unsigned short)
_iml_half_internal __imf_ushort2half_ru(unsigned short)
uint16_t __imf_ll2bfloat16_rd(long long)
unsigned int __imf_bfloat162uint_ru(uint16_t)
uint16_t __imf_float2bfloat16(float)
uint16_t __imf_short2bfloat16_rd(short)
unsigned long long __imf_bfloat162ull_rn(uint16_t)
float __imf_int2float_ru(int)
_iml_half_internal __imf_int2half_rz(int)
long long __imf_bfloat162ll_rz(uint16_t)
uint16_t __imf_int2bfloat16_rd(int)
uint16_t __imf_uint2bfloat16_rd(unsigned int)
long long __imf_half2ll_ru(_iml_half_internal)
uint16_t __imf_float2bfloat16_ru(float)
unsigned int __imf_half2uint_ru(_iml_half_internal)
int __imf_bfloat162int_ru(uint16_t)
short __imf_half2short_rn(_iml_half_internal)
_iml_half_internal __imf_uint2half_ru(unsigned int)
short __imf_half2short_ru(_iml_half_internal)
long long __imf_half2ll_rz(_iml_half_internal)
unsigned long long __imf_half2ull_ru(_iml_half_internal)
unsigned int __imf_bfloat162uint_rn(uint16_t)
_iml_half_internal __imf_ull2half_rn(unsigned long long)
unsigned int __imf_float2uint_rd(float)
unsigned short __imf_half2ushort_rd(_iml_half_internal)
long long __imf_bfloat162ll_rn(uint16_t)
float __imf_int2float_rz(int)
uint16_t __imf_ushort2bfloat16_ru(unsigned short)
int __imf_bfloat162int_rz(uint16_t)
unsigned long long __imf_bfloat162ull_ru(uint16_t)
float __imf_ll2float_rd(long long int)
_iml_half_internal __imf_ll2half_ru(long long)
long long __imf_half2ll_rn(_iml_half_internal)
unsigned short __imf_bfloat162ushort_rn(uint16_t)
short __imf_half_as_short(_iml_half_internal)
_iml_half_internal __imf_ushort2half_rd(unsigned short)
long long int __imf_float2ll_rn(float)
_iml_half_internal __imf_ull2half_rd(unsigned long long)
uint16_t __imf_float2bfloat16_rn(float)
uint16_t __imf_ll2bfloat16_rn(long long)
unsigned int __imf_float2uint_rn(float)
uint16_t __imf_ll2bfloat16_rz(long long)
int __imf_float2int_rn(float)
int __imf_bfloat162int_rd(uint16_t)
long long int __imf_float2ll_rz(float)
float __imf_ull2float_ru(unsigned long long int)
unsigned int __imf_float_as_uint(float)
unsigned short __imf_bfloat162ushort_ru(uint16_t)
unsigned int __imf_bfloat162uint_rd(uint16_t)
uint16_t __imf_int2bfloat16_rn(int)
int __imf_float_as_int(float)
uint16_t __imf_float2bfloat16_rz(float)
uint16_t __imf_ull2bfloat16_rd(unsigned long long)
_iml_half_internal __imf_float2half_rz(float)
short __imf_bfloat162short_ru(uint16_t)
_iml_half_internal __imf_ll2half_rz(long long)
uint16_t __imf_short2bfloat16_ru(short)
short __imf_half2short_rd(_iml_half_internal)
uint16_t __imf_int2bfloat16_rz(int)
float __imf_uint2float_ru(unsigned int)
uint16_t __imf_ull2bfloat16_ru(unsigned long long)
_iml_half_internal __imf_short2half_ru(short)
int __imf_float2int_ru(float)
_iml_half_internal __imf_int2half_rd(int)
float __imf_int2float_rd(int)
float __imf_bfloat162float(uint16_t)
_iml_half_internal __imf_short2half_rz(short)
float __imf_half2float(_iml_half_internal)
int __imf_bfloat162int_rn(uint16_t)
unsigned int __imf_half2uint_rn(_iml_half_internal)
uint16_t __imf_ull2bfloat16_rn(unsigned long long)
unsigned long long int __imf_float2ull_rd(float)
unsigned long long int __imf_float2ull_ru(float)
float __imf_int2float_rn(int)
float __imf_ll2float_rz(long long int)
_iml_half_internal __imf_uint2half_rd(unsigned int)
_iml_half_internal __imf_ull2half_rz(unsigned long long)
_iml_half_internal __imf_short2half_rd(short)
_iml_half_internal __imf_ll2half_rn(long long)
unsigned long long __imf_half2ull_rn(_iml_half_internal)
float __imf_uint2float_rn(unsigned int)
int __imf_float2int_rz(float)
_iml_half_internal __imf_uint2half_rn(unsigned int)
_iml_half_internal __imf_float2half_rn(float)
uint16_t __imf_double2bfloat16(double)
uint16_t __imf_ushort_as_bfloat16(unsigned short)
_iml_half_internal __imf_short2half_rn(short)
uint16_t __imf_uint2bfloat16_ru(unsigned int)
uint16_t __imf_short2bfloat16_rn(short)
long long __imf_bfloat162ll_ru(uint16_t)
_iml_half_internal __imf_uint2half_rz(unsigned int)
uint16_t __imf_ll2bfloat16_ru(long long)
float __imf_uint2float_rz(unsigned int)
short __imf_half2short_rz(_iml_half_internal)
float __imf_uint2float_rd(unsigned int)
unsigned int __imf_float2uint_ru(float)
short __imf_bfloat162short_rd(uint16_t)
int __imf_half2int_rd(_iml_half_internal)
unsigned int __imf_bfloat162uint_rz(uint16_t)
float __imf_ull2float_rz(unsigned long long int)
long long int __imf_float2ll_rd(float)
short __imf_bfloat16_as_short(uint16_t)
unsigned int __imf_half2uint_rd(_iml_half_internal)
long long __imf_half2ll_rd(_iml_half_internal)
unsigned short __imf_bfloat16_as_ushort(uint16_t)
unsigned long long __imf_half2ull_rz(_iml_half_internal)
unsigned long long __imf_half2ull_rd(_iml_half_internal)
float __imf_ll2float_rn(long long int)
int __imf_half2int_ru(_iml_half_internal)
unsigned long long int __imf_float2ull_rn(float)
unsigned long long int __imf_float2ull_rz(float)
long long __imf_bfloat162ll_rd(uint16_t)
uint16_t __imf_uint2bfloat16_rn(unsigned int)
unsigned short __imf_half2ushort_ru(_iml_half_internal)
int __imf_half2int_rz(_iml_half_internal)
_iml_half_internal __imf_int2half_ru(int)
_iml_half_internal __imf_short_as_half(short)
unsigned short __imf_half_as_ushort(_iml_half_internal)
long long int __imf_float2ll_ru(float)
unsigned short __imf_bfloat162ushort_rd(uint16_t)
unsigned short __imf_half2ushort_rz(_iml_half_internal)
uint16_t __imf_uint2bfloat16_rz(unsigned int)
uint16_t __imf_ushort2bfloat16_rd(unsigned short)
_iml_half_internal __imf_float2half_ru(float)
int __imf_half2int_rn(_iml_half_internal)
_iml_half_internal __imf_ll2half_rd(long long)
uint16_t __imf_short2bfloat16_rz(short)
_iml_half_internal __imf_ushort2half_rz(unsigned short)
unsigned int __imf_float2uint_rz(float)
short __imf_bfloat162short_rz(uint16_t)
unsigned long long __imf_bfloat162ull_rd(uint16_t)
float __imf_fdiv_ru(float, float)
double __imf_sqrt_ru(double)
double __imf_dadd_rn(double, double)
double __imf_drcp_rd(double)
double __imf_fma_rn(double, double, double)
double __imf_dmul_rn(double, double)
float __imf_fdiv_rn(float, float)
double __imf_dsub_rz(double, double)
double __imf_ddiv_ru(double, double)
float __imf_fmul_rn(float, float)
float __imf_fmul_rd(float, float)
float __imf_sqrtf_rz(float)
double __imf_dadd_rd(double, double)
float __imf_fsub_ru(float, float)
double __imf_dmul_ru(double, double)
double __imf_sqrt_rn(double)
float __imf_fadd_rd(float, float)
float __imf_fmul_rz(float, float)
double __imf_ddiv_rz(double, double)
float __imf_frcp_ru(float)
double __imf_sqrt_rz(double)
double __imf_dadd_rz(double, double)
float __imf_fadd_rn(float, float)
float __imf_fmaf_rz(float, float, float)
double __imf_ddiv_rn(double, double)
float __imf_fsub_rz(float, float)
double __imf_dsub_rd(double, double)
float __imf_fmaf_ru(float, float, float)
double __imf_drcp_rn(double)
float __imf_sqrtf_ru(float)
float __imf_sqrtf_rd(float)
double __imf_dsub_rn(double, double)
double __imf_dmul_rd(double, double)
double __imf_dsub_ru(double, double)
double __imf_dmul_rz(double, double)
double __imf_fma_rd(double, double, double)
float __imf_frcp_rd(float)
float __imf_fdiv_rz(float, float)
double __imf_ddiv_rd(double, double)
float __imf_fadd_rz(float, float)
double __imf_sqrt_rd(double)
float __imf_sqrtf_rn(float)
double __imf_fma_ru(double, double, double)
double __imf_fma_rz(double, double, double)
float __imf_frcp_rn(float)
float __imf_fadd_ru(float, float)
float __imf_fdiv_rd(float, float)
float __imf_fsub_rd(float, float)
float __imf_fmul_ru(float, float)
double __imf_drcp_rz(double)
float __imf_fmaf_rn(float, float, float)
double __imf_drcp_ru(double)
float __imf_fmaf_rd(float, float, float)
double __imf_dadd_ru(double, double)
float __imf_fsub_rn(float, float)
float __imf_frcp_rz(float)
unsigned int __imf_vsubss4(unsigned int, unsigned int)
unsigned int __imf_vsub4(unsigned int, unsigned int)
unsigned int __imf_vhaddu4(unsigned int, unsigned int)
unsigned int __imf_vmaxs4(unsigned int, unsigned int)
unsigned int __imf_vnegss2(unsigned int)
unsigned int __imf_vaddus2(unsigned int, unsigned int)
unsigned int __imf_vsub2(unsigned int, unsigned int)
unsigned int __imf_vavgs2(unsigned int, unsigned int)
unsigned int __imf_vsetgeu2(unsigned int, unsigned int)
unsigned int __imf_vnegss4(unsigned int)
unsigned int __imf_vcmpges2(unsigned int, unsigned int)
unsigned int __imf_vabsdiffu2(unsigned int, unsigned int)
unsigned int __imf_vcmpgtu2(unsigned int, unsigned int)
unsigned int __imf_vhaddu2(unsigned int, unsigned int)
unsigned int __imf_vaddss2(unsigned int, unsigned int)
unsigned int __imf_vsetgtu4(unsigned int, unsigned int)
unsigned int __imf_vsetne4(unsigned int, unsigned int)
unsigned int __imf_vsubus2(unsigned int, unsigned int)
unsigned int __imf_vmaxs2(unsigned int, unsigned int)
unsigned int __imf_vsetgts4(unsigned int, unsigned int)
unsigned int __imf_vsadu2(unsigned int, unsigned int)
unsigned int __imf_vcmpne2(unsigned int, unsigned int)
unsigned int __imf_vneg4(unsigned int)
unsigned int __imf_vcmpleu4(unsigned int, unsigned int)
unsigned int __imf_vsetltu2(unsigned int, unsigned int)
unsigned int __imf_vcmpges4(unsigned int, unsigned int)
unsigned int __imf_vmins2(unsigned int, unsigned int)
unsigned int __imf_vabsss4(unsigned int)
unsigned int __imf_vsubss2(unsigned int, unsigned int)
unsigned int __imf_vcmplts2(unsigned int, unsigned int)
unsigned int __imf_vadd2(unsigned int, unsigned int)
unsigned int __imf_vcmples2(unsigned int, unsigned int)
unsigned int __imf_vsetleu4(unsigned int, unsigned int)
unsigned int __imf_vcmpeq4(unsigned int, unsigned int)
unsigned int __imf_vsads2(unsigned int, unsigned int)
unsigned int __imf_vneg2(unsigned int)
unsigned int __imf_vsetltu4(unsigned int, unsigned int)
unsigned int __imf_vabsdiffs2(unsigned int, unsigned int)
unsigned int __imf_vabs4(unsigned int)
unsigned int __imf_vcmpleu2(unsigned int, unsigned int)
unsigned int __imf_vseteq4(unsigned int, unsigned int)
unsigned int __imf_vcmpne4(unsigned int, unsigned int)
unsigned int __imf_vcmpgeu2(unsigned int, unsigned int)
unsigned int __imf_vminu4(unsigned int, unsigned int)
unsigned int __imf_vcmpgts4(unsigned int, unsigned int)
unsigned int __imf_vadd4(unsigned int, unsigned int)
unsigned int __imf_vsetgts2(unsigned int, unsigned int)
unsigned int __imf_vsubus4(unsigned int, unsigned int)
unsigned int __imf_vaddus4(unsigned int, unsigned int)
unsigned int __imf_vminu2(unsigned int, unsigned int)
unsigned int __imf_vabsdiffu4(unsigned int, unsigned int)
unsigned int __imf_vcmpgtu4(unsigned int, unsigned int)
unsigned int __imf_vcmplts4(unsigned int, unsigned int)
unsigned int __imf_vcmpgts2(unsigned int, unsigned int)
unsigned int __imf_vsetles4(unsigned int, unsigned int)
unsigned int __imf_vsetlts2(unsigned int, unsigned int)
unsigned int __imf_vabsdiffs4(unsigned int, unsigned int)
unsigned int __imf_vsetne2(unsigned int, unsigned int)
unsigned int __imf_vcmples4(unsigned int, unsigned int)
unsigned int __imf_vmaxu2(unsigned int, unsigned int)
unsigned int __imf_vsetges2(unsigned int, unsigned int)
unsigned int __imf_vavgu2(unsigned int, unsigned int)
unsigned int __imf_vmins4(unsigned int, unsigned int)
unsigned int __imf_vavgs4(unsigned int, unsigned int)
unsigned int __imf_vcmpgeu4(unsigned int, unsigned int)
unsigned int __imf_vabsss2(unsigned int)
unsigned int __imf_vcmpltu2(unsigned int, unsigned int)
unsigned int __imf_vsads4(unsigned int, unsigned int)
unsigned int __imf_vsetgtu2(unsigned int, unsigned int)
unsigned int __imf_vabs2(unsigned int)
unsigned int __imf_vsetges4(unsigned int, unsigned int)
unsigned int __imf_vaddss4(unsigned int, unsigned int)
unsigned int __imf_vsetleu2(unsigned int, unsigned int)
unsigned int __imf_vsetgeu4(unsigned int, unsigned int)
unsigned int __imf_vsetlts4(unsigned int, unsigned int)
unsigned int __imf_vavgu4(unsigned int, unsigned int)
unsigned int __imf_vcmpltu4(unsigned int, unsigned int)
unsigned int __imf_vmaxu4(unsigned int, unsigned int)
unsigned int __imf_vsadu4(unsigned int, unsigned int)
unsigned int __imf_vseteq2(unsigned int, unsigned int)
unsigned int __imf_vsetles2(unsigned int, unsigned int)
unsigned int __imf_vcmpeq2(unsigned int, unsigned int)
void memcpy(void *Dst, const void *Src, size_t Size)
Definition: memcpy.hpp:16
auto auto autodecltype(x) z
autodecltype(x) x
static sycl::event memset(sycl::queue q, void *dev_ptr, int value, size_t size)
Set value to the first size bytes starting from dev_ptr in q.
Definition: memory.hpp:197