http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52424
--- Comment #9 from William J. Schmidt <wschmidt at gcc dot gnu.org> 2012-02-29 22:19:03 UTC --- (In reply to comment #8) > I think this is related to PR 45685. On the surface this looked like a good possibility. However, I just tried compiling the code from that PR on powerpc64 with this patch applied (-O3 -S -mcpu=power7 -misel) and summation_helper_1 is still generating an extra branch while summation_helper_2 produces a conditional move. The only difference in the tree-optimized dumps between the two involve cond_exprs whose operands appear in reverse order, and some of the -1's are (unsigned)(-1) instead (i.e., 4294967295). This appears to be enough for ifcvt to miss the opportunity.