diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-04-15 08:23:19 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-04-15 08:23:19 +0000 |
commit | 534dfb536f19737f2642ee56dd67a97c5db6a74e (patch) | |
tree | faf1e08295d084cb44c8986fa179d306d6f0a377 /libc/string/x86_64/strspn.S | |
parent | 07bbf922670cce83c0b54f28ad43473d044cae5e (diff) |
amd64 string ops: replace some instructions by smaller ones,
e.g. testb $0xff, %cl -> testb %cl, %cl
Diffstat (limited to 'libc/string/x86_64/strspn.S')
-rw-r--r-- | libc/string/x86_64/strspn.S | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libc/string/x86_64/strspn.S b/libc/string/x86_64/strspn.S index c126abd2e..416424565 100644 --- a/libc/string/x86_64/strspn.S +++ b/libc/string/x86_64/strspn.S @@ -57,19 +57,19 @@ L(2): movb (%rax), %cl /* get byte from stopset */ movb %cl, (%rsp,%rcx) /* set corresponding byte in stopset table */ movb 1(%rax), %cl /* get byte from stopset */ - testb $0xff, %cl /* is NUL char? */ + testb %cl, %cl /* is NUL char? */ jz L(1) /* yes => start compare loop */ movb %cl, (%rsp,%rcx) /* set corresponding byte in stopset table */ movb 2(%rax), %cl /* get byte from stopset */ - testb $0xff, %cl /* is NUL char? */ + testb %cl, %cl /* is NUL char? */ jz L(1) /* yes => start compare loop */ movb %cl, (%rsp,%rcx) /* set corresponding byte in stopset table */ movb 3(%rax), %cl /* get byte from stopset */ addq $4, %rax /* increment stopset pointer */ movb %cl, (%rsp,%rcx) /* set corresponding byte in stopset table */ - testb $0xff, %cl /* is NUL char? */ + testb %cl, %cl /* is NUL char? */ jnz L(2) /* no => process next dword from stopset */ L(1): leaq -4(%rdx), %rax /* prepare loop */ |