https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91623
Marc Glisse <glisse at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |ice-on-valid-code Status|UNCONFIRMED |NEW Last reconfirmed| |2019-08-31 Component|c |middle-end Ever confirmed|0 |1 --- Comment #1 from Marc Glisse <glisse at gcc dot gnu.org> --- typedef long long b __attribute__((__vector_size__(16))); b e, h; int d; const int i; void m(); void j(int k, int l) { if (d && 0 <= k - 1 && l) m(); } void p() { b n = (b){1}; b g = (b){}; b o = g; for (int f=0; f < i; ++f) { b a = o == n; h = a; j(f, i); o = e; } } Program received signal SIGSEGV, Segmentation fault. 0x0000000000c0f5f8 in expand_expr_real_1 (exp=<ssa_name 0x7ffff75c8360>, target=0x7ffff75da960, tmode=E_V2DImode, modifier=EXPAND_NORMAL, alt_rtl=0x7fffffffd3f0, inner_reference_p=false) at /home/glisse/repos/gcc/trunk/gcc/expr.c:9961 9961 if (REG_P (r) && !REG_EXPR (r)) (gdb) bt #0 0x0000000000c0f5f8 in expand_expr_real_1 (exp=<ssa_name 0x7ffff75c8360>, target=0x7ffff75da960, tmode=E_V2DImode, modifier=EXPAND_NORMAL, alt_rtl=0x7fffffffd3f0, inner_reference_p=false) at /home/glisse/repos/gcc/trunk/gcc/expr.c:9961 #1 0x0000000000c07d19 in expand_expr_real (exp=<ssa_name 0x7ffff75c8360>, target=0x7ffff75da960, tmode=E_V2DImode, modifier=EXPAND_NORMAL, alt_rtl=0x7fffffffd3f0, inner_reference_p=false) at /home/glisse/repos/gcc/trunk/gcc/expr.c:8280 #2 0x0000000000bfd2ae in store_expr (exp=<ssa_name 0x7ffff75c8360>, target=0x7ffff75da960, call_param_p=0, nontemporal=false, reverse=false) at /home/glisse/repos/gcc/trunk/gcc/expr.c:5679 #3 0x0000000000bfb68f in expand_assignment (to=<var_decl 0x7ffff7fd0b40 h>, from=<ssa_name 0x7ffff75c8360>, nontemporal=false) at /home/glisse/repos/gcc/trunk/gcc/expr.c:5441 #4 0x0000000000a4bd8d in expand_gimple_stmt_1 (stmt=<gimple_assign 0x7ffff75d4d20>) at /home/glisse/repos/gcc/trunk/gcc/cfgexpand.c:3777 Seems to happen for the statement a_6 = VEC_COND_EXPR <{ 0, -1 }, { -1, -1 }, { 0, 0 }>; which was created by DOM3 (missed constant folding?).