https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97693
Bug ID: 97693 Summary: [11 Regression] SVE: ICE in prepare_load_store_mask, at tree-vect-stmts.c since r11-1143-gb05d5563 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: --- For the following C testcase: extern short a[]; int b; short c, d; unsigned e() { if (c) return c; return d; } void f() { for (unsigned g = b; g; g += 6) for (_Bool h = 0; h < (_Bool)e(); h = 1) a[g] = 1 / b; } AArch64 GCC ICEs with -O3 -march=armv8.2-a+sve since r11-1143-gb05d5563f4be13b4a0d0951375a82adf483973c0. To reproduce: $ aarch64-elf-gcc -c -O3 -march=armv8.2-a+sve test.c during GIMPLE pass: vect test.c: In function 'f': test.c:9:6: internal compiler error: in prepare_load_store_mask, at tree-vect-stmts.c:1758 9 | void f() { | ^ 0x106d15f prepare_load_store_mask /home/alecop01/toolchain/src/gcc/gcc/tree-vect-stmts.c:1758 0x108784a vectorizable_call /home/alecop01/toolchain/src/gcc/gcc/tree-vect-stmts.c:3440 0x109972f vect_transform_stmt(vec_info*, _stmt_vec_info*, gimple_stmt_iterator*, _slp_tree*, _slp_instance*) /home/alecop01/toolchain/src/gcc/gcc/tree-vect-stmts.c:10838 0x109ffbc vect_transform_loop_stmt /home/alecop01/toolchain/src/gcc/gcc/tree-vect-loop.c:8933 0x10bd364 vect_transform_loop(_loop_vec_info*, gimple*) /home/alecop01/toolchain/src/gcc/gcc/tree-vect-loop.c:9367 0x10e9a7e try_vectorize_loop_1 /home/alecop01/toolchain/src/gcc/gcc/tree-vectorizer.c:1091 0x10ea1ab try_vectorize_loop /home/alecop01/toolchain/src/gcc/gcc/tree-vectorizer.c:1148 0x10ea585 vectorize_loops() /home/alecop01/toolchain/src/gcc/gcc/tree-vectorizer.c:1229 0xf76a5b execute /home/alecop01/toolchain/src/gcc/gcc/tree-ssa-loop.c:414 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.