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