http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58115
Bug ID: 58115 Summary: testcase gcc.target/i386/intrinsics_4.c failure Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: bernd.edlinger at hotmail dot de Target: i386-pc-linux-gnu Build: gcc-4.9-20130728 this test case fails on i686-pc-linux with internal error. intrinsics_4.c: In function 'foo': intrinsics_4.c:15:1: internal compiler error: Max. number of generated reload insns per insn is achieved (90) } ^ 0x849e4c3 lra_constraints(bool) ../../gcc-4.9-20130728/gcc/lra-constraints.c:3724 0x849136c lra(_IO_FILE*) ../../gcc-4.9-20130728/gcc/lra.c:2319 0x8456beb do_reload ../../gcc-4.9-20130728/gcc/ira.c:4689 0x8456beb rest_of_handle_reload ../../gcc-4.9-20130728/gcc/ira.c:4801 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. The crash happens only with this command line "gcc -O2 -msse -mno-avx -S intrinsics_4.c" but not with "-O1 -msse -mno-avx" or "-O2 -msse2 -mno-avx" The problem seems to be triggered when the movv8sf_internal is split up to 8 movsi_internal which leads to the crash in the lra. The wrong decision is happening in expr.c in emit_move_insn: #0 emit_move_multi_word(machine_mode, rtx_def*, rtx_def*) () at ../../gcc-4.9-20130728/gcc/expr.c:3344 #1 0x08332390 in emit_move_insn(rtx_def*, rtx_def*) () at ../../gcc-4.9-20130728/gcc/expr.c:3526 #2 0x08311cb1 in force_reg(machine_mode, rtx_def*) [clone .part.2] () #3 0x08833225 in ix86_fixup_binary_operands(rtx_code, machine_mode, rtx_def**) () at ../../gcc-4.9-20130728/gcc/config/i386/i386.c:16729 #4 0x08833250 in ix86_fixup_binary_operands_no_copy(rtx_code, machine_mode, rtx_def**) () at ../../gcc-4.9-20130728/gcc/config/i386/i386.c:16763 #5 0x088d3af0 in gen_andv8sf3(rtx_def*, rtx_def*, rtx_def*) () #6 0x081149db in ix86_expand_args_builtin(builtin_description const*, tree_node*, rtx_def*) () at ../../gcc-4.9-20130728/gcc/config/i386/i386.c:30457 #7 0x0884b762 in ix86_expand_builtin(tree_node*, rtx_def*, rtx_def*, machine_mode, int) () at ../../gcc-4.9-20130728/gcc/config/i386/i386.c:32769 #8 0x082367cc in expand_builtin(tree_node*, rtx_def*, rtx_def*, machine_mode, int) () at ../../gcc-4.9-20130728/gcc/builtins.c:5823 #9 0x0832bd9d in expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**) () at ../../gcc-4.9-20130728/gcc/expr.c:10270 #10 0x0833953d in store_expr(tree_node*, rtx_def*, int, bool) () at ../../gcc-4.9-20130728/gcc/expr.c:5287 #11 0x0833bf96 in expand_assignment(tree_node*, tree_node*, bool) () at ../../gcc-4.9-20130728/gcc/expr.c:5073 #12 0x0825831c in expand_gimple_stmt(gimple_statement_d*) () at ../../gcc-4.9-20130728/gcc/cfgexpand.c:2178 #13 0x0825971c in expand_gimple_basic_block(basic_block_def*, bool) () at ../../gcc-4.9-20130728/gcc/cfgexpand.c:4204 #14 0x0825b458 in gimple_expand_cfg() () at ../../gcc-4.9-20130728/gcc/cfgexpand.c:4723 #15 0x084f09eb in execute_one_pass(opt_pass*) () at ../../gcc-4.9-20130728/gcc/passes.c:1965 #16 0x084f0e15 in execute_pass_list(opt_pass*) () at ../../gcc-4.9-20130728/gcc/passes.c:2017 #17 0x0827c09e in expand_function(cgraph_node*) () at ../../gcc-4.9-20130728/gcc/cgraphunit.c:1591 #18 0x0827df4d in compile() () at ../../gcc-4.9-20130728/gcc/cgraphunit.c:1695 #19 0x0827e59a in finalize_compilation_unit() () at ../../gcc-4.9-20130728/gcc/cgraphunit.c:2106 #20 0x08146075 in c_write_global_declarations() () at ../../gcc-4.9-20130728/gcc/c/c-decl.c:10125 #21 0x08595d5d in compile_file() () #22 0x08597d42 in toplev_main(int, char**) () #23 0x08127ebb in main () at ../../gcc-4.9-20130728/gcc/main.c:36 This is probably an error from the back-end optab_handler (?) The failure started from 2013-06-23 and continues till today.