mirror of git://sourceware.org/git/glibc.git
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>
|
2014-08-05 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
|
||||||
|
|
||||||
* sysdeps/unix/sysv/linux/powerpc/bits/ioctl-types.h (struct winsize):
|
* 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.
|
@ Prologue to unaligned loop. Seed shifted non-zero bytes.
|
||||||
uqsub8 r4, r7, r2 @ Find EOS
|
uqsub8 r4, r7, r2 @ Find EOS
|
||||||
uqsub8 r5, r7, r3
|
uqsub8 r5, r7, r3
|
||||||
mvns r4, r4 @ EOS in first word?
|
cmp r4, #0 @ EOS in first word?
|
||||||
it ne
|
it ne
|
||||||
subne r1, r1, #8
|
subne r1, r1, #8
|
||||||
bne .Lbyte_loop
|
bne .Lbyte_loop
|
||||||
|
@ -179,7 +179,7 @@ ENTRY (strcpy)
|
||||||
@ Rotated unaligned copy loop. The tail of the prologue is
|
@ Rotated unaligned copy loop. The tail of the prologue is
|
||||||
@ shared with the loop itself.
|
@ shared with the loop itself.
|
||||||
.balign 8
|
.balign 8
|
||||||
1: mvns r5, r5 @ EOS in second word?
|
1: cmp r5, #0 @ EOS in second word?
|
||||||
bne 4f
|
bne 4f
|
||||||
@ Combine first and second words
|
@ Combine first and second words
|
||||||
orr r2, r2, r3, lsh_gt #(\unalign*8)
|
orr r2, r2, r3, lsh_gt #(\unalign*8)
|
||||||
|
@ -194,7 +194,7 @@ ENTRY (strcpy)
|
||||||
sfi_pld r1, #128
|
sfi_pld r1, #128
|
||||||
uqsub8 r5, r7, r3
|
uqsub8 r5, r7, r3
|
||||||
sfi_pld r0, #128
|
sfi_pld r0, #128
|
||||||
mvns r4, r4 @ EOS in first word?
|
cmp r4, #0 @ EOS in first word?
|
||||||
bne 3f
|
bne 3f
|
||||||
@ Combine the leftover and the first word
|
@ Combine the leftover and the first word
|
||||||
orr r6, r6, r2, lsh_gt #(\unalign*8)
|
orr r6, r6, r2, lsh_gt #(\unalign*8)
|
||||||
|
|
Loading…
Reference in New Issue