https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103148
Bug ID: 103148 Summary: ICE in vect_analyze_loop, at tree-vect-loop.c:3155 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 gfortran-12.0.0-alpha20211107 snapshot (g:962ff7d2849e1fa6a1fe0535aa2dec5c2b9a32a6) ICEs when compiling the following testcase w/ -mcpu=neoverse-512tvb -O1 -ftree-loop-vectorize -ftrapv: module mod logical rslt type :: stuff(l1) integer,len :: l1 = 10 end type stuff type,extends(stuff) :: objects(k1) integer, kind :: k1 = selected_int_kind(4) integer(k1) :: p(l1) end type objects contains subroutine foo(n) integer n type(objects(l1=10)) :: x do i=1,n x%p(i) = i enddo rslt = .true. do i=1,n if (x%p(i) .ne. i) rslt = .false. enddo end subroutine foo end module mod % aarch64-linux-gnu-gfortran-12.0.0 -mcpu=neoverse-512tvb -O1 -ftree-loop-vectorize -ftrapv -c ajhyepng.f90 during GIMPLE pass: vect ajhyepng.f90:11:16: 11 | subroutine foo(n) | ^ internal compiler error: in vect_analyze_loop, at tree-vect-loop.c:3155 0x7de0d0 vect_analyze_loop(loop*, vec_info_shared*) /var/tmp/portage/cross-aarch64-linux-gnu/gcc-12.0.0_alpha20211107/work/gcc-12-20211107/gcc/tree-vect-loop.c:3155 0x1294e31 try_vectorize_loop_1 /var/tmp/portage/cross-aarch64-linux-gnu/gcc-12.0.0_alpha20211107/work/gcc-12-20211107/gcc/tree-vectorizer.c:1046 0x1294e31 try_vectorize_loop /var/tmp/portage/cross-aarch64-linux-gnu/gcc-12.0.0_alpha20211107/work/gcc-12-20211107/gcc/tree-vectorizer.c:1160 0x1295b11 vectorize_loops() /var/tmp/portage/cross-aarch64-linux-gnu/gcc-12.0.0_alpha20211107/work/gcc-12-20211107/gcc/tree-vectorizer.c:1243