https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123605
Bug ID: 123605
Summary: [16 Regression] 416.gamess ICE (segfault) in
aarch64_possible_by_lane_insn_p
Product: gcc
Version: 16.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: pheeck at gcc dot gnu.org
CC: tnfchris at gcc dot gnu.org
Blocks: 26163
Target Milestone: ---
Host: aarch64-gnu-linux
Target: aarch64-gnu-linux
Building 416.gamess SPEC CPU 2006 benchmark with -Ofast -march=native -flto on
an NVIDIA Grace (Neoverse V2) machine ICEs:
efpcm.fppized.f: In function 'chgind.constprop':
efpcm.fppized.f:222:7: internal compiler error: Segmentation fault
222 | SUBROUTINE CHGIND(H1,FA,FB,DENTOT,DIP,ODIP,DMATM1,
| ^
0x1cb0373 internal_error(char const*, ...)
/home/gcc/buildworker/lnt-grace-gcc-trunk-workdays/build/gcc/diagnostic-global-context.cc:787
0xd915bf crash_signal
/home/gcc/buildworker/lnt-grace-gcc-trunk-workdays/build/gcc/toplev.cc:325
0x110b348 vect_stmt_to_vectorize(_stmt_vec_info*)
/home/gcc/buildworker/lnt-grace-gcc-trunk-workdays/build/gcc/tree-vectorizer.h:2020
0x110b348 aarch64_possible_by_lane_insn_p
/home/gcc/buildworker/lnt-grace-gcc-trunk-workdays/build/gcc/config/aarch64/aarch64.cc:18539
0x114716b aarch64_vector_costs::add_stmt_cost(int, vect_cost_for_stmt,
_stmt_vec_info*, _slp_tree*, tree_node*, int, vect_cost_model_location)
/home/gcc/buildworker/lnt-grace-gcc-trunk-workdays/build/gcc/config/aarch64/aarch64.cc:18613
0x1063983 add_stmt_cost(vector_costs*, int, vect_cost_for_stmt,
_stmt_vec_info*, _slp_tree*, tree_node*, int, vect_cost_model_location)
/home/gcc/buildworker/lnt-grace-gcc-trunk-workdays/build/gcc/tree-vectorizer.h:2095
0x1063983 add_stmt_costs(vector_costs*, vec<stmt_info_for_cost, va_heap,
vl_ptr>*)
/home/gcc/buildworker/lnt-grace-gcc-trunk-workdays/build/gcc/tree-vectorizer.h:2125
0x1063983 vect_slp_analyze_operations(vec_info*)
/home/gcc/buildworker/lnt-grace-gcc-trunk-workdays/build/gcc/tree-vect-slp.cc:9271
0x102a1cf vect_analyze_loop_2
/home/gcc/buildworker/lnt-grace-gcc-trunk-workdays/build/gcc/tree-vect-loop.cc:2345
0x102b8fb vect_analyze_loop_1
/home/gcc/buildworker/lnt-grace-gcc-trunk-workdays/build/gcc/tree-vect-loop.cc:2822
0x102c0bb vect_analyze_loop(loop*, gimple*, vec_info_shared*)
/home/gcc/buildworker/lnt-grace-gcc-trunk-workdays/build/gcc/tree-vect-loop.cc:3003
0x107640b try_vectorize_loop_1
/home/gcc/buildworker/lnt-grace-gcc-trunk-workdays/build/gcc/tree-vectorizer.cc:1097
0x107640b try_vectorize_loop
/home/gcc/buildworker/lnt-grace-gcc-trunk-workdays/build/gcc/tree-vectorizer.cc:1216
0x1076943 execute
/home/gcc/buildworker/lnt-grace-gcc-trunk-workdays/build/gcc/tree-vectorizer.cc:1333
I unfortunately currently don't have a suitable spare aarch64 machine to
analyze this further. I assume this is caused by r16-6497-ge3a2fff040204c
since that commit introduced the aarch64_possible_by_lane_insn_p function (the
[16 Regression] tag is based on this guess).
Referenced Bugs:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=26163
[Bug 26163] [meta-bug] missed optimization in SPEC (2k17, 2k and 2k6 and 95)