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

            Bug ID: 123315
           Summary: ICE during GIMPLE pass, Segmentation fault, at
                    tree-vect-loop.cc:10694
           Product: gcc
           Version: 16.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: rvismith1115 at gmail dot com
  Target Milestone: ---

The test case is reduced by C-Reduce.
Code link: https://godbolt.org/z/rhqhYKzcc

Reproducer:
short a, b, c;
long long e, f;
extern int g[][2][2][23];
#include <vector>
void h() {
  for (unsigned d; d; d++) {
    c = b ?: g[1][1][1][d];
    e = std::max(e, (long long)a);
    f = std::max(f, (long long)7);
  }
}

$ riscv64-unknown-elf-g++ -O3 -march=rv64gcv_zvfh  func.cpp
during GIMPLE pass: vect
func.cpp: In function 'void h()':
func.cpp:5:6: internal compiler error: Segmentation fault
    5 | void h() {
      |      ^
0x3362f4b internal_error(char const*, ...)
        /home/riscv-files/gcc-16-20251123/gcc/diagnostic-global-context.cc:787
0x1884973 crash_signal
        /home/riscv-files/gcc-16-20251123/gcc/toplev.cc:325
0x1b80975 vect_get_loop_len(_loop_vec_info*, gimple_stmt_iterator*,
auto_vec<rgroup_controls, 0ul>*, unsigned int, tree_node*, unsigned int,
unsigned int)
        /home/riscv-files/gcc-16-20251123/gcc/tree-vect-loop.cc:10694
0x1b476dd vect_get_loop_variant_data_ptr_increment
        /home/riscv-files/gcc-16-20251123/gcc/tree-vect-stmts.cc:3277
0x1b476dd vect_get_data_ptr_increment
        /home/riscv-files/gcc-16-20251123/gcc/tree-vect-stmts.cc:3306
0x1b66f0d vectorizable_load
        /home/riscv-files/gcc-16-20251123/gcc/tree-vect-stmts.cc:11197
0x1b76990 vect_transform_stmt(vec_info*, _stmt_vec_info*,
gimple_stmt_iterator*, _slp_tree*, _slp_instance*)
        /home/riscv-files/gcc-16-20251123/gcc/tree-vect-stmts.cc:13194
0x1bb9892 vect_schedule_slp_node
        /home/riscv-files/gcc-16-20251123/gcc/tree-vect-slp.cc:12119
0x1bde9ba vect_schedule_slp_node
        /home/riscv-files/gcc-16-20251123/gcc/tree-vect-slp.cc:11901
0x1bde9ba vect_schedule_scc
        /home/riscv-files/gcc-16-20251123/gcc/tree-vect-slp.cc:12368
0x1bde940 vect_schedule_scc
        /home/riscv-files/gcc-16-20251123/gcc/tree-vect-slp.cc:12349
0x1bdefc1 vect_schedule_slp(vec_info*, vec<_slp_instance*, va_heap, vl_ptr>
const&)
        /home/riscv-files/gcc-16-20251123/gcc/tree-vect-slp.cc:12513
0x1b8d45a vect_transform_loop(_loop_vec_info*, gimple*)
        /home/riscv-files/gcc-16-20251123/gcc/tree-vect-loop.cc:11171
0x1bf0f68 vect_transform_loops
        /home/riscv-files/gcc-16-20251123/gcc/tree-vectorizer.cc:1037
0x1bf1614 try_vectorize_loop_1
        /home/riscv-files/gcc-16-20251123/gcc/tree-vectorizer.cc:1186
0x1bf1614 try_vectorize_loop
        /home/riscv-files/gcc-16-20251123/gcc/tree-vectorizer.cc:1216
0x1bf19dc execute
        /home/riscv-files/gcc-16-20251123/gcc/tree-vectorizer.cc:1333
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.

Reply via email to