Skip to content

Commit aae8e5c

Browse files
authored
[libc] Include additional math functions in baremetal config (#96926)
These are all supported on arm32 and riscv32.
1 parent b949b64 commit aae8e5c

File tree

2 files changed

+108
-0
lines changed

2 files changed

+108
-0
lines changed

libc/config/baremetal/arm/entrypoints.txt

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,12 +228,16 @@ set(TARGET_LIBM_ENTRYPOINTS
228228
libc.src.math.atan2f
229229
libc.src.math.atanf
230230
libc.src.math.atanhf
231+
libc.src.math.canonicalize
232+
libc.src.math.canonicalizef
233+
libc.src.math.canonicalizel
231234
libc.src.math.ceil
232235
libc.src.math.ceilf
233236
libc.src.math.ceill
234237
libc.src.math.copysign
235238
libc.src.math.copysignf
236239
libc.src.math.copysignl
240+
libc.src.math.cos
237241
libc.src.math.cosf
238242
libc.src.math.coshf
239243
libc.src.math.erff
@@ -242,6 +246,7 @@ set(TARGET_LIBM_ENTRYPOINTS
242246
libc.src.math.exp10f
243247
libc.src.math.exp2
244248
libc.src.math.exp2f
249+
libc.src.math.exp2m1f
245250
libc.src.math.expf
246251
libc.src.math.expm1
247252
libc.src.math.expm1f
@@ -262,12 +267,43 @@ set(TARGET_LIBM_ENTRYPOINTS
262267
libc.src.math.fmin
263268
libc.src.math.fminf
264269
libc.src.math.fminl
270+
libc.src.math.fmaximum
271+
libc.src.math.fmaximumf
272+
libc.src.math.fmaximuml
273+
libc.src.math.fmaximum_num
274+
libc.src.math.fmaximum_numf
275+
libc.src.math.fmaximum_numl
276+
libc.src.math.fmaximum_mag
277+
libc.src.math.fmaximum_magf
278+
libc.src.math.fmaximum_magl
279+
libc.src.math.fmaximum_mag_num
280+
libc.src.math.fmaximum_mag_numf
281+
libc.src.math.fmaximum_mag_numl
282+
libc.src.math.fminimum
283+
libc.src.math.fminimumf
284+
libc.src.math.fminimuml
285+
libc.src.math.fminimum_num
286+
libc.src.math.fminimum_numf
287+
libc.src.math.fminimum_numl
288+
libc.src.math.fminimum_mag
289+
libc.src.math.fminimum_magf
290+
libc.src.math.fminimum_magl
291+
libc.src.math.fminimum_mag_num
292+
libc.src.math.fminimum_mag_numf
293+
libc.src.math.fminimum_mag_numl
294+
libc.src.math.fmul
265295
libc.src.math.fmod
266296
libc.src.math.fmodf
267297
libc.src.math.fmodl
268298
libc.src.math.frexp
269299
libc.src.math.frexpf
270300
libc.src.math.frexpl
301+
libc.src.math.fromfp
302+
libc.src.math.fromfpf
303+
libc.src.math.fromfpl
304+
libc.src.math.fromfpx
305+
libc.src.math.fromfpxf
306+
libc.src.math.fromfpxl
271307
libc.src.math.hypot
272308
libc.src.math.hypotf
273309
libc.src.math.ilogb
@@ -314,9 +350,15 @@ set(TARGET_LIBM_ENTRYPOINTS
314350
libc.src.math.nextafter
315351
libc.src.math.nextafterf
316352
libc.src.math.nextafterl
353+
libc.src.math.nextdown
354+
libc.src.math.nextdownf
355+
libc.src.math.nextdownl
317356
libc.src.math.nexttoward
318357
libc.src.math.nexttowardf
319358
libc.src.math.nexttowardl
359+
libc.src.math.nextup
360+
libc.src.math.nextupf
361+
libc.src.math.nextupl
320362
libc.src.math.powf
321363
libc.src.math.remainder
322364
libc.src.math.remainderf
@@ -330,10 +372,15 @@ set(TARGET_LIBM_ENTRYPOINTS
330372
libc.src.math.round
331373
libc.src.math.roundf
332374
libc.src.math.roundl
375+
libc.src.math.roundeven
376+
libc.src.math.roundevenf
377+
libc.src.math.roundevenl
333378
libc.src.math.scalbn
334379
libc.src.math.scalbnf
335380
libc.src.math.scalbnl
381+
libc.src.math.sincos
336382
libc.src.math.sincosf
383+
libc.src.math.sin
337384
libc.src.math.sinf
338385
libc.src.math.sinhf
339386
libc.src.math.sqrt
@@ -344,6 +391,12 @@ set(TARGET_LIBM_ENTRYPOINTS
344391
libc.src.math.trunc
345392
libc.src.math.truncf
346393
libc.src.math.truncl
394+
libc.src.math.ufromfp
395+
libc.src.math.ufromfpf
396+
libc.src.math.ufromfpl
397+
libc.src.math.ufromfpx
398+
libc.src.math.ufromfpxf
399+
libc.src.math.ufromfpxl
347400
)
348401

349402
if(LIBC_COMPILER_HAS_FIXED_POINT)

libc/config/baremetal/riscv/entrypoints.txt

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,12 +224,16 @@ set(TARGET_LIBM_ENTRYPOINTS
224224
libc.src.math.atan2f
225225
libc.src.math.atanf
226226
libc.src.math.atanhf
227+
libc.src.math.canonicalize
228+
libc.src.math.canonicalizef
229+
libc.src.math.canonicalizel
227230
libc.src.math.ceil
228231
libc.src.math.ceilf
229232
libc.src.math.ceill
230233
libc.src.math.copysign
231234
libc.src.math.copysignf
232235
libc.src.math.copysignl
236+
libc.src.math.cos
233237
libc.src.math.cosf
234238
libc.src.math.coshf
235239
libc.src.math.erff
@@ -238,6 +242,7 @@ set(TARGET_LIBM_ENTRYPOINTS
238242
libc.src.math.exp10f
239243
libc.src.math.exp2
240244
libc.src.math.exp2f
245+
libc.src.math.exp2m1f
241246
libc.src.math.expf
242247
libc.src.math.expm1
243248
libc.src.math.expm1f
@@ -258,11 +263,42 @@ set(TARGET_LIBM_ENTRYPOINTS
258263
libc.src.math.fmin
259264
libc.src.math.fminf
260265
libc.src.math.fminl
266+
libc.src.math.fmaximum
267+
libc.src.math.fmaximumf
268+
libc.src.math.fmaximuml
269+
libc.src.math.fmaximum_num
270+
libc.src.math.fmaximum_numf
271+
libc.src.math.fmaximum_numl
272+
libc.src.math.fmaximum_mag
273+
libc.src.math.fmaximum_magf
274+
libc.src.math.fmaximum_magl
275+
libc.src.math.fmaximum_mag_num
276+
libc.src.math.fmaximum_mag_numf
277+
libc.src.math.fmaximum_mag_numl
278+
libc.src.math.fminimum
279+
libc.src.math.fminimumf
280+
libc.src.math.fminimuml
281+
libc.src.math.fminimum_num
282+
libc.src.math.fminimum_numf
283+
libc.src.math.fminimum_numl
284+
libc.src.math.fminimum_mag
285+
libc.src.math.fminimum_magf
286+
libc.src.math.fminimum_magl
287+
libc.src.math.fminimum_mag_num
288+
libc.src.math.fminimum_mag_numf
289+
libc.src.math.fminimum_mag_numl
290+
libc.src.math.fmul
261291
libc.src.math.fmod
262292
libc.src.math.fmodf
263293
libc.src.math.frexp
264294
libc.src.math.frexpf
265295
libc.src.math.frexpl
296+
libc.src.math.fromfp
297+
libc.src.math.fromfpf
298+
libc.src.math.fromfpl
299+
libc.src.math.fromfpx
300+
libc.src.math.fromfpxf
301+
libc.src.math.fromfpxl
266302
libc.src.math.hypot
267303
libc.src.math.hypotf
268304
libc.src.math.ilogb
@@ -309,9 +345,15 @@ set(TARGET_LIBM_ENTRYPOINTS
309345
libc.src.math.nextafter
310346
libc.src.math.nextafterf
311347
libc.src.math.nextafterl
348+
libc.src.math.nextdown
349+
libc.src.math.nextdownf
350+
libc.src.math.nextdownl
312351
libc.src.math.nexttoward
313352
libc.src.math.nexttowardf
314353
libc.src.math.nexttowardl
354+
libc.src.math.nextup
355+
libc.src.math.nextupf
356+
libc.src.math.nextupl
315357
libc.src.math.powf
316358
libc.src.math.remainder
317359
libc.src.math.remainderf
@@ -325,10 +367,17 @@ set(TARGET_LIBM_ENTRYPOINTS
325367
libc.src.math.round
326368
libc.src.math.roundf
327369
libc.src.math.roundl
370+
libc.src.math.roundeven
371+
libc.src.math.roundevenf
372+
libc.src.math.roundevenl
328373
libc.src.math.scalbn
329374
libc.src.math.scalbnf
330375
libc.src.math.scalbnl
376+
libc.src.math.sincos
331377
libc.src.math.sincosf
378+
379+
libc.src.math.sincosf
380+
libc.src.math.sin
332381
libc.src.math.sinf
333382
libc.src.math.sinhf
334383
libc.src.math.sqrt
@@ -339,6 +388,12 @@ set(TARGET_LIBM_ENTRYPOINTS
339388
libc.src.math.trunc
340389
libc.src.math.truncf
341390
libc.src.math.truncl
391+
libc.src.math.ufromfp
392+
libc.src.math.ufromfpf
393+
libc.src.math.ufromfpl
394+
libc.src.math.ufromfpx
395+
libc.src.math.ufromfpxf
396+
libc.src.math.ufromfpxl
342397
)
343398

344399
if(LIBC_COMPILER_HAS_FIXED_POINT)

0 commit comments

Comments
 (0)