[cfe-dev] Branches &,&&

Fisnik Kastrati kastrati at informatik.uni-mannheim.de
Thu Jun 11 06:06:59 PDT 2015

I'm turning to you with regards to an unwanted 
optimization/un-optimization that clang++ (all versions that I tested, 
in the following link) is generating, see the code in the following link:

http://goo.gl/oiTPX5  <http://goo.gl/3NVjyc>

The assembly code generated for both methods "amp", "ampamp" is the 
practically the same, when using the optimization flag "-O3". However, 
I'm interested to have a single jump for the code in the method "amp", 
as branch misprediction penalty is very high otherwise. It should 
generate a single jump, when using single ampersand (&), something that 
icc13 is already doing (try it in the link above).

Is there any optimization flag that I should set, in order to avoid this 
feature when using "-O3"?

I made a similar question to the g++ community, however this seems to be a bug (performance bug) with g++.

Thank you in advance

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20150611/3ac60d5e/attachment.html>

More information about the cfe-dev mailing list