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

--- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> ---
Reduced test-case:

$ cat ice.c
typedef struct {
  int v;
} S1;

S1 clearS1() {}

typedef struct {
  S1 s1[4];
} S2;

void
clearS2(__seg_gs S2 *p, int n) {
  for (int i = 0; i < n; ++i)
    p->s1[i] = clearS1();
}

$ gcc -O1 -c -ftree-loop-vectorize -fno-aggressive-loop-optimizations ice.c
ice.c: In function ‘clearS2’:
ice.c:12:1: error: incompatible types in ‘PHI’ argument 1
   12 | clearS2(__seg_gs S2 *p, int n) {
      | ^~~~~~~
vector(4) int *

struct S2 *

vectp_p.10_26 = PHI <vectp_p.10_27(6), p_5(D)(9)>
during GIMPLE pass: vect
ice.c:12:1: internal compiler error: verify_gimple failed
0xdc6811 verify_gimple_in_cfg(function*, bool)
        /home/marxin/Programming/gcc/gcc/tree-cfg.c:5426
0xc9b3ff execute_function_todo
        /home/marxin/Programming/gcc/gcc/passes.c:1963
0xc9c32e execute_todo
        /home/marxin/Programming/gcc/gcc/passes.c:2017
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