public inbox for glibc-cvs@sourceware.org
help / color / mirror / Atom feed
* [glibc/release/2.31/master] x86-64: Require BMI2 for __strlen_evex and __strnlen_evex
@ 2022-01-28  0:23 H.J. Lu
  0 siblings, 0 replies; only message in thread
From: H.J. Lu @ 2022-01-28  0:23 UTC (permalink / raw)
  To: glibc-cvs

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=0d4159c36ccb13330bee09940fd8cb32585f1aa2

commit 0d4159c36ccb13330bee09940fd8cb32585f1aa2
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Apr 19 07:07:21 2021 -0700

    x86-64: Require BMI2 for __strlen_evex and __strnlen_evex
    
    Since __strlen_evex and __strnlen_evex added by
    
    commit 1fd8c163a83d96ace1ff78fa6bac7aee084f6f77
    Author: H.J. Lu <hjl.tools@gmail.com>
    Date:   Fri Mar 5 06:24:52 2021 -0800
    
        x86-64: Add ifunc-avx2.h functions with 256-bit EVEX
    
    use sarx:
    
    c4 e2 6a f7 c0          sarx   %edx,%eax,%eax
    
    require BMI2 for __strlen_evex and __strnlen_evex in ifunc-impl-list.c.
    ifunc-avx2.h already requires BMI2 for EVEX implementation.
    
    (cherry picked from commit 55bf411b451c13f0fb7ff3d3bf9a820020b45df1)

Diff:
---
 sysdeps/x86_64/multiarch/ifunc-impl-list.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/sysdeps/x86_64/multiarch/ifunc-impl-list.c b/sysdeps/x86_64/multiarch/ifunc-impl-list.c
index 99dda1fdc0..d2ed336776 100644
--- a/sysdeps/x86_64/multiarch/ifunc-impl-list.c
+++ b/sysdeps/x86_64/multiarch/ifunc-impl-list.c
@@ -293,7 +293,8 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
 			      __strlen_avx2_rtm)
 	      IFUNC_IMPL_ADD (array, i, strlen,
 			      (HAS_ARCH_FEATURE (AVX512VL_Usable)
-			       && HAS_ARCH_FEATURE (AVX512BW_Usable)),
+			       && HAS_ARCH_FEATURE (AVX512BW_Usable)
+			       && HAS_CPU_FEATURE (BMI2)),
 			      __strlen_evex)
 	      IFUNC_IMPL_ADD (array, i, strlen, 1, __strlen_sse2))
 
@@ -308,7 +309,8 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array,
 			      __strnlen_avx2_rtm)
 	      IFUNC_IMPL_ADD (array, i, strnlen,
 			      (HAS_ARCH_FEATURE (AVX512VL_Usable)
-			       && HAS_ARCH_FEATURE (AVX512BW_Usable)),
+			       && HAS_ARCH_FEATURE (AVX512BW_Usable)
+			       && HAS_CPU_FEATURE (BMI2)),
 			      __strnlen_evex)
 	      IFUNC_IMPL_ADD (array, i, strnlen, 1, __strnlen_sse2))


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-01-28  0:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-28  0:23 [glibc/release/2.31/master] x86-64: Require BMI2 for __strlen_evex and __strnlen_evex H.J. Lu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).