From f2c9d882070d2c4bc5a099690961562662b8522a Mon Sep 17 00:00:00 2001 From: Daniel Jacobowitz Date: Tue, 27 Jan 2009 17:10:08 +0000 Subject: [PATCH] 2009-01-27 Min Zhang * sysdeps/arm/memset.S (memset): Use stm instead of two str instructions. --- ChangeLog.arm | 5 +++++ sysdeps/arm/memset.S | 13 +++++-------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/ChangeLog.arm b/ChangeLog.arm index 2a8a252..338d768 100644 --- a/ChangeLog.arm +++ b/ChangeLog.arm @@ -1,3 +1,8 @@ +2009-01-27 Min Zhang + + * sysdeps/arm/memset.S (memset): Use stm instead of two + str instructions. + 2009-01-27 Kirill A. Shutemov * sysdeps/arm/elf/start.S (_start): Use position-independent code diff --git a/sysdeps/arm/memset.S b/sysdeps/arm/memset.S index b37451b..a276570 100644 --- a/sysdeps/arm/memset.S +++ b/sysdeps/arm/memset.S @@ -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 -- 2.7.4