[all-commits] [llvm/llvm-project] 21c4c8: [libc] Refactor sqrt implementations and add tests...

lntue via All-commits all-commits at lists.llvm.org
Thu Jan 27 08:55:18 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 21c4c82c2026bac1f53be54923c0663d41d0a0aa
      https://github.com/llvm/llvm-project/commit/21c4c82c2026bac1f53be54923c0663d41d0a0aa
  Author: Tue Ly <lntue at google.com>
  Date:   2022-01-27 (Thu, 27 Jan 2022)

  Changed paths:
    M libc/src/__support/FPUtil/CMakeLists.txt
    R libc/src/__support/FPUtil/Sqrt.h
    A libc/src/__support/FPUtil/aarch64/sqrt.h
    A libc/src/__support/FPUtil/generic/CMakeLists.txt
    A libc/src/__support/FPUtil/generic/sqrt.h
    A libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
    A libc/src/__support/FPUtil/sqrt.h
    R libc/src/__support/FPUtil/x86_64/SqrtLongDouble.h
    A libc/src/__support/FPUtil/x86_64/sqrt.h
    M libc/src/math/aarch64/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/sqrt.cpp
    M libc/src/math/generic/sqrtf.cpp
    M libc/src/math/generic/sqrtl.cpp
    M libc/src/math/x86_64/CMakeLists.txt
    R libc/src/math/x86_64/sqrt.cpp
    R libc/src/math/x86_64/sqrtf.cpp
    R libc/src/math/x86_64/sqrtl.cpp
    M libc/test/src/math/CMakeLists.txt
    A libc/test/src/math/generic_sqrt_test.cpp
    A libc/test/src/math/generic_sqrtf_test.cpp
    A libc/test/src/math/generic_sqrtl_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc] Refactor sqrt implementations and add tests for generic sqrt implementations.

Refactor sqrt implementations:
- Move architecture specific instructions from `src/math/<arch>` to `src/__support/FPUtil/<arch>` folder.
- Move generic implementation of `sqrt` to `src/__support/FPUtil/generic` folder and add it as a header library.
- Use `src/__support/FPUtil/sqrt.h` for architecture/generic selections.
- Add unit tests for generic implementation of `sqrt`.

Reviewed By: sivachandra

Differential Revision: https://reviews.llvm.org/D118173




More information about the All-commits mailing list