diff options
Diffstat (limited to 'sysdeps/i386')
-rw-r--r-- | sysdeps/i386/i586/strlen.S | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/sysdeps/i386/i586/strlen.S b/sysdeps/i386/i586/strlen.S index 12ea354b22..cce750cb45 100644 --- a/sysdeps/i386/i586/strlen.S +++ b/sysdeps/i386/i586/strlen.S @@ -53,16 +53,16 @@ ENTRY(strlen) je L2 /* yes => return */ incl %eax /* increment pointer */ - xorl $3, %edx /* was alignment = 3? */ - - jz L1 /* yes => now it is aligned and start loop */ + cmpb %dh, (%eax) /* is byte NUL? */ -L0: cmpb %dh, (%eax) /* is byte NUL? */ je L2 /* yes => return */ incl %eax /* increment pointer */ + xorl $2, %edx - cmpb %dh, (%eax) /* is byte NUL? */ + jz L1 + +L0: cmpb %dh, (%eax) /* is byte NUL? */ je L2 /* yes => return */ incl %eax /* increment pointer */ |