https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78295
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- The late uninit pass warns about ;; 2 loops found f (double x) { int i; vectype t; <bb 2>: t_16 = BIT_INSERT_EXPR <t_12(D), x_6(D), 0 (64 bits)>; t_2 = BIT_INSERT_EXPR <t_16, x_6(D), 64 (64 bits)>; return t_2; } where the first statement constitutes a partial initialization of the previously completely uninitialized t_12(D). In BIT_INSERT_EXPR the first argument is a "destination" and thus should not constitute a use by late uninit.