diff options
Diffstat (limited to 'sysdeps/arm/memset.S')
-rw-r--r-- | sysdeps/arm/memset.S | 29 |
1 files changed, 10 insertions, 19 deletions
diff --git a/sysdeps/arm/memset.S b/sysdeps/arm/memset.S index c11857f55c..6ab173cca0 100644 --- a/sysdeps/arm/memset.S +++ b/sysdeps/arm/memset.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1998-2016 Free Software Foundation, Inc. +/* Copyright (C) 1998-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Philip Blundell <philb@gnu.org> @@ -32,8 +32,7 @@ ENTRY(memset) 1: tst r3, #3 @ aligned yet? - sfi_breg r3, \ - strbne r1, [\B], #1 + strbne r1, [r3], #1 subne r2, r2, #1 bne 1b @@ -44,33 +43,25 @@ ENTRY(memset) 1: subs r2, r2, #8 - sfi_breg r3, \ - stmiacs \B!, {r1, ip} @ store up to 32 bytes per loop iteration + stmiacs r3!, {r1, ip} @ store up to 32 bytes per loop iteration subscs r2, r2, #8 - sfi_breg r3, \ - stmiacs \B!, {r1, ip} + stmiacs r3!, {r1, ip} subscs r2, r2, #8 - sfi_breg r3, \ - stmiacs \B!, {r1, ip} + stmiacs r3!, {r1, ip} subscs r2, r2, #8 - sfi_breg r3, \ - stmiacs \B!, {r1, ip} + stmiacs r3!, {r1, ip} bcs 1b and r2, r2, #7 2: subs r2, r2, #1 @ store up to 4 bytes per loop iteration - sfi_breg r3, \ - strbcs r1, [\B], #1 + strbcs r1, [r3], #1 subscs r2, r2, #1 - sfi_breg r3, \ - strbcs r1, [\B], #1 + strbcs r1, [r3], #1 subscs r2, r2, #1 - sfi_breg r3, \ - strbcs r1, [\B], #1 + strbcs r1, [r3], #1 subscs r2, r2, #1 - sfi_breg r3, \ - strbcs r1, [\B], #1 + strbcs r1, [r3], #1 bcs 2b DO_RET(lr) |