2009-01-27 Min Zhang <mzhang@mvista.com>
authorDaniel Jacobowitz <dan@codesourcery.com>
Tue, 27 Jan 2009 17:10:08 +0000 (17:10 +0000)
committerDaniel Jacobowitz <dan@codesourcery.com>
Tue, 27 Jan 2009 17:10:08 +0000 (17:10 +0000)
* sysdeps/arm/memset.S (memset): Use stm instead of two
str instructions.

ChangeLog.arm
sysdeps/arm/memset.S

index 2a8a252..338d768 100644 (file)
@@ -1,3 +1,8 @@
+2009-01-27  Min Zhang  <mzhang@mvista.com>
+
+       * sysdeps/arm/memset.S (memset): Use stm instead of two
+       str instructions.
+
 2009-01-27  Kirill A. Shutemov <kirill@shutemov.name>
 
        * sysdeps/arm/elf/start.S (_start): Use position-independent code
index b37451b..a276570 100644 (file)
@@ -35,20 +35,17 @@ ENTRY(memset)
        and     r1, r1, #255    @ clear any sign bits
        orr     r1, r1, r1, lsl $8
        orr     r1, r1, r1, lsl $16
+       mov     ip, r1
 
 1:
        subs    r2, r2, #8
-       strcs   r1, [r3], #4    @ store up to 32 bytes per loop iteration
-       strcs   r1, [r3], #4
+       stmcsia r3!, {r1, ip}   @ store up to 32 bytes per loop iteration
        subcss  r2, r2, #8
-       strcs   r1, [r3], #4
-       strcs   r1, [r3], #4
+       stmcsia r3!, {r1, ip}
        subcss  r2, r2, #8
-       strcs   r1, [r3], #4
-       strcs   r1, [r3], #4
+       stmcsia r3!, {r1, ip}
        subcss  r2, r2, #8
-       strcs   r1, [r3], #4
-       strcs   r1, [r3], #4
+       stmcsia r3!, {r1, ip}
        bcs     1b
 
        and     r2, r2, #7