http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52975
Richard Guenther <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED Keywords| |missed-optimization Last reconfirmed| |2012-04-13 Component|rtl-optimization |tree-optimization AssignedTo|unassigned at gcc dot |rguenth at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1 --- Comment #1 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-04-13 14:05:12 UTC --- Yes, I noticed this. For scalar code we can handle the mess caused by if-conversion in RTL optimization, for vectorized code we cannot. I have a patch that fixes it for -O3 at least - for -Ofast we run foul of if-conversion changing the conditions from < 0.0 to >= 0.0 on the else branch. I'll think about the best way of dealing with that.