update to glibc-2.28-164.el8
Signed-off-by: Renbo <rb01097748@alibaba-inc.com>
This commit is contained in:
parent
37da1d0798
commit
6f9710a43d
40 changed files with 6199 additions and 12 deletions
64
glibc-rh1956357-2.patch
Normal file
64
glibc-rh1956357-2.patch
Normal file
|
@ -0,0 +1,64 @@
|
|||
commit a7d88506c260e7a0e4268803e76fc19e38ed041f
|
||||
Author: Raphael Moreira Zinsly <rzinsly@linux.ibm.com>
|
||||
Date: Thu Feb 25 09:58:52 2021 -0300
|
||||
|
||||
powerpc: Add optimized llogb* for POWER9
|
||||
|
||||
The POWER9 builtins used to improve the ilogb* functions can be
|
||||
used in the llogb* functions as well.
|
||||
|
||||
diff --git a/sysdeps/powerpc/powerpc64/le/fpu/w_llogb_template.c b/sysdeps/powerpc/powerpc64/le/fpu/w_llogb_template.c
|
||||
new file mode 100644
|
||||
index 0000000000000000..d00b71d2a34e28da
|
||||
--- /dev/null
|
||||
+++ b/sysdeps/powerpc/powerpc64/le/fpu/w_llogb_template.c
|
||||
@@ -0,0 +1,39 @@
|
||||
+#include <math.h>
|
||||
+#include <errno.h>
|
||||
+#include <limits.h>
|
||||
+#include <math_private.h>
|
||||
+#include <fenv.h>
|
||||
+
|
||||
+#if _GL_HAS_BUILTIN_ILOGB
|
||||
+long int
|
||||
+M_DECL_FUNC (__llogb) (FLOAT x)
|
||||
+{
|
||||
+ int r;
|
||||
+ /* Check for exceptional cases. */
|
||||
+ if (! M_SUF(__builtin_test_dc_ilogb) (x, 0x7f))
|
||||
+ r = M_SUF (__builtin_ilogb) (x);
|
||||
+ else
|
||||
+ /* Fallback to the generic ilogb if x is NaN, Inf or subnormal. */
|
||||
+ r = M_SUF (__ieee754_ilogb) (x);
|
||||
+ long int lr = r;
|
||||
+ if (__glibc_unlikely (r == FP_ILOGB0)
|
||||
+ || __glibc_unlikely (r == FP_ILOGBNAN)
|
||||
+ || __glibc_unlikely (r == INT_MAX))
|
||||
+ {
|
||||
+#if LONG_MAX != INT_MAX
|
||||
+ if (r == FP_ILOGB0)
|
||||
+ lr = FP_LLOGB0;
|
||||
+ else if (r == FP_ILOGBNAN)
|
||||
+ lr = FP_LLOGBNAN;
|
||||
+ else
|
||||
+ lr = LONG_MAX;
|
||||
+#endif
|
||||
+ __set_errno (EDOM);
|
||||
+ __feraiseexcept (FE_INVALID);
|
||||
+ }
|
||||
+ return lr;
|
||||
+}
|
||||
+declare_mgen_alias (__llogb, llogb)
|
||||
+#else
|
||||
+#include <math/w_llogb_template.c>
|
||||
+#endif
|
||||
diff --git a/sysdeps/powerpc/powerpc64/le/fpu/w_llogbl.c b/sysdeps/powerpc/powerpc64/le/fpu/w_llogbl.c
|
||||
new file mode 100644
|
||||
index 0000000000000000..69477a37ae82c476
|
||||
--- /dev/null
|
||||
+++ b/sysdeps/powerpc/powerpc64/le/fpu/w_llogbl.c
|
||||
@@ -0,0 +1,4 @@
|
||||
+/* Skip the optimization for long double as ibm128 does not provide an
|
||||
+ optimized builtin. */
|
||||
+#include <math-type-macros-ldouble.h>
|
||||
+#include <math/w_llogb_template.c>
|
Loading…
Add table
Add a link
Reference in a new issue