[libc-commits] [libc] c120edc - [libc][nfc] move ctype_utils and FPUtils to __support

Michael Jones via libc-commits libc-commits at lists.llvm.org
Fri Aug 6 10:29:48 PDT 2021


Author: Michael Jones
Date: 2021-08-06T17:29:41Z
New Revision: c120edc7b3e1907127c3107b30e2667f1fde1ee2

URL: https://github.com/llvm/llvm-project/commit/c120edc7b3e1907127c3107b30e2667f1fde1ee2
DIFF: https://github.com/llvm/llvm-project/commit/c120edc7b3e1907127c3107b30e2667f1fde1ee2.diff

LOG: [libc][nfc] move ctype_utils and FPUtils to __support

Some ctype functions are called from other libc functions (e.g. isspace
is used in atoi). By moving ctype_utils.h to __support it becomes easier
to include just the implementations of these functions. For these
reasons the implementation for isspace was moved into
ctype_utils as well.

FPUtils was moved to simplify the build order, and to clarify which
files are a part of the actual libc.

Many files were modified to accomodate these changes, mostly changing
the #include paths.

Reviewed By: sivachandra

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

Added: 
    libc/src/__support/FPUtil/BasicOperations.h
    libc/src/__support/FPUtil/CMakeLists.txt
    libc/src/__support/FPUtil/DivisionAndRemainderOperations.h
    libc/src/__support/FPUtil/DummyFEnvImpl.h
    libc/src/__support/FPUtil/FEnvUtils.h
    libc/src/__support/FPUtil/FMA.h
    libc/src/__support/FPUtil/FPBits.h
    libc/src/__support/FPUtil/FPExceptMatcher.cpp
    libc/src/__support/FPUtil/FPExceptMatcher.h
    libc/src/__support/FPUtil/FloatProperties.h
    libc/src/__support/FPUtil/Hypot.h
    libc/src/__support/FPUtil/LongDoubleBitsX86.h
    libc/src/__support/FPUtil/ManipulationFunctions.h
    libc/src/__support/FPUtil/NearestIntegerOperations.h
    libc/src/__support/FPUtil/NextAfterLongDoubleX86.h
    libc/src/__support/FPUtil/NormalFloat.h
    libc/src/__support/FPUtil/PlatformDefs.h
    libc/src/__support/FPUtil/PolyEval.h
    libc/src/__support/FPUtil/Sqrt.h
    libc/src/__support/FPUtil/SqrtLongDoubleX86.h
    libc/src/__support/FPUtil/TestHelpers.cpp
    libc/src/__support/FPUtil/TestHelpers.h
    libc/src/__support/FPUtil/aarch64/FEnvImpl.h
    libc/src/__support/FPUtil/aarch64/FMA.h
    libc/src/__support/FPUtil/generic/FMA.h
    libc/src/__support/FPUtil/generic/README.md
    libc/src/__support/FPUtil/x86_64/FEnvImpl.h
    libc/src/__support/FPUtil/x86_64/FMA.h
    libc/src/__support/ctype_utils.h

Modified: 
    libc/fuzzing/math/CMakeLists.txt
    libc/fuzzing/math/Compare.h
    libc/fuzzing/math/RemQuoDiff.h
    libc/fuzzing/math/SingleInputSingleOutputDiff.h
    libc/fuzzing/math/TwoInputSingleOutputDiff.h
    libc/src/__support/CMakeLists.txt
    libc/src/ctype/CMakeLists.txt
    libc/src/ctype/isalnum.cpp
    libc/src/ctype/isalpha.cpp
    libc/src/ctype/isdigit.cpp
    libc/src/ctype/isgraph.cpp
    libc/src/ctype/islower.cpp
    libc/src/ctype/ispunct.cpp
    libc/src/ctype/isspace.cpp
    libc/src/ctype/isupper.cpp
    libc/src/ctype/isxdigit.cpp
    libc/src/ctype/tolower.cpp
    libc/src/ctype/toupper.cpp
    libc/src/fenv/CMakeLists.txt
    libc/src/fenv/feclearexcept.cpp
    libc/src/fenv/fegetenv.cpp
    libc/src/fenv/fegetexceptflag.cpp
    libc/src/fenv/fegetround.cpp
    libc/src/fenv/feholdexcept.cpp
    libc/src/fenv/feraiseexcept.cpp
    libc/src/fenv/fesetenv.cpp
    libc/src/fenv/fesetexceptflag.cpp
    libc/src/fenv/fesetround.cpp
    libc/src/fenv/fetestexcept.cpp
    libc/src/fenv/feupdateenv.cpp
    libc/src/math/CMakeLists.txt
    libc/src/math/fma.cpp
    libc/src/math/fmaf.cpp
    libc/src/math/generic/CMakeLists.txt
    libc/src/math/generic/ceil.cpp
    libc/src/math/generic/ceilf.cpp
    libc/src/math/generic/ceill.cpp
    libc/src/math/generic/copysign.cpp
    libc/src/math/generic/copysignf.cpp
    libc/src/math/generic/copysignl.cpp
    libc/src/math/generic/expm1f.cpp
    libc/src/math/generic/fabs.cpp
    libc/src/math/generic/fabsf.cpp
    libc/src/math/generic/fabsl.cpp
    libc/src/math/generic/fdim.cpp
    libc/src/math/generic/fdimf.cpp
    libc/src/math/generic/fdiml.cpp
    libc/src/math/generic/floor.cpp
    libc/src/math/generic/floorf.cpp
    libc/src/math/generic/floorl.cpp
    libc/src/math/generic/fmax.cpp
    libc/src/math/generic/fmaxf.cpp
    libc/src/math/generic/fmaxl.cpp
    libc/src/math/generic/fmin.cpp
    libc/src/math/generic/fminf.cpp
    libc/src/math/generic/fminl.cpp
    libc/src/math/generic/frexp.cpp
    libc/src/math/generic/frexpf.cpp
    libc/src/math/generic/frexpl.cpp
    libc/src/math/generic/hypot.cpp
    libc/src/math/generic/hypotf.cpp
    libc/src/math/generic/ilogb.cpp
    libc/src/math/generic/ilogbf.cpp
    libc/src/math/generic/ilogbl.cpp
    libc/src/math/generic/ldexp.cpp
    libc/src/math/generic/ldexpf.cpp
    libc/src/math/generic/ldexpl.cpp
    libc/src/math/generic/llrint.cpp
    libc/src/math/generic/llrintf.cpp
    libc/src/math/generic/llrintl.cpp
    libc/src/math/generic/llround.cpp
    libc/src/math/generic/llroundf.cpp
    libc/src/math/generic/llroundl.cpp
    libc/src/math/generic/logb.cpp
    libc/src/math/generic/logbf.cpp
    libc/src/math/generic/logbl.cpp
    libc/src/math/generic/lrint.cpp
    libc/src/math/generic/lrintf.cpp
    libc/src/math/generic/lrintl.cpp
    libc/src/math/generic/lround.cpp
    libc/src/math/generic/lroundf.cpp
    libc/src/math/generic/lroundl.cpp
    libc/src/math/generic/modf.cpp
    libc/src/math/generic/modff.cpp
    libc/src/math/generic/modfl.cpp
    libc/src/math/generic/nearbyint.cpp
    libc/src/math/generic/nearbyintf.cpp
    libc/src/math/generic/nearbyintl.cpp
    libc/src/math/generic/nextafter.cpp
    libc/src/math/generic/nextafterf.cpp
    libc/src/math/generic/nextafterl.cpp
    libc/src/math/generic/remainder.cpp
    libc/src/math/generic/remainderf.cpp
    libc/src/math/generic/remainderl.cpp
    libc/src/math/generic/remquo.cpp
    libc/src/math/generic/remquof.cpp
    libc/src/math/generic/remquol.cpp
    libc/src/math/generic/rint.cpp
    libc/src/math/generic/rintf.cpp
    libc/src/math/generic/rintl.cpp
    libc/src/math/generic/round.cpp
    libc/src/math/generic/roundf.cpp
    libc/src/math/generic/roundl.cpp
    libc/src/math/generic/sqrt.cpp
    libc/src/math/generic/sqrtf.cpp
    libc/src/math/generic/sqrtl.cpp
    libc/src/math/generic/trunc.cpp
    libc/src/math/generic/truncf.cpp
    libc/src/math/generic/truncl.cpp
    libc/test/src/fenv/CMakeLists.txt
    libc/test/src/fenv/enabled_exceptions_test.cpp
    libc/test/src/fenv/exception_flags_test.cpp
    libc/test/src/fenv/exception_status_test.cpp
    libc/test/src/fenv/feclearexcept_test.cpp
    libc/test/src/fenv/feholdexcept_test.cpp
    libc/test/src/fenv/feupdateenv_test.cpp
    libc/test/src/fenv/getenv_and_setenv_test.cpp
    libc/test/src/math/CMakeLists.txt
    libc/test/src/math/CeilTest.h
    libc/test/src/math/CopySignTest.h
    libc/test/src/math/FAbsTest.h
    libc/test/src/math/FDimTest.h
    libc/test/src/math/FMaxTest.h
    libc/test/src/math/FMinTest.h
    libc/test/src/math/FloorTest.h
    libc/test/src/math/FmaTest.h
    libc/test/src/math/FrexpTest.h
    libc/test/src/math/HypotTest.h
    libc/test/src/math/ILogbTest.h
    libc/test/src/math/LdExpTest.h
    libc/test/src/math/LogbTest.h
    libc/test/src/math/ModfTest.h
    libc/test/src/math/NextAfterTest.h
    libc/test/src/math/RIntTest.h
    libc/test/src/math/RemQuoTest.h
    libc/test/src/math/RoundTest.h
    libc/test/src/math/RoundToIntegerTest.h
    libc/test/src/math/SqrtTest.h
    libc/test/src/math/TruncTest.h
    libc/test/src/math/cos_test.cpp
    libc/test/src/math/cosf_test.cpp
    libc/test/src/math/differential_testing/CMakeLists.txt
    libc/test/src/math/differential_testing/SingleInputSingleOutputDiff.h
    libc/test/src/math/exhaustive/CMakeLists.txt
    libc/test/src/math/exhaustive/cosf_test.cpp
    libc/test/src/math/exhaustive/expm1f_test.cpp
    libc/test/src/math/exhaustive/sinf_test.cpp
    libc/test/src/math/exhaustive/sqrtf_test.cpp
    libc/test/src/math/exp2f_test.cpp
    libc/test/src/math/expf_test.cpp
    libc/test/src/math/expm1f_test.cpp
    libc/test/src/math/fdim_test.cpp
    libc/test/src/math/fdimf_test.cpp
    libc/test/src/math/fdiml_test.cpp
    libc/test/src/math/generic/CMakeLists.txt
    libc/test/src/math/ilogb_test.cpp
    libc/test/src/math/ilogbf_test.cpp
    libc/test/src/math/ilogbl_test.cpp
    libc/test/src/math/sin_test.cpp
    libc/test/src/math/sincosf_test.cpp
    libc/test/src/math/sinf_test.cpp
    libc/test/src/math/tan_test.cpp
    libc/test/utils/FPUtil/CMakeLists.txt
    libc/test/utils/FPUtil/x86_long_double_test.cpp
    libc/utils/CMakeLists.txt
    libc/utils/MPFRWrapper/CMakeLists.txt
    libc/utils/MPFRWrapper/MPFRUtils.cpp

Removed: 
    libc/src/ctype/ctype_utils.h
    libc/utils/FPUtil/BasicOperations.h
    libc/utils/FPUtil/CMakeLists.txt
    libc/utils/FPUtil/DivisionAndRemainderOperations.h
    libc/utils/FPUtil/DummyFEnvImpl.h
    libc/utils/FPUtil/FEnvUtils.h
    libc/utils/FPUtil/FMA.h
    libc/utils/FPUtil/FPBits.h
    libc/utils/FPUtil/FPExceptMatcher.cpp
    libc/utils/FPUtil/FPExceptMatcher.h
    libc/utils/FPUtil/FloatProperties.h
    libc/utils/FPUtil/Hypot.h
    libc/utils/FPUtil/LongDoubleBitsX86.h
    libc/utils/FPUtil/ManipulationFunctions.h
    libc/utils/FPUtil/NearestIntegerOperations.h
    libc/utils/FPUtil/NextAfterLongDoubleX86.h
    libc/utils/FPUtil/NormalFloat.h
    libc/utils/FPUtil/PlatformDefs.h
    libc/utils/FPUtil/PolyEval.h
    libc/utils/FPUtil/Sqrt.h
    libc/utils/FPUtil/SqrtLongDoubleX86.h
    libc/utils/FPUtil/TestHelpers.cpp
    libc/utils/FPUtil/TestHelpers.h
    libc/utils/FPUtil/aarch64/FEnvImpl.h
    libc/utils/FPUtil/aarch64/FMA.h
    libc/utils/FPUtil/generic/FMA.h
    libc/utils/FPUtil/generic/README.md
    libc/utils/FPUtil/x86_64/FEnvImpl.h
    libc/utils/FPUtil/x86_64/FMA.h


################################################################################
diff  --git a/libc/fuzzing/math/CMakeLists.txt b/libc/fuzzing/math/CMakeLists.txt
index af9a5d30765ef..a3d308151b877 100644
--- a/libc/fuzzing/math/CMakeLists.txt
+++ b/libc/fuzzing/math/CMakeLists.txt
@@ -45,7 +45,7 @@ add_libc_fuzzer(
     libc.src.math.trunc
     libc.src.math.truncf
     libc.src.math.truncl
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
     libc.utils.CPP.standalone_cpp
 )
 

diff  --git a/libc/fuzzing/math/Compare.h b/libc/fuzzing/math/Compare.h
index 7e7b8da59adf1..28ca9047737e4 100644
--- a/libc/fuzzing/math/Compare.h
+++ b/libc/fuzzing/math/Compare.h
@@ -9,8 +9,8 @@
 #ifndef LLVM_LIBC_FUZZING_MATH_COMPARE_H
 #define LLVM_LIBC_FUZZING_MATH_COMPARE_H
 
+#include "src/__support/FPUtil/FPBits.h"
 #include "utils/CPP/TypeTraits.h"
-#include "utils/FPUtil/FPBits.h"
 
 template <typename T>
 __llvm_libc::cpp::EnableIfType<__llvm_libc::cpp::IsFloatingPointType<T>::Value,

diff  --git a/libc/fuzzing/math/RemQuoDiff.h b/libc/fuzzing/math/RemQuoDiff.h
index 1a50ca2e6ba3e..f37cf3ceebd44 100644
--- a/libc/fuzzing/math/RemQuoDiff.h
+++ b/libc/fuzzing/math/RemQuoDiff.h
@@ -6,7 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "utils/FPUtil/FPBits.h"
+#include "src/__support/FPUtil/FPBits.h"
 
 #include <math.h>
 #include <stddef.h>

diff  --git a/libc/fuzzing/math/SingleInputSingleOutputDiff.h b/libc/fuzzing/math/SingleInputSingleOutputDiff.h
index a34161d634465..8c1e4b0d0290e 100644
--- a/libc/fuzzing/math/SingleInputSingleOutputDiff.h
+++ b/libc/fuzzing/math/SingleInputSingleOutputDiff.h
@@ -10,7 +10,7 @@
 #define LLVM_LIBC_FUZZING_MATH_SINGLE_INPUT_SINGLE_OUTPUT_DIFF_H
 
 #include "fuzzing/math/Compare.h"
-#include "utils/FPUtil/FPBits.h"
+#include "src/__support/FPUtil/FPBits.h"
 
 #include <math.h>
 #include <stddef.h>

diff  --git a/libc/fuzzing/math/TwoInputSingleOutputDiff.h b/libc/fuzzing/math/TwoInputSingleOutputDiff.h
index 2888a5b76d71e..e3e3fe703b139 100644
--- a/libc/fuzzing/math/TwoInputSingleOutputDiff.h
+++ b/libc/fuzzing/math/TwoInputSingleOutputDiff.h
@@ -10,7 +10,7 @@
 #define LLVM_LIBC_FUZZING_MATH_TWO_INPUT_SINGLE_OUTPUT_DIFF_H
 
 #include "fuzzing/math/Compare.h"
-#include "utils/FPUtil/FPBits.h"
+#include "src/__support/FPUtil/FPBits.h"
 
 #include <math.h>
 #include <stddef.h>

diff  --git a/libc/src/__support/CMakeLists.txt b/libc/src/__support/CMakeLists.txt
index 4206d742b9bc8..5135632c377ac 100644
--- a/libc/src/__support/CMakeLists.txt
+++ b/libc/src/__support/CMakeLists.txt
@@ -6,9 +6,16 @@ add_header_library(
     sanitizer.h
 )
 
+add_header_library(
+  ctype_utils
+  HDRS
+    ctype_utils.h
+)
+
 add_header_library(
   integer_operations
   HDRS
     integer_operations.h
 )
 
+add_subdirectory(FPUtil)

diff  --git a/libc/utils/FPUtil/BasicOperations.h b/libc/src/__support/FPUtil/BasicOperations.h
similarity index 92%
rename from libc/utils/FPUtil/BasicOperations.h
rename to libc/src/__support/FPUtil/BasicOperations.h
index 43ccd12fdb70e..95debe736c9e1 100644
--- a/libc/utils/FPUtil/BasicOperations.h
+++ b/libc/src/__support/FPUtil/BasicOperations.h
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_LIBC_UTILS_FPUTIL_BASIC_OPERATIONS_H
-#define LLVM_LIBC_UTILS_FPUTIL_BASIC_OPERATIONS_H
+#ifndef LLVM_LIBC_SRC_SUPPORT_FPUTIL_BASIC_OPERATIONS_H
+#define LLVM_LIBC_SRC_SUPPORT_FPUTIL_BASIC_OPERATIONS_H
 
 #include "FPBits.h"
 
@@ -81,4 +81,4 @@ static inline T fdim(T x, T y) {
 } // namespace fputil
 } // namespace __llvm_libc
 
-#endif // LLVM_LIBC_UTILS_FPUTIL_BASIC_OPERATIONS_H
+#endif // LLVM_LIBC_SRC_SUPPORT_FPUTIL_BASIC_OPERATIONS_H

diff  --git a/libc/utils/FPUtil/CMakeLists.txt b/libc/src/__support/FPUtil/CMakeLists.txt
similarity index 96%
rename from libc/utils/FPUtil/CMakeLists.txt
rename to libc/src/__support/FPUtil/CMakeLists.txt
index 812bccb0c89a0..510b6917df421 100644
--- a/libc/utils/FPUtil/CMakeLists.txt
+++ b/libc/src/__support/FPUtil/CMakeLists.txt
@@ -47,5 +47,5 @@ add_dependencies(
   LibcFPTestHelpers
   LibcUnitTest
   libc.utils.CPP.standalone_cpp
-  libc.utils.FPUtil.fputil
+  libc.src.__support.FPUtil.fputil
 )

diff  --git a/libc/utils/FPUtil/DivisionAndRemainderOperations.h b/libc/src/__support/FPUtil/DivisionAndRemainderOperations.h
similarity index 93%
rename from libc/utils/FPUtil/DivisionAndRemainderOperations.h
rename to libc/src/__support/FPUtil/DivisionAndRemainderOperations.h
index d23a8daabbe63..abdc388ca1d4e 100644
--- a/libc/utils/FPUtil/DivisionAndRemainderOperations.h
+++ b/libc/src/__support/FPUtil/DivisionAndRemainderOperations.h
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_LIBC_UTILS_FPUTIL_DIVISION_AND_REMAINDER_OPERATIONS_H
-#define LLVM_LIBC_UTILS_FPUTIL_DIVISION_AND_REMAINDER_OPERATIONS_H
+#ifndef LLVM_LIBC_SRC_SUPPORT_FPUTIL_DIVISION_AND_REMAINDER_OPERATIONS_H
+#define LLVM_LIBC_SRC_SUPPORT_FPUTIL_DIVISION_AND_REMAINDER_OPERATIONS_H
 
 #include "FPBits.h"
 #include "ManipulationFunctions.h"
@@ -116,4 +116,4 @@ static inline T remquo(T x, T y, int &q) {
 } // namespace fputil
 } // namespace __llvm_libc
 
-#endif // LLVM_LIBC_UTILS_FPUTIL_DIVISION_AND_REMAINDER_OPERATIONS_H
+#endif // LLVM_LIBC_SRC_SUPPORT_FPUTIL_DIVISION_AND_REMAINDER_OPERATIONS_H

diff  --git a/libc/utils/FPUtil/DummyFEnvImpl.h b/libc/src/__support/FPUtil/DummyFEnvImpl.h
similarity index 85%
rename from libc/utils/FPUtil/DummyFEnvImpl.h
rename to libc/src/__support/FPUtil/DummyFEnvImpl.h
index 8e983dd11ce96..cdc3df478f79d 100644
--- a/libc/utils/FPUtil/DummyFEnvImpl.h
+++ b/libc/src/__support/FPUtil/DummyFEnvImpl.h
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_LIBC_UTILS_FPUTIL_DUMMY_FENVIMPL_H
-#define LLVM_LIBC_UTILS_FPUTIL_DUMMY_FENVIMPL_H
+#ifndef LLVM_LIBC_SRC_SUPPORT_FPUTIL_DUMMY_FENVIMPL_H
+#define LLVM_LIBC_SRC_SUPPORT_FPUTIL_DUMMY_FENVIMPL_H
 
 #include <fenv.h>
 #include <math.h>
@@ -36,4 +36,4 @@ static inline int setEnv(const fenv_t *) { return 0; }
 } // namespace fputil
 } // namespace __llvm_libc
 
-#endif // LLVM_LIBC_UTILS_FPUTIL_DUMMY_FENVIMPL_H
+#endif // LLVM_LIBC_SRC_SUPPORT_FPUTIL_DUMMY_FENVIMPL_H

diff  --git a/libc/utils/FPUtil/FEnvUtils.h b/libc/src/__support/FPUtil/FEnvUtils.h
similarity index 77%
rename from libc/utils/FPUtil/FEnvUtils.h
rename to libc/src/__support/FPUtil/FEnvUtils.h
index 201383053ebce..a9d11ceb6535d 100644
--- a/libc/utils/FPUtil/FEnvUtils.h
+++ b/libc/src/__support/FPUtil/FEnvUtils.h
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_LIBC_UTILS_FPUTIL_FENVUTILS_H
-#define LLVM_LIBC_UTILS_FPUTIL_FENVUTILS_H
+#ifndef LLVM_LIBC_SRC_SUPPORT_FPUTIL_FENVUTILS_H
+#define LLVM_LIBC_SRC_SUPPORT_FPUTIL_FENVUTILS_H
 
 #ifdef __x86_64__
 #include "x86_64/FEnvImpl.h"
@@ -17,4 +17,4 @@
 #include "DummyFEnvImpl.h"
 #endif
 
-#endif // LLVM_LIBC_UTILS_FPUTIL_FENVUTILS_H
+#endif // LLVM_LIBC_SRC_SUPPORT_FPUTIL_FENVUTILS_H

diff  --git a/libc/utils/FPUtil/FMA.h b/libc/src/__support/FPUtil/FMA.h
similarity index 88%
rename from libc/utils/FPUtil/FMA.h
rename to libc/src/__support/FPUtil/FMA.h
index f591e1ed8c6dd..cbb7fe4ce40fe 100644
--- a/libc/utils/FPUtil/FMA.h
+++ b/libc/src/__support/FPUtil/FMA.h
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_LIBC_UTILS_FPUTIL_FMA_H
-#define LLVM_LIBC_UTILS_FPUTIL_FMA_H
+#ifndef LLVM_LIBC_SRC_SUPPORT_FPUTIL_FMA_H
+#define LLVM_LIBC_SRC_SUPPORT_FPUTIL_FMA_H
 
 #include "utils/CPP/TypeTraits.h"
 
@@ -34,4 +34,4 @@ static inline cpp::EnableIfType<cpp::IsSame<T, float>::Value, T> fma(T x, T y,
 
 #endif
 
-#endif // LLVM_LIBC_UTILS_FPUTIL_FMA_H
+#endif // LLVM_LIBC_SRC_SUPPORT_FPUTIL_FMA_H

diff  --git a/libc/utils/FPUtil/FPBits.h b/libc/src/__support/FPUtil/FPBits.h
similarity index 96%
rename from libc/utils/FPUtil/FPBits.h
rename to libc/src/__support/FPUtil/FPBits.h
index 9ee870dc9983d..7361bba5fab31 100644
--- a/libc/utils/FPUtil/FPBits.h
+++ b/libc/src/__support/FPUtil/FPBits.h
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_LIBC_UTILS_FPUTIL_FP_BITS_H
-#define LLVM_LIBC_UTILS_FPUTIL_FP_BITS_H
+#ifndef LLVM_LIBC_SRC_SUPPORT_FPUTIL_FP_BITS_H
+#define LLVM_LIBC_SRC_SUPPORT_FPUTIL_FP_BITS_H
 
 #include "PlatformDefs.h"
 
@@ -153,7 +153,7 @@ template <typename T> union FPBits {
 } // namespace __llvm_libc
 
 #ifdef SPECIAL_X86_LONG_DOUBLE
-#include "utils/FPUtil/LongDoubleBitsX86.h"
+#include "src/__support/FPUtil/LongDoubleBitsX86.h"
 #endif
 
-#endif // LLVM_LIBC_UTILS_FPUTIL_FP_BITS_H
+#endif // LLVM_LIBC_SRC_SUPPORT_FPUTIL_FP_BITS_H

diff  --git a/libc/utils/FPUtil/FPExceptMatcher.cpp b/libc/src/__support/FPUtil/FPExceptMatcher.cpp
similarity index 100%
rename from libc/utils/FPUtil/FPExceptMatcher.cpp
rename to libc/src/__support/FPUtil/FPExceptMatcher.cpp

diff  --git a/libc/utils/FPUtil/FPExceptMatcher.h b/libc/src/__support/FPUtil/FPExceptMatcher.h
similarity index 92%
rename from libc/utils/FPUtil/FPExceptMatcher.h
rename to libc/src/__support/FPUtil/FPExceptMatcher.h
index 883fcc244782d..fd51fa050bbc2 100644
--- a/libc/utils/FPUtil/FPExceptMatcher.h
+++ b/libc/src/__support/FPUtil/FPExceptMatcher.h
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_LIBC_UTILS_FPUTIL_FP_EXCEPT_MATCHER_H
-#define LLVM_LIBC_UTILS_FPUTIL_FP_EXCEPT_MATCHER_H
+#ifndef LLVM_LIBC_SRC_SUPPORT_FPUTIL_FP_EXCEPT_MATCHER_H
+#define LLVM_LIBC_SRC_SUPPORT_FPUTIL_FP_EXCEPT_MATCHER_H
 
 #ifndef LLVM_LIBC_TEST_USE_FUCHSIA
 
@@ -64,4 +64,4 @@ class FPExceptMatcher : public __llvm_libc::testing::Matcher<bool> {
 #define ASSERT_RAISES_FP_EXCEPT(func) ASSERT_DEATH(func, WITH_SIGNAL(SIGFPE))
 #endif // LLVM_LIBC_TEST_USE_FUCHSIA
 
-#endif // LLVM_LIBC_UTILS_FPUTIL_FP_EXCEPT_MATCHER_H
+#endif // LLVM_LIBC_SRC_SUPPORT_FPUTIL_FP_EXCEPT_MATCHER_H

diff  --git a/libc/utils/FPUtil/FloatProperties.h b/libc/src/__support/FPUtil/FloatProperties.h
similarity index 96%
rename from libc/utils/FPUtil/FloatProperties.h
rename to libc/src/__support/FPUtil/FloatProperties.h
index ecf2ff10bd027..ff132ed5dfa51 100644
--- a/libc/utils/FPUtil/FloatProperties.h
+++ b/libc/src/__support/FPUtil/FloatProperties.h
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_LIBC_UTILS_FPUTIL_FLOAT_PROPERTIES_H
-#define LLVM_LIBC_UTILS_FPUTIL_FLOAT_PROPERTIES_H
+#ifndef LLVM_LIBC_SRC_SUPPORT_FPUTIL_FLOAT_PROPERTIES_H
+#define LLVM_LIBC_SRC_SUPPORT_FPUTIL_FLOAT_PROPERTIES_H
 
 #include "PlatformDefs.h"
 #include <stdint.h>
@@ -141,4 +141,4 @@ using FloatTypeT = typename FloatType<BitsType>::Type;
 } // namespace fputil
 } // namespace __llvm_libc
 
-#endif // LLVM_LIBC_UTILS_FPUTIL_FLOAT_PROPERTIES_H
+#endif // LLVM_LIBC_SRC_SUPPORT_FPUTIL_FLOAT_PROPERTIES_H

diff  --git a/libc/utils/FPUtil/Hypot.h b/libc/src/__support/FPUtil/Hypot.h
similarity index 98%
rename from libc/utils/FPUtil/Hypot.h
rename to libc/src/__support/FPUtil/Hypot.h
index 8d108a74761de..425a42c335d83 100644
--- a/libc/utils/FPUtil/Hypot.h
+++ b/libc/src/__support/FPUtil/Hypot.h
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_LIBC_UTILS_FPUTIL_HYPOT_H
-#define LLVM_LIBC_UTILS_FPUTIL_HYPOT_H
+#ifndef LLVM_LIBC_SRC_SUPPORT_FPUTIL_HYPOT_H
+#define LLVM_LIBC_SRC_SUPPORT_FPUTIL_HYPOT_H
 
 #include "BasicOperations.h"
 #include "FPBits.h"
@@ -265,4 +265,4 @@ static inline T hypot(T x, T y) {
 } // namespace fputil
 } // namespace __llvm_libc
 
-#endif // LLVM_LIBC_UTILS_FPUTIL_HYPOT_H
+#endif // LLVM_LIBC_SRC_SUPPORT_FPUTIL_HYPOT_H

diff  --git a/libc/utils/FPUtil/LongDoubleBitsX86.h b/libc/src/__support/FPUtil/LongDoubleBitsX86.h
similarity index 96%
rename from libc/utils/FPUtil/LongDoubleBitsX86.h
rename to libc/src/__support/FPUtil/LongDoubleBitsX86.h
index ce7fdb1b0fa8a..1c963b0ac6104 100644
--- a/libc/utils/FPUtil/LongDoubleBitsX86.h
+++ b/libc/src/__support/FPUtil/LongDoubleBitsX86.h
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_LIBC_UTILS_FPUTIL_LONG_DOUBLE_BITS_X86_H
-#define LLVM_LIBC_UTILS_FPUTIL_LONG_DOUBLE_BITS_X86_H
+#ifndef LLVM_LIBC_SRC_SUPPORT_FPUTIL_LONG_DOUBLE_BITS_X86_H
+#define LLVM_LIBC_SRC_SUPPORT_FPUTIL_LONG_DOUBLE_BITS_X86_H
 
 #include "FPBits.h"
 
@@ -177,4 +177,4 @@ static_assert(
 } // namespace fputil
 } // namespace __llvm_libc
 
-#endif // LLVM_LIBC_UTILS_FPUTIL_LONG_DOUBLE_BITS_X86_H
+#endif // LLVM_LIBC_SRC_SUPPORT_FPUTIL_LONG_DOUBLE_BITS_X86_H

diff  --git a/libc/utils/FPUtil/ManipulationFunctions.h b/libc/src/__support/FPUtil/ManipulationFunctions.h
similarity index 96%
rename from libc/utils/FPUtil/ManipulationFunctions.h
rename to libc/src/__support/FPUtil/ManipulationFunctions.h
index 545e5f0f24288..c2504aa5267c1 100644
--- a/libc/utils/FPUtil/ManipulationFunctions.h
+++ b/libc/src/__support/FPUtil/ManipulationFunctions.h
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_LIBC_UTILS_FPUTIL_MANIPULATION_FUNCTIONS_H
-#define LLVM_LIBC_UTILS_FPUTIL_MANIPULATION_FUNCTIONS_H
+#ifndef LLVM_LIBC_SRC_SUPPORT_FPUTIL_MANIPULATION_FUNCTIONS_H
+#define LLVM_LIBC_SRC_SUPPORT_FPUTIL_MANIPULATION_FUNCTIONS_H
 
 #include "FPBits.h"
 #include "NearestIntegerOperations.h"
@@ -182,4 +182,4 @@ static inline T nextafter(T from, T to) {
 #include "NextAfterLongDoubleX86.h"
 #endif // SPECIAL_X86_LONG_DOUBLE
 
-#endif // LLVM_LIBC_UTILS_FPUTIL_MANIPULATION_FUNCTIONS_H
+#endif // LLVM_LIBC_SRC_SUPPORT_FPUTIL_MANIPULATION_FUNCTIONS_H

diff  --git a/libc/utils/FPUtil/NearestIntegerOperations.h b/libc/src/__support/FPUtil/NearestIntegerOperations.h
similarity index 97%
rename from libc/utils/FPUtil/NearestIntegerOperations.h
rename to libc/src/__support/FPUtil/NearestIntegerOperations.h
index 8dc4e23ce75c1..a7c67c996fce5 100644
--- a/libc/utils/FPUtil/NearestIntegerOperations.h
+++ b/libc/src/__support/FPUtil/NearestIntegerOperations.h
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_LIBC_UTILS_FPUTIL_NEAREST_INTEGER_OPERATIONS_H
-#define LLVM_LIBC_UTILS_FPUTIL_NEAREST_INTEGER_OPERATIONS_H
+#ifndef LLVM_LIBC_SRC_SUPPORT_FPUTIL_NEAREST_INTEGER_OPERATIONS_H
+#define LLVM_LIBC_SRC_SUPPORT_FPUTIL_NEAREST_INTEGER_OPERATIONS_H
 
 #include "FEnvUtils.h"
 #include "FPBits.h"
@@ -300,4 +300,4 @@ static inline I roundToSignedIntegerUsingCurrentRoundingMode(F x) {
 } // namespace fputil
 } // namespace __llvm_libc
 
-#endif // LLVM_LIBC_UTILS_FPUTIL_NEAREST_INTEGER_OPERATIONS_H
+#endif // LLVM_LIBC_SRC_SUPPORT_FPUTIL_NEAREST_INTEGER_OPERATIONS_H

diff  --git a/libc/utils/FPUtil/NextAfterLongDoubleX86.h b/libc/src/__support/FPUtil/NextAfterLongDoubleX86.h
similarity index 94%
rename from libc/utils/FPUtil/NextAfterLongDoubleX86.h
rename to libc/src/__support/FPUtil/NextAfterLongDoubleX86.h
index 80ca9ad084cb2..f3bf96b525148 100644
--- a/libc/utils/FPUtil/NextAfterLongDoubleX86.h
+++ b/libc/src/__support/FPUtil/NextAfterLongDoubleX86.h
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_LIBC_UTILS_FPUTIL_NEXT_AFTER_LONG_DOUBLE_X86_H
-#define LLVM_LIBC_UTILS_FPUTIL_NEXT_AFTER_LONG_DOUBLE_X86_H
+#ifndef LLVM_LIBC_SRC_SUPPORT_FPUTIL_NEXT_AFTER_LONG_DOUBLE_X86_H
+#define LLVM_LIBC_SRC_SUPPORT_FPUTIL_NEXT_AFTER_LONG_DOUBLE_X86_H
 
 #include "FPBits.h"
 
@@ -111,4 +111,4 @@ static inline long double nextafter(long double from, long double to) {
 } // namespace fputil
 } // namespace __llvm_libc
 
-#endif // LLVM_LIBC_UTILS_FPUTIL_NEXT_AFTER_LONG_DOUBLE_X86_H
+#endif // LLVM_LIBC_SRC_SUPPORT_FPUTIL_NEXT_AFTER_LONG_DOUBLE_X86_H

diff  --git a/libc/utils/FPUtil/NormalFloat.h b/libc/src/__support/FPUtil/NormalFloat.h
similarity index 98%
rename from libc/utils/FPUtil/NormalFloat.h
rename to libc/src/__support/FPUtil/NormalFloat.h
index 2d50e88db9167..0445403112ae3 100644
--- a/libc/utils/FPUtil/NormalFloat.h
+++ b/libc/src/__support/FPUtil/NormalFloat.h
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_LIBC_UTILS_FPUTIL_NORMAL_FLOAT_H
-#define LLVM_LIBC_UTILS_FPUTIL_NORMAL_FLOAT_H
+#ifndef LLVM_LIBC_SRC_SUPPORT_FPUTIL_NORMAL_FLOAT_H
+#define LLVM_LIBC_SRC_SUPPORT_FPUTIL_NORMAL_FLOAT_H
 
 #include "FPBits.h"
 
@@ -260,4 +260,4 @@ template <> inline NormalFloat<long double>::operator long double() const {
 } // namespace fputil
 } // namespace __llvm_libc
 
-#endif // LLVM_LIBC_UTILS_FPUTIL_NORMAL_FLOAT_H
+#endif // LLVM_LIBC_SRC_SUPPORT_FPUTIL_NORMAL_FLOAT_H

diff  --git a/libc/utils/FPUtil/PlatformDefs.h b/libc/src/__support/FPUtil/PlatformDefs.h
similarity index 78%
rename from libc/utils/FPUtil/PlatformDefs.h
rename to libc/src/__support/FPUtil/PlatformDefs.h
index 274800a4cd8fc..d9964d11106c4 100644
--- a/libc/utils/FPUtil/PlatformDefs.h
+++ b/libc/src/__support/FPUtil/PlatformDefs.h
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_LIBC_UTILS_FPUTIL_PLATFORM_DEFS_H
-#define LLVM_LIBC_UTILS_FPUTIL_PLATFORM_DEFS_H
+#ifndef LLVM_LIBC_SRC_SUPPORT_FPUTIL_PLATFORM_DEFS_H
+#define LLVM_LIBC_SRC_SUPPORT_FPUTIL_PLATFORM_DEFS_H
 
 #if defined(__x86_64__) || defined(__i386__)
 #define X87_FPU
@@ -21,4 +21,4 @@
 #define SPECIAL_X86_LONG_DOUBLE
 #endif
 
-#endif // LLVM_LIBC_UTILS_FPUTIL_PLATFORM_DEFS_H
+#endif // LLVM_LIBC_SRC_SUPPORT_FPUTIL_PLATFORM_DEFS_H

diff  --git a/libc/utils/FPUtil/PolyEval.h b/libc/src/__support/FPUtil/PolyEval.h
similarity index 90%
rename from libc/utils/FPUtil/PolyEval.h
rename to libc/src/__support/FPUtil/PolyEval.h
index ce8377fe895a1..95311ed55a1b4 100644
--- a/libc/utils/FPUtil/PolyEval.h
+++ b/libc/src/__support/FPUtil/PolyEval.h
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_LIBC_UTILS_FPUTIL_POLYEVAL_H
-#define LLVM_LIBC_UTILS_FPUTIL_POLYEVAL_H
+#ifndef LLVM_LIBC_SRC_SUPPORT_FPUTIL_POLYEVAL_H
+#define LLVM_LIBC_SRC_SUPPORT_FPUTIL_POLYEVAL_H
 
 #include "utils/CPP/TypeTraits.h"
 
@@ -51,4 +51,4 @@ static inline T polyeval(T x, T a0, Ts... a) {
 
 #endif
 
-#endif // LLVM_LIBC_UTILS_FPUTIL_FMA_H
+#endif // LLVM_LIBC_SRC_SUPPORT_FPUTIL_FMA_H

diff  --git a/libc/utils/FPUtil/Sqrt.h b/libc/src/__support/FPUtil/Sqrt.h
similarity index 97%
rename from libc/utils/FPUtil/Sqrt.h
rename to libc/src/__support/FPUtil/Sqrt.h
index b977bc2ef8773..6bba29fc0aee1 100644
--- a/libc/utils/FPUtil/Sqrt.h
+++ b/libc/src/__support/FPUtil/Sqrt.h
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_LIBC_UTILS_FPUTIL_SQRT_H
-#define LLVM_LIBC_UTILS_FPUTIL_SQRT_H
+#ifndef LLVM_LIBC_SRC_SUPPORT_FPUTIL_SQRT_H
+#define LLVM_LIBC_SRC_SUPPORT_FPUTIL_SQRT_H
 
 #include "FPBits.h"
 #include "PlatformDefs.h"
@@ -189,4 +189,4 @@ static inline T sqrt(T x) {
 #include "SqrtLongDoubleX86.h"
 #endif // SPECIAL_X86_LONG_DOUBLE
 
-#endif // LLVM_LIBC_UTILS_FPUTIL_SQRT_H
+#endif // LLVM_LIBC_SRC_SUPPORT_FPUTIL_SQRT_H

diff  --git a/libc/utils/FPUtil/SqrtLongDoubleX86.h b/libc/src/__support/FPUtil/SqrtLongDoubleX86.h
similarity index 95%
rename from libc/utils/FPUtil/SqrtLongDoubleX86.h
rename to libc/src/__support/FPUtil/SqrtLongDoubleX86.h
index 58326183678b8..f4d89b504b0f5 100644
--- a/libc/utils/FPUtil/SqrtLongDoubleX86.h
+++ b/libc/src/__support/FPUtil/SqrtLongDoubleX86.h
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_LIBC_UTILS_FPUTIL_SQRT_LONG_DOUBLE_X86_H
-#define LLVM_LIBC_UTILS_FPUTIL_SQRT_LONG_DOUBLE_X86_H
+#ifndef LLVM_LIBC_SRC_SUPPORT_FPUTIL_SQRT_LONG_DOUBLE_X86_H
+#define LLVM_LIBC_SRC_SUPPORT_FPUTIL_SQRT_LONG_DOUBLE_X86_H
 
 #include "FPBits.h"
 #include "Sqrt.h"
@@ -139,4 +139,4 @@ template <> inline long double sqrt<long double, 0>(long double x) {
 } // namespace fputil
 } // namespace __llvm_libc
 
-#endif // LLVM_LIBC_UTILS_FPUTIL_SQRT_LONG_DOUBLE_X86_H
+#endif // LLVM_LIBC_SRC_SUPPORT_FPUTIL_SQRT_LONG_DOUBLE_X86_H

diff  --git a/libc/utils/FPUtil/TestHelpers.cpp b/libc/src/__support/FPUtil/TestHelpers.cpp
similarity index 100%
rename from libc/utils/FPUtil/TestHelpers.cpp
rename to libc/src/__support/FPUtil/TestHelpers.cpp

diff  --git a/libc/utils/FPUtil/TestHelpers.h b/libc/src/__support/FPUtil/TestHelpers.h
similarity index 96%
rename from libc/utils/FPUtil/TestHelpers.h
rename to libc/src/__support/FPUtil/TestHelpers.h
index 263eace786fd8..4ee0bb9091f1f 100644
--- a/libc/utils/FPUtil/TestHelpers.h
+++ b/libc/src/__support/FPUtil/TestHelpers.h
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_LIBC_UTILS_FPUTIL_TEST_HELPERS_H
-#define LLVM_LIBC_UTILS_FPUTIL_TEST_HELPERS_H
+#ifndef LLVM_LIBC_SRC_SUPPORT_FPUTIL_TEST_HELPERS_H
+#define LLVM_LIBC_SRC_SUPPORT_FPUTIL_TEST_HELPERS_H
 
 #include "FPBits.h"
 
@@ -98,4 +98,4 @@ FPMatcher<T, C> getMatcher(T expectedValue) {
       __llvm_libc::fputil::testing::getMatcher<__llvm_libc::testing::Cond_NE>( \
           expected))
 
-#endif // LLVM_LIBC_UTILS_FPUTIL_TEST_HELPERS_H
+#endif // LLVM_LIBC_SRC_SUPPORT_FPUTIL_TEST_HELPERS_H

diff  --git a/libc/utils/FPUtil/aarch64/FEnvImpl.h b/libc/src/__support/FPUtil/aarch64/FEnvImpl.h
similarity index 97%
rename from libc/utils/FPUtil/aarch64/FEnvImpl.h
rename to libc/src/__support/FPUtil/aarch64/FEnvImpl.h
index 1c7ac85652b00..950824631a253 100644
--- a/libc/utils/FPUtil/aarch64/FEnvImpl.h
+++ b/libc/src/__support/FPUtil/aarch64/FEnvImpl.h
@@ -6,14 +6,14 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_LIBC_UTILS_FPUTIL_AARCH64_FENVIMPL_H
-#define LLVM_LIBC_UTILS_FPUTIL_AARCH64_FENVIMPL_H
+#ifndef LLVM_LIBC_SRC_SUPPORT_FPUTIL_AARCH64_FENVIMPL_H
+#define LLVM_LIBC_SRC_SUPPORT_FPUTIL_AARCH64_FENVIMPL_H
 
 #include <arm_acle.h>
 #include <fenv.h>
 #include <stdint.h>
 
-#include "utils/FPUtil/FPBits.h"
+#include "src/__support/FPUtil/FPBits.h"
 
 namespace __llvm_libc {
 namespace fputil {
@@ -232,4 +232,4 @@ static inline int setEnv(const fenv_t *envp) {
 } // namespace fputil
 } // namespace __llvm_libc
 
-#endif // LLVM_LIBC_UTILS_FPUTIL_AARCH64_FENVIMPL_H
+#endif // LLVM_LIBC_SRC_SUPPORT_FPUTIL_AARCH64_FENVIMPL_H

diff  --git a/libc/utils/FPUtil/aarch64/FMA.h b/libc/src/__support/FPUtil/aarch64/FMA.h
similarity index 87%
rename from libc/utils/FPUtil/aarch64/FMA.h
rename to libc/src/__support/FPUtil/aarch64/FMA.h
index 47230da90fe3b..7e4c72621037d 100644
--- a/libc/utils/FPUtil/aarch64/FMA.h
+++ b/libc/src/__support/FPUtil/aarch64/FMA.h
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_LIBC_UTILS_FPUTIL_AARCH64_FMA_H
-#define LLVM_LIBC_UTILS_FPUTIL_AARCH64_FMA_H
+#ifndef LLVM_LIBC_SRC_SUPPORT_FPUTIL_AARCH64_FMA_H
+#define LLVM_LIBC_SRC_SUPPORT_FPUTIL_AARCH64_FMA_H
 
 #include "utils/CPP/TypeTraits.h"
 
@@ -35,4 +35,4 @@ cpp::EnableIfType<cpp::IsSame<T, double>::Value, T> fma(T x, T y, T z) {
 } // namespace fputil
 } // namespace __llvm_libc
 
-#endif // LLVM_LIBC_UTILS_FPUTIL_AARCH64_FMA_H
+#endif // LLVM_LIBC_SRC_SUPPORT_FPUTIL_AARCH64_FMA_H

diff  --git a/libc/utils/FPUtil/generic/FMA.h b/libc/src/__support/FPUtil/generic/FMA.h
similarity index 95%
rename from libc/utils/FPUtil/generic/FMA.h
rename to libc/src/__support/FPUtil/generic/FMA.h
index 269a5073f29f5..6d19ba96aaf76 100644
--- a/libc/utils/FPUtil/generic/FMA.h
+++ b/libc/src/__support/FPUtil/generic/FMA.h
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_LIBC_UTILS_FPUTIL_GENERIC_FMA_H
-#define LLVM_LIBC_UTILS_FPUTIL_GENERIC_FMA_H
+#ifndef LLVM_LIBC_SRC_SUPPORT_FPUTIL_GENERIC_FMA_H
+#define LLVM_LIBC_SRC_SUPPORT_FPUTIL_GENERIC_FMA_H
 
 #include "utils/CPP/TypeTraits.h"
 
@@ -69,4 +69,4 @@ static inline cpp::EnableIfType<cpp::IsSame<T, float>::Value, T> fma(T x, T y,
 } // namespace fputil
 } // namespace __llvm_libc
 
-#endif // LLVM_LIBC_UTILS_FPUTIL_GENERIC_FMA_H
+#endif // LLVM_LIBC_SRC_SUPPORT_FPUTIL_GENERIC_FMA_H

diff  --git a/libc/utils/FPUtil/generic/README.md b/libc/src/__support/FPUtil/generic/README.md
similarity index 100%
rename from libc/utils/FPUtil/generic/README.md
rename to libc/src/__support/FPUtil/generic/README.md

diff  --git a/libc/utils/FPUtil/x86_64/FEnvImpl.h b/libc/src/__support/FPUtil/x86_64/FEnvImpl.h
similarity index 98%
rename from libc/utils/FPUtil/x86_64/FEnvImpl.h
rename to libc/src/__support/FPUtil/x86_64/FEnvImpl.h
index b3e5fc58a2e0d..88623b90aaa8e 100644
--- a/libc/utils/FPUtil/x86_64/FEnvImpl.h
+++ b/libc/src/__support/FPUtil/x86_64/FEnvImpl.h
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_LIBC_UTILS_FPUTIL_X86_64_FENVIMPL_H
-#define LLVM_LIBC_UTILS_FPUTIL_X86_64_FENVIMPL_H
+#ifndef LLVM_LIBC_SRC_SUPPORT_FPUTIL_X86_64_FENVIMPL_H
+#define LLVM_LIBC_SRC_SUPPORT_FPUTIL_X86_64_FENVIMPL_H
 
 #include <fenv.h>
 #include <stdint.h>
@@ -238,7 +238,7 @@ static inline int raiseExcept(int excepts) {
   // ensure that the writes by the exception handler are maintained
   // when raising the next exception.
 
-  auto raiseHelper = [](uint16_t  singleExceptFlag) {
+  auto raiseHelper = [](uint16_t singleExceptFlag) {
     internal::X87StateDescriptor state;
     internal::getX87StateDescriptor(state);
     state.StatusWord |= singleExceptFlag;
@@ -386,4 +386,4 @@ static inline int setEnv(const fenv_t *envp) {
 } // namespace fputil
 } // namespace __llvm_libc
 
-#endif // LLVM_LIBC_UTILS_FPUTIL_X86_64_FENVIMPL_H
+#endif // LLVM_LIBC_SRC_SUPPORT_FPUTIL_X86_64_FENVIMPL_H

diff  --git a/libc/utils/FPUtil/x86_64/FMA.h b/libc/src/__support/FPUtil/x86_64/FMA.h
similarity index 88%
rename from libc/utils/FPUtil/x86_64/FMA.h
rename to libc/src/__support/FPUtil/x86_64/FMA.h
index e1bc806e4ac8b..3229b2178841a 100644
--- a/libc/utils/FPUtil/x86_64/FMA.h
+++ b/libc/src/__support/FPUtil/x86_64/FMA.h
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_LIBC_UTILS_FPUTIL_X86_64_FMA_H
-#define LLVM_LIBC_UTILS_FPUTIL_X86_64_FMA_H
+#ifndef LLVM_LIBC_SRC_SUPPORT_FPUTIL_X86_64_FMA_H
+#define LLVM_LIBC_SRC_SUPPORT_FPUTIL_X86_64_FMA_H
 
 #include "utils/CPP/TypeTraits.h"
 
@@ -37,4 +37,4 @@ static inline cpp::EnableIfType<cpp::IsSame<T, double>::Value, T> fma(T x, T y,
 } // namespace fputil
 } // namespace __llvm_libc
 
-#endif // LLVM_LIBC_UTILS_FPUTIL_X86_64_FMA_H
+#endif // LLVM_LIBC_SRC_SUPPORT_FPUTIL_X86_64_FMA_H

diff  --git a/libc/src/ctype/ctype_utils.h b/libc/src/__support/ctype_utils.h
similarity index 84%
rename from libc/src/ctype/ctype_utils.h
rename to libc/src/__support/ctype_utils.h
index b8457227aa832..65b6ca00f51f4 100644
--- a/libc/src/ctype/ctype_utils.h
+++ b/libc/src/__support/ctype_utils.h
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_LIBC_SRC_CTYPE_CTYPE_UTILS_H
-#define LLVM_LIBC_SRC_CTYPE_CTYPE_UTILS_H
+#ifndef LLVM_LIBC_SRC_SUPPORT_CTYPE_UTILS_H
+#define LLVM_LIBC_SRC_SUPPORT_CTYPE_UTILS_H
 
 namespace __llvm_libc {
 namespace internal {
@@ -30,7 +30,11 @@ static constexpr int islower(unsigned ch) { return (ch - 'a') < 26; }
 
 static constexpr int isupper(unsigned ch) { return (ch - 'A') < 26; }
 
+static constexpr int isspace(unsigned ch) {
+  return ch == ' ' || (ch - '\t') < 5;
+}
+
 } // namespace internal
 } // namespace __llvm_libc
 
-#endif //  LLVM_LIBC_SRC_CTYPE_CTYPE_UTILS_H
+#endif //  LLVM_LIBC_SRC_SUPPORT_CTYPE_UTILS_H

diff  --git a/libc/src/ctype/CMakeLists.txt b/libc/src/ctype/CMakeLists.txt
index dd7ee24520f87..8dc2359e3f718 100644
--- a/libc/src/ctype/CMakeLists.txt
+++ b/libc/src/ctype/CMakeLists.txt
@@ -1,9 +1,3 @@
-add_header_library(
-  ctype_utils
-  HDRS
-    ctype_utils.h
-)
-
 add_entrypoint_object(
   isalnum
   SRCS
@@ -11,7 +5,7 @@ add_entrypoint_object(
   HDRS
     isalnum.h
   DEPENDS
-    .ctype_utils
+    libc.src.__support.ctype_utils
 )
 
 add_entrypoint_object(
@@ -21,7 +15,7 @@ add_entrypoint_object(
   HDRS
     isalpha.h
   DEPENDS
-    .ctype_utils
+    libc.src.__support.ctype_utils
 )
 
 add_entrypoint_object(
@@ -55,7 +49,7 @@ add_entrypoint_object(
   HDRS
     isdigit.h
   DEPENDS
-    .ctype_utils
+    libc.src.__support.ctype_utils
 )
 
 add_entrypoint_object(
@@ -65,7 +59,7 @@ add_entrypoint_object(
   HDRS
     isgraph.h
   DEPENDS
-    .ctype_utils
+    libc.src.__support.ctype_utils
 )
 
 add_entrypoint_object(
@@ -75,7 +69,7 @@ add_entrypoint_object(
   HDRS
     islower.h
   DEPENDS
-    .ctype_utils
+    libc.src.__support.ctype_utils
 )
 
 add_entrypoint_object(
@@ -93,7 +87,7 @@ add_entrypoint_object(
   HDRS
     ispunct.h
   DEPENDS
-    .ctype_utils
+    libc.src.__support.ctype_utils
 )
 
 add_entrypoint_object(
@@ -111,7 +105,7 @@ add_entrypoint_object(
   HDRS
     isupper.h
   DEPENDS
-    .ctype_utils
+    libc.src.__support.ctype_utils
 )
 
 add_entrypoint_object(
@@ -121,7 +115,7 @@ add_entrypoint_object(
   HDRS
     isxdigit.h
   DEPENDS
-    .ctype_utils
+    libc.src.__support.ctype_utils
 )
 
 add_entrypoint_object(
@@ -131,7 +125,7 @@ add_entrypoint_object(
   HDRS
     tolower.h
   DEPENDS
-    .ctype_utils
+    libc.src.__support.ctype_utils
 )
 
 add_entrypoint_object(
@@ -149,5 +143,5 @@ add_entrypoint_object(
   HDRS
     toupper.h
   DEPENDS
-    .ctype_utils
+    libc.src.__support.ctype_utils
 )

diff  --git a/libc/src/ctype/isalnum.cpp b/libc/src/ctype/isalnum.cpp
index 3e8da722c674a..07ff54aa38e6c 100644
--- a/libc/src/ctype/isalnum.cpp
+++ b/libc/src/ctype/isalnum.cpp
@@ -7,7 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/ctype/isalnum.h"
-#include "src/ctype/ctype_utils.h"
+#include "src/__support/ctype_utils.h"
 
 #include "src/__support/common.h"
 

diff  --git a/libc/src/ctype/isalpha.cpp b/libc/src/ctype/isalpha.cpp
index cecf1b516939d..9e2b7a7377daf 100644
--- a/libc/src/ctype/isalpha.cpp
+++ b/libc/src/ctype/isalpha.cpp
@@ -9,7 +9,7 @@
 #include "src/ctype/isalpha.h"
 
 #include "src/__support/common.h"
-#include "src/ctype/ctype_utils.h"
+#include "src/__support/ctype_utils.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/ctype/isdigit.cpp b/libc/src/ctype/isdigit.cpp
index 8471e4b5569a4..79a8b106f925b 100644
--- a/libc/src/ctype/isdigit.cpp
+++ b/libc/src/ctype/isdigit.cpp
@@ -8,7 +8,7 @@
 
 #include "src/ctype/isdigit.h"
 #include "src/__support/common.h"
-#include "src/ctype/ctype_utils.h"
+#include "src/__support/ctype_utils.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/ctype/isgraph.cpp b/libc/src/ctype/isgraph.cpp
index 2bb6a57da4073..8d0bb38c2ead2 100644
--- a/libc/src/ctype/isgraph.cpp
+++ b/libc/src/ctype/isgraph.cpp
@@ -9,7 +9,7 @@
 #include "src/ctype/isgraph.h"
 
 #include "src/__support/common.h"
-#include "src/ctype/ctype_utils.h"
+#include "src/__support/ctype_utils.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/ctype/islower.cpp b/libc/src/ctype/islower.cpp
index 907a322174969..73ce42e912bf4 100644
--- a/libc/src/ctype/islower.cpp
+++ b/libc/src/ctype/islower.cpp
@@ -7,7 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/ctype/islower.h"
-#include "src/ctype/ctype_utils.h"
+#include "src/__support/ctype_utils.h"
 
 #include "src/__support/common.h"
 

diff  --git a/libc/src/ctype/ispunct.cpp b/libc/src/ctype/ispunct.cpp
index 064b7b07c6e6a..46c2fec6d21b9 100644
--- a/libc/src/ctype/ispunct.cpp
+++ b/libc/src/ctype/ispunct.cpp
@@ -9,7 +9,7 @@
 #include "src/ctype/ispunct.h"
 
 #include "src/__support/common.h"
-#include "src/ctype/ctype_utils.h"
+#include "src/__support/ctype_utils.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/ctype/isspace.cpp b/libc/src/ctype/isspace.cpp
index 4a269ef29bf2f..ae86491127736 100644
--- a/libc/src/ctype/isspace.cpp
+++ b/libc/src/ctype/isspace.cpp
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/ctype/isspace.h"
+#include "src/__support/ctype_utils.h"
 
 #include "src/__support/common.h"
 
@@ -14,9 +15,6 @@ namespace __llvm_libc {
 
 // TODO: Currently restricted to default locale.
 // These should be extended using locale information.
-LLVM_LIBC_FUNCTION(int, isspace, (int c)) {
-  const unsigned ch = c;
-  return ch == ' ' || (ch - '\t') < 5;
-}
+LLVM_LIBC_FUNCTION(int, isspace, (int c)) { return internal::isspace(c); }
 
 } // namespace __llvm_libc

diff  --git a/libc/src/ctype/isupper.cpp b/libc/src/ctype/isupper.cpp
index f1c56fc942f68..bf3c0cf1f9297 100644
--- a/libc/src/ctype/isupper.cpp
+++ b/libc/src/ctype/isupper.cpp
@@ -7,7 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/ctype/isupper.h"
-#include "src/ctype/ctype_utils.h"
+#include "src/__support/ctype_utils.h"
 
 #include "src/__support/common.h"
 

diff  --git a/libc/src/ctype/isxdigit.cpp b/libc/src/ctype/isxdigit.cpp
index 5ee1b1090b778..e2a618de4e1ac 100644
--- a/libc/src/ctype/isxdigit.cpp
+++ b/libc/src/ctype/isxdigit.cpp
@@ -7,7 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/ctype/isxdigit.h"
-#include "src/ctype/ctype_utils.h"
+#include "src/__support/ctype_utils.h"
 
 #include "src/__support/common.h"
 

diff  --git a/libc/src/ctype/tolower.cpp b/libc/src/ctype/tolower.cpp
index c01f4f0ded81d..140c548b996c5 100644
--- a/libc/src/ctype/tolower.cpp
+++ b/libc/src/ctype/tolower.cpp
@@ -7,7 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/ctype/tolower.h"
-#include "src/ctype/ctype_utils.h"
+#include "src/__support/ctype_utils.h"
 
 #include "src/__support/common.h"
 

diff  --git a/libc/src/ctype/toupper.cpp b/libc/src/ctype/toupper.cpp
index 254befc38f30a..d2491ce224397 100644
--- a/libc/src/ctype/toupper.cpp
+++ b/libc/src/ctype/toupper.cpp
@@ -7,7 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/ctype/toupper.h"
-#include "src/ctype/ctype_utils.h"
+#include "src/__support/ctype_utils.h"
 
 #include "src/__support/common.h"
 

diff  --git a/libc/src/fenv/CMakeLists.txt b/libc/src/fenv/CMakeLists.txt
index be1adf1bb98c5..ea3946be70fb0 100644
--- a/libc/src/fenv/CMakeLists.txt
+++ b/libc/src/fenv/CMakeLists.txt
@@ -6,7 +6,7 @@ add_entrypoint_object(
     fegetround.h
   DEPENDS
     libc.include.fenv
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -19,7 +19,7 @@ add_entrypoint_object(
     fesetround.h
   DEPENDS
     libc.include.fenv
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -32,7 +32,7 @@ add_entrypoint_object(
     feclearexcept.h
   DEPENDS
     libc.include.fenv
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -45,7 +45,7 @@ add_entrypoint_object(
     feraiseexcept.h
   DEPENDS
     libc.include.fenv
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -58,7 +58,7 @@ add_entrypoint_object(
     fetestexcept.h
   DEPENDS
     libc.include.fenv
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -71,7 +71,7 @@ add_entrypoint_object(
     fegetenv.h
   DEPENDS
     libc.include.fenv
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -84,7 +84,7 @@ add_entrypoint_object(
     fesetenv.h
   DEPENDS
     libc.include.fenv
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -97,7 +97,7 @@ add_entrypoint_object(
     fegetexceptflag.h
   DEPENDS
     libc.include.fenv
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -110,7 +110,7 @@ add_entrypoint_object(
     fesetexceptflag.h
   DEPENDS
     libc.include.fenv
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -123,7 +123,7 @@ add_entrypoint_object(
     feholdexcept.h
   DEPENDS
     libc.include.fenv
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -136,7 +136,7 @@ add_entrypoint_object(
     feupdateenv.h
   DEPENDS
     libc.include.fenv
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )

diff  --git a/libc/src/fenv/feclearexcept.cpp b/libc/src/fenv/feclearexcept.cpp
index 89297234ea3e7..7a1114e4150f8 100644
--- a/libc/src/fenv/feclearexcept.cpp
+++ b/libc/src/fenv/feclearexcept.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/fenv/feclearexcept.h"
+#include "src/__support/FPUtil/FEnvUtils.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/FEnvUtils.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/fenv/fegetenv.cpp b/libc/src/fenv/fegetenv.cpp
index 0988499f377e5..135adc6de5693 100644
--- a/libc/src/fenv/fegetenv.cpp
+++ b/libc/src/fenv/fegetenv.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/fenv/fegetenv.h"
+#include "src/__support/FPUtil/FEnvUtils.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/FEnvUtils.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/fenv/fegetexceptflag.cpp b/libc/src/fenv/fegetexceptflag.cpp
index be5c93e7d91cf..131d703e17156 100644
--- a/libc/src/fenv/fegetexceptflag.cpp
+++ b/libc/src/fenv/fegetexceptflag.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/fenv/fegetexceptflag.h"
+#include "src/__support/FPUtil/FEnvUtils.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/FEnvUtils.h"
 
 #include <fenv.h>
 

diff  --git a/libc/src/fenv/fegetround.cpp b/libc/src/fenv/fegetround.cpp
index 88c3b2354838c..ade5088f40485 100644
--- a/libc/src/fenv/fegetround.cpp
+++ b/libc/src/fenv/fegetround.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/fenv/fegetround.h"
+#include "src/__support/FPUtil/FEnvUtils.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/FEnvUtils.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/fenv/feholdexcept.cpp b/libc/src/fenv/feholdexcept.cpp
index 890db42b3e004..61aeb8ab75745 100644
--- a/libc/src/fenv/feholdexcept.cpp
+++ b/libc/src/fenv/feholdexcept.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/fenv/feholdexcept.h"
+#include "src/__support/FPUtil/FEnvUtils.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/FEnvUtils.h"
 
 #include <fenv.h>
 

diff  --git a/libc/src/fenv/feraiseexcept.cpp b/libc/src/fenv/feraiseexcept.cpp
index beb4099a71d08..1f8c16c233722 100644
--- a/libc/src/fenv/feraiseexcept.cpp
+++ b/libc/src/fenv/feraiseexcept.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/fenv/feraiseexcept.h"
+#include "src/__support/FPUtil/FEnvUtils.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/FEnvUtils.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/fenv/fesetenv.cpp b/libc/src/fenv/fesetenv.cpp
index ec0b7cb1f5882..57db2537de0a6 100644
--- a/libc/src/fenv/fesetenv.cpp
+++ b/libc/src/fenv/fesetenv.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/fenv/fesetenv.h"
+#include "src/__support/FPUtil/FEnvUtils.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/FEnvUtils.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/fenv/fesetexceptflag.cpp b/libc/src/fenv/fesetexceptflag.cpp
index 851b13e4012d2..7e480e39d24cf 100644
--- a/libc/src/fenv/fesetexceptflag.cpp
+++ b/libc/src/fenv/fesetexceptflag.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/fenv/fesetexceptflag.h"
+#include "src/__support/FPUtil/FEnvUtils.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/FEnvUtils.h"
 
 #include <fenv.h>
 

diff  --git a/libc/src/fenv/fesetround.cpp b/libc/src/fenv/fesetround.cpp
index 25b51e73043f9..041523afc4c97 100644
--- a/libc/src/fenv/fesetround.cpp
+++ b/libc/src/fenv/fesetround.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/fenv/fesetround.h"
+#include "src/__support/FPUtil/FEnvUtils.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/FEnvUtils.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/fenv/fetestexcept.cpp b/libc/src/fenv/fetestexcept.cpp
index e33319c3ac40e..59cfca5d1387d 100644
--- a/libc/src/fenv/fetestexcept.cpp
+++ b/libc/src/fenv/fetestexcept.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/fenv/fetestexcept.h"
+#include "src/__support/FPUtil/FEnvUtils.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/FEnvUtils.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/fenv/feupdateenv.cpp b/libc/src/fenv/feupdateenv.cpp
index f3f6e36aac3d1..6a8697265ef9e 100644
--- a/libc/src/fenv/feupdateenv.cpp
+++ b/libc/src/fenv/feupdateenv.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/fenv/feupdateenv.h"
+#include "src/__support/FPUtil/FEnvUtils.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/FEnvUtils.h"
 
 #include <fenv.h>
 

diff  --git a/libc/src/math/CMakeLists.txt b/libc/src/math/CMakeLists.txt
index ddee3ca6c3104..fe78071a03005 100644
--- a/libc/src/math/CMakeLists.txt
+++ b/libc/src/math/CMakeLists.txt
@@ -47,7 +47,7 @@ add_entrypoint_object(
   HDRS
     fmaf.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -59,7 +59,7 @@ add_entrypoint_object(
   HDRS
     fma.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )

diff  --git a/libc/src/math/fma.cpp b/libc/src/math/fma.cpp
index bf5459a52ed61..22aa20e78396e 100644
--- a/libc/src/math/fma.cpp
+++ b/libc/src/math/fma.cpp
@@ -9,7 +9,7 @@
 #include "src/math/fma.h"
 #include "src/__support/common.h"
 
-#include "utils/FPUtil/FMA.h"
+#include "src/__support/FPUtil/FMA.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/fmaf.cpp b/libc/src/math/fmaf.cpp
index 673ad6999871c..30074b8ca4a0b 100644
--- a/libc/src/math/fmaf.cpp
+++ b/libc/src/math/fmaf.cpp
@@ -9,7 +9,7 @@
 #include "src/math/fmaf.h"
 #include "src/__support/common.h"
 
-#include "utils/FPUtil/FMA.h"
+#include "src/__support/FPUtil/FMA.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/CMakeLists.txt b/libc/src/math/generic/CMakeLists.txt
index 686d2757842c4..ff5e814652eeb 100644
--- a/libc/src/math/generic/CMakeLists.txt
+++ b/libc/src/math/generic/CMakeLists.txt
@@ -5,7 +5,7 @@ add_entrypoint_object(
   HDRS
     ../ceil.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -17,7 +17,7 @@ add_entrypoint_object(
   HDRS
     ../ceilf.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -29,7 +29,7 @@ add_entrypoint_object(
   HDRS
     ../ceill.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -78,7 +78,7 @@ add_entrypoint_object(
     .sincosf_utils
     libc.include.math
     libc.src.errno.__errno_location
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O3
 )
@@ -102,7 +102,7 @@ add_entrypoint_object(
   HDRS
     ../fabs.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -114,7 +114,7 @@ add_entrypoint_object(
   HDRS
     ../fabsf.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -126,7 +126,7 @@ add_entrypoint_object(
   HDRS
     ../fabsl.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -138,7 +138,7 @@ add_entrypoint_object(
   HDRS
     ../trunc.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -150,7 +150,7 @@ add_entrypoint_object(
   HDRS
     ../truncf.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -162,7 +162,7 @@ add_entrypoint_object(
   HDRS
     ../truncl.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -174,7 +174,7 @@ add_entrypoint_object(
   HDRS
     ../floor.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -186,7 +186,7 @@ add_entrypoint_object(
   HDRS
     ../floorf.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -198,7 +198,7 @@ add_entrypoint_object(
   HDRS
     ../floorl.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -210,7 +210,7 @@ add_entrypoint_object(
   HDRS
     ../round.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -222,7 +222,7 @@ add_entrypoint_object(
   HDRS
     ../roundf.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -234,7 +234,7 @@ add_entrypoint_object(
   HDRS
     ../roundl.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -246,7 +246,7 @@ add_entrypoint_object(
   HDRS
     ../lround.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -258,7 +258,7 @@ add_entrypoint_object(
   HDRS
     ../lroundf.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -270,7 +270,7 @@ add_entrypoint_object(
   HDRS
     ../lroundl.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -282,7 +282,7 @@ add_entrypoint_object(
   HDRS
     ../llround.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -294,7 +294,7 @@ add_entrypoint_object(
   HDRS
     ../llroundf.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -306,7 +306,7 @@ add_entrypoint_object(
   HDRS
     ../llroundl.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -318,7 +318,7 @@ add_entrypoint_object(
   HDRS
     ../rint.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -330,7 +330,7 @@ add_entrypoint_object(
   HDRS
     ../rintf.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -342,7 +342,7 @@ add_entrypoint_object(
   HDRS
     ../rintl.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -354,7 +354,7 @@ add_entrypoint_object(
   HDRS
     ../lrint.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -366,7 +366,7 @@ add_entrypoint_object(
   HDRS
     ../lrintf.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -378,7 +378,7 @@ add_entrypoint_object(
   HDRS
     ../lrintl.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -390,7 +390,7 @@ add_entrypoint_object(
   HDRS
     ../llrint.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -402,7 +402,7 @@ add_entrypoint_object(
   HDRS
     ../llrintf.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -414,7 +414,7 @@ add_entrypoint_object(
   HDRS
     ../llrintl.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -426,7 +426,7 @@ add_entrypoint_object(
   HDRS
     ../nearbyint.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -438,7 +438,7 @@ add_entrypoint_object(
   HDRS
     ../nearbyintf.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -450,7 +450,7 @@ add_entrypoint_object(
   HDRS
     ../nearbyintl.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -508,7 +508,7 @@ add_entrypoint_object(
   HDRS
     ../copysign.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -520,7 +520,7 @@ add_entrypoint_object(
   HDRS
     ../copysignf.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -532,7 +532,7 @@ add_entrypoint_object(
   HDRS
     ../copysignl.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -544,7 +544,7 @@ add_entrypoint_object(
   HDRS
     ../frexp.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -556,7 +556,7 @@ add_entrypoint_object(
   HDRS
     ../frexpf.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -568,7 +568,7 @@ add_entrypoint_object(
   HDRS
     ../frexpl.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -580,7 +580,7 @@ add_entrypoint_object(
   HDRS
     ../ilogb.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -592,7 +592,7 @@ add_entrypoint_object(
   HDRS
     ../ilogbf.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -604,7 +604,7 @@ add_entrypoint_object(
   HDRS
     ../ilogbl.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -616,7 +616,7 @@ add_entrypoint_object(
   HDRS
     ../ldexp.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -628,7 +628,7 @@ add_entrypoint_object(
   HDRS
     ../ldexpf.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -640,7 +640,7 @@ add_entrypoint_object(
   HDRS
     ../ldexpl.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -652,7 +652,7 @@ add_entrypoint_object(
   HDRS
     ../logb.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -664,7 +664,7 @@ add_entrypoint_object(
   HDRS
     ../logbf.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -676,7 +676,7 @@ add_entrypoint_object(
   HDRS
     ../logbl.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -688,7 +688,7 @@ add_entrypoint_object(
   HDRS
     ../modf.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -700,7 +700,7 @@ add_entrypoint_object(
   HDRS
     ../modff.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -712,7 +712,7 @@ add_entrypoint_object(
   HDRS
     ../modfl.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -724,7 +724,7 @@ add_entrypoint_object(
   HDRS
     ../fmin.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -736,7 +736,7 @@ add_entrypoint_object(
   HDRS
     ../fminf.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -748,7 +748,7 @@ add_entrypoint_object(
   HDRS
     ../fminl.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -760,7 +760,7 @@ add_entrypoint_object(
   HDRS
     ../fmax.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -772,7 +772,7 @@ add_entrypoint_object(
   HDRS
     ../fmaxf.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -784,7 +784,7 @@ add_entrypoint_object(
   HDRS
     ../fmaxl.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -796,7 +796,7 @@ add_entrypoint_object(
   HDRS
     ../sqrt.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -808,7 +808,7 @@ add_entrypoint_object(
   HDRS
     ../sqrtf.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -820,7 +820,7 @@ add_entrypoint_object(
   HDRS
     ../sqrtl.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -832,7 +832,7 @@ add_entrypoint_object(
   HDRS
     ../remquof.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -844,7 +844,7 @@ add_entrypoint_object(
   HDRS
     ../remquo.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -856,7 +856,7 @@ add_entrypoint_object(
   HDRS
     ../remquol.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -868,7 +868,7 @@ add_entrypoint_object(
   HDRS
     ../remainderf.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -880,7 +880,7 @@ add_entrypoint_object(
   HDRS
     ../remainder.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -892,7 +892,7 @@ add_entrypoint_object(
   HDRS
     ../remainderl.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -904,7 +904,7 @@ add_entrypoint_object(
   HDRS
     ../hypotf.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -916,7 +916,7 @@ add_entrypoint_object(
   HDRS
     ../fdim.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -928,7 +928,7 @@ add_entrypoint_object(
   HDRS
     ../fdimf.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -940,7 +940,7 @@ add_entrypoint_object(
   HDRS
     ../fdiml.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -952,7 +952,7 @@ add_entrypoint_object(
   HDRS
     ../hypot.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -964,7 +964,7 @@ add_entrypoint_object(
   HDRS
     ../nextafter.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -976,7 +976,7 @@ add_entrypoint_object(
   HDRS
     ../nextafterf.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )
@@ -988,7 +988,7 @@ add_entrypoint_object(
   HDRS
     ../nextafterl.h
   DEPENDS
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
   COMPILE_OPTIONS
     -O2
 )

diff  --git a/libc/src/math/generic/ceil.cpp b/libc/src/math/generic/ceil.cpp
index 7c59c938acff8..372a0356e6a2a 100644
--- a/libc/src/math/generic/ceil.cpp
+++ b/libc/src/math/generic/ceil.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/ceil.h"
+#include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/NearestIntegerOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/ceilf.cpp b/libc/src/math/generic/ceilf.cpp
index 9093ee196617b..9a510483f7a4a 100644
--- a/libc/src/math/generic/ceilf.cpp
+++ b/libc/src/math/generic/ceilf.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/ceilf.h"
+#include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/NearestIntegerOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/ceill.cpp b/libc/src/math/generic/ceill.cpp
index 23edb7a441c8a..b055d90761b2f 100644
--- a/libc/src/math/generic/ceill.cpp
+++ b/libc/src/math/generic/ceill.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/ceill.h"
+#include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/NearestIntegerOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/copysign.cpp b/libc/src/math/generic/copysign.cpp
index f13fcbec46ea2..51e63f1019b82 100644
--- a/libc/src/math/generic/copysign.cpp
+++ b/libc/src/math/generic/copysign.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/copysign.h"
+#include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/ManipulationFunctions.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/copysignf.cpp b/libc/src/math/generic/copysignf.cpp
index 1ea4727a9ca4d..4773a25d12b4f 100644
--- a/libc/src/math/generic/copysignf.cpp
+++ b/libc/src/math/generic/copysignf.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/copysignf.h"
+#include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/ManipulationFunctions.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/copysignl.cpp b/libc/src/math/generic/copysignl.cpp
index aeb84405cecb8..5622378755d7e 100644
--- a/libc/src/math/generic/copysignl.cpp
+++ b/libc/src/math/generic/copysignl.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/copysignl.h"
+#include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/ManipulationFunctions.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/expm1f.cpp b/libc/src/math/generic/expm1f.cpp
index 61ebbf288c53a..e893c606d8524 100644
--- a/libc/src/math/generic/expm1f.cpp
+++ b/libc/src/math/generic/expm1f.cpp
@@ -7,10 +7,10 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/expm1f.h"
+#include "src/__support/FPUtil/BasicOperations.h"
+#include "src/__support/FPUtil/PolyEval.h"
 #include "src/__support/common.h"
 #include "src/math/expf.h"
-#include "utils/FPUtil/BasicOperations.h"
-#include "utils/FPUtil/PolyEval.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/fabs.cpp b/libc/src/math/generic/fabs.cpp
index e7376481665f8..13872ac6e3ae2 100644
--- a/libc/src/math/generic/fabs.cpp
+++ b/libc/src/math/generic/fabs.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/fabs.h"
+#include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/BasicOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/fabsf.cpp b/libc/src/math/generic/fabsf.cpp
index 120e6a8570f4b..da4c67e588890 100644
--- a/libc/src/math/generic/fabsf.cpp
+++ b/libc/src/math/generic/fabsf.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/fabsf.h"
+#include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/BasicOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/fabsl.cpp b/libc/src/math/generic/fabsl.cpp
index eecb15a870415..9dd3665b5f5be 100644
--- a/libc/src/math/generic/fabsl.cpp
+++ b/libc/src/math/generic/fabsl.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/fabsl.h"
+#include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/BasicOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/fdim.cpp b/libc/src/math/generic/fdim.cpp
index b6bef16fca4da..1fcd09be52e4d 100644
--- a/libc/src/math/generic/fdim.cpp
+++ b/libc/src/math/generic/fdim.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/fdim.h"
+#include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/BasicOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/fdimf.cpp b/libc/src/math/generic/fdimf.cpp
index c46c95a8fdefb..db36f50a8dfb5 100644
--- a/libc/src/math/generic/fdimf.cpp
+++ b/libc/src/math/generic/fdimf.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/fdimf.h"
+#include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/BasicOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/fdiml.cpp b/libc/src/math/generic/fdiml.cpp
index 8f74bc0dd9231..97c46e542b05a 100644
--- a/libc/src/math/generic/fdiml.cpp
+++ b/libc/src/math/generic/fdiml.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/fdiml.h"
+#include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/BasicOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/floor.cpp b/libc/src/math/generic/floor.cpp
index 1f60aa7157040..982464c4f88f3 100644
--- a/libc/src/math/generic/floor.cpp
+++ b/libc/src/math/generic/floor.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/floor.h"
+#include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/NearestIntegerOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/floorf.cpp b/libc/src/math/generic/floorf.cpp
index fc251ba7ad4c9..af66be776aff9 100644
--- a/libc/src/math/generic/floorf.cpp
+++ b/libc/src/math/generic/floorf.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/floorf.h"
+#include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/NearestIntegerOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/floorl.cpp b/libc/src/math/generic/floorl.cpp
index 13253d72e5aaa..a56bc054e7940 100644
--- a/libc/src/math/generic/floorl.cpp
+++ b/libc/src/math/generic/floorl.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/floorl.h"
+#include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/NearestIntegerOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/fmax.cpp b/libc/src/math/generic/fmax.cpp
index d6585bbc92636..e96794ba17a95 100644
--- a/libc/src/math/generic/fmax.cpp
+++ b/libc/src/math/generic/fmax.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/fmax.h"
+#include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/BasicOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/fmaxf.cpp b/libc/src/math/generic/fmaxf.cpp
index 2fc862cf3dd54..6ad319f5cb5b9 100644
--- a/libc/src/math/generic/fmaxf.cpp
+++ b/libc/src/math/generic/fmaxf.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/fmaxf.h"
+#include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/BasicOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/fmaxl.cpp b/libc/src/math/generic/fmaxl.cpp
index 172c2d4deb96d..2a95c983de939 100644
--- a/libc/src/math/generic/fmaxl.cpp
+++ b/libc/src/math/generic/fmaxl.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/fmaxl.h"
+#include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/BasicOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/fmin.cpp b/libc/src/math/generic/fmin.cpp
index d5b1d497c895b..d06c8a649516e 100644
--- a/libc/src/math/generic/fmin.cpp
+++ b/libc/src/math/generic/fmin.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/fmin.h"
+#include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/BasicOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/fminf.cpp b/libc/src/math/generic/fminf.cpp
index 0a332c5812c98..658f1474919aa 100644
--- a/libc/src/math/generic/fminf.cpp
+++ b/libc/src/math/generic/fminf.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/fminf.h"
+#include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/BasicOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/fminl.cpp b/libc/src/math/generic/fminl.cpp
index 00bdf006ca456..2f10c8472d6af 100644
--- a/libc/src/math/generic/fminl.cpp
+++ b/libc/src/math/generic/fminl.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/fminl.h"
+#include "src/__support/FPUtil/BasicOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/BasicOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/frexp.cpp b/libc/src/math/generic/frexp.cpp
index 76a85ef2feb59..c31526b78d45f 100644
--- a/libc/src/math/generic/frexp.cpp
+++ b/libc/src/math/generic/frexp.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/frexp.h"
+#include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/ManipulationFunctions.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/frexpf.cpp b/libc/src/math/generic/frexpf.cpp
index 5c2655eee366c..2185e479fd656 100644
--- a/libc/src/math/generic/frexpf.cpp
+++ b/libc/src/math/generic/frexpf.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/frexpf.h"
+#include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/ManipulationFunctions.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/frexpl.cpp b/libc/src/math/generic/frexpl.cpp
index 16c508816a1cd..4573065ad5b1e 100644
--- a/libc/src/math/generic/frexpl.cpp
+++ b/libc/src/math/generic/frexpl.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/frexpl.h"
+#include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/ManipulationFunctions.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/hypot.cpp b/libc/src/math/generic/hypot.cpp
index 228f2fd70251f..9bd27559320c3 100644
--- a/libc/src/math/generic/hypot.cpp
+++ b/libc/src/math/generic/hypot.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/hypot.h"
+#include "src/__support/FPUtil/Hypot.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/Hypot.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/hypotf.cpp b/libc/src/math/generic/hypotf.cpp
index cd37a237d98c3..aa3b7cd43f319 100644
--- a/libc/src/math/generic/hypotf.cpp
+++ b/libc/src/math/generic/hypotf.cpp
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 #include "src/math/hypotf.h"
+#include "src/__support/FPUtil/Hypot.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/Hypot.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/ilogb.cpp b/libc/src/math/generic/ilogb.cpp
index 4f43a5a98914b..296e3027992b4 100644
--- a/libc/src/math/generic/ilogb.cpp
+++ b/libc/src/math/generic/ilogb.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/ilogb.h"
+#include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/ManipulationFunctions.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/ilogbf.cpp b/libc/src/math/generic/ilogbf.cpp
index 0245777f86f9b..476fc3e4883c5 100644
--- a/libc/src/math/generic/ilogbf.cpp
+++ b/libc/src/math/generic/ilogbf.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/ilogbf.h"
+#include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/ManipulationFunctions.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/ilogbl.cpp b/libc/src/math/generic/ilogbl.cpp
index e4aca46dc1f67..b08ee91eeb3b9 100644
--- a/libc/src/math/generic/ilogbl.cpp
+++ b/libc/src/math/generic/ilogbl.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/ilogbl.h"
+#include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/ManipulationFunctions.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/ldexp.cpp b/libc/src/math/generic/ldexp.cpp
index b4e5ff4ce804a..775aa7be9404e 100644
--- a/libc/src/math/generic/ldexp.cpp
+++ b/libc/src/math/generic/ldexp.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/ldexp.h"
+#include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/ManipulationFunctions.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/ldexpf.cpp b/libc/src/math/generic/ldexpf.cpp
index 3e3257b07b742..24450cc0ce51a 100644
--- a/libc/src/math/generic/ldexpf.cpp
+++ b/libc/src/math/generic/ldexpf.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/ldexpf.h"
+#include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/ManipulationFunctions.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/ldexpl.cpp b/libc/src/math/generic/ldexpl.cpp
index 018d5b4ffd6a3..df146cb51a23c 100644
--- a/libc/src/math/generic/ldexpl.cpp
+++ b/libc/src/math/generic/ldexpl.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/ldexpl.h"
+#include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/ManipulationFunctions.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/llrint.cpp b/libc/src/math/generic/llrint.cpp
index e640cffd01956..cf0e45aa09f7e 100644
--- a/libc/src/math/generic/llrint.cpp
+++ b/libc/src/math/generic/llrint.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/llrint.h"
+#include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/NearestIntegerOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/llrintf.cpp b/libc/src/math/generic/llrintf.cpp
index 0c292f703a353..96feea0f0deee 100644
--- a/libc/src/math/generic/llrintf.cpp
+++ b/libc/src/math/generic/llrintf.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/llrintf.h"
+#include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/NearestIntegerOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/llrintl.cpp b/libc/src/math/generic/llrintl.cpp
index 91659fa22d22f..ab1f0066105b3 100644
--- a/libc/src/math/generic/llrintl.cpp
+++ b/libc/src/math/generic/llrintl.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/llrintl.h"
+#include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/NearestIntegerOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/llround.cpp b/libc/src/math/generic/llround.cpp
index bfcd8af9a54d8..c424b19fe314e 100644
--- a/libc/src/math/generic/llround.cpp
+++ b/libc/src/math/generic/llround.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/llround.h"
+#include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/NearestIntegerOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/llroundf.cpp b/libc/src/math/generic/llroundf.cpp
index 13f6eb61266e1..7dc312694f3c0 100644
--- a/libc/src/math/generic/llroundf.cpp
+++ b/libc/src/math/generic/llroundf.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/llroundf.h"
+#include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/NearestIntegerOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/llroundl.cpp b/libc/src/math/generic/llroundl.cpp
index 4aa3614bfa7ca..099ad2f6fe93b 100644
--- a/libc/src/math/generic/llroundl.cpp
+++ b/libc/src/math/generic/llroundl.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/llroundl.h"
+#include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/NearestIntegerOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/logb.cpp b/libc/src/math/generic/logb.cpp
index 8c120622ea06f..eef428aba8aba 100644
--- a/libc/src/math/generic/logb.cpp
+++ b/libc/src/math/generic/logb.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/logb.h"
+#include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/ManipulationFunctions.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/logbf.cpp b/libc/src/math/generic/logbf.cpp
index 45e9b91083c10..1b1241b2982de 100644
--- a/libc/src/math/generic/logbf.cpp
+++ b/libc/src/math/generic/logbf.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/logbf.h"
+#include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/ManipulationFunctions.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/logbl.cpp b/libc/src/math/generic/logbl.cpp
index 71ee9294d64e9..7f4dc08ed536e 100644
--- a/libc/src/math/generic/logbl.cpp
+++ b/libc/src/math/generic/logbl.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/logbl.h"
+#include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/ManipulationFunctions.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/lrint.cpp b/libc/src/math/generic/lrint.cpp
index 2a91c338486e6..66fa8956c9b91 100644
--- a/libc/src/math/generic/lrint.cpp
+++ b/libc/src/math/generic/lrint.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/lrint.h"
+#include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/NearestIntegerOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/lrintf.cpp b/libc/src/math/generic/lrintf.cpp
index e9e1ea14d1d74..246bf59d9c5c2 100644
--- a/libc/src/math/generic/lrintf.cpp
+++ b/libc/src/math/generic/lrintf.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/lrintf.h"
+#include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/NearestIntegerOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/lrintl.cpp b/libc/src/math/generic/lrintl.cpp
index c7a688e832882..d8490bc19e3e7 100644
--- a/libc/src/math/generic/lrintl.cpp
+++ b/libc/src/math/generic/lrintl.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/lrintl.h"
+#include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/NearestIntegerOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/lround.cpp b/libc/src/math/generic/lround.cpp
index f0a25b7977195..cc575c03b2f09 100644
--- a/libc/src/math/generic/lround.cpp
+++ b/libc/src/math/generic/lround.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/lround.h"
+#include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/NearestIntegerOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/lroundf.cpp b/libc/src/math/generic/lroundf.cpp
index c4b100ae61e50..40778c6d231cb 100644
--- a/libc/src/math/generic/lroundf.cpp
+++ b/libc/src/math/generic/lroundf.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/lroundf.h"
+#include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/NearestIntegerOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/lroundl.cpp b/libc/src/math/generic/lroundl.cpp
index 4caa95b57339b..c48d7a400821d 100644
--- a/libc/src/math/generic/lroundl.cpp
+++ b/libc/src/math/generic/lroundl.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/lroundl.h"
+#include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/NearestIntegerOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/modf.cpp b/libc/src/math/generic/modf.cpp
index c0fe74b0dbc16..2c4f051234c14 100644
--- a/libc/src/math/generic/modf.cpp
+++ b/libc/src/math/generic/modf.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/modf.h"
+#include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/ManipulationFunctions.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/modff.cpp b/libc/src/math/generic/modff.cpp
index fced925b35659..a979cffeb9690 100644
--- a/libc/src/math/generic/modff.cpp
+++ b/libc/src/math/generic/modff.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/modff.h"
+#include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/ManipulationFunctions.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/modfl.cpp b/libc/src/math/generic/modfl.cpp
index b0c1a6e2ebcf1..535c31981f17a 100644
--- a/libc/src/math/generic/modfl.cpp
+++ b/libc/src/math/generic/modfl.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/modfl.h"
+#include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/ManipulationFunctions.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/nearbyint.cpp b/libc/src/math/generic/nearbyint.cpp
index c4704a2dfe88e..ee2a6bc3ee3a6 100644
--- a/libc/src/math/generic/nearbyint.cpp
+++ b/libc/src/math/generic/nearbyint.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/nearbyint.h"
+#include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/NearestIntegerOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/nearbyintf.cpp b/libc/src/math/generic/nearbyintf.cpp
index 31042d528924c..5d143e4e8e49d 100644
--- a/libc/src/math/generic/nearbyintf.cpp
+++ b/libc/src/math/generic/nearbyintf.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/nearbyintf.h"
+#include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/NearestIntegerOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/nearbyintl.cpp b/libc/src/math/generic/nearbyintl.cpp
index b550520be983e..1f15e2bb60bf3 100644
--- a/libc/src/math/generic/nearbyintl.cpp
+++ b/libc/src/math/generic/nearbyintl.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/nearbyintl.h"
+#include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/NearestIntegerOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/nextafter.cpp b/libc/src/math/generic/nextafter.cpp
index 92c96c00cb38e..3566cd6b45184 100644
--- a/libc/src/math/generic/nextafter.cpp
+++ b/libc/src/math/generic/nextafter.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/nextafter.h"
+#include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/ManipulationFunctions.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/nextafterf.cpp b/libc/src/math/generic/nextafterf.cpp
index 1e848e319a348..07dabdcd0807f 100644
--- a/libc/src/math/generic/nextafterf.cpp
+++ b/libc/src/math/generic/nextafterf.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/nextafterf.h"
+#include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/ManipulationFunctions.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/nextafterl.cpp b/libc/src/math/generic/nextafterl.cpp
index c958e2034e619..6e5c3698a24d1 100644
--- a/libc/src/math/generic/nextafterl.cpp
+++ b/libc/src/math/generic/nextafterl.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/nextafterl.h"
+#include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/ManipulationFunctions.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/remainder.cpp b/libc/src/math/generic/remainder.cpp
index 521f66f783d29..149f45874978d 100644
--- a/libc/src/math/generic/remainder.cpp
+++ b/libc/src/math/generic/remainder.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/remainder.h"
+#include "src/__support/FPUtil/DivisionAndRemainderOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/DivisionAndRemainderOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/remainderf.cpp b/libc/src/math/generic/remainderf.cpp
index 59d21f723b40e..9de40b23dce4c 100644
--- a/libc/src/math/generic/remainderf.cpp
+++ b/libc/src/math/generic/remainderf.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/remainderf.h"
+#include "src/__support/FPUtil/DivisionAndRemainderOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/DivisionAndRemainderOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/remainderl.cpp b/libc/src/math/generic/remainderl.cpp
index b13ddb65e0023..1360ae70137aa 100644
--- a/libc/src/math/generic/remainderl.cpp
+++ b/libc/src/math/generic/remainderl.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/remainderl.h"
+#include "src/__support/FPUtil/DivisionAndRemainderOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/DivisionAndRemainderOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/remquo.cpp b/libc/src/math/generic/remquo.cpp
index acecce4a210a9..905547cca0e1d 100644
--- a/libc/src/math/generic/remquo.cpp
+++ b/libc/src/math/generic/remquo.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/remquo.h"
+#include "src/__support/FPUtil/DivisionAndRemainderOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/DivisionAndRemainderOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/remquof.cpp b/libc/src/math/generic/remquof.cpp
index a579137978cfa..d4232db52b7ee 100644
--- a/libc/src/math/generic/remquof.cpp
+++ b/libc/src/math/generic/remquof.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/remquof.h"
+#include "src/__support/FPUtil/DivisionAndRemainderOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/DivisionAndRemainderOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/remquol.cpp b/libc/src/math/generic/remquol.cpp
index 9457aec434568..3756a05a9ac03 100644
--- a/libc/src/math/generic/remquol.cpp
+++ b/libc/src/math/generic/remquol.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/remquol.h"
+#include "src/__support/FPUtil/DivisionAndRemainderOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/DivisionAndRemainderOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/rint.cpp b/libc/src/math/generic/rint.cpp
index 27a55c8cac5ae..2d50d8ebfe13b 100644
--- a/libc/src/math/generic/rint.cpp
+++ b/libc/src/math/generic/rint.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/rint.h"
+#include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/NearestIntegerOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/rintf.cpp b/libc/src/math/generic/rintf.cpp
index 0800483bb1a03..7e741e001a249 100644
--- a/libc/src/math/generic/rintf.cpp
+++ b/libc/src/math/generic/rintf.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/rintf.h"
+#include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/NearestIntegerOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/rintl.cpp b/libc/src/math/generic/rintl.cpp
index b4f417e14f110..359f14a318335 100644
--- a/libc/src/math/generic/rintl.cpp
+++ b/libc/src/math/generic/rintl.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/rintl.h"
+#include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/NearestIntegerOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/round.cpp b/libc/src/math/generic/round.cpp
index 9687837400dfb..b7366f723236c 100644
--- a/libc/src/math/generic/round.cpp
+++ b/libc/src/math/generic/round.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/round.h"
+#include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/NearestIntegerOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/roundf.cpp b/libc/src/math/generic/roundf.cpp
index b075e5ff4b38d..bcdd61ea304d6 100644
--- a/libc/src/math/generic/roundf.cpp
+++ b/libc/src/math/generic/roundf.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/roundf.h"
+#include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/NearestIntegerOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/roundl.cpp b/libc/src/math/generic/roundl.cpp
index 18c8d8545b0e8..6c59c271c5add 100644
--- a/libc/src/math/generic/roundl.cpp
+++ b/libc/src/math/generic/roundl.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/roundl.h"
+#include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/NearestIntegerOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/sqrt.cpp b/libc/src/math/generic/sqrt.cpp
index 2f17f4e17f665..bd43a5c6919a4 100644
--- a/libc/src/math/generic/sqrt.cpp
+++ b/libc/src/math/generic/sqrt.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/sqrt.h"
+#include "src/__support/FPUtil/Sqrt.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/Sqrt.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/sqrtf.cpp b/libc/src/math/generic/sqrtf.cpp
index 026c2f9599959..bae39dd4b27e6 100644
--- a/libc/src/math/generic/sqrtf.cpp
+++ b/libc/src/math/generic/sqrtf.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/sqrtf.h"
+#include "src/__support/FPUtil/Sqrt.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/Sqrt.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/sqrtl.cpp b/libc/src/math/generic/sqrtl.cpp
index 0c7b80644639a..efbc98eed8446 100644
--- a/libc/src/math/generic/sqrtl.cpp
+++ b/libc/src/math/generic/sqrtl.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/sqrtl.h"
+#include "src/__support/FPUtil/Sqrt.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/Sqrt.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/trunc.cpp b/libc/src/math/generic/trunc.cpp
index e3174ccb47f3d..50220d9ebaf02 100644
--- a/libc/src/math/generic/trunc.cpp
+++ b/libc/src/math/generic/trunc.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/trunc.h"
+#include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/NearestIntegerOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/truncf.cpp b/libc/src/math/generic/truncf.cpp
index cd8c8abdd9d90..dc11d5eebf27c 100644
--- a/libc/src/math/generic/truncf.cpp
+++ b/libc/src/math/generic/truncf.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/truncf.h"
+#include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/NearestIntegerOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/src/math/generic/truncl.cpp b/libc/src/math/generic/truncl.cpp
index 0106fb81a35cf..df5fc03af7e89 100644
--- a/libc/src/math/generic/truncl.cpp
+++ b/libc/src/math/generic/truncl.cpp
@@ -7,8 +7,8 @@
 //===----------------------------------------------------------------------===//
 
 #include "src/math/truncl.h"
+#include "src/__support/FPUtil/NearestIntegerOperations.h"
 #include "src/__support/common.h"
-#include "utils/FPUtil/NearestIntegerOperations.h"
 
 namespace __llvm_libc {
 

diff  --git a/libc/test/src/fenv/CMakeLists.txt b/libc/test/src/fenv/CMakeLists.txt
index 9ff2c189bab87..64f43fac34f75 100644
--- a/libc/test/src/fenv/CMakeLists.txt
+++ b/libc/test/src/fenv/CMakeLists.txt
@@ -21,7 +21,7 @@ add_libc_unittest(
     libc.src.fenv.feclearexcept
     libc.src.fenv.feraiseexcept
     libc.src.fenv.fetestexcept
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_libc_unittest(
@@ -33,7 +33,7 @@ add_libc_unittest(
   DEPENDS
     libc.src.fenv.fegetenv
     libc.src.fenv.fesetenv
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_libc_unittest(
@@ -45,7 +45,7 @@ add_libc_unittest(
   DEPENDS
     libc.src.fenv.fegetexceptflag
     libc.src.fenv.fesetexceptflag
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_libc_unittest(
@@ -57,7 +57,7 @@ add_libc_unittest(
   DEPENDS
     libc.include.signal
     libc.src.fenv.feupdateenv
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_libc_unittest(
@@ -68,7 +68,7 @@ add_libc_unittest(
     feclearexcept_test.cpp
   DEPENDS
     libc.src.fenv.feclearexcept
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 if (NOT (LLVM_USE_SANITIZER OR (${LIBC_TARGET_OS} STREQUAL "windows")))
@@ -87,7 +87,7 @@ if (NOT (LLVM_USE_SANITIZER OR (${LIBC_TARGET_OS} STREQUAL "windows")))
       libc.src.fenv.feclearexcept
       libc.src.fenv.feraiseexcept
       libc.src.fenv.fetestexcept
-      libc.utils.FPUtil.fputil
+      libc.src.__support.FPUtil.fputil
   )
 
   add_fp_unittest(
@@ -99,6 +99,6 @@ if (NOT (LLVM_USE_SANITIZER OR (${LIBC_TARGET_OS} STREQUAL "windows")))
     DEPENDS
       libc.include.fenv
       libc.src.fenv.feholdexcept
-      libc.utils.FPUtil.fputil
+      libc.src.__support.FPUtil.fputil
   )
 endif()

diff  --git a/libc/test/src/fenv/enabled_exceptions_test.cpp b/libc/test/src/fenv/enabled_exceptions_test.cpp
index f38c73696de48..3d2b02f776590 100644
--- a/libc/test/src/fenv/enabled_exceptions_test.cpp
+++ b/libc/test/src/fenv/enabled_exceptions_test.cpp
@@ -10,8 +10,8 @@
 #include "src/fenv/feraiseexcept.h"
 #include "src/fenv/fetestexcept.h"
 
-#include "utils/FPUtil/FEnvUtils.h"
-#include "utils/FPUtil/FPExceptMatcher.h"
+#include "src/__support/FPUtil/FEnvUtils.h"
+#include "src/__support/FPUtil/FPExceptMatcher.h"
 #include "utils/UnitTest/Test.h"
 
 #include <fenv.h>

diff  --git a/libc/test/src/fenv/exception_flags_test.cpp b/libc/test/src/fenv/exception_flags_test.cpp
index e92447d57eaeb..db23fd9809489 100644
--- a/libc/test/src/fenv/exception_flags_test.cpp
+++ b/libc/test/src/fenv/exception_flags_test.cpp
@@ -9,7 +9,7 @@
 #include "src/fenv/fegetexceptflag.h"
 #include "src/fenv/fesetexceptflag.h"
 
-#include "utils/FPUtil/FEnvUtils.h"
+#include "src/__support/FPUtil/FEnvUtils.h"
 #include "utils/UnitTest/Test.h"
 
 #include <fenv.h>

diff  --git a/libc/test/src/fenv/exception_status_test.cpp b/libc/test/src/fenv/exception_status_test.cpp
index 734d4786d86dc..c81dae65b5c27 100644
--- a/libc/test/src/fenv/exception_status_test.cpp
+++ b/libc/test/src/fenv/exception_status_test.cpp
@@ -10,7 +10,7 @@
 #include "src/fenv/feraiseexcept.h"
 #include "src/fenv/fetestexcept.h"
 
-#include "utils/FPUtil/FEnvUtils.h"
+#include "src/__support/FPUtil/FEnvUtils.h"
 #include "utils/UnitTest/Test.h"
 
 #include <fenv.h>

diff  --git a/libc/test/src/fenv/feclearexcept_test.cpp b/libc/test/src/fenv/feclearexcept_test.cpp
index 304ecc0ab98bd..71c7e582bf697 100644
--- a/libc/test/src/fenv/feclearexcept_test.cpp
+++ b/libc/test/src/fenv/feclearexcept_test.cpp
@@ -8,7 +8,7 @@
 
 #include "src/fenv/feclearexcept.h"
 
-#include "utils/FPUtil/FEnvUtils.h"
+#include "src/__support/FPUtil/FEnvUtils.h"
 #include "utils/UnitTest/Test.h"
 
 #include <fenv.h>

diff  --git a/libc/test/src/fenv/feholdexcept_test.cpp b/libc/test/src/fenv/feholdexcept_test.cpp
index 37b479f5558f6..5233e1b572c70 100644
--- a/libc/test/src/fenv/feholdexcept_test.cpp
+++ b/libc/test/src/fenv/feholdexcept_test.cpp
@@ -8,8 +8,8 @@
 
 #include "src/fenv/feholdexcept.h"
 
-#include "utils/FPUtil/FEnvUtils.h"
-#include "utils/FPUtil/FPExceptMatcher.h"
+#include "src/__support/FPUtil/FEnvUtils.h"
+#include "src/__support/FPUtil/FPExceptMatcher.h"
 #include "utils/UnitTest/Test.h"
 
 #include <fenv.h>

diff  --git a/libc/test/src/fenv/feupdateenv_test.cpp b/libc/test/src/fenv/feupdateenv_test.cpp
index d1953d8a17fdc..c375340e89229 100644
--- a/libc/test/src/fenv/feupdateenv_test.cpp
+++ b/libc/test/src/fenv/feupdateenv_test.cpp
@@ -8,7 +8,7 @@
 
 #include "src/fenv/feupdateenv.h"
 
-#include "utils/FPUtil/FEnvUtils.h"
+#include "src/__support/FPUtil/FEnvUtils.h"
 #include "utils/UnitTest/Test.h"
 
 #include <fenv.h>

diff  --git a/libc/test/src/fenv/getenv_and_setenv_test.cpp b/libc/test/src/fenv/getenv_and_setenv_test.cpp
index 55e20c3da3125..4a5fbba7e44e3 100644
--- a/libc/test/src/fenv/getenv_and_setenv_test.cpp
+++ b/libc/test/src/fenv/getenv_and_setenv_test.cpp
@@ -9,7 +9,7 @@
 #include "src/fenv/fegetenv.h"
 #include "src/fenv/fesetenv.h"
 
-#include "utils/FPUtil/FEnvUtils.h"
+#include "src/__support/FPUtil/FEnvUtils.h"
 #include "utils/UnitTest/Test.h"
 
 #include <fenv.h>

diff  --git a/libc/test/src/math/CMakeLists.txt b/libc/test/src/math/CMakeLists.txt
index 321ac79361376..a0d06688a4e74 100644
--- a/libc/test/src/math/CMakeLists.txt
+++ b/libc/test/src/math/CMakeLists.txt
@@ -13,7 +13,7 @@ add_fp_unittest(
     libc.include.errno
     libc.src.math.cosf
     libc.utils.CPP.standalone_cpp
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -25,7 +25,7 @@ add_fp_unittest(
     cos_test.cpp
   DEPENDS
     libc.src.math.cos
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -41,7 +41,7 @@ add_fp_unittest(
     libc.include.errno
     libc.src.math.sinf
     libc.utils.CPP.standalone_cpp
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -53,7 +53,7 @@ add_fp_unittest(
     sin_test.cpp
   DEPENDS
     libc.src.math.sin
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -69,7 +69,7 @@ add_fp_unittest(
     libc.include.errno
     libc.src.math.sincosf
     libc.utils.CPP.standalone_cpp
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -84,7 +84,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.fabs
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -99,7 +99,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.fabsf
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -114,7 +114,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.fabsl
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -129,7 +129,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.trunc
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -144,7 +144,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.truncf
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -159,7 +159,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.truncl
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -174,7 +174,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.ceil
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -189,7 +189,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.ceilf
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -204,7 +204,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.ceill
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -219,7 +219,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.floor
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -234,7 +234,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.floorf
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -249,7 +249,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.floorl
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -264,7 +264,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.round
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -279,7 +279,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.roundf
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -294,7 +294,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.roundl
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -314,7 +314,7 @@ add_fp_unittest(
     libc.src.fenv.feraiseexcept
     libc.src.fenv.fetestexcept
     libc.src.math.lround
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -334,7 +334,7 @@ add_fp_unittest(
     libc.src.fenv.feraiseexcept
     libc.src.fenv.fetestexcept
     libc.src.math.lroundf
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -354,7 +354,7 @@ add_fp_unittest(
     libc.src.fenv.feraiseexcept
     libc.src.fenv.fetestexcept
     libc.src.math.lroundl
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -374,7 +374,7 @@ add_fp_unittest(
     libc.src.fenv.feraiseexcept
     libc.src.fenv.fetestexcept
     libc.src.math.llround
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -394,7 +394,7 @@ add_fp_unittest(
     libc.src.fenv.feraiseexcept
     libc.src.fenv.fetestexcept
     libc.src.math.llroundf
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -414,7 +414,7 @@ add_fp_unittest(
     libc.src.fenv.feraiseexcept
     libc.src.fenv.fetestexcept
     libc.src.math.llroundl
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -429,7 +429,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.rint
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -444,7 +444,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.rintf
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -459,7 +459,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.rintl
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -474,7 +474,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.lrint
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -489,7 +489,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.lrintf
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -504,7 +504,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.lrintl
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -519,7 +519,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.llrint
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -534,7 +534,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.llrintf
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -549,7 +549,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.llrintl
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -563,7 +563,7 @@ add_fp_unittest(
     libc.include.errno
     libc.include.math
     libc.src.math.expf
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -577,7 +577,7 @@ add_fp_unittest(
     libc.include.errno
     libc.include.math
     libc.src.math.exp2f
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -591,7 +591,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.copysign
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -605,7 +605,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.copysignf
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -619,7 +619,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.copysignl
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -634,7 +634,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.frexp
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -649,7 +649,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.frexpf
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -664,7 +664,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.frexpl
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -678,7 +678,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.ilogb
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -692,7 +692,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.ilogbf
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -706,7 +706,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.ilogbl
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -720,7 +720,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.ldexp
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -734,7 +734,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.ldexpf
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -748,7 +748,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.ldexpl
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -760,7 +760,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.logb
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -772,7 +772,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.logbf
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -786,7 +786,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.logbl
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -800,7 +800,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.modf
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -814,7 +814,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.modff
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -828,7 +828,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.modfl
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -842,7 +842,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.fdimf
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -856,7 +856,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.fdim
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -870,7 +870,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.fdiml
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -884,7 +884,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.fminf
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -898,7 +898,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.fmin
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -912,7 +912,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.fminl
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -926,7 +926,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.fmaxf
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -940,7 +940,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.fmax
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -954,7 +954,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.fmaxl
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -967,7 +967,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.sqrtf
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -980,7 +980,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.sqrt
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 # The quad precision test for sqrt against MPFR currently suffers
@@ -998,7 +998,7 @@ if(${LIBC_TARGET_ARCHITECTURE_IS_X86})
     DEPENDS
       libc.include.math
       libc.src.math.sqrtl
-      libc.utils.FPUtil.fputil
+      libc.src.__support.FPUtil.fputil
   )
 else()
   message(STATUS "Skipping sqrtl_test")
@@ -1016,7 +1016,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.remquof
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -1031,7 +1031,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.remquo
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -1046,7 +1046,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.remquol
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -1059,7 +1059,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.hypotf
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -1072,7 +1072,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.hypot
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -1086,7 +1086,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.nextafter
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -1100,7 +1100,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.nextafterf
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -1114,7 +1114,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.nextafterl
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -1127,7 +1127,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.fmaf
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -1140,7 +1140,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.fma
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -1152,7 +1152,7 @@ add_fp_unittest(
     tan_test.cpp
   DEPENDS
     libc.src.math.tan
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -1166,7 +1166,7 @@ add_fp_unittest(
     libc.include.errno
     libc.include.math
     libc.src.math.expm1f
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_subdirectory(generic)

diff  --git a/libc/test/src/math/CeilTest.h b/libc/test/src/math/CeilTest.h
index b956616fbf661..e8933c6458988 100644
--- a/libc/test/src/math/CeilTest.h
+++ b/libc/test/src/math/CeilTest.h
@@ -6,7 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "utils/FPUtil/TestHelpers.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "utils/MPFRWrapper/MPFRUtils.h"
 #include "utils/UnitTest/Test.h"
 

diff  --git a/libc/test/src/math/CopySignTest.h b/libc/test/src/math/CopySignTest.h
index acc6a0e1f51b4..7bc6f5994c768 100644
--- a/libc/test/src/math/CopySignTest.h
+++ b/libc/test/src/math/CopySignTest.h
@@ -6,7 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "utils/FPUtil/TestHelpers.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "utils/MPFRWrapper/MPFRUtils.h"
 #include "utils/UnitTest/Test.h"
 

diff  --git a/libc/test/src/math/FAbsTest.h b/libc/test/src/math/FAbsTest.h
index 32217b0fe6b33..5065b68a6cce8 100644
--- a/libc/test/src/math/FAbsTest.h
+++ b/libc/test/src/math/FAbsTest.h
@@ -6,7 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "utils/FPUtil/TestHelpers.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "utils/MPFRWrapper/MPFRUtils.h"
 #include "utils/UnitTest/Test.h"
 

diff  --git a/libc/test/src/math/FDimTest.h b/libc/test/src/math/FDimTest.h
index 1a5344006ff34..12702a58affb0 100644
--- a/libc/test/src/math/FDimTest.h
+++ b/libc/test/src/math/FDimTest.h
@@ -6,9 +6,9 @@
 //
 //===---------------------------------------------------------------------===//
 
-#include "utils/FPUtil/BasicOperations.h"
-#include "utils/FPUtil/FPBits.h"
-#include "utils/FPUtil/TestHelpers.h"
+#include "src/__support/FPUtil/BasicOperations.h"
+#include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "utils/UnitTest/Test.h"
 #include <math.h>
 

diff  --git a/libc/test/src/math/FMaxTest.h b/libc/test/src/math/FMaxTest.h
index c74d21f460920..c3f1b2fb2aafd 100644
--- a/libc/test/src/math/FMaxTest.h
+++ b/libc/test/src/math/FMaxTest.h
@@ -6,7 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "utils/FPUtil/TestHelpers.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "utils/MPFRWrapper/MPFRUtils.h"
 #include "utils/UnitTest/Test.h"
 

diff  --git a/libc/test/src/math/FMinTest.h b/libc/test/src/math/FMinTest.h
index 9cc49c35f6dbe..7faaf3460f7b8 100644
--- a/libc/test/src/math/FMinTest.h
+++ b/libc/test/src/math/FMinTest.h
@@ -6,7 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "utils/FPUtil/TestHelpers.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "utils/MPFRWrapper/MPFRUtils.h"
 #include "utils/UnitTest/Test.h"
 

diff  --git a/libc/test/src/math/FloorTest.h b/libc/test/src/math/FloorTest.h
index 8d59344c64fcc..b38f7ee20eb8c 100644
--- a/libc/test/src/math/FloorTest.h
+++ b/libc/test/src/math/FloorTest.h
@@ -6,7 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "utils/FPUtil/TestHelpers.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "utils/MPFRWrapper/MPFRUtils.h"
 #include "utils/UnitTest/Test.h"
 

diff  --git a/libc/test/src/math/FmaTest.h b/libc/test/src/math/FmaTest.h
index eb31bf8a38def..20e6c34b46705 100644
--- a/libc/test/src/math/FmaTest.h
+++ b/libc/test/src/math/FmaTest.h
@@ -9,8 +9,8 @@
 #ifndef LLVM_LIBC_TEST_SRC_MATH_FMATEST_H
 #define LLVM_LIBC_TEST_SRC_MATH_FMATEST_H
 
-#include "utils/FPUtil/FPBits.h"
-#include "utils/FPUtil/TestHelpers.h"
+#include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "utils/MPFRWrapper/MPFRUtils.h"
 #include "utils/UnitTest/Test.h"
 #include "utils/testutils/RandUtils.h"

diff  --git a/libc/test/src/math/FrexpTest.h b/libc/test/src/math/FrexpTest.h
index e6c31f2fc4406..4a3efb495bff7 100644
--- a/libc/test/src/math/FrexpTest.h
+++ b/libc/test/src/math/FrexpTest.h
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "utils/FPUtil/BasicOperations.h"
-#include "utils/FPUtil/TestHelpers.h"
+#include "src/__support/FPUtil/BasicOperations.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "utils/MPFRWrapper/MPFRUtils.h"
 #include "utils/UnitTest/Test.h"
 

diff  --git a/libc/test/src/math/HypotTest.h b/libc/test/src/math/HypotTest.h
index 697d604412888..45d71159cd07e 100644
--- a/libc/test/src/math/HypotTest.h
+++ b/libc/test/src/math/HypotTest.h
@@ -9,9 +9,9 @@
 #ifndef LLVM_LIBC_TEST_SRC_MATH_HYPOTTEST_H
 #define LLVM_LIBC_TEST_SRC_MATH_HYPOTTEST_H
 
-#include "utils/FPUtil/FPBits.h"
-#include "utils/FPUtil/Hypot.h"
-#include "utils/FPUtil/TestHelpers.h"
+#include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/FPUtil/Hypot.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "utils/MPFRWrapper/MPFRUtils.h"
 #include "utils/UnitTest/Test.h"
 

diff  --git a/libc/test/src/math/ILogbTest.h b/libc/test/src/math/ILogbTest.h
index bf7996075ddec..3aa96bd2c9166 100644
--- a/libc/test/src/math/ILogbTest.h
+++ b/libc/test/src/math/ILogbTest.h
@@ -9,8 +9,8 @@
 #ifndef LLVM_LIBC_TEST_SRC_MATH_ILOGBTEST_H
 #define LLVM_LIBC_TEST_SRC_MATH_ILOGBTEST_H
 
-#include "utils/FPUtil/FPBits.h"
-#include "utils/FPUtil/ManipulationFunctions.h"
+#include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/FPUtil/ManipulationFunctions.h"
 #include "utils/UnitTest/Test.h"
 #include <math.h>
 

diff  --git a/libc/test/src/math/LdExpTest.h b/libc/test/src/math/LdExpTest.h
index 2b820e4d25eb8..e015e6e5fd111 100644
--- a/libc/test/src/math/LdExpTest.h
+++ b/libc/test/src/math/LdExpTest.h
@@ -9,9 +9,9 @@
 #ifndef LLVM_LIBC_TEST_SRC_MATH_LDEXPTEST_H
 #define LLVM_LIBC_TEST_SRC_MATH_LDEXPTEST_H
 
-#include "utils/FPUtil/FPBits.h"
-#include "utils/FPUtil/NormalFloat.h"
-#include "utils/FPUtil/TestHelpers.h"
+#include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/FPUtil/NormalFloat.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "utils/UnitTest/Test.h"
 
 #include <limits.h>

diff  --git a/libc/test/src/math/LogbTest.h b/libc/test/src/math/LogbTest.h
index e993eca35e079..4db547575570e 100644
--- a/libc/test/src/math/LogbTest.h
+++ b/libc/test/src/math/LogbTest.h
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "utils/FPUtil/ManipulationFunctions.h"
-#include "utils/FPUtil/TestHelpers.h"
+#include "src/__support/FPUtil/ManipulationFunctions.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "utils/MPFRWrapper/MPFRUtils.h"
 #include "utils/UnitTest/Test.h"
 

diff  --git a/libc/test/src/math/ModfTest.h b/libc/test/src/math/ModfTest.h
index 4c8f519083af7..59e854b603e7b 100644
--- a/libc/test/src/math/ModfTest.h
+++ b/libc/test/src/math/ModfTest.h
@@ -6,9 +6,9 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "utils/FPUtil/BasicOperations.h"
-#include "utils/FPUtil/NearestIntegerOperations.h"
-#include "utils/FPUtil/TestHelpers.h"
+#include "src/__support/FPUtil/BasicOperations.h"
+#include "src/__support/FPUtil/NearestIntegerOperations.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "utils/MPFRWrapper/MPFRUtils.h"
 #include "utils/UnitTest/Test.h"
 

diff  --git a/libc/test/src/math/NextAfterTest.h b/libc/test/src/math/NextAfterTest.h
index aea03154c90ae..b101e7fdd3f86 100644
--- a/libc/test/src/math/NextAfterTest.h
+++ b/libc/test/src/math/NextAfterTest.h
@@ -9,10 +9,10 @@
 #ifndef LLVM_LIBC_TEST_SRC_MATH_NEXTAFTERTEST_H
 #define LLVM_LIBC_TEST_SRC_MATH_NEXTAFTERTEST_H
 
+#include "src/__support/FPUtil/BasicOperations.h"
+#include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "utils/CPP/TypeTraits.h"
-#include "utils/FPUtil/BasicOperations.h"
-#include "utils/FPUtil/FPBits.h"
-#include "utils/FPUtil/TestHelpers.h"
 #include "utils/UnitTest/Test.h"
 #include <math.h>
 

diff  --git a/libc/test/src/math/RIntTest.h b/libc/test/src/math/RIntTest.h
index 1f7200dfc6aea..eef39c695e090 100644
--- a/libc/test/src/math/RIntTest.h
+++ b/libc/test/src/math/RIntTest.h
@@ -9,9 +9,9 @@
 #ifndef LLVM_LIBC_TEST_SRC_MATH_RINTTEST_H
 #define LLVM_LIBC_TEST_SRC_MATH_RINTTEST_H
 
-#include "utils/FPUtil/FEnvUtils.h"
-#include "utils/FPUtil/FPBits.h"
-#include "utils/FPUtil/TestHelpers.h"
+#include "src/__support/FPUtil/FEnvUtils.h"
+#include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "utils/MPFRWrapper/MPFRUtils.h"
 #include "utils/UnitTest/Test.h"
 

diff  --git a/libc/test/src/math/RemQuoTest.h b/libc/test/src/math/RemQuoTest.h
index 7b442ffb387e2..80880f42086ea 100644
--- a/libc/test/src/math/RemQuoTest.h
+++ b/libc/test/src/math/RemQuoTest.h
@@ -9,9 +9,9 @@
 #ifndef LLVM_LIBC_TEST_SRC_MATH_REMQUOTEST_H
 #define LLVM_LIBC_TEST_SRC_MATH_REMQUOTEST_H
 
-#include "utils/FPUtil/BasicOperations.h"
-#include "utils/FPUtil/FPBits.h"
-#include "utils/FPUtil/TestHelpers.h"
+#include "src/__support/FPUtil/BasicOperations.h"
+#include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "utils/MPFRWrapper/MPFRUtils.h"
 #include "utils/UnitTest/Test.h"
 #include <math.h>

diff  --git a/libc/test/src/math/RoundTest.h b/libc/test/src/math/RoundTest.h
index 11e900808f2d4..1bc224bb3c536 100644
--- a/libc/test/src/math/RoundTest.h
+++ b/libc/test/src/math/RoundTest.h
@@ -6,7 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "utils/FPUtil/TestHelpers.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "utils/MPFRWrapper/MPFRUtils.h"
 #include "utils/UnitTest/Test.h"
 

diff  --git a/libc/test/src/math/RoundToIntegerTest.h b/libc/test/src/math/RoundToIntegerTest.h
index a06fba8e8e0cd..7dd340b067192 100644
--- a/libc/test/src/math/RoundToIntegerTest.h
+++ b/libc/test/src/math/RoundToIntegerTest.h
@@ -9,7 +9,7 @@
 #ifndef LLVM_LIBC_TEST_SRC_MATH_ROUNDTOINTEGERTEST_H
 #define LLVM_LIBC_TEST_SRC_MATH_ROUNDTOINTEGERTEST_H
 
-#include "utils/FPUtil/FPBits.h"
+#include "src/__support/FPUtil/FPBits.h"
 #include "utils/MPFRWrapper/MPFRUtils.h"
 #include "utils/UnitTest/Test.h"
 
@@ -18,7 +18,7 @@
 #include <errno.h>
 #endif
 #if math_errhandling & MATH_ERREXCEPT
-#include "utils/FPUtil/FEnvUtils.h"
+#include "src/__support/FPUtil/FEnvUtils.h"
 #endif
 
 namespace mpfr = __llvm_libc::testing::mpfr;

diff  --git a/libc/test/src/math/SqrtTest.h b/libc/test/src/math/SqrtTest.h
index 77f5374f579b1..469c2871e8d46 100644
--- a/libc/test/src/math/SqrtTest.h
+++ b/libc/test/src/math/SqrtTest.h
@@ -6,7 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "utils/FPUtil/TestHelpers.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "utils/MPFRWrapper/MPFRUtils.h"
 #include "utils/UnitTest/Test.h"
 

diff  --git a/libc/test/src/math/TruncTest.h b/libc/test/src/math/TruncTest.h
index 5b015e98852ec..15a44b508288f 100644
--- a/libc/test/src/math/TruncTest.h
+++ b/libc/test/src/math/TruncTest.h
@@ -6,7 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "utils/FPUtil/TestHelpers.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "utils/MPFRWrapper/MPFRUtils.h"
 #include "utils/UnitTest/Test.h"
 

diff  --git a/libc/test/src/math/cos_test.cpp b/libc/test/src/math/cos_test.cpp
index 36bb905b21d36..6c9aea382c718 100644
--- a/libc/test/src/math/cos_test.cpp
+++ b/libc/test/src/math/cos_test.cpp
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "src/math/cos.h"
-#include "utils/FPUtil/TestHelpers.h"
 #include "utils/MPFRWrapper/MPFRUtils.h"
 #include "utils/UnitTest/Test.h"
 

diff  --git a/libc/test/src/math/cosf_test.cpp b/libc/test/src/math/cosf_test.cpp
index e9439a784a9bb..ea34f319d6b8e 100644
--- a/libc/test/src/math/cosf_test.cpp
+++ b/libc/test/src/math/cosf_test.cpp
@@ -6,11 +6,11 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "src/math/cosf.h"
 #include "test/src/math/sdcomp26094.h"
 #include "utils/CPP/Array.h"
-#include "utils/FPUtil/FPBits.h"
-#include "utils/FPUtil/TestHelpers.h"
 #include "utils/MPFRWrapper/MPFRUtils.h"
 #include "utils/UnitTest/Test.h"
 #include <math.h>

diff  --git a/libc/test/src/math/
diff erential_testing/CMakeLists.txt b/libc/test/src/math/
diff erential_testing/CMakeLists.txt
index 28304e00ab20c..87fd2dcff2e83 100644
--- a/libc/test/src/math/
diff erential_testing/CMakeLists.txt
+++ b/libc/test/src/math/
diff erential_testing/CMakeLists.txt
@@ -56,7 +56,7 @@ function(add_
diff _binary target_name)
 
   add_dependencies(
     ${fq_target_name}
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
     ${fq_deps_list}
   )
 endfunction()

diff  --git a/libc/test/src/math/
diff erential_testing/SingleInputSingleOutputDiff.h b/libc/test/src/math/
diff erential_testing/SingleInputSingleOutputDiff.h
index 9e39740d30389..9a516f9069ce6 100644
--- a/libc/test/src/math/
diff erential_testing/SingleInputSingleOutputDiff.h
+++ b/libc/test/src/math/
diff erential_testing/SingleInputSingleOutputDiff.h
@@ -6,7 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "utils/FPUtil/FPBits.h"
+#include "src/__support/FPUtil/FPBits.h"
 #include "utils/testutils/StreamWrapper.h"
 #include "utils/testutils/Timer.h"
 

diff  --git a/libc/test/src/math/exhaustive/CMakeLists.txt b/libc/test/src/math/exhaustive/CMakeLists.txt
index f6580da5966d8..345f6be97950c 100644
--- a/libc/test/src/math/exhaustive/CMakeLists.txt
+++ b/libc/test/src/math/exhaustive/CMakeLists.txt
@@ -10,7 +10,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.sqrtf
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -23,7 +23,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.sinf
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -36,7 +36,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.cosf
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -49,5 +49,5 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.expm1f
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )

diff  --git a/libc/test/src/math/exhaustive/cosf_test.cpp b/libc/test/src/math/exhaustive/cosf_test.cpp
index 2d1b9b25de08d..3ec9d870bd6d2 100644
--- a/libc/test/src/math/exhaustive/cosf_test.cpp
+++ b/libc/test/src/math/exhaustive/cosf_test.cpp
@@ -6,9 +6,9 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "src/math/cosf.h"
-#include "utils/FPUtil/FPBits.h"
-#include "utils/FPUtil/TestHelpers.h"
 #include "utils/MPFRWrapper/MPFRUtils.h"
 #include <math.h>
 

diff  --git a/libc/test/src/math/exhaustive/expm1f_test.cpp b/libc/test/src/math/exhaustive/expm1f_test.cpp
index 30d588f83dbdc..46be2ab371fa1 100644
--- a/libc/test/src/math/exhaustive/expm1f_test.cpp
+++ b/libc/test/src/math/exhaustive/expm1f_test.cpp
@@ -6,9 +6,9 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "src/math/expm1f.h"
-#include "utils/FPUtil/FPBits.h"
-#include "utils/FPUtil/TestHelpers.h"
 #include "utils/MPFRWrapper/MPFRUtils.h"
 #include <math.h>
 

diff  --git a/libc/test/src/math/exhaustive/sinf_test.cpp b/libc/test/src/math/exhaustive/sinf_test.cpp
index a31e957a991cd..1fac9c8a8393e 100644
--- a/libc/test/src/math/exhaustive/sinf_test.cpp
+++ b/libc/test/src/math/exhaustive/sinf_test.cpp
@@ -6,9 +6,9 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "src/math/sinf.h"
-#include "utils/FPUtil/FPBits.h"
-#include "utils/FPUtil/TestHelpers.h"
 #include "utils/MPFRWrapper/MPFRUtils.h"
 #include <math.h>
 

diff  --git a/libc/test/src/math/exhaustive/sqrtf_test.cpp b/libc/test/src/math/exhaustive/sqrtf_test.cpp
index caa4bdd94d188..497a7c1e92759 100644
--- a/libc/test/src/math/exhaustive/sqrtf_test.cpp
+++ b/libc/test/src/math/exhaustive/sqrtf_test.cpp
@@ -6,9 +6,9 @@
 //
 //===---------------------------------------------------------------------===//
 
+#include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "src/math/sqrtf.h"
-#include "utils/FPUtil/FPBits.h"
-#include "utils/FPUtil/TestHelpers.h"
 #include "utils/MPFRWrapper/MPFRUtils.h"
 #include <math.h>
 

diff  --git a/libc/test/src/math/exp2f_test.cpp b/libc/test/src/math/exp2f_test.cpp
index 977ef1bce63ca..b3ff9fd02acbe 100644
--- a/libc/test/src/math/exp2f_test.cpp
+++ b/libc/test/src/math/exp2f_test.cpp
@@ -6,9 +6,9 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "src/math/exp2f.h"
-#include "utils/FPUtil/FPBits.h"
-#include "utils/FPUtil/TestHelpers.h"
 #include "utils/MPFRWrapper/MPFRUtils.h"
 #include "utils/UnitTest/Test.h"
 #include <math.h>

diff  --git a/libc/test/src/math/expf_test.cpp b/libc/test/src/math/expf_test.cpp
index 495475fd5d0a0..3b85927229479 100644
--- a/libc/test/src/math/expf_test.cpp
+++ b/libc/test/src/math/expf_test.cpp
@@ -6,9 +6,9 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "src/math/expf.h"
-#include "utils/FPUtil/FPBits.h"
-#include "utils/FPUtil/TestHelpers.h"
 #include "utils/MPFRWrapper/MPFRUtils.h"
 #include "utils/UnitTest/Test.h"
 #include <math.h>

diff  --git a/libc/test/src/math/expm1f_test.cpp b/libc/test/src/math/expm1f_test.cpp
index 5fa51b4c9a5df..c49e5f51aa118 100644
--- a/libc/test/src/math/expm1f_test.cpp
+++ b/libc/test/src/math/expm1f_test.cpp
@@ -6,9 +6,9 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "src/math/expm1f.h"
-#include "utils/FPUtil/FPBits.h"
-#include "utils/FPUtil/TestHelpers.h"
 #include "utils/MPFRWrapper/MPFRUtils.h"
 #include "utils/UnitTest/Test.h"
 #include <math.h>

diff  --git a/libc/test/src/math/fdim_test.cpp b/libc/test/src/math/fdim_test.cpp
index 8e086e21cbd98..7aa2948d76682 100644
--- a/libc/test/src/math/fdim_test.cpp
+++ b/libc/test/src/math/fdim_test.cpp
@@ -8,9 +8,9 @@
 
 #include "FDimTest.h"
 
+#include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "src/math/fdim.h"
-#include "utils/FPUtil/FPBits.h"
-#include "utils/FPUtil/TestHelpers.h"
 #include "utils/UnitTest/Test.h"
 #include <math.h>
 

diff  --git a/libc/test/src/math/fdimf_test.cpp b/libc/test/src/math/fdimf_test.cpp
index c5a7b681980df..7c646aaef881a 100644
--- a/libc/test/src/math/fdimf_test.cpp
+++ b/libc/test/src/math/fdimf_test.cpp
@@ -8,9 +8,9 @@
 
 #include "FDimTest.h"
 
+#include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "src/math/fdimf.h"
-#include "utils/FPUtil/FPBits.h"
-#include "utils/FPUtil/TestHelpers.h"
 #include "utils/UnitTest/Test.h"
 #include <math.h>
 

diff  --git a/libc/test/src/math/fdiml_test.cpp b/libc/test/src/math/fdiml_test.cpp
index 3c68ebbc3e63e..7368b452e00fb 100644
--- a/libc/test/src/math/fdiml_test.cpp
+++ b/libc/test/src/math/fdiml_test.cpp
@@ -8,9 +8,9 @@
 
 #include "FDimTest.h"
 
+#include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "src/math/fdiml.h"
-#include "utils/FPUtil/FPBits.h"
-#include "utils/FPUtil/TestHelpers.h"
 #include "utils/UnitTest/Test.h"
 #include <math.h>
 

diff  --git a/libc/test/src/math/generic/CMakeLists.txt b/libc/test/src/math/generic/CMakeLists.txt
index d1bf53271f099..9f04138e281d7 100644
--- a/libc/test/src/math/generic/CMakeLists.txt
+++ b/libc/test/src/math/generic/CMakeLists.txt
@@ -8,7 +8,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.generic.ceil
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -21,7 +21,7 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.generic.ceilf
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 
 add_fp_unittest(
@@ -34,6 +34,6 @@ add_fp_unittest(
   DEPENDS
     libc.include.math
     libc.src.math.generic.ceill
-    libc.utils.FPUtil.fputil
+    libc.src.__support.FPUtil.fputil
 )
 

diff  --git a/libc/test/src/math/ilogb_test.cpp b/libc/test/src/math/ilogb_test.cpp
index 5c72fce0912ce..8b46c16adddf4 100644
--- a/libc/test/src/math/ilogb_test.cpp
+++ b/libc/test/src/math/ilogb_test.cpp
@@ -8,10 +8,10 @@
 
 #include "ILogbTest.h"
 
+#include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/FPUtil/ManipulationFunctions.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "src/math/ilogb.h"
-#include "utils/FPUtil/FPBits.h"
-#include "utils/FPUtil/ManipulationFunctions.h"
-#include "utils/FPUtil/TestHelpers.h"
 #include "utils/UnitTest/Test.h"
 #include <math.h>
 

diff  --git a/libc/test/src/math/ilogbf_test.cpp b/libc/test/src/math/ilogbf_test.cpp
index db88f1b705f1a..104c00fb486b6 100644
--- a/libc/test/src/math/ilogbf_test.cpp
+++ b/libc/test/src/math/ilogbf_test.cpp
@@ -8,10 +8,10 @@
 
 #include "ILogbTest.h"
 
+#include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/FPUtil/ManipulationFunctions.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "src/math/ilogbf.h"
-#include "utils/FPUtil/FPBits.h"
-#include "utils/FPUtil/ManipulationFunctions.h"
-#include "utils/FPUtil/TestHelpers.h"
 #include "utils/UnitTest/Test.h"
 #include <math.h>
 

diff  --git a/libc/test/src/math/ilogbl_test.cpp b/libc/test/src/math/ilogbl_test.cpp
index b329ab204de43..f31e5693151cd 100644
--- a/libc/test/src/math/ilogbl_test.cpp
+++ b/libc/test/src/math/ilogbl_test.cpp
@@ -8,10 +8,10 @@
 
 #include "ILogbTest.h"
 
+#include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/FPUtil/ManipulationFunctions.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "src/math/ilogbl.h"
-#include "utils/FPUtil/FPBits.h"
-#include "utils/FPUtil/ManipulationFunctions.h"
-#include "utils/FPUtil/TestHelpers.h"
 #include "utils/UnitTest/Test.h"
 #include <math.h>
 

diff  --git a/libc/test/src/math/sin_test.cpp b/libc/test/src/math/sin_test.cpp
index be230a15ed54a..b0485a533d4b2 100644
--- a/libc/test/src/math/sin_test.cpp
+++ b/libc/test/src/math/sin_test.cpp
@@ -6,9 +6,9 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "src/math/sin.h"
-#include "utils/FPUtil/FPBits.h"
-#include "utils/FPUtil/TestHelpers.h"
 #include "utils/MPFRWrapper/MPFRUtils.h"
 #include "utils/UnitTest/Test.h"
 

diff  --git a/libc/test/src/math/sincosf_test.cpp b/libc/test/src/math/sincosf_test.cpp
index c8172e9da9dec..4e626e85c294b 100644
--- a/libc/test/src/math/sincosf_test.cpp
+++ b/libc/test/src/math/sincosf_test.cpp
@@ -6,11 +6,11 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "src/math/sincosf.h"
 #include "test/src/math/sdcomp26094.h"
 #include "utils/CPP/Array.h"
-#include "utils/FPUtil/FPBits.h"
-#include "utils/FPUtil/TestHelpers.h"
 #include "utils/MPFRWrapper/MPFRUtils.h"
 #include "utils/UnitTest/Test.h"
 #include <math.h>

diff  --git a/libc/test/src/math/sinf_test.cpp b/libc/test/src/math/sinf_test.cpp
index d2364ae0285a3..344766f3c9635 100644
--- a/libc/test/src/math/sinf_test.cpp
+++ b/libc/test/src/math/sinf_test.cpp
@@ -6,11 +6,11 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "src/math/sinf.h"
 #include "test/src/math/sdcomp26094.h"
 #include "utils/CPP/Array.h"
-#include "utils/FPUtil/FPBits.h"
-#include "utils/FPUtil/TestHelpers.h"
 #include "utils/MPFRWrapper/MPFRUtils.h"
 #include "utils/UnitTest/Test.h"
 #include <math.h>

diff  --git a/libc/test/src/math/tan_test.cpp b/libc/test/src/math/tan_test.cpp
index fdd8962be196d..52798e2c13e22 100644
--- a/libc/test/src/math/tan_test.cpp
+++ b/libc/test/src/math/tan_test.cpp
@@ -6,8 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "src/math/tan.h"
-#include "utils/FPUtil/TestHelpers.h"
 #include "utils/MPFRWrapper/MPFRUtils.h"
 #include "utils/UnitTest/Test.h"
 

diff  --git a/libc/test/utils/FPUtil/CMakeLists.txt b/libc/test/utils/FPUtil/CMakeLists.txt
index c5315d3b66bae..c90946dd9ed38 100644
--- a/libc/test/utils/FPUtil/CMakeLists.txt
+++ b/libc/test/utils/FPUtil/CMakeLists.txt
@@ -5,6 +5,6 @@ if((${LIBC_TARGET_OS} STREQUAL "linux") AND (${LIBC_TARGET_ARCHITECTURE_IS_X86})
       x86_long_double_test.cpp
     DEPENDS
       libc.include.math
-      libc.utils.FPUtil.fputil
+      libc.src.__support.FPUtil.fputil
   )
 endif()

diff  --git a/libc/test/utils/FPUtil/x86_long_double_test.cpp b/libc/test/utils/FPUtil/x86_long_double_test.cpp
index ff644646e12f0..94c75e8acdef8 100644
--- a/libc/test/utils/FPUtil/x86_long_double_test.cpp
+++ b/libc/test/utils/FPUtil/x86_long_double_test.cpp
@@ -6,7 +6,7 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "utils/FPUtil/FPBits.h"
+#include "src/__support/FPUtil/FPBits.h"
 #include "utils/UnitTest/Test.h"
 
 #include <math.h>

diff  --git a/libc/utils/CMakeLists.txt b/libc/utils/CMakeLists.txt
index 6655cb116349d..a43094c86e34f 100644
--- a/libc/utils/CMakeLists.txt
+++ b/libc/utils/CMakeLists.txt
@@ -1,5 +1,4 @@
 add_subdirectory(CPP)
-add_subdirectory(FPUtil)
 add_subdirectory(MPFRWrapper)
 add_subdirectory(testutils)
 add_subdirectory(UnitTest)

diff  --git a/libc/utils/MPFRWrapper/CMakeLists.txt b/libc/utils/MPFRWrapper/CMakeLists.txt
index 6084653b3f29e..46621fb5df265 100644
--- a/libc/utils/MPFRWrapper/CMakeLists.txt
+++ b/libc/utils/MPFRWrapper/CMakeLists.txt
@@ -3,7 +3,7 @@ if(LIBC_TESTS_CAN_USE_MPFR)
     MPFRUtils.cpp
     MPFRUtils.h
   )
-  add_dependencies(libcMPFRWrapper libc.utils.CPP.standalone_cpp libc.utils.FPUtil.fputil LibcUnitTest)
+  add_dependencies(libcMPFRWrapper libc.utils.CPP.standalone_cpp libc.src.__support.FPUtil.fputil LibcUnitTest)
   if(EXISTS ${LLVM_LIBC_MPFR_INSTALL_PATH})
     target_include_directories(libcMPFRWrapper PUBLIC ${LLVM_LIBC_MPFR_INSTALL_PATH}/include)
     target_link_directories(libcMPFRWrapper PUBLIC ${LLVM_LIBC_MPFR_INSTALL_PATH}/lib)

diff  --git a/libc/utils/MPFRWrapper/MPFRUtils.cpp b/libc/utils/MPFRWrapper/MPFRUtils.cpp
index a61f02243579c..d0c20987cb173 100644
--- a/libc/utils/MPFRWrapper/MPFRUtils.cpp
+++ b/libc/utils/MPFRWrapper/MPFRUtils.cpp
@@ -8,9 +8,9 @@
 
 #include "MPFRUtils.h"
 
+#include "src/__support/FPUtil/FPBits.h"
+#include "src/__support/FPUtil/TestHelpers.h"
 #include "utils/CPP/StringView.h"
-#include "utils/FPUtil/FPBits.h"
-#include "utils/FPUtil/TestHelpers.h"
 
 #include <cmath>
 #include <memory>


        


More information about the libc-commits mailing list