learning

David Welch gcc@dwelch.com
Sat Apr 12 00:29:00 GMT 2003


I am trying to learn about GCC internals and have been tinkering with 
backends if I could only understand
the RTL a little better.  Here is an example:

test.c:10: unrecognizable insn:

(insn 6 5 7 (set (reg/v:SI 23)
         (mem/f:SI (reg/f:SI 25) [2 x+0 S4 A32])) -1 (insn_list 5 (nil))
     (expr_list:REG_DEAD (reg/f:SI 25)
         (nil)))
test.c:10: Internal compiler error in extract_insn, at gcc/recog.c:2148

And I have read the GCC Compiler Collection Internals and yet dont quite 
get it.  Right now I am trying to understand
GO_IF_LEGITIMATE_ADDRESS and tinkering with it causes all kinds of problems 
(as you can imagine)...

Anyway, what do the /v and /f, etc mean in say reg/v:SI?  And of course the 
big question, what kind of instruction or expression is it looking for 
here?  Is this a move instruction for a register with offset to register or 
something?

Is there something other than the GCCint that I should be reading or 
referencing?

Thanks
David





More information about the Gcc mailing list