http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60000
Bug ID: 60000 Summary: GCC trunk build failure caused by the vectorizer. Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: congh at gcc dot gnu.org GCC fails to build the following code with flags g++ -O2 -fno-tree-vrp -ftree-vectorize foo.C //foo.C: void foo(bool* a, int* b) { for(int i = 0; i < 1000; ++i) { a[i] = i % 2; b[i] = i % 3; } } The output message from GCC: void foo(bool*, int*) Analyzing compilation unit Performing interprocedural optimizations <*free_lang_data> <visibility> <early_local_cleanups> <*free_inline_summary> <whole-program> <profile_estimate> <devirt> <cp> <inline> <pure-const> <static-var>Assembling functions: void foo(bool*, int*)foo.C:3:3: note: loop vectorized foo.C:3:3: note: loop versioned for vectorization because of possible aliasing foo.C: In function ‘void foo(bool*, int*)’: foo.C:1:6: internal compiler error: in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1449 void foo(bool* a, int* b) ^ 0xf82cd5 vect_get_vec_def_for_operand(tree_node*, gimple_statement_base*, tree_node**) ../../gcc/gcc/tree-vect-stmts.c:1449 0xf83194 vect_get_vec_defs(tree_node*, tree_node*, gimple_statement_base*, vec<tree_node*, va_heap, vl_ptr>*, vec<tree_node*, va_heap, vl_ptr>*, _slp_tree*, int) ../../gcc/gcc/tree-vect-stmts.c:1634 0xf8e060 vectorizable_operation ../../gcc/gcc/tree-vect-stmts.c:4785 0xf94be4 vect_transform_stmt(gimple_statement_base*, gimple_stmt_iterator*, bool*, _slp_tree*, _slp_instance*) ../../gcc/gcc/tree-vect-stmts.c:6959 0xfa8f0e vect_transform_loop(_loop_vec_info*) ../../gcc/gcc/tree-vect-loop.c:6046 0xfbe02a vectorize_loops() ../../gcc/gcc/tree-vectorizer.c:476 0xec9b80 tree_loop_vectorize ../../gcc/gcc/tree-ssa-loop.c:154 0xec9c0a execute ../../gcc/gcc/tree-ssa-loop.c:189 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions.