aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStanislav Sedov <stas@FreeBSD.org>2009-06-21 13:15:56 +0000
committerStanislav Sedov <stas@FreeBSD.org>2009-06-21 13:15:56 +0000
commitc61860f8a69d4b724b33c08e09a870076da4cace (patch)
treeb6704a7bb7e39328a6c39a13798602228aa50e7e
parentb24516038c91fd0b8493122aa44dcb50537c0377 (diff)
downloadsrc-c61860f8a69d4b724b33c08e09a870076da4cace.tar.gz
src-c61860f8a69d4b724b33c08e09a870076da4cace.zip
- Eliminate extra subcs instruction. I have not noticed before that we
always perform substraction now, so no instruction could be rordered to eliminate the conditional substraction.
Notes
Notes: svn path=/head/; revision=194585
-rw-r--r--lib/libc/arm/string/strncmp.S3
1 files changed, 1 insertions, 2 deletions
diff --git a/lib/libc/arm/string/strncmp.S b/lib/libc/arm/string/strncmp.S
index 5beff413614f..fce01591c0e2 100644
--- a/lib/libc/arm/string/strncmp.S
+++ b/lib/libc/arm/string/strncmp.S
@@ -40,10 +40,9 @@ ENTRY(strncmp)
/* ip == last src address to compare */
adds ip, r0, r2
- sub ip, ip, #1
/* Use last possible address on overflow. */
movcs ip, #0
- subcs ip, ip, #1
+ sub ip, ip, #1
1:
ldrb r2, [r0], #1
ldrb r3, [r1], #1