This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c/81500] New: ice with -O3 in process_use, at tree-vect-stmts.c:506


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81500

            Bug ID: 81500
           Summary: ice with -O3 in process_use, at tree-vect-stmts.c:506
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dcb314 at hotmail dot com
  Target Milestone: ---

The following code, when compiled by recent gcc trunk and flag -O3, does this:

/home/dcb/creduce/dcbTest/bug369.c:2:1: internal compiler error: in
process_use, at tree-vect-stmts.c:506
 c(b) {
 ^
0xeddbb0 process_use
        ../../trunk/gcc/tree-vect-stmts.c:505
0xede01d vect_mark_stmts_to_be_vectorized(_loop_vec_info*)
        ../../trunk/gcc/tree-vect-stmts.c:789
0xf0722d vect_analyze_loop_2
        ../../trunk/gcc/tree-vect-loop.c:1950
0xf0722d vect_analyze_loop(loop*, _loop_vec_info*)
        ../../trunk/gcc/tree-vect-loop.c:2405

Source is

typedef a;
c(b) {
  int d;
  a e, f, *g, *h = b;
  for (; d; d--) {
    f = *g & 1;
    *h-- = *g-- | e;
    e = f;
  }
}

Problem seems to exist between gcc revisions 250361 and 250395.

Looking at recent changes to source code file tree-vect-stmt.c,
Richard Biener's revision 250382 looks a likely candidate.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]