mirror of
git://sourceware.org/git/glibc.git
synced 2025-01-30 12:31:53 +08:00
Fix performance issue in misaligned strcpy.
This commit is contained in:
parent
d4795e4a43
commit
538e9e454d
@ -1,3 +1,8 @@
|
||||
2014-08-07 Wilco Dijkstra <wdijkstr@arm.com>
|
||||
|
||||
* sysdeps/arm/armv6/strcpy.S (strcpy):
|
||||
Fix performance issue in misaligned cases.
|
||||
|
||||
2014-08-05 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/powerpc/bits/ioctl-types.h (struct winsize):
|
||||
|
@ -159,7 +159,7 @@ ENTRY (strcpy)
|
||||
@ Prologue to unaligned loop. Seed shifted non-zero bytes.
|
||||
uqsub8 r4, r7, r2 @ Find EOS
|
||||
uqsub8 r5, r7, r3
|
||||
mvns r4, r4 @ EOS in first word?
|
||||
cmp r4, #0 @ EOS in first word?
|
||||
it ne
|
||||
subne r1, r1, #8
|
||||
bne .Lbyte_loop
|
||||
@ -179,7 +179,7 @@ ENTRY (strcpy)
|
||||
@ Rotated unaligned copy loop. The tail of the prologue is
|
||||
@ shared with the loop itself.
|
||||
.balign 8
|
||||
1: mvns r5, r5 @ EOS in second word?
|
||||
1: cmp r5, #0 @ EOS in second word?
|
||||
bne 4f
|
||||
@ Combine first and second words
|
||||
orr r2, r2, r3, lsh_gt #(\unalign*8)
|
||||
@ -194,7 +194,7 @@ ENTRY (strcpy)
|
||||
sfi_pld r1, #128
|
||||
uqsub8 r5, r7, r3
|
||||
sfi_pld r0, #128
|
||||
mvns r4, r4 @ EOS in first word?
|
||||
cmp r4, #0 @ EOS in first word?
|
||||
bne 3f
|
||||
@ Combine the leftover and the first word
|
||||
orr r6, r6, r2, lsh_gt #(\unalign*8)
|
||||
|
Loading…
Reference in New Issue
Block a user