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.