This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

learning



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




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]