Skip to content

Commit 550dbec

Browse files
authored
[libc][math][c++23] Add {,u}fromfp{,x}bf16 math functions (#153992)
This PR adds the following basic math functions for BFloat16 type along with the tests: - fromfpbf16 - fromfpxbf16 - ufromfpbf16 - ufromfpxbf16 --------- Signed-off-by: Krishna Pandey <[email protected]>
1 parent 28f2fb2 commit 550dbec

32 files changed

+475
-91
lines changed

libc/config/baremetal/aarch64/entrypoints.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -785,9 +785,13 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
785785
libc.src.math.fminimum_magbf16
786786
libc.src.math.fminimum_mag_numbf16
787787
libc.src.math.fminimum_numbf16
788+
libc.src.math.fromfpbf16
789+
libc.src.math.fromfpxbf16
788790
libc.src.math.roundbf16
789791
libc.src.math.roundevenbf16
790792
libc.src.math.truncbf16
793+
libc.src.math.ufromfpbf16
794+
libc.src.math.ufromfpxbf16
791795
)
792796

793797
if(LIBC_TYPES_HAS_FLOAT128)

libc/config/baremetal/arm/entrypoints.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -788,9 +788,13 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
788788
libc.src.math.fminimum_magbf16
789789
libc.src.math.fminimum_mag_numbf16
790790
libc.src.math.fminimum_numbf16
791+
libc.src.math.fromfpbf16
792+
libc.src.math.fromfpxbf16
791793
libc.src.math.roundbf16
792794
libc.src.math.roundevenbf16
793795
libc.src.math.truncbf16
796+
libc.src.math.ufromfpbf16
797+
libc.src.math.ufromfpxbf16
794798
)
795799

796800
if(LIBC_TYPES_HAS_FLOAT128)

libc/config/baremetal/riscv/entrypoints.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -788,9 +788,13 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
788788
libc.src.math.fminimum_magbf16
789789
libc.src.math.fminimum_mag_numbf16
790790
libc.src.math.fminimum_numbf16
791+
libc.src.math.fromfpbf16
792+
libc.src.math.fromfpxbf16
791793
libc.src.math.roundbf16
792794
libc.src.math.roundevenbf16
793795
libc.src.math.truncbf16
796+
libc.src.math.ufromfpbf16
797+
libc.src.math.ufromfpxbf16
794798
)
795799

796800
if(LIBC_TYPES_HAS_FLOAT128)

libc/config/darwin/aarch64/entrypoints.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -618,9 +618,13 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
618618
libc.src.math.fminimum_magbf16
619619
libc.src.math.fminimum_mag_numbf16
620620
libc.src.math.fminimum_numbf16
621+
libc.src.math.fromfpbf16
622+
libc.src.math.fromfpxbf16
621623
libc.src.math.roundbf16
622624
libc.src.math.roundevenbf16
623625
libc.src.math.truncbf16
626+
libc.src.math.ufromfpbf16
627+
libc.src.math.ufromfpxbf16
624628
)
625629

626630
if(LIBC_TYPES_HAS_FLOAT128)

libc/config/darwin/x86_64/entrypoints.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -261,10 +261,13 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
261261
libc.src.math.fminimum_magbf16
262262
libc.src.math.fminimum_mag_numbf16
263263
libc.src.math.fminimum_numbf16
264-
264+
libc.src.math.fromfpbf16
265+
libc.src.math.fromfpxbf16
265266
libc.src.math.roundbf16
266267
libc.src.math.roundevenbf16
267268
libc.src.math.truncbf16
269+
libc.src.math.ufromfpbf16
270+
libc.src.math.ufromfpxbf16
268271
)
269272

270273
set(TARGET_LLVMLIBC_ENTRYPOINTS

libc/config/gpu/amdgpu/entrypoints.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -644,9 +644,13 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
644644
libc.src.math.fminimum_magbf16
645645
libc.src.math.fminimum_mag_numbf16
646646
libc.src.math.fminimum_numbf16
647+
libc.src.math.fromfpbf16
648+
libc.src.math.fromfpxbf16
647649
libc.src.math.roundbf16
648650
libc.src.math.roundevenbf16
649651
libc.src.math.truncbf16
652+
libc.src.math.ufromfpbf16
653+
libc.src.math.ufromfpxbf16
650654
)
651655

652656
set(TARGET_LLVMLIBC_ENTRYPOINTS

libc/config/gpu/nvptx/entrypoints.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -645,9 +645,13 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
645645
libc.src.math.fminimum_magbf16
646646
libc.src.math.fminimum_mag_numbf16
647647
libc.src.math.fminimum_numbf16
648+
libc.src.math.fromfpbf16
649+
libc.src.math.fromfpxbf16
648650
libc.src.math.roundbf16
649651
libc.src.math.roundevenbf16
650652
libc.src.math.truncbf16
653+
libc.src.math.ufromfpbf16
654+
libc.src.math.ufromfpxbf16
651655
)
652656

653657
set(TARGET_LLVMLIBC_ENTRYPOINTS

libc/config/linux/aarch64/entrypoints.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -873,9 +873,13 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
873873
libc.src.math.fminimum_magbf16
874874
libc.src.math.fminimum_mag_numbf16
875875
libc.src.math.fminimum_numbf16
876+
libc.src.math.fromfpbf16
877+
libc.src.math.fromfpxbf16
876878
libc.src.math.roundbf16
877879
libc.src.math.roundevenbf16
878880
libc.src.math.truncbf16
881+
libc.src.math.ufromfpbf16
882+
libc.src.math.ufromfpxbf16
879883
)
880884

881885
if(LIBC_TYPES_HAS_FLOAT128)

libc/config/linux/arm/entrypoints.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -488,9 +488,13 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
488488
libc.src.math.fminimum_magbf16
489489
libc.src.math.fminimum_mag_numbf16
490490
libc.src.math.fminimum_numbf16
491+
libc.src.math.fromfpbf16
492+
libc.src.math.fromfpxbf16
491493
libc.src.math.roundbf16
492494
libc.src.math.roundevenbf16
493495
libc.src.math.truncbf16
496+
libc.src.math.ufromfpbf16
497+
libc.src.math.ufromfpxbf16
494498
)
495499

496500
set(TARGET_LLVMLIBC_ENTRYPOINTS

libc/config/linux/riscv/entrypoints.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -891,9 +891,13 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
891891
libc.src.math.fminimum_magbf16
892892
libc.src.math.fminimum_mag_numbf16
893893
libc.src.math.fminimum_numbf16
894+
libc.src.math.fromfpbf16
895+
libc.src.math.fromfpxbf16
894896
libc.src.math.roundbf16
895897
libc.src.math.roundevenbf16
896898
libc.src.math.truncbf16
899+
libc.src.math.ufromfpbf16
900+
libc.src.math.ufromfpxbf16
897901
)
898902

899903
if(LIBC_TYPES_HAS_FLOAT128)

0 commit comments

Comments
 (0)