Message ID | 20210708201318.1222367-2-goldstein.w.n@gmail.com |
---|---|
State | New |
Headers | show |
Series | [v2,1/2] x86-64: Test strlen and wcslen with 0 in the RSI register [BZ #28064] | expand |
On Thu, Jul 8, 2021 at 1:14 PM Noah Goldstein <goldstein.w.n@gmail.com> wrote: > > The following commit > > commit 6f573a27b6c8b4236445810a44660612323f5a73 > Author: Noah Goldstein <goldstein.w.n@gmail.com> > Date: Wed Jun 23 01:19:34 2021 -0400 > > x86-64: Add wcslen optimize for sse4.1 > > Added wcsnlen-sse4.1 to the wcslen ifunc implementation list and did > not add wcslen-sse4.1 to wcslen ifunc implementation list. This commit > fixes that by removing wcsnlen-sse4.1 from the wcslen ifunc > implementation list and adding wcslen-sse4.1 to the ifunc > implementation list. > > Testing: > test-wcslen.c, test-rsi-wcslen.c, and test-rsi-strlen.c are passing as > well as all other tests in wcsmbs and string. > > Signed-off-by: Noah Goldstein <goldstein.w.n@gmail.com> > Reviewed-by: H.J. Lu <hjl.tools@gmail.com> > --- > Confirmed test-rsi-wcslen.c failed before this fix. Great. > sysdeps/x86_64/multiarch/ifunc-impl-list.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/sysdeps/x86_64/multiarch/ifunc-impl-list.c b/sysdeps/x86_64/multiarch/ifunc-impl-list.c > index dbd1ebf298..39ab10613b 100644 > --- a/sysdeps/x86_64/multiarch/ifunc-impl-list.c > +++ b/sysdeps/x86_64/multiarch/ifunc-impl-list.c > @@ -684,9 +684,9 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array, > && CPU_FEATURE_USABLE (AVX512BW) > && CPU_FEATURE_USABLE (BMI2)), > __wcslen_evex) > - IFUNC_IMPL_ADD (array, i, wcsnlen, > + IFUNC_IMPL_ADD (array, i, wcslen, > CPU_FEATURE_USABLE (SSE4_1), > - __wcsnlen_sse4_1) > + __wcslen_sse4_1) > IFUNC_IMPL_ADD (array, i, wcslen, 1, __wcslen_sse2)) > > /* Support sysdeps/x86_64/multiarch/wcsnlen.c. */ > -- > 2.25.1 > LGTM. Please check in both patches. Reviewed-by: H.J. Lu <hjl.tools@gmail.com> Thanks.
On Thu, Jul 8, 2021 at 1:30 PM H.J. Lu <hjl.tools@gmail.com> wrote: > > On Thu, Jul 8, 2021 at 1:14 PM Noah Goldstein <goldstein.w.n@gmail.com> wrote: > > > > The following commit > > > > commit 6f573a27b6c8b4236445810a44660612323f5a73 > > Author: Noah Goldstein <goldstein.w.n@gmail.com> > > Date: Wed Jun 23 01:19:34 2021 -0400 > > > > x86-64: Add wcslen optimize for sse4.1 > > > > Added wcsnlen-sse4.1 to the wcslen ifunc implementation list and did > > not add wcslen-sse4.1 to wcslen ifunc implementation list. This commit > > fixes that by removing wcsnlen-sse4.1 from the wcslen ifunc > > implementation list and adding wcslen-sse4.1 to the ifunc > > implementation list. > > > > Testing: > > test-wcslen.c, test-rsi-wcslen.c, and test-rsi-strlen.c are passing as > > well as all other tests in wcsmbs and string. > > > > Signed-off-by: Noah Goldstein <goldstein.w.n@gmail.com> > > Reviewed-by: H.J. Lu <hjl.tools@gmail.com> > > --- > > Confirmed test-rsi-wcslen.c failed before this fix. > > Great. > > > sysdeps/x86_64/multiarch/ifunc-impl-list.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/sysdeps/x86_64/multiarch/ifunc-impl-list.c b/sysdeps/x86_64/multiarch/ifunc-impl-list.c > > index dbd1ebf298..39ab10613b 100644 > > --- a/sysdeps/x86_64/multiarch/ifunc-impl-list.c > > +++ b/sysdeps/x86_64/multiarch/ifunc-impl-list.c > > @@ -684,9 +684,9 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array, > > && CPU_FEATURE_USABLE (AVX512BW) > > && CPU_FEATURE_USABLE (BMI2)), > > __wcslen_evex) > > - IFUNC_IMPL_ADD (array, i, wcsnlen, > > + IFUNC_IMPL_ADD (array, i, wcslen, > > CPU_FEATURE_USABLE (SSE4_1), > > - __wcsnlen_sse4_1) > > + __wcslen_sse4_1) > > IFUNC_IMPL_ADD (array, i, wcslen, 1, __wcslen_sse2)) > > > > /* Support sysdeps/x86_64/multiarch/wcsnlen.c. */ > > -- > > 2.25.1 > > > > LGTM. Please check in both patches. > > Reviewed-by: H.J. Lu <hjl.tools@gmail.com> > I am backporting this to release branches.
diff --git a/sysdeps/x86_64/multiarch/ifunc-impl-list.c b/sysdeps/x86_64/multiarch/ifunc-impl-list.c index dbd1ebf298..39ab10613b 100644 --- a/sysdeps/x86_64/multiarch/ifunc-impl-list.c +++ b/sysdeps/x86_64/multiarch/ifunc-impl-list.c @@ -684,9 +684,9 @@ __libc_ifunc_impl_list (const char *name, struct libc_ifunc_impl *array, && CPU_FEATURE_USABLE (AVX512BW) && CPU_FEATURE_USABLE (BMI2)), __wcslen_evex) - IFUNC_IMPL_ADD (array, i, wcsnlen, + IFUNC_IMPL_ADD (array, i, wcslen, CPU_FEATURE_USABLE (SSE4_1), - __wcsnlen_sse4_1) + __wcslen_sse4_1) IFUNC_IMPL_ADD (array, i, wcslen, 1, __wcslen_sse2)) /* Support sysdeps/x86_64/multiarch/wcsnlen.c. */