Skip to content
1 change: 1 addition & 0 deletions libc/config/gpu/amdgpu/entrypoints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -451,6 +451,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.nextupl
libc.src.math.pow
libc.src.math.powf
libc.src.math.powf16
libc.src.math.remainder
libc.src.math.remainderf
libc.src.math.remainderl
Expand Down
1 change: 1 addition & 0 deletions libc/config/gpu/nvptx/entrypoints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -452,6 +452,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.nextupl
libc.src.math.pow
libc.src.math.powf
libc.src.math.powf16
libc.src.math.remainder
libc.src.math.remainderf
libc.src.math.remainderl
Expand Down
1 change: 1 addition & 0 deletions libc/config/linux/aarch64/entrypoints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -592,6 +592,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.nextupl
libc.src.math.pow
libc.src.math.powf
libc.src.math.powf16
libc.src.math.remainder
libc.src.math.remainderf
libc.src.math.remainderl
Expand Down
1 change: 1 addition & 0 deletions libc/config/linux/arm/entrypoints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -405,6 +405,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.nextupl
libc.src.math.pow
libc.src.math.powf
libc.src.math.powf16
libc.src.math.remainder
libc.src.math.remainderf
libc.src.math.remainderl
Expand Down
1 change: 1 addition & 0 deletions libc/config/linux/riscv/entrypoints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -600,6 +600,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.nextupl
libc.src.math.pow
libc.src.math.powf
libc.src.math.powf16
libc.src.math.remainder
libc.src.math.remainderf
libc.src.math.remainderl
Expand Down
1 change: 1 addition & 0 deletions libc/config/linux/x86_64/entrypoints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -632,6 +632,7 @@ set(TARGET_LIBM_ENTRYPOINTS
libc.src.math.nextupl
libc.src.math.pow
libc.src.math.powf
libc.src.math.powf16
libc.src.math.remainder
libc.src.math.remainderf
libc.src.math.remainderl
Expand Down
7 changes: 7 additions & 0 deletions libc/include/math.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2162,6 +2162,13 @@ functions:
arguments:
- type: float
- type: float
- name: powf16
standards:
- stdc
return_type: _Float16
arguments:
- type: _Float16
- type: _Float16
- name: powi
standards: llvm_libc_ext
return_type: double
Expand Down
1 change: 1 addition & 0 deletions libc/src/math/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -479,6 +479,7 @@ add_math_entrypoint_object(nextupbf16)

add_math_entrypoint_object(pow)
add_math_entrypoint_object(powf)
add_math_entrypoint_object(powf16)
add_math_entrypoint_object(powi)
add_math_entrypoint_object(powif)

Expand Down
22 changes: 22 additions & 0 deletions libc/src/math/generic/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1626,6 +1626,28 @@ add_entrypoint_object(
libc.src.__support.math.expxf16_utils
)

add_entrypoint_object(
powf16
SRCS
powf16.cpp
HDRS
../powf16.h
DEPENDS
libc.hdr.errno_macros
libc.hdr.fenv_macros
libc.src.__support.CPP.bit
libc.src.__support.FPUtil.fenv_impl
libc.src.__support.FPUtil.fp_bits
libc.src.__support.FPUtil.polyeval
libc.src.__support.FPUtil.cast
libc.src.__support.FPUtil.multiply_add
libc.src.__support.FPUtil.nearest_integer
libc.src.__support.FPUtil.sqrt
libc.src.__support.macros.optimization
libc.src.__support.math.exp10f_utils
libc.src.__support.math.common_constants
)

add_entrypoint_object(
powf
SRCS
Expand Down
Loading
Loading