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.