https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58517
--- Comment #9 from Andrew Pinski <pinskia at gcc dot gnu.org> --- The reason why r6-3654-g6b7e867187889 didn't fix this case is because it was not looking into clobbers only the set side. Note the conditional in my patch should have been if (reg_overlap_mentioned_p (DF_REF_REG (def), cond)) Maybe it should be bb_valid_for_noce_process_p instead, I am not 100% sure on that.