llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-libc Author: Zorojuro (Sukumarsawant) <details> <summary>Changes</summary> --- Full diff: https://github.com/llvm/llvm-project/pull/217567.diff 25 Files Affected: - (modified) libc/config/baremetal/aarch64/entrypoints.txt (+1-1) - (modified) libc/config/baremetal/arm/entrypoints.txt (+1-1) - (modified) libc/config/baremetal/riscv/entrypoints.txt (+1-1) - (modified) libc/config/darwin/aarch64/entrypoints.txt (+1-1) - (modified) libc/config/darwin/x86_64/entrypoints.txt (+1) - (modified) libc/config/freebsd/x86_64/entrypoints.txt (+1-1) - (modified) libc/config/gpu/amdgpu/entrypoints.txt (+1) - (modified) libc/config/gpu/nvptx/entrypoints.txt (+1) - (modified) libc/config/linux/aarch64/entrypoints.txt (+1-1) - (modified) libc/config/linux/arm/entrypoints.txt (+1) - (modified) libc/config/linux/riscv/entrypoints.txt (+1-1) - (modified) libc/config/linux/x86_64/entrypoints.txt (+1-1) - (modified) libc/config/windows/entrypoints.txt (+1) - (modified) libc/shared/math/fdimf128.h (-6) - (modified) libc/src/__support/math/CMakeLists.txt (+1-1) - (modified) libc/src/__support/math/fdimf128.h (+4-7) - (modified) libc/src/math/fdimf128.h (+5) - (modified) libc/src/math/generic/CMakeLists.txt (+1) - (modified) libc/src/math/generic/fdimf128.cpp (+5-1) - (modified) libc/test/shared/shared_math_constexpr_test.cpp (+2-2) - (modified) libc/test/shared/shared_math_test.cpp (+2-2) - (modified) libc/test/src/math/smoke/CMakeLists.txt (+1) - (modified) libc/test/src/math/smoke/fdimf128_test.cpp (+5) - (modified) utils/bazel/llvm-project-overlay/libc/BUILD.bazel (+3-1) - (modified) utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel (+3) ``````````diff diff --git a/libc/config/baremetal/aarch64/entrypoints.txt b/libc/config/baremetal/aarch64/entrypoints.txt index e461324171058..c4dd3dcac1eec 100644 --- a/libc/config/baremetal/aarch64/entrypoints.txt +++ b/libc/config/baremetal/aarch64/entrypoints.txt @@ -408,6 +408,7 @@ set(TARGET_LIBM_ENTRYPOINTS libc.src.math.fadd libc.src.math.fdim libc.src.math.fdimf + libc.src.math.fdimf128 libc.src.math.fdiml libc.src.math.fdiv libc.src.math.fdivl @@ -758,7 +759,6 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128) libc.src.math.dsqrtf128 libc.src.math.dsubf128 libc.src.math.faddf128 - libc.src.math.fdimf128 libc.src.math.fdivf128 libc.src.math.ffmaf128 libc.src.math.fmodf128 diff --git a/libc/config/baremetal/arm/entrypoints.txt b/libc/config/baremetal/arm/entrypoints.txt index 810d2bb277752..283ffbbb330ff 100644 --- a/libc/config/baremetal/arm/entrypoints.txt +++ b/libc/config/baremetal/arm/entrypoints.txt @@ -420,6 +420,7 @@ set(TARGET_LIBM_ENTRYPOINTS libc.src.math.fadd libc.src.math.fdim libc.src.math.fdimf + libc.src.math.fdimf128 libc.src.math.fdiml libc.src.math.fdiv libc.src.math.fdivl @@ -769,7 +770,6 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128) libc.src.math.dsqrtf128 libc.src.math.dsubf128 libc.src.math.faddf128 - libc.src.math.fdimf128 libc.src.math.fdivf128 libc.src.math.ffmaf128 libc.src.math.fmodf128 diff --git a/libc/config/baremetal/riscv/entrypoints.txt b/libc/config/baremetal/riscv/entrypoints.txt index 579838fa5e659..4fc769a9c40d5 100644 --- a/libc/config/baremetal/riscv/entrypoints.txt +++ b/libc/config/baremetal/riscv/entrypoints.txt @@ -416,6 +416,7 @@ set(TARGET_LIBM_ENTRYPOINTS libc.src.math.fadd libc.src.math.fdim libc.src.math.fdimf + libc.src.math.fdimf128 libc.src.math.fdiml libc.src.math.fdiv libc.src.math.fdivl @@ -766,7 +767,6 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128) libc.src.math.dsqrtf128 libc.src.math.dsubf128 libc.src.math.faddf128 - libc.src.math.fdimf128 libc.src.math.fdivf128 libc.src.math.ffmaf128 # libc.src.math.fmodf128 diff --git a/libc/config/darwin/aarch64/entrypoints.txt b/libc/config/darwin/aarch64/entrypoints.txt index 3dbc4010431b1..96efac733c1bb 100644 --- a/libc/config/darwin/aarch64/entrypoints.txt +++ b/libc/config/darwin/aarch64/entrypoints.txt @@ -227,6 +227,7 @@ set(TARGET_LIBM_ENTRYPOINTS libc.src.math.fadd libc.src.math.fdim libc.src.math.fdimf + libc.src.math.fdimf128 libc.src.math.fdiml libc.src.math.fdiv libc.src.math.fdivl @@ -578,7 +579,6 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128) libc.src.math.dsqrtf128 libc.src.math.dsubf128 libc.src.math.faddf128 - libc.src.math.fdimf128 libc.src.math.fdivf128 libc.src.math.ffmaf128 libc.src.math.fmodf128 diff --git a/libc/config/darwin/x86_64/entrypoints.txt b/libc/config/darwin/x86_64/entrypoints.txt index da5c8d91cb732..ff29edf14c74b 100644 --- a/libc/config/darwin/x86_64/entrypoints.txt +++ b/libc/config/darwin/x86_64/entrypoints.txt @@ -143,6 +143,7 @@ set(TARGET_LIBM_ENTRYPOINTS #libc.src.math.fabsl #libc.src.math.fdim #libc.src.math.fdimf + #libc.src.math.fdimf128 #libc.src.math.fdiml #libc.src.math.fdiv #libc.src.math.fdivl diff --git a/libc/config/freebsd/x86_64/entrypoints.txt b/libc/config/freebsd/x86_64/entrypoints.txt index 2cc7463626d39..799af1ccb4f0b 100644 --- a/libc/config/freebsd/x86_64/entrypoints.txt +++ b/libc/config/freebsd/x86_64/entrypoints.txt @@ -162,6 +162,7 @@ set(TARGET_LIBM_ENTRYPOINTS libc.src.math.faddl libc.src.math.fdim libc.src.math.fdimf + libc.src.math.fdimf128 libc.src.math.fdiml libc.src.math.fdiv libc.src.math.fdivl @@ -517,7 +518,6 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128) libc.src.math.dsqrtf128 libc.src.math.dsubf128 libc.src.math.faddf128 - libc.src.math.fdimf128 libc.src.math.fdivf128 libc.src.math.ffmaf128 libc.src.math.fmodf128 diff --git a/libc/config/gpu/amdgpu/entrypoints.txt b/libc/config/gpu/amdgpu/entrypoints.txt index bbb113009216d..a727eaa4b6b89 100644 --- a/libc/config/gpu/amdgpu/entrypoints.txt +++ b/libc/config/gpu/amdgpu/entrypoints.txt @@ -355,6 +355,7 @@ set(TARGET_LIBM_ENTRYPOINTS libc.src.math.faddl libc.src.math.fdim libc.src.math.fdimf + libc.src.math.fdimf128 libc.src.math.fdiml libc.src.math.fdiv libc.src.math.fdivl diff --git a/libc/config/gpu/nvptx/entrypoints.txt b/libc/config/gpu/nvptx/entrypoints.txt index 6cd2b61b9b70a..952e6e961839c 100644 --- a/libc/config/gpu/nvptx/entrypoints.txt +++ b/libc/config/gpu/nvptx/entrypoints.txt @@ -351,6 +351,7 @@ set(TARGET_LIBM_ENTRYPOINTS libc.src.math.faddl libc.src.math.fdim libc.src.math.fdimf + libc.src.math.fdimf128 libc.src.math.fdiml libc.src.math.fdiv libc.src.math.fdivl diff --git a/libc/config/linux/aarch64/entrypoints.txt b/libc/config/linux/aarch64/entrypoints.txt index 7a169dcedb766..e274e87036078 100644 --- a/libc/config/linux/aarch64/entrypoints.txt +++ b/libc/config/linux/aarch64/entrypoints.txt @@ -571,6 +571,7 @@ set(TARGET_LIBM_ENTRYPOINTS libc.src.math.fadd libc.src.math.fdim libc.src.math.fdimf + libc.src.math.fdimf128 libc.src.math.fdiml libc.src.math.floor libc.src.math.floorf @@ -911,7 +912,6 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128) libc.src.math.dsqrtf128 libc.src.math.dsubf128 libc.src.math.faddf128 - libc.src.math.fdimf128 libc.src.math.fdivf128 libc.src.math.ffmaf128 libc.src.math.fmodf128 diff --git a/libc/config/linux/arm/entrypoints.txt b/libc/config/linux/arm/entrypoints.txt index 9be34aec16856..c3306022a3c67 100644 --- a/libc/config/linux/arm/entrypoints.txt +++ b/libc/config/linux/arm/entrypoints.txt @@ -395,6 +395,7 @@ set(TARGET_LIBM_ENTRYPOINTS libc.src.math.fadd libc.src.math.fdim libc.src.math.fdimf + libc.src.math.fdimf128 libc.src.math.fdiml libc.src.math.fdiv libc.src.math.fdivl diff --git a/libc/config/linux/riscv/entrypoints.txt b/libc/config/linux/riscv/entrypoints.txt index 92f7eaf70c8d4..feeecd3311e61 100644 --- a/libc/config/linux/riscv/entrypoints.txt +++ b/libc/config/linux/riscv/entrypoints.txt @@ -635,6 +635,7 @@ set(TARGET_LIBM_ENTRYPOINTS libc.src.math.fadd libc.src.math.fdim libc.src.math.fdimf + libc.src.math.fdimf128 libc.src.math.fdiml libc.src.math.fdiv libc.src.math.fdivl @@ -996,7 +997,6 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128) libc.src.math.dsqrtf128 libc.src.math.dsubf128 libc.src.math.faddf128 - libc.src.math.fdimf128 libc.src.math.fdivf128 libc.src.math.ffmaf128 libc.src.math.fmodf128 diff --git a/libc/config/linux/x86_64/entrypoints.txt b/libc/config/linux/x86_64/entrypoints.txt index 4e25a228ebce6..5658e67002907 100644 --- a/libc/config/linux/x86_64/entrypoints.txt +++ b/libc/config/linux/x86_64/entrypoints.txt @@ -645,6 +645,7 @@ set(TARGET_LIBM_ENTRYPOINTS libc.src.math.fadd libc.src.math.fdim libc.src.math.fdimf + libc.src.math.fdimf128 libc.src.math.fdiml libc.src.math.fdiv libc.src.math.fdivl @@ -1006,7 +1007,6 @@ if(LIBC_TYPES_HAS_NATIVE_FLOAT128) libc.src.math.dsqrtf128 libc.src.math.dsubf128 libc.src.math.faddf128 - libc.src.math.fdimf128 libc.src.math.fdivf128 libc.src.math.ffmaf128 libc.src.math.fmodf128 diff --git a/libc/config/windows/entrypoints.txt b/libc/config/windows/entrypoints.txt index 5dc5dc8ed27a9..56399adecc082 100644 --- a/libc/config/windows/entrypoints.txt +++ b/libc/config/windows/entrypoints.txt @@ -194,6 +194,7 @@ set(TARGET_LIBM_ENTRYPOINTS libc.src.math.faddl libc.src.math.fdim libc.src.math.fdimf + libc.src.math.fdimf128 libc.src.math.fdiml libc.src.math.fdiv libc.src.math.fdivl diff --git a/libc/shared/math/fdimf128.h b/libc/shared/math/fdimf128.h index 0cac3ce9a67ae..16437f3bc0067 100644 --- a/libc/shared/math/fdimf128.h +++ b/libc/shared/math/fdimf128.h @@ -9,10 +9,6 @@ #ifndef LLVM_LIBC_SHARED_MATH_FDIMF128_H #define LLVM_LIBC_SHARED_MATH_FDIMF128_H -#include "include/llvm-libc-types/float128.h" - -#ifdef LIBC_TYPES_HAS_NATIVE_FLOAT128 - #include "shared/libc_common.h" #include "src/__support/math/fdimf128.h" @@ -24,6 +20,4 @@ using math::fdimf128; } // namespace shared } // namespace LIBC_NAMESPACE_DECL -#endif // LIBC_TYPES_HAS_NATIVE_FLOAT128 - #endif // LLVM_LIBC_SHARED_MATH_FDIMF128_H diff --git a/libc/src/__support/math/CMakeLists.txt b/libc/src/__support/math/CMakeLists.txt index 618f29510bb7c..415a75c1ace22 100644 --- a/libc/src/__support/math/CMakeLists.txt +++ b/libc/src/__support/math/CMakeLists.txt @@ -3436,7 +3436,7 @@ add_header_library( HDRS fdimf128.h DEPENDS - libc.include.llvm-libc-types.float128 + libc.src.__support.FPUtil.float128 libc.src.__support.FPUtil.basic_operations libc.src.__support.macros.config ) diff --git a/libc/src/__support/math/fdimf128.h b/libc/src/__support/math/fdimf128.h index 0f73f1c0561ee..63b3913fb7afb 100644 --- a/libc/src/__support/math/fdimf128.h +++ b/libc/src/__support/math/fdimf128.h @@ -9,23 +9,20 @@ #ifndef LLVM_LIBC_SRC___SUPPORT_MATH_FDIMF128_H #define LLVM_LIBC_SRC___SUPPORT_MATH_FDIMF128_H -#include "include/llvm-libc-types/float128.h" - -#ifdef LIBC_TYPES_HAS_NATIVE_FLOAT128 - #include "src/__support/FPUtil/BasicOperations.h" +#include "src/__support/FPUtil/float128.h" #include "src/__support/macros/config.h" namespace LIBC_NAMESPACE_DECL { namespace math { -LIBC_INLINE constexpr float128 fdimf128(float128 x, float128 y) { +using LIBC_NAMESPACE::fputil::Float128; + +LIBC_INLINE constexpr Float128 fdimf128(Float128 x, Float128 y) { return fputil::fdim(x, y); } } // namespace math } // namespace LIBC_NAMESPACE_DECL -#endif // LIBC_TYPES_HAS_NATIVE_FLOAT128 - #endif // LLVM_LIBC_SRC___SUPPORT_MATH_FDIMF128_H diff --git a/libc/src/math/fdimf128.h b/libc/src/math/fdimf128.h index a5e1387042b71..ead7fbc02162d 100644 --- a/libc/src/math/fdimf128.h +++ b/libc/src/math/fdimf128.h @@ -9,11 +9,16 @@ #ifndef LLVM_LIBC_SRC_MATH_FDIMF128_H #define LLVM_LIBC_SRC_MATH_FDIMF128_H +#include "src/__support/FPUtil/float128.h" #include "src/__support/macros/config.h" #include "src/__support/macros/properties/types.h" namespace LIBC_NAMESPACE_DECL { +#ifndef LIBC_TYPES_HAS_NATIVE_FLOAT128 +using float128 = LIBC_NAMESPACE::fputil::Float128; +#endif // LIBC_TYPES_HAS_NATIVE_FLOAT128 + float128 fdimf128(float128 x, float128 y); } // namespace LIBC_NAMESPACE_DECL diff --git a/libc/src/math/generic/CMakeLists.txt b/libc/src/math/generic/CMakeLists.txt index 2dcf252b28e99..e63aac676e95d 100644 --- a/libc/src/math/generic/CMakeLists.txt +++ b/libc/src/math/generic/CMakeLists.txt @@ -2926,6 +2926,7 @@ add_entrypoint_object( HDRS ../fdimf128.h DEPENDS + libc.src.__support.CPP.bit libc.src.__support.math.fdimf128 ) diff --git a/libc/src/math/generic/fdimf128.cpp b/libc/src/math/generic/fdimf128.cpp index de705aa03a2a5..385d683eba01b 100644 --- a/libc/src/math/generic/fdimf128.cpp +++ b/libc/src/math/generic/fdimf128.cpp @@ -7,12 +7,16 @@ //===----------------------------------------------------------------------===// #include "src/math/fdimf128.h" +#include "src/__support/CPP/bit.h" #include "src/__support/math/fdimf128.h" namespace LIBC_NAMESPACE_DECL { +using LIBC_NAMESPACE::fputil::Float128; + LLVM_LIBC_FUNCTION(float128, fdimf128, (float128 x, float128 y)) { - return math::fdimf128(x, y); + return cpp::bit_cast<float128>( + math::fdimf128(cpp::bit_cast<Float128>(x), cpp::bit_cast<Float128>(y))); } } // namespace LIBC_NAMESPACE_DECL diff --git a/libc/test/shared/shared_math_constexpr_test.cpp b/libc/test/shared/shared_math_constexpr_test.cpp index ffa8c895628c4..bc3b719561e4e 100644 --- a/libc/test/shared/shared_math_constexpr_test.cpp +++ b/libc/test/shared/shared_math_constexpr_test.cpp @@ -386,6 +386,8 @@ static_assert(Float128(0.0) == Float128(0.0))); static_assert(Float128(1.0) == LIBC_NAMESPACE::shared::fabsf128(Float128(-1.0))); +static_assert(Float128(1.0) == + LIBC_NAMESPACE::shared::fdimf128(Float128(1.0), Float128(0.0))); static_assert(Float128(0.0) == LIBC_NAMESPACE::shared::floorf128(Float128(0.0))); static_assert(Float128(0.0) == @@ -440,8 +442,6 @@ static_assert(0.0 == LIBC_NAMESPACE::shared::dmulf128(float128(0.0), float128(1.0))); static_assert(0.0f == LIBC_NAMESPACE::shared::faddf128(float128(0.0), float128(0.0))); -static_assert(float128(1.0) == - LIBC_NAMESPACE::shared::fdimf128(float128(1.0), float128(0.0))); static_assert(0.0f == LIBC_NAMESPACE::shared::fdivf128(float128(0.0), float128(1.0))); static_assert(0.0 == LIBC_NAMESPACE::shared::dsqrtf128(float128(0.0))); diff --git a/libc/test/shared/shared_math_test.cpp b/libc/test/shared/shared_math_test.cpp index 1349ee3db3ad3..62297bf1cfec4 100644 --- a/libc/test/shared/shared_math_test.cpp +++ b/libc/test/shared/shared_math_test.cpp @@ -587,6 +587,8 @@ TEST(LlvmLibcSharedMathTest, AllEmuFloat128) { EXPECT_FP_EQ(Float128(0.0), LIBC_NAMESPACE::shared::copysignf128( Float128(0.0), Float128(0.0))); EXPECT_FP_EQ(Float128(0.0), LIBC_NAMESPACE::shared::fabsf128(Float128(0.0))); + EXPECT_FP_EQ(Float128(0.0), + LIBC_NAMESPACE::shared::fdimf128(Float128(0.0), Float128(0.0))); EXPECT_FP_EQ(Float128(0.0), LIBC_NAMESPACE::shared::floorf128(Float128(0.0))); EXPECT_FP_EQ(Float128(0.0), LIBC_NAMESPACE::shared::fmaxf128(Float128(0.0), Float128(0.0))); @@ -668,8 +670,6 @@ TEST(LlvmLibcSharedMathTest, AllFloat128) { LIBC_NAMESPACE::shared::dsubf128(float128(0.0), float128(0.0))); EXPECT_FP_EQ(float128(0.0), LIBC_NAMESPACE::shared::faddf128(float128(0.0), float128(0.0))); - EXPECT_FP_EQ(float128(0.0), - LIBC_NAMESPACE::shared::fdimf128(float128(0.0), float128(0.0))); EXPECT_FP_EQ(1.0f, LIBC_NAMESPACE::shared::fdivf128(float128(1.0), float128(1.0))); diff --git a/libc/test/src/math/smoke/CMakeLists.txt b/libc/test/src/math/smoke/CMakeLists.txt index 56aa077eee562..6839727c42270 100644 --- a/libc/test/src/math/smoke/CMakeLists.txt +++ b/libc/test/src/math/smoke/CMakeLists.txt @@ -2628,6 +2628,7 @@ add_fp_unittest( HDRS FDimTest.h DEPENDS + libc.src.__support.FPUtil.float128 libc.src.math.fdimf128 libc.src.__support.CPP.algorithm libc.src.__support.FPUtil.fp_bits diff --git a/libc/test/src/math/smoke/fdimf128_test.cpp b/libc/test/src/math/smoke/fdimf128_test.cpp index 8e65c2b4a1ec5..65ecff18a8cc6 100644 --- a/libc/test/src/math/smoke/fdimf128_test.cpp +++ b/libc/test/src/math/smoke/fdimf128_test.cpp @@ -7,7 +7,12 @@ //===----------------------------------------------------------------------===// #include "FDimTest.h" +#include "src/__support/FPUtil/float128.h" #include "src/math/fdimf128.h" +#ifndef LIBC_TYPES_HAS_NATIVE_FLOAT128 +using float128 = LIBC_NAMESPACE::fputil::Float128; +#endif // LIBC_TYPES_HAS_NATIVE_FLOAT128 + LIST_FDIM_TESTS(float128, LIBC_NAMESPACE::fdimf128); diff --git a/utils/bazel/llvm-project-overlay/libc/BUILD.bazel b/utils/bazel/llvm-project-overlay/libc/BUILD.bazel index f5098f1dc765d..35d7bf94bb028 100644 --- a/utils/bazel/llvm-project-overlay/libc/BUILD.bazel +++ b/utils/bazel/llvm-project-overlay/libc/BUILD.bazel @@ -7792,8 +7792,8 @@ libc_support_library( hdrs = ["src/__support/math/fdimf128.h"], deps = [ ":__support_fputil_basic_operations", + ":__support_fputil_float128", ":__support_macros_config", - ":llvm_libc_types_float128", ], ) @@ -11643,6 +11643,8 @@ libc_math_function( libc_math_function( name = "fdimf128", additional_deps = [ + ":__support_cpp_bit", + ":__support_fputil_float128", ":__support_math_fdimf128", ], ) diff --git a/utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel b/utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel index cd0c201520812..02efcaeac23c1 100644 --- a/utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel +++ b/utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel @@ -440,6 +440,9 @@ math_test( math_test( name = "fdimf128", hdrs = ["FDimTest.h"], + deps = [ + "//libc:__support_fputil_float128", + ], ) math_test( `````````` </details> https://github.com/llvm/llvm-project/pull/217567 _______________________________________________ llvm-branch-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
