PowerPC: multiarch bzero cleanup for PPC64
[platform/upstream/glibc.git] / sysdeps / powerpc / powerpc64 / power7 / memset.S
index b24cfa1..14df042 100644 (file)
@@ -1,5 +1,5 @@
 /* Optimized memset implementation for PowerPC64/POWER7.
-   Copyright (C) 2010-2013 Free Software Foundation, Inc.
+   Copyright (C) 2010-2014 Free Software Foundation, Inc.
    Contributed by Luis Machado <luisgpm@br.ibm.com>.
    This file is part of the GNU C Library.
 
@@ -32,8 +32,8 @@ L(_memset):
        mr      10,3
 
        /* Replicate byte to word.  */
-       rlwimi  4,4,8,16,23
-       rlwimi  4,4,16,0,15
+       insrdi  4,4,8,48
+       insrdi  4,4,16,32
        ble     cr6,L(small)    /* If length <= 8, use short copy code.  */
 
        neg     0,3
@@ -321,7 +321,7 @@ L(medium):
        clrldi  0,0,62
        beq     L(medium_aligned)
 
-       /* Force 4-bytes alignment for SRC.  */
+       /* Force 4-bytes alignment for DST.  */
        mtocrf  0x01,0
        subf    5,0,5
 1:     /* Copy 1 byte.  */
@@ -390,6 +390,7 @@ ENTRY (__bzero)
        mr      r5,r4
        li      r4,0
        b       L(_memset)
-END_GEN_TB (__bzero,TB_TOCLESS)
-
+END (__bzero)
+#ifndef __bzero
 weak_alias (__bzero, bzero)
+#endif