Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
Amit Pawar authored and H.J. Lu committed Jan 14, 2016
1 parent a4b5177 commit d7890e6
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 0 deletions.
6 changes: 6 additions & 0 deletions ChangeLog
@@ -1,3 +1,9 @@
2016-01-14 Amit Pawar <amit.pawar@amd.com>

[BZ #19467]
* sysdeps/x86/cpu-features.c (init_cpu_features): Set
index_Fast_Unaligned_Load flag for Excavator family CPUs.

2016-01-02 Marcin Kościelnicki <koriakin@0x04.net>

* sysdeps/s390/nptl/tls.h (struct tcbhead_t): Add __private_ss field.
Expand Down
8 changes: 8 additions & 0 deletions sysdeps/x86/cpu-features.c
Expand Up @@ -154,6 +154,14 @@ init_cpu_features (struct cpu_features *cpu_features)
cpu_features->cpuid[COMMON_CPUID_INDEX_80000001].ebx,
cpu_features->cpuid[COMMON_CPUID_INDEX_80000001].ecx,
cpu_features->cpuid[COMMON_CPUID_INDEX_80000001].edx);

if (family == 0x15)
{
/* "Excavator" */
if (model >= 0x60 && model <= 0x7f)
cpu_features->feature[index_Fast_Unaligned_Load]
|= bit_Fast_Unaligned_Load;
}
}
else
kind = arch_kind_other;
Expand Down

0 comments on commit d7890e6

Please sign in to comment.