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

            Bug ID: 126457
           Summary: [16/17 Regression] ICE at -O2/3 on aarch64 during
                    GIMPLE pass: vect
           Product: gcc
           Version: 17.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: xxs_chy at outlook dot com
  Target Milestone: ---

gcc version 17.0.0 20260729 (experimental) (GCC)
Reproducer: https://godbolt.org/z/3TvYc9h3v
Reduced case:
#include <stdint.h>
int32_t g6, g24;
_Bool f18_c6;
void f18()
{
    int a1;
    int32_t bb16 = 607229;
lbl_sw5:
    bb16 = __builtin_clz(bb16);
    f18_c6 = a1;
    a1 = g24;
    if (f18_c6) goto lbl_sw5;
    g6 = __builtin_parity(bb16);
    return;
}

Dump at -O2:
during GIMPLE pass: vect
/tmp/tmp3wipdfdf/case.c: In function 'f17':
/tmp/tmp3wipdfdf/case.c:7041:7: internal compiler error: in operator[], at
vec.h:911
 7041 | void* f17(int16_t a0, int64_t a1, int16_t a2, int16_t a3, void* a4) {
      |       ^~~
0x27248cd internal_error(char const*, ...)
       
/data/Projects/compiler-test-env/cte-work/src/gcc/gcc/diagnostic-global-context.cc:787
0xb0f75f fancy_abort(char const*, int, char const*)
       
/data/Projects/compiler-test-env/cte-work/src/gcc/gcc/diagnostics/context.cc:1813
0x9fe238 vec<edge_def*, va_gc, vl_embed>::operator[](unsigned int)
        /data/Projects/compiler-test-env/cte-work/src/gcc/gcc/vec.h:911
0x9ff833 vec<_slp_tree*, va_heap, vl_embed>::operator[](unsigned int)
       
/data/Projects/compiler-test-env/cte-work/src/gcc/gcc/tree-vect-stmts.cc:13987
0x9ff833 vec<_slp_tree*, va_heap, vl_ptr>::operator[](unsigned int)
        /data/Projects/compiler-test-env/cte-work/src/gcc/gcc/vec.h:1610
0x9ff833 vect_is_simple_use(vec_info*, _slp_tree*, unsigned int, tree_node**,
_slp_tree**, vect_def_type*, tree_node**, _stmt_vec_info**)
       
/data/Projects/compiler-test-env/cte-work/src/gcc/gcc/tree-vect-stmts.cc:13969
0x164db11 vectorizable_reduction(_loop_vec_info*, _stmt_vec_info*, _slp_tree*,
_slp_instance*, vec<stmt_info_for_cost, va_heap, vl_ptr>*)
       
/data/Projects/compiler-test-env/cte-work/src/gcc/gcc/tree-vect-loop.cc:7226
0x1622286 vect_analyze_stmt(vec_info*, _slp_tree*, _slp_instance*,
vec<stmt_info_for_cost, va_heap, vl_ptr>*)
       
/data/Projects/compiler-test-env/cte-work/src/gcc/gcc/tree-vect-stmts.cc:13347
0x168b021 vect_slp_analyze_node_operations_1
       
/data/Projects/compiler-test-env/cte-work/src/gcc/gcc/tree-vect-slp.cc:8721
0x168b021 vect_slp_analyze_node_operations
       
/data/Projects/compiler-test-env/cte-work/src/gcc/gcc/tree-vect-slp.cc:8990
0x168afb9 vect_slp_analyze_node_operations
       
/data/Projects/compiler-test-env/cte-work/src/gcc/gcc/tree-vect-slp.cc:8967
0x168bf31 vect_slp_analyze_operations(vec_info*)
       
/data/Projects/compiler-test-env/cte-work/src/gcc/gcc/tree-vect-slp.cc:9299
0x1641e7d vect_analyze_loop_2
       
/data/Projects/compiler-test-env/cte-work/src/gcc/gcc/tree-vect-loop.cc:2367
0x1643b25 vect_analyze_loop_1
       
/data/Projects/compiler-test-env/cte-work/src/gcc/gcc/tree-vect-loop.cc:2821
0x16443e0 vect_analyze_loop(loop*, gimple*, vec_info_shared*)
       
/data/Projects/compiler-test-env/cte-work/src/gcc/gcc/tree-vect-loop.cc:3002
0x16a1f63 try_vectorize_loop_1
       
/data/Projects/compiler-test-env/cte-work/src/gcc/gcc/tree-vectorizer.cc:1099
0x16a1f63 try_vectorize_loop
       
/data/Projects/compiler-test-env/cte-work/src/gcc/gcc/tree-vectorizer.cc:1218
0x16a27a4 execute
       
/data/Projects/compiler-test-env/cte-work/src/gcc/gcc/tree-vectorizer.cc:1335

Reply via email to