https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108582
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- This should fix the issue: apinski@xeond:~/src/upstream-gcc/gcc/gcc$ git diff tree-ssa-phiopt.cc diff --git a/gcc/tree-ssa-phiopt.cc b/gcc/tree-ssa-phiopt.cc index c3a889dc593..a7ab6ce4ad9 100644 --- a/gcc/tree-ssa-phiopt.cc +++ b/gcc/tree-ssa-phiopt.cc @@ -1002,6 +1002,11 @@ match_simplify_replacement (basic_block cond_bb, basic_block middle_bb, if (!single_pred_p (middle_bb)) return false; + /* The middle bb cannot have phi nodes as we don't + move those assignments yet. */ + if (!gimple_seq_empty_p (phi_nodes (middle_bb))) + return false; + stmt_to_move = last_and_only_stmt (middle_bb); if (!stmt_to_move) return false;