https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69726
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- Ok, so forwprop fixes things up but nothing removes dead code before uninit and it is confused by vect__ifc__525.36_152 = MEM[(int *)&temp + 224B]; vect__ifc__523.38_154 = VEC_COND_EXPR <vect__129.30_149 == { 0, 0, 0, 0 }, vect__130.33_150, vect__ifc__525.36_152>; where only _154 is dead. That's forwprop not cleaning up after itself (it is not expected to do that).