Revert "[llvm] Improve llvm.objectsize computation by computing GEP, alloca and mallo...
[llvm-project.git] / libc / docs / gpu / support.rst
blob9c151a5fbac1f61d687ad56301d6a4a03bac6a50
1 .. _libc_gpu_support:
3 ===================
4 Supported Functions
5 ===================
7 .. include:: ../check.rst
9 .. contents:: Table of Contents
10   :depth: 4
11   :local:
13 The following functions and headers are supported at least partially on the
14 device. Some functions are implemented fully on the GPU, while others require a
15 `remote procedure call <libc_gpu_rpc>`_.
17 ctype.h
18 -------
20 =============  =========  ============
21 Function Name  Available  RPC Required
22 =============  =========  ============
23 isalnum        |check|
24 isalpha        |check|
25 isascii        |check|
26 isblank        |check|
27 iscntrl        |check|
28 isdigit        |check|
29 isgraph        |check|
30 islower        |check|
31 isprint        |check|
32 ispunct        |check|
33 isspace        |check|
34 isupper        |check|
35 isxdigit       |check|
36 toascii        |check|
37 tolower        |check|
38 toupper        |check|
39 =============  =========  ============
41 string.h
42 --------
44 =============  =========  ============
45 Function Name  Available  RPC Required
46 =============  =========  ============
47 bcmp           |check|
48 bcopy          |check|
49 bzero          |check|
50 memccpy        |check|
51 memchr         |check|
52 memcmp         |check|
53 memcpy         |check|
54 memmem         |check|
55 memmove        |check|
56 mempcpy        |check|
57 memrchr        |check|
58 memset         |check|
59 stpcpy         |check|
60 stpncpy        |check|
61 strcat         |check|
62 strchr         |check|
63 strchrnul      |check|
64 strcmp         |check|
65 strcoll        |check|
66 strcpy         |check|
67 strcspn        |check|
68 strdup         |check|
69 strerror       |check|
70 strlcat        |check|
71 strlcpy        |check|
72 strlen         |check|
73 strncat        |check|
74 strncmp        |check|
75 strncpy        |check|
76 strndup        |check|
77 strnlen        |check|
78 strpbrk        |check|
79 strrchr        |check|
80 strsep         |check|
81 strspn         |check|
82 strstr         |check|
83 strtok         |check|
84 strtok_r       |check|
85 strxfrm        |check|
86 =============  =========  ============
88 strings.h
89 ---------
91 =============  =========  ============
92 Function Name  Available  RPC Required
93 =============  =========  ============
94 bcmp           |check|
95 bcopy          |check|
96 bzero          |check|
97 strcasecmp     |check|
98 strcasestr     |check|
99 index          |check|
100 rindex         |check|
101 =============  =========  ============
103 stdbit.h
104 --------
106 ============================  =========  ============
107 Function Name                 Available  RPC Required
108 ============================  =========  ============
109 stdc_leading_zeros_uc         |check|
110 stdc_leading_zeros_us         |check|
111 stdc_leading_zeros_ui         |check|
112 stdc_leading_zeros_ul         |check|
113 stdc_leading_zeros_ull        |check|
114 stdc_trailing_zeros_uc        |check|
115 stdc_trailing_zeros_us        |check|
116 stdc_trailing_zeros_ui        |check|
117 stdc_trailing_zeros_ul        |check|
118 stdc_trailing_zeros_ull       |check|
119 stdc_trailing_ones_uc         |check|
120 stdc_trailing_ones_us         |check|
121 stdc_trailing_ones_ui         |check|
122 stdc_trailing_ones_ul         |check|
123 stdc_trailing_ones_ull        |check|
124 stdc_first_leading_zero_uc    |check|
125 stdc_first_leading_zero_us    |check|
126 stdc_first_leading_zero_ui    |check|
127 stdc_first_leading_zero_ul    |check|
128 stdc_first_leading_zero_ull   |check|
129 stdc_first_leading_one_uc     |check|
130 stdc_first_leading_one_us     |check|
131 stdc_first_leading_one_ui     |check|
132 stdc_first_leading_one_ul     |check|
133 stdc_first_leading_one_ull    |check|
134 stdc_first_trailing_zero_uc   |check|
135 stdc_first_trailing_zero_us   |check|
136 stdc_first_trailing_zero_ui   |check|
137 stdc_first_trailing_zero_ul   |check|
138 stdc_first_trailing_zero_ull  |check|
139 stdc_first_trailing_one_uc    |check|
140 stdc_first_trailing_one_us    |check|
141 stdc_first_trailing_one_ui    |check|
142 stdc_first_trailing_one_ul    |check|
143 stdc_first_trailing_one_ull   |check|
144 stdc_count_zeros_uc           |check|
145 stdc_count_zeros_us           |check|
146 stdc_count_zeros_ui           |check|
147 stdc_count_zeros_ul           |check|
148 stdc_count_zeros_ull          |check|
149 stdc_count_ones_uc            |check|
150 stdc_count_ones_us            |check|
151 stdc_count_ones_ui            |check|
152 stdc_count_ones_ul            |check|
153 stdc_count_ones_ull           |check|
154 stdc_has_single_bit_uc        |check|
155 stdc_has_single_bit_us        |check|
156 stdc_has_single_bit_ui        |check|
157 stdc_has_single_bit_ul        |check|
158 stdc_has_single_bit_ull       |check|
159 stdc_bit_width_uc             |check|
160 stdc_bit_width_us             |check|
161 stdc_bit_width_ui             |check|
162 stdc_bit_width_ul             |check|
163 stdc_bit_width_ull            |check|
164 stdc_bit_floor_uc             |check|
165 stdc_bit_floor_us             |check|
166 stdc_bit_floor_ui             |check|
167 stdc_bit_floor_ul             |check|
168 stdc_bit_floor_ull            |check|
169 stdc_bit_ceil_uc              |check|
170 stdc_bit_ceil_us              |check|
171 stdc_bit_ceil_ui              |check|
172 stdc_bit_ceil_ul              |check|
173 stdc_bit_ceil_ull             |check|
174 ============================  =========  ============
176 stdlib.h
177 --------
179 =============  =========  ============
180 Function Name  Available  RPC Required
181 =============  =========  ============
182 abs            |check|
183 atoi           |check|
184 atof           |check|
185 atol           |check|
186 atoll          |check|
187 exit           |check|    |check|
188 abort          |check|    |check|
189 system         |check|    |check|
190 labs           |check|
191 llabs          |check|
192 div            |check|
193 ldiv           |check|
194 lldiv          |check|
195 bsearch        |check|
196 qsort          |check|
197 qsort_r        |check|
198 strtod         |check|
199 strtof         |check|
200 strtol         |check|
201 strtold        |check|
202 strtoll        |check|
203 strtoul        |check|
204 strtoull       |check|
205 srand          |check|
206 rand           |check|
207 =============  =========  ============
209 inttypes.h
210 ----------
212 =============  =========  ============
213 Function Name  Available  RPC Required
214 =============  =========  ============
215 imaxabs        |check|
216 imaxdiv        |check|
217 strtoimax      |check|
218 strtoumax      |check|
219 =============  =========  ============
221 stdio.h
222 -------
224 =============  =========  ============
225 Function Name  Available  RPC Required
226 =============  =========  ============
227 feof           |check|    |check|
228 ferror         |check|    |check|
229 clearerr       |check|    |check|
230 fseek          |check|    |check|
231 ftell          |check|    |check|
232 fflush         |check|    |check|
233 fgetc          |check|    |check|
234 fgets          |check|    |check|
235 ungetc         |check|    |check|
236 getc           |check|    |check|
237 getchar        |check|    |check|
238 puts           |check|    |check|
239 fputs          |check|    |check|
240 fputc          |check|    |check|
241 fwrite         |check|    |check|
242 remove         |check|    |check|
243 rename         |check|    |check|
244 putc           |check|    |check|
245 printf         |check|    |check|
246 vprintf        |check|    |check|
247 fprintf        |check|    |check|
248 vfprintf       |check|    |check|
249 sprintf        |check|
250 snprintf       |check|
251 vsprintf       |check|
252 vsnprintf      |check|
253 sscanf         |check|
254 scanf          |check|    |check|
255 fscanf         |check|    |check|
256 putchar        |check|    |check|
257 fclose         |check|    |check|
258 fopen          |check|    |check|
259 fread          |check|    |check|
260 =============  =========  ============
262 time.h
263 ------
265 =============  =========  ============
266 Function Name  Available  RPC Required
267 =============  =========  ============
268 clock          |check|
269 clock_gettime  |check|
270 nanosleep      |check|
271 =============  =========  ============
273 assert.h
274 --------
276 =============  =========  ============
277 Function Name  Available  RPC Required
278 =============  =========  ============
279 assert         |check|    |check|
280 __assert_fail  |check|    |check|
281 =============  =========  ============