https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117486
Bug ID: 117486
Summary: [15 Regression] ICE: in vect_build_slp_tree_2, at
tree-vect-slp.cc:2027
Product: gcc
Version: 15.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: patrick at rivosinc dot com
Target Milestone: ---
Testcase:
int a;
extern int d[];
extern int b[];
extern _Bool c[];
extern char h[];
int main() {
for (int i = 0; i < -18446744073709551493ULL; i += 4)
if (h[i] || c[i]) {
a = d[i];
b[i] = d[i - 3];
}
}
Command/backtrace:
> /scratch/tc-testing/tc-compiler-fuzz-trunk/build-gcv/bin/riscv64-unknown-linux-gnu-gcc
> -I/scratch/tc-testing/compiler-fuzz-ci/csmith-build/include -fsigned-char
> -fno-strict-aliasing -fwrapv -march=rv64gcv_zvl256b -O3 red.c -o rv64gcv.out
during GIMPLE pass: vect
red.c: In function 'main':
red.c:6:5: internal compiler error: in vect_build_slp_tree_2, at
tree-vect-slp.cc:2027
6 | int main() {
| ^~~~
0x2f0de35 internal_error(char const*, ...)
../../../gcc/gcc/diagnostic-global-context.cc:518
0xc69f90 fancy_abort(char const*, int, char const*)
../../../gcc/gcc/diagnostic.cc:1696
0xb71971 vect_build_slp_tree_2
../../../gcc/gcc/tree-vect-slp.cc:2027
0x16e55eb vect_build_slp_tree
../../../gcc/gcc/tree-vect-slp.cc:1806
0x16dff17 vect_build_slp_tree_2
../../../gcc/gcc/tree-vect-slp.cc:2743
0x16e55eb vect_build_slp_tree
../../../gcc/gcc/tree-vect-slp.cc:1806
0x16dff17 vect_build_slp_tree_2
../../../gcc/gcc/tree-vect-slp.cc:2743
0x16e55eb vect_build_slp_tree
../../../gcc/gcc/tree-vect-slp.cc:1806
0x16dff17 vect_build_slp_tree_2
../../../gcc/gcc/tree-vect-slp.cc:2743
0x16e55eb vect_build_slp_tree
../../../gcc/gcc/tree-vect-slp.cc:1806
0x16e0be8 vect_build_slp_tree_2
../../../gcc/gcc/tree-vect-slp.cc:2077
0x16e55eb vect_build_slp_tree
../../../gcc/gcc/tree-vect-slp.cc:1806
0x16dff17 vect_build_slp_tree_2
../../../gcc/gcc/tree-vect-slp.cc:2743
0x16e55eb vect_build_slp_tree
../../../gcc/gcc/tree-vect-slp.cc:1806
0x16e6afb vect_build_slp_instance
../../../gcc/gcc/tree-vect-slp.cc:3851
0x16ec51c vect_analyze_slp(vec_info*, unsigned int, bool)
../../../gcc/gcc/tree-vect-slp.cc:4731
0x16b662a vect_analyze_loop_2
../../../gcc/gcc/tree-vect-loop.cc:2885
0x16b7ca3 vect_analyze_loop_1
../../../gcc/gcc/tree-vect-loop.cc:3454
0x16b8411 vect_analyze_loop(loop*, gimple*, vec_info_shared*)
../../../gcc/gcc/tree-vect-loop.cc:3614
0x1706b97 try_vectorize_loop_1
../../../gcc/gcc/tree-vectorizer.cc:1072
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.
Found via fuzzer
Tested using g4473cf8409f
Assertion triggered:
https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/tree-vect-slp.cc;h=97c362d24f8d3f483c455876edc280097385f70a;hb=HEAD#l2027
Godbolt: https://godbolt.org/z/qGKsTYP31