https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102318
Bug ID: 102318 Summary: [12 Regression] ICE: verify_gimple failed (error: incompatible types in 'PHI' argument 1) Product: gcc Version: 12.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-12.0.0-alpha20210912 snapshot (g:53a4def0dc1aac39d592a0d20e9ec16e8b5574ac) ICEs when compiling the following testcase, extracted from gcc/testsuite/gcc.target/aarch64/sve/slp_7.c, w/ -O1 -ftree-loop-vectorize: void vec_slp_int16_t (short int *restrict a, short int *restrict b, int n) { short int x0 = b[0]; short int x1 = b[1]; short int x2 = b[2]; short int x3 = b[3]; for (int i = 0; i < n; ++i) { x0 += a[i * 4]; x1 += a[i * 4 + 1]; x2 += a[i * 4 + 2]; x3 += a[i * 4 + 3]; } b[0] = x0; b[1] = x1; b[2] = x2; b[3] = x3; } % aarch64-linux-gnu-gcc-12.0.0 -O1 -ftree-loop-vectorize -c n8srjast.c n8srjast.c: In function 'vec_slp_int16_t': n8srjast.c:2:1: error: incompatible types in 'PHI' argument 1 2 | vec_slp_int16_t (short int *restrict a, short int *restrict b, int n) | ^~~~~~~~~~~~~~~ vector(4) unsigned short vector(4) short int _196 = PHI <_195(17), _188(11)> during GIMPLE pass: vect n8srjast.c:2:1: internal compiler error: verify_gimple failed 0xf76827 verify_gimple_in_cfg(function*, bool) /var/tmp/portage/cross-aarch64-linux-gnu/gcc-12.0.0_alpha20210912/work/gcc-12-20210912/gcc/tree-cfg.c:5576 0xe33bc6 execute_function_todo /var/tmp/portage/cross-aarch64-linux-gnu/gcc-12.0.0_alpha20210912/work/gcc-12-20210912/gcc/passes.c:2042 0xe3418b execute_todo /var/tmp/portage/cross-aarch64-linux-gnu/gcc-12.0.0_alpha20210912/work/gcc-12-20210912/gcc/passes.c:2096