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

            Bug ID: 106250
           Summary: [13 Regression] ICE in optab_for_tree_code, at
                    optabs-tree.cc:96
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---
            Target: aarch64-linux-gnu

gcc 13.0.0 20220710 snapshot (g:0587cef3d7962a8b0f44779589ba2920dd3d71e5) ICEs
when compiling the following testcase w/ -O1 -ftree-loop-vectorize:

int
foo (unsigned long int x, int y, int z)
{
  int ret = 0;

  while (y < 1)
    {
      x *= 2;
      ret = x == z;
      z = y;
      ++y;
    }

  return ret;
}

% aarch64-linux-gnu-gcc-13.0.0 -O1 -ftree-loop-vectorize -c ljvzdvet.c
during GIMPLE pass: vect
ljvzdvet.c: In function 'foo':
ljvzdvet.c:2:1: internal compiler error: in optab_for_tree_code, at
optabs-tree.cc:96
    2 | foo (unsigned long int x, int y, int z)
      | ^~~
0x74dfb3 optab_for_tree_code(tree_code, tree_node const*, optab_subtype)
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220710/work/gcc-13-20220710/gcc/optabs-tree.cc:96
0x139bda4 directly_supported_p(code_helper, tree_node*, optab_subtype)
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220710/work/gcc-13-20220710/gcc/gimple-match-head.cc:1390
0x11b8174 vectorizable_reduction(_loop_vec_info*, _stmt_vec_info*, _slp_tree*,
_slp_instance*, vec<stmt_info_for_cost, va_heap, vl_ptr>*)
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220710/work/gcc-13-20220710/gcc/tree-vect-loop.cc:7372
0x11bfd1b vect_analyze_loop_operations
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220710/work/gcc-13-20220710/gcc/tree-vect-loop.cc:1753
0x11bfd1b vect_analyze_loop_2
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220710/work/gcc-13-20220710/gcc/tree-vect-loop.cc:2558
0x11c11fb vect_analyze_loop_1
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220710/work/gcc-13-20220710/gcc/tree-vect-loop.cc:2899
0x11c19d0 vect_analyze_loop(loop*, vec_info_shared*)
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220710/work/gcc-13-20220710/gcc/tree-vect-loop.cc:3053
0x11f7aa4 try_vectorize_loop_1
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220710/work/gcc-13-20220710/gcc/tree-vectorizer.cc:1067
0x11f7aa4 try_vectorize_loop
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220710/work/gcc-13-20220710/gcc/tree-vectorizer.cc:1183
0x11f8304 execute
       
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220710/work/gcc-13-20220710/gcc/tree-vectorizer.cc:1299

Reply via email to