]> git.ipfire.org Git - thirdparty/glibc.git/blobdiff - ChangeLog
powerpc: Refactor powerpc32 lrint/lrintf/llrint/llrintf
[thirdparty/glibc.git] / ChangeLog
index 840c28c3e3dc13d8bbc0ea4c8727b92a7dd936c5..1b2848c46cfc101ac21bcc7d2e2697638ab31acf 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,258 @@
+2019-06-17  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+       * sysdeps/powerpc/fpu/s_lrintf.S: Remove file.
+       * sysdeps/powerpc/powerpc64/fpu/s_lrintf.c: Move to ...
+       * sysdeps/powerpc/fpu/s_lrintf.c: ... here.
+       * sysdeps/powerpc/powerpc32/fpu/Makefile
+       [$(subdir) == math] (CFLAGS-s_lrint.c): New rule.
+       * sysdeps/powerpc/powerpc32/fpu/s_llrint.c (__llrint): Add power4
+       optimization.
+       * sysdeps/powerpc/powerpc32/fpu/s_llrintf.c (__llrintf): Likewise.
+       * sysdeps/powerpc/powerpc32/fpu/s_lrint.S: Remove file.
+       * sysdeps/powerpc/powerpc32/fpu/s_lrint.c: New file.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/Makefile
+       (CFLAGS-s_llrintf-power6.c, CFLAGS-s_llrintf-ppc32.c,
+       CFLAGS-s_llrint-power6.c, CFLAGS-s_llrint-ppc32.c,
+       CFLAGS-s_lrint-ppc32.c): New rule.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrint-power6.S:
+       Remove file.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrint-ppc32.S:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrintf-power6.S:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrintf-ppc32.S:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lrint-ppc32.S:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/s_llrint.S: Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/s_llrintf.S: Likewise.
+       * sysdeps/powerpc/powerpc32/power6/fpu/s_llrint.S: Likewise.
+       * sysdeps/powerpc/powerpc32/power6/fpu/s_llrintf.S: Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrint-power6.c:
+       New file.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrint-ppc32.c:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrintf-power6.c:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrintf-ppc32.c:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lrint-ppc32.c:
+       Likewise.
+
+       * sysdeps/powerpc/powerpc64/be/fpu/multiarch/Makefile
+       (libm-sysdep_routines): Add s_llrint-power8, s_llrint-power6x, and
+       s_llrint-ppc64.
+       (CFLAGS-s_llrint-power8.c, CFLAGS-s_llrint-power6x.c): New rule.
+       * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llrint-power6x.c: New
+       file.
+       * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llrint-power8.c:
+       Likewise.
+       * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llrint-ppc64.c:
+       Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_lrint.c: Move to ...
+       * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_lrint.c: ... here.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint.c: Move to ...
+       * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llrint.c: ... here.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrintf.c: Move to ...
+       * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_llrintf.c: ... here.
+       * sysdeps/powerpc/powerpc64/be/fpu/multiarch/s_lrint.c: New file.
+       * sysdeps/powerpc/powerpc64/fpu/Makefile: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile
+       (libm-sysdep_routines): Remove s_llrint-* objects.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint-power6x.S: Remove
+       file.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint-power8.S:
+       Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint-ppc64.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/s_llrint.c: New file.
+       * sysdeps/powerpc/powerpc64/fpu/s_llrintf.c: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/s_lrint.c: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/s_lrintf.c: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/s_llrint.S: Remove file.
+       * sysdeps/powerpc/powerpc64/fpu/s_llrintf.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/s_lrint.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power6x/fpu/s_llrint.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power8/fpu/s_llrint.S: Likewise.
+
+2019-06-14  Florian Weimer  <fweimer@redhat.com>
+
+       * sysdeps/unix/sysv/linux/bits/statx.h: Use string literal in
+       argument to __glibc_has_include to inhibit macro expansion.
+
+2019-06-14  Florian Weimer  <fweimer@redhat.com>
+
+       * misc/sys/cdefs.h (__glibc_has_include): Do not use a
+       function-like macro, so that __has_include can inhibit expansion
+       of its argument.
+
+2019-06-13  Joseph Myers  <joseph@codesourcery.com>
+
+       * sysdeps/unix/sysv/linux/bits/in.h (IPV6_ROUTER_ALERT_ISOLATE):
+       New macro.
+
+       * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/localplt.data:
+       Allow memset in libc.so.
+
+2019-06-13  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       * sysdeps/aarch64/dl-dtprocnum.h: New file.
+       * sysdeps/aarch64/dl-machine.h (DT_AARCH64): Define.
+       (elf_machine_runtime_setup): Handle DT_AARCH64_VARIANT_PCS.
+       (elf_machine_lazy_rel): Check STO_AARCH64_VARIANT_PCS and bind such
+       symbols at load time.
+       * sysdeps/aarch64/linkmap.h (struct link_map_machine): Add variant_pcs.
+
+2019-06-13  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       * elf/elf.h (STO_AARCH64_VARIANT_PCS): Define.
+       (DT_AARCH64_VARIANT_PCS): Define.
+
 2019-06-12  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
 
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/Makefile
+       (sysdeps_routines, libm-sysdep_routines): Remove s_finite*
+       objects.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_finite-power7.S:
+       Remove file.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_finite-ppc32.c:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_finite.c: Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_finitef-ppc32.c:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_finitef.c: Likewise.
+       * sysdeps/powerpc/powerpc32/power7/fpu/s_finite.S: Likewise.
+       * sysdeps/powerpc/powerpc32/power7/fpu/s_finitef.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile (sysdep_call):
+       Remove s_finite* objects.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite-power7.S: Remove file.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite-power8.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite-ppc64.c: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite.c: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_finitef-ppc64.c: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_finitef.c: Likewise.
+       * sysdeps/powerpc/powerpc64/power7/fpu/s_finite.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power7/fpu/s_finitef.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power8/fpu/s_finite.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power8/fpu/s_finitef.S: Likewise.
+
+       * sysdeps/ieee754/dbl-64/wordsize-64/s_finite.c: Move to ...
+       * sysdeps/ieee754/dbl-64/s_finite.c: ... here and format code.
+
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/Makefile
+       (sysdeps_routines, libm-sysdep_routines): Remove s_isinf* and s_isinf*
+       objects.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isinf-power7.S:
+       Remove file.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isinf-ppc32.c:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isinf.c: Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isinff-ppc32.c:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isinff.c: Likewise.
+       * sysdeps/powerpc/powerpc32/power7/fpu/s_isinf.S: Likewise.
+       * sysdeps/powerpc/powerpc32/power7/fpu/s_isinff.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile (sysdep_call):
+       Remove s_isinf* and s_isinf* objects.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf-power7.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf-power8.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf-ppc64.c: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf.c: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinff-ppc64.c: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinff.c: Likewise.
+       * sysdeps/powerpc/powerpc64/power7/fpu/s_isinf.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power7/fpu/s_isinff.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power8/fpu/s_isinf.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power8/fpu/s_isinff.S: Likewise.
+
+       * sysdeps/ieee754/dbl-64/wordsize-64/s_isinf.c: Move to ...
+       * sysdeps/ieee754/dbl-64/s_isinf.c: ... here and format code.
+
+       * sysdeps/powerpc/fpu/s_isnan.c: Remove file.
+       * sysdeps/powerpc/fpu/s_isnanf.S: Likewise.
+       * sysdeps/powerpc/powerpc32/fpu/s_isnan.S: Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/Makefile
+       (sysdeps_routines, libm-sysdep_routines): Remove s_isnan-* and
+       s_isnanf-* objects.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnan-power5.S:
+       Remove file
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnan-power6.S:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnan-power7.S:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnan-ppc32.S:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnan.c: Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnanf-power5.S:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnanf-power6.S:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnanf.c: Likewise.
+       * sysdeps/powerpc/powerpc32/power5/fpu/s_isnan.S: Likewise.
+       * sysdeps/powerpc/powerpc32/power5/fpu/s_isnanf.S: Likewise.
+       * sysdeps/powerpc/powerpc32/power6/fpu/s_isnan.S: Likewise.
+       * sysdeps/powerpc/powerpc32/power6/fpu/s_isnanf.S: Likewise.
+       * sysdeps/powerpc/powerpc32/power7/fpu/s_isnan.S: Likewise.
+       * sysdeps/powerpc/powerpc32/power7/fpu/s_isnanf.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile (sysdep_calls):
+       Remove s_isnan-* and s_isnanf-* objects.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power5.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power6.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power6x.S:
+       Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power7.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power8.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-ppc64.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan.c: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnanf.c: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/s_isnan.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power5/fpu/s_isnan.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power6/fpu/s_isnan.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power6x/fpu/s_isnan.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power7/fpu/s_isnan.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power7/fpu/s_isnanf.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power8/fpu/s_isnan.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power8/fpu/s_isnanf.S: Likewise.
+
+       * sysdeps/ieee754/dbl-64/wordsize-64/s_isnan.c: Move to ...
+       * sysdeps/ieee754/dbl-64/s_isnan.c: ... here and format code.
+
+       * benchtests/Makefile (bench-math): Add isnan, isinf, and isfinite.
+       (CFLAGS-bench-isnan.c, CFLAGS-bench-isinf.c,
+       CFLAGS-bench-isfinite.c): New rule.
+       * benchtests/isnan-input: New file.
+       * benchtests/isinf-input: New file.
+       * benchtests/isfinite-input: New file.
+
+       * sysdeps/powerpc/fpu/s_copysign.c: New file.
+       * sysdeps/powerpc/fpu/s_copysignf.c: Likewise.
+       * sysdeps/powerpc/powerpc32/fpu/s_copysign.S: Remove file.
+       * sysdeps/powerpc/powerpc32/fpu/s_copysignf.S: Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/Makefile
+       (sysdep_routines, libm-sysdep_routines): Remove s_copysign-power6 and
+       s_copysign-ppc32.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign-power6.S:
+       Remove file.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign-ppc32.S:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign.c:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysignf.c:
+       Likewise.
+       * sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S: Likewise.
+       * sysdeps/powerpc/powerpc32/power6/fpu/s_copysignf.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile (sysdeps_calls):
+       Remove s_copysign-power6 s_copysign-ppc64.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign-power6.S:
+       Remove file.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign-ppc64.S:
+       Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign.c: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysignf.c: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/s_copysign.S: Likewise.
+       * sysdeps/powerpc/powerpc64/fpu/s_copysignf.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power6/fpu/s_copysignf.S: Likewise.
+
        * sysdeps/powerpc/fpu/round_to_integer.h (set_fenv_mode,
        round_to_integer_float, round_mode): Add RINT handling.
        (reset_fenv_mode): New symbol.