https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78669
Uroš Bizjak <ubizjak at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2016-12-04 Component|target |rtl-optimization Target Milestone|--- |7.0 Summary|ICE: in |[7 Regression]: ICE: in |combine_and_move_insns, at |combine_and_move_insns, at |ira.c:3665 with -Os |ira.c:3665 with -Os |-fno-tree-ter -mavx512bw |-fno-tree-ter -mavx512bw Ever confirmed|0 |1 --- Comment #1 from Uroš Bizjak <ubizjak at gmail dot com> --- Confirmed, the compilation breaks at: (gdb) up #2 0x0000000000c0fc8a in combine_and_move_insns () at /home/uros/gcc-svn/trunk/gcc/ira.c:3665 3665 gcc_assert (use_insn); (gdb) 3651 if (!reg_equiv[regno].replace) 3652 continue; 3653 3654 rtx_insn *use_insn = 0; 3655 for (df_ref use = DF_REG_USE_CHAIN (regno); 3656 use; 3657 use = DF_REF_NEXT_REG (use)) 3658 if (DF_REF_INSN_INFO (use)) 3659 { 3660 if (DEBUG_INSN_P (DF_REF_INSN (use))) 3661 continue; 3662 gcc_assert (!use_insn); 3663 use_insn = DF_REF_INSN (use); 3664 } 3665 gcc_assert (use_insn); 3666 3667 /* Don't substitute into jumps. indirect_jump_optimize does 3668 this for anything we are prepared to handle. */ 3669 if (JUMP_P (use_insn)) 3670 continue; (gdb) p regno $2 = 125 Suggesting, that there are no uses of r125. But, we have in _.267r.asmcons: (insn 24 23 25 2 (set (reg:V4DI 125) (const_vector:V4DI [ (const_int -1 [0xffffffffffffffff]) (const_int -1 [0xffffffffffffffff]) (const_int -1 [0xffffffffffffffff]) (const_int -1 [0xffffffffffffffff]) ])) 1217 {movv4di_internal} (nil)) (insn 25 24 152 2 (set (reg:V8DI 119) (vec_concat:V8DI (reg:V4DI 124) (reg:V4DI 125))) 4519 {avx_vec_concatv8di} (expr_list:REG_DEAD (reg:V4DI 125) (expr_list:REG_DEAD (reg:V4DI 124) (expr_list:REG_EQUAL (const_vector:V8DI [ (const_int 0 [0]) (const_int 1 [0x1]) (const_int 3 [0x3]) (const_int 0 [0]) (const_int -1 [0xffffffffffffffff]) (const_int -1 [0xffffffffffffffff]) (const_int -1 [0xffffffffffffffff]) (const_int -1 [0xffffffffffffffff]) ]) (nil))))) Looks like rtl-optimization problem, either dataflow or RA.