Bug 19467 - Fast_Unaligned_Load needs to be enabled for Excavator core CPU's.
Summary: Fast_Unaligned_Load needs to be enabled for Excavator core CPU's.
Status: RESOLVED FIXED
Alias: None
Product: glibc
Classification: Unclassified
Component: string (show other bugs)
Version: 2.23
: P2 enhancement
Target Milestone: 2.23
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-01-14 09:13 UTC by Amit Pawar
Modified: 2016-01-15 22:29 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:
fweimer: security-


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Amit Pawar 2016-01-14 09:13:44 UTC
AMD Excavator core CPU do support ARCH feature Fast_Unaligned_Load.

Performance of SSE2_Unaligned version implementations are better compare to other implementations for string routines strcmp, strcat, strncat, stpcpy, stpncpy, strcpy, strncpy and strstr. The following tables describes the required change vs current selection made through IFUNC.

------------------------------------------------------------------------
String Routines         | Selected CPU Feature | Required ARCH Feature  |
                        |                      | to be selected         |
------------------------------------------------------------------------|
strcmp                  | SSSE3                | Fast_Unaligned_Load    |
strcat                  | SSSE3                | Fast_Unaligned_Load    |
strncat                 | SSSE3                | Fast_Unaligned_Load    |
stpcpy                  | SSSE3                | Fast_Unaligned_Load    |
stpncpy                 | SSSE3                | Fast_Unaligned_Load    |
strcpy                  | SSSE3                | Fast_Unaligned_Load    |
strncpy                 | SSSE3                | Fast_Unaligned_Load    |
strstr                  | SSSE3                | Fast_Unaligned_Load    |
------------------------------------------------------------------------
Comment 1 Sourceware Commits 2016-01-14 16:17:32 UTC
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  d7890e6947114785755ae5b1cf5310491092ee0b (commit)
      from  a4b5177ca83ca97c562a7138923dafe0cb92d1a0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=d7890e6947114785755ae5b1cf5310491092ee0b

commit d7890e6947114785755ae5b1cf5310491092ee0b
Author: Amit Pawar <Amit.Pawar@amd.com>
Date:   Thu Jan 14 20:06:02 2016 +0530

    Set index_Fast_Unaligned_Load for Excavator family CPUs
    
    GLIBC benchtest testcases shows SSE2_Unaligned based implementations
    are performing faster compare to SSE2 based implementations for
    routines: strcmp, strcat, strncat, stpcpy, stpncpy, strcpy, strncpy
    and strstr. Flag index_Fast_Unaligned_Load is set for Excavator family
    0x15h CPU's. This makes SSE2_Unaligned based implementations as
    default for these routines.
    
    	[BZ #19467]
    	* sysdeps/x86/cpu-features.c (init_cpu_features): Set
    	index_Fast_Unaligned_Load flag for Excavator family CPUs.

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                  |    6 ++++++
 sysdeps/x86/cpu-features.c |    8 ++++++++
 2 files changed, 14 insertions(+), 0 deletions(-)
Comment 2 Adhemerval Zanella 2016-01-14 16:44:46 UTC
Fixed by d7890e6947114785755ae5b1cf5310491092ee0b.