about summary refs log tree commit diff
path: root/sysdeps/x86_64/multiarch/strcmp-sse2.S
diff options
context:
space:
mode:
authorNoah Goldstein <goldstein.w.n@gmail.com>2022-10-19 19:13:36 -0700
committerNoah Goldstein <goldstein.w.n@gmail.com>2022-10-20 11:29:05 -0700
commit7775574ce0527c326eaea78370bc9f49cc4743a6 (patch)
tree8ccfed9ee3f8bf34350fc66e0769ed52507156cf /sysdeps/x86_64/multiarch/strcmp-sse2.S
parentb6d02d64570e83bedfdb946cb1bdf0c9fd6d3eb0 (diff)
downloadglibc-7775574ce0527c326eaea78370bc9f49cc4743a6.tar.gz
glibc-7775574ce0527c326eaea78370bc9f49cc4743a6.tar.xz
glibc-7775574ce0527c326eaea78370bc9f49cc4743a6.zip
x86: Use `testb` for case-locale check in str{n}casecmp-sse2
`testb` saves a bit of code size is the imm-operand can be encoded
1-bytes.

Tested on x86-64.
Diffstat (limited to 'sysdeps/x86_64/multiarch/strcmp-sse2.S')
-rw-r--r--sysdeps/x86_64/multiarch/strcmp-sse2.S4
1 files changed, 2 insertions, 2 deletions
diff --git a/sysdeps/x86_64/multiarch/strcmp-sse2.S b/sysdeps/x86_64/multiarch/strcmp-sse2.S
index 3c69fc1df1..a975c924d8 100644
--- a/sysdeps/x86_64/multiarch/strcmp-sse2.S
+++ b/sysdeps/x86_64/multiarch/strcmp-sse2.S
@@ -104,7 +104,7 @@ ENTRY (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
 # elif defined USE_AS_STRNCASECMP_L
 	/* We have to fall back on the C implementation for locales
@@ -114,7 +114,7 @@ ENTRY (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