diff -Naur glibc-2.20/sysdeps/powerpc/powerpc32/e6500/memcpy.S glibc-2.20-e6500-mcpy/sysdeps/powerpc/powerpc32/e6500/memcpy.S
--- glibc-2.20/sysdeps/powerpc/powerpc32/e6500/memcpy.SÂ Â  1969-12-31 18:00:00.000000000 -0600
+++ glibc-2.20-e6500-mcpy/sysdeps/powerpc/powerpc32/e6500/memcpy.SÂ Â Â Â  2015-08-29 15:45:37.044421872 -0500
@@ -0,0 +1,212 @@
+/* Optimized memcpy implementation for e6500 32-bit PowerPC.
+ Â Â Copyright (C) 2015 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, write to the Free
+Â Â  Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+Â Â  02111-1307 USA.Â  */
+
+#include <sysdep.h>
+
+/* __ptr_t [r3] memcpy (__ptr_t dst [r3], __ptr_t src [r4], size_t len [r5]);
+Â Â  Returns 'dst'.
+
+Â Â Â Â Â Â Â Â Â Â Â Â  r3 = destination
+Â Â Â Â Â Â Â Â Â Â Â Â  r4 = source
+Â Â Â Â Â Â Â Â Â Â Â Â  r5 = byte count
+
+Â Â Â Â Â Â Â Â Â Â Â Â  volatile fixed point registers usable:
+Â Â Â Â Â Â Â Â Â Â Â Â  r0, r3-r12
+
+Â Â Â Â Â Â Â Â Â Â Â Â  volatile floating point registers usable:
+Â Â Â Â Â Â Â Â Â Â Â Â  f0-f13.Â  */
+
+EALIGN (memcpy, 5, 0)
+Â Â Â Â Â Â Â Â Â Â Â Â  cmplwÂ Â  cr0, r4, r3Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* if source==destination, return.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  beqlrÂ Â Â Â  cr0
+Â Â Â Â Â Â Â Â Â Â Â Â  /* if number of bytes is less than 16, (optimal value TBD),
+Â Â Â Â Â Â Â Â Â Â Â Â  Â Â  but greater than zero copy byte-by-byte.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  cmplwiÂ  r5, 16
+Â Â Â Â Â Â Â Â Â Â Â Â  mrÂ Â Â Â Â Â Â Â Â  r6, r3
+Â Â Â Â Â Â Â Â Â Â Â Â  bltÂ Â Â Â Â Â Â Â Â Â  L(copy_remaining)
+Â Â Â Â Â Â Â Â Â Â Â Â  negÂ Â Â Â Â Â Â  r0, r3
+Â Â Â Â Â Â Â Â Â Â Â Â  andi.Â Â Â Â Â  r11, r0, 15
+Â Â Â Â Â Â Â Â Â Â Â Â  beqÂ Â Â Â Â Â Â  L(dst_align16)
+Â Â Â Â Â Â Â Â Â Â Â Â  lwzÂ Â Â Â Â Â Â Â  r0, 0(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  lwzÂ Â Â Â Â Â Â Â  r7, 4(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  lwzÂ Â Â Â Â Â Â Â  r8, 8(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  lwzÂ Â Â Â Â Â Â Â  r9, 12(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  subfÂ Â Â Â Â Â  r5, r11, r5
+Â Â Â Â Â Â Â Â Â Â Â Â  addÂ Â Â Â Â Â Â  r4, r4, r11
+Â Â Â Â Â Â Â Â Â Â Â Â  stwÂ Â Â Â Â Â Â Â  r0, 0(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  stwÂ Â Â Â Â Â Â Â  r7, 4(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  stwÂ Â Â Â Â Â Â Â  r8, 8(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  stwÂ Â Â Â Â Â Â Â  r9, 12(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  addÂ Â Â Â Â Â Â  r6, r6, r11
+L(dst_align16):
+Â Â Â Â Â Â Â Â Â Â Â Â  cmplwiÂ  7, r5, 63
+Â Â Â Â Â Â Â Â Â Â Â Â  bleÂ Â Â Â Â Â Â Â Â  7, L(copy_remaining)
+Â Â Â Â Â Â Â Â Â Â Â Â  srwiÂ Â Â Â Â Â Â  r11, r5, 6Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* No of 64 byte copy count.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  rlwinmÂ  r5, r5, 0, 26, 31Â Â  /* remaining bytes.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  rlwinm. r0, r4, 0, 28, 31
+Â Â Â Â Â Â Â Â Â Â Â Â  mtctrÂ Â Â Â  r11
+Â Â Â Â Â Â Â Â Â Â Â Â  liÂ Â Â Â Â Â Â Â Â Â Â Â Â  r7, 16
+Â Â Â Â Â Â Â Â Â Â Â Â  liÂ Â Â Â Â Â Â Â Â Â Â Â Â  r8, 32
+Â Â Â Â Â Â Â Â Â Â Â Â  liÂ Â Â Â Â Â Â Â Â Â Â Â Â  r9, 48
+Â Â Â Â Â Â Â Â Â Â Â Â  bneÂ Â Â Â Â Â Â  0, L(src_naligned)
+L(copy_salign16):
+Â Â Â Â Â Â Â Â Â Â Â Â  lvxÂ Â Â Â Â Â Â Â Â  v14, 0, r4Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* copy 64 bytes.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  lvxÂ Â Â Â Â Â Â Â Â  v15, r7, r4
+Â Â Â Â Â Â Â Â Â Â Â Â  lvxÂ Â Â Â Â Â Â Â Â  v16, r8, r4
+Â Â Â Â Â Â Â Â Â Â Â Â  lvxÂ Â Â Â Â Â Â Â Â  v17, r9, r4
+Â Â Â Â Â Â Â Â Â Â Â Â  addiÂ Â Â Â Â Â  r4, r4, 64
+Â Â Â Â Â Â Â Â Â Â Â Â  stvxÂ Â Â Â Â Â Â  v14, 0, r6
+Â Â Â Â Â Â Â Â Â Â Â Â  stvxÂ Â Â Â Â Â Â  v15, r7, r6
+Â Â Â Â Â Â Â Â Â Â Â Â  stvxÂ Â Â Â Â Â Â  v16, r8, r6
+Â Â Â Â Â Â Â Â Â Â Â Â  stvxÂ Â Â Â Â Â Â  v17, r9, r6
+Â Â Â Â Â Â Â Â Â Â Â Â  addiÂ Â Â Â Â Â  r6, r6, 64
+Â Â Â Â Â Â Â Â Â Â Â Â  bdnzÂ Â Â Â Â  L(copy_salign16)
+L(copy_remaining):
+Â Â Â Â Â Â Â Â Â Â Â Â  srwi.Â Â Â Â Â  r11, r5, 3Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* No of 8 byte copy count.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  rlwinmÂ  r5, r5, 0, 29, 31Â Â  /* remaining bytes.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  beqÂ Â Â Â Â Â Â  0, L(copy_bytes)
+Â Â Â Â Â Â Â Â Â Â Â Â  mtcrfÂ Â Â Â  0x01, r11
+Â Â Â Â Â Â Â Â Â Â Â Â  bfÂ Â Â Â Â Â Â Â Â Â Â  cr7*4+1, L(cp16b)
+
+Â Â Â Â Â Â Â Â Â Â Â Â  lwzÂ Â Â Â Â Â Â Â  r0, 0(r4)Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* copy 32 bytes */
+Â Â Â Â Â Â Â Â Â Â Â Â  lwzÂ Â Â Â Â Â Â Â  r7, 4(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  lwzÂ Â Â Â Â Â Â Â  r8, 8(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  lwzÂ Â Â Â Â Â Â Â  r9, 12(r4)
+
+Â Â Â Â Â Â Â Â Â Â Â Â  stwÂ Â Â Â Â Â Â Â  r0, 0(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  stwÂ Â Â Â Â Â Â Â  r7, 4(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  stwÂ Â Â Â Â Â Â Â  r8, 8(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  stwÂ Â Â Â Â Â Â Â  r9, 12(r6)
+
+Â Â Â Â Â Â Â Â Â Â Â Â  lwzÂ Â Â Â Â Â Â Â  r0, 16(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  lwzÂ Â Â Â Â Â Â Â  r7, 20(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  lwzÂ Â Â Â Â Â Â Â  r8, 24(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  lwzÂ Â Â Â Â Â Â Â  r9, 28(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  addiÂ Â Â Â Â Â  r4, r4, 32
+
+Â Â Â Â Â Â Â Â Â Â Â Â  stwÂ Â Â Â Â Â Â Â  r0, 16(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  stwÂ Â Â Â Â Â Â Â  r7, 20(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  stwÂ Â Â Â Â Â Â Â  r8, 24(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  stwÂ Â Â Â Â Â Â Â  r9, 28(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  addi r6, r6, 32
+L(cp16b):
+Â Â Â Â Â Â Â Â Â Â Â Â  bfÂ Â Â Â Â Â Â Â Â Â Â  cr7*4+2, L(cp8b)
+Â Â Â Â Â Â Â Â Â Â Â Â  lwzÂ Â Â Â Â Â Â Â  r0, 0(r4)Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* copy 16 bytes */
+Â Â Â Â Â Â Â Â Â Â Â Â  lwzÂ Â Â Â Â Â Â Â  r7, 4(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  lwzÂ Â Â Â Â Â Â Â  r8, 8(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  lwzÂ Â Â Â Â Â Â Â  r9, 12(r4)
+
+Â Â Â Â Â Â Â Â Â Â Â Â  addiÂ Â Â Â Â Â  r4, r4, 16
+
+Â Â Â Â Â Â Â Â Â Â Â Â  stwÂ Â Â Â Â Â Â Â  r0, 0(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  stwÂ Â Â Â Â Â Â Â  r7, 4(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  stwÂ Â Â Â Â Â Â Â  r8, 8(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  stwÂ Â Â Â Â Â Â Â  r9, 12(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  addiÂ Â Â Â Â Â  r6, r6, 16
+L(cp8b):
+Â Â Â Â Â Â Â Â Â Â Â Â  bfÂ Â Â Â Â Â Â Â Â Â Â  cr7*4+3, L(copy_bytes)
+Â Â Â Â Â Â Â Â Â Â Â Â  lwzÂ Â Â Â Â Â Â Â  r0, 0(r4)Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* copy 8 bytes */
+Â Â Â Â Â Â Â Â Â Â Â Â  lwzÂ Â Â Â Â Â Â Â  r7, 4(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  addiÂ Â Â Â Â Â  r4, r4, 8
+
+Â Â Â Â Â Â Â Â Â Â Â Â  stwÂ Â Â Â Â Â Â Â  r0, 0(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  stwÂ Â Â Â Â Â Â Â  r7, 4(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  addiÂ Â Â Â Â Â  r6, r6, 8
+L(copy_bytes):
+Â Â Â Â Â Â Â Â Â Â Â Â  cmplwiÂ  cr1, r5, 4
+Â Â Â Â Â Â Â Â Â Â Â Â  cmplwiÂ  cr0, r5, 1
+Â Â Â Â Â Â Â Â Â Â Â Â  bgtÂ Â Â Â Â Â Â Â  cr1, L(gt4b)Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* nb > 4?Â  (5, 6, 7 bytes).Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  bleÂ Â Â Â Â Â Â Â Â  cr0, L(lt1b)Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* nb <= 1? (0, 1 bytes).Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  addiÂ Â Â Â Â Â  r0, r5, -2Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* 2, 3, 4 bytes.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  lhzÂ Â Â Â Â Â Â Â Â  r9, 0(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  lhzxÂ Â Â Â Â Â Â  r11, r4, r0
+Â Â Â Â Â Â Â Â Â Â Â Â  sthÂ Â Â Â Â Â Â Â Â  r9, 0(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  sthxÂ Â Â Â Â Â  r11, r6, r0
+Â Â Â Â Â Â Â Â Â Â Â Â  blr
+L(gt4b):
+Â Â Â Â Â Â Â Â Â Â Â Â  addiÂ Â Â Â Â Â  r0, r5, -4Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* 5, 6, 7 bytes.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  lwzÂ Â Â Â Â Â Â Â  r9, 0(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  lwzxÂ Â Â Â Â Â  r11, r4, r0
+Â Â Â Â Â Â Â Â Â Â Â Â  stwÂ Â Â Â Â Â Â Â  r9, 0(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  stwxÂ Â Â Â Â  r11, r6, r0
+Â Â Â Â Â Â Â Â Â Â Â Â  blr
+L(lt1b):
+Â Â Â Â Â Â Â Â Â Â Â Â  mtocrfÂ  0x1, r5Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* nb == 0 ? return.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  bflrÂ Â Â Â Â Â Â Â  31
+Â Â Â Â Â Â Â Â Â Â Â Â  lbzÂ Â Â Â Â Â Â Â Â  r0, 0(r4)Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* nb == 1.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  stbÂ Â Â Â Â Â Â Â Â  r0, 0(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  blr
+
+L(src_naligned):
+#ifndef _SOFT_FLOAT
+Â Â Â Â Â Â Â Â Â Â Â Â  rlwinm. r0, r4, 0, 29, 31
+Â Â Â Â Â Â Â Â Â Â Â Â  beqÂ Â Â Â Â Â Â  0, L(copy_salign8)
+#endif
+L(copy_snalign):Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* copy 64 bytes.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  lvxÂ Â Â Â Â Â Â Â Â  v0, 0, r4Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* load MSQ.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  lvslÂ Â Â Â Â Â Â Â Â  v18, 0, r4Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* set permute control vector.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  lvxÂ Â Â Â Â Â Â Â Â  v19, r7, r4Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* load LSQ.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  vpermÂ Â  v14, v0, v19, v18Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* align the data.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  lvxÂ Â Â Â Â Â Â Â Â  v0, r7, r4Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* load MSQ.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  lvslÂ Â Â Â Â Â Â Â Â  v18, r7, r4Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* set permute control vector.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  lvxÂ Â Â Â Â Â Â Â Â  v19, r8, r4Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* load LSQ.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  vpermÂ Â  v15, v0, v19, v18Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* align the data.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  lvxÂ Â Â Â Â Â Â Â Â  v0, r8, r4Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* load MSQ.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  lvslÂ Â Â Â Â Â Â Â Â  v18, r8, r4Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* set permute control vector.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  lvxÂ Â Â Â Â Â Â Â Â  v19, r9, r4Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* load LSQ.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  vpermÂ Â  v16, v0, v19, v18Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* align the data.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  lvxÂ Â Â Â Â Â Â Â Â  v0, r9, r4Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* load MSQ.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  lvslÂ Â Â Â Â Â Â Â Â  v18, r9, r4Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* set permute control vector.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  addiÂ Â Â Â Â Â  r4, r4, 64
+Â Â Â Â Â Â Â Â Â Â Â Â  lvxÂ Â Â Â Â Â Â Â Â  v19, 0, r4Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* load LSQ.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  vpermÂ Â  v17, v0, v19, v18Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* align the data.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  stvxÂ Â Â Â Â Â Â  v14, 0, r6
+Â Â Â Â Â Â Â Â Â Â Â Â  stvxÂ Â Â Â Â Â Â  v15, r7, r6
+Â Â Â Â Â Â Â Â Â Â Â Â  stvxÂ Â Â Â Â Â Â  v16, r8, r6
+Â Â Â Â Â Â Â Â Â Â Â Â  stvxÂ Â Â Â Â Â Â  v17, r9, r6
+Â Â Â Â Â Â Â Â Â Â Â Â  addiÂ Â Â Â Â Â  r6, r6, 64
+Â Â Â Â Â Â Â Â Â Â Â Â  bdnzÂ Â Â Â Â  L(copy_snalign)
+Â Â Â Â Â Â Â Â Â Â Â Â  bÂ Â Â Â Â Â Â Â Â Â Â Â  L(copy_remaining)
+
+#ifndef _SOFT_FLOAT
+L(copy_salign8):
+Â Â Â Â Â Â Â Â Â Â Â Â  lfdÂ Â Â Â Â Â Â Â Â Â  0, 0(r4)Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* copy 64 bytes.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  lfdÂ Â Â Â Â Â Â Â Â Â  1, 8(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  lfdÂ Â Â Â Â Â Â Â Â Â  2, 16(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  lfdÂ Â Â Â Â Â Â Â Â Â  3, 24(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  stfdÂ Â Â Â Â Â Â  0, 0(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  stfdÂ Â Â Â Â Â Â  1, 8(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  stfdÂ Â Â Â Â Â Â  2, 16(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  stfdÂ Â Â Â Â Â Â  3, 24(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  lfdÂ Â Â Â Â Â Â Â Â Â  0, 32(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  lfdÂ Â Â Â Â Â Â Â Â Â  1, 40(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  lfdÂ Â Â Â Â Â Â Â Â Â  2, 48(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  lfdÂ Â Â Â Â Â Â Â Â Â  3, 56(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  addiÂ Â Â Â Â Â  r4, r4, 64
+Â Â Â Â Â Â Â Â Â Â Â Â  stfdÂ Â Â Â Â Â Â  0, 32(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  stfdÂ Â Â Â Â Â Â  1, 40(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  stfdÂ Â Â Â Â Â Â  2, 48(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  stfdÂ Â Â Â Â Â Â  3, 56(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  addiÂ Â Â Â Â Â  r6, r6, 64
+Â Â Â Â Â Â Â Â Â Â Â Â  bdnzÂ Â Â Â Â  L(copy_salign8)
+Â Â Â Â Â Â Â Â Â Â Â Â  bÂ Â Â Â Â Â Â Â Â Â Â Â  L(copy_remaining)
+#endif
+
+END (memcpy)
+libc_hidden_builtin_def (memcpy)
diff -Naur glibc-2.20/sysdeps/powerpc/powerpc32/power4/multiarch/ifunc-impl-list.c glibc-2.20-e6500-mcpy/sysdeps/powerpc/powerpc32/power4/multiarch/ifunc-impl-list.c
--- glibc-2.20/sysdeps/powerpc/powerpc32/power4/multiarch/ifunc-impl-list.c 2015-08-29 15:42:09.769408236 -0500
+++ glibc-2.20-e6500-mcpy/sysdeps/powerpc/powerpc32/power4/multiarch/ifunc-impl-list.cÂ Â  2015-08-29 15:45:37.044421872 -0500
@@ -58,6 +58,10 @@
Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â Â Â Â Â __memcpy_power6)
Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â Â Â Â Â IFUNC_IMPL_ADD (array, i, memcpy, hwcap & PPC_FEATURE_CELL_BE,
Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â Â Â Â Â __memcpy_cell)
+Â Â Â Â Â Â Â Â Â Â Â Â  Â Â Â Â Â  IFUNC_IMPL_ADD (array, i, memcpy,
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â Â Â Â  (((hwcap & PPC_FEATURE_E6500) == PPC_FEATURE_E6500)
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â Â Â Â  && (hwcap2 & PPC_FEATURE2_HAS_ISEL)),
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â Â Â Â  __memcpy_e6500)
Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â Â Â Â Â IFUNC_IMPL_ADD (array, i, memcpy, 1, __memcpy_ppc))

Â Â Â /* Support sysdeps/powerpc/powerpc32/power4/multiarch/memmove.c.Â  */
diff -Naur glibc-2.20/sysdeps/powerpc/powerpc32/power4/multiarch/Makefile glibc-2.20-e6500-mcpy/sysdeps/powerpc/powerpc32/power4/multiarch/Makefile
--- glibc-2.20/sysdeps/powerpc/powerpc32/power4/multiarch/MakefileÂ Â Â Â Â Â Â Â Â Â Â Â  2015-08-29 15:42:09.769408236 -0500
+++ glibc-2.20-e6500-mcpy/sysdeps/powerpc/powerpc32/power4/multiarch/MakefileÂ Â Â Â Â Â Â Â Â Â Â Â Â Â Â  2015-08-29 15:46:34.217426773 -0500
@@ -1,7 +1,7 @@
ifeq ($(subdir),string)
sysdep_routines += memcpy-power7 memcpy-a2 memcpy-power6 memcpy-cell \
-Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â  memcpy-ppc32 memcmp-power7 memcmp-e6500 memcmp-ppc32 \
-Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â  memset-power7 memset-power6 memset-ppc32 \
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â  memcpy-e6500 memcpy-ppc32 memcmp-power7 memcmp-e6500 \
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â  memcmp-ppc32 memset-power7 memset-power6 memset-ppc32 \
Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â Â bzero-power7 bzero-power6 bzero-ppc32 \
Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â Â mempcpy-power7 mempcpy-ppc32 memchr-power7 \
Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â Â memchr-ppc32 memrchr-power7 memrchr-ppc32 rawmemchr-power7 \
diff -Naur glibc-2.20/sysdeps/powerpc/powerpc32/power4/multiarch/memcpy.c glibc-2.20-e6500-mcpy/sysdeps/powerpc/powerpc32/power4/multiarch/memcpy.c
--- glibc-2.20/sysdeps/powerpc/powerpc32/power4/multiarch/memcpy.cÂ Â Â Â Â Â Â Â Â  2015-08-29 15:41:52.333407557 -0500
+++ glibc-2.20-e6500-mcpy/sysdeps/powerpc/powerpc32/power4/multiarch/memcpy.cÂ Â Â Â Â Â Â Â Â Â Â Â  2015-08-29 15:45:37.044421872 -0500
@@ -25,6 +25,7 @@
# include "init-arch.h"

Â extern __typeof (memcpy) __memcpy_ppc attribute_hidden;
+extern __typeof (memcpy) __memcpy_e6500 attribute_hidden;
extern __typeof (memcpy) __memcpy_cell attribute_hidden;
extern __typeof (memcpy) __memcpy_power6 attribute_hidden;
extern __typeof (memcpy) __memcpy_a2 attribute_hidden;
@@ -40,6 +41,9 @@
Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  (hwcap & PPC_FEATURE_ARCH_2_05)
Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  ? __memcpy_power6 :
Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â (hwcap & PPC_FEATURE_CELL_BE)
-Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â  ? __memcpy_cell
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â  ? __memcpy_cell :
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â Â  (((hwcap & PPC_FEATURE_E6500) == PPC_FEATURE_E6500)
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â Â  && (hwcap2 & PPC_FEATURE2_HAS_ISEL))
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â Â  ? __memcpy_e6500
Â Â Â Â Â Â Â Â Â Â Â Â  : __memcpy_ppc);
#endif
diff -Naur glibc-2.20/sysdeps/powerpc/powerpc32/power4/multiarch/memcpy-e6500.S glibc-2.20-e6500-mcpy/sysdeps/powerpc/powerpc32/power4/multiarch/memcpy-e6500.S
--- glibc-2.20/sysdeps/powerpc/powerpc32/power4/multiarch/memcpy-e6500.SÂ Â Â Â Â Â Â Â Â Â Â  1969-12-31 18:00:00.000000000 -0600
+++ glibc-2.20-e6500-mcpy/sysdeps/powerpc/powerpc32/power4/multiarch/memcpy-e6500.SÂ Â Â Â Â Â Â Â Â Â Â Â Â Â  2015-08-29 15:45:37.045421842 -0500
@@ -0,0 +1,38 @@
+/* Optimized memcpy implementation for PowerPC32/e6500.
+Â Â  Copyright (C) 2015 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 EALIGN
+#define EALIGN(name, alignt, words)Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  \
+ .globl C_SYMBOL_NAME(__memcpy_e6500);Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  \
+ .type C_SYMBOL_NAME(__memcpy_e6500),@function;Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  \
+ .align ALIGNARG(alignt);Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  \
+ EALIGN_W_##words;Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  \
+ C_LABEL(__memcpy_e6500)Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  \
+ cfi_startproc;
+
+#undef END
+#define END(name)Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  \
+ cfi_endproc;Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  \
+ ASM_SIZE_DIRECTIVE(__memcpy_e6500)
+
+#undef libc_hidden_builtin_def
+#define libc_hidden_builtin_def(name)
+
+#include <sysdeps/powerpc/powerpc32/e6500/memcpy.S>
diff -Naur glibc-2.20/sysdeps/powerpc/powerpc64/e6500/memcpy.S glibc-2.20-e6500-mcpy/sysdeps/powerpc/powerpc64/e6500/memcpy.S
--- glibc-2.20/sysdeps/powerpc/powerpc64/e6500/memcpy.SÂ Â  1969-12-31 18:00:00.000000000 -0600
+++ glibc-2.20-e6500-mcpy/sysdeps/powerpc/powerpc64/e6500/memcpy.SÂ Â Â Â  2015-08-29 15:45:37.045421842 -0500
@@ -0,0 +1,184 @@
+/* Optimized memcpy implementation for e6500 64-bit PowerPC.
+Â Â  Copyright (C) 2015 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, write to the Free
+Â Â  Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+Â Â  02111-1307 USA.Â  */
+
+#include <sysdep.h>
+
+/* __ptr_t [r3] memcpy (__ptr_t dst [r3], __ptr_t src [r4], size_t len [r5]);
+Â Â  Returns 'dst'.
+
+Â Â Â Â Â Â Â Â Â Â Â Â  r3 = destination
+Â Â Â Â Â Â Â Â Â Â Â Â  r4 = source
+Â Â Â Â Â Â Â Â Â Â Â Â  r5 = byte count
+
+Â Â Â Â Â Â Â Â Â Â Â Â  volatile fixed point registers usable:
+Â Â Â Â Â Â Â Â Â Â Â Â  r0, r3-r12
+
+Â Â Â Â Â Â Â Â Â Â Â Â  volatile floating point registers usable:
+Â Â Â Â Â Â Â Â Â Â Â Â  f0-f13.Â  */
+
+EALIGN (memcpy, 5, 0)
+Â Â Â Â Â Â Â Â Â Â Â Â  CALL_MCOUNT 3
+Â Â Â Â Â Â Â Â Â Â Â Â  cmpldÂ Â Â  cr0, r4, r3Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* if source==destination, return.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  beqlrÂ Â Â Â  cr0
+Â Â Â Â Â Â Â Â Â Â Â Â  /* if number of bytes is less than 16 but greater than zero,
+Â Â Â Â Â Â Â Â Â Â Â Â  Â Â  copy byte-by-byte.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  cmpldiÂ Â  r5, 16
+Â Â Â Â Â Â Â Â Â Â Â Â  mrÂ Â Â Â Â Â Â Â Â  r6, r3
+Â Â Â Â Â Â Â Â Â Â Â Â  bleÂ Â Â Â Â Â Â Â Â  L(copy_remaining)
+Â Â Â Â Â Â Â Â Â Â Â Â  negÂ Â Â Â Â Â Â  r0, r3
+Â Â Â Â Â Â Â Â Â Â Â Â  andi.Â Â Â Â Â  r11, r0, 15
+Â Â Â Â Â Â Â Â Â Â Â Â  beqÂ Â Â Â Â Â Â  L(dst_align)
+Â Â Â Â Â Â Â Â Â Â Â Â  ldÂ Â Â Â Â Â Â Â Â Â Â  r12, 0(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  ldÂ Â Â Â Â Â Â Â Â Â Â  r0, 8(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  subfÂ Â Â Â Â Â  r5, r11, r5
+Â Â Â Â Â Â Â Â Â Â Â Â  addÂ Â Â Â Â Â Â  r4, r4, r11
+Â Â Â Â Â Â Â Â Â Â Â Â  stdÂ Â Â Â Â Â Â Â Â  r12, 0(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  stdÂ Â Â Â Â Â Â Â Â  r0, 8(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  addÂ Â Â Â Â Â Â  r6, r6, r11
+L(dst_align):
+Â Â Â Â Â Â Â Â Â Â Â Â  cmpldiÂ Â  7, r5, 63
+Â Â Â Â Â Â Â Â Â Â Â Â  bleÂ Â Â Â Â Â Â Â Â  7, L(copy_remaining)
+Â Â Â Â Â Â Â Â Â Â Â Â  srwiÂ Â Â Â Â Â Â  r11, r5, 6Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* No of 64 byte copy count.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  rlwinmÂ  r5, r5, 0, 26, 31Â Â  /* remaining bytes.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  rlwinm. r0, r4, 0, 28, 31
+Â Â Â Â Â Â Â Â Â Â Â Â  mtctrÂ Â Â Â  r11
+Â Â Â Â Â Â Â Â Â Â Â Â  liÂ Â Â Â Â Â Â Â Â Â Â Â Â  r7, 16
+Â Â Â Â Â Â Â Â Â Â Â Â  liÂ Â Â Â Â Â Â Â Â Â Â Â Â  r8, 32
+Â Â Â Â Â Â Â Â Â Â Â Â  liÂ Â Â Â Â Â Â Â Â Â Â Â Â  r9, 48
+Â Â Â Â Â Â Â Â Â Â Â Â  bneÂ Â Â Â Â Â Â  0, L(src_naligned)
+L(copy_salign):
+Â Â Â Â Â Â Â Â Â Â Â Â  lvxÂ Â Â Â Â Â Â Â Â  v14, 0, r4
+Â Â Â Â Â Â Â Â Â Â Â Â  lvxÂ Â Â Â Â Â Â Â Â  v15, r7, r4
+Â Â Â Â Â Â Â Â Â Â Â Â  lvxÂ Â Â Â Â Â Â Â Â  v16, r8, r4
+Â Â Â Â Â Â Â Â Â Â Â Â  lvxÂ Â Â Â Â Â Â Â Â  v17, r9, r4
+Â Â Â Â Â Â Â Â Â Â Â Â  addiÂ Â Â Â Â Â  r4, r4, 64
+Â Â Â Â Â Â Â Â Â Â Â Â  stvxÂ Â Â Â Â Â Â  v14, 0, r6
+Â Â Â Â Â Â Â Â Â Â Â Â  stvxÂ Â Â Â Â Â Â  v15, r7, r6
+Â Â Â Â Â Â Â Â Â Â Â Â  stvxÂ Â Â Â Â Â Â  v16, r8, r6
+Â Â Â Â Â Â Â Â Â Â Â Â  stvxÂ Â Â Â Â Â Â  v17, r9, r6
+Â Â Â Â Â Â Â Â Â Â Â Â  addiÂ Â Â Â Â Â  r6, r6, 64
+Â Â Â Â Â Â Â Â Â Â Â Â  bdnzÂ Â Â Â Â  L(copy_salign)
+L(copy_remaining):
+Â Â Â Â Â Â Â Â Â Â Â Â  srwi.Â Â Â Â Â  r11, r5, 3Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* No of 8 byte copy count.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  rlwinmÂ  r5, r5, 0, 29, 31Â Â  /* remaining bytes.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  beqÂ Â Â Â Â Â Â  0, L(copy_bytes)
+Â Â Â Â Â Â Â Â Â Â Â Â  mtcrfÂ Â Â Â  0x01, r11
+Â Â Â Â Â Â Â Â Â Â Â Â  bfÂ Â Â Â Â Â Â Â Â Â Â  cr7*4+1, L(cp16b)
+Â Â Â Â Â Â Â Â Â Â Â Â  ldÂ Â Â Â Â Â Â Â Â Â Â  r0, 0(r4)Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* copy 32 bytes.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  ldÂ Â Â Â Â Â Â Â Â Â Â  r7, 8(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  ldÂ Â Â Â Â Â Â Â Â Â Â  r8, 16(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  ldÂ Â Â Â Â Â Â Â Â Â Â  r9, 24(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  addiÂ Â Â Â Â Â  r4, r4, 32
+Â Â Â Â Â Â Â Â Â Â Â Â  stdÂ Â Â Â Â Â Â Â Â  r0, 0(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  stdÂ Â Â Â Â Â Â Â Â  r7, 8(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  stdÂ Â Â Â Â Â Â Â Â  r8, 16(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  stdÂ Â Â Â Â Â Â Â Â  r9, 24(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  addiÂ Â Â Â Â Â  r6, r6, 32
+L(cp16b):
+Â Â Â Â Â Â Â Â Â Â Â Â  bfÂ Â Â Â Â Â Â Â Â Â Â  cr7*4+2, L(cp8b)
+Â Â Â Â Â Â Â Â Â Â Â Â  ldÂ Â Â Â Â Â Â Â Â Â Â  r7, 0(r4)Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* copy 16 bytes.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  ldÂ Â Â Â Â Â Â Â Â Â Â  r8, 8(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  addiÂ Â Â Â Â Â  r4, r4, 16
+Â Â Â Â Â Â Â Â Â Â Â Â  stdÂ Â Â Â Â Â Â Â Â  r7, 0(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  stdÂ Â Â Â Â Â Â Â Â  r8, 8(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  addiÂ Â Â Â Â Â  r6, r6, 16
+L(cp8b):
+Â Â Â Â Â Â Â Â Â Â Â Â  bfÂ Â Â Â Â Â Â Â Â Â Â  cr7*4+3, L(copy_bytes)
+Â Â Â Â Â Â Â Â Â Â Â Â  ldÂ Â Â Â Â Â Â Â Â Â Â  r7, 0(r4)Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* copy 8 bytes.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  addiÂ Â Â Â Â Â  r4, r4, 8
+Â Â Â Â Â Â Â Â Â Â Â Â  stdÂ Â Â Â Â Â Â Â Â  r7, 0(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  addiÂ Â Â Â Â Â  r6, r6, 8
+L(copy_bytes):
+Â Â Â Â Â Â Â Â Â Â Â Â  cmpldiÂ Â  cr1, r5, 4
+Â Â Â Â Â Â Â Â Â Â Â Â  cmpldiÂ Â  cr0, r5, 1
+Â Â Â Â Â Â Â Â Â Â Â Â  bgtÂ Â Â Â Â Â Â Â  cr1, L(gt4b)Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* nb > 4?Â  (5, 6, 7 bytes).Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  bleÂ Â Â Â Â Â Â Â Â  cr0, L(lt1b)Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* nb <= 1? (0, 1 bytes).Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  addiÂ Â Â Â Â Â  r0, r5, -2Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* 2, 3, 4 bytes.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  lhzÂ Â Â Â Â Â Â Â Â  r9, 0(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  lhzxÂ Â Â Â Â Â Â  r11, r4, r0
+Â Â Â Â Â Â Â Â Â Â Â Â  sthÂ Â Â Â Â Â Â Â Â  r9, 0(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  sthxÂ Â Â Â Â Â  r11, r6, r0
+Â Â Â Â Â Â Â Â Â Â Â Â  blr
+L(gt4b):
+Â Â Â Â Â Â Â Â Â Â Â Â  addiÂ Â Â Â Â Â  r0, r5, -4Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* 5, 6, 7 bytes.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  lwzÂ Â Â Â Â Â Â Â  r9, 0(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  lwzxÂ Â Â Â Â Â  r11, r4, r0
+Â Â Â Â Â Â Â Â Â Â Â Â  stwÂ Â Â Â Â Â Â Â  r9, 0(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  stwxÂ Â Â Â Â  r11, r6, r0
+Â Â Â Â Â Â Â Â Â Â Â Â  blr
+L(lt1b):
+Â Â Â Â Â Â Â Â Â Â Â Â  mtocrfÂ  0x1, r5Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* nb == 0 ? return.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  bflrÂ Â Â Â Â Â Â Â  31
+Â Â Â Â Â Â Â Â Â Â Â Â  lbzÂ Â Â Â Â Â Â Â Â  r0, 0(r4)Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* nb == 1.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  stbÂ Â Â Â Â Â Â Â Â  r0, 0(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  blr
+
+L(src_naligned):
+Â Â Â Â Â Â Â Â Â Â Â Â  rlwinm. r0, r4, 0, 29, 31
+Â Â Â Â Â Â Â Â Â Â Â Â  beqÂ Â Â Â Â Â Â  0, L(copy_salign8)
+L(copy_snalign):
+Â Â Â Â Â Â Â Â Â Â Â Â  lvxÂ Â Â Â Â Â Â Â Â  v0, 0, r4Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* load MSQ.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  lvslÂ Â Â Â Â Â Â Â Â  v18, 0, r4Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* set permute control vector.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  lvxÂ Â Â Â Â Â Â Â Â  v19, r7, r4Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* load LSQ.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  vpermÂ Â  v14, v0, v19, v18Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* align the data.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  lvxÂ Â Â Â Â Â Â Â Â  v0, r7, r4Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* load MSQ.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  lvslÂ Â Â Â Â Â Â Â Â  v18, r7, r4Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* set permute control vector.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  lvxÂ Â Â Â Â Â Â Â Â  v19, r8, r4Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* load LSQ.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  vpermÂ Â  v15, v0, v19, v18Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* align the data.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  lvxÂ Â Â Â Â Â Â Â Â  v0, r8, r4Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* load MSQ.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  lvslÂ Â Â Â Â Â Â Â Â  v18, r8, r4Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* set permute control vector.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  lvxÂ Â Â Â Â Â Â Â Â  v19, r9, r4Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* load LSQ.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  vpermÂ Â  v16, v0, v19, v18Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* align the data. Â */
+Â Â Â Â Â Â Â Â Â Â Â Â  lvxÂ Â Â Â Â Â Â Â Â  v0, r9, r4Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* load MSQ.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  lvslÂ Â Â Â Â Â Â Â Â  v18, r9, r4Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* set permute control vector.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  addiÂ Â Â Â Â Â  r4, r4, 64
+Â Â Â Â Â Â Â Â Â Â Â Â  lvxÂ Â Â Â Â Â Â Â Â  v19, 0, r4Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* load LSQ.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  vpermÂ Â  v17, v0, v19, v18Â Â Â Â Â Â Â Â Â Â Â Â Â Â  /* align the data.Â  */
+Â Â Â Â Â Â Â Â Â Â Â Â  stvxÂ Â Â Â Â Â Â  v14, 0, r6
+Â Â Â Â Â Â Â Â Â Â Â Â  stvxÂ Â Â Â Â Â Â  v15, r7, r6
+Â Â Â Â Â Â Â Â Â Â Â Â  stvxÂ Â Â Â Â Â Â  v16, r8, r6
+Â Â Â Â Â Â Â Â Â Â Â Â  stvxÂ Â Â Â Â Â Â  v17, r9, r6
+Â Â Â Â Â Â Â Â Â Â Â Â  addiÂ Â Â Â Â Â  r6, r6, 64
+Â Â Â Â Â Â Â Â Â Â Â Â  bdnzÂ Â Â Â Â  L(copy_snalign)
+Â Â Â Â Â Â Â Â Â Â Â Â  bÂ Â Â Â Â Â Â Â Â Â Â Â  L(copy_remaining)
+
+L(copy_salign8):
+Â Â Â Â Â Â Â Â Â Â Â Â  ldÂ Â Â Â Â Â Â Â Â Â Â  r0, 0(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  ldÂ Â Â Â Â Â Â Â Â Â Â  r7, 8(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  ldÂ Â Â Â Â Â Â Â Â Â Â  r8, 16(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  ldÂ Â Â Â Â Â Â Â Â Â Â  r9, 24(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  stdÂ Â Â Â Â Â Â Â Â  r0, 0(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  stdÂ Â Â Â Â Â Â Â Â  r7, 8(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  stdÂ Â Â Â Â Â Â Â Â  r8, 16(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  stdÂ Â Â Â Â Â Â Â Â  r9, 24(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  ldÂ Â Â Â Â Â Â Â Â Â Â  r0, 32(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  ldÂ Â Â Â Â Â Â Â Â Â Â  r7, 40(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  ldÂ Â Â Â Â Â Â Â Â Â Â  r8, 48(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  ldÂ Â Â Â Â Â Â Â Â Â Â  r9, 56(r4)
+Â Â Â Â Â Â Â Â Â Â Â Â  addiÂ Â Â Â Â Â  r4, r4, 64
+Â Â Â Â Â Â Â Â Â Â Â Â  stdÂ Â Â Â Â Â Â Â Â  r0, 32(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  stdÂ Â Â Â Â Â Â Â Â  r7, 40(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  stdÂ Â Â Â Â Â Â Â Â  r8, 48(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  stdÂ Â Â Â Â Â Â Â Â  r9, 56(r6)
+Â Â Â Â Â Â Â Â Â Â Â Â  addiÂ Â Â Â Â Â  r6, r6, 64
+Â Â Â Â Â Â Â Â Â Â Â Â  bdnzÂ Â Â Â Â  L(copy_salign8)
+Â Â Â Â Â Â Â Â Â Â Â Â  bÂ Â Â Â Â Â Â Â Â Â Â Â  L(copy_remaining)
+
+END_GEN_TB (memcpy,TB_TOCLESS)
+libc_hidden_builtin_def (memcpy)
diff -Naur glibc-2.20/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c glibc-2.20-e6500-mcpy/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c
--- glibc-2.20/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.cÂ  2015-08-29 15:42:09.771408290 -0500
+++ glibc-2.20-e6500-mcpy/sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.cÂ Â Â Â  2015-08-29 15:45:37.045421842 -0500
@@ -60,6 +60,10 @@
Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â Â Â Â Â __memcpy_cell)
Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â Â Â Â Â IFUNC_IMPL_ADD (array, i, memcpy, hwcap & PPC_FEATURE_POWER4,
Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â Â Â Â Â __memcpy_power4)
+Â Â Â Â Â Â Â Â Â Â Â Â  Â Â Â Â Â  IFUNC_IMPL_ADD (array, i, memcpy,
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â Â Â Â  (((hwcap & PPC_FEATURE_E6500) == PPC_FEATURE_E6500)
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â Â Â Â  && (hwcap2 & PPC_FEATURE2_HAS_ISEL)),
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â Â Â Â  __memcpy_e6500)
Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â Â Â Â Â IFUNC_IMPL_ADD (array, i, memcpy, 1, __memcpy_ppc))

Â Â Â /* Support sysdeps/powerpc/powerpc64/multiarch/memmove.c.Â  */
diff -Naur glibc-2.20/sysdeps/powerpc/powerpc64/multiarch/Makefile glibc-2.20-e6500-mcpy/sysdeps/powerpc/powerpc64/multiarch/Makefile
--- glibc-2.20/sysdeps/powerpc/powerpc64/multiarch/MakefileÂ Â Â Â Â Â Â Â Â Â Â Â Â Â  2015-08-29 15:42:09.771408290 -0500
+++ glibc-2.20-e6500-mcpy/sysdeps/powerpc/powerpc64/multiarch/MakefileÂ  2015-08-29 15:47:51.985430863 -0500
@@ -1,7 +1,7 @@
ifeq ($(subdir),string)
sysdep_routines += memcpy-power7 memcpy-a2 memcpy-power6 memcpy-cell \
-Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â  memcpy-power4 memcpy-ppc64 memcmp-power7 memcmp-power4 \
-Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â  memcmp-e6500 memcmp-ppc64 \
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â  memcpy-power4 memcpy-e6500 memcpy-ppc64 memcmp-power7 \
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â  memcmp-power4 memcmp-e6500 memcmp-ppc64 \
Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â Â memset-power7 memset-power6 memset-power4 \
Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â Â memset-ppc64 bzero-power4 bzero-power6 bzero-power7 \
Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â Â mempcpy-power7 mempcpy-ppc64 memchr-power7 memchr-ppc64 \
diff -Naur glibc-2.20/sysdeps/powerpc/powerpc64/multiarch/memcpy.c glibc-2.20-e6500-mcpy/sysdeps/powerpc/powerpc64/multiarch/memcpy.c
--- glibc-2.20/sysdeps/powerpc/powerpc64/multiarch/memcpy.cÂ Â Â Â Â Â Â Â Â Â Â  2015-08-29 15:41:52.354407558 -0500
+++ glibc-2.20-e6500-mcpy/sysdeps/powerpc/powerpc64/multiarch/memcpy.cÂ Â Â Â Â Â Â Â Â Â Â Â Â Â  2015-08-29 15:45:37.045421842 -0500
@@ -30,6 +30,7 @@
extern __typeof (__redirect_memcpy) __libc_memcpy;

Â extern __typeof (__redirect_memcpy) __memcpy_ppc attribute_hidden;
+extern __typeof (__redirect_memcpy) __memcpy_e6500 attribute_hidden;
extern __typeof (__redirect_memcpy) __memcpy_power4 attribute_hidden;
extern __typeof (__redirect_memcpy) __memcpy_cell attribute_hidden;
extern __typeof (__redirect_memcpy) __memcpy_power6 attribute_hidden;
@@ -46,7 +47,10 @@
Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â (hwcap & PPC_FEATURE_CELL_BE)
Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â ? __memcpy_cell :
Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â Â Â (hwcap & PPC_FEATURE_POWER4)
-Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â Â  ? __memcpy_power4
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â Â  ? __memcpy_power4 :
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â Â Â Â  (((hwcap & PPC_FEATURE_E6500) == PPC_FEATURE_E6500)
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â Â Â Â  && (hwcap2 & PPC_FEATURE2_HAS_ISEL))
+Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  Â Â Â Â Â  ? __memcpy_e6500
Â Â Â Â Â Â Â Â Â Â Â Â  : __memcpy_ppc);

Â #undef memcpy
diff -Naur glibc-2.20/sysdeps/powerpc/powerpc64/multiarch/memcpy-e6500.S glibc-2.20-e6500-mcpy/sysdeps/powerpc/powerpc64/multiarch/memcpy-e6500.S
--- glibc-2.20/sysdeps/powerpc/powerpc64/multiarch/memcpy-e6500.SÂ Â Â Â Â Â Â Â Â Â Â Â Â  1969-12-31 18:00:00.000000000 -0600
+++ glibc-2.20-e6500-mcpy/sysdeps/powerpc/powerpc64/multiarch/memcpy-e6500.S 2015-08-29 15:45:37.045421842 -0500
@@ -0,0 +1,40 @@
+/* Optimized memcpy implementation for PowerPC64/e6500.
+Â Â  Copyright (C) 2015 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 EALIGN
+#define EALIGN(name, alignt, words)Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  \
+Â  .section ".text";Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  \
+Â  ENTRY_2(__memcpy_e6500)Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  \
+Â  .align ALIGNARG(alignt);Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  \
+Â  EALIGN_W_##words;Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  \
+Â  BODY_LABEL(__memcpy_e6500):Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  \
+Â  cfi_startproc;Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  \
+Â  LOCALENTRY(__memcpy_e6500)
+
+#undef END_GEN_TB
+#define END_GEN_TB(name, mask)Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  \
+Â  cfi_endproc;Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  \
+Â  TRACEBACK_MASK(__memcpy_e6500,mask)Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  \
+Â  END_2(__memcpy_e6500)
+
+#undef libc_hidden_builtin_def
+#define libc_hidden_builtin_def(name)
+
+#include <sysdeps/powerpc/powerpc64/e6500/memcpy.S>
