mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-27 03:41:23 +08:00
Add optimized str{,n}casecmp for AVX on x86-64
This commit is contained in:
parent
8f3b1ffefa
commit
d9a4d2ab27
@ -1,3 +1,11 @@
|
||||
2011-10-19 Ulrich Drepper <drepper@gmail.com>
|
||||
|
||||
* sysdeps/x86_64/multiarch/init-arch.h: Define bit_AVX and index_AVX.
|
||||
* sysdeps/x86_64/multiarch/strcmp-sse42.S: New file. Split out from...
|
||||
* sysdeps/x86_64/multiarch/strcmp.S: ...here. Include strcmp-sse42.S
|
||||
when compiling str{,n}casecmp and when AVX is available. Hook up
|
||||
new optimized code in initializers.
|
||||
|
||||
2011-10-19 Andreas Schwab <schwab@redhat.com>
|
||||
|
||||
* sysdeps/x86_64/fpu/math_private.h (libc_feupdateenv): Use
|
||||
|
8
NEWS
8
NEWS
@ -1,4 +1,4 @@
|
||||
GNU C Library NEWS -- history of user-visible changes. 2011-10-15
|
||||
GNU C Library NEWS -- history of user-visible changes. 2011-10-19
|
||||
Copyright (C) 1992-2009, 2010, 2011 Free Software Foundation, Inc.
|
||||
See the end for copying conditions.
|
||||
|
||||
@ -47,6 +47,12 @@ Version 2.15
|
||||
|
||||
* Integrate libm with gcc's -ffinite-math-only option.
|
||||
Implemented by Ulrich Drepper.
|
||||
|
||||
* Lots of generic, 64-bit, and x86-64-specific performance optimizations
|
||||
to math functions. Implemented by Ulrich Drepper.
|
||||
|
||||
* Optimized strcasecmp and strncasecmp for AVX on x86-64.
|
||||
Implemented by Ulrich Drepper.
|
||||
|
||||
Version 2.14
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* This file is part of the GNU C Library.
|
||||
Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||
Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
@ -31,11 +31,13 @@
|
||||
# define bit_SSSE3 (1 << 9)
|
||||
# define bit_SSE4_1 (1 << 19)
|
||||
# define bit_SSE4_2 (1 << 20)
|
||||
# define bit_AVX (1 << 28)
|
||||
|
||||
# define index_SSE2 COMMON_CPUID_INDEX_1*CPUID_SIZE+CPUID_EDX_OFFSET
|
||||
# define index_SSSE3 COMMON_CPUID_INDEX_1*CPUID_SIZE+CPUID_ECX_OFFSET
|
||||
# define index_SSE4_1 COMMON_CPUID_INDEX_1*CPUID_SIZE+CPUID_ECX_OFFSET
|
||||
# define index_SSE4_2 COMMON_CPUID_INDEX_1*CPUID_SIZE+CPUID_ECX_OFFSET
|
||||
# define index_AVX COMMON_CPUID_INDEX_1*CPUID_SIZE+CPUID_ECX_OFFSET
|
||||
|
||||
# define index_Fast_Rep_String FEATURE_INDEX_1*FEATURE_SIZE
|
||||
# define index_Fast_Copy_Backward FEATURE_INDEX_1*FEATURE_SIZE
|
||||
|
1836
sysdeps/x86_64/multiarch/strcmp-sse42.S
Normal file
1836
sysdeps/x86_64/multiarch/strcmp-sse42.S
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user