https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117248
John David Anglin <danglin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://gcc.gnu.org/bugzill | |a/show_bug.cgi?id=117770 --- Comment #6 from John David Anglin <danglin at gcc dot gnu.org> --- The linux error is slightly different. We have lost the setup of the second argument in the call to $$remU just after the call to $$divU. (gdb) bt #0 $$remU () at ../../../gcc/libgcc/config/pa/milli64.S:945 #1 0x00c73104 in vectorizable_slp_permutation_1 (vinfo=<optimized out>, gsi=<optimized out>, node=<optimized out>, perm=..., children=..., dump_p=<optimized out>) at ../../gcc/gcc/tree-vect-slp.cc:10843 #2 0x00c7431c in vect_optimize_slp_pass::change_layout_cost (this=0x0, node=<optimized out>, from_layout_i=<optimized out>, to_layout_i=<optimized out>) at ../../gcc/gcc/tree-vect-slp.cc:5992 #3 0x00c74554 in vect_optimize_slp_pass::edge_layout_cost (this=0x0, ud=<optimized out>, node1_i=<optimized out>, layout1_i=<optimized out>, layout2_i=<optimized out>) at ../../gcc/gcc/tree-vect-slp.cc:6427 #4 0x00c75d84 in operator() (__closure=<synthetic pointer>, ud=0xf9b01f54, other_node_i=<optimized out>) at ../../gcc/gcc/tree-vect-slp.cc:6645 #5 vect_optimize_slp_pass::for_each_partition_edge<vect_optimize_slp_pass::forward_pass()::<lambda(graph_edge*, unsigned int)> > (this=0x10, node_i=<optimized out>, fn=...) at ../../gcc/gcc/tree-vect-slp.cc:5933 #6 vect_optimize_slp_pass::forward_pass (this=0x10) at ../../gcc/gcc/tree-vect-slp.cc:6648 #7 0x00c87a34 in vect_optimize_slp_pass::run (this=0x0) at ../../gcc/gcc/tree-vect-slp.cc:7289 #8 0x00c87b30 in vect_optimize_slp (vinfo=0x0) at ../../gcc/gcc/vec.h:1708 #9 0x00c90c6c in vect_optimize_slp (vinfo=0x3) at ../../gcc/gcc/vec.h:604 #10 vect_slp_analyze_bb_1 (bb_vinfo=0x3, n_stmts=291, fatal=<synthetic pointer>: <optimized out>, dataref_groups=0xf9b01b64) at ../../gcc/gcc/tree-vect-slp.cc:9375 #11 vect_slp_region (bbs=..., datarefs=..., dataref_groups=0xf9b01b64, n_stmts=<optimized out>, orig_loop=<optimized out>) at ../../gcc/gcc/tree-vect-slp.cc:9463 #12 vect_slp_bbs (bbs=..., orig_loop=<optimized out>) at ../../gcc/gcc/tree-vect-slp.cc:9686 #13 0x00c92cc8 in vect_slp_function (fun=0x3) at ../../gcc/gcc/tree-vect-slp.cc:9808 #14 0x00c9c700 in (anonymous namespace)::pass_slp_vectorize::execute (this=<optimized out>, fun=0x1e97508) at ../../gcc/gcc/tree-vectorizer.cc:1541 #15 0x008107bc in execute_one_pass (pass=0x0) at ../../gcc/gcc/passes.cc:2659 #16 0x008111cc in execute_pass_list_1 (pass=0x0) at ../../gcc/gcc/passes.cc:2768 #17 0x008111e4 in execute_pass_list_1 (pass=0x0) at ../../gcc/gcc/passes.cc:2769 #18 0x008111e4 in execute_pass_list_1 (pass=0x0) at ../../gcc/gcc/passes.cc:2769 #19 0x00811244 in execute_pass_list (fn=<optimized out>, pass=<optimized out>) at ../../gcc/gcc/passes.cc:2779 --Type <RET> for more, q to quit, c to continue without paging-- #20 0x003fbff8 in cgraph_node::expand (this=0x0) at ../../gcc/gcc/context.h:48 #21 cgraph_node::expand (this=0x0) at ../../gcc/gcc/cgraphunit.cc:1798 #22 0x003fdfec in expand_all_functions () at ../../gcc/gcc/cgraphunit.cc:2028 #23 symbol_table::compile (this=0xf9b02178) at ../../gcc/gcc/cgraphunit.cc:2404 #24 0x004001f4 in symbol_table::compile (this=0x1e97508) at ../../gcc/gcc/cgraphunit.cc:2315 #25 symbol_table::finalize_compilation_unit (this=0x1e97508) at ../../gcc/gcc/cgraphunit.cc:2589 #26 0x00958550 in compile_file () at ../../gcc/gcc/toplev.cc:479 #27 0x002011a8 in do_compile () at ../../gcc/gcc/toplev.cc:2211 #28 toplev::main (this=<optimized out>, argc=<optimized out>, argv=<optimized out>) at ../../gcc/gcc/toplev.cc:2371 #29 0x00202a70 in main (argc=-105897016, argv=0x1c49f28 <global_options>) at ../../gcc/gcc/main.cc:39 (gdb) disass $pc-32,$pc+16 Dump of assembler code from 0xc730e4 to 0xc73114: 0x00c730e4 <vectorizable_slp_permutation_1(vec_info*, gimple_stmt_iterator*, slp_tree, lane_permutation_t&, vec<_slp_tree*, va_heap, vl_ptr>&, bool)+2384>: copy r3,r26 0x00c730e8 <vectorizable_slp_permutation_1(vec_info*, gimple_stmt_iterator*, slp_tree, lane_permutation_t&, vec<_slp_tree*, va_heap, vl_ptr>&, bool)+2388>: ldw -e4(sp),r25 0x00c730ec <vectorizable_slp_permutation_1(vec_info*, gimple_stmt_iterator*, slp_tree, lane_permutation_t&, vec<_slp_tree*, va_heap, vl_ptr>&, bool)+2392>: b,l 0xc66a84,r31 0x00c730f0 <vectorizable_slp_permutation_1(vec_info*, gimple_stmt_iterator*, slp_tree, lane_permutation_t&, vec<_slp_tree*, va_heap, vl_ptr>&, bool)+2396>: nop 0x00c730f4 <vectorizable_slp_permutation_1(vec_info*, gimple_stmt_iterator*, slp_tree, lane_permutation_t&, vec<_slp_tree*, va_heap, vl_ptr>&, bool)+2400>: copy r3,r26 0x00c730f8 <vectorizable_slp_permutation_1(vec_info*, gimple_stmt_iterator*, slp_tree, lane_permutation_t&, vec<_slp_tree*, va_heap, vl_ptr>&, bool)+2404>: copy ret1,r6 0x00c730fc <vectorizable_slp_permutation_1(vec_info*, gimple_stmt_iterator*, slp_tree, lane_permutation_t&, vec<_slp_tree*, va_heap, vl_ptr>&, bool)+2408>: b,l 0xc66f6c,r31 0x00c73100 <vectorizable_slp_permutation_1(vec_info*, gimple_stmt_iterator*, slp_tree, lane_permutation_t&, vec<_slp_tree*, va_heap, vl_ptr>&, bool)+2412>: nop => 0x00c73104 <vectorizable_slp_permutation_1(vec_info*, gimple_stmt_iterator*, slp_tree, lane_permutation_t&, vec<_slp_tree*, va_heap, vl_ptr>&, bool)+2416>: ldw -108(sp),r31 0x00c73108 <vectorizable_slp_permutation_1(vec_info*, gimple_stmt_iterator*, slp_tree, lane_permutation_t&, vec<_slp_tree*, va_heap, vl_ptr>&, bool)+2420>: depw,z ret1,27,28,ret0 0x00c7310c <vectorizable_slp_permutation_1(vec_info*, gimple_stmt_iterator*, slp_tree, lane_permutation_t&, vec<_slp_tree*, va_heap, vl_ptr>&, bool)+2424>: ldo 8(ret0),ret0 0x00c73110 <vectorizable_slp_permutation_1(vec_info*, gimple_stmt_iterator*, slp_tree, lane_permutation_t&, vec<_slp_tree*, va_heap, vl_ptr>&, bool)+2428>: add,l r5,ret0,r20 End of assembler dump.