https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88567
Bug ID: 88567 Summary: [9 Regression] ICE in get_initial_defs_for_reduction when building 521.wrf_r on AArch64 SVE Product: gcc Version: 9.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: ktkachov at gcc dot gnu.org CC: rsandifo at gcc dot gnu.org Target Milestone: --- 521.wrf_r ICEs when building with -Ofast -fomit-frame-pointer -march=armv8.2-a+sve The file module_cu_camzm.fppized.f90 in particular ICEs: $ aarch64-none-linux-gnu-gfortran -c -o module_cu_camzm.fppized.o -I. -I./netcdf/include -I./inc -Ofast -fomit-frame-pointer -save-temps -march=armv8.2-a+sve -fconvert=big-endian module_cu_camzm.fppized.f90 during GIMPLE pass: vect module_cu_camzm.fppized.f90:1957:0: 1957 | subroutine cldprp(lchnk , & | internal compiler error: in operator[], at vec.h:845 0x61f05c vec<tree_node*, va_heap, vl_embed>::operator[](unsigned int) $SRC/gcc/vec.h:845 0x61f05c vec<tree_node*, va_heap, vl_ptr>::operator[](unsigned int) $SRC/gcc/vec.h:1364 0x61f05c get_initial_defs_for_reduction $SRC/gcc/tree-vect-loop.c:4160 0x61f05c vect_create_epilog_for_reduction $SRC/gcc/tree-vect-loop.c:4373 0xf742c9 vectorizable_reduction(_stmt_vec_info*, gimple_stmt_iterator*, _stmt_vec_info**, _slp_tree*, _slp_instance*, vec<stmt_info_for_cost, va_heap, vl_ptr>*) $SRC/gcc/tree-vect-loop.c:7092 0xf67e90 vect_transform_stmt(_stmt_vec_info*, gimple_stmt_iterator*, _slp_tree*, _slp_instance*) $SRC/gcc/tree-vect-stmts.c:9771 0xf8f29e vect_schedule_slp_instance $SRC/gcc/tree-vect-slp.c:4023 0xf92e4c vect_schedule_slp(vec_info*) $SRC/gcc/tree-vect-slp.c:4098 0xf77096 vect_transform_loop(_loop_vec_info*) $SRC/gcc/tree-vect-loop.c:8273 0xf9b61d try_vectorize_loop_1 $SRC/gcc/tree-vectorizer.c:969 0xf9bfa1 vectorize_loops() $SRC/gcc/tree-vectorizer.c:1102 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. GCC 8 doesn't ICE