This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/81511] New: gcc ICE at -O3 on valid code on x86_64-linux-gnu in operator[], at vec.h:749
- From: "helloqirun at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 21 Jul 2017 18:43:41 +0000
- Subject: [Bug tree-optimization/81511] New: gcc ICE at -O3 on valid code on x86_64-linux-gnu in operator[], at vec.h:749
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81511
Bug ID: 81511
Summary: gcc ICE at -O3 on valid code on x86_64-linux-gnu in
operator[], at vec.h:749
Product: gcc
Version: 8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: helloqirun at gmail dot com
Target Milestone: ---
The following valid code causes an ICE when compiled with the current gcc trunk
at only -O3 on x86_64-linux-gnu.
$ gcc-trunk --version
gcc-trunk (GCC) 8.0.0 20170721 (experimental) [trunk revision 250425]
$ gcc-trunk -O3 abc.c
during GIMPLE pass: vect
abc.c: In function ‘fn1’:
abc.c:3:6: internal compiler error: in operator[], at vec.h:749
void fn1() {
^~~
0x7624ac vec<_stmt_vec_info*, va_heap, vl_embed>::operator[](unsigned int)
../../gcc/gcc/vec.h:749
0x7624ac vec<_stmt_vec_info*, va_heap, vl_ptr>::operator[](unsigned int)
../../gcc/gcc/vec.h:1234
0x7624ac vinfo_for_stmt
../../gcc/gcc/tree-vectorizer.h:800
0x765cc4 vinfo_for_stmt
../../gcc/gcc/tree-vect-loop.c:3165
0x765cc4 vect_is_simple_reduction
../../gcc/gcc/tree-vect-loop.c:3072
0xee2884 vect_force_simple_reduction(_loop_vec_info*, gimple*, bool*, bool)
../../gcc/gcc/tree-vect-loop.c:3298
0xee2cd7 vect_analyze_scalar_cycles_1
../../gcc/gcc/tree-vect-loop.c:857
0xee4d4c vect_analyze_scalar_cycles
../../gcc/gcc/tree-vect-loop.c:934
0xee4d4c vect_analyze_loop_2
../../gcc/gcc/tree-vect-loop.c:1930
0xee4d4c vect_analyze_loop(loop*, _loop_vec_info*)
../../gcc/gcc/tree-vect-loop.c:2405
0xef0bb2 vectorize_loops()
../../gcc/gcc/tree-vectorizer.c:669
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.
$ cat abc.c
int a, b, d, e;
char c, f;
void fn1() {
for (; b; b = b + 5) {
e = a;
a = 1 | d;
d = f < 0 ^ c;
}
}