https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114196
Bug ID: 114196
Summary: [13/14 Regression] Fixed length vector ICE: in
vect_peel_nonlinear_iv_init, at tree-vect-loop.cc:9454
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: patrick at rivosinc dot com
Target Milestone: ---
Created attachment 57589
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57589&action=edit
-freport-bug output
Testcase:
unsigned a;
int b;
long *c;
int main() {
for (short d = 1; d < (short)5443215699099219 - 15932; d += 94 - 90) {
b = ({
__typeof__(0) e = c[d];
e;
})
?: -c[d];
a *= 3;
}
}
Backtrace:
> /scratch/tc-testing/tc-feb-20/build-rv64gcv/bin/riscv64-unknown-linux-gnu-gcc
> -march=rv64gcv_zvl256b -O3 --param=riscv-autovec-preference=fixed-vlmax red.c
> -o red.out
during GIMPLE pass: vect
./red.c: In function 'main':
./red.c:4:5: internal compiler error: in vect_peel_nonlinear_iv_init, at
tree-vect-loop.cc:9454
4 | int main() {
| ^~~~
0xb04d35 vect_peel_nonlinear_iv_init(gimple**, tree_node*, tree_node*,
tree_node*, vect_induction_op_type)
../../../gcc/gcc/tree-vect-loop.cc:9454
0x15e6c54 vect_update_ivs_after_vectorizer
../../../gcc/gcc/tree-vect-loop-manip.cc:2368
0x15f3ca7 vect_do_peeling(_loop_vec_info*, tree_node*, tree_node*, tree_node**,
tree_node**, tree_node**, int, bool, bool, tree_node**)
../../../gcc/gcc/tree-vect-loop-manip.cc:3501
0x15e198e vect_transform_loop(_loop_vec_info*, gimple*)
../../../gcc/gcc/tree-vect-loop.cc:11934
0x1627a01 vect_transform_loops
../../../gcc/gcc/tree-vectorizer.cc:1006
0x1628173 try_vectorize_loop_1
../../../gcc/gcc/tree-vectorizer.cc:1152
0x1628173 try_vectorize_loop
../../../gcc/gcc/tree-vectorizer.cc:1182
0x16287fc execute
../../../gcc/gcc/tree-vectorizer.cc:1298
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.
Godbolt: https://godbolt.org/z/eeEan1hvv
Tested/found using r14-9084-g61ab046a327 (not bisected)
Found via fuzzer.