This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug string/21572] New: __strcmp_sse42 is never used


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

            Bug ID: 21572
           Summary: __strcmp_sse42 is never used
           Product: glibc
           Version: 2.26
            Status: NEW
          Severity: normal
          Priority: P2
         Component: string
          Assignee: unassigned at sourceware dot org
          Reporter: hjl.tools at gmail dot com
  Target Milestone: ---
            Target: x86-64
             Flags: security-

sysdeps/x86_64/multiarch/strcmp.S has

ENTRY(STRCMP)
        .type   STRCMP, @gnu_indirect_function
        LOAD_RTLD_GLOBAL_RO_RDX
#ifdef USE_AS_STRCMP
        leaq    __strcmp_sse2_unaligned(%rip), %rax
        HAS_ARCH_FEATURE (Fast_Unaligned_Load)
        jnz     3f
#else
        HAS_ARCH_FEATURE (Slow_SSE4_2)
        jnz     2f  
        leaq    STRCMP_SSE42(%rip), %rax
        HAS_CPU_FEATURE (SSE4_2)
        jnz     3f  
#endif
2:      leaq    STRCMP_SSSE3(%rip), %rax
        HAS_CPU_FEATURE (SSSE3)
        jnz     3f  
        leaq    STRCMP_SSE2(%rip), %rax
3:      ret 
END(STRCMP)

When USE_AS_STRCMP is defined for strcmp, STRCMP_SSE42 isn't used:

0000000000000000 <strcmp>:
       0:       48 8d 05 00 00 00 00    lea    0x0(%rip),%rax        # 7
<strcmp+0x7>   3: R_X86_64_PC32        __strcmp_sse2_unaligned-0x4
       7:       f7 05 00 00 00 00 10 00 00 00   testl  $0x10,0x0(%rip)        #
11 <strcmp+0x11>        9: R_X86_64_PC32        _dl_x86_cpu_features+0x38
      11:       75 1a                   jne    2d <strcmp+0x2d>
      13:       48 8d 05 00 00 00 00    lea    0x0(%rip),%rax        # 1a
<strcmp+0x1a> 16: R_X86_64_PC32       __strcmp_ssse3-0x4
      1a:       f7 05 00 00 00 00 00 02 00 00   testl  $0x200,0x0(%rip)       
# 24 <strcmp+0x24>       1c: R_X86_64_PC32       _dl_x86_cpu_features+0x8
      24:       75 07                   jne    2d <strcmp+0x2d>
      26:       48 8d 05 00 00 00 00    lea    0x0(%rip),%rax        # 2d
<strcmp+0x2d> 29: R_X86_64_PC32       __strcmp_sse2-0x4
      2d:       c3                      retq

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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]