https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84452
Bug ID: 84452 Summary: [8 Regression] ICE in expand_simd_clones at gcc/omp-simd-clone.c:1612 Product: gcc Version: unknown Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org CC: segher at gcc dot gnu.org Target Milestone: --- Host: x86_64-unknown-linux-gnu Target: ppc64le-linux-gnu Probably GCC 8 regression: $ ppc64le-linux-gnu-gcc /home/marxin/Programming/gcc/gcc/testsuite/gcc.target/i386/pr84309.c -Ofast during GIMPLE pass: vect /home/marxin/Programming/gcc/gcc/testsuite/gcc.target/i386/pr84309.c: In function ‘foo’: /home/marxin/Programming/gcc/gcc/testsuite/gcc.target/i386/pr84309.c:10:1: internal compiler error: Segmentation fault foo (void) ^~~ 0xb84bff crash_signal .././../gcc/toplev.c:325 Program received signal SIGSEGV, Segmentation fault. 0x0000000000000000 in ?? () (gdb) bt #0 0x0000000000000000 in ?? () #1 0x00000000012d0bc3 in expand_simd_clones (node=node@entry=0x7ffff69cd2e0) at .././../gcc/omp-simd-clone.c:1612 #2 0x00000000013085d7 in vect_recog_pow_pattern (stmts=<optimized out>, type_in=0x7fffffffd0b0, type_out=0x7fffffffd0b8) at .././../gcc/tree-vect-patterns.c:1118 #3 0x0000000001303fe9 in vect_pattern_recog_1 (recog_func=recog_func@entry=0x1ca16a0 <vect_vect_recog_func_ptrs+64>, stmts_to_replace=stmts_to_replace@entry=0x7fffffffd100, si=...) at .././../gcc/tree-vect-patterns.c:4489 #4 0x00000000013089f7 in vect_pattern_recog (vinfo=vinfo@entry=0x1e8bc00) at .././../gcc/tree-vect-patterns.c:4681 #5 0x0000000000e15a6f in vect_analyze_loop_2 (fatal=<synthetic pointer>: <optimized out>, loop_vinfo=<optimized out>) at .././../gcc/tree-vect-loop.c:2161 #6 vect_analyze_loop (loop=loop@entry=0x7ffff67fc770, orig_loop_vinfo=orig_loop_vinfo@entry=0x0) at .././../gcc/tree-vect-loop.c:2612 #7 0x0000000000e33557 in vectorize_loops () at .././../gcc/tree-vectorizer.c:664 #8 0x0000000000aa4281 in execute_one_pass (pass=pass@entry=0x1dc3200) at .././../gcc/passes.c:2497 #9 0x0000000000aa4b41 in execute_pass_list_1 (pass=0x1dc3200) at .././../gcc/passes.c:2586 #10 0x0000000000aa4b53 in execute_pass_list_1 (pass=0x1dc2a70) at .././../gcc/passes.c:2587 #11 0x0000000000aa4b53 in execute_pass_list_1 (pass=0x1dc16e0) at .././../gcc/passes.c:2587 #12 0x0000000000aa4b95 in execute_pass_list (fn=<optimized out>, pass=<optimized out>) at .././../gcc/passes.c:2597 #13 0x000000000074bcf0 in cgraph_node::expand (this=0x7ffff69cd000) at .././../gcc/cgraphunit.c:2139 #14 0x000000000074d291 in expand_all_functions () at .././../gcc/cgraphunit.c:2275 #15 symbol_table::compile (this=this@entry=0x7ffff67fe000) at .././../gcc/cgraphunit.c:2624 #16 0x000000000074fb67 in symbol_table::compile (this=0x7ffff67fe000) at .././../gcc/cgraphunit.c:2720 #17 symbol_table::finalize_compilation_unit (this=0x7ffff67fe000) at .././../gcc/cgraphunit.c:2717 #18 0x0000000000b84ede in compile_file () at .././../gcc/toplev.c:480 #19 0x000000000059fd75 in do_compile () at .././../gcc/toplev.c:2132 #20 toplev::main (this=this@entry=0x7fffffffd58e, argc=<optimized out>, argc@entry=23, argv=<optimized out>, argv@entry=0x7fffffffd688) at .././../gcc/toplev.c:2267 #21 0x00000000005a22ab in main (argc=23, argv=0x7fffffffd688) at .././../gcc/main.c:39 (gdb) p *current_pass $1 = {<pass_data> = {type = GIMPLE_PASS, name = 0x14d5527 "vect", optinfo_flags = 36, tv_id = TV_TREE_VECTORIZATION, properties_required = 40, properties_provided = 0, properties_destroyed = 0, todo_flags_start = 524288, todo_flags_finish = 0}, _vptr.opt_pass = 0x14dace8 <vtable for (anonymous namespace)::pass_vectorize+16>, sub = 0x1dc3260, next = 0x1dc32c0, static_pass_number = 166, m_ctxt = 0x1d9a860}