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

Reply via email to