This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
gcc internals question
- From: Spundun Bhatt <spundun at ISI dot EDU>
- To: gcc at gcc dot gnu dot org
- Date: 12 Feb 2003 16:58:42 -0800
- Subject: gcc internals question
- Organization:
Hi
I have 2 questions about my gcc port to a new architecture.
when giving an rtl dump.... gcc uses symbols like mem/f mem/s... as in
the next question's dump. What does the /s and /f mean?
My gcc is giving me ICE with an error for the following template.
bash-2.05b$ ./xgcc -B./ -c tmp.c
bash-2.05b$ ./xgcc -B./ -mstrict-align -c tmp.c
tmp.c: In function `read_pointer':
tmp.c:9: Internal compiler error:
tmp.c:9: internal error--unrecognizable insn:
(insn 14 13 15 (set (reg:SI 120)
(mem/s:SI (and:SI (reg:SI 117)
(const_int -4 [0xfffffffc])) 0)) -1 (nil)
(nil))
Notice that it didnt give error when compiled without -mstrict-aligne.
Anyway, I dont understand exactly why I get this error. Can anybody give
an explanation? I think I have some regular define_insn for "SI mem
move",and "SI and" placed properly. I thought gcc will automatically
disintegrate this insn into 2 and use those tmplates. (Ofcourse it will
have to move the const int -4 to a register).
I just dont know how to dif in to this error and I am completely stuck.
Does this give you any more information than its giving me?
Thanx a lot
Spundun