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] Fix rawmemchr regression on bulldozer


On 08/05/2013 02:26 PM, OndÅej BÃlka wrote:
> Hi,
> 
> We now have a huge performance regression of rawmemchr on bulldozer.
> We select __rawmemchr_sse42 which is about five times slower than
> alternative __rawmemchr_sse2. Our benchtests can capture asymptotic
> speed relatively well and their output on AMD FX(tm)-8150 is below. 
> 
> 
> On intel a gap between __rawmemchr_sse42 and __rawmemchr_sse2 is similar
> but a bit_Prefer_PMINUB_for_stringop flag selects __rawmemchr_sse2.
> 
> After this a  bit_Prefer_PMINUB_for_stringop will no longer be needed
> and can be removed by separate cleanup.
> 
> OK to commit?
> 
>                       simple_rawmemchr  __rawmemchr_sse42 __rawmemchr_sse2
> Length   32, alignment  0:  264 108 75
> Length   64, alignment  1:  431 193 95
> Length   32, alignment  0:  254 138 62
> Length   64, alignment  1:  431 193 69
> Length   64, alignment  0:  419 193 85
> Length   64, alignment  2:  419 177 77
> Length   64, alignment  0:  419 177 85
> Length   64, alignment  2:  419 164 69
> Length  128, alignment  0:  748 298 93
> Length   64, alignment  3:  419 164 92
> Length  128, alignment  0:  751 298 118
> Length   64, alignment  3:  422 180 59
> Length  256, alignment  0:  1407  628 131
> Length   64, alignment  4:  419 192 72
> Length  256, alignment  0:  1409  642 131
> Length   64, alignment  4:  422 192 56
> Length  512, alignment  0:  2723  1111  183
> Length   64, alignment  5:  419 193 59
> Length  512, alignment  0:  2725  1111  190
> Length   64, alignment  5:  422 193 84
> Length 1024, alignment  0:  5356  2026  417
> Length   64, alignment  6:  419 192 84
> Length 1024, alignment  0:  5359  2026  388
> 
> 
> 
> 	* sysdeps/x86_64/multiarch/rawmemchr.S: Delete.

This needs changes in ./sysdeps/x86_64/multiarch/ifunc-impl-list.c as well.

Dmitrieva, could you comment on this patch, please?

Andreas
-- 
 Andreas Jaeger aj@{suse.com,opensuse.org} Twitter/Identica: jaegerandi
  SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 NÃrnberg, Germany
   GF: Jeff Hawn,Jennifer Guild,Felix ImendÃrffer,HRB16746 (AG NÃrnberg)
    GPG fingerprint = 93A3 365E CE47 B889 DF7F  FED1 389A 563C C272 A126


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