Skip to content

Commit 6074335

Browse files
authored
[libc][math][c++23] Add {nearbyint,rint,lrint,llrint,lround,llround}bf16 math functions (#153882)
This PR adds the following basic math functions for BFloat16 type along with the tests: - nearbyintbf16 - rintbf16 - lrintbf16 - llrintbf16 - lroundbf16 - llroundbf16 --------- Signed-off-by: Krishna Pandey <[email protected]>
1 parent a7a1781 commit 6074335

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+808
-11
lines changed

libc/config/baremetal/aarch64/entrypoints.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -785,16 +785,22 @@ 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.llrintbf16
789+
libc.src.math.llroundbf16
790+
libc.src.math.lrintbf16
791+
libc.src.math.lroundbf16
788792
libc.src.math.fromfpbf16
789793
libc.src.math.fromfpxbf16
790794
libc.src.math.getpayloadbf16
791795
libc.src.math.nanbf16
796+
libc.src.math.nearbyintbf16
792797
libc.src.math.nextafterbf16
793798
libc.src.math.nextdownbf16
794799
libc.src.math.nexttowardbf16
795800
libc.src.math.nextupbf16
796801
libc.src.math.roundbf16
797802
libc.src.math.roundevenbf16
803+
libc.src.math.rintbf16
798804
libc.src.math.setpayloadbf16
799805
libc.src.math.setpayloadsigbf16
800806
libc.src.math.truncbf16

libc/config/baremetal/arm/entrypoints.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -788,16 +788,22 @@ 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.llrintbf16
792+
libc.src.math.llroundbf16
793+
libc.src.math.lrintbf16
794+
libc.src.math.lroundbf16
791795
libc.src.math.fromfpbf16
792796
libc.src.math.fromfpxbf16
793797
libc.src.math.getpayloadbf16
794798
libc.src.math.nanbf16
799+
libc.src.math.nearbyintbf16
795800
libc.src.math.nextafterbf16
796801
libc.src.math.nextdownbf16
797802
libc.src.math.nexttowardbf16
798803
libc.src.math.nextupbf16
799804
libc.src.math.roundbf16
800805
libc.src.math.roundevenbf16
806+
libc.src.math.rintbf16
801807
libc.src.math.setpayloadbf16
802808
libc.src.math.setpayloadsigbf16
803809
libc.src.math.truncbf16

libc/config/baremetal/riscv/entrypoints.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -788,16 +788,22 @@ 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.llrintbf16
792+
libc.src.math.llroundbf16
793+
libc.src.math.lrintbf16
794+
libc.src.math.lroundbf16
791795
libc.src.math.fromfpbf16
792796
libc.src.math.fromfpxbf16
793797
libc.src.math.getpayloadbf16
794798
libc.src.math.nanbf16
799+
libc.src.math.nearbyintbf16
795800
libc.src.math.nextafterbf16
796801
libc.src.math.nextdownbf16
797802
libc.src.math.nexttowardbf16
798803
libc.src.math.nextupbf16
799804
libc.src.math.roundbf16
800805
libc.src.math.roundevenbf16
806+
libc.src.math.rintbf16
801807
libc.src.math.setpayloadbf16
802808
libc.src.math.setpayloadsigbf16
803809
libc.src.math.truncbf16

libc/config/darwin/aarch64/entrypoints.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -618,16 +618,22 @@ 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.llrintbf16
622+
libc.src.math.llroundbf16
623+
libc.src.math.lrintbf16
624+
libc.src.math.lroundbf16
621625
libc.src.math.fromfpbf16
622626
libc.src.math.fromfpxbf16
623627
libc.src.math.getpayloadbf16
624628
libc.src.math.nanbf16
629+
libc.src.math.nearbyintbf16
625630
libc.src.math.nextafterbf16
626631
libc.src.math.nextdownbf16
627632
libc.src.math.nexttowardbf16
628633
libc.src.math.nextupbf16
629634
libc.src.math.roundbf16
630635
libc.src.math.roundevenbf16
636+
libc.src.math.rintbf16
631637
libc.src.math.setpayloadbf16
632638
libc.src.math.setpayloadsigbf16
633639
libc.src.math.truncbf16

libc/config/darwin/x86_64/entrypoints.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,16 +261,22 @@ 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+
libc.src.math.llrintbf16
265+
libc.src.math.llroundbf16
266+
libc.src.math.lrintbf16
267+
libc.src.math.lroundbf16
264268
libc.src.math.fromfpbf16
265269
libc.src.math.fromfpxbf16
266270
libc.src.math.getpayloadbf16
267271
libc.src.math.nanbf16
272+
libc.src.math.nearbyintbf16
268273
libc.src.math.nextafterbf16
269274
libc.src.math.nextdownbf16
270275
libc.src.math.nexttowardbf16
271276
libc.src.math.nextupbf16
272277
libc.src.math.roundbf16
273278
libc.src.math.roundevenbf16
279+
libc.src.math.rintbf16
274280
libc.src.math.setpayloadbf16
275281
libc.src.math.setpayloadsigbf16
276282
libc.src.math.truncbf16

libc/config/gpu/amdgpu/entrypoints.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -644,16 +644,22 @@ 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.llrintbf16
648+
libc.src.math.llroundbf16
649+
libc.src.math.lrintbf16
650+
libc.src.math.lroundbf16
647651
libc.src.math.fromfpbf16
648652
libc.src.math.fromfpxbf16
649653
libc.src.math.getpayloadbf16
650654
libc.src.math.nanbf16
655+
libc.src.math.nearbyintbf16
651656
libc.src.math.nextafterbf16
652657
libc.src.math.nextdownbf16
653658
libc.src.math.nexttowardbf16
654659
libc.src.math.nextupbf16
655660
libc.src.math.roundbf16
656661
libc.src.math.roundevenbf16
662+
libc.src.math.rintbf16
657663
libc.src.math.setpayloadbf16
658664
libc.src.math.setpayloadsigbf16
659665
libc.src.math.truncbf16

libc/config/gpu/nvptx/entrypoints.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -646,16 +646,22 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
646646
libc.src.math.fminimum_magbf16
647647
libc.src.math.fminimum_mag_numbf16
648648
libc.src.math.fminimum_numbf16
649+
libc.src.math.llrintbf16
650+
libc.src.math.llroundbf16
651+
libc.src.math.lrintbf16
652+
libc.src.math.lroundbf16
649653
libc.src.math.fromfpbf16
650654
libc.src.math.fromfpxbf16
651655
libc.src.math.getpayloadbf16
652656
libc.src.math.nanbf16
657+
libc.src.math.nearbyintbf16
653658
libc.src.math.nextafterbf16
654659
libc.src.math.nextdownbf16
655660
libc.src.math.nexttowardbf16
656661
libc.src.math.nextupbf16
657662
libc.src.math.roundbf16
658663
libc.src.math.roundevenbf16
664+
libc.src.math.rintbf16
659665
libc.src.math.setpayloadbf16
660666
libc.src.math.setpayloadsigbf16
661667
libc.src.math.truncbf16

libc/config/linux/aarch64/entrypoints.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -873,16 +873,22 @@ 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.llrintbf16
877+
libc.src.math.llroundbf16
878+
libc.src.math.lrintbf16
879+
libc.src.math.lroundbf16
876880
libc.src.math.fromfpbf16
877881
libc.src.math.fromfpxbf16
878882
libc.src.math.getpayloadbf16
879883
libc.src.math.nanbf16
884+
libc.src.math.nearbyintbf16
880885
libc.src.math.nextafterbf16
881886
libc.src.math.nextdownbf16
882887
libc.src.math.nexttowardbf16
883888
libc.src.math.nextupbf16
884889
libc.src.math.roundbf16
885890
libc.src.math.roundevenbf16
891+
libc.src.math.rintbf16
886892
libc.src.math.setpayloadbf16
887893
libc.src.math.setpayloadsigbf16
888894
libc.src.math.truncbf16

libc/config/linux/arm/entrypoints.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -488,16 +488,22 @@ 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.llrintbf16
492+
libc.src.math.llroundbf16
493+
libc.src.math.lrintbf16
494+
libc.src.math.lroundbf16
491495
libc.src.math.fromfpbf16
492496
libc.src.math.fromfpxbf16
493497
libc.src.math.getpayloadbf16
494498
libc.src.math.nanbf16
499+
libc.src.math.nearbyintbf16
495500
libc.src.math.nextafterbf16
496501
libc.src.math.nextdownbf16
497502
libc.src.math.nexttowardbf16
498503
libc.src.math.nextupbf16
499504
libc.src.math.roundbf16
500505
libc.src.math.roundevenbf16
506+
libc.src.math.rintbf16
501507
libc.src.math.setpayloadbf16
502508
libc.src.math.setpayloadsigbf16
503509
libc.src.math.truncbf16

libc/config/linux/riscv/entrypoints.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -891,16 +891,22 @@ 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.llrintbf16
895+
libc.src.math.llroundbf16
896+
libc.src.math.lrintbf16
897+
libc.src.math.lroundbf16
894898
libc.src.math.fromfpbf16
895899
libc.src.math.fromfpxbf16
896900
libc.src.math.getpayloadbf16
897901
libc.src.math.nanbf16
902+
libc.src.math.nearbyintbf16
898903
libc.src.math.nextafterbf16
899904
libc.src.math.nextdownbf16
900905
libc.src.math.nexttowardbf16
901906
libc.src.math.nextupbf16
902907
libc.src.math.roundbf16
903908
libc.src.math.roundevenbf16
909+
libc.src.math.rintbf16
904910
libc.src.math.setpayloadbf16
905911
libc.src.math.setpayloadsigbf16
906912
libc.src.math.truncbf16

0 commit comments

Comments
 (0)