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

            Bug ID: 91145
           Summary: ICE: in vect_build_slp_tree_2, at tree-vect-slp.c:1143
                    with -march=skylake-avx512 -O3
           Product: gcc
           Version: 10.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: ---

GCC fails with ICE with -march=skylake-avx512 -O3 options.

Reproducer:

int a, c;
unsigned b, e;
extern unsigned d[100];

void f() {
  for (int g = 0; g < 70; g++) {
    b += d[g] - c;
    e -= g ^ a;
  }
}


Error:
>$ gcc -march=skylake-avx512 -O3 -c small.c
during GIMPLE pass: vect
small.c: In function ‘f’:
small.c:5:6: internal compiler error: in vect_build_slp_tree_2, at
tree-vect-slp.c:1143
    5 | void f() {
      |      ^
0xf13128 vect_build_slp_tree_2
          /gcc/tree-vect-slp.c:1143
0xf0ffac vect_build_slp_tree
          /gcc/tree-vect-slp.c:1073
0xf119a3 vect_build_slp_tree_2
          /gcc/tree-vect-slp.c:1218
0xf0ffac vect_build_slp_tree
          /gcc/tree-vect-slp.c:1073
0xf16744 vect_analyze_slp_instance
          /gcc/tree-vect-slp.c:1985
0xf18158 vect_analyze_slp(vec_info*, unsigned int)
          /gcc/tree-vect-slp.c:2212
0xf000ce vect_analyze_loop_2
          /gcc/tree-vect-loop.c:1985
0xf000ce vect_analyze_loop(loop*, _loop_vec_info*, vec_info_shared*)
          /gcc/tree-vect-loop.c:2379
0xf1d847 try_vectorize_loop_1
          /gcc/tree-vectorizer.c:886
0xf1e5c9 vectorize_loops()
          /gcc/tree-vectorizer.c:1114

GCC version:
gcc version 10.0.0 (Rev: 273261)

Reply via email to