https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71762
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|[4.9/5/6/7 Regression] |[4.9/5/6/7 Regression] |ifcombine wrong codegen |ifcombine exposes wrong |with uninitialized data |codegen with uninitialized | |bools --- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- So in this case, ifcombine can combine: if (!__cond60) { if (__cond59) { Into: (!__cond60) & __cond59 Yes the rhs will be unitialized but if __cond60 is true but that should not cause wrong code. There is something else going wrong here than my patch.