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]

how to have CALL_USED_REGISTERS saved on stack ?


Hi my cpu has no push and pop instr.
If I set a few register has CALL_USED_REGISTERS,
While compiling libgcc2.c  :

../../gcc-3.0.4/gcc/unwind-dw2-fde.c: In function
`search_object':
../../gcc-3.0.4/gcc/unwind-dw2-fde.c:945:
Unrecognizable insn:
(insn 1064 1061 25 (set (reg:QI 2 r2)
        (mem/s:QI (plus:HI (mem/f:HI (plus:HI
(reg/f:HI 12 __stackret_l__)
                        (const_int 1 [0x1])) 0)
                (const_int 9 [0x9])) 14)) -1 (nil)
    (nil))
../../gcc-3.0.4/gcc/unwind-dw2-fde.c:945: Internal
compiler error in extract_insn, at recog.c:2218


which doesn't arrive if I don't put register has
CALL_USED_REGISTERS (exept for the FIXED one)..


Then I suppose that gcc has no more register left and
then generate this insn.
To my opinion some registers should be saved on stack
to make the insn split in a more easier way : 
mem->reg then mem->reg and not mem(mem)->reg...

I really need to know how gcc save CALL_USED_REGS -or
other regs- on the stack...
Things strange is that I defined also :
#define DEFAULT_CALLER_SAVES ...
Thanks a lot for your help
Pierre Mallard

___________________________________________________________
Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français !
Yahoo! Mail : http://fr.mail.yahoo.com


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