[Bug rtl-optimization/77919] New: ICE converting DC to V2DF mode

krebbel at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Oct 10 11:53:00 GMT 2016


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77919

            Bug ID: 77919
           Summary: ICE converting DC to V2DF mode
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: krebbel at gcc dot gnu.org
  Target Milestone: ---

Created attachment 39780
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39780&action=edit
auto-reduced testcase

The attached testcase ICEs with a segmentation fault compiled on x86-64 r240231
with -O1:


t.cc:94:21: internal compiler error: Segmentation fault
       return vfrom->v2d;
                     ^~~
0xd7c1cf crash_signal
        /home/andreas/clean/../gcc/gcc/toplev.c:336
0xa4ea44 emit_move_insn(rtx_def*, rtx_def*)
        /home/andreas/clean/../gcc/gcc/expr.c:3692
0xa5785c store_expr_with_bounds(tree_node*, rtx_def*, int, bool, bool,
tree_node*)
        /home/andreas/clean/../gcc/gcc/expr.c:5624
0xa582b5 expand_assignment(tree_node*, tree_node*, bool)
        /home/andreas/clean/../gcc/gcc/expr.c:5316
0x94107c expand_gimple_stmt_1
        /home/andreas/clean/../gcc/gcc/cfgexpand.c:3649
0x94107c expand_gimple_stmt
        /home/andreas/clean/../gcc/gcc/cfgexpand.c:3745
0x942ec1 expand_gimple_basic_block
        /home/andreas/clean/../gcc/gcc/cfgexpand.c:5752
0x9485e6 execute
        /home/andreas/clean/../gcc/gcc/cfgexpand.c:6363
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.

Program received signal SIGSEGV, Segmentation fault.
0x0000000000af72b4 in emit_move_insn (x=0x7fffefe36ee8, y=0x0) at
/home/andreas/clean/../gcc/gcc/expr.c:3692
3692      gcc_assert (mode != BLKmode
Missing separate debuginfos, use: debuginfo-install
glibc-2.17-106.el7_2.8.x86_64 gmp-6.0.0-12.el7_1.x86_64
libgcc-4.8.5-4.el7.x86_64 libmpc-1.0.1-3.el7.x86_64
libstdc++-4.8.5-4.el7.x86_64 mpfr-3.1.1-4.el7.x86_64 zlib-1.2.7-15.el7.x86_64
(gdb) bt
#0  0x0000000000af72b4 in emit_move_insn (x=0x7fffefe36ee8, y=0x0) at
/home/andreas/clean/../gcc/gcc/expr.c:3692
#1  0x0000000000aee203 in convert_move (to=0x7fffefe36ee8, from=0x0,
unsignedp=0) at /home/andreas/clean/../gcc/gcc/expr.c:264
#2  0x0000000000afd961 in store_expr_with_bounds (exp=0x7fffefe24bd0,
target=0x7fffefe36ee8, call_param_p=0, nontemporal=false, reverse=false,
btarget=0x7fffefe23f30)
    at /home/andreas/clean/../gcc/gcc/expr.c:5624
#3  0x0000000000afbde0 in expand_assignment (to=0x7fffefe23f30,
from=0x7fffefe24bd0, nontemporal=false) at
/home/andreas/clean/../gcc/gcc/expr.c:5316
#4  0x00000000009be95a in expand_gimple_stmt_1 (stmt=0x7fffefe22fa0) at
/home/andreas/clean/../gcc/gcc/cfgexpand.c:3649
#5  0x00000000009bed45 in expand_gimple_stmt (stmt=0x7fffefe22fa0) at
/home/andreas/clean/../gcc/gcc/cfgexpand.c:3745
#6  0x00000000009c5e4e in expand_gimple_basic_block (bb=0x7fffefe1e208,
disable_tail_calls=false) at /home/andreas/clean/../gcc/gcc/cfgexpand.c:5752
#7  0x00000000009c7922 in (anonymous namespace)::pass_expand::execute
(this=0x236e4e0, fun=0x7ffff01cc498) at
/home/andreas/clean/../gcc/gcc/cfgexpand.c:6363
#8  0x0000000000dab0ef in execute_one_pass (pass=pass@entry=0x236e4e0) at
/home/andreas/clean/../gcc/gcc/passes.c:2342
#9  0x0000000000dab768 in execute_pass_list_1 (pass=0x236e4e0) at
/home/andreas/clean/../gcc/gcc/passes.c:2431
#10 0x0000000000dab7c5 in execute_pass_list (fn=0x7ffff01cc498, pass=<optimized
out>) at /home/andreas/clean/../gcc/gcc/passes.c:2442
#11 0x0000000000a038ed in cgraph_node::expand (this=0x7ffff01cb8a0) at
/home/andreas/clean/../gcc/gcc/cgraphunit.c:1985
#12 0x0000000000a05211 in expand_all_functions () at
/home/andreas/clean/../gcc/gcc/cgraphunit.c:2121
#13 symbol_table::compile (this=this@entry=0x7fffeffd20a8) at
/home/andreas/clean/../gcc/gcc/cgraphunit.c:2478
#14 0x0000000000a072ea in symbol_table::finalize_compilation_unit
(this=0x7fffeffd20a8) at /home/andreas/clean/../gcc/gcc/cgraphunit.c:2568
#15 0x0000000000e890b8 in compile_file () at
/home/andreas/clean/../gcc/gcc/toplev.c:491
#16 0x0000000000e8b66b in do_compile () at
/home/andreas/clean/../gcc/gcc/toplev.c:2010
#17 0x0000000000e8b93b in toplev::main (this=0x7fffffffe270, argc=3,
argv=0x7fffffffe378) at /home/andreas/clean/../gcc/gcc/toplev.c:2144
#18 0x00000000006708f7 in main (argc=3, argv=0x7fffffffe378) at
/home/andreas/clean/../gcc/gcc/main.c:39
(gdb) frame 2
#2  0x0000000000afd961 in store_expr_with_bounds (exp=0x7fffefe24bd0,
target=0x7fffefe36ee8, call_param_p=0, nontemporal=false, reverse=false,
btarget=0x7fffefe23f30)
    at /home/andreas/clean/../gcc/gcc/expr.c:5624
5624                convert_move (target, temp, TYPE_UNSIGNED (TREE_TYPE
(exp)));
(gdb) p temp
$1 = (rtx) 0x7fffefe41558
(gdb) p debug_rtx(temp)
(concat:DC (reg:DF 110 [ D.3170 ])
    (reg:DF 111 [ D.3170+8 ]))
$2 = void
(gdb) p debug_rtx(target)
(reg:V2DF 107 [ _40 ])
$3 = void


More information about the Gcc-bugs mailing list