(set (reg:SI ) (scratch:SI)) unrecognizable insn
Ian Lance Taylor
iant@google.com
Tue Oct 6 01:52:00 GMT 2009
"Kim, Eunchan" <helpbygrace@gmail.com> writes:
> On Tue, Oct 6, 2009 at 5:10 AM, Ian Lance Taylor <iant@google.com> wrote:
>> "Kim, Eunchan" <helpbygrace@gmail.com> writes:
>>
>>> (insn 81 80 0 ../../../../sdk/gcc-4.3.3/libgcc/../gcc/unwind-dw2.c:1503
>>> (parallel [
>>> (set (mem:BLK (reg/v/f:SI 43 [ c ]) [0 S4 A8])
>>> (unspec:BLK [
>>> (reg:SI 75)
>>> (mem:QI (reg/v/f:SI 43 [ c ]) [0 S1 A8])
>>> (mem:BLK (reg/v/f:SI 43 [ c ]) [0 S4 A8])
>>> ] 21))
>>> (clobber (scratch:SI))
>>> ]) -1 (nil))
>>
>> Where did this insn come from? (clobber (scratch:SI)) is something
>> one might see in a reload insn pattern, but it shouldn't be in a
>> normal insn patter.
>>
>> If you are trying to write an insn which does a memory copy and needs
>> a scratch register, then you need to use a define_expand which calls
>> gen_reg_rtx.
>>
>> Ian
>>
>
> That insn is from gcc's error message when i compile
> libgcc(unwind-dw2.c) with this gcc. I based on mips cross compiler.
> But i'd rather make whole new. Because i do not fully understand mips
> target description.
I don't see any define_insn like that in mips.md. It looks like
mov_<store>r, but that has no (clobber (scratch)) in it. So I think
it is an insn you added or modified.
Ian
More information about the Gcc-help
mailing list