https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212
--- Comment #47 from Oleg Endo <olegendo at gcc dot gnu.org> --- Created attachment 33615 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33615&action=edit reduced CSiBE /libpng-1.2.5 test I've tried compiling CSiBE (-m4 -ml). This is a stripped down pngrutil.c which crashes in lra-spills.c (remove_pseudos). It's a bit strange, because if the function 'test' (top of the file) is compiled before the actual problematic function 'png_handle_cHRM', there's a segfault. If 'test' is left out, it ends in: internal compiler error: in copy_rtx, at rtl.c:356 0x862e4d2 copy_rtx(rtx_def*) ../../gcc-sh-lra/gcc/rtl.c:356 In the segfault case, the insn is: insn = (call_insn 617 775 618 42 (parallel [ (call (mem:SI (reg/f:SI 701) [0 png_set_cHRM S4 A32]) (const_int 0 [0])) (use (reg:PSI 151 )) (clobber (reg:SI 146 pr)) ]) sh_tmp.cpp:395 316 {calli} (expr_list:REG_DEAD (reg:SI 69 fr5) (expr_list:REG_DEAD (reg:SI 75 fr11) (expr_list:REG_DEAD (reg:SI 71 fr7) (expr_list:REG_DEAD (reg:SI 73 fr9) (expr_list:REG_DEAD (reg/f:SI 701) (expr_list:REG_DEAD (reg:SI 5 r5) (expr_list:REG_DEAD (reg:SI 4 r4) (expr_list:REG_DEAD (reg:DF 74 fr10) (expr_list:REG_DEAD (reg:DF 72 fr8) (expr_list:REG_DEAD (reg:DF 70 fr6) (expr_list:REG_DEAD (reg:DF 68 fr4) (expr_list:REG_CALL_DECL (symbol_ref:SI ("png_set_cHRM") [flags 0x41] <function_decl 0xb7407c80 png_set_cHRM>) (nil))))))))))))) (expr_list:SI (use (reg:SI 4 r4)) (expr_list:SI (use (reg:SI 5 r5)) (expr_list:DF (use (reg:DF 68 fr4)) (expr_list:DF (use (reg:DF 70 fr6)) (expr_list:DF (use (reg:DF 72 fr8)) (expr_list:DF (use (reg:DF 74 fr10)) (expr_list:DF (use (mem:DF (reg/f:SI 15 r15) [0 S8 A32])) (expr_list:DF (use (mem:DF (reg/f:SI 699) [0 S8 A32])) (expr_list:DF (use (mem:DF (reg/f:SI 696) [0 S8 A32])) (expr_list:DF (use (mem:DF (reg/f:SI 693) [0 S8 A32])) (nil)))))))))))) and the crash is caused by loc = (reg/f:SI 699) In the non-segfault case the input arg 'orig' in copy_rtx prints "(UnKnown Unknown)"