http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46008
--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> 2010-10-13 16:19:27 UTC --- Created attachment 22031 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22031 gcc46-pr46008.patch The ifcvt fix (untested). Still the vectorizer gives up, because the floating point comparison is first computed into a _Bool/bool variable which is then (with a single immediate use) immediately used in the following COND_EXPR.