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.

Reply via email to