[all-commits] [llvm/llvm-project] fdbf25: [libc][NFC] Refactor FPBits and remove LongDoubleB...

Guillaume Chatelet via All-commits all-commits at lists.llvm.org
Tue Jan 16 06:41:52 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: fdbf255c96cb18bc1fb08fa7264446bcbbd5fbd0
      https://github.com/llvm/llvm-project/commit/fdbf255c96cb18bc1fb08fa7264446bcbbd5fbd0
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-01-16 (Tue, 16 Jan 2024)

  Changed paths:
    M libc/src/__support/FPUtil/FPBits.h
    M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
    R libc/src/__support/FPUtil/x86_64/LongDoubleBits.h
    M libc/src/__support/FPUtil/x86_64/NextAfterLongDouble.h
    M libc/test/src/__support/FPUtil/fpbits_test.cpp
    M libc/test/utils/FPUtil/x86_long_double_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    A utils/bazel/llvm-project-overlay/libc/test/src/__support/FPUtil/BUILD.bazel

  Log Message:
  -----------
  [libc][NFC] Refactor FPBits and remove LongDoubleBits specialization (#78192)

This patch removes the `FPBits` specialization for x86 Extended Precision by moving it up to `FPRep`.
It also introduces enums (`Exponent`, `BiasedExponent` and `Significand`) to represent the exponent and significant parts of the floating point numbers. These enums are used to construct and observe floating point representations.

Additionally, we remove `LongDoubleBits.h` that is now unnecessary.




More information about the All-commits mailing list