http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53395
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> 2012-05-18 16:03:46 UTC --- This should fix tree-if-conv.c: Index: tree-if-conv.c =================================================================== --- tree-if-conv.c (revision 187647) +++ tree-if-conv.c (working copy) @@ -1313,8 +1313,8 @@ predicate_scalar_phi (gimple phi, tree c || bb_postdominates_preds (bb)); /* Build new RHS using selected condition and arguments. */ - rhs = build3 (COND_EXPR, TREE_TYPE (res), - unshare_expr (cond), arg_0, arg_1); + rhs = fold_build3 (COND_EXPR, TREE_TYPE (res), + unshare_expr (cond), arg_0, arg_1); } new_stmt = gimple_build_assign (res, rhs);