diff --git a/libc/src/__support/FPUtil/multiply_add.h b/libc/src/__support/FPUtil/multiply_add.h --- a/libc/src/__support/FPUtil/multiply_add.h +++ b/libc/src/__support/FPUtil/multiply_add.h @@ -22,10 +22,17 @@ return x * y + z; } +} // namespace fputil +} // namespace __llvm_libc + #if defined(LIBC_TARGET_HAS_FMA) + // FMA instructions are available. #include "FMA.h" +namespace __llvm_libc { +namespace fputil { + template <> inline float multiply_add(float x, float y, float z) { return fma(x, y, z); } @@ -33,9 +40,10 @@ template <> inline double multiply_add(double x, double y, double z) { return fma(x, y, z); } -#endif // LIBC_TARGET_HAS_FMA } // namespace fputil } // namespace __llvm_libc +#endif // LIBC_TARGET_HAS_FMA + #endif // LLVM_LIBC_SRC_SUPPORT_FPUTIL_MULTIPLY_ADD_H