From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
To: libc-alpha@sourceware.org
Subject: [PATCH 25/28] powerpc: Refactor modf{f}
Date: Fri, 29 Mar 2019 13:36:00 -0000 [thread overview]
Message-ID: <20190329133529.22523-26-adhemerval.zanella@linaro.org> (raw)
In-Reply-To: <20190329133529.22523-1-adhemerval.zanella@linaro.org>
The modf{f} optimization is not an optimization for ISA 2.07+. This
patch move the IFUNC for powerpc64 only, move the power5+ to generic
location, and include the generic implementation for ISA 2.07+.
The performance changes are based on modf benchtests:
* POWER9 - generic code
"modf": {
"": {
"duration": 4.97057e+09,
"iterations": 1.00688e+09,
"max": 28.76,
"min": 4.912,
"mean": 4.9366
}
}
* POWER9 - power5+ optimization
"modf": {
"": {
"duration": 4.98291e+09,
"iterations": 9.32818e+08,
"max": 15.058,
"min": 5.107,
"mean": 5.34178
}
}
* POWER8 - generic code
"modf": {
"": {
"duration": 5.05329e+09,
"iterations": 8.38814e+08,
"max": 518.051,
"min": 5.79,
"mean": 6.02433
}
}
* POWER8 - power5+ optimization
"modf": {
"": {
"duration": 5.05573e+09,
"iterations": 8.35254e+08,
"max": 63.141,
"min": 5.873,
"mean": 6.05293
}
}
* POWER7 - generic code
"modf": {
"": {
"duration": 4.89818e+09,
"iterations": 1.08408e+09,
"max": 57.556,
"min": 3.953,
"mean": 4.51827
}
}
* POWER7 - power5+ optimization
"modf": {
"": {
"duration": 4.83789e+09,
"iterations": 1.33409e+09,
"max": 46.608,
"min": 2.224,
"mean": 3.62636
}
}
Checked on powerpc-linux-gnu (built without --with-cpu, with
--with-cpu=power4 and with --with-cpu=power5+ and --disable-multi-arch),
powerpc64-linux-gnu (built without --with-cp and with --with-cpu=power5+
and --disable-multi-arch).
* sysdeps/powerpc/power5+/fpu/s_modf.c: Move to ...
* sysdeps/powerpc/fpu/s_modf.c: ... here. Add ISA 2.07 optimization.
* sysdeps/powerpc/power5+/fpu/s_modff.c: Move to ...
* sysdeps/powerpc/fpu/s_modff.c: ... here. Add ISA 2.07 optimization.
* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modf-power5+.c:
Adjust include.
* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modff-power5+.c:
Likewise.
* sysdeps/powerpc/powerpc64/be/fpu/multiarch/Makefile (sysdep_calls,
sysdep_routines): Add s_modf* objects.
(CFLAGS-s_modf-power5+.c, CFLAGS-s_modff-power5+.c,
CFLAGS-s_modf-ppc64.c, CFLAGS-s_modff-ppc64.c): New rule.
* sysdeps/powerpc/powerpc64/fpu/multiarch/s_modf-power5+.c: Move
to ...
* sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modf-power5+.c:
... here.
* sysdeps/powerpc/powerpc64/fpu/multiarch/s_modf-power5+.c: Movo
to ...
* sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modf-power5+.c: Move
... here.
* sysdeps/powerpc/powerpc64/fpu/multiarch/s_modf.c: Move to ...
* sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modf.c: ... here.
* sysdeps/powerpc/powerpc64/fpu/multiarch/s_modff-power5+.c: Move
to ...
* sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modff-power5+.c:
... here.
* sysdeps/powerpc/powerpc64/fpu/multiarch/s_modff-ppc64.c: Move to ...
* sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modff-ppc64.c:
... here.
* sysdeps/powerpc/powerpc64/fpu/multiarch/s_modff.c: Move to ...
* sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modff.c: ... here.
---
sysdeps/powerpc/{power5+ => }/fpu/s_modf.c | 17 +++++++++++++----
sysdeps/powerpc/{power5+ => }/fpu/s_modff.c | 13 +++++++++++--
.../power4/fpu/multiarch/s_modf-power5+.c | 13 +------------
.../power4/fpu/multiarch/s_modff-power5+.c | 9 +--------
.../powerpc64/be/fpu/multiarch/Makefile | 19 ++++++++++++++++++-
.../{ => be}/fpu/multiarch/s_modf-power5+.c | 3 ++-
.../{ => be}/fpu/multiarch/s_modf-ppc64.c | 0
.../powerpc64/{ => be}/fpu/multiarch/s_modf.c | 0
.../{ => be}/fpu/multiarch/s_modff-power5+.c | 3 ++-
.../{ => be}/fpu/multiarch/s_modff-ppc64.c | 0
.../{ => be}/fpu/multiarch/s_modff.c | 0
.../powerpc/powerpc64/fpu/multiarch/Makefile | 13 -------------
12 files changed, 48 insertions(+), 42 deletions(-)
rename sysdeps/powerpc/{power5+ => }/fpu/s_modf.c (74%)
rename sysdeps/powerpc/{power5+ => }/fpu/s_modff.c (77%)
rename sysdeps/powerpc/powerpc64/{ => be}/fpu/multiarch/s_modf-power5+.c (91%)
rename sysdeps/powerpc/powerpc64/{ => be}/fpu/multiarch/s_modf-ppc64.c (100%)
rename sysdeps/powerpc/powerpc64/{ => be}/fpu/multiarch/s_modf.c (100%)
rename sysdeps/powerpc/powerpc64/{ => be}/fpu/multiarch/s_modff-power5+.c (91%)
rename sysdeps/powerpc/powerpc64/{ => be}/fpu/multiarch/s_modff-ppc64.c (100%)
rename sysdeps/powerpc/powerpc64/{ => be}/fpu/multiarch/s_modff.c (100%)
diff --git a/sysdeps/powerpc/power5+/fpu/s_modf.c b/sysdeps/powerpc/fpu/s_modf.c
similarity index 74%
rename from sysdeps/powerpc/power5+/fpu/s_modf.c
rename to sysdeps/powerpc/fpu/s_modf.c
index dbb11652e1..2304fc48ed 100644
--- a/sysdeps/powerpc/power5+/fpu/s_modf.c
+++ b/sysdeps/powerpc/fpu/s_modf.c
@@ -15,9 +15,15 @@
License along with the GNU C Library; see the file COPYING.LIB. If
not, see <http://www.gnu.org/licenses/>. */
-#include <math.h>
-#include <math_ldbl_opt.h>
-#include <libm-alias-double.h>
+/* ISA 2.07 provides fast GPR to FP instruction (mfvsr{d,wz}) which make
+ generic implementation faster. Also disables for old ISAs that do not
+ have ceil/floor instructions. */
+#if defined(_ARCH_PWR8) || !defined(_ARCH_PWR5X)
+# include <sysdeps/ieee754/ldbl-opt/s_modf.c>
+#else
+# include <math.h>
+# include <math_ldbl_opt.h>
+# include <libm-alias-double.h>
double
__modf (double x, double *iptr)
@@ -44,7 +50,10 @@ __modf (double x, double *iptr)
return copysign (x - *iptr, x);
}
}
+# ifndef __modf
libm_alias_double (__modf, modf)
-#if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
+# if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
compat_symbol (libc, __modf, modfl, GLIBC_2_0);
+# endif
+# endif
#endif
diff --git a/sysdeps/powerpc/power5+/fpu/s_modff.c b/sysdeps/powerpc/fpu/s_modff.c
similarity index 77%
rename from sysdeps/powerpc/power5+/fpu/s_modff.c
rename to sysdeps/powerpc/fpu/s_modff.c
index 87c9f020f7..2a0f114b20 100644
--- a/sysdeps/powerpc/power5+/fpu/s_modff.c
+++ b/sysdeps/powerpc/fpu/s_modff.c
@@ -15,8 +15,14 @@
License along with the GNU C Library; see the file COPYING.LIB. If
not, see <http://www.gnu.org/licenses/>. */
-#include <math.h>
-#include <libm-alias-float.h>
+/* ISA 2.07 provides fast GPR to FP instruction (mfvsr{d,wz}) which make
+ generic implementation faster. Also disables for old ISAs that do not
+ have ceil/floor instructions. */
+#if defined(_ARCH_PWR8) || !defined(_ARCH_PWR5X)
+# include <sysdeps/ieee754/flt-32/s_modff.c>
+#else
+# include <math.h>
+# include <libm-alias-float.h>
float
__modff (float x, float *iptr)
@@ -43,4 +49,7 @@ __modff (float x, float *iptr)
return copysignf (x - *iptr, x);
}
}
+# ifndef __modff
libm_alias_float (__modf, modf)
+# endif
+#endif
diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modf-power5+.c b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modf-power5+.c
index b1d0540b31..6f93c2b652 100644
--- a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modf-power5+.c
+++ b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modf-power5+.c
@@ -16,16 +16,5 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#include <math.h>
-#include <math_ldbl_opt.h>
-
-#undef weak_alias
-#define weak_alias(a,b)
-#undef strong_alias
-#define strong_alias(a,b)
-#undef compat_symbol
-#define compat_symbol(a,b,c,d)
-
#define __modf __modf_power5plus
-
-#include <sysdeps/powerpc/power5+/fpu/s_modf.c>
+#include <sysdeps/powerpc/fpu/s_modf.c>
diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modff-power5+.c b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modff-power5+.c
index 8b333eae0d..2e701881e8 100644
--- a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modff-power5+.c
+++ b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modff-power5+.c
@@ -16,12 +16,5 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#include <math.h>
-#include <math_ldbl_opt.h>
-
-#undef weak_alias
-#define weak_alias(a,b)
-
#define __modff __modff_power5plus
-
-#include <sysdeps/powerpc/power5+/fpu/s_modff.c>
+#include <sysdeps/powerpc/fpu/s_modff.c>
diff --git a/sysdeps/powerpc/powerpc64/be/fpu/multiarch/Makefile b/sysdeps/powerpc/powerpc64/be/fpu/multiarch/Makefile
index 9917cd15d5..63de39bbf1 100644
--- a/sysdeps/powerpc/powerpc64/be/fpu/multiarch/Makefile
+++ b/sysdeps/powerpc/powerpc64/be/fpu/multiarch/Makefile
@@ -1,4 +1,13 @@
ifeq ($(subdir),math)
+# These functions are built both for libc and libm because they're required
+# by printf. While the libc objects have the prefix s_, the libm ones are
+# prefixed with m_.
+sysdep_calls := s_modf-power5+ \
+ s_modf-ppc64 \
+ s_modff-power5+ \
+ s_modff-ppc64
+
+sysdep_routines += $(sysdep_calls)
libm-sysdep_routines += s_ceil-power5+ \
s_ceil-ppc64 \
s_ceilf-power5+ \
@@ -22,7 +31,8 @@ libm-sysdep_routines += s_ceil-power5+ \
s_llround-power6x \
s_llround-power5+ \
s_llround-ppc64 \
- s_llroundf-ppc64
+ s_llroundf-ppc64 \
+ $(sysdep_calls:s_%=m_%)
CFLAGS-s_ceil-power5+.c = -mcpu=power5+
CFLAGS-s_ceilf-power5+.c = -mcpu=power5+
@@ -35,4 +45,11 @@ CFLAGS-s_truncf-power5+.c = -mcpu=power5+
CFLAGS-s_llround-power8.c += -mcpu=power8
CFLAGS-s_llround-power6x.c += -mcpu=power6x
CFLAGS-s_llround-power5+.c += -mcpu=power5+
+
+CFLAGS-s_modf-power5+.c += -mcpu=power5+
+CFLAGS-s_modff-power5+.c += -mcpu=power5+
+# These files quiet sNaNs in a way that is optimized away without
+# -fsignaling-nans.
+CFLAGS-s_modf-ppc64.c += -fsignaling-nans
+CFLAGS-s_modff-ppc64.c += -fsignaling-nans
endif
diff --git a/sysdeps/powerpc/powerpc64/fpu/multiarch/s_modf-power5+.c b/sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modf-power5+.c
similarity index 91%
rename from sysdeps/powerpc/powerpc64/fpu/multiarch/s_modf-power5+.c
rename to sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modf-power5+.c
index 1a958de178..6f93c2b652 100644
--- a/sysdeps/powerpc/powerpc64/fpu/multiarch/s_modf-power5+.c
+++ b/sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modf-power5+.c
@@ -16,4 +16,5 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#include <sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modf-power5+.c>
+#define __modf __modf_power5plus
+#include <sysdeps/powerpc/fpu/s_modf.c>
diff --git a/sysdeps/powerpc/powerpc64/fpu/multiarch/s_modf-ppc64.c b/sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modf-ppc64.c
similarity index 100%
rename from sysdeps/powerpc/powerpc64/fpu/multiarch/s_modf-ppc64.c
rename to sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modf-ppc64.c
diff --git a/sysdeps/powerpc/powerpc64/fpu/multiarch/s_modf.c b/sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modf.c
similarity index 100%
rename from sysdeps/powerpc/powerpc64/fpu/multiarch/s_modf.c
rename to sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modf.c
diff --git a/sysdeps/powerpc/powerpc64/fpu/multiarch/s_modff-power5+.c b/sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modff-power5+.c
similarity index 91%
rename from sysdeps/powerpc/powerpc64/fpu/multiarch/s_modff-power5+.c
rename to sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modff-power5+.c
index 4939d4bc2b..2e701881e8 100644
--- a/sysdeps/powerpc/powerpc64/fpu/multiarch/s_modff-power5+.c
+++ b/sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modff-power5+.c
@@ -16,4 +16,5 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-#include <sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_modff-power5+.c>
+#define __modff __modff_power5plus
+#include <sysdeps/powerpc/fpu/s_modff.c>
diff --git a/sysdeps/powerpc/powerpc64/fpu/multiarch/s_modff-ppc64.c b/sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modff-ppc64.c
similarity index 100%
rename from sysdeps/powerpc/powerpc64/fpu/multiarch/s_modff-ppc64.c
rename to sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modff-ppc64.c
diff --git a/sysdeps/powerpc/powerpc64/fpu/multiarch/s_modff.c b/sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modff.c
similarity index 100%
rename from sysdeps/powerpc/powerpc64/fpu/multiarch/s_modff.c
rename to sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_modff.c
diff --git a/sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile b/sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile
index 534d5a7133..d7ad1e2724 100644
--- a/sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile
+++ b/sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile
@@ -1,10 +1,4 @@
ifeq ($(subdir),math)
-# These functions are built both for libc and libm because they're required
-# by printf. While the libc objects have the prefix s_, the libm ones are
-# prefixed with m_.
-sysdep_calls := s_modf-power5+ s_modf-ppc64 \
- s_modff-power5+ s_modff-ppc64
-
sysdep_routines += $(sysdep_calls)
libm-sysdep_routines += s_logb-power7 s_logbf-power7 \
s_logbl-power7 s_logb-ppc64 s_logbf-ppc64 \
@@ -14,11 +8,4 @@ libm-sysdep_routines += s_logb-power7 s_logbf-power7 \
CFLAGS-s_logbf-power7.c = -mcpu=power7
CFLAGS-s_logbl-power7.c = -mcpu=power7
CFLAGS-s_logb-power7.c = -mcpu=power7
-CFLAGS-s_modf-power5+.c = -mcpu=power5+
-CFLAGS-s_modff-power5+.c = -mcpu=power5+
-
-# These files quiet sNaNs in a way that is optimized away without
-# -fsignaling-nans.
-CFLAGS-s_modf-ppc64.c += -fsignaling-nans
-CFLAGS-s_modff-ppc64.c += -fsignaling-nans
endif
--
2.17.1
next prev parent reply other threads:[~2019-03-29 13:36 UTC|newest]
Thread overview: 85+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-29 13:36 [PATCH 00/28] powerpc floating-point optimization refactor Adhemerval Zanella
2019-03-29 13:35 ` [PATCH 11/28] benchtests: Add isnan/isinf/isfinite benchmark Adhemerval Zanella
2019-06-05 22:45 ` Gabriel F. T. Gomes
2019-03-29 13:35 ` [PATCH 06/28] powerpc: round/roundf refactor Adhemerval Zanella
2019-05-04 1:10 ` Gabriel F. T. Gomes
2019-03-29 13:35 ` [PATCH 01/28] powerpc: Use generic fabs{f} implementations Adhemerval Zanella
2019-04-01 20:05 ` Joseph Myers
2019-04-03 1:05 ` Adhemerval Zanella
2019-04-15 20:24 ` Gabriel F. T. Gomes
2019-04-15 21:44 ` Tulio Magno Quites Machado Filho
2019-04-17 17:10 ` Adhemerval Zanella
2019-03-29 13:35 ` [PATCH 02/28] powerpc: fma using builtins Adhemerval Zanella
2019-04-01 20:05 ` Joseph Myers
2019-04-03 1:06 ` Adhemerval Zanella
2019-04-15 21:47 ` Gabriel F. T. Gomes
2019-04-17 21:22 ` Joseph Myers
2019-04-17 21:33 ` Adhemerval Zanella
2019-03-29 13:36 ` [PATCH 18/28] powerpc: refactor powerpc64 lrint/lrintf/llrint/llrintf Adhemerval Zanella
2019-06-13 19:30 ` Gabriel F. T. Gomes
2019-03-29 13:36 ` [PATCH 09/28] powerpc: consolidate rint Adhemerval Zanella
2019-05-30 14:36 ` Gabriel F. T. Gomes
2019-03-29 13:36 ` [PATCH 10/28] powerpc: copysign cleanup Adhemerval Zanella
2019-05-31 14:14 ` Gabriel F. T. Gomes
2019-03-29 13:36 ` [PATCH 26/28] benchtests: Add logb{f} benchmark Adhemerval Zanella
2019-07-05 1:23 ` Gabriel F. T. Gomes
2019-07-08 18:31 ` Adhemerval Zanella
2019-03-29 13:36 ` [PATCH 03/28] powerpc: Remove power4 mpa optimization Adhemerval Zanella
2019-04-24 23:14 ` Gabriel F. T. Gomes
2019-04-25 12:21 ` Adhemerval Zanella
2019-03-29 13:36 ` [PATCH 07/28] powerpc: trunc/truncf refactor Adhemerval Zanella
2019-05-09 20:06 ` Gabriel F. T. Gomes
2019-05-09 20:54 ` Adhemerval Zanella
2019-05-09 21:36 ` Gabriel F. T. Gomes
2019-03-29 13:36 ` [PATCH 19/28] powerpc: Refactor powerpc32 lrint/lrintf/llrint/llrintf Adhemerval Zanella
2019-06-14 18:34 ` Gabriel F. T. Gomes
2019-03-29 13:36 ` [PATCH 22/28] powerpc: Use generic e_expf Adhemerval Zanella
2019-06-26 12:59 ` Gabriel F. T. Gomes
2019-03-29 13:36 ` [PATCH 13/28] powerpc: Remove optimized isnan Adhemerval Zanella
2019-06-05 22:46 ` Gabriel F. T. Gomes
2019-03-29 13:36 ` [PATCH 17/28] powerpc: Remove optimized finite Adhemerval Zanella
2019-06-11 18:09 ` Gabriel F. T. Gomes
2019-03-29 13:36 ` [PATCH 16/28] math: Use wordsize-64 version for finite Adhemerval Zanella
2019-06-11 16:20 ` Gabriel F. T. Gomes
2019-03-29 13:36 ` [PATCH 08/28] powerpc: generic nearbyint/nearbyintf Adhemerval Zanella
2019-05-27 20:42 ` Gabriel F. T. Gomes
2019-03-29 13:36 ` [PATCH 24/28] powerpc: hypot refactor and optimization Adhemerval Zanella
2019-04-01 20:14 ` Joseph Myers
2019-04-03 1:08 ` Adhemerval Zanella
2019-06-26 19:59 ` Gabriel F. T. Gomes
2019-07-08 15:37 ` Adhemerval Zanella
2019-07-08 18:30 ` Adhemerval Zanella
2019-03-29 13:36 ` [PATCH 12/28] math: Use wordsize-64 version for isnan Adhemerval Zanella
2019-06-05 22:46 ` Gabriel F. T. Gomes
2019-03-29 13:36 ` [PATCH 28/28] powerpc: refactor logb{f,l} Adhemerval Zanella
2019-07-05 1:24 ` Gabriel F. T. Gomes
2019-07-08 18:31 ` Adhemerval Zanella
2019-03-29 13:36 ` [PATCH 05/28] powerpc: floor/floorf refactor Adhemerval Zanella
2019-05-03 21:44 ` Gabriel F. T. Gomes
2019-03-29 13:36 ` [PATCH 23/28] benchtests: hypot benchmark Adhemerval Zanella
2019-06-26 19:58 ` Gabriel F. T. Gomes
2019-03-29 13:36 ` [PATCH 15/28] powerpc: Remove optimized isinf Adhemerval Zanella
2019-06-11 13:45 ` Gabriel F. T. Gomes
2019-03-29 13:36 ` [PATCH 04/28] powerpc: ceil/ceilf refactor Adhemerval Zanella
2019-04-25 2:00 ` Gabriel F. T. Gomes
2019-04-26 5:15 ` Adhemerval Zanella
2019-05-02 18:41 ` Gabriel F. T. Gomes
2019-05-04 21:46 ` Gabriel F. T. Gomes
2019-05-06 12:23 ` Adhemerval Zanella
2019-05-09 19:56 ` Gabriel F. T. Gomes
2019-03-29 13:36 ` [PATCH 20/28] powerpc: Refactor powerpc64 lround/lroundf/llround/llroundf Adhemerval Zanella
2019-06-13 19:30 ` Gabriel F. T. Gomes
2019-03-29 13:36 ` Adhemerval Zanella [this message]
2019-07-05 1:23 ` [PATCH 25/28] powerpc: Refactor modf{f} Gabriel F. T. Gomes
2019-07-08 18:31 ` Adhemerval Zanella
2019-03-29 13:36 ` [PATCH 21/28] powerpc: Refactor powerpc32 lround/lroundf/llround/llroundf Adhemerval Zanella
2019-06-24 21:07 ` Gabriel F. T. Gomes
2019-06-25 18:34 ` Adhemerval Zanella
2019-06-25 18:44 ` Gabriel F. T. Gomes
2019-03-29 13:36 ` [PATCH 27/28] math: Use wordsize-64 version for s_logb Adhemerval Zanella
2019-07-05 1:23 ` Gabriel F. T. Gomes
2019-07-08 18:31 ` Adhemerval Zanella
2019-03-29 13:36 ` [PATCH 14/28] math: Use wordsize-64 version for isinf Adhemerval Zanella
2019-06-11 13:13 ` Gabriel F. T. Gomes
2019-06-13 8:57 ` Szabolcs Nagy
2019-06-13 9:11 ` Szabolcs Nagy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190329133529.22523-26-adhemerval.zanella@linaro.org \
--to=adhemerval.zanella@linaro.org \
--cc=libc-alpha@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).