[libc] Add implementations for sqrt, sqrtf, and sqrtl.
NIT: compile options are altered by CMAKE_BUILD_TYPE parameters. Do we need to specify the compile options for every entry point?
Do we plan to raise FE_INVALID?
Do these clang-tidy go away if we rename this variable to extractedOutput? If we give this variable a better name then the above comment is redundant.
I need more time to read through the patch. But I have left few comments about the structuring of the code.
Make all functions implemented in header files static inline.
Instead of this, use: #if !(defined(__x86_64__) || defined(__i386__))
To keep FPUtil utility like, would it make sense to conditionally include SqrtLongDoubleX86.h. This will also avoid the conditional include in sqrtl.cpp and FPUtil/Sqrt.h will be the only file to include in other places where the square root function will probably be used (say in hypot).
constexpr does not work with floating point yet.
Floating point exceptions will be implemented in the future. Currently we prioritize expanding functionality first, unless there are immediate requests/needs.
I think clang-tidy wants the variables' initials to be capitalized; it's a bit noisy