Skip to content

Commit 3d2b282

Browse files
authored
[libc][math][c++23] Add {canonicalize,iscanonical,fdim,copysign,issignaling}bf16 math functions (#155567)
This PR adds the following basic math functions for BFloat16 type along with the tests: - canonicalizebf16 - iscanonicalbf16 - fdimbf16 - copysignbf16 - issignalingbf16 --------- Signed-off-by: Krishna Pandey <[email protected]>
1 parent 90d429c commit 3d2b282

32 files changed

+496
-6
lines changed

libc/config/baremetal/aarch64/entrypoints.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -772,8 +772,11 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
772772
libc.src.math.bf16sub
773773
libc.src.math.bf16subf
774774
libc.src.math.bf16subl
775+
libc.src.math.canonicalizebf16
775776
libc.src.math.ceilbf16
777+
libc.src.math.copysignbf16
776778
libc.src.math.fabsbf16
779+
libc.src.math.fdimbf16
777780
libc.src.math.floorbf16
778781
libc.src.math.fmaxbf16
779782
libc.src.math.fmaximumbf16
@@ -790,6 +793,8 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
790793
libc.src.math.fromfpxbf16
791794
libc.src.math.getpayloadbf16
792795
libc.src.math.ilogbbf16
796+
libc.src.math.iscanonicalbf16
797+
libc.src.math.issignalingbf16
793798
libc.src.math.ldexpbf16
794799
libc.src.math.llogbbf16
795800
libc.src.math.llrintbf16

libc/config/baremetal/arm/entrypoints.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -775,8 +775,11 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
775775
libc.src.math.bf16sub
776776
libc.src.math.bf16subf
777777
libc.src.math.bf16subl
778+
libc.src.math.canonicalizebf16
778779
libc.src.math.ceilbf16
780+
libc.src.math.copysignbf16
779781
libc.src.math.fabsbf16
782+
libc.src.math.fdimbf16
780783
libc.src.math.floorbf16
781784
libc.src.math.fmaxbf16
782785
libc.src.math.fmaximumbf16
@@ -793,6 +796,8 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
793796
libc.src.math.fromfpxbf16
794797
libc.src.math.getpayloadbf16
795798
libc.src.math.ilogbbf16
799+
libc.src.math.iscanonicalbf16
800+
libc.src.math.issignalingbf16
796801
libc.src.math.ldexpbf16
797802
libc.src.math.llogbbf16
798803
libc.src.math.llrintbf16

libc/config/baremetal/riscv/entrypoints.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -775,8 +775,11 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
775775
libc.src.math.bf16sub
776776
libc.src.math.bf16subf
777777
libc.src.math.bf16subl
778+
libc.src.math.canonicalizebf16
778779
libc.src.math.ceilbf16
780+
libc.src.math.copysignbf16
779781
libc.src.math.fabsbf16
782+
libc.src.math.fdimbf16
780783
libc.src.math.floorbf16
781784
libc.src.math.fmaxbf16
782785
libc.src.math.fmaximumbf16
@@ -793,6 +796,8 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
793796
libc.src.math.fromfpxbf16
794797
libc.src.math.getpayloadbf16
795798
libc.src.math.ilogbbf16
799+
libc.src.math.iscanonicalbf16
800+
libc.src.math.issignalingbf16
796801
libc.src.math.ldexpbf16
797802
libc.src.math.llogbbf16
798803
libc.src.math.llrintbf16

libc/config/darwin/aarch64/entrypoints.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -605,8 +605,11 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
605605
libc.src.math.bf16sub
606606
libc.src.math.bf16subf
607607
libc.src.math.bf16subl
608+
libc.src.math.canonicalizebf16
608609
libc.src.math.ceilbf16
610+
libc.src.math.copysignbf16
609611
libc.src.math.fabsbf16
612+
libc.src.math.fdimbf16
610613
libc.src.math.floorbf16
611614
libc.src.math.fmaxbf16
612615
libc.src.math.fmaximumbf16
@@ -623,6 +626,8 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
623626
libc.src.math.fromfpxbf16
624627
libc.src.math.getpayloadbf16
625628
libc.src.math.ilogbbf16
629+
libc.src.math.iscanonicalbf16
630+
libc.src.math.issignalingbf16
626631
libc.src.math.ldexpbf16
627632
libc.src.math.llogbbf16
628633
libc.src.math.llrintbf16

libc/config/darwin/x86_64/entrypoints.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -248,8 +248,11 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
248248
libc.src.math.bf16sub
249249
libc.src.math.bf16subf
250250
libc.src.math.bf16subl
251+
libc.src.math.canonicalizebf16
251252
libc.src.math.ceilbf16
253+
libc.src.math.copysignbf16
252254
libc.src.math.fabsbf16
255+
libc.src.math.fdimbf16
253256
libc.src.math.floorbf16
254257
libc.src.math.fmaxbf16
255258
libc.src.math.fmaximumbf16
@@ -266,6 +269,8 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
266269
libc.src.math.fromfpxbf16
267270
libc.src.math.getpayloadbf16
268271
libc.src.math.ilogbbf16
272+
libc.src.math.iscanonicalbf16
273+
libc.src.math.issignalingbf16
269274
libc.src.math.ldexpbf16
270275
libc.src.math.llogbbf16
271276
libc.src.math.llrintbf16

libc/config/gpu/amdgpu/entrypoints.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -631,8 +631,11 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
631631
libc.src.math.bf16sub
632632
libc.src.math.bf16subf
633633
libc.src.math.bf16subl
634+
libc.src.math.canonicalizebf16
634635
libc.src.math.ceilbf16
636+
libc.src.math.copysignbf16
635637
libc.src.math.fabsbf16
638+
libc.src.math.fdimbf16
636639
libc.src.math.floorbf16
637640
libc.src.math.fmaxbf16
638641
libc.src.math.fmaximumbf16
@@ -649,6 +652,8 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
649652
libc.src.math.fromfpxbf16
650653
libc.src.math.getpayloadbf16
651654
libc.src.math.ilogbbf16
655+
libc.src.math.iscanonicalbf16
656+
libc.src.math.issignalingbf16
652657
libc.src.math.ldexpbf16
653658
libc.src.math.llogbbf16
654659
libc.src.math.llrintbf16

libc/config/gpu/nvptx/entrypoints.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -633,8 +633,11 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
633633
libc.src.math.bf16sub
634634
libc.src.math.bf16subf
635635
libc.src.math.bf16subl
636+
libc.src.math.canonicalizebf16
636637
libc.src.math.ceilbf16
638+
libc.src.math.copysignbf16
637639
libc.src.math.fabsbf16
640+
libc.src.math.fdimbf16
638641
libc.src.math.floorbf16
639642
libc.src.math.fmaxbf16
640643
libc.src.math.fmaximumbf16
@@ -651,6 +654,8 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
651654
libc.src.math.fromfpxbf16
652655
libc.src.math.getpayloadbf16
653656
libc.src.math.ilogbbf16
657+
libc.src.math.iscanonicalbf16
658+
libc.src.math.issignalingbf16
654659
libc.src.math.ldexpbf16
655660
libc.src.math.llogbbf16
656661
libc.src.math.llrintbf16

libc/config/linux/aarch64/entrypoints.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -860,8 +860,11 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
860860
libc.src.math.bf16sub
861861
libc.src.math.bf16subf
862862
libc.src.math.bf16subl
863+
libc.src.math.canonicalizebf16
863864
libc.src.math.ceilbf16
865+
libc.src.math.copysignbf16
864866
libc.src.math.fabsbf16
867+
libc.src.math.fdimbf16
865868
libc.src.math.floorbf16
866869
libc.src.math.fmaxbf16
867870
libc.src.math.fmaximumbf16
@@ -878,6 +881,8 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
878881
libc.src.math.fromfpxbf16
879882
libc.src.math.getpayloadbf16
880883
libc.src.math.ilogbbf16
884+
libc.src.math.iscanonicalbf16
885+
libc.src.math.issignalingbf16
881886
libc.src.math.ldexpbf16
882887
libc.src.math.llogbbf16
883888
libc.src.math.llrintbf16

libc/config/linux/arm/entrypoints.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -475,8 +475,11 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
475475
libc.src.math.bf16sub
476476
libc.src.math.bf16subf
477477
libc.src.math.bf16subl
478+
libc.src.math.canonicalizebf16
478479
libc.src.math.ceilbf16
480+
libc.src.math.copysignbf16
479481
libc.src.math.fabsbf16
482+
libc.src.math.fdimbf16
480483
libc.src.math.floorbf16
481484
libc.src.math.fmaxbf16
482485
libc.src.math.fmaximumbf16
@@ -493,6 +496,8 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
493496
libc.src.math.fromfpxbf16
494497
libc.src.math.getpayloadbf16
495498
libc.src.math.ilogbbf16
499+
libc.src.math.iscanonicalbf16
500+
libc.src.math.issignalingbf16
496501
libc.src.math.ldexpbf16
497502
libc.src.math.llogbbf16
498503
libc.src.math.llrintbf16

libc/config/linux/riscv/entrypoints.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -878,8 +878,11 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
878878
libc.src.math.bf16sub
879879
libc.src.math.bf16subf
880880
libc.src.math.bf16subl
881+
libc.src.math.canonicalizebf16
881882
libc.src.math.ceilbf16
883+
libc.src.math.copysignbf16
882884
libc.src.math.fabsbf16
885+
libc.src.math.fdimbf16
883886
libc.src.math.floorbf16
884887
libc.src.math.fmaxbf16
885888
libc.src.math.fmaximumbf16
@@ -896,6 +899,8 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
896899
libc.src.math.fromfpxbf16
897900
libc.src.math.getpayloadbf16
898901
libc.src.math.ilogbbf16
902+
libc.src.math.iscanonicalbf16
903+
libc.src.math.issignalingbf16
899904
libc.src.math.ldexpbf16
900905
libc.src.math.llogbbf16
901906
libc.src.math.llrintbf16

0 commit comments

Comments
 (0)