https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102572
Bug ID: 102572 Summary: ICE for skx in vect_build_gather_load_calls, at tree-vect-stmts.c:2835 Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: vsevolod.livinskij at frtk dot ru Target Milestone: --- Reproducer: int a, b, c, f; void g(bool h, int d[][5]) { for (short i = f; i; i += 1) { a = h && d[0][i]; for (int j = 0; j < 4; j += c) b = 0; } } Error: >$ g++ -O3 -march=skylake-avx512 -c func.cpp during GIMPLE pass: vect func.cpp: In function 'void g(bool, int (*)[5])': func.cpp:2:6: internal compiler error: in vect_build_gather_load_calls, at tree-vect-stmts.c:2835 2 | void g(bool h, int d[][5]) { | ^ 0x906a36 vect_build_gather_load_calls /testing/gcc/gcc_src/gcc/tree-vect-stmts.c:2835 0x906a36 vectorizable_load /testing/gcc/gcc_src/gcc/tree-vect-stmts.c:8785 0x1500240 vect_transform_stmt(vec_info*, _stmt_vec_info*, gimple_stmt_iterator*, _slp_tree*, _slp_instance*) /testing/gcc/gcc_src/gcc/tree-vect-stmts.c:11060 0x1503e6a vect_transform_loop_stmt /testing/gcc/gcc_src/gcc/tree-vect-loop.c:9362 0x151fd67 vect_transform_loop(_loop_vec_info*, gimple*) /testing/gcc/gcc_src/gcc/tree-vect-loop.c:9798 0x1553a8f try_vectorize_loop_1 /testing/gcc/gcc_src/gcc/tree-vectorizer.c:1109 0x1554591 vectorize_loops() /testing/gcc/gcc_src/gcc/tree-vectorizer.c:1248 GCC version: Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/testing/gcc/bin/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: /testing/gcc/gcc_src/configure --enable-multilib --prefix=/testing/gcc/bin --disable-bootstrap Thread model: posix Supported LTO compression algorithms: zlib gcc version 12.0.0 20211002 (d7705b0ada9e9852b580ca25a45570c82152f287) (GCC)