This is the mail archive of the libc-alpha@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]

Re: [PATCH] Don't use SSE4_2 instructions on Intel Silvermont Micro Architecture.


On Wed, Jun 19, 2013 at 12:44 PM, Dmitrieva Liubov
<liubov.dmitrieva@gmail.com> wrote:
> My patch is ready. Ok to commit?
>
> Change Log.
>
> 2013-06-19  Liubov Dmitrieva  <liubov.dmitrieva@intel.com>
>
> * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features):
> Set bit_Slow_SSE4_2 for Intel Silvermont architecture.
> Set bit_Prefer_PMINUB_for_stringop for Intel Silvermont.
> * sysdeps/x86_64/multiarch/init-arch.h: Define
> bit_Slow_SSE4_2 and index_Slow_SSE4_2.
> Define index_Prefer_PMINUB_for_stringop which was undefined.
> * sysdeps/x86_64/multiarch/strchr.S: Use SSE2 version if
> bit_Slow_SSE4_2 is on.
> * sysdeps/x86_64/multiarch/strrchr.S: Use SSE2 version if
> bit_Slow_SSE4_2 is on.
> * sysdeps/x86_64/multiarch/strcmp.S: Use SSSE3 or SSE2 version if
> bit_Slow_SSE4_2 is on.
>
>

Your change ignores bit_Slow_BSF when bit_Slow_SSE4_2
is set in strchr.S and strrchr.S. You should always check
bit_Slow_SSE4_2 before bit_SSE4_2.  If bit_Slow_SSE4_2
is set, you should skip bit_SSE4_2 and move to next.

--
H.J.


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