https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127105
Bug ID: 127105
Summary: [17 Regression] ICE Segmentation fault in
vect_analyze_slp_reduc_chain since r17-2737
Product: gcc
Version: 17.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: mjires at gcc dot gnu.org
CC: rguenther at suse dot de
Target Milestone: ---
Compiling reduced testcase gcc.dg/vect/vect-pr123221.c results in ICE since
r17-2737-g3cd23c9fd60854.
$ cat vect-pr123221.c
int a;
char c_0;
void main() {
int f;
for (int d = 0; d < 3; d++) {
f = a ? c_0 : 0;
c_0 = f;
}
}
$ riscv64-linux-gnu-gcc vect-pr123221.c -fno-tree-pre -O3
during GIMPLE pass: vect
vect-pr123221.c: In function ‘main’:
vect-pr123221.c:3:6: internal compiler error: Segmentation fault
3 | void main() {
| ^~~~
0x35fc74b internal_error(char const*, ...)
/home/mjires/git/GCC/master/gcc/diagnostic-global-context.cc:787
0x15bda77 crash_signal
/home/mjires/git/GCC/master/gcc/toplev.cc:325
0x198c414 vec<_stmt_vec_info*, va_heap, vl_embed>::operator[](unsigned int)
/home/mjires/git/GCC/master/gcc/vec.h:911
0x198c414 vec<_stmt_vec_info*, va_heap, vl_ptr>::operator[](unsigned int)
/home/mjires/git/GCC/master/gcc/vec.h:1610
0x198c414 vect_analyze_slp_reduc_chain
/home/mjires/git/GCC/master/gcc/tree-vect-slp.cc:4367
0x198e0fb vect_analyze_slp_reduction
/home/mjires/git/GCC/master/gcc/tree-vect-slp.cc:4753
0x198e80d vect_analyze_slp_reductions
/home/mjires/git/GCC/master/gcc/tree-vect-slp.cc:4997
0x199567c vect_analyze_slp(vec_info*, unsigned int, bool)
/home/mjires/git/GCC/master/gcc/tree-vect-slp.cc:5873
0x1949752 vect_analyze_loop_2
/home/mjires/git/GCC/master/gcc/tree-vect-loop.cc:2288
0x1949984 vect_analyze_loop_1
/home/mjires/git/GCC/master/gcc/tree-vect-loop.cc:2821
0x194a2a8 vect_analyze_loop(loop*, gimple*, vec_info_shared*)
/home/mjires/git/GCC/master/gcc/tree-vect-loop.cc:3002
0x19b281c try_vectorize_loop_1
/home/mjires/git/GCC/master/gcc/tree-vectorizer.cc:1099
0x19b281c try_vectorize_loop
/home/mjires/git/GCC/master/gcc/tree-vectorizer.cc:1218
0x19b2e31 execute
/home/mjires/git/GCC/master/gcc/tree-vectorizer.cc:1335
/home/mjires/built/master-riscv64-linux-gnu/libexec/gcc/riscv64-linux-gnu/17.0.0/cc1
-quiet -imultilib . vect-pr123221.c -quiet -dumpdir a- -dumpbase
vect-pr123221.c -dumpbase-ext .c
-march=rv64imafdc_zicsr_zifencei_zmmul_zaamo_zalrsc_zca_zcd -mabi=lp64d
-misa-spec=20191213 -mtls-dialect=trad
-march=rv64imafdc_zicsr_zifencei_zmmul_zca_zcd -O3 -fno-tree-pre -o
/tmp/ccGV2MTX.s
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.
$ riscv64-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=riscv64-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/home/mjires/built/master-riscv64-linux-gnu/libexec/gcc/riscv64-linux-gnu/17.0.0/lto-wrapper
Target: riscv64-linux-gnu
Configured with: /home/mjires/git/GCC/master/configure
--prefix=/home/mjires/built/master-riscv64-linux-gnu --target=riscv64-linux-gnu
--disable-bootstrap --enable-languages=c,c++,fortran --disable-multilib
--enable-checking : (reconfigured) /home/mjires/git/GCC/master/configure
--prefix=/home/mjires/built/master-riscv64-linux-gnu --target=riscv64-linux-gnu
--disable-bootstrap --disable-multilib --enable-checking
target_alias=riscv64-linux-gnu --enable-languages=c,c++,fortran,lto --no-create
--no-recursion
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 17.0.0 20260827 (experimental) (GCC)