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.


I fixed the patch like H.J. suggested and attached results of micro
benchmarks you requested.

The functions which were impacted are rawmemchr, strchr, strrchr,
strcmp, strcasecmp, strncmp, strncasecmp.
I see just some small regressions on small lengths but huge gains on
big lengths.

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.


--
Liubov


On Fri, Jun 21, 2013 at 6:35 AM, Siddhesh Poyarekar
<siddhesh.poyarekar@gmail.com> wrote:
> On 21 June 2013 06:54, OndÅej BÃlka <neleai@seznam.cz> wrote:
>> Already tried and will not make same mistake again.
>
> Seriously?  All you've tried to do is *remove* existing benchmarks
> instead of posting patches to make them better.  When the idea of
> removing them was rejected you decided that it was easier to either
> talk about how crappy the current tests are or point everyone who is
> working on string functions to use the benchmarks you maintain outside
> of glibc, without making any real effort to port them or the ideas
> into the glibc benchmark framework.
>
> I won't call any of that trying, especially when I stepped back for a
> significant amount of time to allow you to enhance the string
> benchmarks before I moved them into the benchmark framework.
>
> Siddhesh
> --
> http://siddhesh.in

Attachment: benchtests_after.tar.gz
Description: GNU Zip compressed data

Attachment: benchtests_before.tar.gz
Description: GNU Zip compressed data

Attachment: silvermont.patch
Description: Binary data


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