[Bug target/67657] [SH][5]: internal compiler error: in cselib_record_set, at cselib.c:2396 when compiling libjpeg-turbo
olegendo at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Sep 21 03:07:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67657
--- Comment #6 from Oleg Endo <olegendo at gcc dot gnu.org> ---
The peephole outputs this:
(insn 2292 0 0 (set (reg/v/f:SI 2 r2 [orig:320 outptr ] [320])
(mem/f:SI (post_inc:SI (reg:SI 2 r2)) [2 MEM[base: _145, offset: 0B]+0
S4 A32])) -1
(expr_list:REG_INC (reg:SI 2 r2)
(nil)))
i.e.
mov.l @r2+,r2
and then things seem to go wrong. Disabling the peephole shows the following
code in the output:
.L119:
add #64,r0
mov.l @(0,r0),r2
add #4,r2
mov.l r2,@(0,r0)
add #-4,r2 <<<
mov.l @r2+,r0 <<<
mov r0,r2 <<<
mov.w .L81,r0
add r15,r0
mov.l @(16,r0),r0
add r0,r2
The peephole should convert it to
add #-4,r2
mov.l @r2,r2
I'll come up with something.
More information about the Gcc-bugs
mailing list