[Bug tree-optimization/77689] Missing vectorization lead to huge performance loss

morandidodo at gmail dot com gcc-bugzilla@gcc.gnu.org
Thu Sep 22 13:55:00 GMT 2016


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 ;)


More information about the Gcc-bugs mailing list