This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC 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 tree-optimization/77689] Missing vectorization lead to huge performance loss


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77689

--- Comment #8 from morandidodo at gmail dot com ---
(In reply to Uroš Bizjak from comment #7)
> (In reply to morandidodo from comment #6)
> 
> > However, I just made some tests, and it seems that the performance lost is
> > particularly related to std::log. If something else is being used, like
> > std::sqrt for example, the code compiled with gcc is still slower, but less.
> 
> Adding -mveclibabi=svml should vectorize calls to these functions, but you'd
> have to link with SVML vector library then.
> 
> icc is doing this by default:
> 
>   400e0f:	e8 ac 16 00 00       	callq  4024c0 <__svml_log4>
> 
> but gcc doesn't:
> 
>   40078b:	e8 00 ff ff ff       	callq  400690 <log@plt>

Actually, I tried it, but it does not seem to work. Indeed, using
-mveclibabi=svml -lsvml -I(path-to-intel-lib-dir) does not seem to change the
call address. If you have got any advice, it is appreciated ;)

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