[PATCH v1 3/4] x86: Use `testb` for case-locale check in str{n}casecmp-sse42
Noah Goldstein
goldstein.w.n@gmail.com
Thu Oct 20 02:13:37 GMT 2022
`testb` saves a bit of code size is the imm-operand can be encoded
1-bytes.
Tested on x86-64.
---
sysdeps/x86_64/multiarch/strcmp-sse4_2.S | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sysdeps/x86_64/multiarch/strcmp-sse4_2.S b/sysdeps/x86_64/multiarch/strcmp-sse4_2.S
index dc6fc90e14..6b540ff894 100644
--- a/sysdeps/x86_64/multiarch/strcmp-sse4_2.S
+++ b/sysdeps/x86_64/multiarch/strcmp-sse4_2.S
@@ -119,7 +119,7 @@ STRCMP:
# else
mov (%rdx), %RAX_LP
# endif
- testl $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax)
+ testb $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax)
jne __strcasecmp_l_nonascii
# endif
# ifdef USE_AS_STRNCASECMP_L
@@ -130,7 +130,7 @@ STRCMP:
# else
mov (%rcx), %RAX_LP
# endif
- testl $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax)
+ testb $1, LOCALE_DATA_VALUES+_NL_CTYPE_NONASCII_CASE*SIZEOF_VALUES(%rax)
jne __strncasecmp_l_nonascii
# endif
--
2.34.1
More information about the Libc-alpha
mailing list