libm: sync with upstream.
There's potential here to maybe lose some/all of builtins.cpp, but I'll
look at that separately later.
Test: treehugger
Change-Id: I2c2bc1d0753affdd214daeb09fa1ac7cd73db347
diff --git a/libm/upstream-freebsd/lib/msun/src/s_fmaf.c b/libm/upstream-freebsd/lib/msun/src/s_fmaf.c
index 389cf1b..4591cc2 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_fmaf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_fmaf.c
@@ -34,6 +34,13 @@
#include "math.h"
#include "math_private.h"
+#ifdef USE_BUILTIN_FMAF
+float
+fmaf(float x, float y, float z)
+{
+ return (__builtin_fmaf(x, y, z));
+}
+#else
/*
* Fused multiply-add: Compute x * y + z with a single rounding error.
*
@@ -69,3 +76,4 @@
SET_LOW_WORD(adjusted_result, lr + 1);
return (adjusted_result);
}
+#endif /* !USE_BUILTIN_FMAF */