https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92161
Bug ID: 92161 Summary: [10 Regression] ICE in vect_get_vec_def_for_stmt_copy, at tree-vect-stmts.c:1687 Product: gcc Version: 10.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: powerpc-*-linux-gnu gfortran-10.0.0-alpha20191013 snapshot (r276943) ICEs when compiling the following testcase w/ -mvsx -O1 -ftree-loop-vectorize -fno-signed-zeros -fno-trapping-math: COMPLEX FUNCTION R1 (ZR, CC, EA, U6) INTEGER ZR, U6, FZ, J2 COMPLEX EA(*), CC DOUBLE PRECISION OS, GA, YU, XT OS = DBLE(REAL(CC)) GA = DBLE(AIMAG(CC)) J2 = 1 DO 5 FZ = 1, ZR YU = DBLE(REAL(EA(J2))) XT = DBLE(AIMAG(EA(J2))) OS = OS + (YU * 2) - (XT * 2) GA = GA + (YU * 3) + (XT * 3) J2 = J2 + U6 5 CONTINUE R1 = CMPLX(REAL(OS), REAL(GA)) RETURN END % powerpc-e300c3-linux-gnu-gfortran-10.0.0-alpha20191013 -mvsx -O1 -ftree-loop-vectorize -fno-signed-zeros -fno-trapping-math -c svv5mckh.f during GIMPLE pass: vect svv5mckh.f:1:0: 1 | COMPLEX FUNCTION R1 (ZR, CC, EA, U6) | internal compiler error: in vect_get_vec_def_for_stmt_copy, at tree-vect-stmts.c:1687 0x6dc2ed vect_get_vec_def_for_stmt_copy(vec_info*, tree_node*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-10.0.0_alpha20191013/work/gcc-10-20191013/gcc/tree-vect-stmts.c:1687 0x6dc2ed vect_get_vec_def_for_stmt_copy(vec_info*, tree_node*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-10.0.0_alpha20191013/work/gcc-10-20191013/gcc/tree-vect-stmts.c:1679 0x109d672 vect_get_vec_defs_for_stmt_copy(vec_info*, vec<tree_node*, va_heap, vl_ptr>*, vec<tree_node*, va_heap, vl_ptr>*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-10.0.0_alpha20191013/work/gcc-10-20191013/gcc/tree-vect-stmts.c:1712 0x10a2e26 vectorizable_operation /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-10.0.0_alpha20191013/work/gcc-10-20191013/gcc/tree-vect-stmts.c:6217 0x10c003a vect_transform_stmt(_stmt_vec_info*, gimple_stmt_iterator*, _slp_tree*, _slp_instance*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-10.0.0_alpha20191013/work/gcc-10-20191013/gcc/tree-vect-stmts.c:10769 0x10c2164 vect_transform_loop_stmt /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-10.0.0_alpha20191013/work/gcc-10-20191013/gcc/tree-vect-loop.c:8106 0x10c75b3 vect_transform_loop(_loop_vec_info*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-10.0.0_alpha20191013/work/gcc-10-20191013/gcc/tree-vect-loop.c:8333 0x10f5b76 try_vectorize_loop_1 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-10.0.0_alpha20191013/work/gcc-10-20191013/gcc/tree-vectorizer.c:983 0x10f669e vectorize_loops() /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-10.0.0_alpha20191013/work/gcc-10-20191013/gcc/tree-vectorizer.c:1115