https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68852
Bug ID: 68852 Summary: [6 Regression] ICE in vect_is_simple_use (tree-vect-stmts.c:8750) using -O3 Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org Target Milestone: --- Created attachment 36991 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36991&action=edit test-case Starting from r230993: Author: rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Fri Nov 27 08:31:44 2015 +0000 2015-11-27 Richard Biener <rguent...@suse.de> PR tree-optimization/68553 * tree-vect-slp.c (vect_get_mask_element): Remove. (vect_transform_slp_perm_load): Implement in a simpler way. * gcc.dg/vect/pr45752.c: Adjust. * gcc.dg/vect/slp-perm-4.c: Likewise. I see ICE in tree-vect-stmts.c:8750: $ ./xgcc -B. -O3 ~/Programming/testcases/tree-vect-stmts-ice/vect-ice.ii -c /home/marxin/Programming/testcases/tree-vect-stmts-ice/vect-ice.ii: In function ‘void fn1()’: /home/marxin/Programming/testcases/tree-vect-stmts-ice/vect-ice.ii:46:6: internal compiler error: in vect_is_simple_use, at tree-vect-stmts.c:8750 void fn1() { ^~~ 0xf28870 vect_is_simple_use(tree_node*, vec_info*, gimple**, vect_def_type*, tree_node**) ../../gcc/tree-vect-stmts.c:8750 0xf2f143 vectorizable_operation ../../gcc/tree-vect-stmts.c:4874 0xf3e2f7 vect_analyze_stmt(gimple*, bool*, _slp_tree*) ../../gcc/tree-vect-stmts.c:8090 0xf57192 vect_slp_analyze_node_operations ../../gcc/tree-vect-slp.c:2205 0xf57113 vect_slp_analyze_node_operations ../../gcc/tree-vect-slp.c:2196 0xf583cc vect_slp_analyze_operations(vec<_slp_instance*, va_heap, vl_ptr>, void*) ../../gcc/tree-vect-slp.c:2228 0xf5d35c vect_slp_analyze_bb_1 ../../gcc/tree-vect-slp.c:2511 0xf5d35c vect_slp_bb(basic_block_def*) ../../gcc/tree-vect-slp.c:2598 0xf5f4b5 execute ../../gcc/tree-vectorizer.c:759 Thanks, Martin