diff options
author | Wilco <wdijkstr@arm.com> | 2014-08-07 14:30:31 +0000 |
---|---|---|
committer | Wilco <wdijkstr@arm.com> | 2014-08-07 14:30:31 +0000 |
commit | 538e9e454de75c5528d1a7c8f57ede9ccad39d00 (patch) | |
tree | 6b01d243ec02bd67ca0ff1fb0f1fcdfd3d05c3ab /sysdeps/arm/armv6 | |
parent | d4795e4a43e6f0c221bc5dc64c612206a21a177b (diff) | |
download | glibc-538e9e454de75c5528d1a7c8f57ede9ccad39d00.tar glibc-538e9e454de75c5528d1a7c8f57ede9ccad39d00.tar.gz glibc-538e9e454de75c5528d1a7c8f57ede9ccad39d00.tar.bz2 glibc-538e9e454de75c5528d1a7c8f57ede9ccad39d00.zip |
Fix performance issue in misaligned strcpy.
Diffstat (limited to 'sysdeps/arm/armv6')
-rw-r--r-- | sysdeps/arm/armv6/strcpy.S | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sysdeps/arm/armv6/strcpy.S b/sysdeps/arm/armv6/strcpy.S index 833a83c28f..67bd9d8af1 100644 --- a/sysdeps/arm/armv6/strcpy.S +++ b/sysdeps/arm/armv6/strcpy.S @@ -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) |