[Bug string/28064] New: x86_64:wcslen implementation list has wcsnlen

skpgkp2 at gmail dot com sourceware-bugzilla@sourceware.org
Thu Jul 8 06:39:50 GMT 2021


https://sourceware.org/bugzilla/show_bug.cgi?id=28064

            Bug ID: 28064
           Summary: x86_64:wcslen implementation list has wcsnlen
           Product: glibc
           Version: 2.34
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: string
          Assignee: unassigned at sourceware dot org
          Reporter: skpgkp2 at gmail dot com
                CC: goldstein.w.n at gmail dot com, hjl.tools at gmail dot com
  Target Milestone: ---
            Target: x86_64

This seems like a typo, test-wcslen implementation list has wcsnlen for SSE4_1,
as a result test-wcslen is failing. Further analysis point to following commit.

$ git show 6f573a27b6c8b4236445810a44660612323f5a73 ifunc-impl-list.c
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

    No bug. This comment adds the ifunc / build infrastructure
    necessary for wcslen to prefer the sse4.1 implementation
    in strlen-vec.S. test-wcslen.c is passing.

    Signed-off-by: Noah Goldstein <goldstein.w.n@gmail.com>
    Reviewed-by: H.J. Lu <hjl.tools@gmail.com>

diff --git a/sysdeps/x86_64/multiarch/ifunc-impl-list.c
b/sysdeps/x86_64/multiarch/ifunc-impl-list.c
index 15eda47667..dbd1ebf298 100644
--- a/sysdeps/x86_64/multiarch/ifunc-impl-list.c
+++ b/sysdeps/x86_64/multiarch/ifunc-impl-list.c
@@ -684,6 +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,
+                             CPU_FEATURE_USABLE (SSE4_1),
+                             __wcsnlen_sse4_1)
              IFUNC_IMPL_ADD (array, i, wcslen, 1, __wcslen_sse2))

   /* Support sysdeps/x86_64/multiarch/wcsnlen.c.  */

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Glibc-bugs mailing list