https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96451
Bug ID: 96451
Summary: [11 Regression] gcc.dg/pr68766.c ICE since r11-2453
Product: gcc
Version: 11.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: jakub at gcc dot gnu.org
Target Milestone: ---
Since r11-2453-gc89366b12ff4f36253bae125b794cbe687f7e40b the pr68766.c testcase
ICEs on x86_64-linux, with:
./cc1 -quiet -O2 -ftree-vectorize -fdbg-cnt=vect_loop:1 -mavx2 pr68766.c
***dbgcnt: lower limit 1 reached for vect_loop.***
during RTL pass: expand
pr68766.c: In function ‘fn1’:
pr68766.c:12:12: internal compiler error: in maybe_gen_insn, at optabs.c:7316
12 | c[g] = b;
| ~~~~~^~~
0x10badc9 maybe_gen_insn(insn_code, unsigned int, expand_operand*)
../../gcc/optabs.c:7316
0x10bb219 maybe_expand_insn(insn_code, unsigned int, expand_operand*)
../../gcc/optabs.c:7360
0x10bb2ad expand_insn(insn_code, unsigned int, expand_operand*)
../../gcc/optabs.c:7391
0xeb3cdf expand_partial_store_optab_fn
../../gcc/internal-fn.c:2570
0xeb854f expand_MASK_STORE
../../gcc/internal-fn.def:138
Seems a scalar MASK_STORE ifn ends up in the IL even when the backend doesn't
have any scalar masked store optabs, only vector ones.