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

[Bug math/20495] x86_64 performance degradation due to AVX/SSE transition penalty


https://sourceware.org/bugzilla/show_bug.cgi?id=20495

--- Comment #11 from Andrew Senkevich <andrew.n.senkevich at gmail dot com> ---
(In reply to Adam Stylinski from comment #10)
> Created attachment 9476 [details]
> attachment-83016-0.html
> 
> Interesting, I will have to try that link flag. What is the reason for that
> working? Everything I can find about that flag is for hardening binaries to
> prevent others from writing into the global offset table.
> 
> On Aug 25, 2016 4:03 PM, "andrew.n.senkevich at gmail dot com" <
> sourceware-bugzilla@sourceware.org> wrote:
> >
> > https://sourceware.org/bugzilla/show_bug.cgi?id=20495
> >
> > --- Comment #8 from Andrew Senkevich <andrew.n.senkevich at gmail dot
> com> ---
> > (In reply to Adam Stylinski from comment #2)
> > > Created attachment 9469 [details]
> > > Slower AVX example
> > >
> > > Compile this with -mavx & then compile it with -msse4.  The -msse4
> version
> > > will be faster as it's not hitting the SSE to AVX register transition
> > > penalty.
> >
> > You can avoid slowdown also using "-Wl,-z,now".
> >
> > --
> > You are receiving this mail because:
> > You reported the bug.

Current issue because of AVX in _dl_runtime_resolve() during the first call of
SSE sinf().

From man ld:
-z now 
When generating an executable or shared library, mark it to tell the dynamic
linker to resolve all symbols when the program is started, or when the shared
library is linked to using dlopen, instead of deferring function call
resolution to the point when the function is first called.

So it may help or may not.
Helps for reduced but not for original test.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

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