https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97079
Bug ID: 97079 Summary: [11 Regression] aarch64, SVE: ICE in SLP recognizer since r11-3148-g8d3767c30240c901a493d82d9d20f306b2f0152d Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: acoplan at gcc dot gnu.org Target Milestone: --- Since r11-3148-g8d3767c30240c901a493d82d9d20f306b2f0152d, AArch64 GCC ICEs with -O2 -ftree-vectorize -march=armv8.2-a+sve on the following input: void g(void); int a[8][3]; int b; void c(void) { int d[] = {7, 3}; int *e = a[0]; int f; b = 0; for (; b < 8; b++) { f = 0; for (; f < 3; f++) a[b][f] = 0; } g(); *e = (long)d; } To reproduce: $ aarch64-none-elf-gcc -c -march=armv8.2-a+sve -O2 -ftree-vectorize test.c during GIMPLE pass: slp test.c: In function 'c': test.c:5:6: internal compiler error: Segmentation fault 5 | void c(void) { | ^ 0xd628ff crash_signal /home/alecop01/toolchain/src/gcc/gcc/toplev.c:327 0x1a012ad contains_struct_check(tree_node*, tree_node_structure_enum, char const*, int, char const*) /home/alecop01/toolchain/src/gcc/gcc/tree.h:3408 0x1a012ad vect_recog_mask_conversion_pattern /home/alecop01/toolchain/src/gcc/gcc/tree-vect-patterns.c:4262 0x19faf66 vect_pattern_recog_1 /home/alecop01/toolchain/src/gcc/gcc/tree-vect-patterns.c:5339 0x1a0351f vect_pattern_recog(vec_info*) /home/alecop01/toolchain/src/gcc/gcc/tree-vect-patterns.c:5495 0x10a010e vect_slp_analyze_bb_1 /home/alecop01/toolchain/src/gcc/gcc/tree-vect-slp.c:3545 0x10a010e vect_slp_region /home/alecop01/toolchain/src/gcc/gcc/tree-vect-slp.c:3648 0x10a010e vect_slp_bb(basic_block_def*) /home/alecop01/toolchain/src/gcc/gcc/tree-vect-slp.c:3804 0x10a4888 execute /home/alecop01/toolchain/src/gcc/gcc/tree-vectorizer.c:1433 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.