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