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)

Reply via email to