https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108316
Bug ID: 108316
Summary: [13 Regression] ICE in maybe_gen_insn via
expand_SCATTER_STORE when vectorizing for SVE
Product: gcc
Version: 13.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: acoplan at gcc dot gnu.org
Target Milestone: ---
The following appears to be a regression on the trunk:
$ cat t.cc
extern bool a[];
short i;
void f(int b[][3][2]) {
for (; i; i += 4)
a[i] = b[0][i] != 0;
}
$ aarch64-none-elf-gcc -c t.cc -march=armv9-a -O2 -fvect-cost-model=unlimited
during RTL pass: expand
t.cc: In function 'void f(int (*)[3][2])':
t.cc:3:6: internal compiler error: in maybe_gen_insn, at optabs.cc:8059
3 | void f(int b[][3][2]) {
| ^
0x105f613 maybe_gen_insn(insn_code, unsigned int, expand_operand*)
/home/alecop01/toolchain/src/gcc/gcc/optabs.cc:8059
0x105f80e maybe_expand_insn(insn_code, unsigned int, expand_operand*)
/home/alecop01/toolchain/src/gcc/gcc/optabs.cc:8105
0x105ed93 expand_insn(insn_code, unsigned int, expand_operand*)
/home/alecop01/toolchain/src/gcc/gcc/optabs.cc:8136
0xead67a expand_scatter_store_optab_fn
/home/alecop01/toolchain/src/gcc/gcc/internal-fn.cc:3430
0xead8dd expand_SCATTER_STORE
/home/alecop01/toolchain/src/gcc/gcc/internal-fn.def:137
0xeaddd2 expand_internal_call(internal_fn, gcall*)
/home/alecop01/toolchain/src/gcc/gcc/internal-fn.cc:4436
0xeaddec expand_internal_call(gcall*)
/home/alecop01/toolchain/src/gcc/gcc/internal-fn.cc:4444
0xbffbdc expand_call_stmt
/home/alecop01/toolchain/src/gcc/gcc/cfgexpand.cc:2737
0xbffbdc expand_gimple_stmt_1
/home/alecop01/toolchain/src/gcc/gcc/cfgexpand.cc:3880
0xbffbdc expand_gimple_stmt
/home/alecop01/toolchain/src/gcc/gcc/cfgexpand.cc:4044
0xc0916f expand_gimple_basic_block
/home/alecop01/toolchain/src/gcc/gcc/cfgexpand.cc:6096
0xc0a9b9 execute
/home/alecop01/toolchain/src/gcc/gcc/cfgexpand.cc:6822
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.