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.

Reply via email to