From: Amit Pawar Date: Thu, 14 Jan 2016 14:36:02 +0000 (+0530) Subject: Set index_Fast_Unaligned_Load for Excavator family CPUs X-Git-Tag: glibc-2.23~60 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d7890e6947114785755ae5b1cf5310491092ee0b;p=thirdparty%2Fglibc.git 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. --- diff --git a/ChangeLog b/ChangeLog index 424f7312c51..054998fd428 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2016-01-14 Amit Pawar + + [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 * sysdeps/s390/nptl/tls.h (struct tcbhead_t): Add __private_ss field. diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c index e6bd4c909f5..218ff2bd86b 100644 --- a/sysdeps/x86/cpu-features.c +++ b/sysdeps/x86/cpu-features.c @@ -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;