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.