https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123628
Bug ID: 123628
Summary: [16 Regression] ICE in ifcvt in many SPEC CPU
benchmarks on aarch64
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
Blocks: 26163
Target Milestone: ---
Host: aarch64-gnu-linux
Target: aarch64-gnu-linux
Compiling many SPEC CPU benchmarks with -O2 -march=native -flto on an NVIDIA
Grace (Neoverse V2) machine results in an ICE. The benchmarks are:
521.wrf_r
527.cam4_r
549.fotonik3d_r
416.gamess
454.calculix
459.GemsFDTD
465.tonto
481.wrf
All the ICEs originate from the same assert. This one is from 454.calculix:
during GIMPLE pass: ifcvt
umat_elastic_fiber.f: In function 'umat_elastic_fiber.constprop':
umat_elastic_fiber.f:19:7: internal compiler error: in predicate_rhs_code, at
tree-if-conv.cc:2908
19 | subroutine umat_elastic_fiber
| ^
0x1cadb73 internal_error(char const*, ...)
/home/gcc/buildworker/lnt-grace-gcc-trunk-weekly/build/gcc/diagnostic-global-context.cc:787
0x7f34d3 fancy_abort(char const*, int, char const*)
/home/gcc/buildworker/lnt-grace-gcc-trunk-weekly/build/gcc/diagnostics/context.cc:1805
0xe0056b predicate_rhs_code
/home/gcc/buildworker/lnt-grace-gcc-trunk-weekly/build/gcc/tree-if-conv.cc:2908
0xe0056b predicate_statements
/home/gcc/buildworker/lnt-grace-gcc-trunk-weekly/build/gcc/tree-if-conv.cc:3157
0xe0056b combine_blocks
/home/gcc/buildworker/lnt-grace-gcc-trunk-weekly/build/gcc/tree-if-conv.cc:3309
0xe023fb tree_if_conversion(loop*, vec<gimple*, va_heap, vl_ptr>*)
/home/gcc/buildworker/lnt-grace-gcc-trunk-weekly/build/gcc/tree-if-conv.cc:4279
0xe031bb execute
/home/gcc/buildworker/lnt-grace-gcc-trunk-weekly/build/gcc/tree-if-conv.cc:4388
0xe031bb execute
/home/gcc/buildworker/lnt-grace-gcc-trunk-weekly/build/gcc/tree-if-conv.cc:4376
Could have started with r16-6510-g7fcd3ed36c68d3 (the commit adding that
assert), perhaps? I can analyze this further later.
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)