[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commits] r24766 - in /fsf/trunk/libc: ./ string/ sysdeps/powerpc/fpu/ sysdeps/powerpc/powerpc64/ sysdeps/powerpc/powerpc64/fpu/multia...



Author: eglibc
Date: Sat Dec 14 00:01:56 2013
New Revision: 24766

Log:
Import glibc-mainline for 2013-12-14

Added:
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypof.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypot-power7.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypot-ppc64.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypot.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypotf-power7.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypotf-ppc64.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil-power5+.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil-ppc64.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf-power5+.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf-ppc64.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign-power6.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign-ppc64.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysignf.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite-power7.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite-ppc64.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_finitef-ppc64.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_finitef.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_floor-power5+.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_floor-ppc64.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_floor.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf-power5+.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf-ppc64.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf-power7.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf-ppc64.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinff-ppc64.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinff.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power5.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power6.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power6x.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power7.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-ppc64.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnanf.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint-power6x.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint-ppc64.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround-power5+.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround-power6x.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround-ppc64.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_logb-power7.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_logb-ppc64.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_logb.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_logbf-power7.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_logbf-ppc64.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_logbf.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_logbl-power7.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_logbl-ppc64.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_logbl.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_lrint.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_lround.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_modf-power5+.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_modf-ppc64.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_modf.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_modff-power5+.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_modff-ppc64.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_modff.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_round-power5+.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_round-ppc64.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_round.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_roundf-power5+.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_roundf-ppc64.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_roundf.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_trunc-power5+.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_trunc-ppc64.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_trunc.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_truncf-power5+.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_truncf-ppc64.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_truncf.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/Makefile
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/bzero-power4.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/bzero-power6.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/bzero-power7.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/bzero.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/init-arch.h
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/memchr-power7.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/memchr-ppc64.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/memchr.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/memcmp-power4.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/memcmp-power7.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/memcmp-ppc64.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/memcmp.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/memcpy-a2.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/memcpy-cell.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/memcpy-power4.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/memcpy-power6.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/memcpy-power7.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/memcpy-ppc64.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/memcpy.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/mempcpy-power7.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/mempcpy-ppc64.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/mempcpy.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/memrchr-power7.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/memrchr-ppc64.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/memrchr.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/memset-power4.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/memset-power6.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/memset-power7.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/memset-ppc64.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/memset.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/rawmemchr-power7.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/rawmemchr-ppc64.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/rawmemchr.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/rtld-memset.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/rtld-strchr.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/stpcpy-power7.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/stpcpy-ppc64.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/stpcpy.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/strcasecmp-power7.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/strcasecmp.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/strcasecmp_l-power7.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/strcasecmp_l.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/strchr-power7.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/strchr-ppc64.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/strchr.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/strchrnul-power7.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/strchrnul-ppc64.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/strchrnul.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/strcpy-power7.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/strcpy-ppc64.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/strcpy.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/strlen-power7.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/strlen-ppc64.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/strlen.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/strncase-power7.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/strncase.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/strncase_l-power7.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/strncase_l.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/strncmp-power4.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/strncmp-power7.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/strncmp-ppc64.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/strncmp.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/strnlen-power7.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/strnlen-ppc64.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/strnlen.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/wcschr-power6.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/wcschr-power7.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/wcschr-ppc64.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/wcschr.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/wcscpy-power6.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/wcscpy-power7.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/wcscpy-ppc64.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/wcscpy.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/wcsrchr-power6.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/wcsrchr-power7.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/wcsrchr-ppc64.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/wcsrchr.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/wordcopy-power6.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/wordcopy-power7.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/wordcopy-ppc64.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/multiarch/wordcopy.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power4/fpu/Implies
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power4/fpu/multiarch/
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power4/fpu/multiarch/Implies
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power4/multiarch/
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power4/multiarch/Implies
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power5+/fpu/Implies
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power5+/fpu/multiarch/
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power5+/fpu/multiarch/Implies
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power5+/multiarch/
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power5+/multiarch/Implies
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power5/fpu/Implies
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power5/fpu/multiarch/
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power5/fpu/multiarch/Implies
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power5/multiarch/
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power5/multiarch/Implies
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power6/fpu/Implies
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power6/fpu/multiarch/
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power6/fpu/multiarch/Implies
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power6/multiarch/
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power6/multiarch/Implies
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power6x/fpu/multiarch/
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power6x/fpu/multiarch/Implies
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power7/fpu/Implies
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power7/fpu/multiarch/
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power7/fpu/multiarch/Implies
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power7/multiarch/
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power7/multiarch/Implies
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power8/fpu/
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power8/fpu/Implies
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power8/fpu/multiarch/
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power8/fpu/multiarch/Implies
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power8/multiarch/
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power8/multiarch/Implies
    fsf/trunk/libc/sysdeps/sh/bits/fenv.h
Removed:
    fsf/trunk/libc/sysdeps/powerpc/fpu/w_sqrt.c
    fsf/trunk/libc/sysdeps/powerpc/fpu/w_sqrtf.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power4/fpu/w_sqrt.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power4/fpu/w_sqrtf.c
    fsf/trunk/libc/sysdeps/sh/sh4/fpu/bits/
    fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/Implies
    fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/power4/
    fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/power5/
    fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/power5+/
    fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/
    fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/power6x/
    fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/power7/
    fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/power8/
Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/NEWS
    fsf/trunk/libc/string/memcmp.c
    fsf/trunk/libc/string/wordcopy.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/memset.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power4/memset.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power5/Implies
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power6/memset.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power7/memset.S

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Sat Dec 14 00:01:56 2013
@@ -1,3 +1,510 @@
+2013-12-14  Kaz Kojima  <kkojima@xxxxxxxxxxxxxx>
+
+	* sysdeps/sh/sh4/fpu/bits/fenv.h: Move to ...
+	* sysdeps/sh/bits/fenv.h: ... here.
+	* sysdeps/sh/sh4/fpu/bits: Remove directory.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* NEWS: Mention ppc64 STT_GNU_IFUNC support.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile: Add hypot and
+	hypotf multiarch implementations.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypot-power7.c: New file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypot-ppc64.c: New file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypot.c: New file:
+	multiarch hypot for PPC64.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypotf-power7.c: New file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypotf-ppc64.c: New file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypotf.c : New file:
+	multiarch hypotf for PPC64.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile: Add modf and
+	modff multiarch implementations.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_modf-power5+.c: New file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_modf-ppc64.c: New file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_modf.c: New file:
+	multiarch modf for PPC64.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_modff-power5+.c: New file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_modff-ppc64.c: New file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_modff.c : New file:
+	multiarch modff for PPC64.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile: Add logb, logbf,
+	and logl multiarch implementations.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_logb-power7.c: New file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_logb-ppc64.c: New file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_logb.c: New file:
+	multiarch logb for PPC64.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_logbf-power7.c: New file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_logbf-ppc64.c: New file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_logbf.c: New file:
+	multiarch logb for PPC64.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_logbl-power7.c: New file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_logbl-ppc64.c: New file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_logbl.c: New file:
+	multiarch logb for PPC64.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile: Add isinf and
+	isinff multiarch implementation.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf-power7.S: New
+	file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf-ppc64.S: New file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf.c: New file:
+	multiarch isinf for PPC64.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinff-ppc64.c: New
+	file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinff.c: New file:
+	multiarch isinff for PPC64.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile: Add finite and
+	finitef multiarch implementation.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite-power7.S: New
+	file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite-ppc64.S: New file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite.c: New file:
+	multiarch finite for PPC64.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_finitef-ppc64.c: New
+	file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_finitef.c: New file:
+	multiarch finitef for PPC64.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile: Add llrint and
+	lrint multiarch implementation.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint-power6x.S: New
+	file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint-ppc64.S: New file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint.c: New file:
+	multiarch llrint for PPC64.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_lrint.c: New file:
+	multiarch lrint for PPC64.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile: Add copysign/
+	copysignf multiarch implementation.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign-power6.S: New
+	file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign-ppc64.S: New
+	file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign.c: New file:
+	multiarch copysign for PPC64.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysignf.c: New file:
+	multiarch copysignf for PPC64.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile: Add trunc/truncf
+	multiarch implementation.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_trunc-power5+.S: New
+	file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_trunc-ppc64.S: New
+	file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_truncf-power5+.S: New
+	file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_truncf-ppc64.S: New
+	file.
+	multiarch llround for PPC64.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_trunc.c: New file:
+	multiarch trunc for PPC64.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_truncf.c: New file:
+	multiarch truncf for PPC64.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile: Add round/roundf
+	multiarch implementation.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_round-power5+.S: New
+	file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_round-ppc64.S: New
+	file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_roundf-power5+.S: New
+	file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_roundf-ppc64.S: New
+	file.
+	multiarch llround for PPC64.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_round.c: New file:
+	multiarch round for PPC64.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_roundf.c: New file:
+	multiarch roundf for PPC64.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile: Add floor/floorf
+	multiarch implementation.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_floor-power5+.S: New
+	file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_floor-ppc64.S: New
+	file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf-power5+.S: New
+	file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf-ppc64.S: New
+	file.
+	multiarch llround for PPC64.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_floor.c: New file:
+	multiarch floor for PPC64.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf.c: New file:
+	multiarch floorf for PPC64.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile: Add ceil/ceilf
+	multiarch implementation.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil-power5+.S: New
+	file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil-ppc64.S: New
+	file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf-power5+.S: New
+	file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf-ppc64.S: New
+	file.
+	multiarch llround for PPC64.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil.c: New file:
+	multiarch ceil for PPC64.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf.c: New file:
+	multiarch ceilf for PPC64.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile: Add llround
+	multiarch implementation.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround-power5+.S: New
+	file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround-power6x.S: New
+	file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround-ppc64.S: New
+	file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround.c: New file:
+	multiarch llround for PPC64.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_lround.c: New file:
+	multiarch lround for PPC64.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile: Add isnan
+	multiarch implementation.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power5.S: New file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power6.S: New file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power6x.S: New
+	file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power7.S: New file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-ppc64.S: New file.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan.c: New file:
+	multiarch isnan for PPC64.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnanf.c: New file:
+	multiarch isnanf for PPC64.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc64/power5+/fpu/multiarch/Implies: New file.
+	* sysdeps/powerpc/powerpc64/power5/fpu/multiarch/Implies: New file.
+	* sysdeps/powerpc/powerpc64/power6/fpu/multiarch/Implies: New file.
+	* sysdeps/powerpc/powerpc64/power6x/fpu/multiarch/Implies: New file.
+	* sysdeps/powerpc/powerpc64/power7/fpu/multiarch/Implies: New file
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu/Implies: Remove.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/fpu/w_sqrt.c: Remove file
+	* sysdeps/powerpc/fpu/w_sqrtf.c: Likewise.
+	* sysdeps/powerpc/powerpc64/power4/fpu/w_sqrt.c: Likewise.
+	* sysdeps/powerpc/powerpc64/power4/fpu/w_sqrtf.c: Likewise.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc64/multiarch/Makefile: Add stpcpy
+	multiarch implementations.
+	* sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
+	(__libc_ifunc_impl_list): Likewise.
+	* sysdeps/powerpc/powerpc64/multiarch/stpcpy-power7.c: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/stpcpy-ppc64.c: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/stpcpy.c : New file:
+	multiarch stpcpy for PPC64.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc64/multiarch/Makefile: Add strcpy
+	multiarch implementations.
+	* sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
+	(__libc_ifunc_impl_list): Likewise.
+	* sysdeps/powerpc/powerpc64/multiarch/strcpy-power7.c: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/strcpy-ppc64.c: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/strcpy.c : New file:
+	multiarch strcpy for PPC64.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* string/wordcopy.c (_wordcopy_fwd_aligned): Add define to
+	redefine function name.
+	(_wordcopy_fwd_dest_aligned): Likewise.
+	(_wordcopy_bwd_aligned): Likewise.
+	(_wordcopy_bwd_dest_aligned): Likewise.
+	* sysdeps/powerpc/powerpc64/multiarch/Makefile: Add wordcopy
+	multiarch implementations.
+	* sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
+	(__libc_ifunc_impl_list): Likewise.
+	* sysdeps/powerpc/powerpc64/multiarch/wordcopy-power6.c: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/wordcopy-power7.c: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/wordcopy-ppc64.c: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/wordcopy.c : New file:
+	multiarch wcscpy for PPC64.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc64/multiarch/Makefile: Add wcscpy
+	multiarch implementations.
+	* sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
+	(__libc_ifunc_impl_list): Likewise.
+	* sysdeps/powerpc/powerpc64/multiarch/wcscpy-power6.c: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/wcscpy-power7.c: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/wcscpy-ppc64.c: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/wcscpy.c : New file:
+	multiarch wcscpy for PPC64.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc64/multiarch/Makefile: Add wcsrchr
+	multiarch implementations.
+	* sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
+	(__libc_ifunc_impl_list): Likewise.
+	* sysdeps/powerpc/powerpc64/multiarch/wcsrchr-power6.c: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/wcsrchr-power7.c: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/wcsrchr-ppc64.c: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/wcsrchr.c : New file:
+	multiarch wcsrchr for PPC64.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc64/multiarch/Makefile: Add wcschr
+	multiarch implementations.
+	* sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
+	(__libc_ifunc_impl_list): Likewise.
+	* sysdeps/powerpc/powerpc64/multiarch/wcschr-power6.c: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/wcschr-power7.c: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/wcschr-ppc64.c: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/wcschr.c : New file:
+	multiarch wcschr for PPC64.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc64/multiarch/Makefile: Add strchrnul
+	multiarch implementations.
+	* sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
+	(__libc_ifunc_impl_list): Likewise.
+	* sysdeps/powerpc/powerpc64/multiarch/strchrnul-power7.S: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/strchrnul-ppc64.c: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/strchrnul.c: New file:
+	multiarch strchrnul for PPC64.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc64/multiarch/Makefile: Add strchr multiarch
+	implementations.
+	* sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
+	(__libc_ifunc_impl_list): Likewise.
+	* sysdeps/powerpc/powerpc64/multiarch/rtld-strchr.S: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/strchr-power7.S: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/strchr-ppc64.S: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/strchr.c: New file: multiarch
+	strchr for PPC64.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc64/multiarch/Makefile: Add strncmp multiarch
+	implementations.
+	* sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
+	(__libc_ifunc_impl_list): Likewise.
+	* sysdeps/powerpc/powerpc64/multiarch/strncmp-power4.S: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/strncmp-power7.S: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/strncmp-ppc64.S: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/strncmp.c: New file: multiarch
+	strncmp for PPC64.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc64/multiarch/Makefile: Add strncasecmp
+	multiarch implementations.
+	* sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
+	(__libc_ifunc_impl_list): Likewise.
+	* sysdeps/powerpc/powerpc64/multiarch/strncase-power7.c: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/strncase.c: New file: multiarch
+	strncasecmp for PPC64.
+	* sysdeps/powerpc/powerpc64/multiarch/strncase_l-power7.c: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/strncase_l.c: New file:
+	multiarch strncasecmp_l for PPC64.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc64/multiarch/Makefile: Add strcasecmp
+	multiarch implementations.
+	* sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c:
+	(__libc_ifunc_impl_list): Likewise.
+	* sysdeps/powerpc/powerpc64/multiarch/strcasecmp-power7.S: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/strcasecmp.c: New file:
+	multiarch strcasecmp for PPC64.
+	* sysdeps/powerpc/powerpc64/multiarch/strcasecmp_l-power7.S: New
+	file.
+	* sysdeps/powerpc/powerpc64/multiarch/strcasecmp_l.c: new file:
+	multiarch strcasecmp_l for PPC64.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc64/multiarch/Makefile: Add strnlen multiarch
+	implementations.
+	* sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
+	(__libc_ifunc_impl_list): Likewise.
+	* sysdeps/powerpc/powerpc64/multiarch/strnlen-power7.S: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/strnlen-ppc64.c: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/strnlen.c: New file: multiarch
+	strnlen for PPC64.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc64/multiarch/Makefile: Add strlen multiarch
+	implementations.
+	* sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
+	(__libc_ifunc_impl_list): Likewise.
+	* sysdeps/powerpc/powerpc64/multiarch/strlen-power7.S: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/strlen-ppc64.S: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/strlen.c: New file: multiarch
+	strlen for PPC64.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc64/multiarch/Makefile: Add rawmemch multiarch
+	implementations.
+	* sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
+	(__libc_ifunc_impl_list): Likewise.
+	* sysdeps/powerpc/powerpc64/multiarch/rawmemchr-power7.S: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/rawmemchr-ppc64.c: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/rawmemchr.c: New file: multiarch
+	rawmemrchr for PPC64.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc64/multiarch/Makefile: Add memrchr multiarch
+	implementation.
+	* sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
+	(__libc_ifunc_impl_list): Likewise.
+	* sysdeps/powerpc/powerpc64/multiarch/memrchr-power7.S: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/memrchr-ppc64.c: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/memrchr.c: New file: multiarch
+	memrchr for PPC64.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc64/multiarch/Makefile: Add memchr multiarch
+	implementation.
+	* sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
+	(__libc_ifunc_impl_list): Likewise.
+	* sysdeps/powerpc/powerpc64/multiarch/memchr-power7.S: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/memchr-ppc64.c: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/memchr.c: New file: multiarch
+	memchr for PPC64.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc64/multiarch/Makefile: Add mempcpy multiarch
+	implementation.
+	* sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
+	(__libc_ifunc_impl_list): Likewise.
+	* sysdeps/powerpc/powerpc64/multiarch/mempcpy-power7.S: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/mempcpy-ppc64.c: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/mempcpy.c: New file: multiarch
+	mempcpy for PPC64.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc64/memset.S (NO_BZERO_IMPL): Add macro to
+	avoid cretion of __bzero symbol.
+	* sysdeps/powerpc/powerpc64/power4/memset.S (NO_BZERO_IMPL):
+	Likewise.
+	* sysdeps/powerpc/powerpc64/power6/memset.S (NO_BZERO_IMPL):
+	Likewise.
+	* sysdeps/powerpc/powerpc64/power7/memset.S (NO_BZERO_IMPL):
+	Likewise.
+	* sysdeps/powerpc/powerpc64/multiarch/Makefile: Add memset/bzero
+	multiarch implementations.
+	* sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
+	(__libc_ifunc_impl_list): Likewise.
+	* sysdeps/powerpc/powerpc64/multiarch/bzero-power4.S: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/bzero-power6.S: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/bzero-power7.S: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/bzero.c: New file: multiarch
+	bzero for PPC32.
+	* sysdeps/powerpc/powerpc64/multiarch/memset-power4.S: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/memset-power6.S: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/memset-power7.S: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/memset-ppc64.S: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/memset.c: New file: multiarch
+	memset for PPC64.
+	* sysdeps/powerpc/powerpc64/multiarch/rtld-memset.c: New file.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* string/memcmp.c (memcmp): Using macro to redefine symbol name.
+	* sysdeps/powerpc/powerpc64/multiarch/Makefile: Add memcpy multiarch
+	implementations.
+	* sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
+	(__libc_ifunc_impl_list): Likewise.
+	* sysdeps/powerpc/powerpc64/multiarch/memcmp-power4.S: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/memcmp-power7.S: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/memcmp-ppc64.c: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/memcmp.c: New file: multiarch
+	memcmp for PPC64.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc64/multiarch/Makefile: New file to support
+	multiarch for POWER/PPC64.
+	* sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c: Likewise.
+	* sysdeps/powerpc/powerpc64/multiarch/init-arch.h: Likewise.
+	* sysdeps/powerpc/powerpc64/multiarch/memcpy-a2.S: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/memcpy-cell.S: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/memcpy-power4.S: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/memcpy-power6.S: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/memcpy-power7.S: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/memcpy-ppc64.S: New file.
+	* sysdeps/powerpc/powerpc64/multiarch/memcpy.c: New file: multiarch
+	memcpy for PPC64.
+
+2013-12-13  Adhemerval Zanella  <azanella@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc64/power4/fpu/Implies: New file.
+	* sysdeps/powerpc/powerpc64/power4/fpu/multiarch/Implies: New File.
+	* sysdeps/powerpc/powerpc64/power4/multiarch/Implies: New File.
+	* sysdeps/powerpc/powerpc64/power5+/fpu/Implies: New File.
+	* sysdeps/powerpc/powerpc64/power5+/multiarch/Implies: New File.
+	* sysdeps/powerpc/powerpc64/power5/Implies: New File.
+	* sysdeps/powerpc/powerpc64/power5/fpu/Implies: New File.
+	* sysdeps/powerpc/powerpc64/power5/multiarch/Implies: New File.
+	* sysdeps/powerpc/powerpc64/power6/fpu/Implies: New File.
+	* sysdeps/powerpc/powerpc64/power6/multiarch/Implies: New File.
+	* sysdeps/powerpc/powerpc64/power7/fpu/Implies: New File.
+	* sysdeps/powerpc/powerpc64/power7/multiarch/Implies: New File.
+	* sysdeps/powerpc/powerpc64/power8/fpu/Implies: New File.
+	* sysdeps/powerpc/powerpc64/power8/fpu/multiarch/Implies: New File.
+	* sysdeps/powerpc/powerpc64/power8/multiarch/Implies: New File.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/power4/Implies: Remove.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/power5+/Implies: Remove.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/power5/Implies: Remove.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/power6/Implies: Remove.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/power6x/Implies: Remove.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/power7/Implies: Remove.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/power8/Implies: Remove.
+
 2013-12-12  Kaz Kojima  <kkojima@xxxxxxxxxxxxxx>
 
 	* sysdeps/unix/Makefile ($(objpfx)stub-syscalls.c): Use $$ver.

Modified: fsf/trunk/libc/NEWS
==============================================================================
--- fsf/trunk/libc/NEWS (original)
+++ fsf/trunk/libc/NEWS Sat Dec 14 00:01:56 2013
@@ -98,7 +98,7 @@
 
 * The soft-float powerpc port now supports e500 processors.
 
-* Support for STT_GNU_IFUNC symbols added for ppc32/power4+.
+* Support for STT_GNU_IFUNC symbols added for ppc32/power4+ and ppc64.
 
 Version 2.18
 

Modified: fsf/trunk/libc/string/memcmp.c
==============================================================================
--- fsf/trunk/libc/string/memcmp.c (original)
+++ fsf/trunk/libc/string/memcmp.c Sat Dec 14 00:01:56 2013
@@ -28,6 +28,10 @@
 #endif
 
 #undef memcmp
+
+#ifndef MEMCMP
+# define MEMCMP memcmp
+#endif
 
 #ifdef _LIBC
 
@@ -304,7 +308,7 @@
 }
 
 int
-memcmp (s1, s2, len)
+MEMCMP (s1, s2, len)
      const __ptr_t s1;
      const __ptr_t s2;
      size_t len;

Modified: fsf/trunk/libc/string/wordcopy.c
==============================================================================
--- fsf/trunk/libc/string/wordcopy.c (original)
+++ fsf/trunk/libc/string/wordcopy.c Sat Dec 14 00:01:56 2013
@@ -26,11 +26,12 @@
    block beginning at DSTP with LEN `op_t' words (not LEN bytes!).
    Both SRCP and DSTP should be aligned for memory operations on `op_t's.  */
 
+#ifndef WORDCOPY_FWD_ALIGNED
+# define WORDCOPY_FWD_ALIGNED _wordcopy_fwd_aligned
+#endif
+
 void
-_wordcopy_fwd_aligned (dstp, srcp, len)
-     long int dstp;
-     long int srcp;
-     size_t len;
+WORDCOPY_FWD_ALIGNED (long int dstp, long int srcp, size_t len)
 {
   op_t a0, a1;
 
@@ -134,11 +135,12 @@
    DSTP should be aligned for memory operations on `op_t's, but SRCP must
    *not* be aligned.  */
 
+#ifndef WORDCOPY_FWD_DEST_ALIGNED
+# define WORDCOPY_FWD_DEST_ALIGNED _wordcopy_fwd_dest_aligned
+#endif
+
 void
-_wordcopy_fwd_dest_aligned (dstp, srcp, len)
-     long int dstp;
-     long int srcp;
-     size_t len;
+WORDCOPY_FWD_DEST_ALIGNED (long int dstp, long int srcp, size_t len)
 {
   op_t a0, a1, a2, a3;
   int sh_1, sh_2;
@@ -221,11 +223,12 @@
    (not LEN bytes!).  Both SRCP and DSTP should be aligned for memory
    operations on `op_t's.  */
 
+#ifndef WORDCOPY_BWD_ALIGNED
+# define WORDCOPY_BWD_ALIGNED _wordcopy_bwd_aligned
+#endif
+
 void
-_wordcopy_bwd_aligned (dstp, srcp, len)
-     long int dstp;
-     long int srcp;
-     size_t len;
+WORDCOPY_BWD_ALIGNED (long int dstp, long int srcp, size_t len)
 {
   op_t a0, a1;
 
@@ -329,11 +332,12 @@
    words (not LEN bytes!).  DSTP should be aligned for memory
    operations on `op_t', but SRCP must *not* be aligned.  */
 
+#ifndef WORDCOPY_BWD_DEST_ALIGNED
+# define WORDCOPY_BWD_DEST_ALIGNED _wordcopy_bwd_dest_aligned
+#endif
+
 void
-_wordcopy_bwd_dest_aligned (dstp, srcp, len)
-     long int dstp;
-     long int srcp;
-     size_t len;
+WORDCOPY_BWD_DEST_ALIGNED (long int dstp, long int srcp, size_t len)
 {
   op_t a0, a1, a2, a3;
   int sh_1, sh_2;

Removed: fsf/trunk/libc/sysdeps/powerpc/fpu/w_sqrt.c
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/fpu/w_sqrt.c (original)
+++ fsf/trunk/libc/sysdeps/powerpc/fpu/w_sqrt.c (removed)
@@ -1,48 +1,0 @@
-/* Double-precision floating point square root wrapper.
-   Copyright (C) 2004-2013 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <math.h>
-#include <math_private.h>
-#include <fenv_libc.h>
-#include <math_ldbl_opt.h>
-
-double
-__sqrt (double x)		/* wrapper sqrt */
-{
-#ifdef _IEEE_LIBM
-  return __ieee754_sqrt (x);
-#else
-  double z;
-  z = __ieee754_sqrt (x);
-  if (_LIB_VERSION == _IEEE_ || (x != x))
-    return z;
-
-  if (x < 0.0)
-    return __kernel_standard (x, x, 26);	/* sqrt(negative) */
-  else
-    return z;
-#endif
-}
-
-weak_alias (__sqrt, sqrt)
-#ifdef NO_LONG_DOUBLE
-  strong_alias (__sqrt, __sqrtl) weak_alias (__sqrt, sqrtl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
-compat_symbol (libm, __sqrt, sqrtl, GLIBC_2_0);
-#endif

Removed: fsf/trunk/libc/sysdeps/powerpc/fpu/w_sqrtf.c
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/fpu/w_sqrtf.c (original)
+++ fsf/trunk/libc/sysdeps/powerpc/fpu/w_sqrtf.c (removed)
@@ -1,46 +1,0 @@
-/* Single-precision floating point square root wrapper.
-   Copyright (C) 2004-2013 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <math.h>
-#include <math_private.h>
-#include <fenv_libc.h>
-
-#include <sysdep.h>
-#include <ldsodefs.h>
-
-float
-__sqrtf (float x)		/* wrapper sqrtf */
-{
-#ifdef _IEEE_LIBM
-  return __ieee754_sqrtf (x);
-#else
-  float z;
-  z = __ieee754_sqrtf (x);
-
-  if (_LIB_VERSION == _IEEE_ || (x != x))
-    return z;
-
-  if (x < (float) 0.0)
-    /* sqrtf(negative) */
-    return (float) __kernel_standard ((double) x, (double) x, 126);
-  else
-    return z;
-#endif
-}
-
-weak_alias (__sqrtf, sqrtf)

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/Makefile Sat Dec 14 00:01:56 2013
@@ -1,0 +1,33 @@
+ifeq ($(subdir),math)
+sysdep_routines += s_isnan-power7 s_isnan-power6x s_isnan-power6 \
+		   s_isnan-power5 s_isnan-ppc64 s_copysign-power6 \
+		   s_copysign-ppc64 s_finite-power7 s_finite-ppc64 \
+		   s_finitef-ppc64 s_isinff-ppc64 s_isinf-power7 \
+		   s_isinf-ppc64 s_modf-power5+ s_modf-ppc64 \
+		   s_modff-power5+ s_modff-ppc64
+
+libm-sysdep_routines += s_isnan-power7 s_isnan-power6x s_isnan-power6 \
+			s_isnan-power5 s_isnan-ppc64 s_llround-power6x \
+			s_llround-power5+ s_llround-ppc64 s_ceil-power5+ \
+			s_ceil-ppc64 s_ceilf-power5+ s_ceilf-ppc64 \
+			s_floor-power5+ s_floor-ppc64 s_floorf-power5+ \
+			s_floorf-ppc64 s_round-power5+ s_round-ppc64 \
+			s_roundf-power5+ s_roundf-ppc64 s_trunc-power5+ \
+			s_trunc-ppc64 s_truncf-power5+ s_truncf-ppc64 \
+			s_copysign-power6 s_copysign-ppc64 s_llrint-power6x \
+			s_llrint-ppc64 s_finite-power7 s_finite-ppc64 \
+			s_finitef-ppc64 s_isinff-ppc64 s_isinf-power7 \
+			s_isinf-ppc64 s_logb-power7 s_logbf-power7 \
+			s_logbl-power7 s_logb-ppc64 s_logbf-ppc64 \
+			s_logbl-ppc64 s_modf-power5+ s_modf-ppc64 \
+			s_modff-power5+ s_modff-ppc64 e_hypot-ppc64 \
+			e_hypot-power7 e_hypotf-ppc64 e_hypotf-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+
+CFLAGS-e_hypot-power7.c = -mcpu=power7
+CFLAGS-e_hypotf-power7.c = -mcpu=power7
+endif

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypof.c
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypof.c (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypof.c Sat Dec 14 00:01:56 2013
@@ -1,0 +1,32 @@
+/* Multiple versions of ieee754_hypot.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <math.h>
+#include <math_ldbl_opt.h>
+#include <shlib-compat.h>
+#include "init-arch.h"
+
+extern __typeof (__ieee754_hypotf) __ieee754_hypotf_ppc64 attribute_hidden;
+extern __typeof (__ieee754_hypotf) __ieee754_hypotf_power7 attribute_hidden;
+
+libc_ifunc (__ieee754_hypotf,
+	    (hwcap & PPC_FEATURE_ARCH_2_06)
+	    ? __ieee754_hypotf_power7
+            : __ieee754_hypotf_ppc64);
+
+strong_alias (__ieee754_hypotf, __hypotf_finite)

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypot-power7.c
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypot-power7.c (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypot-power7.c Sat Dec 14 00:01:56 2013
@@ -1,0 +1,19 @@
+/* __ieee_hypot() POWER7 version.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdeps/powerpc/powerpc32/power4/fpu/multiarch/e_hypot-power7.c>

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypot-ppc64.c
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypot-ppc64.c (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypot-ppc64.c Sat Dec 14 00:01:56 2013
@@ -1,0 +1,26 @@
+/* __ieee_hypot() PowerPC64 version.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <math.h>
+
+#undef strong_alias
+#define strong_alias(a, b)
+
+#define __ieee754_hypot __ieee754_hypot_ppc64
+
+#include <sysdeps/powerpc/fpu/e_hypot.c>

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypot.c
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypot.c (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypot.c Sat Dec 14 00:01:56 2013
@@ -1,0 +1,32 @@
+/* Multiple versions of ieee754_hypot.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <math.h>
+#include <math_ldbl_opt.h>
+#include <shlib-compat.h>
+#include "init-arch.h"
+
+extern __typeof (__ieee754_hypot) __ieee754_hypot_ppc64 attribute_hidden;
+extern __typeof (__ieee754_hypot) __ieee754_hypot_power7 attribute_hidden;
+
+libc_ifunc (__ieee754_hypot,
+	    (hwcap & PPC_FEATURE_ARCH_2_06)
+	    ? __ieee754_hypot_power7
+            : __ieee754_hypot_ppc64);
+
+strong_alias (__ieee754_hypot, __hypot_finite)

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypotf-power7.c
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypotf-power7.c (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypotf-power7.c Sat Dec 14 00:01:56 2013
@@ -1,0 +1,19 @@
+/* __ieee_hypotf() POWER7 version.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdeps/powerpc/powerpc32/power4/fpu/multiarch/e_hypotf-power7.c>

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypotf-ppc64.c
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypotf-ppc64.c (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/e_hypotf-ppc64.c Sat Dec 14 00:01:56 2013
@@ -1,0 +1,26 @@
+/* __ieee_hypot() PowerPC64 version.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <math.h>
+
+#undef strong_alias
+#define strong_alias(a, b)
+
+#define __ieee754_hypotf __ieee754_hypotf_ppc64
+
+#include <sysdeps/powerpc/fpu/e_hypotf.c>

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil-power5+.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil-power5+.S (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil-power5+.S Sat Dec 14 00:01:56 2013
@@ -1,0 +1,31 @@
+/* ceil function.  PowerPC64/power5+ version.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.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 __ceil __ceil_power5plus
+
+#include <sysdeps/powerpc/powerpc64/power5+/fpu/s_ceil.S>

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil-ppc64.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil-ppc64.S (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil-ppc64.S Sat Dec 14 00:01:56 2013
@@ -1,0 +1,31 @@
+/* ceil function.  PowerPC64 default version.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.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 __ceil __ceil_ppc64
+
+#include <sysdeps/powerpc/powerpc64/fpu/s_ceil.S>

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil.c
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil.c (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceil.c Sat Dec 14 00:01:56 2013
@@ -1,0 +1,40 @@
+/* Multiple versions of ceil.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <math.h>
+#include <math_ldbl_opt.h>
+#include <shlib-compat.h>
+#include "init-arch.h"
+
+extern __typeof (__ceil) __ceil_ppc64 attribute_hidden;
+extern __typeof (__ceil) __ceil_power5plus attribute_hidden;
+
+libc_ifunc (__ceil,
+	    (hwcap & PPC_FEATURE_POWER5_PLUS)
+	    ? __ceil_power5plus
+            : __ceil_ppc64);
+
+weak_alias (__ceil, ceil)
+
+#ifdef NO_LONG_DOUBLE
+strong_alias (__ceil, __ceill)
+weak_alias (__ceil, ceill)
+#endif
+#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
+compat_symbol (libm, __ceil, ceill, GLIBC_2_0);
+#endif

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf-power5+.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf-power5+.S (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf-power5+.S Sat Dec 14 00:01:56 2013
@@ -1,0 +1,26 @@
+/* ceilf function.  PowerPC64/power5+ version.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+#undef weak_alias
+#define weak_alias(a,b)
+
+#define __ceilf __ceilf_power5plus
+
+#include <sysdeps/powerpc/powerpc64/power5+/fpu/s_ceilf.S>

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf-ppc64.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf-ppc64.S (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf-ppc64.S Sat Dec 14 00:01:56 2013
@@ -1,0 +1,26 @@
+/* ceilf function.  PowerPC64 default version.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+#undef weak_alias
+#define weak_alias(a,b)
+
+#define __ceilf __ceilf_ppc64
+
+#include <sysdeps/powerpc/powerpc64/fpu/s_ceilf.S>

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf.c
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf.c (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_ceilf.c Sat Dec 14 00:01:56 2013
@@ -1,0 +1,32 @@
+/* Multiple versions of ceilf.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <math.h>
+#include <math_ldbl_opt.h>
+#include <shlib-compat.h>
+#include "init-arch.h"
+
+extern __typeof (__ceilf) __ceilf_ppc64 attribute_hidden;
+extern __typeof (__ceilf) __ceilf_power5plus attribute_hidden;
+
+libc_ifunc (__ceilf,
+	    (hwcap & PPC_FEATURE_POWER5_PLUS)
+	    ? __ceilf_power5plus
+            : __ceilf_ppc64);
+
+weak_alias (__ceilf, ceilf)

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign-power6.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign-power6.S (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign-power6.S Sat Dec 14 00:01:56 2013
@@ -1,0 +1,33 @@
+/* copysign().  PowerPC64 default version.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.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)
+#undef hidden_def
+#define hidden_def(name)
+
+#define __copysign __copysign_power6
+
+#include <sysdeps/powerpc/powerpc64/fpu/s_copysign.S>

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign-ppc64.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign-ppc64.S (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign-ppc64.S Sat Dec 14 00:01:56 2013
@@ -1,0 +1,35 @@
+/* copysign().  PowerPC64 default version.
+   Copyright (C) 2010-2013 Free Software Foundation, Inc.
+   Contributed by Luis Machado <luisgpm@xxxxxxxxxx>.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.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 __copysign __copysign_ppc64
+#undef hidden_def
+#define hidden_def(name)				\
+  strong_alias (__copysign_ppc64, __GI___copysign)
+
+#include <sysdeps/powerpc/powerpc64/fpu/s_copysign.S>

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign.c
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign.c (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign.c Sat Dec 14 00:01:56 2013
@@ -1,0 +1,51 @@
+/* Multiple versions of copysign.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Redefine copysign so that the compiler won't complain about the type
+   mismatch with the IFUNC selector in strong_alias below.  */
+#undef __copysign
+#define __copysign __redirect_copysign
+#include <math.h>
+#include <math_ldbl_opt.h>
+#undef __copysign
+#include <shlib-compat.h>
+#include "init-arch.h"
+
+extern __typeof (__redirect_copysign) __copysign_ppc64 attribute_hidden;
+extern __typeof (__redirect_copysign) __copysign_power6 attribute_hidden;
+
+extern __typeof (__redirect_copysign) __libm_copysign;
+libc_ifunc (__libm_copysign,
+	    (hwcap & PPC_FEATURE_ARCH_2_05)
+	    ? __copysign_power6
+            : __copysign_ppc64);
+
+strong_alias (__libm_copysign, __copysign)
+weak_alias (__copysign, copysign)
+
+#ifdef NO_LONG_DOUBLE
+weak_alias (__copysign,copysignl)
+strong_alias(__copysign,__copysignl)
+#endif
+#ifdef IS_IN_libm
+# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
+compat_symbol (libm, __copysign, copysignl, GLIBC_2_0);
+# endif
+#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_0)
+compat_symbol (libc, __copysign, copysignl, GLIBC_2_0);
+#endif

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysignf.c
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysignf.c (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysignf.c Sat Dec 14 00:01:56 2013
@@ -1,0 +1,32 @@
+/* Multiple versions of copysignf.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <math.h>
+#include <shlib-compat.h>
+#include "init-arch.h"
+
+/* It's safe to use double-precision implementation for single-precision. */
+extern __typeof (__copysignf) __copysign_ppc64 attribute_hidden;
+extern __typeof (__copysignf) __copysign_power6 attribute_hidden;
+
+libc_ifunc (__copysignf,
+	    (hwcap & PPC_FEATURE_ARCH_2_05)
+	    ? __copysign_power6
+            : __copysign_ppc64);
+
+weak_alias (__copysignf, copysignf)

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite-power7.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite-power7.S (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite-power7.S Sat Dec 14 00:01:56 2013
@@ -1,0 +1,33 @@
+/* isnan().  PowerPC64/POWER7 version.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <math_ldbl_opt.h>
+
+#undef hidden_def
+#define hidden_def(name)
+#undef weak_alias
+#define weak_alias(name, alias)
+#undef strong_alias
+#define strong_alias(name, alias)
+#undef compat_symbol
+#define compat_symbol(lib, name, symbol, ver)
+
+#define __finite __finite_power7
+
+#include <sysdeps/powerpc/powerpc64/power7/fpu/s_finite.S>

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite-ppc64.c
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite-ppc64.c (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite-ppc64.c Sat Dec 14 00:01:56 2013
@@ -1,0 +1,34 @@
+/* finite().  PowerPC64 default version.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   Contributed by Luis Machado <luisgpm@xxxxxxxxxx>.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <math.h>
+
+#undef weak_alias
+#define weak_alias(a, b)
+#undef strong_alias
+#define strong_alias(a, b)
+
+#define FINITE __finite_ppc64
+#ifdef SHARED
+# undef hidden_def
+# define hidden_def(a) \
+   __hidden_ver1 (__finite_ppc64, __GI___finite, __finite_ppc64);
+#endif
+
+#include <sysdeps/ieee754/dbl-64/s_finite.c>

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite.c
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite.c (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_finite.c Sat Dec 14 00:01:56 2013
@@ -1,0 +1,51 @@
+/* Multiple versions of finite.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <math.h>
+#include <math_ldbl_opt.h>
+#include <shlib-compat.h>
+#include "init-arch.h"
+
+extern __typeof (__finite) __finite_ppc64 attribute_hidden;
+extern __typeof (__finite) __finite_power7 attribute_hidden;
+
+libc_ifunc (__finite,
+	    (hwcap & PPC_FEATURE_ARCH_2_06)
+	    ? __finite_power7
+            : __finite_ppc64);
+
+weak_alias (__finite, finite)
+
+#ifdef NO_LONG_DOUBLE
+strong_alias (__finite, __finitel)
+weak_alias (__finite, finitel)
+#endif
+
+#ifdef IS_IN_libm
+# if LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)
+compat_symbol (libm, finite, finitel, GLIBC_2_0);
+# endif
+# if LONG_DOUBLE_COMPAT (libm, GLIBC_2_1)
+compat_symbol (libm, __finite, __finitel, GLIBC_2_1);
+# endif
+#else
+# if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
+compat_symbol (libc, __finite, __finitel, GLIBC_2_0);
+compat_symbol (libc, finite, finitel, GLIBC_2_0);
+# endif
+#endif

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_finitef-ppc64.c
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_finitef-ppc64.c (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_finitef-ppc64.c Sat Dec 14 00:01:56 2013
@@ -1,0 +1,32 @@
+/* finitef().  PowerPC64 default version.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   Contributed by Luis Machado <luisgpm@xxxxxxxxxx>.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <math.h>
+
+#undef weak_alias
+#define weak_alias(a, b)
+
+#define FINITEF __finitef_ppc64
+#ifdef SHARED
+# undef hidden_def
+# define hidden_def(a) \
+   __hidden_ver1 (__finitef_ppc64, __GI___finitef, __finitef_ppc64);
+#endif
+
+#include <sysdeps/ieee754/flt-32/s_finitef.c>

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_finitef.c
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_finitef.c (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_finitef.c Sat Dec 14 00:01:56 2013
@@ -1,0 +1,32 @@
+/* Multiple versions of finitef.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <math.h>
+#include <shlib-compat.h>
+#include "init-arch.h"
+
+extern __typeof (__finitef) __finitef_ppc64 attribute_hidden;
+/* The double-precision version also works for single-precision.  */
+extern __typeof (__finitef) __finite_power7 attribute_hidden;
+
+libc_ifunc (__finitef,
+	    (hwcap & PPC_FEATURE_ARCH_2_06)
+	    ? __finite_power7
+            : __finitef_ppc64);
+
+weak_alias (__finitef, finitef)

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_floor-power5+.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_floor-power5+.S (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_floor-power5+.S Sat Dec 14 00:01:56 2013
@@ -1,0 +1,31 @@
+/* floor function.  PowerPC64/power5+ version.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.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 __floor __floor_power5plus
+
+#include <sysdeps/powerpc/powerpc64/power5+/fpu/s_floor.S>

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_floor-ppc64.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_floor-ppc64.S (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_floor-ppc64.S Sat Dec 14 00:01:56 2013
@@ -1,0 +1,31 @@
+/* floor function.  PowerPC64 default version.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.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 __floor __floor_ppc64
+
+#include <sysdeps/powerpc/powerpc64/fpu/s_floor.S>

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_floor.c
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_floor.c (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_floor.c Sat Dec 14 00:01:56 2013
@@ -1,0 +1,40 @@
+/* Multiple versions of floor.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <math.h>
+#include <math_ldbl_opt.h>
+#include <shlib-compat.h>
+#include "init-arch.h"
+
+extern __typeof (__floor) __floor_ppc64 attribute_hidden;
+extern __typeof (__floor) __floor_power5plus attribute_hidden;
+
+libc_ifunc (__floor,
+	    (hwcap & PPC_FEATURE_POWER5_PLUS)
+	    ? __floor_power5plus
+            : __floor_ppc64);
+
+weak_alias (__floor, floor)
+
+#ifdef NO_LONG_DOUBLE
+strong_alias (__floor, __floorl)
+weak_alias (__floor, floorl)
+#endif
+#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
+compat_symbol (libm, __floor, floorl, GLIBC_2_0);
+#endif

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf-power5+.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf-power5+.S (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf-power5+.S Sat Dec 14 00:01:56 2013
@@ -1,0 +1,26 @@
+/* floorf function.  PowerPC64/power5+ version.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+#undef weak_alias
+#define weak_alias(a,b)
+
+#define __floorf __floorf_power5plus
+
+#include <sysdeps/powerpc/powerpc64/power5+/fpu/s_floorf.S>

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf-ppc64.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf-ppc64.S (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf-ppc64.S Sat Dec 14 00:01:56 2013
@@ -1,0 +1,27 @@
+/* floorf function.  PowerPC64 default version.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <math_ldbl_opt.h>
+
+#undef weak_alias
+#define weak_alias(a,b)
+
+#define __floorf __floorf_ppc64
+
+#include <sysdeps/powerpc/powerpc64/fpu/s_floorf.S>

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf.c
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf.c (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_floorf.c Sat Dec 14 00:01:56 2013
@@ -1,0 +1,32 @@
+/* Multiple versions of floorf.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <math.h>
+#include <math_ldbl_opt.h>
+#include <shlib-compat.h>
+#include "init-arch.h"
+
+extern __typeof (__floorf) __floorf_ppc64 attribute_hidden;
+extern __typeof (__floorf) __floorf_power5plus attribute_hidden;
+
+libc_ifunc (__floorf,
+	    (hwcap & PPC_FEATURE_POWER5_PLUS)
+	    ? __floorf_power5plus
+            : __floorf_ppc64);
+
+weak_alias (__floorf, floorf)

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf-power7.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf-power7.S (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf-power7.S Sat Dec 14 00:01:56 2013
@@ -1,0 +1,33 @@
+/* isinf().  PowerPC64/POWER7 version.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <math_ldbl_opt.h>
+
+#undef hidden_def
+#define hidden_def(name)
+#undef weak_alias
+#define weak_alias(name, alias)
+#undef strong_alias
+#define strong_alias(name, alias)
+#undef compat_symbol
+#define compat_symbol(lib, name, alias, ver)
+
+#define __isinf __isinf_power7
+
+#include <sysdeps/powerpc/powerpc64/power7/fpu/s_isinf.S>

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf-ppc64.c
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf-ppc64.c (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf-ppc64.c Sat Dec 14 00:01:56 2013
@@ -1,0 +1,33 @@
+/* isinf().  PowerPC64 default version.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <math.h>
+
+#undef weak_alias
+#define weak_alias(a, b)
+#undef strong_alias
+#define strong_alias(a, b)
+
+#define __isinf __isinf_ppc64
+#ifdef SHARED
+# undef hidden_def
+# define hidden_def(a) \
+   __hidden_ver1 (__isinf_ppc64, __GI___isinf, __isinf_ppc64);
+#endif
+
+#include <sysdeps/ieee754/dbl-64/s_isinf.c>

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf.c
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf.c (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinf.c Sat Dec 14 00:01:56 2013
@@ -1,0 +1,44 @@
+/* Multiple versions of isinf.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <math.h>
+#include <math_ldbl_opt.h>
+#include <shlib-compat.h>
+#include "init-arch.h"
+
+extern __typeof (__isinf) __isinf_ppc64 attribute_hidden;
+extern __typeof (__isinf) __isinf_power7 attribute_hidden;
+
+libc_ifunc (__isinf,
+	    (hwcap & PPC_FEATURE_ARCH_2_06)
+	    ? __isinf_power7
+            : __isinf_ppc64);
+
+weak_alias (__isinf, isinf)
+
+#ifdef NO_LONG_DOUBLE
+strong_alias (__isinf, __isinfl)
+weak_alias (__isinf, isinfl)
+#endif
+
+#ifndef IS_IN_libm
+# if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
+compat_symbol (libc, __isinf, __isinfl, GLIBC_2_0);
+compat_symbol (libc, isinf, isinfl, GLIBC_2_0);
+# endif
+#endif

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinff-ppc64.c
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinff-ppc64.c (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinff-ppc64.c Sat Dec 14 00:01:56 2013
@@ -1,0 +1,31 @@
+/* isinff().  PowerPC64 default version.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <math.h>
+
+#undef weak_alias
+#define weak_alias(a, b)
+
+#define __isinff __isinff_ppc64
+#ifdef SHARED
+# undef hidden_def
+# define hidden_def(a) \
+   __hidden_ver1 (__isinff_ppc64, __GI___isinff, __isinff_ppc64);
+#endif
+
+#include <sysdeps/ieee754/flt-32/s_isinff.c>

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinff.c
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinff.c (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isinff.c Sat Dec 14 00:01:56 2013
@@ -1,0 +1,33 @@
+/* Multiple versions of isinf.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <math.h>
+#include <math_ldbl_opt.h>
+#include <shlib-compat.h>
+#include "init-arch.h"
+
+extern __typeof (__isinff) __isinff_ppc64 attribute_hidden;
+/* The double-precision version also works for single-precision.  */
+extern __typeof (__isinff) __isinf_power7 attribute_hidden;
+
+libc_ifunc (__isinff,
+	    (hwcap & PPC_FEATURE_ARCH_2_06)
+	    ? __isinf_power7
+            : __isinff_ppc64);
+
+weak_alias (__isinff, isinff)

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power5.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power5.S (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power5.S Sat Dec 14 00:01:56 2013
@@ -1,0 +1,33 @@
+/* isnan().  PowerPC64/POWER5 version.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <math_ldbl_opt.h>
+
+#undef hidden_def
+#define hidden_def(name)
+#undef weak_alias
+#define weak_alias(name, alias)
+#undef strong_alias
+#define strong_alias(name, alias)
+#undef compat_symbol
+#define compat_symbol(lib, name, symbol, ver)
+
+#define __isnan __isnan_power5
+
+#include <sysdeps/powerpc/powerpc64/power5/fpu/s_isnan.S>

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power6.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power6.S (added)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power6.S Sat Dec 14 00:01:56 2013
@@ -1,0 +1,33 @@
+/* isnan().  PowerPC64/POWER6 version.
+   Copyright (C) 2013 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <math_ldbl_opt.h>
+
+#undef hidden_def
+#define hidden_def(name)
+#undef weak_alias
+#define weak_alias(name, alias)
+#undef strong_alias
+#define strong_alias(name, alias)
+#undef compat_symbol
+#define compat_symbol(lib, name, symbol, ver)
+
+#define __isnan __isnan_power6
+
+#include <sysdeps/powerpc/powerpc64/power6/fpu/s_isnan.S>

Added: fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power6x.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/fpu/multiarch/s_isnan-power6x.S (added)

[... 5430 lines stripped ...]
_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits