https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123756
Bug ID: 123756
Summary: [16 Regression] gcc.dg/vect/pr108608.c ICEs in
vect_transform_reduction with -march=armv9-a
-ftree-vectorize -fno-vect-cost-model -O2 on aarch64
Product: gcc
Version: 16.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: pinskia at gcc dot gnu.org
Target Milestone: ---
Target: aarch64
Created attachment 63452
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=63452&action=edit
testcase
```
during GIMPLE pass: vect
dump file: ./pr108608.c.188t.vect
/home/apinski/src/upstream-cross-aarch64/gcc/gcc/testsuite/gcc.dg/vect/pr108608.c:
In function 'foo':
/home/apinski/src/upstream-cross-aarch64/gcc/gcc/testsuite/gcc.dg/vect/pr108608.c:4:1:
internal compiler error: in vect_transform_reduction, at tree-vect-loop.cc:8237
0x379161c internal_error(char const*, ...)
../../gcc/diagnostic-global-context.cc:787
0x379fe7d fancy_abort(char const*, int, char const*)
../../gcc/diagnostics/context.cc:1812
0x1e51f8e vect_transform_reduction(_loop_vec_info*, _stmt_vec_info*,
gimple_stmt_iterator*, _slp_tree*)
../../gcc/tree-vect-loop.cc:8237
0x1e2a9b9 vect_transform_stmt(vec_info*, _stmt_vec_info*,
gimple_stmt_iterator*, _slp_tree*, _slp_instance*)
../../gcc/tree-vect-stmts.cc:13389
0x1ea1381 vect_schedule_slp_node
../../gcc/tree-vect-slp.cc:12098
0x1ea2594 vect_schedule_scc
../../gcc/tree-vect-slp.cc:12399
0x1ea2bde vect_schedule_slp(vec_info*, vec<_slp_instance*, va_heap, vl_ptr>
const&)
../../gcc/tree-vect-slp.cc:12492
0x1e5da62 vect_transform_loop(_loop_vec_info*, gimple*)
../../gcc/tree-vect-loop.cc:11319
0x1ec2f77 vect_transform_loops
../../gcc/tree-vectorizer.cc:1037
0x1ec36bd try_vectorize_loop_1
../../gcc/tree-vectorizer.cc:1186
0x1ec37f6 try_vectorize_loop
../../gcc/tree-vectorizer.cc:1216
0x1ec3ad0 execute
../../gcc/tree-vectorizer.cc:1333
```
https://godbolt.org/z/nYzrr3xj7