[PATCH] Don't use SSE4_2 instructions on Intel Silvermont Micro Architecture.
Dmitrieva Liubov
liubov.dmitrieva@gmail.com
Fri Jun 21 12:59:00 GMT 2013
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: benchtests_after.tar.gz
Type: application/x-gzip
Size: 324300 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20130621/e1da2461/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: benchtests_before.tar.gz
Type: application/x-gzip
Size: 321686 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20130621/e1da2461/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: silvermont.patch
Type: application/octet-stream
Size: 4944 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20130621/e1da2461/attachment.obj>
More information about the Libc-alpha
mailing list