Skip to content

Commit 628c0e3

Browse files
authored
[libc][math][c++23] Add bf16mul{,f,l,f128} math functions (#152847)
This PR adds the following basic math functions for BFloat16 type along with the tests: - bf16mul - bf16mulf - bf16mull - bf16mulf128 --------- Signed-off-by: Krishna Pandey <[email protected]>
1 parent 12cec43 commit 628c0e3

33 files changed

+515
-2
lines changed

libc/config/baremetal/aarch64/entrypoints.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -760,6 +760,9 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
760760
libc.src.math.bf16add
761761
libc.src.math.bf16addf
762762
libc.src.math.bf16addl
763+
libc.src.math.bf16mul
764+
libc.src.math.bf16mulf
765+
libc.src.math.bf16mull
763766
libc.src.math.bf16sub
764767
libc.src.math.bf16subf
765768
libc.src.math.bf16subl
@@ -777,6 +780,7 @@ if(LIBC_TYPES_HAS_FLOAT128)
777780
list(APPEND TARGET_LIBM_ENTRYPOINTS
778781
# math.h C++23 mixed bfloat16 and _Float128 entrypoints
779782
libc.src.math.bf16addf128
783+
libc.src.math.bf16mulf128
780784
libc.src.math.bf16subf128
781785
)
782786
endif()

libc/config/baremetal/arm/entrypoints.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -763,6 +763,9 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
763763
libc.src.math.bf16add
764764
libc.src.math.bf16addf
765765
libc.src.math.bf16addl
766+
libc.src.math.bf16mul
767+
libc.src.math.bf16mulf
768+
libc.src.math.bf16mull
766769
libc.src.math.bf16sub
767770
libc.src.math.bf16subf
768771
libc.src.math.bf16subl
@@ -780,6 +783,7 @@ if(LIBC_TYPES_HAS_FLOAT128)
780783
list(APPEND TARGET_LIBM_ENTRYPOINTS
781784
# math.h C++23 mixed bfloat16 and _Float128 entrypoints
782785
libc.src.math.bf16addf128
786+
libc.src.math.bf16mulf128
783787
libc.src.math.bf16subf128
784788
)
785789
endif()

libc/config/baremetal/riscv/entrypoints.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -763,6 +763,9 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
763763
libc.src.math.bf16add
764764
libc.src.math.bf16addf
765765
libc.src.math.bf16addl
766+
libc.src.math.bf16mul
767+
libc.src.math.bf16mulf
768+
libc.src.math.bf16mull
766769
libc.src.math.bf16sub
767770
libc.src.math.bf16subf
768771
libc.src.math.bf16subl
@@ -780,6 +783,7 @@ if(LIBC_TYPES_HAS_FLOAT128)
780783
list(APPEND TARGET_LIBM_ENTRYPOINTS
781784
# math.h C++23 mixed bfloat16 and _Float128 entrypoints
782785
libc.src.math.bf16addf128
786+
libc.src.math.bf16mulf128
783787
libc.src.math.bf16subf128
784788
)
785789
endif()

libc/config/darwin/aarch64/entrypoints.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -593,6 +593,9 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
593593
libc.src.math.bf16add
594594
libc.src.math.bf16addf
595595
libc.src.math.bf16addl
596+
libc.src.math.bf16mul
597+
libc.src.math.bf16mulf
598+
libc.src.math.bf16mull
596599
libc.src.math.bf16sub
597600
libc.src.math.bf16subf
598601
libc.src.math.bf16subl
@@ -610,6 +613,7 @@ if(LIBC_TYPES_HAS_FLOAT128)
610613
list(APPEND TARGET_LIBM_ENTRYPOINTS
611614
# math.h C++23 mixed bfloat16 and _Float128 entrypoints
612615
libc.src.math.bf16addf128
616+
libc.src.math.bf16mulf128
613617
libc.src.math.bf16subf128
614618
)
615619
endif()

libc/config/darwin/x86_64/entrypoints.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,9 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
236236
libc.src.math.bf16add
237237
libc.src.math.bf16addf
238238
libc.src.math.bf16addl
239+
libc.src.math.bf16mul
240+
libc.src.math.bf16mulf
241+
libc.src.math.bf16mull
239242
libc.src.math.bf16sub
240243
libc.src.math.bf16subf
241244
libc.src.math.bf16subl

libc/config/gpu/amdgpu/entrypoints.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -619,6 +619,9 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
619619
libc.src.math.bf16add
620620
libc.src.math.bf16addf
621621
libc.src.math.bf16addl
622+
libc.src.math.bf16mul
623+
libc.src.math.bf16mulf
624+
libc.src.math.bf16mull
622625
libc.src.math.bf16sub
623626
libc.src.math.bf16subf
624627
libc.src.math.bf16subl

libc/config/gpu/nvptx/entrypoints.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -620,6 +620,9 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
620620
libc.src.math.bf16add
621621
libc.src.math.bf16addf
622622
libc.src.math.bf16addl
623+
libc.src.math.bf16mul
624+
libc.src.math.bf16mulf
625+
libc.src.math.bf16mull
623626
libc.src.math.bf16sub
624627
libc.src.math.bf16subf
625628
libc.src.math.bf16subl

libc/config/linux/aarch64/entrypoints.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -847,6 +847,9 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
847847
libc.src.math.bf16add
848848
libc.src.math.bf16addf
849849
libc.src.math.bf16addl
850+
libc.src.math.bf16mul
851+
libc.src.math.bf16mulf
852+
libc.src.math.bf16mull
850853
libc.src.math.bf16sub
851854
libc.src.math.bf16subf
852855
libc.src.math.bf16subl
@@ -864,6 +867,7 @@ if(LIBC_TYPES_HAS_FLOAT128)
864867
list(APPEND TARGET_LIBM_ENTRYPOINTS
865868
# math.h C++23 mixed bfloat16 and _Float128 entrypoints
866869
libc.src.math.bf16addf128
870+
libc.src.math.bf16mulf128
867871
libc.src.math.bf16subf128
868872
)
869873
endif()

libc/config/linux/arm/entrypoints.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -463,6 +463,9 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
463463
libc.src.math.bf16add
464464
libc.src.math.bf16addf
465465
libc.src.math.bf16addl
466+
libc.src.math.bf16mul
467+
libc.src.math.bf16mulf
468+
libc.src.math.bf16mull
466469
libc.src.math.bf16sub
467470
libc.src.math.bf16subf
468471
libc.src.math.bf16subl

libc/config/linux/riscv/entrypoints.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -866,6 +866,9 @@ list(APPEND TARGET_LIBM_ENTRYPOINTS
866866
libc.src.math.bf16add
867867
libc.src.math.bf16addf
868868
libc.src.math.bf16addl
869+
libc.src.math.bf16mul
870+
libc.src.math.bf16mulf
871+
libc.src.math.bf16mull
869872
libc.src.math.bf16sub
870873
libc.src.math.bf16subf
871874
libc.src.math.bf16subl
@@ -883,6 +886,7 @@ if(LIBC_TYPES_HAS_FLOAT128)
883886
list(APPEND TARGET_LIBM_ENTRYPOINTS
884887
# math.h C++23 mixed bfloat16 and _Float128 entrypoints
885888
libc.src.math.bf16addf128
889+
libc.src.math.bf16mulf128
886890
libc.src.math.bf16subf128
887891
)
888892
endif()

0 commit comments

Comments
 (0)