From 538e9e454de75c5528d1a7c8f57ede9ccad39d00 Mon Sep 17 00:00:00 2001 From: Wilco Date: Thu, 7 Aug 2014 14:30:31 +0000 Subject: Fix performance issue in misaligned strcpy. --- sysdeps/arm/armv6/strcpy.S | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'sysdeps') 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) -- cgit 1.4.1