ppc64: use mem_64.S from powerpc/lib
authorStephen Rothwell <sfr@canb.auug.org.au>
Thu, 27 Oct 2005 08:03:58 +0000 (18:03 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Fri, 28 Oct 2005 02:54:35 +0000 (12:54 +1000)
and remove the same bits from ppc64/lib/string.S.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
arch/powerpc/lib/Makefile
arch/ppc64/lib/string.S

index 15b6b2696500524868267634b05b22b5e8628325..0115bf96751c1706c21009979ac0e59266ab1748 100644 (file)
@@ -4,13 +4,12 @@
 
 ifeq ($(CONFIG_PPC_MERGE),y)
 obj-y                  := string.o
-obj-$(CONFIG_PPC64)    += mem_64.o
 endif
 
 obj-y                  += strcase.o
 obj-$(CONFIG_PPC32)    += div64.o copy_32.o checksum_32.o
 obj-$(CONFIG_PPC64)    += checksum_64.o copypage_64.o copyuser_64.o \
-                          memcpy_64.o usercopy_64.o
+                          memcpy_64.o usercopy_64.o mem_64.o
 obj-$(CONFIG_PPC_ISERIES) += e2a.o
 ifeq ($(CONFIG_PPC64),y)
 obj-$(CONFIG_SMP)      += locks.o
index 813587e5c2ec5ddfbf53fd6165400ba96053809d..e21a0038a4d67829451b6c44f9ffab8d74a8a9d5 100644 (file)
@@ -65,112 +65,6 @@ _GLOBAL(strlen)
        subf    r3,r3,r4
        blr
 
-_GLOBAL(memset)
-       neg     r0,r3
-       rlwimi  r4,r4,8,16,23
-       andi.   r0,r0,7                 /* # bytes to be 8-byte aligned */
-       rlwimi  r4,r4,16,0,15
-       cmplw   cr1,r5,r0               /* do we get that far? */
-       rldimi  r4,r4,32,0
-       mtcrf   1,r0
-       mr      r6,r3
-       blt     cr1,8f
-       beq+    3f                      /* if already 8-byte aligned */
-       subf    r5,r0,r5
-       bf      31,1f
-       stb     r4,0(r6)
-       addi    r6,r6,1
-1:     bf      30,2f
-       sth     r4,0(r6)
-       addi    r6,r6,2
-2:     bf      29,3f
-       stw     r4,0(r6)
-       addi    r6,r6,4
-3:     srdi.   r0,r5,6
-       clrldi  r5,r5,58
-       mtctr   r0
-       beq     5f
-4:     std     r4,0(r6)
-       std     r4,8(r6)
-       std     r4,16(r6)
-       std     r4,24(r6)
-       std     r4,32(r6)
-       std     r4,40(r6)
-       std     r4,48(r6)
-       std     r4,56(r6)
-       addi    r6,r6,64
-       bdnz    4b
-5:     srwi.   r0,r5,3
-       clrlwi  r5,r5,29
-       mtcrf   1,r0
-       beq     8f
-       bf      29,6f
-       std     r4,0(r6)
-       std     r4,8(r6)
-       std     r4,16(r6)
-       std     r4,24(r6)
-       addi    r6,r6,32
-6:     bf      30,7f
-       std     r4,0(r6)
-       std     r4,8(r6)
-       addi    r6,r6,16
-7:     bf      31,8f
-       std     r4,0(r6)
-       addi    r6,r6,8
-8:     cmpwi   r5,0
-       mtcrf   1,r5
-       beqlr+
-       bf      29,9f
-       stw     r4,0(r6)
-       addi    r6,r6,4
-9:     bf      30,10f
-       sth     r4,0(r6)
-       addi    r6,r6,2
-10:    bflr    31
-       stb     r4,0(r6)
-       blr
-
-_GLOBAL(memmove)
-       cmplw   0,r3,r4
-       bgt     .backwards_memcpy
-       b       .memcpy
-
-_GLOBAL(backwards_memcpy)
-       rlwinm. r7,r5,32-3,3,31         /* r0 = r5 >> 3 */
-       add     r6,r3,r5
-       add     r4,r4,r5
-       beq     2f
-       andi.   r0,r6,3
-       mtctr   r7
-       bne     5f
-1:     lwz     r7,-4(r4)
-       lwzu    r8,-8(r4)
-       stw     r7,-4(r6)
-       stwu    r8,-8(r6)
-       bdnz    1b
-       andi.   r5,r5,7
-2:     cmplwi  0,r5,4
-       blt     3f
-       lwzu    r0,-4(r4)
-       subi    r5,r5,4
-       stwu    r0,-4(r6)
-3:     cmpwi   0,r5,0
-       beqlr
-       mtctr   r5
-4:     lbzu    r0,-1(r4)
-       stbu    r0,-1(r6)
-       bdnz    4b
-       blr
-5:     mtctr   r0
-6:     lbzu    r7,-1(r4)
-       stbu    r7,-1(r6)
-       bdnz    6b
-       subf    r5,r0,r5
-       rlwinm. r7,r5,32-3,3,31
-       beq     2b
-       mtctr   r7
-       b       1b
-       
 _GLOBAL(memcmp)
        cmpwi   0,r5,0
        ble-    2f