(set (reg:SI ) (scratch:SI)) unrecognizable insn

Ian Lance Taylor iant@google.com
Mon Oct 5 20:19:00 GMT 2009


"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



More information about the Gcc-help mailing list