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

            Bug ID: 97626
           Summary: [11 Regression] ICE in vect_transform_stmt, at
                    tree-vect-stmts.c:10900 since
                    r11-4428-g4a369d199bf2f34e
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
                CC: rguenth at gcc dot gnu.org
  Target Milestone: ---

Reduced from gegl package:

$ cat plasma.i
struct {
  int x;
  int y;
} do_plasma_rect;

int do_plasma_context_0, do_plasma_x2, do_plasma_y2, do_plasma_plasma_depth,
    do_plasma_xm, do_plasma_ym;
void gegl_buffer_set();

void do_plasma(int x1, int y1) {
  if (__builtin_expect(({
                         int _g_boolean_var_;
                         if (do_plasma_context_0)
                           _g_boolean_var_ = 1;
                         else
                           _g_boolean_var_ = 0;
                         _g_boolean_var_;
                       }),
                       0)) {
    do_plasma_rect.x = x1;
    do_plasma_rect.y = y1;
    gegl_buffer_set();
  }
  do_plasma_xm = (x1 + do_plasma_x2) / 2;
  do_plasma_ym = (y1 + do_plasma_y2) / 2;
  if (do_plasma_plasma_depth) {
    do_plasma_rect.x = do_plasma_xm;
    do_plasma_rect.y = do_plasma_ym;
    return;
  }
  do_plasma(do_plasma_xm, do_plasma_ym);
}

$ gcc plasma.i -c -O3
during GIMPLE pass: slp
plasma.i: In function ‘do_plasma’:
plasma.i:10:6: internal compiler error: in vect_transform_stmt, at
tree-vect-stmts.c:10900
   10 | void do_plasma(int x1, int y1) {
      |      ^~~~~~~~~
0x73448b vect_transform_stmt(vec_info*, _stmt_vec_info*, gimple_stmt_iterator*,
_slp_tree*, _slp_instance*)
        /home/marxin/Programming/gcc/gcc/tree-vect-stmts.c:10900
0x104a91c vect_schedule_slp_node
        /home/marxin/Programming/gcc/gcc/tree-vect-slp.c:5401
0x105525d vect_schedule_scc
        /home/marxin/Programming/gcc/gcc/tree-vect-slp.c:5602
0x1055839 vect_schedule_scc
        /home/marxin/Programming/gcc/gcc/tree-vect-slp.c:5536
0x10563b7 vect_schedule_slp(vec_info*, vec<_slp_instance*, va_heap, vl_ptr>)
        /home/marxin/Programming/gcc/gcc/tree-vect-slp.c:5665
0x105757d vect_slp_region
        /home/marxin/Programming/gcc/gcc/tree-vect-slp.c:4263
0x105757d vect_slp_bbs
        /home/marxin/Programming/gcc/gcc/tree-vect-slp.c:4373
0x10582e4 vect_slp_function(function*)
        /home/marxin/Programming/gcc/gcc/tree-vect-slp.c:4459
0x105a196 execute
        /home/marxin/Programming/gcc/gcc/tree-vectorizer.c:1437
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

Reply via email to