Jumps are written in RTL as moves to PC. But the latter has no mode, so we shouldn't try to use it. Since the optimization this routine does does not really help for jumps at all, let's just skip it.
Committing. 2018-10-24 Segher Boessenkool <seg...@kernel.crashing.org> PR rtl-optimization/87720 * combine.c (make_more_copies): Skip if the dest is pc_rtx. --- gcc/combine.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gcc/combine.c b/gcc/combine.c index 3ff1760..bd593bdc 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -14992,6 +14992,8 @@ make_more_copies (void) continue; rtx src = SET_SRC (set); rtx dest = SET_DEST (set); + if (dest == pc_rtx) + continue; if (GET_CODE (src) == SUBREG) src = SUBREG_REG (src); if (!(REG_P (src) && HARD_REGISTER_P (src))) -- 1.8.3.1