https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114299
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2024-03-11 Status|UNCONFIRMED |ASSIGNED Ever confirmed|0 |1 Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed. We gimplify D.2427 = VIEW_CONVERT_EXPR<W>( VEC_PERM_EXPR < {v, { 0.0, 0.0, 0.0, 0.0 }} , {TARGET_EXPR <D.2425, <<< error >>>>, { 0.0, 0.0, 0.0, 0.0 }} , { 1, 2, 9, 0, 1, 10, 10, 8 } > ) and as we gimplify_init_constructor we bail out leaving the half gimplified expression as _3 = {TARGET_EXPR <D.2425, >, { 0.0, 0.0, 0.0, 0.0 }} but up gimplify_stmt will not propagate the error further, in particular the important caller internal_get_tmp_var has allocated the destination SSA name but we failed to gimplify it's defintion. I have a workaround.