https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97761
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|WAITING |NEW Target|powerpc-*-linux-gnu |powerpc-*-linux-gnu, | |x86_64-linux-gnu --- Comment #3 from Martin Liška <marxin at gcc dot gnu.org> --- Reduced single file test-case: $ cat define_type.f90 subroutine ni (ps) type vector real x, y end type type quad_inductor type (vector) v1, v2 end type type (quad_inductor), dimension(inout) :: ps integer :: dl, nk = 1.0 fo = 1.0 if (f == 1) then nk = 0.0 fo = 0.0 end if ot = nk * 0.5 gb = -fo * 0.5 wu = fo * 0.5 up = nk * 0.1 xe = up * 0.1 do lx = 0, 7 ps%v2%y = -wu ps(dl)%v1%x = xe + 1.0 ps(dl)%v1%y = wu - tn end do do lx = 0, 7 ps(dl)%v1%x = 0.1 - ot ps(dl)%v1%y = 0.1 - wu end do end Can be reproduced on x86_64-linux-gnu. $ gcc define_type.f90 -c -O1 -ftree-slp-vectorize -fvect-cost-model=unlimited -c -Werror -fmax-errors=1 during GIMPLE pass: slp define_type.f90:1:13: 1 | subroutine ni (ps) | ^ internal compiler error: in vectorizable_live_operation, at tree-vect-loop.c:8689 0x73b2dc vectorizable_live_operation(vec_info*, _stmt_vec_info*, gimple_stmt_iterator*, _slp_tree*, _slp_instance*, int, bool, vec<stmt_info_for_cost, va_heap, vl_ptr>*) /home/marxin/Programming/gcc/gcc/tree-vect-loop.c:8689 0x10810a7 can_vectorize_live_stmts /home/marxin/Programming/gcc/gcc/tree-vect-stmts.c:10510 0x10a65c8 vect_transform_stmt(vec_info*, _stmt_vec_info*, gimple_stmt_iterator*, _slp_tree*, _slp_instance*) /home/marxin/Programming/gcc/gcc/tree-vect-stmts.c:10894 0x10d547c vect_schedule_slp_node /home/marxin/Programming/gcc/gcc/tree-vect-slp.c:5437 0x10e084c vect_schedule_scc /home/marxin/Programming/gcc/gcc/tree-vect-slp.c:5599 0x10e05bf vect_schedule_scc /home/marxin/Programming/gcc/gcc/tree-vect-slp.c:5580 0x10e05bf vect_schedule_scc /home/marxin/Programming/gcc/gcc/tree-vect-slp.c:5580 0x10e05bf vect_schedule_scc /home/marxin/Programming/gcc/gcc/tree-vect-slp.c:5580 0x10e0e37 vect_schedule_slp(vec_info*, vec<_slp_instance*, va_heap, vl_ptr>) /home/marxin/Programming/gcc/gcc/tree-vect-slp.c:5715 0x10e21bc vect_slp_region /home/marxin/Programming/gcc/gcc/tree-vect-slp.c:4264 0x10e21bc vect_slp_bbs /home/marxin/Programming/gcc/gcc/tree-vect-slp.c:4374 0x10e2f84 vect_slp_function(function*) /home/marxin/Programming/gcc/gcc/tree-vect-slp.c:4460 0x10e4df6 execute /home/marxin/Programming/gcc/gcc/tree-vectorizer.c:1437 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.