[v5,09/12] math: Add math-use-builtinds-fmin.h

Message ID 20211207190353.3282666-10-adhemerval.zanella@linaro.org
State Committed
Headers
Series Improve hypot |

Checks

Context Check Description
dj/TryBot-apply_patch success Patch applied to master at the time it was sent

Commit Message

Adhemerval Zanella Netto Dec. 7, 2021, 7:03 p.m. UTC
  It allows the architecture to use the builtin instead of generic
implementation.
---
 math/s_fmin_template.c                   | 6 +++++-
 sysdeps/generic/math-use-builtins-fmin.h | 4 ++++
 sysdeps/generic/math-use-builtins.h      | 1 +
 3 files changed, 10 insertions(+), 1 deletion(-)
 create mode 100644 sysdeps/generic/math-use-builtins-fmin.h
  

Patch

diff --git a/math/s_fmin_template.c b/math/s_fmin_template.c
index 565a836266..d673704289 100644
--- a/math/s_fmin_template.c
+++ b/math/s_fmin_template.c
@@ -17,11 +17,14 @@ 
    <https://www.gnu.org/licenses/>.  */
 
 #include <math.h>
-
+#include <math-use-builtins.h>
 
 FLOAT
 M_DECL_FUNC (__fmin) (FLOAT x, FLOAT y)
 {
+#if M_USE_BUILTIN (FMIN)
+  return M_SUF (__builtin_fmax) (x, y);
+#else
   if (islessequal (x, y))
     return x;
   else if (isgreater (x, y))
@@ -30,5 +33,6 @@  M_DECL_FUNC (__fmin) (FLOAT x, FLOAT y)
     return x + y;
   else
     return isnan (y) ? x : y;
+#endif
 }
 declare_mgen_alias (__fmin, fmin);
diff --git a/sysdeps/generic/math-use-builtins-fmin.h b/sysdeps/generic/math-use-builtins-fmin.h
new file mode 100644
index 0000000000..d2383ce00c
--- /dev/null
+++ b/sysdeps/generic/math-use-builtins-fmin.h
@@ -0,0 +1,4 @@ 
+#define USE_FMIN_BUILTIN 0
+#define USE_FMINF_BUILTIN 0
+#define USE_FMINL_BUILTIN 0
+#define USE_FMINF128_BUILTIN 0
diff --git a/sysdeps/generic/math-use-builtins.h b/sysdeps/generic/math-use-builtins.h
index e07bba242f..24fba47575 100644
--- a/sysdeps/generic/math-use-builtins.h
+++ b/sysdeps/generic/math-use-builtins.h
@@ -35,5 +35,6 @@ 
 #include <math-use-builtins-sqrt.h>
 #include <math-use-builtins-fma.h>
 #include <math-use-builtins-fmax.h>
+#include <math-use-builtins-fmin.h>
 
 #endif /* MATH_USE_BUILTINS_H  */