This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/81500] New: ice with -O3 in process_use, at tree-vect-stmts.c:506
- From: "dcb314 at hotmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 20 Jul 2017 20:37:51 +0000
- Subject: [Bug c/81500] New: ice with -O3 in process_use, at tree-vect-stmts.c:506
- Auto-submitted: auto-generated
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.