https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67766
Bug ID: 67766 Summary: [6 Regression]: Bootstrap failure on alpha-linux-gnu: ICE in simplify_subreg, at simplify-rtx.c Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: ubizjak at gmail dot com CC: aoliva at gcc dot gnu.org Target Milestone: --- Target: alpha-linux-gnu Created attachment 36416 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36416&action=edit Preprocessed testcase alpha-linux-gnu bootstrap is currently broken due to r228175: 2015-09-27 Alexandre Oliva <aol...@redhat.com> PR rtl-optimization/64164 PR tree-optimization/67312 PR middle-end/67340 PR middle-end/67490 PR bootstrap/67597 * cfgexpand.c (parm_in_stack_slot_p): Remove. (ssa_default_def_partition): Remove. (get_rtl_for_parm_ssa_default_def): Remove. (set_rtl): Check that RTL assignments match expectations. Loop on SUBREGs, CONCATs and PARALLELs subexprs. Set only the default def location for params and results. Record SSA names or types in REG and MEM attrs, respectively. ... The ICE can be reproduced with a crosscompiler from x86_64-linux-gnu to alpha-linux-gnu, configured with: --target=alpha-linux-gnu --enable-languages=c --with-long-double-128 ~/gcc-build-alpha/gcc/cc1 -O2 -quiet -fpreprocessed -o libgcc2.o libgcc2.i /space/homedirs/uros/gcc-svn/trunk/libgcc/libgcc2.c: In function ‘__mulsc3’: /space/homedirs/uros/gcc-svn/trunk/libgcc/libgcc2.c:1992:1: internal compiler error: in simplify_subreg, at simplify-rtx.c:5807 0xa50bb0 simplify_subreg(machine_mode, rtx_def*, machine_mode, unsigned int) ../../gcc-svn/trunk/gcc/simplify-rtx.c:5807 0xa5104c simplify_gen_subreg(machine_mode, rtx_def*, machine_mode, unsigned int) ../../gcc-svn/trunk/gcc/simplify-rtx.c:6031 0xa1a494 gen_lowpart_general(machine_mode, rtx_def*) ../../gcc-svn/trunk/gcc/rtlhooks.c:54 0x7885cf convert_move(rtx_def*, rtx_def*, int) ../../gcc-svn/trunk/gcc/expr.c:581 0x7e6edd expand_function_end() ../../gcc-svn/trunk/gcc/function.c:5461 0x67c669 construct_exit_block ../../gcc-svn/trunk/gcc/cfgexpand.c:5820 0x67c669 execute ../../gcc-svn/trunk/gcc/cfgexpand.c:6326 Please submit a full bug report, [...] gdb session: Breakpoint 1, internal_error (gmsgid=0x11f6cd5 "in %s, at %s:%d") at ../../gcc-svn/trunk/gcc/diagnostic.c:1134 1134 internal_error (const char *gmsgid, ...) (gdb) bt #0 internal_error (gmsgid=0x11f6cd5 "in %s, at %s:%d") at ../../gcc-svn/trunk/gcc/diagnostic.c:1134 #1 0x000000000102091c in fancy_abort (file=<optimized out>, line=5807, function=0x1121860 <simplify_subreg(machine_mode, rtx_def*, machine_mode, unsigned int)::__FUNCTION__> "simplify_subreg") at ../../gcc-svn/trunk/gcc/diagnostic.c:1209 #2 0x0000000000a50bb1 in simplify_subreg (outermode=VOIDmode, op=0x2aaaaeae4d20, innermode=SCmode, byte=0) at ../../gcc-svn/trunk/gcc/simplify-rtx.c:5807 #3 0x0000000000a5104d in simplify_gen_subreg (outermode=18836693, op=0x1121860 <simplify_subreg(machine_mode, rtx_def*, machine_mode, unsigned int)::__FUNCTION__>, innermode=17959616, byte=5807) at ../../gcc-svn/trunk/gcc/simplify-rtx.c:6031 #4 0x0000000000a1a495 in gen_lowpart_general (mode=VOIDmode, x=0x2aaaaeae4d20) at ../../gcc-svn/trunk/gcc/rtlhooks.c:54 #5 0x00000000007885d0 in convert_move (to=0x2aaaaea95df0, from=<optimized out>, unsignedp=0) at ../../gcc-svn/trunk/gcc/expr.c:581 #6 0x00000000007e6ede in expand_function_end () at ../../gcc-svn/trunk/gcc/function.c:5461 #7 0x000000000067c66a in construct_exit_block () at ../../gcc-svn/trunk/gcc/cfgexpand.c:5820 #8 (anonymous namespace)::pass_expand::execute (this=<optimized out>, fun=0x2aaaaea8b348) at ../../gcc-svn/trunk/gcc/cfgexpand.c:6326 convert_move tries to generate a VOIDmode subreg: (gdb) f 5 #5 0x00000000007885d0 in convert_move (to=0x2aaaaea95df0, from=<optimized out>, unsignedp=0) at ../../gcc-svn/trunk/gcc/expr.c:581 581 emit_move_insn (to, gen_lowpart (to_mode, from)); (gdb) p debug_rtx (to) (parallel/i [ (expr_list:REG_DEP_TRUE (reg:SF 32 $f0) (const_int 0 [0])) (expr_list:REG_DEP_TRUE (reg:SF 33 $f1) (const_int 4 [0x4])) ]) $4 = void (gdb) f 4 #4 0x0000000000a1a495 in gen_lowpart_general (mode=VOIDmode, x=0x2aaaaeae4d20) at ../../gcc-svn/trunk/gcc/rtlhooks.c:54 54 rtx result = gen_lowpart_common (mode, x); (gdb) p mode $5 = VOIDmode (gdb) p debug_rtx (x) (concat:SC (reg:SF 608) (reg:SF 609)) $6 = void