[Bug target/56309] conditional moves instead of compare and branch result in almost 2x slower code
ubizjak at gmail dot com
gcc-bugzilla@gcc.gnu.org
Sun Feb 17 08:35:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56309
Uros Bizjak <ubizjak at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|-O3 optimizer generates |conditional moves instead
|conditional moves instead |of compare and branch
|of compare and branch |result in almost 2x slower
|resulting in almost 2x |code
|slower code |
--- Comment #25 from Uros Bizjak <ubizjak at gmail dot com> 2013-02-17 08:35:17 UTC ---
(In reply to comment #21)
> (In reply to comment #18)
> But in this case we are giving up vectorization for some cases, aren't we?
Yes, and please note that vectorized conditional move doesn't result in a cmov
instruction, but in a sequence of sse logic isns. So, as far as x86 targets are
concerned, this bug has nothing to do with a vectorizer.
Maybe we should decompose scalar cmoves into the same sequence?
More information about the Gcc-bugs
mailing list