aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXi Ruoyao <xry111@xry111.site>2022-08-20 16:43:44 +0800
committercaiyinyu <caiyinyu@loongson.cn>2022-08-30 11:59:15 +0800
commit241603123c2a1beb7e599bd012c542479e216473 (patch)
tree6939429d569d74a672a674599053549147df4ef6
parentfa9e095bbe9b624022ff77551e5998100bdc4b29 (diff)
downloadglibc-241603123c2a1beb7e599bd012c542479e216473.tar
glibc-241603123c2a1beb7e599bd012c542479e216473.tar.gz
glibc-241603123c2a1beb7e599bd012c542479e216473.tar.bz2
glibc-241603123c2a1beb7e599bd012c542479e216473.zip
LoongArch: Use __builtin_{fmax,fmaxf,fmin,fminf} with GCC >= 13
GCC 13 compiles these built-ins to {fmax,fmin}.{s/d} instruction, use them instead of the generic implementation. Link: https://gcc.gnu.org/r13-2085 Signed-off-by: Xi Ruoyao <xry111@xry111.site>
-rw-r--r--sysdeps/loongarch/fpu/math-use-builtins-fmax.h10
-rw-r--r--sysdeps/loongarch/fpu/math-use-builtins-fmin.h10
2 files changed, 20 insertions, 0 deletions
diff --git a/sysdeps/loongarch/fpu/math-use-builtins-fmax.h b/sysdeps/loongarch/fpu/math-use-builtins-fmax.h
new file mode 100644
index 0000000000..5d22567bd3
--- /dev/null
+++ b/sysdeps/loongarch/fpu/math-use-builtins-fmax.h
@@ -0,0 +1,10 @@
+#if __GNUC_PREREQ (13, 0)
+# define USE_FMAX_BUILTIN 1
+# define USE_FMAXF_BUILTIN 1
+#else
+# define USE_FMAX_BUILTIN 0
+# define USE_FMAXF_BUILTIN 0
+#endif
+
+#define USE_FMAXL_BUILTIN 0
+#define USE_FMAXF128_BUILTIN 0
diff --git a/sysdeps/loongarch/fpu/math-use-builtins-fmin.h b/sysdeps/loongarch/fpu/math-use-builtins-fmin.h
new file mode 100644
index 0000000000..4d28b41c0d
--- /dev/null
+++ b/sysdeps/loongarch/fpu/math-use-builtins-fmin.h
@@ -0,0 +1,10 @@
+#if __GNUC_PREREQ (13, 0)
+# define USE_FMIN_BUILTIN 1
+# define USE_FMINF_BUILTIN 1
+#else
+# define USE_FMIN_BUILTIN 0
+# define USE_FMINF_BUILTIN 0
+#endif
+
+#define USE_FMINL_BUILTIN 0
+#define USE_FMINF128_BUILTIN 0