https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113018

            Bug ID: 113018
           Summary: ICE in gimple_convert, gimple-fold.cc during the SLP
                    pass
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code, needs-bisection
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: fkastl at suse dot cz
  Target Milestone: ---
              Host: x86_64-linux
            Target: aarch64-gnu-linux

While compiling the GCC testsuite testcase gcc.target/aarch64/vect-fmax-fmin.c
with aarch64 crosscompiler:

aarch64-linux-gnu-gcc
/home/worker/buildworker/tiber-option-juggler/build/gcc/testsuite/gcc.target/aarch64/vect-fmax-fmin.c
-fno-tree-loop-vectorize -Ofast

An ICE occurs:

during GIMPLE pass: slp
In file included from
/home/worker/buildworker/tiber-option-juggler/build/gcc/testsuite/gcc.target/aarch64/vect-fmax-fmin.c:8:
/home/worker/buildworker/tiber-option-juggler/build/gcc/testsuite/gcc.target/aarch64/vect-fmaxv-fminv.x:
In function ‘maxv_f32’:
/home/worker/buildworker/tiber-option-juggler/build/gcc/testsuite/gcc.target/aarch64/vect-fmaxv-fminv.x:5:7:
internal compiler error: Segmentation fault
    5 | float maxv_f32 (pRF32 a)
      |       ^~~~~~~~
0xd938df crash_signal
       
/home/worker/buildworker/tiber-gcc-trunk-aarch64/build/gcc/toplev.cc:316
0xa7e033 gimple_convert(gimple_stmt_iterator*, bool, gsi_iterator_update,
unsigned int, tree_node*, tree_node*)
       
/home/worker/buildworker/tiber-gcc-trunk-aarch64/build/gcc/gimple-fold.cc:9168
0x10274cf gimple_convert(gimple**, tree_node*, tree_node*)
       
/home/worker/buildworker/tiber-gcc-trunk-aarch64/build/gcc/gimple-fold.h:183
0x10274cf vectorize_slp_instance_root_stmt(_slp_tree*, _slp_instance*)
       
/home/worker/buildworker/tiber-gcc-trunk-aarch64/build/gcc/tree-vect-slp.cc:9401
0x10287aa vect_schedule_slp(vec_info*, vec<_slp_instance*, va_heap, vl_ptr>
const&)
       
/home/worker/buildworker/tiber-gcc-trunk-aarch64/build/gcc/tree-vect-slp.cc:9639
0x102ac51 vect_slp_region
       
/home/worker/buildworker/tiber-gcc-trunk-aarch64/build/gcc/tree-vect-slp.cc:7770
0x102c19c vect_slp_bbs
       
/home/worker/buildworker/tiber-gcc-trunk-aarch64/build/gcc/tree-vect-slp.cc:7870
0x102c688 vect_slp_function(function*)
       
/home/worker/buildworker/tiber-gcc-trunk-aarch64/build/gcc/tree-vect-slp.cc:7992
0x1033f59 execute
       
/home/worker/buildworker/tiber-gcc-trunk-aarch64/build/gcc/tree-vectorizer.cc:1531
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.

My guess is that the segmentation fault is caused by SLP passing a null tree to
gimple_convert.

Reply via email to