https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99863
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- diff --git a/gcc/gimplify.c b/gcc/gimplify.c index 6da66985ad6..1f417a52702 100644 --- a/gcc/gimplify.c +++ b/gcc/gimplify.c @@ -5231,6 +5231,7 @@ gimplify_init_constructor (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p, TREE_TYPE (ce->value))) TREE_STATIC (ctor) = 0; } + recompute_constructor_flags (ctor); if (!is_gimple_reg (TREE_OPERAND (*expr_p, 0))) TREE_OPERAND (*expr_p, 1) = get_formal_tmp_var (ctor, pre_p); } simplifies the IL (vector lowering was supposed to simplify the element extraction but GENERIC match.pd folding is confused about TREE_SIDE_EFFECTS on the vector CTOR). It still nicely triggers the bug though.