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]

gcc internals question


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


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